You are on page 1of 32

Add-On Process Logic

Changing Queues When Server Fails

When a server failure occurs, entities waiting to get processed should be transferred to
another server and also identified separately.

Checking Next Entity Ahead On Link

I want to know the traffic which is in-front of an entity on a link.

Choose Alternate Sequence

I have a model that normally process parts in the sequence Server1, Server2, Server3,
Inspect, Sink but based on the result of the inspection, it sometimes must be diverted
to Adjust and then restart at Server2.

Create Discrete Entities Based On Flow (from project Flow Concepts)

I want to create a discrete entity based on the amount of flow coming out of a tank.
This model is an enhancement of the FillingEmptyingTank model in this project.

Disable Failure Timers

I want my model to stop running when all entities have finished processing, but the
failures in the system keep the simulation running.

Discrete Lookup Table

The entities in my model have different processing times depending on a priority that
is assigned to the entities in the middle of the model. The processing times and entity
priorities are mapped in a table.

Filling Emptying Tank (from project Flow Concepts)

I want to fill a tank until the tank reaches the high mark. Once reaching the high mark,
the tank should empty until it reaches the low mark, at which point it should repeat
the fill-empty cycle.

Financials

I would like my model to calculate costs, such as capital costs of objects, usage costs,
holding costs and the cost of transporting an entity on a vehicle.

Find A Minimum State Value

I have 3 servers and want to keep track of the total processing time allocated to server
(including entity at the server and those en route) with a state variable. I want to then
find the minimum value to the various servers to even out the load to each throughout
the simulation.

Hourly Statistic

I want to know the average number of Entities in a Servers Input Buffer per hourly
periods of the simulation.

Keep Queue Time For Last10 Entities

I want keep an updated value for the total queue time for the last ten (10) entities in a
Server queue.

Merging Conveyors Controlled By Gate

I want to model merging conveyors that prevent package collisions by having gates
that stop a package before the merge point if it would collide with another.

Notify Step

When a certain event occurs or when a variable reaches a certain point, I want the
simulation to pause while a message is given to the user, asking them to either
continue running the simulation or giving them the ability to pause the simulation to
investigate the event.

Pick Up Drop Off Flow

I would like to model flow being carried on a moving entity. The moving entitys
Container would be filled with flow. It would then travel to a new destination and then
empty the flow out of its Container.

Resource States When Off Shift

I have a system with two Servers that each seize a secondary Resource before
processing begins. Each Server behaves differently if it is processing an entity when the
seized secondary Resource goes Off Shift. Server1 will finish processing any entities
that are currently being processed but will not begin working on another entity until
the secondary Resource is back On Shift. Server2 will immediately end the processing
of any entities when the secondary Resource goes Off Shift. When Server2
immediately ends the processing of any entities when the secondary Resource goes
Off Shift, the interrupted entity will remember how much time it has left for processing
and get sent back to the InputBuffer of Server2 to queue up so it can finish its
processing time when the secondary Resource comes back On Shift.

Rotating Vehicle Example

I want a robot to pick parts from the source, to process them at a server and drop
them at the sink.
Sequential Processing By Batch Specified In Table

I have unlimited inventory and a Server that produces parts from that inventory. I have
a table that tells me what parts I want to produce and in what sequence. When I
complete the sequence I will restart.

Simple Tank

I want to model the level of a fluid tank complete with animation. This tank has a
Capacity of 1000 units and fills at a rate of +1000/hr and empties at a rate of -5000/hr
with a pause of .1 hours between changes. The height of the tank in the Facility
Window has been set to 5 meters.

Single Worker Completes Process And Moves To Node

I want to model a system that has multiple Servers in series and requires a Worker to
be present at each Server before processing can occur. The worker completes work
across all servers for one entity before another entity can begin processing. Animation
should show the Worker moving between the two servers and parking at the
appropriate Server for processing. The Server and Worker should change color when
working. There is only one Worker in the system.

Transfer Into Free Space Use Travel Step (from project Free Space Movement)

I would like to learn how an Entity can travel in Free Space.

Transfer Line

You have a transfer line that has a single conveyor with multiple workstations. All parts
on the conveyor move together. None can move unless all are ready. Entities will move
synchronously and all are aligned at the designated stopping locations (either
workstation or intermediate location) together.

Transferring From One Tank To Another (from project Flow Concepts)

I would like to fill a tank until it reaches its high point. Once this happens, Id like to
transfer the contents into another tank at a much higher rate. When the second tank
reaches its high point, empty it.

Using A Monitor

I have is a simple model with a source, server and sink and would like to know at what
point in time during the simulation run the queue for the server exceeds 9 for the first
time. Since the time is the only information desired, the simulation stops running after
the queue reaches 9 for the first time.

Using A Storage Queue


I would like entities to wait in a queue and then Id like to search the queue for a
particular entity and remove it from the queue. Entities arrive in pairs by the Source
creating two entities per arrival and batching them together. When the pair reaches
the first node, they are un-batched. One entity is routed to an available Server and the
other entity is put into a Storage queue, where it sits until its partner has finished
processing. In order to match up the entities again, we search the Storage queue for an
entity that has the exact same TimeCreated stamp on it, which indicates that these
two entities were originally paired together upon creation. Once the correct entity is
found in the queue, it is removed and batched with its partner, before traveling to the
Sink.

Animation
Animated People

I would like to use animated people (i.e. walking people) and change the animation of
the person in the model.

Arrival Logic
Appointment Arrivals

I would like to model arrivals that occur at a specific time, such as scheduled
appointments.

Disable Failure Timers

I want my model to stop running when all entities have finished processing, but the
failures in the system keep the simulation running.

Leveled Arrivals

I would like to model a system where parts of different types arrive in a certain order.
This is a simply Source, Server, Sink model that simply demonstrates controlling the
order of arriving entities. The Source reads information from a Data Table to
determine which entity type to create for each arrival.

Scheduled Material Arrivals With Deviation

I have a machine that consumes material and material is scheduled to be available


(produced) at specific times. I want to see how variation around the material arrival
times affects my system. We will assume a constant entity interarrival time and a
constant processing time so we can see the affects of the material arrival variation.

Search Tables
I would like to be able to search through a Data Table and select a row based on
certain criteria.

Source With Custom Entity Type Property

