Chapter04 Simulation Modeling With SIMIO A Workbook
Chapter04 Simulation Modeling With SIMIO A Workbook
A small manufacturing cell consists of three workstations through which four part types are processed. The
workstations, A, B, and C, are arranged such that the parts must follow the one-way circular pattern as shown
in the layout in Figure 5.1. For instance, if a part is finished at Station C, it would have to travel the distance to
Station A, then the distance to Station B before it could travel to where it exits the system. We want to use a
simulation of a five day week with eight hours of operation a day for a total of 40 hours.
Station A Station B
Station C
42
For the moment, we will let you think about the distributions that these parameters may represent.
Data-Based Modeling: Manufacturing Cell 55
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
· Part 3’s can arrive with an interarrival time of anywhere from 14 to 18 minutes apart.
· Part 4’s arrive in batches of five exactly 1 hour and 10 minutes apart.
Question 1: What distributions will you choose to model these four arrival processes?
________________________________________________________________________________
Each of the part (entity) types is sequenced (routed) across the stations differently. In fact, not all part types
are routed through all machines, as seen in the sequence order given in Table 5.2.
Table 5.2: Part Sequences
Step 1 2 3
Part 1 Station A Station C
Part 2 Station A Station B Station C
Part 3 Station A Station B
Part 4 Station B Station C
Server Properties:
· Station A has one machine with a processing time ranging from two to eight minutes and a likely
(modal) time of five minutes.
· Station B has two machines, each with a processing time ranging between five and eleven minutes and
a likely time of nine minutes.
· Station C has two machines that operate during the first four hours of each day and one machine
operating during the last four hours of the day. Each has a processing time ranging between two and
eleven minutes and a mode of six minutes.
Question 2: What distributions will you choose to model the three station processing times?
________________________________________________________________________________
We will build the SIMIO model using four SOURCES, three SERVERS and several types of links.
Step 1: Insert four SOURCES named SrcParts1, SrcParts2, SrcParts3, and SrcPart4 to create the four
different part types (i.e., drag four MODELENTITIES onto the model canvas named EntPart1, EntPart2,
EntPart3, and EntPart4).43 Four SOURCES are necessary because each part has its own arrival process.
Make sure to change the Entity Type property of the four SOURCES to produce the appropriate entity type.
Step 2: Insert three SERVERS (i.e., one for each workstation named SrvStationA, SrvStationB and
SrvStationC) and one SINK named SnkPartsLeave. Be sure to name all the objects, including the
entities, so it will be easy to recognize them later as seen in Figure 5.2.
Step 3: Probably the best method to simulate the circular travel pattern would be to use a BASICNODE at
the entry and exit point at each station.44 This allows the entities to follow the sequence pattern without
having to go through an unneeded process. A BASICNODE is a simple node to connect two different links
while a TRANSFERNODE can connect different links as well but provides the ability to select destination,
path, and/or require a TRANSPORTER.
43
To do this efficiently, drag one SOURCE on to the facility and name it SrcParts. Then copy and paste it three times which will take
advantage of the SIMIO naming scheme (i.e., it will create SrcParts1, SrcParts2, and SrcParts3). Now, rename the first source
SrcParts4. Repeat this method for the four entities starting with EntPart.
44
A TRANFERNODE used to enter/exit from a station can disrupt the SIMIO internal sequencing of sequence steps if one is not careful.
56 Simulation Modeling with SIMIO: A Workbook
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Step 4: Now connect all the objects using CONNECTORS and PATHS. Note that because there is no time lapse
or distance between the circular track and the server objects, we will use connectors. The distances
between stations will be calculated using the five paths connecting each entry and exit node. Be sure that
you draw the connectors and paths in the right direction – zoom in on your model to see the “arrows” as
shown in Figure 5.2 (i.e., links are entering the input nodes of the SERVERS while leaving the output
nodes).
Basic Node
Paths
Connector
s
Step 6: Change the properties of the four source objects so that they correspond to the correct parts and
have the desired interarrival times and entities per arrival. We chose an Exponential, Normal, and
Uniform as the distributions of interarrival times for part types one, two, and three respectively with the
parameters given. For part type four, we chose a constant interarrival time of 70 minutes and Entities Per
Arrival property set to 5 as seen in Figure 5.3.
45
Select all four entities using the Ctrl button and specify the speed once for all entities.
Data-Based Modeling: Manufacturing Cell 57
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Step 8: Set the processing times for all the stations using the Pert (BetaPert) distribution. In general, we
prefer the Pert distribution to the Triangular distribution. It is specified like the Triangular
(minimum, most likely, maximum), but has “thinner” tails, which, we believe, better represents the
expected behavior of the processing time distribution. See Appendix A for more information.
We will need to set the capacities for the three workstations A, B, and C.
Step 1: Set the capacities for A and B to one and two respectively. For Station C, we will need to add a
work schedule to accommodate the changes in capacity.
Step 2: Go to the “Data” tab and select “Schedules” and modify the default schedule (StandardWeek) and
the default day pattern (StandardDay). Rename the work schedule to ScheduleForC46 and leave the Start
Date property alone to remain the default date the simulation will start in the Run setup.
SIMIO will repeat the work cycle over how many days are in the work pattern. Because our simulation
will start at 12am and run for 40 hours we want to set the Days in Work Schedule property to 1 and let the
cycle repeat after the first 24 hours.
Figure 5.5: Modifying the Day Pattern to Represent Three Eight Hour Days
Step 3: Go back to the “Facility” tab and set the Capacity Type property of Station C to “WorkSchedule”
and add your work schedule, namely ScheduleForC.
46
Double clicking the Standard Week name will allow you to change the name.
58 Simulation Modeling with SIMIO: A Workbook
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Figure 5.6: Specifying the WorkSchedule for the StationC
Question 3: For how many hours during a 24 hour day is the capacity of Station C equal to two?
________________________________________________________________________________
Step 4: Save and run the model for 40 hours observing the path the different entities travel.
Question 4: How long is each part type in the system (enter to leave)?
________________________________________________________________________________
Question 5: Why do you think the time in the system is large for all four part types?
________________________________________________________________________________
The way the current model is set up, entities will branch at nodes based on link weights and the direction on
the link. However, we want the entities to follow a desired sequence of stations as seen in Table 5.2. We
would like to be sure that entities will continue along the circular pattern until they reach the node that takes
them to their particular station. To accomplish this we will use “Sequence Tables” (from the “Data” tab).
Step 1: Click the “Add Sequence Table” button in the tab and rename the new table SequencePart1 to
correspond to the first entity type.
Step 2: Now add the sequence of nodes that you want Part 1 to follow (i.e., Station A, Station C and Exit).
You only need to include the visited nodes at each station as well as the exit. Once the entities sequence
has been set, it will always travel the shortest route to get to the first node on the list. The correct sequence
for Part1 is given in Figure 5.7.47
Be sure to include
the exit in the
sequence
47 Note the input nodes of the associated SERVERS and SINK are specified rather than then actual object. Note the names of the nodes are
in the form Input@ObjectName.
Data-Based Modeling: Manufacturing Cell 59
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Step 4: Now go back to the “Facility” tab and click on the EntPart1 entity. Set the Initial Sequence
property to the “SequencePart1” under the “Routing Logic” section which you just created for “Part 1” as
seen in Figure 5.7. Do the same for each of the other entity types and their associated sequences.
Question 6: Will passage through a BASICNODE also change the row index of the SEQUENCE TABLE?
________________________________________________________________________________
Question 7: Will passage through a TRANSFERNODE always change the row index of the SEQUENCE TABLE?
________________________________________________________________________________
Step 6: It will also help to make sure they follow the correct sequence. Run the simulation for 40 hours at a
slow speed to be sure each of the parts follows their sequence appropriately.
Question 8: Turn off the arrivals of all but one part type by changing the Entities Per Arrival property of the
SOURCE object to zero for all but one SOURCE. Does it follow the expected sequence?
________________________________________________________________________________
Step 7: If you turned off any source, turn them back on by changing the Entities Per Arrival property back
to the original value. Save the current model and run it for 40 hours.
Question 9: How long is each part type in the system now (enter to leave)?
________________________________________________________________________________
48 To set them all at once, press the Ctrl key while selecting all seven TRANSFERNODES and then set the Entity Destination to “By
Sequence.”
49If the current row index is on the last row and the entity enters a TRANSFERNODE that has “By Sequence” before reaching the current
destination node, the row index will start over at one.
60 Simulation Modeling with SIMIO: A Workbook
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Part 5.4: Embellishment: New Arrival Pattern and Processing Times
We now learn that the parts arrive in one stream of arrivals (i.e., with a mean arrival rate of 6 per hour, Poisson
distributed50), instead of four. There are still four part types but the type is random, based on the percentages
specified in in Table 5.4. The number of each that arrive doesn’t change (meaning Part 4 arrives 5 at a time).
Question 10: When do you think a single source type of model is preferred over a multiple source model?
________________________________________________________________________________
Previously, the processing times at the various stations were the same regardless of the part type. Now we
discover the processing times depend on the particular part type as given in Table 5.5. In this table, the
sequences are the same as before, but here the processing times have been added.
Question 11: Do you think that it is realistic that the processing time for Part 1 on Station A might be
different for Part2 on that same Station A?
________________________________________________________________________________
Step 1: Now delete all but one of the SOURCES referring to Figure 5.9 as an example renaming the one
SOURCE as SrcParts. We will return to specifying this source after we specify the processing times.
50
Remember that this Poisson arrival rate is equivalent to an Exponential interarrival time with a mean of 10 minutes. SIMIO wants
the interarrival time, not the arrival rate – so be prepared to make the conversion.
Data-Based Modeling: Manufacturing Cell 61
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Single
Source
Step 3: Go to the “Data” tab and click on the SequencePart1 table which is associated with Part 1 types.
Since the processing times can be any distribution (i.e., any valid expression), add a new Expression type
column from Standard Property drop down named ProcessingTimes. Make sure the column has the
appropriate units by making the Unit Type be “Time” and the Default Units to be “Minutes.”
Step 4: Set the Processing times for SrvStationA (i.e.., the first row) to a Random.Pert(2,5,8),
SrvStationC (i.e., the second row) to a Random.Pert(2,6,11) and finally the SnkPartsLeave or
third row will remain zero as seen in Figure 5.10.
Step 6: In order to have a single source produce multiple types of entities, a new data table has to be
created to specify the part type entities and the part mix percentages. Add a new data table called
TableParts with four columns with the specified types as seen in Table 5.6.
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Table 5.6: Column Definitions
Column Column Name Column Type
1 PartType Entity
2 ProcessingTimes Expression
3 PartMix Integer (or Real)
4 NumberToArrive Integer (or Real)
Step 7: Next specify each entity as a new row with the appropriate processing times, part mix percentages
and sequence table as shown in Table 5.7.
Specifying SequencePart1.ProcessingTimes states that the processing time will come from the
column associated with ProcessingTimes in the table SequencePart1 for the current row.
Step 8: In order to use the dependent processing times, change each of the processing time expressions in
the three stations to be TableParts.ProcessingTime. This logic specifies that the processing time will
come from the ProcessingTimes column of the data table TableParts. As the parts move through their
individual sequence table (i.e., row to row), it will retrieve the processing time for the current row. The
property is now a reference property type which
can only be changed back to a regular property by right clicking on the label (Processing Time) and
resetting it.
Step 9: To generate multiple part types from the same source, the Entity Type needs to be changed from a
specific entity type. In the SOURCE, specify the Entity Type to come from the TableParts.PartType. This
will allow the Entity Type to come from one of the four entities specified in the table.
Step 10: Set the interarrival time of entities to be an Exponential with a mean of ten minutes (i.e., same
as a Poisson arrival rate of six per hour). Set the Entities Per Arrival to TableParts.NumberToArrive.
Step 11: To determine which specific part type is created, the part mix percentages need to be utilized. The
SOURCE has a property category called “Table Reference Assignment” which can assign a table and a row
of that table to the entity.51 There are two possible assignments: Before Creating Entities and On Created
Entity. We want to do the assignment before the entity is actual created in order to create the correct entity
type and the correct number to arrive. Therefore, specify the table shown in Figure 5.11.
51 In later chapters we will utilize Processes and the Set Row step to assign a table to an entity.
Data-Based Modeling: Manufacturing Cell 63
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Part Type
Number to Arrive
Parts Table
Row
Step 12: Save and run the simulation model for 40 hours at a slow speed to be sure each of the parts follows
their sequence appropriately and answer the following questions.
Question 12: How long is each part type in the system (enter to leave)?
________________________________________________________________________________
Question 14: What is the overall time for all part types in the system?
________________________________________________________________________________
The original model utilized just four part types, however we may need to add additional parts. This would
require adding a new entity, adding rows into the TableParts along with creating a new sequence table for
each part. Each addition now requires design time to continue to update the model as well as adding sequence
tables. Instead, can we drive these specifications from a spreadsheet that contains the number of parts and their
sequences? Or is there an easier way to implement the creating and sequencing of parts?
One of the inventive modeling constructs in SIMIO is the use relational data tables. SIMIO has implemented
limited database capabilities that can facilitate the modeling of relationships. Figure 5.12 shows a “relational
diagram”53 where the TableParts data table is related to the SequencePart Table via the ID column. ID is a
52
SIMIO will normalize the numbers so the probability sums to one. Therefore, you may specify whole numbers 25, 25, and 50 rather
than percentages 0.25, 0.25, and 0.5.
53 More formally it is called an Entity Relationship Diagram, but the word “Entity” is use differently than it is used in SIMIO.
64 Simulation Modeling with SIMIO: A Workbook
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
primary key (PK) in the TableParts which uniquely identifies each row in the table (i.e., cannot be any
duplicates). The child table (i.e., SequencePart) inherits the primary key from the parent table (i.e.,
TableParts) which is denoted as a foreign key (FK). A particular part can have many rows (records) in the
child table.
SequencePart
TableParts
PK ID
FK1 ID
PartMix Sequence
ProcessingTimes
Figure 5.12: Setting up a Relation between Table Parts and the Sequence Part
Step 1: First, we will no longer need just four part types since we want to make this a more generic model.
Delete all but one of the part type ENTITIES and rename the remaining entity EntParts. From the
Additional Symbols section, add five additional symbols making sure to color each new entity as seen in
the rotated Figure 5.13.54
Step 3: From the Data tab, delete all the columns of the TableParts except for the Part Mix and Number to
Arrive columns. Insert a new Integer Standard Property named ID. From the Edit Column section, you
can move the new column to the left and set the column as a PK using Set Column As Key button in the
same section as seen Figure 5.14. Set the ID for each of the part types to a unique number (i.e., 1, 2, 3, and
4).
54
Note the symbols start with “0” index.
55
Right click the property and reset it back from the reference property.
Data-Based Modeling: Manufacturing Cell 65
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Figure 5.15: Specifying the Foreign Key Property.
Step 5: Set the ID for all the current rows to be one.
Step 6: Select the SequencePart2 tab and then highlight all the rows by selecting the first row using the
row selector and dragging down. Then copy all the rows and transverse back to the SequencePart table.
Select the last row and then paste in all the values. Change the IDs of this new part to two.
Step 7: Repeat for the last two part sequence tabs setting their IDs to three and four respectively as seen in
Figure 5.16.
Row Selector
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Related Table
Records
Figure 5.18: Modifying the EntParts Property to Utilize the New Tables
Step 10: For each of the three server stations, change the Processing Time to be the reference property
SequencePart.ProcessingTimes rather than TableParts.ProcessingTimes since this column is now only in
the related table.
56
If we had a lot of parts, we can utilize a status label to display the ID as the part moves through the network making this work for
any number of parts. This concept will be explored in later chapters.
Data-Based Modeling: Manufacturing Cell 67
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Question 16: What is the overall time for all part types in the system?
________________________________________________________________________________
Question 17: Is there anything different in this model as compared to the one from the previous section?
________________________________________________________________________________
SIMIO automatically produces statistics for various objects within the simulation. For example, there are
statistics on the MODELENTITY number in system and time in system or for any SERVER there is a scheduled
utilization, a number in the INPUTBUFFER station, the waiting time in the station, etc. However, in spite of
their comprehensive nature, that may be insufficient. For example, our latest model has only one entity type,
so the MODELENTITY statistics are not separated by the part type. What if we wanted to know, on the average,
how many Part 3s are in the system during simulation, and what is the average time these parts spend in the
system?
The two major statistical categories are: TALLY statistics and STATE statistics. The TALLY statistic is based
on observations like waiting time, time in system, cycle time, etc. The STATE statistic such as number in
queue, number in inventory, etc., is a time-weighted statistic such that the time a value persists is used to
compute the statistical value. While the STATE statistic may appear to be the more complicated, it is the
easiest to specify in SIMIO. For example, let’s add a STATE statistic to determine the average number of Part
3’s in the system first and then add a TALLY statistic for the average times in the system.
Step 1: Before creating a STATE statistic, it is necessary to create a state variable the will hold the values
for example the number of Part 3’s in the system. SIMIO will monitor the value of the state variable
through a STATE statistic and weight its value according to the time a particular value persists throughout
the simulation. Since the number of Part 3’s in the system is a model-based characteristic (not associated
with particular entities), we need to define a model-based state variable. From the Definitions→States
section, insert a new Discrete, Integer variable with the name GStaPart3NumberInSystem as seen in
Figure 5.19
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Step 3: The Math.If() function simply tests if TableParts.ID has the value of “3” which refers to Part
3’s then adds “1” to the state variable, otherwise the expression adds “0.”
Step 4: In a similar fashion, the state variable can be decremented in the State Assignments of the
SnkPartsLeave for On Entering as shown in Figure 5.21.
Question 18: What did you get for the average and the maximum number of Part 3’s in the system?
________________________________________________________________________________
Step 7: Now, we would like to collect time in system for the Part 3’s which is a TALLY statistic. The TALLY
statistic needs to record individual observations. Tally statistics can be collected at any BASIC or
TRANSFER node in their Tally Statistics property.57 Unlike the STATE statistics, the TALLY statistic needs to
be defined first. Using the Definitions→Elements section insert a Tally Statistic named
TallyStatTimePart3InSystem. See Figure 5.23 for specifying the Unit Type property of “Time.”
57 In later chapters we will use the Tally process steps to collect statistics anywhere.
Data-Based Modeling: Manufacturing Cell 69
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Condition for
Collecting
Observations
Value being
collected
Figure 5.24: Specifying the Collection of Part 3 Time in System
Step 9: Note that a Custom Condition causes only the Part 3’s time in system to be collected.
Question 19: What did you get for the average, maximum, minimum, and number of observations for time in
system for Part 3’s?
________________________________________________________________________________
Since statistics like time in system and number in system would be useful for each part type, we will extend
the statistics collection to all part types rather than just Part 3’s.
Step 1: First, let’s create the time in system statistics. Navigate to the Definitions→States section, and
modify the definition of GStaPart3NumberInSystem. Rename the variable to
GStaPartNumberInSystem. Set the Dimension Type property of the state variable to a “Vector” with
“4” rows, as shown in Figure 5.25. This will create a vector of four state variables one for each part type.
58
The row index of the first row for Vectors, Matrices, and Data Tables is one while symbol indexes start at zero.
70 Simulation Modeling with SIMIO: A Workbook
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Step 3: You can now define state statistics for all the parts. Under Definitions→States, create three more
state statistics named StateStatNumberPart1InSystem, StateStatNumberPart2InSystem, and
StateStatNumberPart4InSystem. You need to specify the state variable for each of the statistics using
the previously defined vector state variable. This specification is the same for each statistic, except for the
row. The specification for Part 2’s is shown in Figure 5.27. Modify all the four state statistics.
Step 5: Navigate to the Data→Tables section and select the TableParts DATA TABLE. Insert a new Tally
Statistic Element Reference property named TallyStatTimeinSystem, which will allow us to specify a
tally statistic for each part. Therefore each entity (i.e., part type) will know which statistic to update. There
is little need to insert State statistics into the data table since we don’t reference them within the model –
only the state variable that the state statistics monitor. Fill in the tables as shown in Figure 5.28.
59
The On Entering could be used as well.
Data-Based Modeling: Manufacturing Cell 71
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Step 7: Now re-run the simulation and examine the results.
Question 20: Do the tally statistics on time in system for each part type seem correct?
________________________________________________________________________________
Question 21: Do the state statistics for number in system for each part type seem correct?
________________________________________________________________________________
Adding intelligence to entities made it easy to model different routings as well as to calculate time in system
and number in system statistics for each part type without having to create multiple sink and source objects
corresponding to the individual parts. But we would still needed to define the associated statistic objects and
state variables. Such an approach becomes very cumbersome if we want to add many new part types.
An advantage of using related tables is that they may be linked (bound) directly to a spreadsheet containing
many part types and sequences. Nevertheless, we may want statistics for time in system (i.e., cycle times) and
number in system for each of the different part types. However, this situation will require a TALLY and STATE
statistic for each part type. Having to define each statistic could negate the advantages of using related tables
as individual tally and state statistic elements need to be created and then the correct statistic must be collected
for the particular part. However, SIMIO allows for the automatic creation of state variables and statistic
elements.
Step 1: If you are using the model from the previous section, you should delete all the TALLY and STATE
STATISTIC elements, so these can be created automatically.
Step 2: Since the number of part types might change, the state variable GStaPartNumberInSystem will
need to be modified to match the number of parts in the table each time. In our case, we will need to set it
equal to maximum possible number of part types in the system (e.g., 10).60 The size of the state variable
can be tied to the number of rows and columns of a data tables. From the Definitions→States section
change the Rows property from “4” to “10”.
Figure 5.30: Specifying the Size of the State Variable to Match the Table
Step 3: Navigate to the Data→Tables section and select the TableParts DATA TABLE. Notice Statistic
Element Reference property named TallyStatTimeinSystem. Remove the tally statistics from that
column, so it looks like Figure 5.31. Note that the tally statistics references are missing.
60
“Matrix from Table” is another Dimension Type for state variables which will create a two dimensional matrix based on the number
of rows and numeric columns of a table. Dynamically. However, it initializes the variable based on the table values.
72 Simulation Modeling with SIMIO: A Workbook
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Step 4: Once one specifies entries (i.e., names), the elements will be created. The element’s initial
properties can be manually specified (e.g., Category, Data Item, Unit Type, etc.) from the
Definitions→Elements section. However, since the number of part types can be dynamic we do not want
to have to specify these properties each time, which would defeat the benefit of automatic specification of
the statistical elements. Therefore, the elements that are created can also have their properties initialized
by specifying another column in the table as their values. For our problem, the category and data item
classification of the TALLY statistics can be specified as we want it to be the same as other time in system
statistics (i.e., “FlowTime” and “TimeInSystem”). Therefore, insert two Standard String property columns
named Category and DataItem as seen Figure 5.32.
Step 7: Rather than creating each TALLY statistic to specify as entry values, SIMIO has the ability to
automatically create elements (TALLY and STATE statistics, MATERIALS, etc.) specified from a table
column. Therefore, each part row can have a specified TALLY statistic (i.e., name) that will automatically
be created and used to keep track of its on time in system statistics. By default the Element Reference
property column will be of a “Reference” type meaning the element would need to be already created in
order to be specified as an entry in the table.
· Therefore, change the Reference Type property to “Create” which is explained in Table 5.8 and seen in
Figure 5.34.
· Set the Auto-set Table Row Reference property to “True” as well.
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Table 5.8: Specifying Properties to Automatically Create the Element
Property Description and Value
“Reference” - It allows you to simply specify an element that is already been defined
under the “Definitions” tab.
“Create” - Entries in this column will now automatically create a new element of the
Reference Type
specified type with the name of the entry. Note these elements will appear in the
Definitions→Elements but they cannot be deleted from here. Any changes in names
in either location (i.e., TABLE or Definitions→Elements) will be reflected in both.
Initial Property This can be used to initialize the element based on values in other columns of the
Values table.
Auto-set Table Row If “True”, then the element that is pointed to by each row will automatically be given
Reference a table reference set to that row. This has to be case if your creating and initializing
the element based on other columns
Does not
appear initially
Expression Editor
doesn’t work on Value
Figure 5.35: Specifying the Initialization Properties of the TallyStat Reference Column
61
You will need to type in the values directly as this is not an expression editor.
74 Simulation Modeling with SIMIO: A Workbook
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Step 9: Select the StateStatNumInSystem and specify that this column will be created as well as seen in
Figure 5.36.
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
Step 13: Now for every new row that is added, a new TALLY and STATE statistic will be created that is
initialized from the entry values of the Category, DataItem and UnitType columns. For any rows that
existed before the two columns were created, the values will not be initialized.62 We can cut and paste
values back and forth from SIMIO tables and Microsoft Excel™ spreadsheets. Select the entire table by
highlighting the row selectors and then cut the rows (Ctrl-x). Next the paste them into a Microsoft Excel™
spreadsheet so you don’t have to retype all of the information. Modify the names of the tally and state
statistics, categories, data items and the unit types as seen in Figure 5.39.
Row Selector
Question 22: What is the average time in the system and number in system for each of the parts?
_____________________________________________________________________________
Question 23: Does the time in system for Part3 in TallyStatistic3 agree with the previous value computed?
_____________________________________________________________________________
Step 16: Now add a fifth part type by creating a sequence and update only the data table (don’t create any
elements) by copying the fourth part information changing the tally and state statistic column values as
well as copy the fourth part sequences for the fifth part.
Question 24: Did SIMIO create the tally statistical element automatically?
_____________________________________________________________________________
Question 25: When you execute the model, did the flow time and time in system statistics for the fifth part
type appear with the proper unit type, category, and data item?
_____________________________________________________________________________
· The Start Date property of the Work Schedule intuitively would be when the schedule will start.
So if one specified a future date then nothing would happen until that date. That is not the case.
The Start Date property represents the particular day the first day of the pattern will starts. If this
date is in the future compared the start of the simulation, it will repeat backwards to the current
date based on the pattern. For example, if we have a three day pattern named Day1, Day2, and
Day3 and the work schedule start date is set to 09/17/15, schedule will follow the Day1 pattern for
this date. If the simulation starts on 09/13/15, then the pattern for 09/13 is Day3, 09/14 is Day1,
62
We can either modify the properties our self or we can delete the rows and recreate them. You can select the AutoCreate dropdown
in each column value.
76 Simulation Modeling with SIMIO: A Workbook
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]
09/15 is Day2, 09/16 Day3 which makes Day1 be on 09/17 and Day2 on 09/18, etc. In order to
have a work schedule not start until a particular day, exceptions to the work day have to be
employed.
· Another way to look at SIMIO properties and states is that property values are established for each
object in the Facility window at the beginning of the simulation execution and cannot be changed
during “run-time”, whereas the value of states are also established at initialization but the can be
changed during “run-time”. Objects that are created during run-time, such as ENTITY, have their
properties established during an instance of run-time which is during the initialization of that
instance, but they otherwise cannot be changed during the simulation execution.
· The use of relational tables offers a tremendous advantage over other simulation languages in
being able to assign one table and then automatically be assigned all records of related tables. We
will explore this feature more in later chapters. In later chapters, we will demonstrate how you can
bind data tables to Excel spreadsheets which could facilitate the automatic creation of new parts
and sequences.
Licensed to: Patricio Matus Carrillo - Avenida Los Carrera 2114 Concepción 4030000 - [email protected]