PromodelSimulation

advertisement
Discrete Event Simulation using Promodel
Discrete event simulation is the imitation of a dynamic system using computer model in order to
evaluate and improve system performance. Simulation provides a virtual method for doing
system experimentation.
Typical applications of simulation include:
 Work-flow planning
 Capacity planning
 Cycle time reduction
 Staff and resource planning
 Bottleneck analysis
 Inventory reduction
 Throughput analysis







Cost reduction
Productivity improvement
Production scheduling
Line balancing
Batch size optimization
Layout analysis
Maintenance scheduling
Simulation analysis is appropriate if the following hold:
 Decisions are operational in nature
 Process is well defined and repetitive in nature
 Activities and events are interdependent and variable
 The cost of simulation analysis does not exceed potential cost reduction
 Cost of simulation analysis does not exceed experimentation on the actual system
Benefits of Simulation approach
 Captures system interdependencies
 Accounts for variability in the process
 Is versatile enough to model both manufacturing and service processes
 Shows behavior over time
 Is less costly, time consuming, and disruptive than experimenting on the actual system
 Provides information on multiple performance measures
 Provides results that are easy to understand and communicate
 Runs in compressed time
 Forces attention to detail in a process
Simulation procedure
Step 1: Define objective, scope, and requirements
Step 2: Collect and analyze system data
Step 3: Build and validate model
Step 4: Conduct experiments
Step 5: Analyze results and develop recommendations
Simulation system elements
Entities, activities, resources, and controls.
Entities
Items processed through the
system
Activities
Tasks performed in the system
either directly or indirectly on
the entities. Activities consume
time and use resources
Resources May be required for performing
activities. Have characteristics
such as, capacity, speed, cycle
time, reliability, etc.
Controls
Controls how, when, and where
activities are performed
System variability
Type of variability
Activity times
Event arrivals
Quantities
Decisions
 Human/animate (customers, patients,
passenger, etc.)
 Inanimate (Parts, documents, etc.)
 Intangible (calls, e-mail, etc.)
 Entity processing (check-in, treatment,
inspection, fabrication, etc.)
 Entity/resource movement (ride elevator,
forklift travel, etc.)
 Resource adjustment (Machine setups)
 Maintenance & repair
 Human/animate (operator, doctors, etc.)
 Inanimate (equipment, tooling, etc.)
 Intangible (information, power, etc.)
 Production routing sequence
 Work schedules
 Task prioritization