I would like my Source object to create multiple entity types but instead of reading a
table to get the information about which types of entities to create, I would like my
user to input this information through a property on the Source object. A new, custom
Source object is created, by subclassing the Source from Simios standard library.

Source With Rate Table

I have entities for which the arrival rate varies over time. I have an average of 20
entities arrive during every third hour (e.g. 2:00, 5:00, 8:00, 11:00, ). On other hours I
have no arrivals.

Using Buttons To Affect System

I want to use external buttons to control the arrival rate of my system and to
Stop/Start the conveyor within my system. The initial arrival rate is set to 0.5
(unit/minute), each time the arrival rate is increased/decreased, the rate changes
(increases/decreases) 0.05 (unit/minute). The minimum arrival rate should be 0.05
(unit/minute), it means that when the arrival rate is 0.05 (unit/minute), it cannot be
decreased further. There is no upper limit for increasing the arrival rate. The initial
speed of the conveyor is set to 0.5 (meters/sec). To start the conveyor again when its
stopped, the resume speed is set to be the speed just before its stopped. We only
control the Stop/Start for Conveyor1 which connects the Server to the Sink.

Buffering
Add And Remove Server Capacity

I would like to make an additional server active whenever the current servers have a
certain number of entities waiting. In other words, there are multiple servers and if
any server with capacity reaches a maximum input buffer level, I want to open a
new server.

CONWIP

I would like to model a CONWIP system (constant level of WIP). The system should
begin with 10 entities in the system and as soon as one entity leaves the system,
another should arrive. This model contains 5 servers and the initial 10 entities are
placed evenly at each server(i.e. 2 entities at each Server to begin). When a new entity
arrives, it will be randomly sent to one of the 5 servers.

Hourly Statistic
I want to know the average number of Entities in a Servers Input Buffer per hourly
periods of the simulation.

Keep Queue Time For Last10 Entities

I want keep an updated value for the total queue time for the last ten (10) entities in a
Server queue.

Notify Step

When a certain event occurs or when a variable reaches a certain point, I want the
simulation to pause while a message is given to the user, asking them to either
continue running the simulation or giving them the ability to pause the simulation to
investigate the event.

One Queue For Multiple Servers

I have multiple servers and I would like one queue that feeds into these two servers. If
there are entities waiting and one of the servers becomes available, the first entity in
the queue will move to the available server for processing.

Overflow WIP

I have parts that are processed by two machines, always in FIFO order. I have a small
WIP area in front of the machines parts always go here to wait if space is available. If
the small WIP area is full, parts go to an overflow area, but are still pulled in FIFO order
regardless of location.

Simple Least Slack Selection Rule

I have multiple entities with different due dates and I want them to be processed with
a Least Slack scheduling methodology. Assume that Processing Time is the same and
constant for each type of entity and also assume that entities are allowed to be
processed even after their deadline.

User Defined List State

I would like to create my own custom List State that will produce time persistent
statistics on each value that is assigned to the state.

Building New Objects / Hierarchy


Communication Between Objects

One object wants to watch anothers behavior and react to it. We have two fixed
objects (the Subject and the Observer), each of which has a state (SubjectRate and
ObserverRate). The Subject changes SubjectRate randomly. The Observer wants to
change ObserverRate to match SubjectRate.

Facility Model Within Model

You have a facility in which many of the operations are similar. You wish to make a
single object that encompasses 3 serial processes into a single process for simplicity.
The similar processes that will be made into an object include a single Server
(ProcessA), which then moves entities to one of 2 more Servers (Process B), followed
by a fourth Server (ProcessC).

Hourly Statistic

I want to know the average number of Entities in a Servers Input Buffer per hourly
periods of the simulation.

Mass Flow Processing

I have 2 stockpiles of material and I want material to flow from the first stockpile to
the second at a variable rate. When the flow rate changes, the second stockpile has to
wait for the new flow rate to reach it before noticing a change in flow rate. All flows go
from the left to the right. Increased flow means more flow is leaving the first stockpile,
meaning the flow rate becomes more negative (and vice versa - a decrease in flow
means less material is leaving and the flow becomes less negative).

Moveable Operator

I want to model a system that has two Servers in series and requires a Worker to be
present at each Server before processing can occur. Animation should show the
Worker moving between the two servers and parking at the appropriate Server for
processing. There is only one Worker in the system. It will work at the first Server until
the second Server has 5 or more entities waiting in its queue. The Worker will then
work on the second Server until the input buffer is empty and then return to working
on the first Server.

Process Model Within Model

There is a series of simple steps in your facility that are repeated many times
throughout the operation. You wish to have a small user-defined model object that
can be placed multiple times in your model logic. The similar steps that will be made
into an object include seizing a resource, delaying for a given amount of time and
releasing the resource. The Processes Window steps of Seize, Delay, and Release will
be used. All logic within this model object will be specified in the Processes Window.

Search Table (from project Hierarchy With Tables)

This is a ready to use submodel. The same model was used in the simbit
HierarchyWithTables. Before you can take the model and place it inside of another
model, you need to make some changes to it (like delete the Source and the Sink) and
add new properties, etc. So, this new model, called
SearchTableUponEnteringObject_AsSubmodel, has all of those changes in it.

Search Table Upon Entering Object As Submodel

This is a ready to use submodel. The same model was used in the simbit
HierarchyWithTables. Before you can take the model and place it inside of another
model, you need to make some changes to it (like delete the Source and the Sink) and
add new properties, etc. So, this new model, called
SearchTableUponEnteringObject_AsSubmodel, has all of those changes in it.

Source With Custom Entity Type Property

I would like my Source object to create multiple entity types but instead of reading a
table to get the information about which types of entities to create, I would like my
user to input this information through a property on the Source object. A new, custom
Source object is created, by subclassing the Source from Simios standard library.

Top Level Model (from project Hierarchy With Tables)

I have a model that references data from tables and I would like to place this model
inside of another model. Therefore, I would like to have a submodel reference data
in a table.

Update State In Model From Object

I have a user-created object in my model and want to update a state variable in the
main model from within that object. ** NOTE: This is an extension of the SimBit
ProcessModelWithinModel.spfx.

Visit All Servers In Any Order

A process must do ServerA, then Servers 1, 2, and 3 in any order but must do all three,
then finish with ServerC. Illustrates how a simple modification can be made to an
object to permit more intelligent use, in this case allowing selection of only objects
that still need the service it provides.

Workers Arrive Late To Shift

