Modeling A Small Manufacturing System: Dr. Jason Merrick

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 33

1

Chapter 6
Modeling a Small
Manufacturing System
Dr. Jason Merrick
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/2
What Well Do ...
A small manufacturing system (Model 6.1)
Sequences
Variables and Expressions
Sets
Verification (a.k.a. debugging)
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/3
A Small Manufacturing System
Part arrivals, four cells, part departures
Cells 1, 2, and 4: single machine each
Cell 3: two machines newer one 20% faster
Need: way to model non-identical resource units
Circular layout of cells
Parts enter at left, exit at right, travel only clockwise, all
transfer times = 2 min.
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/4
A Small Manufacturing System (contd.)
Three separate part types
Interarrivals (all types merged) ~ expo(13) minutes
26% type 1, 48% type 2, 26% type 3
Different part types follow different routes, have
different (triangular) processing times:





Need: way to change routing depending on part type
process plans
Part
Type
Cell/
Time
Cell/
Time
Cell/
Time
Cell/
Time
Cell/
Time
1
1
6, 8, 10
2
5, 8, 10
3
15, 20, 25
4
8, 12, 16
2
1
11, 13, 15
2
4, 6, 8
4
15, 18, 21
2
6, 9, 12
3
27, 33, 39
3
2
7, 9, 11
1
7, 10, 13
3
18, 23, 28
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/5
Sequences
Sequences module on Common panel a data
module
Define named sequences of stations to visit
Generally depends on entity type
Can assign attributes or variables at each station in
sequence, which can depend on entity type
In Leave Data area of modules, select Seq (rather than
Connect or Route) to get entity to follow a sequence
Must assign a sequence to entities doing this
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/6
Sequences (contd.)
Arena internally keeps track of Sequence-
following entity via automatic attributes
Sequence name, NS
Station (where entity is or is going to), M
Jobstep along the sequence, IS
Normally, entity Arrives, is assigned a Sequence
name, travels its route, exits
Can interrupt this sequence, jump forward or backward
(tricky)
Remember to define the exit station
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/7
Variables
Allow re-use of the same number(s) in different
places
Can only be constant values, but any entity can
reassign the value of a Variable
Variables module from Common panel
Data module
Defines names, initial values of Variables
Can be a scalar, vector, or 2-dim. matrix
Cannot involve arithmetic, entity attributes, other
Variables, or distributions
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/8
Expressions
Similar motivation to Variables re-use the same thing
in several places in the model
A fixed formula or function that can involve arithmetic,
entity attributes, other Variables, and distributions very
general
However, the form of the expression cannot be changed
during the simulation
Expressions module from Common panel
Data module
Defines names, form of Expressions
Can be a scalar, vector, or 2-dim. matrix
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/9
Sets
Group similar objects (resources, sequences, pictures,
other) together under a single name
Define: Sets module from Common panel
Refer to objects in a Set by their original name
(independent of the Set membership) or by an index into
the Set
An object can be a member of more than one Set (or not
be in any Sets)
Can form Sets of just about anything
A given Set must have the same kind of members
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/10
Sets (contd.)
Perhaps the most common Sets: Resources
Allows dissimilar resources to be grouped more general
than multi-Capacity single Resources, where they all have
to be identical
Entities can choose among members of a Resource Set
according to preferences, rules
Can animate individual Resources in Set (state, picture)
unlike multi-Capacity single Resources
Also group Sequences and entity pictures into
sets for ease of access (via part-type number)
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/11
Modeling Approach
There are usually several different ways to
represent a model in software
Often driven by data requirements, availability
Decide on and write down ahead of time how
things will be represented; here:
Sequences (in a Set) to control part flow
Assign entities in Sequences for process times except for
Cell 1
Use Expression vector for process times at Cell 1
Use Variables for transfer times, speed factor at Cell 3
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/12
Building the Model
Place the data modules (Sequences, Expressions,
Variables, Sets, Simulate)
Defines names, initial values
Makes names available on pull-down lists for reference
later while editing logic modules
Place the logic modules, making use of names
previously defined in data modules
Verification of expression of model in software
Statistical design and analysis
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/13
Sequences Module
Define station paths for different part types
Name the sequences
Part 1 Process Plan, Part 2 Process Plan, etc.
Can define actions at each station as part of the definition of the
sequences
Define Process Time attribute (except at Cell 1)
Group the sequences into a Set (later)
Assign a sequence, indexed by set, to each arriving part once its type
is generated
Dont forget to define exit for each sequence
Part
Type
Cell/
Time
Cell/
Time
Cell/
Time
Cell/
Time
Cell/
Time
1
1
6, 8, 10
2
5, 8, 10
3
15, 20, 25
4
8, 12, 16
2
1
11, 13, 15
2
4, 6, 8
4
15, 18, 21
2
6, 9, 12
3
27, 33, 39
3
2
7, 9, 11
1
7, 10, 13
3
18, 23, 28
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/14
Expressions Module
Many potential uses, but here to define process times at
Cell 1 for different part types
Name each expression: Cell 1 Times
Scalar, vector, or 2-dimensional array
Use 3 x 1 vector here, one for each part type
Must index in correct order here, by part type
Can be very general expression
Here, process-time distributions at Cell 1
Entities will index into vector by their part type: Cell 1 Times(Part
Index)
This is not the only way to model this, we could have just
done it in the sequences
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/15
Variables Module
Define global variables, their initial values
Like Expressions, these are global to the model
Unlike Expressions, they can only take on numerical
values, not formulas or other variables, expressions, or
attributes (but the numerical value can be changed during
the run by any entity)
Here, use for two different variables
Speed factor at Cell 3: 2 x 1 vector Factor
0.8 for index 1 (new machine), 1.0 for index 2 (old)
Value (2) of part transfer times: Transfer Time
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/16
Sets Module
Group together (and name and index) like
things Resources, Queues, Storages, Stations,
Pictures, Counters, Tallies, and Other (e.g.,
Sequences)
Can make models more general, cleaner
In some cases, needed to model things properly, like
workers (Resources) with different but overlapping skills
Order of entry of set members is critical!
Here, well form sets of Resources, Sequences
(Other), Pictures, and Tallies
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/17
Sets Module (contd.)
Resources set
For the two different machines at Cell 3
Name the set Cell 3 Machines
Use pull-down lists where possible to define things
Depends on order in which you build, fill out model
Use: In Process module for Cell 3 (later )
Sequences (Other) set
For generality of number of part types
Name the set Part Sequences
No pull-down here in Other so have to remember names
given in Sequences module
Use: In Arrive module (later )
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/18
Sets Module (contd.)
Pictures set
To show the part types differently in animation
Name the set Parts, the entries Part 1, etc.
Draw the pictures in Simulate module (later )
Use: In Arrive module (later )
Tallies set
To separate out cycle times by part type
Name the set Part Cycle Times
Members are Tally names to appear in output
Use: In Depart module (later )
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/19
Simulate Module
Identify model and define Length of Replication,
as in earlier models
Also, draw the three entity Pictures and associate
with names of members of Pictures set
Double-click on generic entity picture above module
handle
Add new or edit existing pictures in list
Copy current last entry to add to bottom of list
Draw: shapes, size; colors for fill, line, text, etc.
Close drawing window to accept
Names (Values) must already be assigned in Sets
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/20
Arrive Module
Main dialog
Station name: Order Release
Time Between: EXPO(13)
Mark Time Attribute: Enter Time
Leave Data
Route: select (this is the default anyway)
Seq: select
Route Time: Transfer Time
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/21
Arrive Module (contd.)
Assign subdialog
Attribute: Part Index = DISC()(cumulatives)
Other: Sequence = Sequence Set(Part Index)
Animate subdialog
Initial Entity Picture
Set Member: select
Picture Set: Parts
Set Index: Part Index
Was just defined
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/22
Server Modules for Cells 1, 2, 4
Main dialog
Station: Cell 1 (or Cell 2 or Cell 4 )
Process Time:
If Cell 1: Cell 1 Times(Part Index)
Global Expression defined in Expressions module
If Cell 2 or 4: Process Time
Entity Attribute defined as part of Sequences
Leave Data:
Route: select
Seq: select
Route Time: Transfer Time
Global Variable defined in Variables module
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/23
Digression: Data Structures
Why an Expression for processing times at Cell 1
rather than entity Attribute assigned in
Sequences as for the other cells?
Frank answer: Just to show the use of Expression
Could easily have treated Cell 1 like the others
Conversely, could have used Expression for
processing times at Cells 3 and 4
Problem with Cell 2: Part 2 visits it twice with different
processing-time distributions, so would have to indicate
which visit somehow
Moreover, this is a very small model
Moral: Think carefully about data structure!
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/24
Cell 3: Enter/Process/Leave
Cant use Server module two different
machines
Two machines grouped into Resource Set called
Cell 3 Machines
Server module cannot access into a Resource Set
Modeling options
Advanced Server module
Enter Process Leave sequence
Identical in this case (but not always)
Well take the latter since its more general
Allows for tandem sequence of operations
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/25
Resource Definitions
Must define Cell 3 machine resources explicitly
Resource modules
Separate ones for old, new machine
Need only define Name, Type, Capacity for each
Names: Cell 3 New, Cell 3 Old
Both are Capacity Type with Capacity = 1
Both have animation picture, but wont be used (will use
Enter module station) so can be deleted
Both have Individual Queue, but wont be used (will use
queue on Process module) so can be deleted
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/26
Cell 3: Enter/Process/Leave (contd.)
Enter module: generic landing pad for entities
Station: select
Station: Cell 3
Queue: Storage for unload time (can delete here)
Process module: describe processing delay
More general than Server Data area of Server module
can reference into a Resource Set
Activity is to Seize a member of a Resource Set
Resource Set: Cell 3 Machines
Rule: Cyclical (cycle around available members)
Store Index in Att: Index (no. of chosen member)
Process Time: Process Time * Factor(Index)
0.8 for Index = 1 (new)
1.0 for Index = 2 (old)
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/27
Cell 3: Enter/Process/Leave (contd.)
Leave module: generic launching pad
Must specify Station from which entity is leaving
From Station: Cell 3
Seq: check
Route Time: Transfer Time
Must Connect Enter - Process - Leave
Could also use Labels but wouldnt be visible
Due to its position in the layout, want to re-orient
these modules for right-to-left flow
Arrange the modules physically that way
Move entry (box) and exit (triangle) points
Flip triangle about vertical line to reorient
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/28
Parts Exit
Use Depart module, as before
Need to collect cycle times by part type
Station name: Exit System
Tally Set Member: select
Tally Set: Part Cycle Time
Set Index: Part Index
Type of Statistics: Interval (select)
Attribute: Enter Time
Will produce three different Tally reports, one for each part
type
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/29
Animation
Could run model at this point, would get correct
numerical summary results
But part movement would not show in animation
Pull animation away from logic, data modules
Move, resize, reorient queues for realism
Animate Routes (all movement possibilities)
Thick bundles of routes Shift key, Snap to Grid
Heed clockwise direction
Draw lines to define route lanes
Import AutoCAD dxf file for backdrop (see text)
Fine-tune resource pictures
Layers for seize point
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/30
Verification
System Model Code
Validation: Is Model = System?
Verification: Is Code = Model? (debugging)
The Truth: Can probably never completely verify,
especially for large models
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/31
Verification (contd.)
Some techniques to attempt verification
Eliminate error messages (obviously)
Single entity release, Step through logic
Set Max Batches = 1 in Arrive
Replace part-type distribution with a constant
Stress model under extreme conditions
Performance estimation
Look at generated SIMAN .mod and .exp files
Run/SIMAN/View menu option
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/32
Modify Model 6.1 into Model 6.2
Establish a realistic termination rule
There are many different ways to terminate
Really a modeling issue whats realistic?
Process an incoming order of 100 parts
Set Max Batches = 100 in Arrive
Shuts off Arrival stream after 100 entities created
In this model, will cause termination when 100th part exits
since there are no other events and the event calendar will
become empty
Causes system to become less congested when the end of
the simulation is approached
Simulation with Arena Intermediate Modeling
and Terminating Statistical Analysis
C6/33
Modify Model 6.1 into Model 6.2
(contd.)
Establish a single overall performance measure:
Work in Process (WIP)
Variable WIP defined (Variables module)
Click WIP up 1 just after each arrival
Arrive module, Assign Variable WIP = WIP + 1
Click WIP down 1 just before each departure
No Assign subdialog in Depart module
Put Actions module just before Depart to click down
Re-wire Sequences, Routes to send entities here instead of to Exit
System Depart module
Direct Connect to Exit System Depart module
Add Statistics module to request collection and reporting of
Time-Persistent stats on WIP

You might also like