Discrete Event Simulation
Discrete Event Simulation
This lecture note is based on Open literature and text books . It is suitable for grad /Post
grad students and should be read in conjunction with Class room discussions.
Discrete-event models are dynamic, i.e., the passage of time plays a crucial role.
Most mathematical and statistical models are static in that they represent a system
at a fixed point in time.
System State Variables: The system state variables are the collection of all
information needed to define what is happening within the system to a sufficient
level (i.e., to attain the desired output) at a given point in time. The determination
of system state variables is a function of the purposes of the investigation, so what
may be the system state variables in one case may not be the same in another case
even though the physical system is the same.
Some models are mixed discrete-event and continuous. There are also continuous
models that are treated as discrete-event models after some reinterpretation of
system state variables, and vice versa.
In the bank, the customer is a dynamic entity, whereas the bank teller is a static
entity.
An entity may have attributes that pertain to that entity alone. Thus, attributes
should be considered as local values. In the example, an attribute of the entity
could be the time of arrival.
Attributes of interest in one investigation may not be of interest in another
investigation
A dynamic entity can request one or more units of a resource. If denied, the
requesting entity joins a queue, or takes some other action (i.e., diverted to
another resource, ejected from the system). (Other terms for queues include files,
chains, buffers, and waiting lines.) If permitted to capture the resource, the entity
remains for a time, then releases the resource. In the banks example, the teller is a
resource.
There are many possible states of the resource. Minimally, these states are idle
and busy.
But other possibilities exist including failed, blocked, or starved.
List Processing: Entities are managed by allocating them to resources that provide
service, by attaching them to event notices thereby suspending their activity into
the future, or by placing them into an ordered list. Lists are used to represent
queues.
Lists are often processed according to FIFO (first-in-first-out), but there are many
other possibilities. For example, the list could be processed by LIFO (last-in-first-
out), according to the value of an attribute, or randomly, to mention a few. An
example where the value of an attribute
For example, a service time may be a constant 10 minutes for each entity; it may
be a random value from an exponential
1. Problem formulation.
Every simulation study begins with a statement of the problem.
If the statement is provided by those that have the problem (client), the simulation
analyst must take extreme care to insure that the problem is clearly understood. If
a problem statement is prepared by the simulation analyst, it is important that the
client understand and agree with the formulation. It is suggested that a set of
assumptions be prepared by the simulation analyst and agreed to by the client.
Even with all of these precautions, it is possible that the problem will
need to be reformulated as the simulation study progresses.
The objectives indicate the questions that are to be answered by the simulation
study. The project plan should include a statement of the various scenarios that
will be investigated. The plans for the study should be indicated in terms of time
that will be required, personnel that will be used, hardware and software
requirements if the client wants to run the model and conduct the analysis, stages
in the investigation, output at each stage, cost of the study and any other issues.
For example,
consider the model of a manufacturing and material handling system. The basic
model with the arrivals, queues and servers is constructed. Then, add the failures
and shift schedules. Next, add the material-handling capabilities. Finally, add the
special features. Constructing an unduly complex model will add to the cost of the
study and the time for its completion without increasing the quality of the output.
Maintaining client involvement will enhance the quality of the resulting model and
increase the client's confidence in its use.
4. Data collection.
Shortly after the proposal is "accepted" a schedule of data requirements should be
submitted to the client. In the best of circumstances, the client has been collecting
the kind of data needed in the format required, and can submit these data to the
simulation analyst in electronic format.
Oftentimes, the client indicates that the required data are indeed available.
However, when the data are delivered they are found to be quite different than
anticipated.
6. Verified?
Verification concerns the operational model. Is it performing properly?
Even with small textbook sized models, it is quite possible that they have
verification difficulties.
It is highly advisable that verification take place as a continuing process. It is ill
advised for the simulation analyst to wait until the entire model is complete to
begin the verification process. Also, use of an interactive run controller, or
debugger, is highly encouraged as an aid to the verification process.
9. Production runs and analysis. Production runs, and their subsequent analysis, are
used to estimate measures of performance for the scenarios that are being
simulated.
10. More runs? Based on the analysis of runs that have been completed, the
simulation analyst determines if additional runs are needed and if any additional
scenarios need to be simulated.
12. Implementation. The report prepared in step 11 stands on its merits, and is just
additional information that is used to make a decision. If the simulation analyst
has followed all of the steps rigorously, then the likelihood of a successful
implementation is increased.
---------------------------------------------------------------------------------------------------------