I would like to model the fact that my Worker will sometimes arrive late to Shift.

Combining and Separating Entities


Combine Matching Members
I want to batch multiple entities together for subsequent processing. Only entities with
identical state values can be batched together. We will batch 4 parts together into
each container and as many as 5 batches can be worked on concurrently.

Combine Then Separate

I have two different entity types entering the system. I need to batch them together,
process the combined batch and then un-batch them before exiting the system. Parts
are batched, then processed through a Server and then separated.

Reference Batched Entity

I would like to base some model logic on the value of a State of a batched entity. The
Vehicle that the parent entity should select is determined by the Priority state on the
member entity.

Regenerating Combiner

You have a palletizer or similar machine but you do not know the exact timing of when
to have pallets arrive. We want to have a supply of three pallets waiting so the process
will rarely be delayed by lack of pallets.

Separator Makes Copies

I would like to have an entity create three identical copies of itself so there are a total
of 4 entities that are exactly the same. One Entity type goes into the Separator. The
Separator produces three exact copies of the entity. The Source produces 100 entities
and therefore the Separator produces 300 copies, which means there is a total of 400
entities at the end of the model. The copies and the originals depart through separate
sinks.

Using A Storage Queue

I would like entities to wait in a queue and then Id like to search the queue for a
particular entity and remove it from the queue. Entities arrive in pairs by the Source
creating two entities per arrival and batching them together. When the pair reaches
the first node, they are un-batched. One entity is routed to an available Server and the
other entity is put into a Storage queue, where it sits until its partner has finished
processing. In order to match up the entities again, we search the Storage queue for an
entity that has the exact same TimeCreated stamp on it, which indicates that these
two entities were originally paired together upon creation. Once the correct entity is
found in the queue, it is removed and batched with its partner, before traveling to the
Sink.

Conveyor Systems
Entities Entering Along Conveyor
I have multiple types of entities that enter onto a single conveyor from multiple merge
points. Entities then travel down the single conveyor for later processing. There are
three types of entities that enter the system. Each entity type has a unique entry area
onto which it will later merge onto a single conveyor system. When arriving at its
merge point, the entity must wait for adequate space on the conveyor before merging.
At any merge point, entities enter based on a first in first out basis.

Examples Of Conveyors

I would like to understand how various conveyor configurations behave. A Master


Source creates the Entity arrivals for all other sources. This allows all sets of
conveyors to depict their behavior on the exact same arrivals. The sets of conveyors
are then used to depict transfers between different conveyor configurations.

Merging Conveyors Controlled By Gate

I want to model merging conveyors that prevent package collisions by having gates
that stop a package before the merge point if it would collide with another.

Sorting Conveyor System

I have a conveyor system that sorts boxes and sends them to the appropriate shipping
dock. There are three different types of boxes and each type of box has its own
shipping dock.

Transfer Line

You have a transfer line that has a single conveyor with multiple workstations. All parts
on the conveyor move together. None can move unless all are ready. Entities will move
synchronously and all are aligned at the designated stopping locations (either
workstation or intermediate location) together.

Custom Reports
Dashboard Report Interactive Logs

For an existing project, I want to be able to graphically display the resource utilization
as well as display a vehicles pickup and drop off times in chart format. We will
accomplish this by creating a Dashboard Report from an existing SimBit project
VehicleVisitsServiceCenter.

Custom Statistics
Dashboard Report Tallies
For an existing project, I want to be able to graphically display the time in the system
for each entity in a model, once the model has completed. We will accomplish this by
creating a Dashboard Report from an existing SimBit TallyStatisticsInTables.

Hourly Statistic

I want to know the average number of Entities in a Servers Input Buffer per hourly
periods of the simulation.

Keep Queue Time For Last10 Entities

I want keep an updated value for the total queue time for the last ten (10) entities in a
Server queue.

Record Distance Traveled

I want to record the distance traveled by a vehicle to make it easy to compare


scenarios based on travel reduction.

Tally Statistics In Tables

I have two different entity types and two exits from the system. I would like to keep
entity statistics, by type, for each exit from the system. There are two entity types
which go through a single server, then through an inspection area where they either
pass inspection or fail inspection.

User Defined List State

I would like to create my own custom List State that will produce time persistent
statistics on each value that is assigned to the state.

Using A Monitor

I have is a simple model with a source, server and sink and would like to know at what
point in time during the simulation run the queue for the server exceeds 9 for the first
time. Since the time is the only information desired, the simulation stops running after
the queue reaches 9 for the first time.

Workers Arrive Late To Shift

I would like to model the fact that my Worker will sometimes arrive late to Shift.

Dashboard Reports
Dashboard Report Interactive Logs

For an existing project, I want to be able to graphically display the resource utilization
as well as display a vehicles pickup and drop off times in chart format. We will
accomplish this by creating a Dashboard Report from an existing SimBit project
VehicleVisitsServiceCenter.

Dashboard Report Tallies

For an existing project, I want to be able to graphically display the time in the system
for each entity in a model, once the model has completed. We will accomplish this by
creating a Dashboard Report from an existing SimBit TallyStatisticsInTables.

Data Tables
CONWIP

I would like to model a CONWIP system (constant level of WIP). The system should
begin with 10 entities in the system and as soon as one entity leaves the system,
another should arrive. This model contains 5 servers and the initial 10 entities are
placed evenly at each server(i.e. 2 entities at each Server to begin). When a new entity
arrives, it will be randomly sent to one of the 5 servers.

Entity Follows Sequence With Table

*Enhancement of EntityFollowsSequenceMultiple.spf*: I have a single source


producing multiple types of entities. Each entity type needs to be processed in a
particular order by a series of machines. The service times at each server are
dependent upon the entity type. The Source produces three types of entities: Part A
(Green) which follows the Sequence: Server 1 Server 2 Server 3 Sink 1. Part B
(Red) which follows the Sequence: Server 3 Server 2 Server 1 Sink 1. Part C (Blue)
which follows the Sequence: Server 2 Sink 1.

Entity Follows Sequence With Table2

*Enhancement of EntityFollowsSequenceMultiple.spf*: I have a single source


producing multiple types of entities. Each entity type needs to be processed in a
particular order by a series of machines. The service times at each server are
dependent upon the entity type. The Source produces three types of entities: Part A
(Green) which follows the Sequence: Server 1 Server 2 Server 3 Sink 1. Part B
(Red) which follows the Sequence: Server 3 Server 2 Server 1 Sink 1. Part C (Blue)
which follows the Sequence: Server 2 Sink 1.

