Sie sind auf Seite 1von 23

Ch.

3 Simulation Software
Programming of discrete-event
simulation models
• Generating random numbers, that is, observations
from a U(0,1) probability distribution
• Generating random variates from a specified
probability distribution (e.g., exponential)
• Advancing simulated time
• Determining the next event from the event list and
passing control to the appropriate block of code
• Adding records to, or deleting records from, a list
• Collecting output statistics and reporting the results
• Detecting error conditions
Advantages of Using a Simulation Package

• 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.
• They provide a natural framework for simulation modeling.
Their basic modeling constructs are more closely akin to
simulation than are those in a general-purpose programming
language like C.
• Simulation models are generally easier to modify and maintain
when written in a simulation package.
• They provide better error detection because many potential
types of errors are checked for automatically. Since fewer
modeling constructs need to be included in a model, the
chance of making an error will be probably smaller.
Advantages of Using General-Purpose
Programming Language
• Most modelers already know a programming language, but
this is often not the case with a simulation package.
• A simulation model efficiently written in C or C++ may
require less execution time than a model developed in a
simulation package. This is so because a simulation package is
designed to address a wide variety of systems with one set of
modeling constructs, whereas a C program can be more
closely tailored to a particular application. This consideration
has, however, become less important with the availability of
inexpensive, high-speed PCs.
• Programming languages may allow greater programming
flexibility than certain simulation packages.
• Software cost is generally lower, but total project cost may not
be.
3.3 Classification of Simulation Software

• General-purpose Versus Application-Oriented Simulation


Packages
• Modeling approaches
• Common Modeling Elements
3.3.1 General-purpose Versus Application-Oriented
Simulation Packages

• Historically,
– simulation languages
– application-oriented simulators.
• Advances:
– simulation languages: employing graphical model-building approach
such as icons, dialog boxes
– Simulators: allowing programming in certain model locations using an
internal pseudo-language.
• Modify existing modeling constructs
• Create new constructs
• Recently,
– general-purpose simulation packages: Arena, Extend
– application-oriented simulation packages: Manufacturing,
Communications Networks, Process Reengineering and Services,
Health Care, Call Centers, Animation (standalone)
3.3.2 Modeling Approaches
• Event-scheduling approach
1. Identify characteristic events
2. Write a set of event routines
3. Execute events (no simulated time passes during
its execution)
• Process approach
– 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”.
Process Approach

Entity Entity begins Entity completes


arrives service service

x x x Time

Event “Event” Event

Possible Possible of time


passage of time for serving
in queue of entity

FIGURE 3.1
Process describing the flow of an entity through a system
Process Approach
Routine
customer
Arrival event
1
Schedule an arrival
event for the next
customer entity

3 4
Is 2 No Place this
Wait until selected
the server customer entity
for service
idle ? in the queue
Passage of
Yes simulation time 5
Remove this
customer entity
6 from the queue
Make the server busy

Schedule a departure 7 Departure event


event for the next
customer entity 9
Make the server idle
Wait until service 8
Termination of 10
is completed Return
this customer entity
Passage of
simulation time
FIGURE 3.2
Prototype customer-process routine for a single-server queueing system.
3.3.3 Common Modeling Elements
Type of system Entities Attributes Resources Queues

Manufacturing Part Part number, Machines, Queues or


due date workers buffers

Communications Message Destination, Nodes, links Buffers


message length

Airport Airplane Flight number, Runways, gates Queues


weight

Insurance agency Application, Name, policy Agents, clerks Queues


