Sim Mod Lab Manual
Sim Mod Lab Manual
LAB # 1
OBJECTIVE: To create an Arena model using flow chat modules and observe the
results of the simulation run.
THEORY:
Simulation is the imitation of the operation of a real-world process or system over time.
The act of simulating something first requires that a model be developed; this model
represents the key characteristics, behaviors and functions of the selected physical or
abstract system or process. The model represents the system itself, whereas the simulation
represents the operation of the system over time.
Modeling is a way to create a virtual representation of a real-world system that includes
software and hardware.
Computer simulation the use of a computer to represent the dynamic responses of one
system by the behavior of another system modeled after it. A simulation uses a
mathematical description, or model, of a real system in the form of a computer program.
This model is composed of equations that duplicate the functional relationships within the
real system. When the program is run, the resulting mathematical dynamics form
an analog of the behavior of the real system, with the results presented in the form of data.
A simulation can also take the form of a computer-graphics image that represents dynamic
processes in an animated sequence.
Examples of simulation
• Automobiles
• Biomechanics
• Communication satellites
• Economics
• Engineering, technology, and processes
• Finance
• Flight
• Marine
• Military
• Project management
• Robotics
• Production
to entities, flow, and timing, the precise representation of each module and entity relative
to real-life objects is subject to the modeler. Statistical data, such as cycle time and WIP
(work in process) levels, can be recorded and made output as reports.
Arena can be integrated with Microsoft technologies. It includes Visual Basic for
Applications so models can be further automated if specific algorithms are needed. It also
supports importing Microsoft Visio flowcharts, as well as reading from or sending output
to Excel spreadsheets and Access databases.
Arena modules
Create Module:
Description:
This module is intended as the starting point for entities in a simulation model. Entities are
created using a schedule or based on a time between arrivals. Entities then leave the module
to begin processing through the system. The entity type is specified in this module.
PROMPT:
Prompt Description:
Name— Unique module identifier. This name is displayed on the module shape.
Value— Determines the mean of the exponential distribution (if Random is used) or the
constant value (if Constant is used) for the time between arrivals. Applies only when Type
is Random or Constant.
Schedule Name— Identifies the name of the schedule to be used. The schedule defines
the arrival pattern for entities arriving to the system. Applies only when Type is Schedule.
Expression— Any distribution or value specifying the time between arrivals. Applies only
when Type is Expression.
Units— Time units used for interarrival and first creation times. Does not apply when Type
is Schedule.
Entities per Arrival— Number of entities that will enter the system at a given time with
each arrival.
Max Arrivals— Maximum number of arrivals that this module will generate. When this
value is reached, the creation of new arrivals by this module ceases.
First Creation— Starting time for the first entity to arrive into the system. Does not apply
when Type is Schedule.
EXAMPLE:
Prompt Entry
Name Accounts Receivable
Entity Type Document
Type Random
Value 8
Units Hours
Entities per UNIF(2,8)
Arrival
Max Arrivals Infinite
First Creation 4
The Accounts Receivable module will generate Document entities into the system based
on an Exponential distribution with a mean of 8 hours. The Entities Per Arrival is based on
a Uniform distribution between 2 and 8 documents. The result will be a expressed as a
whole number of entities (not a fraction). The first batch of documents is generated at 4
hours into the simulation run.
Prompt Entry
Name Incoming Support Calls
Entity Type Customer Call
Type Schedule
Schedule Name Spring Weekly Schedule
Entities per 1
Arrival
Max Arrivals Infinite
The Incoming Support Calls module generates customer calls into the simulation system.
The arrival rate of incoming customer calls varies over a given day, so a schedule is used
that will specify the mean of an exponential distribution based on the values in a schedule.
The Spring Weekly Schedule specifies the rate of incoming calls. Only one call is received
at a time (entities per arrival = 1). Also see the Arrival Schedule example in the Schedule
module.
Process Module:
Description:
This module is intended as the main processing method in the simulation. Options for
seizing and releasing resource constraints are available. Additionally, there is the option to
use a "submodel" and specify hierarchical user-defined logic. The process time is allocated
to the entity and may be considered to be value added, non-value added, transfer, wait or
other. The associated cost will be added to the appropriate category.
PROMPT:
Prompt Description:
Type—Method of specifying logic within the module. Standard processing signifies that
all logic will be stored within the Process module and defined by a particular Action.
Submodel indicates that the logic will be hierarchically defined in a "submodel" that can
include any number of logic modules.
Action—Type of processing that will occur within the module. Delay simply indicates that
a process delay will be incurred with no resource constraints. Seize Delay indicates that a
resource(s) will be allocated in this module and a delay will occur, but that resource release
will occur at a later time. Seize Delay Release indicates that a resource(s) will be allocated
followed by a process delay and then the allocated resource(s) will be released. Delay
Release indicates that a resource(s) has previously been allocated and that the entity will
simply delay and release the specified resource(s). Applies only when Type is Standard.
Priority—Priority value of the entity waiting at this module for the specified resource(s).
Used when one or more entities from other modules are waiting for the same resource(s).
Does not apply when Action is Delay or Delay Release, or when Type is Submodel.
Resources—Lists the resources or resource sets used for entity processing. Does not apply
when Action is Delay, or when Type is Submodel.
Resource Name—Name of the resource that will be seized and/or released. Applies only
when Type is Resource.
Set Name—Name of the resource set from which a member will be seized and/or released.
Applies only when Type is Set.
Save Attribute—Attribute name used to store the index number into the set of the member
that is chosen. This attribute can later be referenced with the Specific Member selection
rule. Applies only when Selection Rule is other than Specific Member. Does not apply
when Selection Rule is Specific Member. If Action is specified as Delay Release, the value
specified defines which member (the index number) of the set to be released. If no attribute
is specified, the entity will release the member of the set that was last seized
Set Index—The index number into the set of the member requested. Applies only when
Selection Rule is Specific Member. If Action is specified as Delay Release, the value
specified defines which member (the index number) of the set is to be released.
Allocation—Determines how the processing time and process costs will be allocated to
the entity . The process may be considered to be value added, non-value added, transfer,
wait or other and the associated cost will be added to the appropriate category for the entity
and process.
Minimum—Parameter field for specifying the minimum value for either a Uniform or
Triangular distribution.
Value—Parameter field for specifying the mean for a Normal distribution, the value for a
Constant time delay, or the mode for a Triangular distribution.
Maximum—Parameter field for specifying the maximum value for either a Uniform or
Triangular distribution.
Std Dev—Parameter field for specifying the standard deviation for a Normal distribution.
Report Statistics— Specifies whether or not statistics will automatically be collected and
stored in the report database for this process.
Prompt Entry
Name Check Processing
Type Standard
Action Delay
Delay Type Triangular
Units Minutes
Allocation Value Added
Minimum 30
Value (Most 45
Likely)
Maximum 60
The Check Processing area is an automatic process where no resources are necessary.
The process takes anywhere from 30 to 60 minutes, with a mode time of 45 minutes. This
is considered to be a value added process and the time incurred will be added to the
entity’s Entity.VATime (Value Added) attribute.
Prompt Entry
Name Review Document
Type Standard
Action Seize Delay
Release
Priority Medium(2)
Resources
Type Resource
Dispose Module:
Description:
This module is intended as the ending point for entities in a simulation model. Entity
statistics may be recorded before the entity is disposed.
PROMPT:
Prompt Description:
Model:
Create:
Process:
Dispose:
Running Model:
Report:
Entity:
Queue:
Resource:
Task: Observe the report and fill performance measurement table (PMT)
LAB # 2
OBJECTIVE: To define the replication in ARENA and plot different characteristics of entities
queue and resources.
THEORY
Replication: When simulation replications are run, a replication output directory is
created, and a replication status report will be generated.
Model:
Generate Replication
Step 1:
Step 2:
Step3
Generate plot
Step1:
Step2:
Step3:
Step4:
Step5:
Output:
Hint:Task#5
Hint:Task#5
TASK:
Task1: Plot at least one characteristics of queue, entities and resources
Task2: Make 5 replication of simulation run fill the PMT for each replications.
Task3: Change Arrivals from 5 to 2.5 then run the model for 5 replications and fill PMT
Task4: Change the length of model to 720min, inter-arrival time back to 5 and fill the
PMT.
Task5: Suppose that machine need to be setup for 2 min before processing each part.
Change the delay type and run length to 1440 min and fill PMT.
LAB # 3
Decide Module:
Description:
Decide modules can be added to the flowchart view via dragging and dropping (see Editing
Create Modules for a demonstration) and edited by double clicking on the module. There
are 4 types of Decide modules.
There are four types of Decide modules:
• 2-way by Chance
• 2-way by Condition
• N-way by Chance
• N-way by Condition
2-Way By Chance : This type of Decide module will route entities one of two ways
according to a given percentage. The percentage is specified by the user and relates to the
proportion of entities that are routed to the True exit point.
2-Way By Condition: This type of Decide module will route entities one of two ways
depending on the condition. There are multiple types of conditions.
Variable: Arena evaluates a variable-based expression and routes to the True exit point if
the expression is true or the False exit point otherwise
Attribute: Arena evaluates an attribute-based expression and routes to the True exit point
if the expression is true or the False exit point otherwise.
PROMPT:
Prompt Description:
Name—Unique module identifier. This name is displayed on the module shape.
Conditions – Defines one or more conditions used to direct entities to different modules.
Applies only when Type is N-way by Condition.
Percentages – Defines one or more percentages used to direct entities to different modules.
Applies only when Type is N-way by Chance.
Percent True—Value that will be checked to determine the percentage of entities sent out
a given true exit.
Named—Specifies either the name of the variable, attribute, or entity type that will be
evaluated when an entity enters the module. Does not apply when Type is Expression.
Is—Evaluator for the condition. Applies only to Attribute and Variable conditions
EXAMPLE:
Prompt Entry
Name Satisfied Customers
Type 2-way by Chance
Percent True 90
In this example, the Satisfied Customers module is being used to model whether or not a
customer (entity) is happy with their previous services. Approximately 90 percent of all
customers will be satisfied and will leave from the "true" exit at the right of the module.
The other 10 percent of unhappy customers will exit from the bottom "false" exit.
Prompt Entry
Name Choose Wait Room
Type 2-way by Condition
If Variable
Named Prod Maintenance Flag
Is ==
Value 0
In this example, the user defined variable, Prod Maintenance Flag, is used to determine
how entities should flow through the model. When the entity enters this Decide module,
the value of the variable is evaluated. If Prod Maintenance Flag equals 0, the entity will
be sent out the "true" exit, which directs it to another area in the model. If the variable
does not equal zero, the incoming entity will be sent out the "false" exit, which may be
connected to other system logic.
Prompt Entry
Name To ICU
Type By Condition
If Entity Type
Named Critical Patient
If Entity Type
Named Stable Patient
In this example, incoming entities are evaluated based on their entity type. This module
will send all Critical Patient entities out the first exit, which may send them to the ICU
area of the model. All Stable Patient entities are directed out the second exit. All patients
that are not critical or stable will be sent from the "else" exit at the bottom of the module
to some other area of processing.
Entity:
Arena will route all of entites of the specifed entity type to the True exit point and all other
entity types to the False exit point.
Consider the example of simluating an egg sorting factory. Suppose an egg can be a size 6
egg or a size 7 egg depending on its weight. If an egg has the Entity Type defined as 'size
6 egg' then that entity will be routed to the True exit point which leads to the Collection of
Size 6 Eggs while all other eggs are routed to the False exit point which leads to
the Collection of Size 7 Eggs.
Expression:
Arena evaluates the expression and routes to the True exit point if the expression is true or
the False exit point otherwise.
Consider the example of simulating the operations within an egg sorting factory over
several weeks. Employees are rostered to work Monday to Friday however employees do
not work on the weekend. The simluation must determine that it is not the weekend in order
to simulate employees arriving for work. we can determine if the day is Sunday = 1,
Monday = 2, etc (up to Saturday Day 7) the following Decide module could be used to
determine if the factory should open for business.
NB: In plain English the above expression says: If the current day of the week is less than
1 (which means it is a Sunday) or is greater than 7 (which means it is a Saturday) route to
the True exit point.
N-way by condition:
LAB TASK:
Task 1: Create part machine that works on part to decide whether they are good or bad.
Task 2: Decide if part is good, exit the system, if part is bad decide further.
a) Change entity picture.
Task3: Decide to trash the part or not.
If bad part is greater than 5 than trash and exit otherwise back to machine.
LAB # 4
Batch module:
Description:
This module is intended as the grouping mechanism within the simulation model. Batches can be
permanently or temporarily grouped. Temporary batches must later be split using the Separate
module.
Batches may be made with any specified number of entering entities or may be matched together
based on an attribute. Entities arriving at the Batch module are placed in a queue until the required
number of entities has accumulated. Once accumulated, a new representative entity is created.
TYPICAL USES:
PROMPT:
Prompt Description:
Name:Unique module identifier displayed on the module shape.
Rule:Determines how incoming entities will be batched. Any Entity will take the first “Batch
Size” number of entities and put them together. By Attribute signifies that the values of the
specified attribute must match for entities to be grouped. For example, if Attribute Name is Color,
all entities must have the same Color value to be grouped; otherwise, they will wait at the module
for additional incoming entities.
Attribute Name:Name of the attribute whose value must match the value of the other incoming
entities in order for a group to be made. Applies only when Rule is By Attribute.
Separate module:
Description:
This module can be used to either copy an incoming entity into multiple entities or to split a
previously batched entity. Rules for allocating costs and times to the duplicate are also specified.
Rules for attribute assignment to member entities are specified as well. When splitting existing
batches, the temporary representative entity that was formed is disposed and the original entities
that formed the group are recovered. The entities proceed sequentially from the module in the same
order in which they originally were added to the batch. When duplicating entities, the specified
number of copies is made and sent from the module. The original incoming entity also leaves the
module.
TYPICAL USES:
EXAMPLE:
Select batch--→type(temporary)
Record module:
Description:
This module is used to collect statistics in the simulation model. Various types of observational statistics
are available, including time between exits through the module, entity statistics (time, costing, etc.), general
observations, and interval statistics (from some time stamp to the current simulation time). A count type of
statistic is available as well. Tally and Counter sets can also be specified.
TYPICALUSES:
PROMPT:
Prompt Description:
Type:Type of observational (tally) or count statistic to be generated. Count will increase or decrease the
value of the named statistic by the specified value. Entity Statistics will generate general entity statistics,
such as
time and costing/duration information. Time Interval will calculate and record the difference between a
specified attribute’s value and current simulation time. Time Between will track and record the time
between
entities entering the module. Expression will record the value of the specified expression.
Attribute Name:Name of the attribute whose value will be used for the interval statistics. Applies only
when Type is Interval.
Value:Value that will be recorded to the observational statistic when Type is Expression or added to the
counter when Type is Count.
Tally Name:This field defines the symbol name of the tally into which the observation is to be recorded.
Applies only when Type is Time Interval, Time Between, or Expression.
Counter:This field defines the symbol name of the counter to Name increment/ decrement.
Applies only when Type is Counter.
Record into Set:Check box to specify whether or not a tally or counter set will be used.
Tally Set Name:Name of the tally set that will be used to record the observational-type statistic.
Applies only when Type is Time Interval, Time Between, or Expression.
Counter Set Name:Name of the counter set that will be used to record the count-type statistic.
Applies only when Type is Count.
Assign module:
Description:
This module is used for assigning new values to variables, entity attributes, entity types, entity pictures, or other
system variables. Multiple assignments can be made with a single Assign module.
TYPICAL USES:
• Accumulate the number of subassemblies added to a part
• Change an entity’s type to represent the customer copy of a multi-page form
• Establish a customer’s priority
PROMPT:
Prompt Description:
Name:Unique module identifier displayed on the module shape.
Assignments:Specifies the one or more assignments that will be made when an entity executes the
module.
Type:Type of assignment to be made. Other can include system variables, such as resource
capacity or simulation end time.
Variable Name:Name of the variable that will be assigned a new value when an entity enters the
module. Applies only when Type is Variable, Variable Array (1D), or Variable Array (2D).
Attribute Name:Name of the entity attribute that will be assigned a new value when the entity
enters the module. Applies only when Type is Attribute.
Entity Type:New entity type that will be assigned to the entity when the entity enters the module.
Applies only when Type is Entity Type.
Entity Picture:New entity picture that will be assigned to the entity when the entity enters the
module. Applies only when Type is Entity Picture.
Other:Identifies the special system variable that will be assigned a new value when an entity enters
the module. Applies only when Type is Other.
Step#1:Two create modules one for ordinary other for emergency cases.
See Result:
Description:
Invoices arrive in the billing department to be billed to the customer. At random, some of the
accounts are audited by a supervisor. The others are billed normally. Some of the invoices are for
commercial accounts, who have special contracts as to how they should be billed. These accounts
are handled in a different area than the normal bills. Once they are ready to be printed, However,all
print on the same printer and are mailed in the same way. After the bills go out the revenue and
sales figure are reported to accounting department. The Accounts receivable department also gets
a copy of the bill for future AR follow-up.
LAB # 5
Objective:Analyze Queue variables
QUEUE VARIABLES:
Description:
Arena provides variables to access information about the entities in each queue. Also, there is a
set of variables that directly access the attributes of entities contained in queues based on the entity
rank. The Queue ID is a queue name or number; it cannot be defaulted. Attribute ID is an attribute
name or number and also must be specified. Entity Number is the IDENT value of the desired
entity; a value must be provided for it as well. None of these variables are user-assignable. General
queue variables are:
ENTATRANK ( Rank, Queue ID )—Entity number of queued entity. ENTATRANK returns the
entity number (IDENT value) of the entity at the specified Rank in queue Queue ID.
FIRSTINQ ( Queue ID )—First entity number in queue. FIRSTINQ returns the entity number
(IDENT value) of the first entity in queue Queue ID.
LASTINQ ( Queue ID )—Last entity number in queue. LASTINQ returns the entity number
(IDENT value) of the last entity in queue Queue ID.
NQ ( Queue ID )—Number in queue. NQ returns the number of entities in queue Queue
Example:Access one of the two available civil servants based on the number of people in the
queue.using(NQ)
Step:1 Create an entity
Step:4 If condition is true then it will move towards the true exit point process box.(e.g:Ahmed
office)else to false exit point process box( e.g:Hamza office).
Step:5 Now after processing exit from the system using dispose box.
LAB # 6
OBJECTIVE : To create an Arena model using Data modules and observe the results of the
simulation run
Entity Module :
Description:
This data module defines the various entity types and their initial picture values in a
simulation. Initial costing information and holding costs are also defined for the entity.
PROMPT:
Prompt Description:
Design various entity types, pictures and their initial costing information.
Holding Cost Hour: Hourly cost of processing through system, this entity is incurred
when entity is anywhere in the system.
Initial VA(value added) Cost: Stores the total cost accumulated in process and delays
when the entity are recorded.
Value Added Time/Cost: Directly contributes value to the entity during the activity for
example insertion of components on a circuit board add values to the final product.
Non Value Added Time/Cost: Does not directly contributes value to the entity during
the activity. The preparation of the material needed to insert components to the board.
Initial Waiting Cost: Costs increased when an entity spend time in waiting activity e.g.
batch or wait for resource at a process model.
Initial Transfer Cost: When entity spend time in transfer. e.g model to sub model
Example:
Prompt Entry
Entity Type Unhappy Customers
Initial Picture Sad Faces
Holding Cost/Hour 1.5
Initial Value Added 5
Cost
Initial Non-Value 0.0
Added Cost
Initial Waiting Cost 10
Initial Transfer Cost 0.0
Initial Other Cost 0.0
In this example, the Unhappy Customers will have an initial picture of Sad Faces when
they are generated. Their holding costs will be $1.50/hour, while their initial VA and wait
costs are $5 and $10, respectively. There are no initial NVA, Transfer or Other cost.
Screen Shot:
Queue Module:
Description:
This data module defines the queues in the simulation system. You can use it to change the
ranking rule for a specified queue. The default ranking rule for all queues is First In First
Out (FIFO) unless otherwise specified in this module. There is an additional field that
allows the queue to be defined as shared. Used to change ranking rule for the specified
queue.
PROMPT:
Prompt Description:
Type: FIFO, LIFO, Lowest Attribute Value, Highest Attribute Value.
Attribute Name: Entities with lowest or highest values of attribute will be ranked first in
queue.
Shared: Determine whether a specific queue is used in multiple places with in simulation
model (used in seize model in Advance Processes panel).
Example:
Prompt Entry
Name Complete Order
Type Highest Attribute Value
Attribute Name WaitTime
Shared Unchecked
The Complete Order queue is specified in this example with a ranking rule of Highest
Attribute Value, based on the WaitTime attribute. WaitTime is a cumulative value of the
amount of time the entity has spent waiting in queues during the simulation run. When an
entity enters this queue, if there are other entities waiting, they will be ranked based on the
highest value of WaitTime. Those entities that have been waiting in queues the longest will
be serviced first. If there is a tie between entities, the entities will be ranked First In First
Out.
Screen Shot:
Resource Module:
Description:
This data module defines the resources in the simulation system, including costing
information and resource availability. Resources may have a fixed capacity that does not
vary over the simulation run or may operate based on a schedule. Resource failures and
states can also be referenced in this module for use with the Advanced Process and
Advanced Transfer Panel (not available in Arena Basic Edition).
PROMPT:
Prompt Description:
Name: The name of the resource whose characteristics are being defined. This name must
be unique.
Type: Method for determining the capacity for a resource. Fixed Capacity will not change
during the simulation run. Based on Schedule signifies that a Schedule module is used to
specify the capacity and duration information for the resource.
Capacity: Number of resource units of a given name that are available to the system for
processing. Applies only when Type is Fixed Capacity.
Schedule Name: Identifies the name of the schedule to be used by the resource. The
schedule defines the capacity of a resource for a given period of time. Applies only when
Type is Schedule.
Schedule Rule: Dictates when the actual capacity change is to occur when a decrease in
capacity is required for a busy resource unit. Applies only when Type is Schedule.
Ignore— starts the time duration of the schedule change or failure immediately, but
allows the busy resource to finish processing the current entity before effecting the
capacity change.
Wait— waits until the busy resource has finished processing the current entity before
changing the resource capacity or starting the failure and starting the time duration of
the schedule change/failure.
Busy/Hour: Cost per hour of a resource that is processing an entity. The resource becomes
busy when it is originally allocated to an entity and becomes idle when it is released. During
the time when it is busy, cost will accumulate based on the busy/hour cost. The busy cost
per hour is automatically converted to the appropriate base time unit specified within the
Replication Parameters page of the Run/Setup menu item.
Idle/Hour: Cost per hour of a resource that is idle. The resource is idle while it is not
processing an entity. During the time when it is idle, cost will accumulate based on the
idle/hour cost. The idle cost per hour is automatically converted to the appropriate base
time unit specified within the Replication Parameters page of the Run/Setup menu item.
Per Use:Cost of a resource on a usage basis, regardless of the time for which it is used.
Each time the resource is allocated to an entity, it will incur a per use cost.
StateSet Name:Name of set of states that the resource may be assigned during the
simulation run. This property is not available in Arena Basic Edition.
Initial State: Initial state of a resource. If specified, the name must be defined within the
repeat group of state names. This field is shown only when a StateSet Name is defined.
Failures: Lists all failures that will be associated with the resource. This property is not
available in Arena Basic Edition.
Failure Rule: Dictates the behavior that should occur when a failure is to occur for a busy
resource unit.
EXAMPLE:
In this example, there are 5 machine resources in the system at all times. They have a $5
per usage cost, which may represent a setup cost per entity. When a machine is busy, its
costing rate is $25/hour. When idle, a machine’s costing rate drops to $10/hour.
Prompt Entry
Name Accountants
Type Based on
Schedule
Schedule Daily Schedule
Schedule Rule Ignore
Busy/Hour 30
Idle/Hour 30
Per Use 0
StateSet Name
Failures
There are a variable number of accountants available to the simulation system. Depending
on the capacity and duration values defined in the schedule named Daily Schedule, the
number of accountants will change over time. See the Schedule module Resource Schedule
example for more information.Whether an accountant is busy or idle, their costing rate is
$30/hour. There is no per usage cost associated with using an accountant resource.
The Ignore value for the Schedule Rule indicates that when accountants reach the time for
a schedule change, they will complete what they are doing prior to making the schedule
change. For more information about schedule rules, see Resource Module— Remarks.
Screen Shot:
Schedule Module:
Description:
This data module may be used in conjunction with the Resource module to define an
operating schedule for a resource or with the Create module to define an arrival schedule.
Additionally, a schedule may be used and referenced to factor time delays based on the
simulation time. Duration formatted schedules are defined within this module. Calendar
formatted schedules are defined by selecting the Calendar Schedules, Time Patterns
command from the Edit menu.
PROMPT:
Prompt Description:
Name:The name of the schedule being defined. This name must be unique.
Type:Type of schedule being defined. This may be Capacity related (for resource
schedules), Arrival related (for the Create module), or Other (miscellaneous time delays or
factors).
Time Units:Time units used for the time duration information.
Scale Factor: Method of scaling the schedule for increases or decreases in Arrival/Other
values. The specified Value fields will be multiplied by the scale factor to determine the
new values. Not available for Capacity type schedules.
Durations:Lists the value and duration pairs for the schedule. Values can be capacity,
arrival or other type values, while the duration is specified in time units. Schedule pairs
will repeat after all durations have been completed, unless the last duration is left blank
(infinite). Schedule data can be entered graphically using the graphical schedule editor or
manually using the Value/Duration fields.
Value (Capacity):Represents either the capacity of a resource (if Type is Capacity), arrival
rate (if Type is Arrival) or some other value (if Type is Other). Examples of other may be
a factor that is used in a delay expression to scale a delay time during various parts of the
day.
Duration:Time duration for which a specified Value will be on—Time duration for which
a specified Value will be valid.
Prompt Entry
Name Daily Schedule
Type Capacity
Prompt Entry
Name Spring Weekly
Schedule
Type Arrival
Time Units Days
Scale Factor 1
Value 25, 40, 55, 70, 60, 20, 5
Duration 1, 1, 1, 1, 1, 1, 1
The Spring Weekly Schedule demonstrates the use of an Arrival type schedule. Each data
set in the arrival schedule specifies Value entity arrivals per hour over the time Duration.
An exponential distribution is used to evenly distribute the Value arrivals over each hour.
Assuming the hours per day is 24, Spring Weekly Schedule states that approximately 600
entities will arrive within the first day (25 arrivals/hour x 24 hours/day), 960 the second
day, 1320 the third day, 1680 the fourth, 1440 the fifth, 480 during the sixth, and 120 during
the last day.The Scale Factor in this example is set to 1. To increase the arrival rate by 10%,
the scale factor can be set to 1.1, while specifying a scale factor of 0.9 will decrease the
arrival rate by 10%.
Screen Shot:
Set Module:
Description:
This data module defines various types of sets, including resource, counter, tally, entity
type and entity picture. Resource sets can be used in the Process (and Seize, Release, Enter
and Leave of the Advanced Process and Advanced Transfer panels) modules. Counter and
Tally sets can be used in the Record module. Queue sets can be used with the Seize, Hold,
Access, Request, Leave and Allocate modules of the Advanced Process and Advanced
Transfer panels.
PROMPT:
Prompt Description:
Name: The name of the set being defined. This name must be unique.
Type: Type of set being defined.
Members: Lists the resource, counter tally, entity type or entity picture members within the
set.
Resource Name: Name of the resource within the resource set. Applies only when Type is
Resource
Tally Name: Name of the tally within the tally set. Applies only when Type is Tally.
Counter Name: Name of the counter within the counter set. Applies only when Type is
Counter.
Entity Type: Name of the entity type within the entity type set. Applies only when Type is
Entity Type
Picture Name: Name of the picture within the picture set. Applies only when Type is Entity
Picture.
EXAMPLE:
Prompt Entry
Name Shift 1 Operators
Type Resource
Resource Name Joe, Mary, Fred, Sue
In this example, the Shift 1 Operators set contains four resources, Joe, Mary, Fred and Sue.
Any of these members may also be contained within other sets. The rule for selecting
among the available set members is specified within the Process module. In the case of the
Preferred Order rule, Joe will be selected before Mary, Mary before Fred and Fred before
Sue should they be available. In the case of the Cyclical rule, the resources will be selected
in the specific order listed, Joe–Mary–Fred–Sue–Joe–Mary–Fred–Sue, etc. if they are
available. The order in which the members are listed does not affect other selection rules.
Prompt Entry
Name EmergencyStaff
Type Resource
Linked File ResourceDataInput
Linked Recordset EstaffRecSet
In this example, EmergencyStaff is a set of 50 resources. The set members are defined
from the file called ResourceDataInput. The recordset called EstaffRecSet contains this
data:
Col 1
Row 1 Physician 1
Row 2 Physician 2
Row 3 Physician 3
… …
Row 50 Patient Registrar 2
The model reads values in for the resource set members as follows: The first Set member
is Physician 1, the second set member is Physician 2, …, the last set member is Patient
Registrar 2.
The model reads values in for the resource set members as follows: The first Set member
is Physician 1, the second set member is Physician 2, …, the last set member is Patient
Registrar 2.
Screen shot:
Model:
1)
2)
3)
4)
5)
LAB# 7
Station module:
Description:
The Station module defines a station (or a set of stations) corresponding to a physical or logical
location where processing occurs. If the Station module defines a station set, it is effectively
defining multiple processing locations.
The station (or each station within the defined set) has a matching Activity Area that is used to
report all times and costs accrued by the entities in this station. This Activity Area’s name is the
same as the station. If a parent activity area is defined, then it also accrues any times and costs by
the entities in this station.
TYPICAL USES
PROMPT:
Prompt Description:
Station Type—Determines the type of station, either an individual station or a set of stations.
Station Name—Defines the symbol name of the station that is associated with this entrance point.
Report Statistics—Specifies whether or not statistics will automatically be collected and stored
in the report database for this station and its corresponding activity area.
Set Name—Defines the symbol name of the station set that is associated with this entrance point.
Station Name—The name of a station that is to be a member of this station set. A given station
can only exist within a model once. Therefore, an individual station can only be the member of
one station set, and that individual station may not be the name of a station in another module.
Parent Activity Area—Name of the Activity Area’s parent for the station set member.
Associated Intersection—Name of the intersection associated with this station set in a guided
transporter network.
Report Statistics—Specifies whether or not statistics will automatically be collected and stored
in the report database for this station set member and its corresponding activity area
Prompt Entry
Name Station 5
Station Type Station
Station Name Hamza
This module defines the location to which all entities are to be sent that are transferred to the station
named Hamza.
Prompt Entry
Name ABC Station Set
Station Type Set
Set Name ABC
Stations A1, A2, A3
This example defines a Station module that uses station set ABC. ABC contains three individual
stations, A1, A2 and A3. All entities that are transferred to any member of the station set ABC are
sent to this module.
Route module:
Description:
The Route module transfers an entity to a specified station, or the next station in the station
visitation sequence defined for the entity. A delay time to transfer to the next station may be
defined.When an entity enters the Route module, its Station attribute (Entity.Station) is set to the
destination station. The entity is then sent to the destination station, using the route time specified.If
the station destination is entered as By Sequence, the next station is determined by the entity’s
sequence and step within the set (defined by special-purpose attributes Entity.Sequence and
Entity.Jobstep, respectively).
TYPICAL USES:
• Send a part to its next processing station based on its routing slip
• Send an account balance call to an account agent
• Send restaurant customers to a specific table.
PROMPT:
Prompt Description:
Route Time—Travel time from the entity’s current location to the destination station
Attribute Name—Defines the name of the attribute that stores the station name to which entities
will route.
Expression—Defines an expression that is evaluated to the station where entities will route.
Prompt Entry
Name Route to Lab
Route Time 10 seconds
Destination Type Station
Station Name Lab
In this example, the entity is routed to the station named Lab. The delay time for the entity to
arrive at the Lab station is based on 10 seconds time units.
Example:Restaurant System:
Screen shots:
Task: Design a model that demonstrate activities at a typical hospital. Including triage, reception and
beds.
LAB#8
Hold module:
DESCRIPTION:
This module will hold an entity in a queue to wait for a signal, wait for a specified condition to
become true (scan), or be held infinitely (to be removed later with the Remove module).If the
entity is holding for a signal, the Signal module is used elsewhere in the model to allow the entity
to move on to the next module. If the entity is holding for a given condition to be true, the entity
will remain at the module (either in a defined or internal queue) until the condition(s) becomes
true. When the entity is in an infinite hold, the Remove module is used elsewhere in the model to
allow the entity to continue processing.
TYPICAL USES:
PROMPTS:
Prompt Description:
Name:Unique module identifier displayed on the module shape.
Type:Indicates the reasoning for holding the entity within a specified or internal queue. Wait for
Signal will hold the entity until a signal of the same value is received. Scan for Condition will hold
the entity until the specified condition becomes true. Infinite Hold will hold the entity until it is
removed from the queue by a Remove module.
Wait for Value:Signal code for the waiting entity. Applies only when Type is Wait for Signal.
Limit:Maximum number of waiting entities that will be released upon receipt of a signal. Applies
only when Type is Wait for Signal.
Condition:Specifies the condition that will be evaluated to hold the entity at the module. If the
condition is evaluated to true, the entity leaves the module immediately. If the condition is false,
the entity will wait in the associated queue until the condition becomes true. Applies only when
Type is Scan for Condition.
Queue Type:Determines the type of queue used to hold the entities. If Queue is selected, the queue
name is specified. If Set is selected, the queue set and member in the set are specified. If Internal
is selected, an internal queue is used to hold all waiting entities. Attribute and Expression are
additional methods for defining the queue to be used.
Queue Name:This field is visible only if Queue Type is Queue, and it defines the
symbol name of the queue.
Set Name:This field is visible only if Queue Type is Set, and it defines the queue
set that contains the queue being referenced.
Prompt Entry
Name Hold for Approval
Type Wait for Signal
Wait for Value 10
Limit 1
Queue Type Queue
Queue Name Approval.Queue
In this example, the Hold for Approval module will hold entities in the Approval.Queue until a
signal is received from another entity in the module. The entities entering this module will wait
for the signal 10. When a signal is received, only one (1) entity will be released from the queue.
Prompt Entry
Name Wait to Proceed
Type Scan for Condition
Condition State(Payroll Worker)
== Idle
Queue Type Queue
Queue Name Wait.Queue
Entities wait in the Wait.Queue until the state of resource Payroll Worker is IDLE. When this scan
condition is true, an entity is released from the queue and sent to the next module.
Prompt Entry
Name Emergency Room
Type Infinite Hold
Queue Type Queue Set
Set Name ER Set
In this example, incoming entities are placed into one of the queues in the ER Set, based on their
Patient Type. Patient Type is an attribute assigned to each entity earlier in the model. Entities will
wait in the Emergency Room module in queue until they are removed from the queue by an entity
from a Remove module
Signal module:
DESCRIPTION:
The Signal module sends a signal value to each Hold module in the model set to Wait for Signal
and releases the maximum specified number of entities.When an entity arrives at a Signal module,
the signal is evaluated and the signal code sent. At this time, entities at Hold modules that are
waiting for the same signal are removed from their queues. The entity sending the signal continues
processing until it encounters a delay, enters a queue, or is disposed.
TYPICAL USES
• Analyzing traffic patterns at an intersection (signal when the light turns green)
• Signaling an operator to complete an order that was waiting for a component part.
PROMPT:
Prompt Description:
Limit—Maximum number of entities that are to be released from any Hold modules when the
signal is received.
Prompt Entry
Name Send Signal
Signal Value 10
Limit
In this example, the signal code 10 to all the Hold modules in the model. All entities waiting for
the signal 10 will be released unless the individual Hold modules limit the number of entities being
released.
Prompt Entry
Name Go Ahead
Signal Value Entity.SerialNumber
Limit 1
In this example, the entity will send a signal based on the value of its attribute Entity.SerialNumber.
Entities waiting in Hold modules for the same signal value will be released when the signal is sent.
There is a limit on the signal, meaning that only one entity may be released from a Hold module,
should multiple entities be waiting for the sent signal. The entity waiting the longest will be
released.
EXAMPLE:
Entities are created and wait in the Hold 1.Queue until a signal of 10 is received. After the signal
is sent, the entities proceed to the next module. An entity is created every 60 minutes. That entity
then sends a Signal of 10 to the Hold module. When the Hold module receives this signal, it
releases 1 entity to continue through the rest of the system.
Task:
1.Factory repairs two different types of transport parts, as factory has only one machine, so gear parts
have to wait until half of the radiators get processed. Select appropriate hold type for it and implement
the scenario. Design your own entity pictures for both parts.
2. 500 students are coming to the lab for giving Viva, they are not allowed to get entered if there are
already four students present in the queue. After giving Viva, majority of them are going to give theory
exam and rest of them will leave for the car parking area. Also record statistics of the students regarding
no. of students leaving for parking area. Use route and station modules where required.
LAB#9
Search module:
Description:
The Search module searches a queue, a group (batch) or an expression to find the entity rank (for
entities in a queue or group) or the value of the global variable J that satisfies the specified search
condition. When searching a queue or group, the value of the global system variable J is set to the
rank of the first entity that satisfies Search Condition, or to 0 if Search Condition is not satisfied.
When searching an expression, the global system variable J is set to the value of the first index
value that satisfies the search condition or to zero if no value of J in the specified range satisfies
search condition.
When an entity arrives at a Search module, the index J is set to the starting index and the search
condition is then checked. If the search condition is satisfied, the search ends and the current value
of J is retained. Otherwise, the value of J is increased or decreased and the condition is rechecked.
This process repeats until search condition is satisfied or the ending value is reached. If the
condition is not met or there are no entities in the queue or group, J is set equal to 0.
TYPICAL USES:
• Looking for a particular order number in a queue
• Searching a group for a certain part type
• Determining which process to enter based on availability of resources (search an
expression)
PROMPT:
Prompt Description:
Type—Determination of what will be searched. Search options include entities in a queue, entities
within a group (batch) or some expression(s).
Queue Name—Name of the queue that will be searched. Applies only when the Type is Search a
Queue
Starting Value—Starting rank in the queue or group or starting value for J in an expression.
Ending Value—Ending rank in the queue or group or ending value for J in an expression
Prompt Entry
Name Find Lightest Package
Type Search a Queue
Queue Name Package.Queue
Starting Value 1
Ending Value NQ
Search Condition MIN(Weight)
In this example, the Find Lightest Package module will search a queue. A search is made of all entities in
queue Package.Queue to find the entity that contains the minimum value of attribute Weight
Pickup module:
Description:
The Pickup module removes a number of consecutive entities from a given queue starting at a
specified rank in the queue. The entities that are picked up are added to the end of the incoming
entity’s group. Entities that are picked up are added to the temporary group of the incoming entity.
Once an entity is added to the temporary group, it will have its time and cost data updated
automatically as it moves through an processing steps in the simulation.
TYPICAL USES:
PROMPT:
Prompt Description:
Queue Name—Name of the queue from which the entities will be picked up, starting at the
specified rank.
Starting Rank—Starting rank of the entities to pick up from the queue, Queue Name
Prompt Entry
Name Pickup Forms
Quantity 1
Queue Name Forms.Queue
Starting Rank 1
The entity entering this Pickup Forms module will pick up the first entity in queue Forms.Queue
and add the entity to the end of the group.
Prompt Entry
Name Get Red Ones
Quantity 1
Queue Name All Colors.Queue
Starting Rank J
This module takes one entity from the All Colors.Queue and adds it to the group. The rank of the
entity that is selected is based on the value of the global system variable, J. Typically, the value
of J is set by using a Search module. The Search module will first search the queue for a given
set of conditions, such as for a specific value of an attribute of an entity in the queue.
Description:
The Dropoff module removes a specified number of entities from the entity’s group and sends
them to another module, as specified by a graphical connection. Group user-defined attribute
value and internal attributes may be given to the dropped-off entities based on a specified rule.
There are two exit points from this module. Original incoming entities will exit from the exit
point at the middle right of the module. The entities that are dropped off (members) from this
module will exit from the bottom right of the module
TYPICAL USES:
• Loading shelves with product
• Separating a form for use in various departments
PROMPTS:
Prompt Description:
Starting Rank:Starting rank of the entities to be dropped off, based on the entities in the
group.
NG Variable:
The variable NG evaluates the group size for the current entity. This value can be used to drop off
all entities in a group and have the representative entity continue elsewhere. Other variables are
available to find the entity number and attribute values of grouped entities.
Example 1—One Entity/Retain Original Entity Values
Prompt Entry
Name To Accounting
Quantity 1
Starting Rank 1
Member Retain Original Entity
Attributes Values
In this example, the representative entity will drop off the first entity in the group to a specified
location. The entity will retain its original entity values, such as Entity.Type, Entity.CreateTime
and user-defined attributes. Cost attributes were updated as the entity went through any processes
while being a group member (see remarks below). Time attributes will reflect any new times that
the entity has incurred as a part of the group.
Prompt Entry
Name Stock Shelves
Quantity NG - 1
Starting Rank 2
Member Take Specific
Attributes Representative Values
Attribute Name Color
In this example, the representative entity will drop off all but one of the entities in the group (NG
is the number in the group), starting at rank 2 the second entity that entered the group. The member
entities that are dropped off will take on the "color" attribute of the representative entity, but they
will retain all of their other original entity values. As with example 1, cost attributes were updated
as the entity went through any processes while being a group and time attributes will reflect any
new times that the entities incurred as parts of the group.
Design a model of public bus transportation simulates a bus that moves between different points
,picking up and dropping off passengers.
LAB#10
Seize module:
Description:
The Seize module allocates units of one or more resources to an entity. The Seize module may be
used to seize units of a particular resource, a member of a resource set, or a resource as defined
by an alternative method, such as an attribute or expression.
When an entity enters this module, it waits in a queue (if specified) until all specified resources
are available simultaneously. Allocation type for resource usage is also specified.
TYPICAL USES:
PROMPT:
Prompt Description:
Name—Unique module identifier. This name is displayed on the module shape.
Allocation—Determines what category the resource usage cost will be allocated to for an entity
going through the Seize module. (See Remarks).
Priority—Priority value of the entity waiting at this module for the resource(s) specified if one
or more entities from other modules are waiting for the same resource(s).
Type—Type of resource for seizing, either specifying a particular resource, or selecting from a
pool of resources (i.e., a resource set). The name of the resource may also be specified as an
attribute value or within an expression.
Set Name—Name of the resource set from which a member will be seized.
Attribute Name—Name of the attribute that stores the resource name to be seized.
Units to Seize—Number of resource units of a given name or from a given set that will be seized.
For sets, this value specifies only the number of a selected resource that will be seized (based on
the resource’s capacity), not the number of members to be seized within the set.
Selection Rule—Method of selecting among available resources in a set. Cyclical will cycle
through available members (1-2-3-1-2-3). Random will randomly select a member. Preferred
Order will always select the first available member (1 if available, then 2 if available, then 3).
Specific Member requires an input attribute value to specify which member of the set (previously
saved in the Save Attribute field). Largest Remaining Capacity and Smallest Number Busy are
used for resources with multiple capacity.
Save Attribute—Attribute name used to store the index number into the set of the member that is
chosen. This attribute can later be referenced with the Specific Member selection rule.
Set Index—Index value into the set that identifies the number into the set of the member requested.
If an attribute name is used, the entity must have a value for the attribute before utilizing this
option.
Resource State—State of the resource that will be assigned after the resource is seized. The
resource state must be a defined with the Resource module.
Queue Name—This field is visible only if Queue Type is Queue, and it defines the symbol name
of the queue.
Set Name—This field is visible only if Queue Type is Set, and it defines the queue set that contains
the queue being referenced
Set Index— This field is visible only if Queue Type is Set, and it defines the index into the queue
set. Note that this is the index into the set and not the name of the queue in the set. For example,
the only valid entries for a queue set containing three members is an expression that evaluates to
1, 2, or 3.
Attribute—This field is visible only if Queue Type is Attribute. The attribute entered in this field
will be evaluated to indicate which queue is to be used.
Expression—This field is visible only if Queue Type is Expression. The expression entered in
this field will be evaluated to indicate which queue is to be used.
Prompt Entry
Name Office Visit
Allocation Value Added
Priority High (1)
Resource Type Resource
In this example, entities wait in the Office Visit.Queue until one Doctor and two Nurse resources
are available. Entities that are waiting in the queue at this Seize module have priority over any
entities waiting for the same resources with a priority larger than 1. When the resources are seized,
the state of the resources will be Busy, as there is no other state specified.
Prompt Entry
Name Bank Entry
Allocation Wait
Priority Medium (2)
Resource Type Set
Set Name Bank Tellers
Selection Rule Cyclical
Save Attribute Worker#
Queue Type Queue
Queue Name Bank Entry.Queue
One of the Bank Tellers is required for processing the entity at this module. If more than one bank
teller is available, the tellers will service entities in a cyclical fashion. Information about the bank
teller that was seized is stored in the entity’s attribute, Worker#. This attribute stores the index into
the Bank Tellers set of the resource that was seized.
Release module:
Description:
The Release module is used to release units of a resource that an entity previously has seized. This
module may be used to release individual resources or may be used to release resources within a
set. For each resource to be released, the name and Units to Release are specified.
When the entity enters the Release module, it gives up control of the specified resource(s). Any
entities waiting in queues for those resources will gain control of the resources immediately.
When an entity arrives at a Release module, the status of the resource is changed from busy to idle
for each resource that is released. The released units are then available for reallocation to entities
waiting at Seize or Process module. If a failure or schedule capacity change is pending, then the
released units are temporarily removed from the system.
TYPICAL USES:
PROMPT:
Prompt Description:
Type—Type of resource for releasing, either specifying a particular resource, or selecting from a
pool of resources (i.e., a resource set). The resource name may also be specified by an expression
or attribute value.
Set Name—Name of the resource set from which a member will be released.
Attribute Name—Name of the attribute that specifies the resource name to be released.
Expression—Name of the expression that specifies the name of the resource to be released.
Units to Release— Number of resource units of a given name or from a given set that will be released. For
sets, this value specifies only the number of a selected resource that will be released (based on the resource’s
capacity), not the number of members to be released within the set.
Release Rule—Method of determining which resource within a set to release. Last Member Seized
and First Member Seized will release the last / first member from within the set that was seized.
Specific member indicates that a member number or attribute (with a member number value) will
be used to specify the member to release.
Set Index—Member index of the resource set that the entity will release.
Prompt Entry
Name Get Waiter
Type Resource
Resource Name Waiter
Units to Release 1
In this example, one unit of the resource Waiter is released. If any entities are waiting for the
resource Waiter, the resource is allocated to the entity with the highest priority.
Prompt Entry
Name Release Teachers
Type Set
Set Name Teachers
Units to Release Qty
Release Rule First Member
Seized
In this example, the member of the resource set Teachers that the entity first seized will be released.
The value of the attribute Qty is the number of resource units that will be released.
Example:
Parts arrive to the machine center and require both an operator and machine to start processing.
The operator is then released and the part continues processing on the machine.
Task:
Design a model that demonstrate activities at a typical hospital. Including triage, reception and
patient beds. Make use of seize, delay and release module wherever its required.
LAB#11
Gather module:
Description:
The Gather module allocates units of one or more resource set members to an entity. When an
entity arrives at a Gather module, Arena attempts to allocate the Minimum Required units and up
to the Maximum desired units (if specified). The entity will only be placed in queue (specified or
internal) for the Minimum Required units.
If the Save Attribute operand is specified, Arena will assign the entity attribute value to the number
of resource units that were seized for the Gather. This value may be useful when defining the
delay time expression, which may be dependent on the number of resources units seized.
The Priority operand is used to allocate resource units among competing Gather and Seize blocks
when entities are waiting for units of the same resource at more than one Gather and Seize module.
Entities at Seize or Gather modules with lower-value priorities have priority over those entities at
Seize or Gather modules with higher-value priorities. Arena interprets priorities with negative
values as having a value of 0.0.
If multiple entities try to Seize or Gather the same resource set with equal priorities, Arena chooses
an entity based on the longest time waiting. Therefore, in the case of a tie on priority, the entity
which was in the queue longest will gather the resource set first.
Resources acquired through the Gather module are considered busy, just as they are when an entity
uses a Seize module.
Unlike the Seize module, the Gather module allows an entity to seize units from multiple members
of a specified resource set. The Seize module, when Type is specified as Set, can only seize the
specified units from one member of the specified resource set.
PROMPT:
Prompt Description:
Allocation— Specifies the category in which usage costs for all resource set members gathered
should be stored.
Priority—Priority value of the entity waiting at this module for the resource(s) specified if one or
more entities from other modules are waiting for the same resource(s).
Set Type— Type of resource set for gathering, either specifying a particular resource set, or
specifying the name of the resource set as an attribute value or an expression.
Save Attribute— Name of the attribute that stores the number of resource units seized.
Resource Set Name— Name of the resource set name to be gathered. Applies only when Set Type
is Set.
Attribute Name— Name of the attribute that stores the resource set name to be gathered. Applies
only when Set Type is Attribute.
Expression— Expression that evaluates to a resource set name to be gathered. Applies only when
Set Type is Expression.
Resource State—State of the resource that will be assigned after the resource set member(s) are
gathered. The resource state must be a defined with the Resource module.
Queue Type—Determines the type of queue used to hold the entities while waiting to gather the
resource unit(s). If Queue is selected, the queue name is specified. If Set is selected, the queue set
and member in the set are specified. If Internal is selected, an internal queue is used to hold all
waiting entities. Attribute and Expression are additional methods for defining the queue to be used.
Queue Name—This field is visible only if Queue Type is Queue, and it defines the symbol name
of the queue.
Set Name—This field is visible only if Queue Type is Set, and it defines the queue set that contains
the queue being referenced.
Set Index— This field is visible only if Queue Type is Set, and it defines the index into the queue
set. Note that this is the index into the set and not the name of the queue in the set. For example,
the only valid entries for a queue set containing three members is an expression that evaluates to
1, 2, or 3.
Attribute—This field is visible only if Queue Type is Attribute. The attribute entered in this field
will be evaluated to indicate which queue is to be used.
Expression—This field is visible only if Queue Type is Expression. The expression entered in this
field will be evaluated to indicate which queue is to be used.
Prompt Entry
Priority 1
Resource Set Name Hospital Staff Set
Minimum Required Units 3
Unit Selection Rule POR
Queue Type Internal
Entities wait in an internal queue at this GATHER module until three units of the resource set
Hospital Staff Set become available. The Units are allocated using the Preferred Order Unit
Selection Rule.
Disperse module:
Description:
The Disperse module is used when an entity is ready to release some or all of the units of the
resource set members that were seized using a Gather module or the GATHER block. The
resource set can be specified as a resource set name or by specifying the name as an attribute or an
expression. The Units to Disperse specifies the number of units of the resource set members that
are to be dispersed. If no value is specified for Units to Disperse (default) then all units from the
set that are still gathered will be dispersed. The Release Order Rule specifies the order in which
the units will be released. Last Seized First Released will release units in the reverse order from
which they were seized. The last unit sized will be the first to be released. First Seized First
Released will release units in the order that they were seized. The first unit seized will be the first
to be released.
PROMPT:
Prompt Description:
Type— Type of resource set for dispersing, either specifying a particular resource set, or
specifying the name of the resource set as an attribute value or an expression.
Attribute Name—Name of the attribute that specifies the resource set name to be dispersed.
Expression—Name of the expression that specifies the name of the resource set to be dispersed.
Release Order Rule— Rule to be used to determine the order in which the resource set units are
released
Example 1
Prompt Entry
Name Disperse staff
Type Set
Set Name Hospital Staff Set
Units to Disperse
Release Order Rule FSFR
Entities will release all units of the resource set Hospital Staff Set that were gathered with the
Gather module. Units will be released in the order that they were seized
Example
Comparing the Seize module with a set selection rule to the Gather module
Scoreboard for analyzing the difference between gather and seize module:
Task:
In a hospital, each department requires 4 sweepers at a time for taking health measures. There are total 13
sweepers in the hospital having 6 for patient’s room,4 for doctor’s room and 3 for parking area. Use resource
capacity, resource set, delay, gather and disperse modules for allocation of sweepers in different
departments. The department managers will arrive in a group of 3, consisted of managers of 3 different
departments. If there are total 15 departments then maximum arrivals will be 5. Use scoreboard for
sweeper’s utilization and allocation screening.
LAB#13
Request module:
Description:
The Request module assigns a transporter unit to an entity and moves the unit to the entity’s
location. A specific transporter unit may be specified or the selection may occur based on a rule.
When the entity arrives at the Request module, it is allocated a transporter when one is available.
The entity remains at the Request module until the transporter unit has reached the entity’s
location. The entity then moves out of the Request module.
TYPICAL USES:
• A sanded part requests a cart to take it to the paint shop.
• Customers in a restaurant are ready to order and thus request a waiter.
PROMPT:
Prompt Description:
Selection Rule—Specifies the transporter selection rule for determining which of the transporters
to request. The selection rule has the following options: Cyclical, Random, Preferred Order,
Specific Member, Largest Distance, and Smallest Distance. A detailed description of these rules
can be found in selection rules.
Save Attribute—Denotes the attribute name that will store the unit number of the selected
transporter.
Unit Number—Determines the specific transporter unit in the transporter set to request.
Priority—Defines the priority used to request transporter units among competing modules when
entities are waiting for the same transporter.
Entity Location—The location to which the transporter will move after being allocated. For free
path transporters, the entity location must be specified as a station. For guided transporters, the
entity location may be specified as a station, intersection, or network link.
Velocity—Speed at which the transporter is moved to the entity location in length units per unit
time. The unit time is specified in the Units field.
Units—This field specifies the time units for the Velocity entry (i.e., per minute, per hour, etc.).
Queue Type—Determines the type of queue used to hold the entities. If Queue is selected, the
queue name is specified. If Set is selected, the queue set and member in the set are specified. If
Internal is selected, an internal queue is used to hold all waiting entities. Attribute and Expression
are additional methods for defining the queue to be used.
Queue Name—This field is visible only if Queue Type is Queue, and it defines the symbol name
of the queue.
Set Name—This field is visible only if Queue Type is Set, and it defines the queue set that contains
the queue being referenced.
Set Index—This field is visible only if Queue Type is Set, and it defines the index into the queue
set. Note that this is the index into the set and not the name of the queue in the set. For example,
the only valid entry for a queue set containing three members is an expression that evaluates to 1,
2, or 3.
Attribute Name—This prompt is visible only if the Queue Type is Attribute, and it defines the
name of the attribute that stores the queue name to which entities will wait prior to getting the
transporter.
Expression—This field is visible only if Queue Type is Expression. The expression entered in this
field will be evaluated to indicate which queue is to be used.
Prompt Entry
Name Request Cart 1
Transporter Cart
Name
Selection Rule Smallest Distance
Save Attribute TranNum
Priority 0
In this example, the entity will wait for a unit of the Cart transporter. If there is more than one unit
available, the Smallest Distance rule will be utilized, based on the transporter’s station and the
entity’s current station. Once a unit is allocated to the entity, the unit number is stored in the
attribute TranNum. This attribute value may be used in other modules as the Unit Number to gain
control of a Specific Unit of a transporter.
The priority for this Request module is 0, indicating the highest priority for this transporter. Entities
in modules with priorities greater than 0 (i.e., 1) will wait until all entities at this module have been
serviced.
Prompt Entry
Name Request Waiter
Transporter Waiter
Name
Selection Rule Specific member
Unit Number WaitTables(TableNum)
Velocity 40
Units Per Minute
The unit number for the Waiter transporter in this example is based on an expression. WaitTables
is an indexed variable, and TableNum is an attribute of the entity. The variable WaitTables(*) may
represent a method for matching waiters to tables in a restaurant (i.e., Tables 1 and 2 use Waiter
1, while Tables 3 and 4 use Waiter 2).
The velocity for the request is specified as 40 distance units per minute. The Waiter transporter
moves at the specified velocity from its current location to the requesting entity’s station location.
Once at the entity’s location, the velocity used will be the transporter’s current velocity, unless
overridden by the Transport or Move module.
The priority for the Request module is defaulted, indicating a priority of 1. Entities in modules
requesting (or allocating) the transporter with priorities less than 1 (i.e., between 0 and 1) will have
priority over the entities waiting at this module.
Allocate module:
Description:
The Allocate module assigns a transporter to an entity without moving it to the entity’s station
location. The entity then has control of the transporter to either move it to a particular location or
to halt it for a breakdown or failure.
A particular transporter unit may be allocated to the entity or a selection rule may be used to
determine which of the transporters will be assigned to the entity.
PROMPT:
Prompt Description:
Selection Rule—This field specifies the transporter selection rule for determining which of the
transporters to allocate to the entity. A detailed description of these rules can be found in selection
rules.
Save Attribute—This field denotes the attribute name that will store the unit number of the
selected transporter. It is visible if selection rule is NOT Specific Member.
Unit Number—This field determines the specific transporter in the transporter set to allocate to
the entity. It is only visible if selection rule is Specific Member.
Priority—This field defines the priority used to allocate transporter units among competing
modules when entities are waiting for the same transporter. A low number (0,1) equates to a high
priority. List options include Low (3), Medium (2) and High (1).
Entity Location—This field is used to determine the transporter closest to or farthest from the
requesting entity when using the Largest Distance or Smallest Distance transporter selection rules.
For free path transporters, the entity location must be specified as a station. For guided transporters,
the entity location may be specified as a station, intersection, or network link.
Queue Type—Determines the type of queue used to hold the entities. If Queue is selected, the
queue name is specified. If Set is selected, the queue set and member in the set are specified. If
Internal is selected, an internal queue is used to hold all waiting entities. Attribute and Expression
are additional methods for defining the queue to be used.
Queue Name—This field is visible only if Queue Type is Queue, and it defines the symbol name
of the queue.
Set Name—This field is visible only if Queue Type is Set, and it defines the queue set that contains
the queue being referenced.
Set Index—This field is visible only if Queue Type is Set, and it defines the index into the queue
set. Note that this is the index into the set and not the name of the queue in the set. For example,
the only valid entry for a queue set containing three members is an expression that evaluates to 1,
2, or 3.
Attribute—This field is visible only if Queue Type is Attribute. The attribute entered in this field
will be evaluated to indicate which queue is to be used.
Expression—This field is visible only if Queue Type is Expression. The expression entered in this
field will be evaluated to indicate which queue is to be used
Prompt Entry
Name Allocate ForkTruck
Transporter Name ForkTruck
Selection Rule Smallest Distance
Save Attribute TranUnit
Priority High(1)
Queue Type Queue
Queue Name Allocate
ForkTruck.Queue
In this example, the entity is attempting to gain control of the ForkTruck transporter. If more than
one unit of the ForkTruck is available, the unit that is the Smallest Distance from the entity’s
station will be allocated to the entity. The entity’s attribute TranUnit will store the unit number of
the transporter that is allocated to the entity. If all units of the ForkTruck are busy or inactive, the
entity waits in the queue named Allocate ForkTruck.Queue until one becomes available.
Prompt Entry
Name Allocate Cart
Transporter Name Cart
Selection Rule Specific
Member
Unit Number TranUnit
Priority High(1)
Queue Type Internal