Import Export Tables

I would like to import data from a .csv file into a data table in Simio. This example
model is a simple source, server, sink model and the server gets its processing time by
reading the data in this imported table.

Initialize Object Properties From A Table


I have objects in my model that should get their initial property values from
information in a Data Table.

Leveled Arrivals

I would like to model a system where parts of different types arrive in a certain order.
This is a simply Source, Server, Sink model that simply demonstrates controlling the
order of arriving entities. The Source reads information from a Data Table to
determine which entity type to create for each arrival.

Relational Tables In Repeating Property

I have three types of patients that require different processing times, as well as
multiple doctors and/or nurses for processing. Each of the three patient types will have
a nurse / doctor combination that determines both the name (doctor/nurse) and
quantity of each that is needed. More severe patients will have higher priority. There
will be one nurse and two doctors available to the patients.

Routing Without Paths

My entities travel through a sequence of nodes and there is no travel time in between
nodes. Instead of using zero-time TimePaths or Connectors, Id like to have my entities
move directly from node to node without traveling on a link. The routing information
comes from a Simio data table.

Scheduled Material Arrivals

I have a data file specifying the times that materials arrive to the system.

Scheduled Material Arrivals

I have a data file specifying the times that materials arrive to the system.

Scheduled Material Arrivals With Deviation

I have a machine that consumes material and material is scheduled to be available


(produced) at specific times. I want to see how variation around the material arrival
times affects my system. We will assume a constant entity interarrival time and a
constant processing time so we can see the affects of the material arrival variation.

Search Table (from project Hierarchy With Tables)

This is a ready to use submodel. The same model was used in the simbit
HierarchyWithTables. Before you can take the model and place it inside of another
model, you need to make some changes to it (like delete the Source and the Sink) and
add new properties, etc. So, this new model, called
SearchTableUponEnteringObject_AsSubmodel, has all of those changes in it.
Search Table Upon Entering Object

Each object in my model reads data from a table to determine its processing time and
the number of resources it must seize before processing. I do not want to hard code
the row where each object should look for its data, but instead the entity should
search the table whenever it enters the Server to find the appropriate data.

Search Table Upon Entering Object As Submodel

This is a ready to use submodel. The same model was used in the simbit
HierarchyWithTables. Before you can take the model and place it inside of another
model, you need to make some changes to it (like delete the Source and the Sink) and
add new properties, etc. So, this new model, called
SearchTableUponEnteringObject_AsSubmodel, has all of those changes in it.

Search Tables

I would like to be able to search through a Data Table and select a row based on
certain criteria.

Sequential Processing By Batch Specified In Table

I have unlimited inventory and a Server that produces parts from that inventory. I have
a table that tells me what parts I want to produce and in what sequence. When I
complete the sequence I will restart.

Table Reference In Repeating Property

I have three types of entities and want to store their respective information about
processing times, which worker to use and which assignments to make within a table.
There are three types of entities and each one has only one worker that it uses and has
only one assignment to make.

Top Level Model (from project Hierarchy With Tables)

I have a model that references data from tables and I would like to place this model
inside of another model. Therefore, I would like to have a submodel reference data
in a table.

Using Add Row And Output Table Enterprise

I want to be able to write entity specific output information to an output data table at
the end of the simulation run. *Enterprise edition only *

Using Relational Tables

I have data that exists in different tables and the tables are linked together with
foreign keys, as in a relational database. I would like an entity to reference data from
these tables. In order to easily witness that the entity is reading the correct
information from the tables from within the Facility Window, only Red entities will visit
the TireService, Blue entities will visit the OilService and Green entities will visit the
BrakeService.

Decision Logic - Paths


Changing Queues When Server Fails

When a server failure occurs, entities waiting to get processed should be transferred to
another server and also identified separately.

Decision Logic -- Paths


Bidirectional Paths

I have bidirectional links in my system, but my entities get stuck at a node trying to get
from one link to the other in opposite directions. Entities are able to pass each other at
bypass areas along various bidirectional paths.

Entity Follows Sequence

I have an entity that needs to be processed in a particular order by a series of


machines.

Entity Follows Sequence Multiple

*Enhancement of EntityFollowsSequence.spf*: I have multiple sources; each producing


their own specific entity type. Each entity type needs to be processed in a particular
order by a series of machines. Each source only produces one type of entity. Source 1
produces Part A (Green) which follows the Sequence: Server 1 Server 2 Sink 1.
Source 2 produces Part B (Red) which follows the Sequence: Server 3 Server 2
Server 1 Sink 1. Source 3 produces Part C (Blue) which follows the Sequence: Server 2
Sink 1.

Entity Follows Sequence With Table

*Enhancement of EntityFollowsSequenceMultiple.spf*: I have a single source


producing multiple types of entities. Each entity type needs to be processed in a
particular order by a series of machines. The service times at each server are
dependent upon the entity type. The Source produces three types of entities: Part A
(Green) which follows the Sequence: Server 1 Server 2 Server 3 Sink 1. Part B
(Red) which follows the Sequence: Server 3 Server 2 Server 1 Sink 1. Part C (Blue)
which follows the Sequence: Server 2 Sink 1.

Entity Stops On Link


I have a system where the entities in the system must stop moving on their links when
a particular event occurs. Entities that are currently moving on links will stop mid-
stream when a particular event occurs. In this example, that event is a server failure.
Once the failure has been fixed, all entities resume their movement.

Financials

I would like my model to calculate costs, such as capital costs of objects, usage costs,
holding costs and the cost of transporting an entity on a vehicle.

Logic Based On Entity Property

I have entities that need to be sent to certain destinations based on their entity type.
Each source only produces one type of entity. Source1 produces ModelEntity1 (Green)
and Source2 produces ModelEntity2 (Red).

Logic Based On Entity State

I have entities that need to be sent to certain destinations based on their entity type.
Each source only produces one type of entity. Source 1 produces ModelEntity1 (Green)
and Source 2 produces ModelEntity2 (Red).

Object Reference On Entity

I would like to keep track of what Server an entity visited so that this information can
be used later in the model. I would like to keep a reference to an object on my entity.

Path Selection Rule