claim number, amount
3.4 Desirable Software Features
• General capabilities (including modeling flexibility and ease of
use)
• Hardware and software considerations
• Animation
• Statistical features
• Customer support and documentation
• Output reports and plots
3.4.1 General capabilities
modeling flexibility
• Ability to define and change attributes for entities and also
global variables, and to use both in decision logic (e.g., if-
then-else constructs)
• Ability to use mathematical expressions and mathematical
functions (logarithms, exponentiation, etc.)
• Ability to create new modeling constructs and to modify
existing ones, and to be able to use the new or modified
modeling constructs in current and future models
3.4.1 General capabilities
ease of use
• Graphical user interface
• Modeling constructs (e.g. icons or blocks) that are neither too
“primitive” nor too “macro”
• Tabs in dialog boxes can help manage a large number of
options
• Hierarchy allows a user to combine several basic modeling
constructs into a new higher-level construct. (reuse)
• Debugging aids
– Follow a single entity through the model to see if it is processed
correctly
– See the state of the model every time a particular event occurs (e.g., a
machine breakdown)
– Set the value of certain attributes or variables to “force” an entity down
a logical path that occurs with small probability
3.4.1 General capabilities
ease of use
• Fast model execution speed
• User-friendly model “front ends”
• Run-time version
– Running new or existing scenarios for a model built by an internal or external consultant
– Sales tool for equipment suppliers or system integrators
– Training
• Import data from (and export data to) other applications (e.g., an Excel spreadsheet
or a database)
• Automatically simulate different scenarios that iterate on some model parameter
(e.g., the number of machines in a work station for a factory)
• Combined discrete-continuous simulation
• External routines
• Easily initialized in a nonempty and idle state
• The state of a simulation can be saved at the end of a run
• Cost
– From $500 to $50,000
– Other costs: maintenance fees, upgrade fees, additional hardware and software, etc.
3.4.2 Hardware and Software
Requirements
• Computer platforms: Windows based PCs, UNIX
workstations, Apple computers
• Required RAM: 128Mb
• Operating systems: Windows 98, Windows NT, UNIX
3.4.3 Animation and Dynamic
Graphics
• Uses of animation
– Communicating the essence of a simulation model (or
simulation itself) to a manager or to other people who may
not be aware of (or care about) the technical details of the
model
– Debugging the simulation program
– Showing that a simulation model is not valid
– Suggesting improved operational procedures for a system
(some things may not be apparent from looking at just the
simulation’s numerical results)
– Training operational personnel
– Promoting communication among the project team
3.4.3 Animation and Dynamic
Graphics
• Types of animations
– Concurrent animation
– Post-processed
• Desirable features for animation
– Default animation
– Library of standard icons
– Smooth movement of icons
– Control to speed up or slow down the animation
– Zoom and pan, named animation views
– Vector-based graphics (pictures are drawn with lines, arcs, and fills) rather than
pixel-based graphics
– 3-D animation
– Import CAD drawings and clip art
– Dynamic graphics and statistics: clocks, dials, level meters, dynamically update
a histograms, time plots, etc.
3.4.4 Statistical capabilities
• Good random number generator
– At least 100 different streams that can be assigned to different sources
of randomness
– Same results on different executions
– Theoretical distributions
• Continuous: exponential, gamma, Weibull, lognormal, normal, uniform,
triangular, beta
• Discrete: binomial, geometric, negative binomial, Poisson, discrete
uniform
– Empirical distribution
• Independent replications (or runs)
– Each runs uses separate sets of different random numbers
– Each run uses the same initial conditions
– Each run resets the statistical counters
3.4.4 Statistical capabilities
• A statistically sound method available for constructing a
confidence interval for a mean
• Warmup period
• Allow the user to specify what performance measures to
collect output data on
• Optimization
3.4.5 Customer Support and
Documentation
• Public and customized training at the client’s site
• Good technical support for questions (tel. help)
• Good documentation
– User’s guide or reference manual, numerous detailed
examples, context-dependent online help, library of mini
examples
– Detailed description of how each modeling construct works
– Free demo disk
– Free trail
– Newsletter, yearly user’s conference
– Regular updates of the software
3.4.6 Output Reports and Graphics
• Standard reports for the estimated performance
measures
• Customize reports
• Histogram
• Time plot
• Database
• Correlation plot
• Export individual model output observations to other
software packages for further analysis and display.
(spreadsheets, databases, statistics packages, and
graphical packages)
3.5 General-purpose Simulation
Packages
• ARENA, Extend, MODSIM III,
3.6 Object-oriented Simulation
Advantages :
• It promotes code reusability
• It helps manage complexity
• It makes model changes easier
• It facilitates large projects with several
programmers.
Disadvantages:
• Some O-O simulation packages may have a
steep learning curve.
• One must do many projects and reuse objects
to achieve its full benefits.

Das könnte Ihnen auch gefallen