2. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
What We’ll Do ...
• Develop basic Model
• Learn features to enhance processing
• Incorporate Advanced Animation
• Add transfer capability
• Explore modeling insights
4. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Electronic Assembly/Test System
• Produce two different sealed elect. units (A, B)
• Arriving parts: cast metal cases machined to accept the electronic parts
• Part A, Part B – separate prep areas
• Both go to Sealer for assembly, testing – then to Shipping (out) if OK, or else to Rework
• Rework – Salvaged (and Shipped), or Scrapped
5. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Part A
• Interarrivals: expo (5) min.
• From arrival point, go immediately to Part A Prep
– Process = (machine + deburr + clean) ~ tria (1,4,8) min.
• Go immediately to Sealer
– Process = (assemble + test) ~ tria (1,3,4) min.
– 91% pass, go to Shipped; Else go to Rework
• Rework: (re-process + testing) ~ expo (45) min.
– 80% pass, go to Salvaged; Else go to Scrapped
6. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Part B
• Interarrivals: batches of 4, expo (30) min.
• Upon arrival, batch breaks into 4 individual parts
• Proceed immediately to Part B Prep area
– Process = (machine + deburr +clean) ~ tria (3,5,10)
• Go to Sealer
– Process = (assemble + test) ~ weib (2.5, 5.3) min. , different from Part A, though at
same station
– 91% pass, go to Shipped; Else go to Rework
• Rework: (re-process + test) = expo (45) min.
– 80% pass, go to Salvaged; Else go to Scrapped
7. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Run Conditions, Output
• Start empty & idle, run for 32 hours
• Collect statistics for each work area on
– Resource utilization
– Number in queue
– Time in queue
• For each exit point (Shipped, Salvaged, Scrapped), collect total
time in system (a.k.a. cycle time)
8. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Developing a Modeling Approach
• Define pieces of model, modules, data structures, control logic
• Appropriate level of detail – judgment call
• Often multiple ways to model, represent logic
• This model:
– Entities are the individual parts (two types)
– Separate Create modules for two part types
– Separate Process modules for each Prep area
– Process modules for Sealer and Rework, each followed by a Decide module
(2-way by Chance)
– Depart modules for Shipped, Salvaged, Scrapped
– Attribute Sealer Time assigned after Creates in Assign modules (parts have
different times at the Sealer)
– Record modules just before Departs for time in system
9. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Building the Model
• New model window
• Attach Basic Process panel (if needed)
• Place modules
– Create ( 2)
– Assign ( 2)
– Process ( 4)
– Decide ( 2)
– Record ( 3)
– Dispose ( 3)
• Right click — repeat last action (place module)
• Auto-Connect, or manually connect via
Alternate strategy –
place one module at a
time, fill it out completely
10. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Part A Create Module
• Name: Part A Arrive
• Entity Type: Part A
• Time Between Arrivals
– Type: Random (Expo)
• Pull-down list with options
– Value: 5
– Units: Minutes
• Pull-down list with options
• Default what’s not mentioned above
Once these entries are made,
they are placed on the list for
names of that type (Module
Name, Entity Type, etc.) and
will appear on future pull-down
lists for that type of name.
11. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Part B Create Module
• Name: Part B Arrive
• Entity Type: Part B
• Time Between Arrivals
– Type: Random (Expo)
• Pull-down list with options
– Value: 30
– Units: Minutes
• Pull-down list with options
• Entities per Arrival: 4
12. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Part A Attributes Assign Module
• Name: Assign Part A Sealer and Arrive Time
• Add button:
– Type: Attribute
– Attribute Name: Sealer Time
– New Value: TRIA(1, 3, 4)
• Add button:
– Type: Attribute
– Attribute Name: Arrive Time
– New Value: TNOW (to compute time in system on exit)
TNOW is the internal Arena variable name for the simulation clock; see
Help > Arena Help > Contents >
Variables, Functions, and Distributions > Variables > Date and Time Variables
13. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Part B Attributes Assign Module
• Name: Assign Part B Sealer and Arrive Time
• Add button:
– Type: Attribute
– Attribute Name: Sealer Time
– New Value: WEIB(2.5, 5.3)
• Add button:
– Type: Attribute
– Attribute Name: Arrive Time
– New Value: TNOW
Names for things in Arena
– Default names usually suggested
– Names placed on appropriate pull-down lists for future reference
– All names in a model must be unique (even across different kinds of objects)
14. Prep A Process Module
• Name: Prep A Process
• Action: Seize Delay Release
• Resources subdialog (Add button):
– Type: Resource (a pull-down option)
– Resource Name: Prep A
– Quantity: 1 (default)
• Delay Type: Triangular
• Units: Minutes
• Minimum: 1
• Value (Most Likely): 4
• Maximum: 8
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
If several Resources
were named (Add
button), entity would
have to Seize them
all before the Delay
could start.
15. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Prep B Process Module
• Name: Prep B Process
• Action: Seize Delay Release
• Resources subdialog (Add button):
– Type: Resource (a pull-down option)
– Resource Name: Prep B
– Quantity: 1 (default)
• Delay Type: Triangular
• Units: Minutes
• Minimum: 3
• Value (Most Likely): 5
• Maximum: 10
16. Sealer Process Module
• Name: Sealer Process
• Action: Seize Delay Release
• Resources subdialog (Add button):
– Type: Resource (a pull-down option)
– Resource Name: Sealer
– Quantity: 1 (default)
• Delay Type: Expression
• Units: Minutes
• Expression: Sealer Time
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Recall – Sealer Time attribute
was defined upstream for both
Parts A and B … now its value is
being used … allows for different
distributions for A and B.
17. Sealer Inspection-Result Decide Module
• Decide module provides branch points
– By Condition (entity Attributes, global Variables)
– By Chance (multi-sided, possibly-biased hyper coin flip)
• Name: Failed Sealer Inspection
• Type: 2-way by Chance (default)
• Percent True: 9
• Different exit points for True, False results – connect appropriately downstream
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
− Note it’s percent true, not probability of true … so “9” means probability of 0.09
− We arbitrarily decided “true” meant part failed inspection … could have reversed (but would
change numerical results ... why? ... does this upset you? ... why?)
− This is a rich, deep, versatile module … explore its Help button
18. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Rework Process Module
• Name: Rework Process
• Action: Seize Delay Release
• Resources subdialog (Add button):
– Type: Resource (a pull-down option)
– Resource Name: Rework
– Quantity: 1 (default)
• Delay Type: Expression
• Units: Minutes
• Expression: EXPO(45)
Had to use the general Expression
choice for Delay Type since what we
want (EXPO) is not directly on the
Delay Type pull-down list.
19. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Rework Inspection-Result Decide Module
• Name: Failed Rework Inspection
• Type: 2-way by Chance (default)
• Percent True: 20 We arbitrarily decided “true”
meant part failed inspection
20. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Record Modules
• Arena collects and reports many output statistics by default, but sometimes
not all you want
• Want time in system (avg, max) of parts sorted by their exit point (Shipped,
Salvaged, Scrapped)
– It’s this sorting that Arena doesn’t do by default ... it would automatically sort by
Entity Type if we had Entities checked in Run > Setup > Project Parameters
(which we don’t)
• Record module can be placed in flowchart to collect and report various
kinds of statistics from within model run as entities pass through it
• For Tally-type output performance measures
21. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Shipped Parts Record Module
• Name: Record Shipped Parts
• Type: Time Interval
– Records time elapsed up to now (TNOW) from when an entity attribute was
marked with a time “stamp” upstream ... Attribute Name is below ...
– There are several other options for Type … explore via Record module’s Help
button!
• Attribute Name: Arrive Time
– Was defined upstream as the clock value in the Assign modules instantly after
each entity was Created
• Tally Name: Record Shipped Parts
– Determines the label in the reports
Other two Record modules –
just like this except for Name
and Tally Name should be
Salvaged and Scrapped.
22. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Dispose Modules
• Three separate exit points for three separate part disposition
(Shipped, Salvaged, Scrapped)
• Could have directed all three exit types to a single Dispose module
– Separate ones gets animation counts of three dispositions
– Separate Dispose modules allows for differentially checking the boxes to
Record Entity Statistics
• Produces flow statistics separated by entity type (if Entities Statistics Collection is
checked in Run > Setup > Project Parameters), not by final disposition of part …
so we did need our Record modules and Arrive Time attribute
23. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Run > Setup for Run Control
• Without this, model would run forever – no defaults for termination rule
– That’s part of modeling, and generally affects results!
• Project Parameters tab:
– Fill in Project Title, Analyst Name
– Defaults for Statistics Collection, but we cleared the check box for Entities
• Not needed for what we want (we installed our own Record modules), and would slow
execution
• Replication Parameters tab:
– Replication length: 32, accept Hours default for Time Units
– Base Time Units: Minutes for inputs without Time Units option, internal
arithmetic, and units on output reports
24. Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
Different Part A, B Entity Pictures
• Entity data module (just single-click on it in Project
Bar, edit via spreadsheet only)
• Row for each Entity Type (Part A, Part B)
• Pull down Initial Picture pull-down menu, select
different pictures for each Entity Type
– Edit > Entity Pictures to see, change the list of pictures
that’s presented here … more later
25. Simulation with Arena, 4th
ed. Chapter 4 – Modeling Basic Operations and Inputs
Running the Model
• Check (if desired)
– Find button to help find errors
• Go (will automatically pre-Check if needed)
– Some graphics don’t show during run … will return when you End your run … control
via View > Layers
– Status Bar shows run progress – replication number, simulation time, simulation
status
• Animation speed
– Slider bar at top, or increase (> key), decrease (< key)
• Pause ( ) or Esc key; to resume
• Run > Step ( ) to debug
• Run > Fast-Forward ( ) to turn off animation
– Run > Run Control > Batch Run (No Animation) is fastest
27. Model 2: Enhanced System
• Original model shown to production manager
– Pointed out that this is only the first shift of a two-shift day — on second shift
there are two operators at Rework (the bottleneck station) … 16-hour days
– Pointed out that the Sealer fails sometimes
• Uptimes ~ expo (2) hours
• Repair times ~ expo (4) min.
– Wants to buy racks to hold rework queue
• A rack holds 10 parts
• How many racks should be bought?
– Run for 10 days (16-hour days)
• Need: Resource Schedules, Resource States, Resource Failures
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
28. Run Conditions
• Redefine a “day” to be 16 hours – Run >
Setup > Replication Parameters
• Change Replication Length to 10 (of
these) days
29. Schedules
• Vary Capacity (no. units) of a resource over time
• In Data Definition, Resource Data module (spreadsheet view)
– For Rework Resource, change Type from Fixed Capacity to Based on Schedule
– Two new columns – Schedule Name and Schedule Rule
– Type in a Schedule Name (Rework Schedule)
– Select a Schedule Rule of Ignore – details of capacity decrease if the Resource is allocated to an
entity
• Wait – Capacity decrease waits until entity releases Resource, and “break” will be full but maybe start/end late
• Ignore – Capacity goes down immediately for stat collection, but work goes on until finished … “break” could be
shorter or gone
• Preempt – Processing is interrupted, resumed at end of “break”
30. Schedules
• Define the actual Schedule the Resource will follow – Schedule data module
– Row already there since we defined Rework Schedule
– Format Type is Duration for entries based on elapsed time past simulation start time
– Type is Capacity, for Resource schedule (more later on Arrival Type)
– Right Click in Durations column and select Edit via Spreadsheet
• Value = number of resources available and Duration = length in unit time
31. Resource Failures
• Usually for unplanned, random downtimes
• Can start definition in Failure module (Data Definition panel)
• To create new Failure, double-click – add new row
• Name the Failure
• Type – Time-based, Count-based (we’ll do Time)
• Specify Up Time, Down Time, with Units for both
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
32. Resource Failures
• Attach this Failure to the correct Resource
– Resource module, Failures column, Sealer row – click
– Get pop-up Failures window, pick Failure Name Sealer Failure from pull-
down list
– Choose Failure Rule from Wait, Ignore, Preempt (as in Schedules)
• Can have multiple Failures (separate names) acting on a resource
• Can re-use defined Failures for multiple Resources (operate
independently if they involve random variables)
33. Frequencies
• Record time-persistent occurrence frequency of variable, expression, or resource state
– Use here to record % of time rework queue is of length 0, (0, 10], (10, 20], … for info on number of racks
needed
• Frequency data module (Input Output panel)
– Five Types of statistics, of which Frequencies is one
– Specify Name (Rework Queue Stats),
Frequency Type (Value)
– Specify Expression to track and categorize
• Right-click in field to get to Expression Builder
– Report Label (Rework Queue Stats)
34. Frequencies
• Add another Frequency (in Statistic module) to give a finer
description of the Sealer states
– Produces statistics on proportion of time Sealer is in each of its
three possible states – Busy, Idle, and Failed
• Frequencies are not part of default Category Overview report
– Open Frequencies report from Project Bar (get separate window)
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
35. Model Results
• Differ from those of Sealer 1 since this is a longer run, modeling assumptions
are different
– All of which causes underlying random-number stream to be used differently
• Prep A/B didn’t change (other than run length and random variation) … need
statistical analysis of simulation output
• Sealer is more congested (it now fails)
• Rework is less congested (higher staffing)
• Frequencies report suggests one rack suffices about 95% of the time, two
racks all the time
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
36. Utilization
• Two utilizations reported for each Resource
– Instantaneous Utilization is the time-average of the ratio of the number of units that are busy
to the number of units that are scheduled
• By definition, counts periods when zero units are scheduled as zero-utilization periods
– Scheduled Utilization is the average number busy divided by the average number available
• No division-by-zero problem, assuming there were ever any units of the Resource scheduled at all (if
not, it shouldn’t be in the model)
• Identical for fixed-capacity Resource
• Can differ for Resources on a variable Schedule
– If Resource capacity varies among several different positive values, it’s better to use
Scheduled Utilization
• Rework station has higher scheduled utilization than instantaneous because we
specified Ignore if the number of resources changed. This means that the current part
being processed would be completed even if it was time for a resource to be released.
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
38. Enhancing Animation
• Get “Spartan” generic default animation for some things (queues, connector-
animation movement)
– Usually sufficient for verification, validation
• Often want to customize, enhance it a bit
– More realism, impact
• Pull animation away from logic in model window
– Useful for big models, complex animation
– Named Views for model logic, animation, or close-ups
• Default animation objects are connected to model logic and move with the module
– Identifiers, physical location (Shift-drag to decouple)
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
39. Changing Animation Queue
• Lengthen (click, drag, maybe hold shift) to “hold” more entities
– Simulation logic, results OK if animated queue overflows
• Rotate to re-orient for realism
• Change the “form” of the queue from Line (the default) to Point — fixed
places for entities
– Double-click on the queue
– Select Type to be Point
– Click Points… button
– Successively click Add for points, then OK
– Drag them around on screen
– Check Rotate box to show entities turning
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
40. Changing Entity Pictures
• Earlier – used Entity data module to assign different Initial Pictures to different
Entity Types
• Can customize list, alter pictures in it
– From Animate Tab select Edit Entity Pictures
– Can edit size of entity pictures
– Left column – names, pictures currently on the list
– Right column –picture libraries (.plb filename extension)
– Add a hand-drawn picture – Add button on left, name it in Value field at top, double-click
on blank depressed button, then artwork (or paste in a copied graphics image)
• New name won’t appear in Entity data module until you type it there
– Edit an existing picture – double-click, artwork
– Copy a picture over from picture library
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
41. Adding Resource Pictures
• Animate a Resource – Resource button in animate toolbar – get
Resource Picture Placement window
• Left column – default pictures for different Resource states
– Attach logically to a Resource by Identifier pull-down list
– Double-click to edit artwork by hand, or paste in previously copied graphics images
– Seize area – where seizing entity will “reside”
– Multiple seize areas for multi-capacity Resources
• Right column – picture libraries (.plb files) – can copy over to selected
(depressed) state pictures
• Accept window, cross hairs, click to place
– Resize, reposition later
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
42. Adding Variables and Plots
• Variable animation – just show a value of something as a number, watch it
change
– Variable object from Animate toolbar
– Use dropdown options specify Expression to be shown (Expression Builder), and
cosmetics
– Resize, reposition later
• Dynamic animated plots – Prior modules
• Other animation objects from Animate toolbar
– Clock (TNOW), variety of formats
– Date and Scoreboard options
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
45. Sealer with Parts Transfer
• All part transfers now take 2 minutes (not instant)
– Model, animate this
– Materially changes model logic, results
– Two-minute transfer times for:
• Arriving parts to prep areas
• Departing parts to appropriate exit
• All internal part transfers
– Transfers take two minutes regardless of distance
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
46. New Arena Constructs
• Station – location where some process occurs
– Arrivals, manufacturing cells, departures
– Each Station given a unique name
– Can serve as an entry point for a section of model logic
– Station marker represents a logical station in the flowchart/animation
• Station Transfer – entities move between Stations without direct
connection
– Several different types – we’ll use Routes here, which allow for positive transfer
time, but no other delays like “room” on the transitway or transporters
– Route paths represent Routes in the flowchart/animation
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
47. Adding Route Logic – From Arrival
• Stations and Station Transfers affect both the model logic and the animation
• Start with Sealer 3 Model… change to Sealer 4 Model
• For incoming parts (A and B) delete connection from Assign modules to “Prep”
Process modules
– Replace with Station/Route module pairs
• Station module (Discrete Processing panel) – define entity’s location
– Module Name vs. Station Name
• Route module (Discrete Processing panel) – send entity out
– Route Time, Destination Station
– No direct connections exiting from the Route modules – Route module’s Destination
Station Name defines that
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
48. Remaining Route Logic
• Add Station modules for entry to each Prep area
– Station names are Prep A Station, Prep B Station, and are the destination
stations for Routes after arrivals
• Process modules for Prep A, Prep B unchanged
• After prep, entities connected to Route module to send to next station (sealer)
– Don’t need a separate Station module for outgoing side
• Similar changes for rest of model
– Station modules for incoming parts into sealer, rework, each of three Record modules
(entity exit points)
– Route modules for outgoing parts out of sealer inspection, rework inspection (two for
each Decide module – pass/fail)
• Could run model now, get correct results … but no animation of transfers …
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
49. Why Not Just Add Delays?
• Simpler way to get the two-minute transfer times:
– Insert a Process module with Action = Delay for 2 minutes on each
relevant connection
– Or, use Delay module from Advanced Process panel
• This would work from modeling, numerical-output viewpoints
• But would not allow animation of part transfers, so we’ll
proceed with the Stations and Routes
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
50. Altering the Animation - Stations
• Add animation for Stations and Routes
• Station button , Animate Tab
– Attach Identifier to it from pull-down list of station names
– Get cross hairs, place (click) marker in animation
– Can place several station markers for the same logical
station (e.g., to represent incoming, outgoing sides)
– Can drag station markers around later
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
51. Altering the Animation - Routes
• Route button from Animate Tab
– Options for appearance of entities as they travel the route
– Get cross hairs; click in origin, destination Station Markers
• Intermediate clicks for corners along the route
– Can drag around endpoints, corners later
– Alternatively, use Route animation to create both Station markers and Route
animation
• Click for beginning Station marker
• Intermediate clicks for route corners
• Double-click for ending Station marker
• Then go back and double-click on the two Station markers to define their logical
Identifiers
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs
52. Altering the Animation – Entity Pictures
• Part B arrivals are in batches of four parts/batch
– But constant travel time to Prep B implies they travel “on top of each other” so it looks like just one part B
– Try – change Route time from 2 to EXPO(2), see separation along the route
• Create a dishonest illusion to animate the batch
– Assign module just after Part B Arrive
– Go to Animate Tab, Edit Entity Pictures
– On right click the Red Ball and then hit Copy.
– Double click on the new Red Ball. Use Picture Editor to get four circles and return to Picture Editor
– On Left, click Add. On Right, click on new picture.
– Use << to move to right.
– Give the new item a name of Picture.Batch Red Balls
– Click OK
– Edit Entity Pictures and change the picture for Part B to Batch Red Balls.
– After arriving at Prep B, modify the picture to use a single Red Ball.
Simulation with Arena, 4th ed. Chapter 4 – Modeling Basic Operations and Inputs