AIRPORT.MOD

From Support

Jump to: navigation, search

Back to Model Library

See also: How to read .MOD pages

Contents

Description

AIRPORT.MOD represents an airport check-in line as a simple model of a multiple-server single-line queue. This model is used to illustrate the usefulness of changing variable values during a run. AIRPORT.MOD is a variation of BANK1.MOD, where the user can change the size of the queue and the number of servers during a run. See the comments section for instruction on how to change state variable values during a run.

State Variables

State Variables in AIRPORT.MOD
Variable Name Abbreviation Variable Description Size Type
QUEUE Q Number of customers in line 1 Integer
SERVERS S Number of available tellers 1 Integer

Vertices

Vertices in AIRPORT.MOD
Vertex Name Vertex Description State Changes
RUN The simulation is started None
ENTER Arrival of a customer Q=Q+1
START Start of Service S=S-1, Q=Q-1
LEAVE End of Service S=S+1
INPUT Execute to change the queue and number of servers Q=10, S=6

Initialization Conditions

Initialization Conditions in AIRPORT.MOD
Variable Description
SERVERS Initial number of servers

Event Relationship Graph

AIRPORT.MOD
AIRPORT.MOD

English Translation

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

The SIGMA Model, AIRPORT.MOD, is a discrete event simulation. 
It models A LINE WITH SEVERAL SERVERS.
I. STATE VARIABLE DEFINITIONS.
For this simulation, the following state variables are defined:
QUEUE: NUMBER OF CUSTOMERS IN LINE (INITIALLY=0)   (integer valued)
SERVERS: NUMBER OF AVAILABLE TELLERS   (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(SERVERS) event occurs when INITIALIZATION OF THE NUMBER OF TELLERS.
   Initial values for, SERVERS, are needed for each run.
   After every occurrence of the RUN event:
   Unconditionally, INITIATE THE FIRST CUSTOMER ARRIVAL; that is, schedule the ENTER() event to
   occur without delay.
2. The ENTER() event occurs when ARRIVAL OF A CUSTOMER.
   This event causes the following state change(s):
   QUEUE=QUEUE+1
   After every occurrence of the ENTER event:
   Unconditionally, SCHEDULE THE NEXT ARRIVAL;
   that is, schedule the ENTER() event to occur in 1+5*RND time units.
   (Time ties are broken by an execution priority of 6.)
   If SERVERS>0, then START SERVICE WITH THE IDLE SERVER;
   that is, schedule the START() event to occur without delay.
3. The START() event occurs when START OF SERVICE.
   This event causes the following state change(s):
   SERVERS=SERVERS-1
   QUEUE=QUEUE-1
   After every occurrence of the START event:
   Unconditionally, THE CUSTOMER WILL BE IN SERVICE ABOUT 4 MINUTES;
   that is, schedule the LEAVE() event to occur in 20+4*RND time units.
   (Time ties are broken by an execution priority of 6.)
4. The LEAVE() event occurs when END OF SERVICE.
   This event causes the following state change(s):
   SERVERS=SERVERS+1
   After every occurrence of the LEAVE event:
   If QUEUE>0, then SERVICE THE WAITING CUSTOMER;
   that is, schedule the START() event to occur without delay.
5. The INPUT() event occurs when EXECUTE TO CHANGE THE QUEUE AND NUMBER OF SERVERS.
   This event causes the following state change(s):
   QUEUE=10
   SERVERS=6
   No additional events are scheduled here.

Comments

Instructions for changing the value of state variables during a run:

Start AIRPORT.MOD. Watch the queue increase for a few seconds in the simulation plot window. Next, double-click on the INPUT vertex; it will not have executed since it is not connected to the graph. Open the EDIT VERTEX dialog box and click on the Execute button. When you click on the Execute button in an Edit Vertex dialog box during a run, that vertex will be the next event executed. State changes for this vertex will then occur.

The Dialog Box for the INPUT Vertex
The Dialog Box for the INPUT Vertex

To delete servers, double-click on the LEAVE vertex and close the resulting dialog box with the Remove button. This will remove the next pending LEAVE event, effectively removing one busy server. The Execute and Remove commands buttons at the bottom of the Edit Vertex dialog box are useful for executing an event or removing an event from the future events list during a run. Since the executed event can itself schedule or cancel other events, this gives complete run-time control over the future events list.



Back to Model Library

Personal tools
Navigation