I have a bidirectional path that takes entities from two different inputs to two different
outputs, with entities coming from both sides of the path. I want to be able to direct
how the entities flow onto the path, but Im not sure how the Traffic Direction Rule
property on a Path works. There is no passing on the bidirectional path. Entities move
onto the link from both node entrances. The systems shown are identical except for
the Traffic Direction Rule property on the bi-directional Path.

Select Server With Shortest Line

I would like my entities to always go to the Server with the least number of entities
waiting in its queue. There is one Source producing entities that are choosing which
Server to go to.

Server With Transfer In Constraints

This small example illustrates usage of the Transfer-In Constraints feature that is
available in Advanced Options for the processor-oriented standard library objects. In
this problem, there are three servers arranged in a line. When an entity arrives to a
server, if there are already three (3) entities waiting in the input buffer to be
processed, then the entity continues to the next server.

Visit All Servers In Any Order

A process must do ServerA, then Servers 1, 2, and 3 in any order but must do all three,
then finish with ServerC. Illustrates how a simple modification can be made to an
object to permit more intelligent use, in this case allowing selection of only objects
that still need the service it provides.

Decision Logic -- Processing


Add And Remove Server Capacity

I would like to make an additional server active whenever the current servers have a
certain number of entities waiting. In other words, there are multiple servers and if
any server with capacity reaches a maximum input buffer level, I want to open a
new server.

Discrete Lookup Table

The entities in my model have different processing times depending on a priority that
is assigned to the entities in the middle of the model. The processing times and entity
priorities are mapped in a table.

Entity Follows Sequence With Table

*Enhancement of EntityFollowsSequenceMultiple.spf*: I have a single source


producing multiple types of entities. Each entity type needs to be processed in a
particular order by a series of machines. The service times at each server are
dependent upon the entity type. The Source produces three types of entities: Part A
(Green) which follows the Sequence: Server 1 Server 2 Server 3 Sink 1. Part B
(Red) which follows the Sequence: Server 3 Server 2 Server 1 Sink 1. Part C (Blue)
which follows the Sequence: Server 2 Sink 1.

Find A Minimum State Value

I have 3 servers and want to keep track of the total processing time allocated to server
(including entity at the server and those en route) with a state variable. I want to then
find the minimum value to the various servers to even out the load to each throughout
the simulation.

Interruptible Operator

I would like to model a system with 2 Servers and a movable operator that needs to be
present at the server for processing and be able to interrupt the processing of a lower
priority job for a higher priority job. The interrupted part is allowed to remain in the
processing station until the operator returns. Upon processing for the second time the
job only requires the remaining processing time, no set-up or tear-down time.

Interrupting Across Multiple Servers

I have multiple entities with different priorities and multiple servers. If all servers are
busy, I want to be able to interrupt the processing at a server processing a lower
priority entity. All entities wait at one spot for an available server. All interrupted
entities wait in the same FIFO queue.

Interrupting Server With Multiple Capacity

I have a server with capacity of three and I would like a higher priority job to be able to
interrupt the processing of one of the lower priority jobs currently being processed,
and move the interrupted job back into the input buffer to complete processing later.
All entities have the same Processing Time distribution and the remaining process time
will be saved.

Object Reference On Entity

I would like to keep track of what Server an entity visited so that this information can
be used later in the model. I would like to keep a reference to an object on my entity.

Remove From Allocation Queue

I have an entity that is waiting for capacity of a resource type object, such as a Server.
If the entity has been waiting for 5 minutes, it leaves the queue and exits the system.
In this model, the scenario is a call center where the entities are incoming calls. The
callers wait on the line for one of three customer service reps but if they are not
serviced within 5 minutes, they hang up. The waiting time for each entity is displayed
in an attached status label, rounded to the next lowest integer.

Routing Without Paths

My entities travel through a sequence of nodes and there is no travel time in between
nodes. Instead of using zero-time TimePaths or Connectors, Id like to have my entities
move directly from node to node without traveling on a link. The routing information
comes from a Simio data table.

Source Server Sink Approaches

Source Server Sink (SSS) is a frequently used problem for beginners in simulation
because it can be easily compared to queueing theory problems such as M/M/1 and
M/M/2. But even that simple model has several possible approaches. We provide this
project both to illustrate three approaches and to provide a tool for fast
experimentation by beginners. We are assuming a very simple system consisting of a
single arrival stream, a single (perhaps multiple capacity) server, and then the entity is
disposed. The primary statistics of interest are the time in queue and number in
queue. Unlike most SimBits, our goal here is not to teach you the details of how to
build these, but rather to provide the modeling concepts and leave you with a useful
tool for beginning analysis.

Workers Arrive Late To Shift

I would like to model the fact that my Worker will sometimes arrive late to Shift.

Discrete States
Communication Between Objects

One object wants to watch anothers behavior and react to it. We have two fixed
objects (the Subject and the Observer), each of which has a state (SubjectRate and
ObserverRate). The Subject changes SubjectRate randomly. The Observer wants to
change ObserverRate to match SubjectRate.

Find A Minimum State Value

I have 3 servers and want to keep track of the total processing time allocated to server
(including entity at the server and those en route) with a state variable. I want to then
find the minimum value to the various servers to even out the load to each throughout
the simulation.

String States

I would like to check the priority of part and then use a String State to display to the
screen, whether or not the current part is considered a high risk part, a medium risk
part or a low risk part. There are five different parts produced in this model, each
assigned a priority of 1-5, with equal probability. Priority 1 is considered High Risk,
Priority 2 is considered Medium Risk and the rest are considered Low Risk.

User Defined List State

I would like to create my own custom List State that will produce time persistent
statistics on each value that is assigned to the state.

Visit All Servers In Any Order

A process must do ServerA, then Servers 1, 2, and 3 in any order but must do all three,
then finish with ServerC. Illustrates how a simple modification can be made to an
object to permit more intelligent use, in this case allowing selection of only objects
that still need the service it provides.

Workers Arrive Late To Shift

I would like to model the fact that my Worker will sometimes arrive late to Shift.
Enterprise
Using Add Row And Output Table Enterprise

I want to be able to write entity specific output information to an output data table at
the end of the simulation run. *Enterprise edition only *

Entity Characteristics
Animated People

I would like to use animated people (i.e. walking people) and change the animation of
the person in the model.

Define Entity Properties

