FLOWSHOP.MOD

From Support

Jump to: navigation, search

Back to Model Library

See also: How to read .MOD pages

Contents

Description

FLOWSHOP.MOD is a simulation of a flow shop where there are several parallel machines at each of N sequential stations. A part needs to be processed by only one machine at each station.

This model is used in the Variability and System Performance exercise.

State Variables

State Variables in FLOWSHOP.MOD
Variable Name Abbreviation Variable Description Size Type
QUEUE Q[DEPT] Number of part waiting at a department 10 Integer
MACHINES M[DEPT] Number of free machines in each department 10 Integer
IAT IAT Mean interarrival time to first department 1 Real
MST MST Mean service time at a department 10 Real
DEPT DEPT Index for each department 1 Integer
ND ND Number of queues in flow shop 1 Integer

Vertices

Vertices in FLOWSHOP.MOD
Vertex Name Vertex Description State Changes
RUN The simulation is started None
SETUP Initialization of the machines M[DEPT]=DISK{FLOW.DAT;0}, MST[DEPT]=DISK{FLOW.DAT;0}
ENTER Arrival of parts at a machine Q[DEPT]=Q[DEPT]+1
START Start of service at a machine Q[DEPT]=Q[DEPT]-1, M[DEPT]=M[DEPT]-1
FINISH End of service at a machine M[DEPT]=M[DEPT]+1

Initialization Conditions

Initialization Conditions in FLOWSHOP.MOD
Variable Description
IAT Mean interarrival time to first department
ND Number of queues in flow shop

Event Relationship Graph

FLOWSHOP.MOD
FLOWSHOP.MOD

English Translation

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

The SIGMA Model, FLOWSHOP.MOD, is a discrete event simulation. 
It models SERIES OF UP TO 10 UNCAPACITATED QUEUES.
I. STATE VARIABLE DEFINITIONS.
For this simulation, the following state variables are defined:
Q[10]: NUMBER OF PARTS WAITING AT A DEPARTMENT   (integer valued)
MACHINES[10]: NUMBER OF FREE MACHINES IN EACH DEPARTMENT   (integer valued)
IAT: MEAN INTERARRIVAL TIME TO FIRST DEPARTMENT  (real valued)
MST[10]: MEAN SERVICE TIME AT A DEPARTMENT  (real valued)
DEPT: INDEX FOR EACH DEPARTMENT   (integer valued)
ND: NUMBER OF QUEUES IN FLOW SHOP   (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(ND,IAT) event occurs when INITIALIZATION OF THE RUN.
   Initial values for, ND,IAT, are needed for each run.
   After every occurrence of the RUN event:
   Unconditionally, START READING THE INPUT ;
   that is, schedule the SETUP(DEPT) event to occur without delay...using the parameter value(s) of 1.
2. The SETUP(DEPT) event occurs when INITIALIZATION OF THE MACHINES.
   This event causes the following state change(s):
   MACHINES[DEPT]=DISK{FLOW.DAT;0}
   MST[DEPT]=DISK{FLOW.DAT;0}
   After every occurrence of the SETUP event:
   If DEPT<ND, then READ IN THE DATA ON EACH DEPARTMENT;
   that is, schedule the SETUP(DEPT) event to occur without delay...
   using the parameter value(s) of DEPT + 1.
   (Time ties are broken by an execution priority of 2.)
   If DEPT==1, then INITIATE THE FIRST PART ARRIVAL;
   that is, schedule the ENTER(DEPT) event to occur without delay...
   using the parameter value(s) of 1.
   (Time ties are broken by an execution priority of 8.)
3. The ENTER(DEPT) event occurs when ARRIVAL OF PARTS AT A MACHINE.
   This event causes the following state change(s):
   Q[DEPT]=Q[DEPT]+1
   After every occurrence of the ENTER event:
   If MACHINES[DEPT]>0, then START WORK AT THE NEXT DEPARTMENT ;
   that is, schedule the START(DEPT) event to occur without delay...
   using the parameter value(s) of DEPT.
   (Time ties are broken by an execution priority of 4.)
   If DEPT==1, then SCHEDULE A PART ARRIVAL AT DEPARTMENT 1;
   that is, schedule the ENTER(DEPT) event to occur in IAT*ERL{1} time units...
   using the parameter value(s) of 1.
   (Time ties are broken by an execution priority of 6.)
4. The START(DEPT) event occurs when START OF SERVICE AT A MACHINE.
   This event causes the following state change(s):
   Q[DEPT]=Q[DEPT]-1
   MACHINES[DEPT]=MACHINES[DEPT]-1
   After every occurrence of the START event:
   Unconditionally, END THE MACHINE OPERATION LATER ;
   that is, schedule the FINISH(DEPT) event to occur in MST[DEPT]*ERL{1} time units...
   using the parameter value(s) of DEPT.
   (Time ties are broken by an execution priority of 6.)
5. The FINISH(DEPT) event occurs when END OF SERVICE AT A MACHINE.
   This event causes the following state change(s):
   MACHINES[DEPT]=MACHINES[DEPT]+1
   After every occurrence of the FINISH event:
   If DEPT<ND, then THE PART GOES TO THE NEXT DEPARTMENT;
   that is, schedule the ENTER(DEPT) event to occur without delay...
   using the parameter value(s) of DEPT + 1.

Comments

Back to top

Back to Model Library

Personal tools
Navigation