REWORK2.MOD

From Support

Jump to: navigation, search

Back to Model Library

See also: How to read .MOD pages

Contents

Description

REWORK2.MOD, a limited rework model, is a variation of REWORK1.MOD where a particular part is not reworked more than a specified number of times before it is discarded.

State Variables

State Variables in REWORK2.MOD
Variable Name Abbreviation Variable Description Size Type
QUEUE Q Number of jobs in line 1 Integer
SERVERS S Number of servers available 1 Integer
PREWORK P Probability of a part needing rework 1,1 Real
R R Random number used to generate rework 1,1 Real
REWORK RW Number of times a part has been reworked 1,1 Integer
LIMIT LM Limit on number of times a part can be reworked 1,1 Integer

Vertices

Vertices in REWORK2.MOD
Vertex Name Vertex Description State Changes
RUN The simulation is started S=1
ENTER Arrival of a job Q=Q+1
START Service starts S=0, Q=Q-1
LEAVE Service ends S=1,R=RND
REWORK Reworking of a part Q=Q+1

Initialization Conditions

Initialization Conditions in REWORK2.MOD
Variable Description
QUEUE Initial number of jobs in line
PREWORK Probability of a part needing rework
LIMIT Limit on number of times a part can be reworked

Event Relationship Graph

REWORK2.MOD
REWORK2.MOD

English Translation

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

The SIGMA Model, REWORK2.MOD, is a discrete event simulation. 
It models A DETERMINISTIC QUEUE WITH LIMITED REWORK.
I. STATE VARIABLE DEFINITIONS.
For this simulation, the following state variables are defined:
QUEUE: THE NUMBER OF JOBS WAITING IN LINE   (integer valued)
SERVER: SERVER IS AVAIL/BUSY=1/0   (integer valued)
PREWORK: PROBABILITY OF A PART NEEDING REWORK  (real valued)
R: RANDOM NUMBER USED TO GENERATE REWORK  (real valued)
REWORK: NUMBER OF TIMES A PART HAS BEEN REWORKED   (integer valued)
LIMIT: LIMIT ON NUMBER OF TIMES A PART CAN BE REWORKED   (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(QUEUE,PREWORK,LIMIT) event occurs when RUN INITIALIZATION.
   Initial values for, QUEUE,PREWORK,LIMIT, are needed for each run.
   This event causes the following state change(s):
   SERVER=1
   After every occurrence of the RUN event:
   Unconditionally, INITIATE THE FIRST JOB ARRIVAL;
   that is, schedule the ENTER() event to occur without delay.
2. The ENTER() event occurs when ARRIVAL OF A JOB.
   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 4*ERL{1} time units.
   (Time ties are broken by an execution priority of 6.)
   If SERVER>0, then START SERVICE;
   that is, schedule the START(REWORK) event to occur without delay...
   using the parameter value(s) of 1.
3. The START(REWORK) event occurs when START OF SERVICE.
   This event causes the following state change(s):
   SERVER=0
   QUEUE=QUEUE-1
   After every occurrence of the START event:
   Unconditionally, THE JOB IS PLACED IN SERVICE FOR 5 MINUTES;
   that is, schedule the LEAVE(REWORK) event to occur in 5
   time units...using the parameter value(s) of REWORK.
   (Time ties are broken by an execution priority of 6.)
4. The LEAVE(REWORK) event occurs when END OF SERVICE.
   This event causes the following state change(s):
   SERVER=1
   R=RND
   After every occurrence of the LEAVE event:
   If QUEUE>0 and (R>PREWORK or REWORK>=LIMIT), then START ON THE NEW JOB;
   that is, schedule the START(REWORK) event to occur without delay...
   using the parameter value(s) of 1.
   If R<=PREWORK and REWORK<LIMIT, then REWORK IS NEEDED AND LIMIT NOT EXCEEDED;
   that is, schedule the REWRK(REWORK) event to occur without delay...
   using the parameter value(s) of REWORK+1.
   (Time ties are broken by an execution priority of 6.)
5. The REWRK(REWORK) event occurs when NEED FOR REWORK.
   This event causes the following state change(s):
   QUEUE=QUEUE+1
   After every occurrence of the REWRK event:
   Unconditionally, HAVE THE PART NEEDING REWORK ENTER THE QUEUE;
   that is, schedule the START(REWORK) event to occur without delay...using the parameter value(s) of REWORK

Comments

Back to top

Back to Model Library

Personal tools
Navigation