I have multiple kinds of entities going through a working system. Each type of entity
has its unique processing time and rejection rates. One Source produces only one type
of entity. Reject rates are based on the ratio of the total number of entities that need
to be reworked to the total number of entities coming out of the server. (So there is a
possibility that some entities will never reach the sink.)

Financials

I would like my model to calculate costs, such as capital costs of objects, usage costs,
holding costs and the cost of transporting an entity on a vehicle.

Find A Minimum State Value

I have 3 servers and want to keep track of the total processing time allocated to server
(including entity at the server and those en route) with a state variable. I want to then
find the minimum value to the various servers to even out the load to each throughout
the simulation.

Keep Queue Time For Last10 Entities

I want keep an updated value for the total queue time for the last ten (10) entities in a
Server queue.

Logic Based On Entity State

I have entities that need to be sent to certain destinations based on their entity type.
Each source only produces one type of entity. Source 1 produces ModelEntity1 (Green)
and Source 2 produces ModelEntity2 (Red).

Object Reference On Entity


I would like to keep track of what Server an entity visited so that this information can
be used later in the model. I would like to keep a reference to an object on my entity.

Reference Batched Entity

I would like to base some model logic on the value of a State of a batched entity. The
Vehicle that the parent entity should select is determined by the Priority state on the
member entity.

Request Ride From Same Transporter

I have entities that select a transporter from a list, after being processed at a Server,
the entity must be picked up by the same transporter.

Seizing Same Resource From List

I have entities that select a resource from a list of resources, but once selected, they
must use that same resource throughout their processing.

Select Entity Color From String List

I would like to choose, from a menu, a property for each entity added to my model.
The destination of each entity is dependent upon its property value. Each entity color
is associated with exactly one source and sink. One server will process each entity
type.

Select Entity Type From Table

The System consists of processing multiple products. A data file containing information
about the products, product mix and processing parameters is available.

Turn Around Methods

I would like to explore the different options that are available for an entity turnaround
on a network.

File Management
Excel Read Write

Read and write from/to an Excel workbook.

File Security

I would like to password protect my model. The password to open the object named
MyModel is simio.

Model Using DB Query Execute (from project DB Read Write)


Use MySQL to read data into Simio and also to write data from Simio.

Model Using DB Read Write (from project DB Read Write)

Use MySQL to read data into Simio and also to write data from Simio.

Writing To A File

Id like to write values to a file during the run. This model writes to a .csv file.

Flow Library
Create Discrete Entities Based On Flow (from project Flow Concepts)

I want to create a discrete entity based on the amount of flow coming out of a tank.
This model is an enhancement of the FillingEmptyingTank model in this project.

Filling Emptying Tank (from project Flow Concepts)

I want to fill a tank until the tank reaches the high mark. Once reaching the high mark,
the tank should empty until it reaches the low mark, at which point it should repeat
the fill-empty cycle.

Merged Flow (from project Flow Concepts)

I want to merge two flows into a single flow.

Pick Up Drop Off Flow

I would like to model flow being carried on a moving entity. The moving entitys
Container would be filled with flow. It would then travel to a new destination and then
empty the flow out of its Container.

Simple Emptier (from project Flow Concepts)

I want to have full containers of a mixed liquid (2 product types) that Id like to empty
and send to their respective locations.

Simple Filler (from project Flow Concepts)

I want to have liquid volume arrive to a filling operation and fill containers until they
are full.

Simple Flow (from project Flow Concepts)

I want to create an entity flow from a FlowSource object, through a FlowConnector , to


a FlowSink object. In addition, I want to monitor the flow volume and stop the flow at
5 cubic meters of total volume.
Split Flow (from project Flow Concepts)

I want to split a single flow into two flows and use the flow connector link weights to
determine the proportion of flow set to each link.

Transferring From One Tank To Another (from project Flow Concepts)

I would like to fill a tank until it reaches its high point. Once this happens, Id like to
transfer the contents into another tank at a much higher rate. When the second tank
reaches its high point, empty it.

Functions
Examples Of Functions Dynamic Objects

I would like to understand some of the functions available to use with dynamic objects
(entities, transporters, etc). The functions shown in this model are not the entire list of
available functions. To see all the available functions and to get additional information
on all functions, see the Functions page in Help.

Examples Of Functions Static Objects

I would like to understand some of the functions available to use with static objects.
The functions shown in this model are not the entire list of available functions. To see
all the available functions and to get additional information on all functions, see the
Functions page in Help.

String States

I would like to check the priority of part and then use a String State to display to the
screen, whether or not the current part is considered a high risk part, a medium risk
part or a low risk part. There are five different parts produced in this model, each
assigned a priority of 1-5, with equal probability. Priority 1 is considered High Risk,
Priority 2 is considered Medium Risk and the rest are considered Low Risk.

Level States
Mass Flow Processing

I have 2 stockpiles of material and I want material to flow from the first stockpile to
the second at a variable rate. When the flow rate changes, the second stockpile has to
wait for the new flow rate to reach it before noticing a change in flow rate. All flows go
from the left to the right. Increased flow means more flow is leaving the first stockpile,
meaning the flow rate becomes more negative (and vice versa - a decrease in flow
means less material is leaving and the flow becomes less negative).

Simple Tank
I want to model the level of a fluid tank complete with animation. This tank has a
Capacity of 1000 units and fills at a rate of +1000/hr and empties at a rate of -5000/hr
with a pause of .1 hours between changes. The height of the tank in the Facility
Window has been set to 5 meters.

Lookup and Rate Tables


Discrete Lookup Table

The entities in my model have different processing times depending on a priority that
is assigned to the entities in the middle of the model. The processing times and entity
priorities are mapped in a table.

Learning Curve With Lookup

I have a machine that increases its efficiency subject to a learning curve function. The
Server starts at 20% effective. After 12 hours the Server is 90% effective and after 18
hours the Server is 100% effective. At 100% efficiency, the Servers Processing Time is
10 minutes.

Simple Least Slack Selection Rule

I have multiple entities with different due dates and I want them to be processed with
a Least Slack scheduling methodology. Assume that Processing Time is the same and
constant for each type of entity and also assume that entities are allowed to be
processed even after their deadline.

Movement In Free Space


Free Space Travel With No Destination Set (from project Free Space Movement)

I would like to learn how an Entity can travel in Free Space.

Transfer Into Free Space Use Travel Step (from project Free Space Movement)

I would like to learn how an Entity can travel in Free Space.

Vehicle Travel In Free Space (from project Free Space Movement)

