Advanced Modelling in Operations Management (EBAMO5A)
Advanced Modelling and Simulation (EBAMS5A)
Simulation Software
Presented by www.vut.ac.za
Asser Letsatsi Tau (Pr Eng Tech Cand, MSAIChE, SACAA, PhD (Operations) , Master RD (Operations), MEng (Chemical), PDBA, SCT 41 (Civil Eng)
1
CHAPTER TWO: SIMULATION SOFTWARE
Several features needed in programming most discrete-event simulation models, including:
o Generating random numbers, that is, observations from a probability distribution
o Generating random variates from a specified probability distribution (e.g., exponential)
o Advancing simulated time
o Determining the next event from the event list and passing control to the appropriate block of code
o Adding records to, or deleting records from, a list
o Collecting output statistics and reporting the results
o Detecting error conditions
• The commonality of these and other features to most simulation programs that led to the development of special
purpose simulation packages.
2
Comparison Of Simulation Packages With Programming Languages
One of the most important decisions a modeler or analyst must make in performing a simulation study concerns the
choice of software.
If the selected software is not flexible enough or is too difficult to use, then the simulation project may produce
erroneous results or may not even be completed. The following are some advantages of using a simulation package
rather than a general-purpose programming language:
a) Simulation packages automatically provide most of the features needed to build a simulation model , resulting in
a significant decrease in “programming” time and a reduction in overall project cost.
b) They provide a natural framework for simulation modelling. Their basic modelling constructs are more closely
akin to simulation than are those in a general-purpose programming language.
c) Simulation models are generally easier to modify and maintain when written in a simulation package.
d) They provide better error detection because many potential types of errors are checked for automatically. Since
fewer modelling constructs need to be included in a model, the chance of making an error will probably be
smaller.
3
• On the other hand, some simulation models (particularly for defence-related applications) are still written in a
general-purpose programming language. Some advantages of such a choice are as follows:
a) A simulation model efficiently written in C, C++, or Java may require less execution time than a model
developed in a simulation package.
b) Software cost is generally lower, but total project cost may not be.
Classification of Simulation Software
• Various aspects of simulation packages exist.
General-Purpose vs. Application-Oriented Simulation Packages
There are two main types of simulation packages for discrete-event simulation, namely, general-purpose simulation
software and application-oriented simulation software. A general-purpose simulation package can be used for any
application, but might have special features for certain ones (e.g., for manufacturing or process reengineering). On
the other hand, an application-oriented simulation package is designed to be used for a certain class of applications
such as manufacturing, health care, or communications networks.
4
Modelling Approaches
• The event-scheduling approach to discrete-event simulation modelling. A system is modelled by identifying its
characteristic events and then writing a set of event routines that give a detailed description of the state changes
taking place at the time of each event.
• The simulation evolves over time by executing the events in increasing order of their time of occurrence. Here a
basic property of an event routine is that no simulated time passes during its execution.
• Most contemporary simulation packages use the process approach to simulation modelling.
• A process is a time-ordered sequence of interrelated events separated by intervals of time, which describes the
entire experience of an “entity” as it flows through a “system.
• The process corresponding to an entity arriving to and being served at a single server is shown in Figure bellow.
A system or simulation model may have several different types of processes.
5
Common Modelling Elements
• Simulation packages typically include entities, attributes, resources, and queues as part of their modelling
framework.
An entity (see bellow table) is created, travels through some part of the simulated system, and then is usually
destroyed.
Entities are distinguished from each other by their attributes, which are pieces of information stored with the entity.
As an entity moves through the simulated system, it requests the use of resources. If a requested resource is not
available, then the entity joins a queue. The entities in a particular queue may be served in a FIFO (first-in, first-out)
manner, served in a LIFO (last-in, first-out) manner, or ranked on some attribute in increasing or decreasing order.
6
Animation and Dynamic Graphics
• The availability of built-in animation is one of the reasons for the increased use of simulation modelling. In an
animation, key elements of the system are represented on the screen by icons that dynamically change position,
color, and shape as the simulation model evolves through time.
• For example, in a manufacturing system, an icon representing a forklift truck will change position when there is a
corresponding change in the model, and an icon representing a machine might change color when the machine
changes state (e.g., idle to busy) in the model.
The following are some of the uses of animation:
a) Communicating the essence of a simulation model (or simulation itself) to a man- ager or to other people who may not be aware of
(or care about) the technical details of the model
b) Debugging the simulation computer program
c) Showing that a simulation model is not valid
d) Suggesting improved operational procedures for a system (some things may not be apparent from looking at just the simulation’s
numerical results)
e) Training operational personnel
f) Promoting communication among the project team
7
There are two fundamental types of animation: concurrent and post- processed (also called playback) which are
described as follows:
o In concurrent animation the animation is being displayed at the same time that the simulation is running. Note,
however, that the animation is normally turned off when making production runs, because the animation slows
down the execution of the simulation.
o In post-processed animation, state changes in the simulation are saved to a disk file and used to drive the
graphics after the simulation is over. Some simulation software products have both types of animation.
The simulation software should provide default animation as part of the model-building process.
8
GENERAL-PURPOSE SIMULATION PACKAGES
Examples of Application-oriented Simulation Packages
• Some of the application-oriented simulation packages that are currently available include:
a) Manufacturing: AutoMod [Applied Materials (2013)], Enterprise Dynamics [INCONTROL (2013)], FlexSim
[FlexSim (2013)], Plant Simulation [Siemens (2013)], ProModel [ProModel (2013)], and WITNESS [Lanner
(2013)] (see Sec. 14.3 for further discussion).
b) Communications networks: OPNET Modeler [Riverbed (2013)] and QualNet [SCALABLE (2013)].
c) Health care: FlexSim Healthcare [FlexSim (2013)] and MedModel [ProModel (2013)].
d) Process reengineering and services: Process Simulator [ProModel (2013)], ProcessModel [ProcessModel
(2013)], and ServiceModel [ProModel (2013)].
e) Animation (stand-alone): Proof Animation [Wolverine (2013)].
• Other general-purpose simulation packages include AnyLogic [AnyLogic (2013)], SIMUL8 [SIMUL8 (2013)],
and SLX [Wolverine (2013)].
9
Arena, ExtendSim, and Simio are some of the popular general-purpose simulation packages which can be used to
demonstrate how to build a model of a small factory.
Other additional general-purpose simulation packages include
a) Arena Software
Arena [see Rockwell (2013) and Kelton et al. (2010)] is a general-purpose simulation package marketed by Rockwell
Automation (Wexford, Pennsylvania) that is commonly used for applications such as manufacturing, supply chains,
defense, health care, and contact centers. There are two different versions of Arena, namely, the Standard Edition and
the Professional Edition.
10
b) ExtendSim
ExtendSim [see Imagine (2013)] is the family name for four general-purpose simulation packages marketed by
Imagine That, Inc. (San Jose, California). Each ExtendSim product has components aimed at specific market
segments, but all products share a core set of features. A model is constructed by selecting blocks from libraries
(Item, Value, Plotter, etc.), placing the blocks at appropriate locations in the model window, connecting the blocks to
indicate the flow of entities (or values) through the system, and then detailing the blocks using dialog boxes.
11
C) ExtendSim
Simio [Simio (2013) and Kelton et al. (2011)] is an object-oriented (see Sec. 3.6) suite of simulation and scheduling
products marketed by Simio LLC (Sewickley, Pennsylvania). Simio is a simulation-modeling framework based on
intelligent objects, which allows one to build models using either the default Standard Library (for discrete-event
simulation) or by graphically creating entirely new objects. (An object in Simio has properties, states, and logic.) The
Standard library, which contains 15 object definitions, can be modified and extended using process logic and new
objects can be stored in libraries for use in other simulation projects.
An object in a library might be a customer, machine, doctor, or anything else that you might find in a system.
12
…END…
assert@vut.ac.za
13