Examples
Service time, repair time
Time between customer arrivals, time between failure
Order quantity, batch size, number of workers absent
Customer routing, accept/reject part, join queue
Random behavior
Discrete distribution
Finite number of possible values (number of items in a lot, number of
members in a group, etc.
Continuous distribution A range of values such as a time between arrivals, service time, travel
distance, etc.
System variables
Decision variables
Independent variable
Response variables
Controllable variables, such as number of machines, number of
windows
Service time, processing time
Variables that measure the system performance (metrics)
System performance metrics (Response variables)
Flow time
Average time it takes for an entity to be processed through the system
Utilization
Percentage of time resources are in productive use
Waiting time
Time spent waiting
Queue/inventory levels Number of customers waiting or parts in storage
Throughput
Number of customers served, no. of parts produced
Promodel objects
Object
Description
Entities
Anything the model
can process, such as
parts, customers,
patients.
Fixed place where
Capacity and
entities are routed for number of units
processing, waiting,
decision making, or
some other activity.
With “New” checked, click a
graphic .
Arrival parameters
for the entities
 Click header “Entity” and
select the arrival entity.
 Click header “Location” and
select the location for arrival.
 Type INF for “Occurrences”
indicating no limit for number
of arrivals during the
simulation.
 Enter inter-arrival time
parameter for “Frequency”.
E.g. for exponential time with
mean 2 minutes, enter e(2) min.
 Click header “Entity” and
select an entity for processing.
 Click header “Location” and
select a location.
 Click header “Operation” and
type operation logic.
E.g.: wait N(2.4,.5) min
 Click header “Output” and
select an entity for output
 Click header “Destination” and
select a location
 Click header “Rule” and set up
one or more rules for routing
the entity.
 Click below the last row to
create alternative routing
Locations
Arrival
Processing Process routing for
an entity
Important
parameters
Arrival location,
number of objects
per arrival, total
number of
arrivals,
frequency
Process
Entity, Location,
and operation
Routing
Output,
Destination, Rule
Creating a record
With “New” checked, click a
graphic icon and click anywhere
in the layout. For a waiting line
double click the icon, change
object type to “Queue” and set
other parameters.
Example 1: Bank with one teller; Arrival of customers follows exponential distribution with an
average of one customer every 2 minutes. Service time follows normal distribution with an
average of 2.4 minutes and a standard deviation of .5 minutes. Waiting line is limited to 7
customers. Simulate the operation from 11 a.m. to 1 p.m. Let the warm-up period be 2 hours.
Flowchart
Arrival
Entity = Customer
Frequency = e(2) min
Teller Waiting Line
FIFO, Capacity = 7
Routing
First 1
Teller Window
Units = 1, Capacity = 1
Service time: N(2.4,.5) min
Entity record:
Location records
If the location is a queue, change “Queuing for output” to FIFO under the “Rules” tab.
Arrival record
Process and Routing
Routing for Customer from Teller_Waiting_Line
Routing for Customer from Teller
Exit
Command: File/View text or File/Print Text
********************************************************************************
*
Formatted Listing of Model:
*
*
P:\public_html\583\Notes\ProModel\Models\BankTeller-1.MOD
*
********************************************************************************
*
Locations
*
********************************************************************************
Name
Cap Units Stats
Rules
Cost
------------------- --- ----- ----------- --------------- -----------Teller_Waiting_Line 7
1
Time Series Oldest, FIFO,
Teller_Window
1
1
Time Series Oldest, , First
********************************************************************************
*
Entities
*
********************************************************************************
Name
Speed (fpm) Stats
Cost
---------- ------------ ----------- -----------Customer
150
Time Series
********************************************************************************
*
Processing
*
********************************************************************************
Process
Routing
Entity
-------Customer
Customer
Location
Operation
------------------- -----------------Teller_Waiting_Line
Teller_Window
Wait N(2.4,.5) min
Blk Output
Destination
Rule
---- -------- ------------- ------1
Customer Teller_Window FIRST 1
1
Customer EXIT
Move Logic
------------
FIRST 1
********************************************************************************
*
Arrivals
*
********************************************************************************
Entity
Location
Qty Each
First Time Occurrences Frequency Logic
-------- ------------------- ---------- ---------- ----------- ---------- -----------Customer Teller_Waiting_Line 1
INF
e(2) min
Simulation options
Results: Locations
Scheduled
Time (HR)
Capacity
Total
Entries
Avg Time Per
Entry (MIN)
Avg
Contents
Maximum
Contents
Current
Contents
%
Utilization
Teller Waiting Line
2
7
54.23
10.43
4.72
7
5.03
67.49
Teller Window
2
1
50.20
2.35
0.98
1
0.97
98.30
Name
Results: Location state Multi
Name
Scheduled
Time (HR)
% Empty
% Part
Occupied
% Full
% Down
2
4.66
78.10
17.24
0
Teller Waiting Line
Results: Location state Single
Name
Scheduled
Time (HR)
%
Operation
% Setup
% Idle
%
Waiting
% Blocked
%
Down
2
98.30
0
1.70
0
0
0
Teller Window
Results: Failed arrivals
Entity Name
Customer
Location Name
Total Failed
Teller Waiting Line
9.6
Results: Entity Activity
Name
Total
Exits
Current Qty
In System
Avg Time In
System
(MIN)
Avg Time In
Move Logic
(MIN)
Avg Time
Waiting
(MIN)
Avg Time In
Operation
(MIN)
Avg Time
Blocked (MIN)
Customer
49.23
6
13.80
0.00
9.09
2.40
2.32
% In Operation
17.9
% Blocked
17.2
Results: Entity States
Name
Customer
% In Move Logic
0
% Waiting
65.0
Summary of average results:
Lobby
Total number of customers served =
49.23
Average wait time for exited customers (minutes) =
9.09 + 2.32 = 11.41 minutes
Average length of waiting line =
4.72 customers
Average wait time for all customers including ones still
in the bank (minutes) =
10.43 minutes
% of time waiting line is empty =
4.66%
% of time waiting line is full =
17.24%
Utilization of teller windows
98.3%
Service Level
Total customer arrivals = Total entries at the waiting line + Failed arrivals = 54.23 + 9.60 = 63.83
Service level = Total entries at the waiting line /Total customer arrivals = (54.23/63.83) x 100 = 84.96%
Example 2: Same bank as before, but with two tellers and 40% of arriving customers first sit at
a desk and fill out forms. Time to fill forms takes between 2.5 and 5.5 minutes. Assume total
customers in the bank cannot exceed 13.
Flowchart
Arrival
Entity = Customer
Frequency = e(2) min
p = .4
Door
Capacity
=1
p = .6
Desk
Capacity = 3
Service time: U(4,1.5)
min
Routing
First 1
Teller_Waiting_Line
FIFO, Capacity = 7
Routing
First 1
Teller_Window
Units = 2, Capacity = 1
Service time: N(2.4,.5)
Exit
********************************************************************************
*
Locations
*
********************************************************************************
Name
Cap Units Stats
Rules
Cost
------------------- --- ----- ----------- --------------- -----------Door
1
1
Time Series Oldest, ,
Desks
3
1
Time Series Oldest, , First
Teller_Waiting_Line 7
1
Time Series Oldest, FIFO,
Teller_Window
1
2
Time Series Oldest, , First
Teller_Window.1
1
1
Time Series Oldest, ,
Teller_Window.2
1
1
Time Series Oldest, ,
********************************************************************************
*
Entities
*
********************************************************************************
Name
Speed (fpm) Stats
Cost
---------- ------------ ----------- -----------Customer
150
Time Series
********************************************************************************
*
Processing
*
********************************************************************************
Process
Entity
Location
Operation
-------- ------------------- -----------------Customer Door
Customer Desks
Routing
Blk Output
---- -------1
Customer
Customer
Destination
------------------Teller_Waiting_Line
Desks
Rule
---------0.600000 1
0.400000
WAIT U(4, 1.5) min
Customer Teller_Waiting_Line
Customer Teller_Window
Wait N(2.4,.5) min
1
1
Customer Teller_Waiting_Line FIRST 1
Customer Teller_Window
FIRST 1
1
Customer EXIT
FIRST 1
Move Logic
------------
********************************************************************************
*
Arrivals
*
********************************************************************************
Entity
Location Qty Each
First Time Occurrences Frequency Logic
-------- -------- ---------- ---------- ----------- ---------- -----------Customer Door
1
0
INF
e(2) min
Results: Locations
Name
Door
Desks
Teller Waiting Line
Teller Window.1
Teller Window.2
Teller Window
Scheduled
Time (HR)
2
2
2
2
2
4
Total
Entries
61.43
26.50
61.50
34.90
27.47
62.37
Capacity
1
3
7
1
1
2
Avg Time Per
Entry (MIN)
0.02
3.85
0.70
2.34
2.36
2.35
Avg
Contents
0.01
0.85
0.38
0.68
0.54
0.61
Maximum
Contents
1.00
3.00
3.53
1.00
1.00
2.00
Current
Contents
0.00
0.93
0.20
0.70
0.47
1.17
%
Utilization
0.86
28.32
5.38
68.00
54.04
61.02
Results: Location state Multi
Name
Desks
Teller Waiting Line
Scheduled Time (HR)
2
2
% Empty
42.68
77.33
% Part Occupied
51.68
22.67
% Full
5.64
0.00
% Down
0.00
0.00
% Idle
99.14
32.00
45.96
38.98
% Waiting
0
0
0
0
Results: Location state Single
Name
Door
Teller Window.1
Teller Window.2
Teller Window
Scheduled Time (HR)
2
2
2
4
% Operation
0
68.00
54.04
61.02
% Setup
0
0
0
0
% Blocked
0.86
0
0
0
% Down
0
0
0
0
Results: Failed arrivals
Entity Name
Customer
Location Name
Door
Total Failed
0.6
Results: Entity Activity
Name
Customer
Total
Exits
61.20
Current Qty
In System
2.30
Avg Time In
System
(MIN)
4.76
Avg Time In
Move Logic
(MIN)
0.00
Avg Time
Waiting
(MIN)
0.27
Avg Time In
Operation
(MIN)
4.05
Avg Time
Blocked (MIN)
0.44
Results: Entity States
Name
Customer
% In Move Logic
0
% Waiting
5.35
% In Operation
85.59
% Blocked
9.05
Summary of average results:
Lobby
Total number of customers served =
61.20
Average wait time for exited customers (minutes) =
0.27 + 0.44 = 0.71 minutes
Average length of waiting line =
0.38 + .01 = .39 customers
Average wait time for all customers including ones still in the bank (minutes) = 0.70 + 0.02 = 0.72 minutes
% of time waiting line is empty =
77.33%
% of time waiting line is full =
% of time desks are empty =
% of time desks are full =
Utilization of teller windows: Window # 1 = 68.0%, Window #2 = 54.04%, Overall = 61.02%
Service Level
Total customer arrivals = Total entries at the door + Failed arrivals = 61.43 + 0.60 = 62.03
Service level = Total entries at the door/Total customer arrivals = (61.43/62.03) x 100 = 99.0%
0%
42.68%
5.64%
Example 3: Same bank as in example 2, but with an ATM and a drive-thru window. The
waiting line for ATM is limited to 3 customers. For customers arriving at the lobby, assume
40%-40%-20% for customer directly joining the queue, sit down to fill forms and joining the
ATM waiting line, respectively. The time to complete the ATM transaction follows normal
distribution with mean = 2 minutes, and standard deviation =.5 minutes.
For the drive-through line, cars arrive according to exponential distribution with a mean of 5
minutes. Service time for drive-thru window is triangular with minimum of 1 minutes, mode of
2 minutes and maximum of 5 minutes. There are only two tellers serving the two teller windows
inside the lobby of the bank and the drive-through window. Also, assume only three cars can
wait in line for drive-thru service.
In addition to other statistics, track the number of customers in the bank also.
Flowchart
Arrival 1
Entity = Customer
Frequency = e(2) min
p = .4
Increment
Customers_in_bank
Door
Capacity
=1
p = .4
p = .2
Teller_Waiting_Line
FIFO, Capacity = 7
ATM_Line
FIFO, Capacity = 3
Exit
Decrement
Customers_in_bank
Routing
First 1
ATM
Units=1, Capacity =1
Service time: N(2,.5) min
Arrival 2
Entity = Car
Frequency = e(5) min
Desk
Capacity = 3
Service time: U(4,1.5)
min
Routing
First 1
Teller_Window
Units = 2, Capacity = 1
Service time: N(2.4,.5) min
Exit
Decrement
Customers_in_bank
Resources
Shared_Teller = 2 units
DriveThru_Line
FIFO, Capacity
=3
DriveThru_Window
Units = 1, Capacity = 1
Service time: T(1,2,5) min
Exit
********************************************************************************
*
Locations
*
********************************************************************************
Name
------------------Door
Desk
Teller_Waiting_Line
Teller_window
Teller_window.1
Teller_window.2
ATM_Line
ATM
DriveThru_Line
DriveThru_Window
Cap
--1
3
7
1
1
1
3
1
3
1
Units
----1
1
1
2
1
1
1
1
1
1
Stats
----------Time Series
Time Series
Time Series
Time Series
Time Series
Time Series
Time Series
Time Series
Time Series
Time Series
Rules
Cost
--------------- -----------Oldest, ,
Oldest, , First
Oldest, FIFO,
Oldest, , First
Oldest, ,
Oldest, ,
Oldest, FIFO,
Oldest, ,
Oldest, FIFO,
Oldest, ,
********************************************************************************
*
Entities
*
********************************************************************************
Name
Speed (fpm) Stats
Cost
---------- ------------ ----------- -----------Customer
150
Time Series
Car
150
Time Series
********************************************************************************
*
Resources
*
********************************************************************************
Res
Ent
Name
Units Stats
Search Search Path
Motion
Cost
------------- ----- -------- ------ ------ ---------- -------------- -----------Shared_Teller 2
By Unit None
Oldest
Empty: 150 fpm
Full: 150 fpm
********************************************************************************
*
Processing
*
********************************************************************************
Process
Entity
Location
Operation
Blk Output
-------- ------------------- --------------------- -------Customer Door
Inc Customer_In_Bank
1
Customer
Customer
Customer
Customer Desk
WAIT U(4, 1.5) min
1
Customer
Customer Teller_Waiting_Line
1
Customer
Customer Teller_window
GET 1 Shared_Teller
Wait N(2.4,.5) min
FREE 1 Shared_Teller
Dec Customer_In_Bank
1
Customer
Customer ATM_Line
1
Customer
Customer ATM
Wait N(2,.5) min
1
Customer
Dec Customer_In_Bank
Car
DriveThru_Line
1
Car
Car
DriveThru_Window
Get 1 Shared_Teller
WAIT T(1,2,5) min
Free 1 Shared_Teller
1
Car
Routing
Destination
Rule
------------------- ---------Teller_Waiting_Line 0.400000 1
Desk
0.400000
ATM_Line
0.200000
Teller_Waiting_Line FIRST 1
Teller_window
FIRST 1
EXIT
ATM
EXIT
FIRST 1
FIRST 1
FIRST 1
DriveThru_Window
FIRST 1
EXIT
FIRST 1
********************************************************************************
*
Arrivals
*
********************************************************************************
Entity
Location
Qty Each
First Time Occurrences Frequency Logic
-------- -------------- ---------- ---------- ----------- ---------- -----------Customer Door
1
0
INF
e(2) min
Car
DriveThru_Line 1
0
INF
e(5) min
********************************************************************************
*
Variables (global)
*
********************************************************************************
ID
Type
Initial value Stats
---------------- ------------ ------------- ----------Customers_In_Bank Integer
0
Time Series
Move Logic
------------
Results: Locations
Name
Door
Desk
Teller Waiting Line
Teller window.1
Teller window.2
Teller window
ATM Line
ATM
DriveThru Line
DriveThru Window
Scheduled
Time (HR)
2
2
2
2
2
4
2
2
2
2
Total
Entries
60.03
24.53
48.53
27.97
21.40
49.37
11.50
11.70
23.37
23.57
Capacity
1
3
7
1
1
2
3
1
3
1
Avg Time Per
Entry (MIN)
0.01
3.84
1.09
2.77
2.90
2.82
0.22
2.00
2.07
3.00
Avg
Contents
0.01
0.78
0.47
0.64
0.52
0.58
0.03
0.19
0.44
0.59
Maximum
Contents
1.00
2.93
3.60
1.00
1.00
2.00
1.23
1.00
2.47
1.00
Current
Contents
0.03
1.10
0.20
0.57
0.43
1.00
0.00
0.10
0.43
0.70
%
Utilization
0.63
26.14
6.69
64.46
51.99
58.22
0.87
19.40
14.80
59.23
Results: Location state Multi
Name
Desk
Teller Waiting Line
ATM Line
DriveThru Line
Scheduled Time (HR)
2
2
2
2
% Empty
44.96
76.46
97.80
71.30
% Part Occupied
50.33
23.06
2.10
25.31
% Full
4.71
0.48
0.09
3.39
% Down
0
0
0
0
% Operation
0.00
55.30
41.64
48.47
19.40
50.83
% Setup
0.00
0.00
0.00
0.00
0.00
0.00
% Idle
99.37
35.54
48.01
41.78
80.60
40.77
% Waiting
0.00
9.16
10.36
9.76
0.00
8.40
Results: Location state Single
Name
Door
Teller window.1
Teller window.2
Teller window
ATM
DriveThru Window
Scheduled Time (HR)
2
2
2
4
2
2
% Blocked
0.63
0.00
0.00
0.00
0.00
0.00
Results: Resources
Name
Shared Teller.1
Shared Teller.2
Shared Teller
Units
1
1
2
Scheduled
Time (HR)
2
2
4
Number
Times Used
36.03
36.57
72.60
Avg Time Per
Usage (MIN)
2.46
2.44
2.44
%
Utilization
73.76
74.00
73.88
Results: Resources states
Name
Shared Teller.1
Shared Teller.2
Shared Teller
Scheduled Time (HR)
2
2
4
% In Use
73.76
74.00
73.88
% Idle
26.24
26.00
26.12
% Down
0
0
0
Results: Failed arrivals
Entity Name
Location Name
Total Failed
Door
0.4
DriveThru Line
1
Customer
Car
Results: Entity Activity
Name
Customer
Car
Total
Exits
59.97
22.87
Current Qty
In System
2.43
1.13
Avg Time In
System
(MIN)
5.25
5.21
Avg Time In
Move Logic
(MIN)
0.00
0.00
Avg Time
Waiting
(MIN)
0.83
1.15
Avg Time In
Operation
(MIN)
3.90
2.66
Avg Time
Blocked (MIN)
0.52
1.40
% Down
0
0
0
0
0
0
Results: Entity States
Name
Customer
Car
% In Move Logic
0
0
% Waiting
13.87
19.34
% In Operation
76.58
55.43
% Blocked
9.55
25.23
Results: Variables
Name
Customers In Bank
Total Changes
120
Avg Time Per
Change (MIN)
1.00
Minimum
Value
0.00
Maximum
Value
7.27
Current
Value
2.43
Avg Value
2.64
Summary of average results:
Total number of customers served =
Total number of customers in the bank (Lobby +ATM)
Average wait time for exited customers (minutes) =
Average length of waiting line
Average wait time for all customers including ones still
in the bank (minutes) =
% of time waiting line is empty =
% of time waiting line is full =
% of time desks are empty =
% of time desks are full =
Lobby
ATM
Cars
59.97
-
22.87
2.64
-
-
0.83 + 0.52 = 1.35
-
1.15 + 1.40 = 2.55
0.47
0.03
0.44
.01 + 1.09 = 1.10
.01 + .22 = .23
2.07
76.46%
97.80%
71.30%
0.48%
0.09%
3.39%
44.96%
4.71%
Utilization of tellers (Overall)
73.88%
Teller 1
73.76%
Teller 2
74.00%
Service level:
Total customer arrivals = Total entries at the door + Failed arrivals = i.e. = 60.03 + 0.40 = 60.43
Service level = Total entries at the door /Total customer arrivals = (60.03/60.43) x 100 = 99.3%
Total car arrivals = Total entries at the drive-through line + failed car arrivals = 23.37 + 1.00 = 24.37
Service level for car arrivals = (23.37/24.37) x 100 = 95.90%
Lobby operation comparison
Summary of average results:
Bank 1
Bank 2
Bank 3
Total number of customers served =
49.23
61.20
59.97 + 22.87 cars
Average wait time for exited customers (minutes) =
11.41
0.71
1.35
4.72
0.38
0.47
10.43
0.72
1.10
4.66%
77.33%
76.46%
17.24%
0%
0.48%
% of time desks are empty =
-
42.68%
44.96%
% of time desks are full =
-
5.64%
4.71%
98.3%
61.02%
73.88%
Teller 1
-
68.00%
73.76%
Teller 2
-
54.04%
74.00%
84.96%
99%
99.3% (walk-in) &
95.90% (cars)
Average length of waiting line
Average wait time for all customers including ones still
in the bank (minutes) =
% of time waiting line is empty =
% of time waiting line is full =
Utilization of tellers (Overall)
Service level (% customer able to enter)
Example 4: Consider the same bank as in example 3. Suppose that 20% of the arriving customers are
business customers, and the remaining 80% are regular customers. Also, assume that the service time for
business customers will be according to exponential distribution with a mean of 20 minutes and no change in
service time for the regular customers.
Changes needed:
1. Define an entity “Attribute” for Customer Type
2. Define a “User-defined distribution” for the probability of customer type
3. Stamp each customer arrival with the Customer type attribute
4. Code the service time at teller window using Customer Type attribute
1. Define an entity “Attribute” for Customer Type
2. Define a “User-defined distribution” for the probability of customer type
Value = 1 represents business customer
Value = 2 represents regular customer
3. Stamp each customer arrival with the Customer type attribute in the Arrival Table
4. Code the service time in the Process Table at the Teller window location using Customer Type attribute
Code for service time for the two
customer types
Routing Rule Dialog Box
The Routing Rule dialog box provides methods for selecting an entity's destination after finishing a process. The
Rule heading button in the Routing edit table, brings up the Routing Rule dialog box. The fields of this dialog box
are defined in the following example.
Start new block Check this box to signal the beginning of a new routing block. Checking this box will place a
number in the Blk field for that record.
First Available
By turn
Until full
Probability
User condition
Most available
Random
Longest Unoccupied
If Send
If Join Request
Routing is to the first available location in the order they are listed.
Routing rotates through the locations in the list.
Routing is to a single location until it is full; then it is switched to the
next location, and so on.
Routing is according to the given probabilities.
Routing is based on the condition provided.
Routing is to the location with most available capacity.
Routing is at random.
Routing is to the location that was unoccupied the longest.
Routed based on a SEND request from a location to the destination
location.
Selects a location whenever a JOIN request is issued at that location.
Entities routed with the JOIN routing rule are not actually sent to their
destination until a JOIN statement is encountered at the destination
location.
Advanced commands
Three commands for using and releasing resources:
Get/Free
Syntax samples
GET {<quantity>} <resource> {,<priority>} {AND or OR {quantity} <resource> {,<priority>}...}
GET Res1
GET 3 Res1, 5
GET 2 Res1OR 3 Res2
GET Res1, 3 AND (Res2 OR Res3)
Description: Captures a specified number of resources as they become available. A resource captured with the GET
statement is released with a FREE statement. Every GET must have a corresponding FREE or an error occurs when
the entity exits the system.
Use
Syntax samples
USE {<quantity>} <resource> {,<priority>} FOR <time> {AND or OR {<quantity>}
<resource> {,<priority>} FOR <time>... }
USE 2 Res2, 5 FOR 4:23:03
USE 2 Res1 FOR 2.0 min OR 3 Res2 FOR 1.5 min
USE Res1, 3 FOR 1 hr AND (Res2 FOR 5 OR Res3 FOR 5)
Description: Captures a resource or combination of resources as each resource becomes available. Once the
resource has been captured it is used for the specified amount of time, and then freed when the specified duration is
over.
Jointly Get/Free ALL
Syntax samples
JOINTLY GET {<quantity>} <resource> {,<priority>} {AND or OR {<quantity>} <resource> {,<priority>}}
JOINTLY GET 3 Res1,5
JOINTLY GET 2 Res1 OR 3 Res2
JOINTLY GET Res1,3 AND (Res2 OR Res3)
Description: Captures a specified number of resources when that number of resources is available. When capturing
multiple resources, none of the resources will be captured until all are available. The command “Free ALL” can be
used to free all the resources.
Download