I would like to learn how a Vehicle can travel in Free Space.

Resources
Resource States When Off Shift

I have a system with two Servers that each seize a secondary Resource before
processing begins. Each Server behaves differently if it is processing an entity when the
seized secondary Resource goes Off Shift. Server1 will finish processing any entities
that are currently being processed but will not begin working on another entity until
the secondary Resource is back On Shift. Server2 will immediately end the processing
of any entities when the secondary Resource goes Off Shift. When Server2
immediately ends the processing of any entities when the secondary Resource goes
Off Shift, the interrupted entity will remember how much time it has left for processing
and get sent back to the InputBuffer of Server2 to queue up so it can finish its
processing time when the secondary Resource comes back On Shift.

Selecting Resource From List

I have a group of 2 Resources called Mechanics. I have three Servers in parallel that all
share the group of mechanics for processing and must seize one of the two before it
can process the entity. There are no restrictions on which mechanic should be seized
either resource can work on any one of the three servers. Each server seizes in
Preferred Order, which means if both resources are available, they will always select
Resource 1.

Selecting Resources As A Group

I have a group of 4 Resources called Mechanics. I have a Server that all requires two
mechanics for processing and must seize both before it can process the entity. There
are no restrictions on which two mechanics should be seized. Each server seizes in
Preferred Order, which means if all resources are available, they will always select the
first two listed in the object list. Other selection rules might result in different usage
patterns.

Single Worker Completes Process And Moves To Node

I want to model a system that has multiple Servers in series and requires a Worker to
be present at each Server before processing can occur. The worker completes work
across all servers for one entity before another entity can begin processing. Animation
should show the Worker moving between the two servers and parking at the
appropriate Server for processing. The Server and Worker should change color when
working. There is only one Worker in the system.

Schedules / Changeovers
Resource States When Off Shift

I have a system with two Servers that each seize a secondary Resource before
processing begins. Each Server behaves differently if it is processing an entity when the
seized secondary Resource goes Off Shift. Server1 will finish processing any entities
that are currently being processed but will not begin working on another entity until
the secondary Resource is back On Shift. Server2 will immediately end the processing
of any entities when the secondary Resource goes Off Shift. When Server2
immediately ends the processing of any entities when the secondary Resource goes
Off Shift, the interrupted entity will remember how much time it has left for processing
and get sent back to the InputBuffer of Server2 to queue up so it can finish its
processing time when the secondary Resource comes back On Shift.

Resources With Work Schedules

There are two employees that work at a ticket counter. The employees follow two
different work schedules. The work schedule is the same each day it follows a one
day cycle.

Server Follows Capacity Schedule

I have a server that follows a schedule with entities entering the system 24 hours a
day. Capacity of server changes over the day. The server works from 8:00 am to 5:00
pm with a capacity of 2, from 5:00 pm to 9:00 pm with a capacity of 1, and a capacity
of 0 otherwise. The server also has a work exception and is off shift for an entire day.

Server Follows Daily Schedule

I have a server that follows a daily schedule with entities entering the system 24 hours
a day. The server works an 8 hour shift with a 30 minute break. The servers queue has
an infinite capacity.

Server Follows Odd Schedule

I have a server that follows an odd schedule with entities entering the system 24 hours
a day. The server works for 45 minutes then rests for 15 minutes. The servers queue
has an infinite capacity.

Worker Uses Work Schedule

I have a system where my worker is responsible for helping with operations at two
different locations. The worker takes breaks and goes off-shift based on a work
schedule. There is one worker who is responsible who performs stationary tasks at two
server locations. The worker goes on break at a different location.

Workers Arrive Late To Shift

I would like to model the fact that my Worker will sometimes arrive late to Shift.

Sequence Tables
Choose Alternate Sequence

I have a model that normally process parts in the sequence Server1, Server2, Server3,
Inspect, Sink but based on the result of the inspection, it sometimes must be diverted
to Adjust and then restart at Server2.
Entity Follows Sequence

I have an entity that needs to be processed in a particular order by a series of


machines.

Entity Follows Sequence Multiple

*Enhancement of EntityFollowsSequence.spf*: I have multiple sources; each producing


their own specific entity type. Each entity type needs to be processed in a particular
order by a series of machines. Each source only produces one type of entity. Source 1
produces Part A (Green) which follows the Sequence: Server 1 Server 2 Sink 1.
Source 2 produces Part B (Red) which follows the Sequence: Server 3 Server 2
Server 1 Sink 1. Source 3 produces Part C (Blue) which follows the Sequence: Server 2
Sink 1.

Entity Follows Sequence With Table

*Enhancement of EntityFollowsSequenceMultiple.spf*: I have a single source


producing multiple types of entities. Each entity type needs to be processed in a
particular order by a series of machines. The service times at each server are
dependent upon the entity type. The Source produces three types of entities: Part A
(Green) which follows the Sequence: Server 1 Server 2 Server 3 Sink 1. Part B
(Red) which follows the Sequence: Server 3 Server 2 Server 1 Sink 1. Part C (Blue)
which follows the Sequence: Server 2 Sink 1.

Sorting Conveyor System

I have a conveyor system that sorts boxes and sends them to the appropriate shipping
dock. There are three different types of boxes and each type of box has its own
shipping dock.

Vehicles
Dynamically Creating Vehicles

I have a system where a transporter carries parts from machine to machine. When the
system gets moderately busy and I have more than 4 parts in the system, I would like
to bring in another vehicle to help with the work. Similarly, if the system becomes
extremely busy and there are more than 8 parts in the system, I would like to bring in a
third vehicle. A second vehicle is only created the first time the number of parts in the
system goes above 4. And even if the number of parts becomes less than 4, the second
vehicle remains part of the model, it is not destroyed. There is similar logic for the
creation of the third vehicle.

Financials
I would like my model to calculate costs, such as capital costs of objects, usage costs,
holding costs and the cost of transporting an entity on a vehicle.

Record Distance Traveled

I want to record the distance traveled by a vehicle to make it easy to compare


scenarios based on travel reduction.

Reference Batched Entity

I would like to base some model logic on the value of a State of a batched entity. The
Vehicle that the parent entity should select is determined by the Priority state on the
member entity.

Rotating Vehicle Example

I want a robot to pick parts from the source, to process them at a server and drop
them at the sink.

Seizing Vehicle

