From Support
Back to Model Library
- See also: How to read .MOD pages
Description
REPLCATE.MOD is a variation of CARWASH.MOD that demonstrates the implementation of simultaneous parallel replications in SIGMA. Simultaneous parallel replications can be used to assess the variability of a simulation output series by running several independent replications of the same model. Parallel replication has a number of advantages, such as making the detection of initialization bias much easier.
The Event Relationship Graph for REPLCATE.MOD looks identical to that for CARWASH.MOD, with the single exception of the "do loop" for the RUN vertex. In the RUN vertex, each replication is STARTed and indexed by the value of M passed as a vertex parameter.
State Variables
State Variables in REPLCATE.MOD
Variable Name | Abbreviation | Variable Description | Size | Type
|
QUEUE | Q[i] | Number of customers in line | 10 | Integer
|
SERVERS | S[i] | Number of idle servers | 10 | Integer
|
M | M | Replication index | 1 | Integer
|
R | R | Total number of replications < 10 | 1 | Integer
|
Vertices
Vertices in REPLCATE.MOD
Vertex Name | Vertex Description | State Changes
|
RUN | Start of the run | M=M+1, S[M]=1, Q[M]=5
|
ENTER | Arrival of a customer | Q[M]=Q[M]+1
|
START | Start of service | S[M]=0, Q[M]=Q[M]-1
|
LEAVE | End of service | S[M]=1
|
Initialization Conditions
Initialization Conditions in REPLCATE.MOD
Variable | Description
|
R | Total number of replications < 10
|
Event Relationship Graph
English Translation
An English translation is a verbal description of a model, automatically generated by SIGMA.
The SIGMA Model, REPLCATE.MOD, is a discrete event simulation.
It models SIMULTANEOUS PARALLEL REPLICATIONS.
I. STATE VARIABLE DEFINITIONS.
For this simulation, the following state variables are defined:
QUEUE[10]: THE NUMBER OF CUSTOMERS IN LINE (integer valued)
SERVER[10]: SERVER IS AVAIL/BUSY = 1/0 (integer valued)
M: REPLICATION INDEX (integer valued)
R: TOTAL NUMBER OF REPLICATIONS < 10 (integer valued)
II. EVENT DEFINITIONS.
Simulation state changes are represented by event vertices (nodes or balls) in a SIGMA graph.
Event vertex parameters, if any, are given in parentheses. Logical and dynamic relationships
between pairs of events are represented in a SIGMA graph by edges (arrows) between event vertices.
Unless otherwise stated, vertex execution priorities, to break time ties, are equal to 5.
1. The RUN(R) event occurs when START OF THE RUN.
Initial values for, R, are needed for each run.
This event causes the following state change(s):
M=M+1
SERVER[M]=1
QUEUE[M]=5
After every occurrence of the RUN event:
Unconditionally, INITIATE THE FIRST CUSTOMER ARRIVAL;
that is, schedule the ENTER(M) event to occur without delay...
using the parameter value(s) of M.
If M<R, then START THE NEXT REPLICATION;
that is, schedule the RUN(R) event to occur without delay...
using the parameter value(s) of R.
(Time ties are broken by an execution priority of 4.)
2. The ENTER(M) event occurs when ARRIVAL OF A CUSTOMER.
This event causes the following state change(s):
QUEUE[M]=QUEUE[M]+1
After every occurrence of the ENTER event:
Unconditionally, SCHEDULE THE NEXT ARRIVAL;
that is, schedule the ENTER(M) event to occur in 4*ERL{1}
time units...using the parameter value(s) of M.
(Time ties are broken by an execution priority of 6.)
If SERVER[M]>0, then START SERVICE;
that is, schedule the START(M) event to occur without delay...
using the parameter value(s) of M.
3. The START(M) event occurs when START OF SERVICE.
This event causes the following state change(s):
SERVER[M]=0
QUEUE[M]=QUEUE[M]-1
After every occurrence of the START event:
Unconditionally, THE CUSTOMER IS IN SERVICE FOR 5 MINUTES;
that is, schedule the LEAVE(M) event to occur in 5 time units...
using the parameter value(s) of M.
(Time ties are broken by an execution priority of 6.)
4. The LEAVE(M) event occurs when END OF SERVICE.
This event causes the following state change(s):
SERVER[M]=1
After every occurrence of the LEAVE event:
If QUEUE[M]>0, then SERVICE THE NEXT CUSTOMER IN LINE;
that is, schedule the START(M) event to occur without delay...
using the parameter value(s) of M.
Comments
Back to Model Library