TWOQUES.MOD

From Support

Jump to: navigation, search

Back to Model Library

See also: How to read .MOD pages

Contents

Description

A queueing network where customers proceed through successive service operations along a single path is called a tandem queue, for example a a serial production line with several different machining steps. Typically, the service time for one of the steps is a bit slower than the others; this is called the bottleneck. Work will tend to pile up at the bottleneck created by the slower server, and successive servers will become starved for work. If there is limited waiting space between the servers (called a capacitated queueing system), blocking might also occur. A server becomes blocked when there is no space to unload a finished job. Both blocking and starving will degrade the performance of a tandem queue.

TWOQUES.MOD, TWOQUES1.MOD, TWOQUEUE.MOD, and TANDQ.MOD model these types of systems.

In TWOQUES.MOD, a capacitated tandem queue is modeled with two types of servers, a limited amount of waiting space (buffer) for only B[1] jobs in front of the first (upstream) set of servers and waiting space for B[2] jobs in front of the second (downstream) set of servers. We assume that customers who arrive when the first queue is full will simply leave

State Variables

State Variables in TWOQUES.MOD
Variable Name Abbreviation Variable Description Size Type
QUEUE Q Number of customers waiting at each station 3 Integer
SERVERS S Number of idle servers at each station 3 Integer
W W Number of machines waiting to unload 3 Integer
B[i] B[i] Waiting space for customers at each station 3 Integer

Vertices

Vertices in TWOQUES.MOD
Vertex Name Vertex Description State Changes
RUN Initialization of the run None
ARRIVE Arrival of a job to the system None
ENTER1 Job entering queue 1 Q[1]=Q[1]+1
START1 Start of work at station 1 Q[1]=Q[1]-1, S[1]=S[1]-1
END1 End of work at station 1 W[1]=W[1]+1
ENTER2 Job entering queue 2 Q[2]=Q[2]+1, W[1]=W[1]-1
FREE1 Job leaving queue 1 S[1]=S[1]+1
START2 Start of work at station 2 Q[2]=Q[2]-1, S[2]=S[2]-1
END2 Job leaving station 2 and exiting the system S[2]=S[2]+1

Initialization Conditions

Initialization Conditions in TWOQUES.MOD
Variable Description
Servers[i] Initial number of idle servers at each station
B[i] Waiting space for customers at each station

Event Relationship Graph

TWOQUES.MOD
TWOQUES.MOD

English Translation

An English translation is a verbal description of a model, automatically generated by SIGMA.

The SIGMA Model, TWOQUES.MOD, is a discrete event simulation. 
It models BLOCKING MODELED IN TWO TANDEM QUEUES USING NESTING.
I. STATE VARIABLE DEFINITIONS.
For this simulation, the following state variables are defined:
Q[3]: NUMBER OF CUSTOMERS WAITING AT EACH STATION   (integer valued)
B[3]: WAITING SPACE FOR CUSTOMERS AT EACH STATION   (integer valued)
S[3]: NUMBER OF IDLE SERVERS AT EACH STATION   (integer valued)
W[3]: NUMBER OF MACHINES WAITING TO UNLOAD   (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(S[1],S[2],B[1],B[2]) event occurs when INITIATION OF A RUN.
   Initial values for, S[1],S[2],B[1],B[2], are needed for each run.
   After every occurrence of the RUN event:
   Unconditionally, schedule the ARRIV() event to occur without delay.
2. The ARRIV() event occurs when ARRIVAL OF A JOB TO THE SYSTEM.
   After every occurrence of the ARRIV event:
   Unconditionally, SCHEDULE THE NEXT ARRIVAL IN ABOUT 10 MINUTES;
   that is, schedule the ARRIV() event to occur in 5*ERL{1} time units.
   (Time ties are broken by an execution priority of 6.)
   If Q[1]<B[1], then THERE IS ROOM TO ENTER QUEUE 1;
   that is, schedule the Enter1() event to occur without delay.
3. The Start1() event occurs when START OF WORK AT STATION 1.
   This event causes the following state change(s):
   Q[1]=Q[1]-1
   S[1]=S[1]-1
   After every occurrence of the Start1 event:
   Unconditionally, WORK FOR ABOUT 10 MINUTES AT STATION 1;
   that is, schedule the End1() event to occur in 5+15*RND time units.
   (Time ties are broken by an execution priority of 6.)
4. The Start2() event occurs when START OF WORK AT STATION 2.
   This event causes the following state change(s):
   Q[2]=Q[2]-1
   S[2]=S[2]-1
   After every occurrence of the Start2 event:
   Unconditionally, WORK FOR ABOUT 20 MINUTES AT STATION 2;
   that is, schedule the End2() event to occur in 10+30*RND time units.
   (Time ties are broken by an execution priority of 6.)
5. The Enter1() event occurs when JOB ENTERING QUEUE 1.
   This event causes the following state change(s):
   Q[1]=Q[1]+1
   After every occurrence of the Enter1 event:
   If S[1]>0, then schedule the Start1() event to occur without delay.
6. The End1() event occurs when END OF WORK AT STATION 1.
   This event causes the following state change(s):
   W[1]=W[1]+1
   After every occurrence of the End1 event:
   If Q[2]<B[2], then THERE IS SPACE TO ENTER QUEUE 2;
   that is, schedule the Enter2() event to occur without delay.
7. The Free1() event occurs when JOB LEAVING QUEUE 1.
   This event causes the following state change(s):
   S[1]=S[1]+1
   After every occurrence of the Free1 event:
   If Q[1]>0, then START SERVICING THE NEXT CUSTOMER IN QUEUE 1;
   that is, schedule the Start1() event to occur without delay.
   (Time ties are broken by an execution priority of 4.)
   If S[2]>0, then schedule the Start2() event to occur without delay.
8. The Enter2() event occurs when JOB ENTERING QUEUE 2.
   This event causes the following state change(s):
   Q[2]=Q[2]+1
   W[1]=W[1]-1
   After every occurrence of the Enter2 event:
   Unconditionally, schedule the Free1() event to occur without delay.
   (Time ties are broken by an execution priority of 4.)
9. The End2() event occurs when JOB LEAVING STATION 2 AND EXITING THE SYSTEM.
   This event causes the following state change(s):
   S[2]=S[2]+1
   After every occurrence of the End2 event:
   If Q[2]>0, then THERE ARE JOBS WAITING FOR STATION 2;
   that is, schedule the Start2() event to occur without delay.
   (Time ties are broken by an execution priority of 4.)
   If W[1]>0, then THERE ARE JOBS WAITING TO UNLOAD TO STATION 2;
   that is, schedule the Enter2() event to occur without delay.

Comments

Back to top

Back to Model Library

Personal tools
Navigation