8/9/2019 Manufacturing Cm Simplified
1/10
Manufacturing M&S Project, Simplified
Problem DescriptionProblem Statement
In a manufacturing plant, management is interested in automating the loading/unloading of components
into/from three machines as well as the movement of components between the machines with power
roller conveyors. Two conveyors unload components from the first machine, one for each of 2 types ofcomponent, and move the components for loading into two other machines (that each process one of the
component types). The length of these conveyors is limited and can lead to downtime in the first
machine when one of the conveyors becomes full.
Since lengthening the conveyors increases cost, management wishes to keep the lengths as short aspossible but maintain minimal downtime of the first machine.
SUI Details
A department in a manufacturing plant processes two streams of partially completed components (A and
B) using three different machines. The plant operates 24 hrs/day, 7days/week.
Plant Components and Resour ces
Components: The manufacturing plant process to types of components: A and B.
Machines: Three machines are used to process the components. Machine M1 processes both types ofcomponents, while machine M2 processes only type A components and machine M3 processes only
type B components. Figure 1 shows the layout of the three machines used to process the components.
Figure 1Current Layout of the Plant
A B
M1
M2
M3
B BA
A
A
B
A
B
B
8/9/2019 Manufacturing Cm Simplified
2/10
Conveyors: Power roller conveyors are being added to automate the loading/unloading of components
and moving components to and from the machines to improve throughput. Figure 2 shows the layout of
the plant with conveyors.
Figure 2Layout of the Plant with Power Roller Conveyors
Employees: Three employees are responsible for moving and loading components into the machines.
Processing Components
The components are first processed at machine M1 and upon completion each type of component flowsinto two separate paths so that A components are processed at machine M2 and B components are
processed at machine M3.
Current Operation: Moving components, loading components into machines and unloading
components out of the machines is done manually and currently the responsibility of 3 employees.
1) One employee is responsible for moving arriving components into machine M1. When themachine M1 has completed its operation the employee replaces the component with another (if
available) and the moves the component to machine M2 or M3 according to its type.
2) A second employee is responsible for Machine M2. When a type A component is available, the
employee loads machine M2 with the component and removes it when the machine hascompleted its processing and places it in pickup area.
3) A second employee is responsible for Machine M3. When a type B component is available, the
employee loads machine M3 with the component and removes it when the machine hascompleted its processing and places it in pickup area.
Operation with Conveyors: Conveyors for augmenting throughout will move components betweenmachines and load/unload components to/from machines automatically. The role of employees are to
load components onto the conveyor that brings components to machine M1 and remove components
from the conveyors that unloads components from machines M2 and M3. Thus one employee is
dedicated to load the conveyor leading to machine M1, while the other two employees unload the
conveyors moving components away from machines M2 and M3.The conveyors between machine M1 and machines M2 and M3 are of limited length. When one of
these conveyors is full, a component in machine M1 destined for that conveyor will remain in the
machine after processing until space becomes available in on the conveyor. This prevents furtherprocessing in machine M1 and slows down component processing.
M1
M2
M3A
A
B
BABBA
A
BB
B
A
8/9/2019 Manufacturing Cm Simplified
3/10
Project Goal
The goal of the simulation project is to determine the length of the conveyors between machine M1 and
the two machines M2 and M3 that minimizes the downtime for machine M1.
Parameters Q.Conveyors[M2].length: The maximum number of components the conveyor leading to
machine 2 can hold (3 to 10).
Q.Conveyors[M3].length: The maximum number of components the conveyor leading to
machine 3 can hold (3 to 10).
Experimentation
Study: Steady state study.
Observation Interval:
Time units areminutes
Cannot be predetermined because a steady state study is required
Experimentation: The length of each conveyor leading to machines M2 and M3 is initially set to 3components and can be lengthened to accommodate up to 10 components. The length of each conveyor
is increased using the following strategy.
Initially set the length of the conveyors to 3 components and use experimentation to determinethe percentage of time each conveyor is full and machine M1 is down.
The length of the conveyor with the largest percentage of time full in increased to accommodateone more component and a new experiment undertaken.
Experiments are repeated until the downtime of M1 less than 10%.
Output
percentTimeC2Full, percentTimeC3Full:Percentage of time conveyor between M1 and M2(Q.Conveyors[M2]) is full, and percentage of time the conveyor between M1 and M3
(Q.Conveyors[M3]) is full, respectively. This output is used to increase the length of eachconveyor between experiments and facilitates experimentation.
percentTimeDown: Percent of time M1 is down: Downtime is measured as the percentage of
time M1 contains a component and is not working (the component cannot be moved out of the
machine). Note that the machine with no component and not working is not considered to bedown.
8/9/2019 Manufacturing Cm Simplified
4/10
ABCmod Conceptual Model
High Level Conceptual Model
Simplifications
Employees are not modelled given that the focus on the study in on the length of the conveyorsbetween machine M1 and the other 2 machines.
The conveyor that brings components to machine M1 can be modelled as having an unlimited
length, given that an employee will feed any arriving components when space becomes free on
the conveyor.
Conveyors that remove components from machines M2 and M3 are not modelled. Given thatemployees are constantly removing components from these conveyors, it is not expected that theconveyors can become full. Thus when either machine finishes with a component, the
component is assumed to leave the SUI.
The time for conveyors to move components to the machines are considered negligible.
Structural View
Figure 1 Manufacturing Structural Diagram
Entity Structures1. iC.Component: represents the components processed by the department. The attribute type identifies
the component type (has a value ofAorB).
2. R.Machines: The set of machines that process the components. The symbols M1, M2 and M3 arethe identifiers of each member of the set. Thus the identifiers of the entities representing the
machines are:
a. Machine M1: R.Machines[M1]
b. Machine M2: R.Machines[M2]c. Machine M3: R.Machines[M3]
3. Q.Conveyors: The set of queues represent the three conveyors that feed each of the machines. The
symbols M1, M2, and M3 are also used to identify the members of the set. The queueQ.Conveyors[M1] represents the conveyor leading to machine M1 and has an unlimited length, sincean employee continuously feeds the conveyor when any components are available and space is
available on the conveyor (in fact the queue represents the conveyor and all components in the
department ready for processing by machine M1). The other two conveyors, Q.Conveyors[M2] andQ.Conveyors[M3], represent the conveyors that move components from R.Machines[M1] to
R.Machines[M2] and R.Machines[M3] respectively. The lengths of these queues are limited and
defined by parameters Q.Conveyors[M2].lengthand Q.Conveyors[M3].length.
Q.Conveyors[M1]R.Machines
[M1]
Q.Conveyors[M2]
Q.Conveyors[M3]
R.Machines
[M2]
R.Machines
[M3]
iC.Component
Legend
8/9/2019 Manufacturing Cm Simplified
5/10
Behavioural View
Component Lifecycle Machine M1 Lifecycle
Figure 2Manufacturing Behavioural DiagramScheduled Action Constructs:
CompArrivals: Arrivals of components to the department.
Conditional Action Constructs:
MoveCOutOfM1: This conditional action moves a component out of machine M1 when spaceis free in one of the conveyors M2 (if component in the machine is of type A) or M3 (if
component in the machine is of type B). The use of the conditional action are required since it is
possible that at the end of this activity, the component will remain in R.Machine[M1] becausethe destination conveyor (queue) is full. Machine M2 only processes A components while
machine M3 processes only B components.
Activity Constructs:CompProcessing: Processing of components at any of the three machines. In the case of
processing the component in machine M1, this activity does not move the components out of themachine. The conditional action performs this action when space is available on the appropriate
conveyors. For machines M2 and M3, the component leaves the system once processing is
completed (shown in the component life cycle diagram)
CompArrivals
CompProcessing
CompProcessing
MoveCOutOfM1
(Processing in
R.Machines[M1],
component left in
machine)
(Moves component onto
Q.Conveyors[M2] or
Q.Conveyors[M3]
(Component processing
in R.Machines[M2] or
R.Machines[M3])
CompProcessing
MoveCOutOfM1
8/9/2019 Manufacturing Cm Simplified
6/10
Input
Exogenous Input (Entity Streams)
Variable Description Domain
Sequence
Range Sequence
uCArr Input entity stream variable of
components.
RVP.DuArr() N/A1 component
arrives at eacharrival time.
Endogenous Input (Entity Streams)
Variable Description Values
iC.Component.uType The type of component that is
set upon arrival of the
component.
RVP.uCompType()
uProcTimeM1 Processing times for machine
M1. Dependent on the
machine type, A or B.
RVP.uProcTimeM1(type)
uProcTime Processing times in machine
M2 and M3. The time isdependent on the machine.
RVP.uProcTime(machine)
8/9/2019 Manufacturing Cm Simplified
7/10
Detailed Conceptual Model
Structural Components
Constants
Name Description ValueM1, M2, M3 Identifier for set categories R.Machines and
Q.Conveyors. The identifiers serve to
associate each Q.Conveyors entity to a
R.Machines entity/
0, 1, 2
Parameters
Name Description ValueQ.Conveyors[M2].length The maximum number of components that
the Q.Conveyor[M2] can hold.
3 to 10
Q.Conveyors[M3].length The maximum number of components that
the Q.Conveyor[M3] can hold.
3 to 10.
Consumer Class: Component
Components processed by the department.Attributes Description
type Set to A or B to reflect the type of component.
Resource Set[3]: MachinesThe 3 machines in the system. M1, M2 and M3 are the three identifiers of the machines.
Attributes Descriptionbusy Set to TRUE when the machine is processing a component and FALSE
otherwise.
component References a component entity being processed. Set to NOCOMP to indicate
component is not present in the machine (for machine M1).
Queue Set[3]: ConveyorsThe three conveyors in the model. M1, M2 and M3 are the three identifiers of the conveyors.
Attributes Descriptionn The number of components on the conveyor.
list The list of component entities on the conveyor.
length The length of the conveyor. The attribute is used for R.Conveyors[M2] and
R.Conveyors[M3]. The R.Conveyors[M1] is assumed to have an infinite
length.
Behavioural components
Time units: minutes
Observation interval: Steady state study determined during experimentation.
Action: Initialise
TimeSequence < 0 >
Event SCS FOR ix in M1 to M3
R.Machines[ix].busy FALSE
R.Machines[ix].component
NOCOMP
Q.Conveyors[ix].N 0
ENDFOR
8/9/2019 Manufacturing Cm Simplified
8/10
Action: Initialise
(the length attributes are assumed to be set)
Output
OUTPUTSTrajectory Sequences
Name DescriptionTRJ[M1Down] Trajectory set reflects the time that machine M1 is down. M1Down is 1 when
R.Machines[M1].busy is FALSE and R.Machines[M1].component is not NOCOMP and 0
otherwise.
TRJ[TimeConv2Full] Reflects the time that Q.Conveyors[M2] is full, that is, Q.Conveyors[M2].n =
Q.Conveyors[M2].length.
TRJ[TimeConv3Full] Reflects the time that Q.Conveyors[M3] is full, that is, Q.Conveyors[M3].n =
Q.Conveyors[M2].length.
Derived Scalar Output Variables (DSOV's)
Name Description Data Set Name OperatorpercentTimeDown Percentage of time the machine M1 is down. TRJ[M1Down] Average
percentTimeC2Full Percentage of time the conveyor leading to
machine M2 is full.
TRJ[TimeConv2Full] Average
percentTimeC3Full Percentage of time the conveyor leading to
machine M3 is full.
TRJ[TimeConv3Full] Average
User Defined ProceduresUser-Defined Procedures
Name Description
ConveyorReadyForComp() Returns the identifier of the Q.Conveyors set into which the component from
R.Machine[M1] can be moved into. The following conditions must be met to move a
component:
1)
R.Machines[M1].busy is FALSE
2)
R.Machines[M1].component must reference an iC.Component entity (i.e. not
NOCOMP).
3)
Space is available for on the conveyor for the component, either:
a.
R.Machines[M1].component.type = A (i.e. an A component is in the machine)
and Q.Conveyors[M2].n is less than Q.Conveyors[M2].length OR
b. R.Machines[M1].component.type = B (i.e. a B component is in the machine) and
Q.Conveyors[M3].n is less than Q.Conveyors[M3].length
If 3a is true, return M2, if 3b is true, return M3, otherwise return NONE (no component
can be moved).
MachineReadyForProcessing() Returns the identifier, id, of a member of the R.Machines category under the following
conditions:
1) R.Machines[id].busy is false
2) Q.Conveyors[id].n is non-zero
3) R.Machines[id].component is equal to NOCOMP
If no machine is ready for component processing, NONE is returned.
8/9/2019 Manufacturing Cm Simplified
9/10
Input Constructs
Random Variate Procedures
Name Description Data ModelDuCArr() Returns the next arrival time for a
component. Assumes that an arrival
has occurred at current time t.
t + Exponential(MEAN_INTER_ARR)
where
MEAN_INTER_ARR = 7.0 minutesuCompType() Returns the a component type A or
B.
Returns A, PERCENT_A of the time
Returns B, PERCENT_B of the time
Where PERCENT_A = 0.55, PERCENT_B = 0.45
uProcTime(machine, type) Provides the processing times for
machines M1, M2 and M3; machine
has one of the id values M1, M2, or
M3. The processing time for M1 is
dependent on the component type
given by type (set to A or B)
Machine is M1 and
typeis A: Exponential(MEAN_PROC_TIME_M1_A)
typeis B: Exponential(MEAN_PROC_TIME_M1_B)
where
MEAN_PROC_TIME_M1_A = 2.1 minutes
MEAN_PROC_TIME_M1_B = 4.2 minutes
machineis M2: Exponential(MEAN_PROC_TIME_M2)
machineis M3: Exponential(MEAN_PROC_TIME_M3)
where
MEAN_PROC_TIME_M2 = 9.4 minutes
MEAN_PROC_TIME_M3 = 10.5 minutes
Action: CompArrivalsArrival of A component.
TimeSequence RVP.DuCArr()
Event iC.Component SP.Derive(Component)
iC.Component.type RVP.uCompType()
SP.InsertQue(Q.Conveyors[M1], iC.Component)
Behavioural Constructs
Activity: CompProcessing
Processing components at any of the machines. The UDP.MachineReadForProcessing() determines whichmachine can start processing. Processing consists of removing a component from the Q.Conveyors[id] leading to
the machine, processing the component (duration determined by RVP.uProcTime(), and removing the component
from the machine. In the case of machines M2 and M3, the component leaves the system after processing. In the
case of machine M1, the component is left in the machine for removal by the conditional action.
Precondition UDP.MachineReadyForProcessing() NONE
Event id RVP.MachineReadyForProcessing()
R.Machines[id].busy TRUE
R.Machines[id].component Q.RemoveQue(Q.Conveyors[id])
Duration RVP.uProcTime(id, R.Machines[id].component.type)
Event R.Machines[id].busy FALSE
IF(id M1) THEN (Conditional action will remove component from machine M1)
R.Machines[id].component NOCOMP
SP.Leave(R.Machines[id].component)ENDIF
Action: MoveCOutOfM1Moving a component out of M1 when processing is complete and space is available on conveyor that
is to receive the component.
Precondition UDP.ConveyorReadyForComp() NONE
Event qid UDP. ConveyorReadyForComp()
SP.InsertQue(Q.Conveyors[qid], R.Machines[M1].component)
R.Machines[M1].component NOCOMP
8/9/2019 Manufacturing Cm Simplified
10/10
Annex AData Modelling
Data collection and analysis has been completed for the project with the following results.
Interarrival times for components are exponentially distributed with the following means:
o
A components: 12.7 minuteso B components: 15.4 minutes
o These have been revised to provide interarrival times for all components and a data
model for the type of the arriving component below.
Processing times in each machine are also exponentially distributed with the following means:
o Machine M1, A component: 2.1 minutes
o Machine M1, B component: 4.2 minutes
o Machine M2: 9.4 minutes
o Machine M3: 10.5 minutes
Time for moving components on the conveyors take only a few seconds.
Data model for Interarrival Time of Components
Only a single input entity stream is to be modelled with a second data model for the data type. Thus the
interarrival times are modelled as exponentially distributed with a mean of 7.0 minutes.
Data model for Component Types
Distribution of types for arriving components are as follows: 55% Type A Components, 45 % Type B
components.