I would like to model a system that has a vehicle which is used for both transport and
non transport activities. The vehicles capacity is seized by another object for the non-
transport activities.

Select Specific Vehicle

I have two different parts in my system and each part should be carried by a specific
vehicle. Therefore, the part will wait for a specific vehicle, even if other vehicles are
available.

Single Vehicle Usage

I have entities that require movement on a vehicle between operations. There is a


single vehicle that moves all entities. The vehicle can move up to 2 entities at a time
between the objects in the system. All paths are unidirectional.

Vehicle Finishes And Parks When Off Shift

I want a Transporter to follow the same Work Schedule as a Server in my system. If the
Server goes Off Shift when the Transporter is the middle of traveling on a link, the
Transporter should finish traveling to the end, park and stop working. When the Server
goes back On Shift, the Transporter will begin working where it left off. The Vehicle
objects capacity cannot be controlled by a Work Schedule so the Vehicles logic will be
suspended when the Server goes Off Shift and it will resume its logic when the Server
goes back On Shift.

Vehicle Fixed Route


I have a vehicle, such as a bus, that loops around a specific route picking up and
dropping off entities at varying locations.There are four specific pickup / drop-off
locations in the fixed route for the vehicle. Entities must wait at their pickup location
for the vehicle to come to them, based on the vehicles route sequence. Therefore,
entities are not picked up based on a first in first out basis for requesting the vehicle,
but are picked up based on the vehicles location on the route at the time. All entities
that are picked up at a given location are dropped off at a different,fixed location in
this example.

Vehicle Stops When Server Off Shift

I want a Transporter to follow the same Work Schedule as a Server in my system. The
Transporter should stop working immediately when the Server goes Off Shift. The
Vehicle objects capacity cannot be controlled by a Work Schedule so the Vehicles
logic will be suspended when the Server goes Off Shift and it will resume its logic when
the Server goes back On Shift.

Vehicle Travel In Free Space (from project Free Space Movement)

I would like to learn how a Vehicle can travel in Free Space.

Vehicle Visits Service Center

I want to model a system that contains a vehicle that is subject to random failures. And
upon failure, the vehicle finishes its delivery, if not idle, and then proceeds to a Service
Center to be repaired or serviced. There is only one Vehicle in the system.

Vehicle With Variable Ride Capacity

I have a vehicle that can pick up a variable number of entities at any given location,
based on a distribution. There is a single vehicle that can pick up anywhere from one to
five entities at Source1.

Vehicles Passing On Roadway

Model a simple version of a roadway with sections that allow passing and sections that
do not. There are separate Source/Path/Sink sets for each direction of the road.
Multiple vehicles can pass a vehicle simultaneously without regard for oncoming
traffic.

Worker
Move A Seized Object

I have seized a moveable resource and now Id like it to move to a couple of locations
within the model before I release the capacity of the resource.
Relational Tables In Repeating Property

I have three types of patients that require different processing times, as well as
multiple doctors and/or nurses for processing. Each of the three patient types will have
a nurse / doctor combination that determines both the name (doctor/nurse) and
quantity of each that is needed. More severe patients will have higher priority. There
will be one nurse and two doctors available to the patients.

Request Ride From Same Transporter

I have entities that select a transporter from a list, after being processed at a Server,
the entity must be picked up by the same transporter.

Single Worker Completes Process And Moves To Node

I want to model a system that has multiple Servers in series and requires a Worker to
be present at each Server before processing can occur. The worker completes work
across all servers for one entity before another entity can begin processing. Animation
should show the Worker moving between the two servers and parking at the
appropriate Server for processing. The Server and Worker should change color when
working. There is only one Worker in the system.

Table Reference In Repeating Property

I have three types of entities and want to store their respective information about
processing times, which worker to use and which assignments to make within a table.
There are three types of entities and each one has only one worker that it uses and has
only one assignment to make.

WF Additional Resource

I want to model the ability of some process-aware information systems to allocate a


work item to an additional resource.

WF Authorization

I want to model the ability of some process-aware information systems to specify the
range of authorized workers able for processing entities in a given server.

Worker Used For Multiple Tasks

I have a system where my worker is responsible for both transportation type tasks, as
well as inspection type tasks. Therefore, the worker must move entities from one
location to another, but also must be available at the inspection area to perform
stationary tasks. There is one worker who is responsible for both transport and
stationary tasks. The worker does not take breaks or go off-shift.

Worker Uses Work Schedule


I have a system where my worker is responsible for helping with operations at two
different locations. The worker takes breaks and goes off-shift based on a work
schedule. There is one worker who is responsible who performs stationary tasks at two
server locations. The worker goes on break at a different location.

Workers Arrive Late To Shift

I would like to model the fact that my Worker will sometimes arrive late to Shift.

Workstations
Financials

I would like my model to calculate costs, such as capital costs of objects, usage costs,
holding costs and the cost of transporting an entity on a vehicle.

Relational Tables In Repeating Property

I have three types of patients that require different processing times, as well as
multiple doctors and/or nurses for processing. Each of the three patient types will have
a nurse / doctor combination that determines both the name (doctor/nurse) and
quantity of each that is needed. More severe patients will have higher priority. There
will be one nurse and two doctors available to the patients.

Workstation With Material Consumption

I have a machine that uses some material and produces some material and Id like to
model the usage and production of the material. The source only produces 20 arrivals.
One bookshelf is created for every entity that enters the workstation and for each
bookshelf that is created, 8 nails are consumed and 2 pieces of wood. There are
initially 100 units of wood and 400 units of nails.

Workstation With Material Consumption And Replenish

I have a machine that uses some material and produces some material, and Id like to
provide replenishment of the material once depleted, and model this process.
(Enhancement of WorkstationWithMaterialConsumption.spfx). The source has infinite
arrivals. One bookshelf is created for every entity that enters the workstation and for
each bookshelf that is created, 8 nails and 2 pieces of wood are consumed. There are
initially 30 units of wood and 60 units of nails. Each time wood is depleted, we
replenish 40 of it; each time nails are depleted, we replenish 80 of them. Due to
different replenishment policies, the lead time of replenishment for wood and nails are
different.

Workstation With Sequence Dependent Setup


I have a Workstation that requires a certain setup time based on which entity type
needs to be processed. Each source only produces one type of entity. The model will
complete its run faster if the Workstation processes all entities of one type before
changing over to process entities of another type.

You might also like