Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ch. 3 Simulation Software. Programming of discrete-event simulation models Generating random numbers, that is, observations from a U(0,1) probability.

Similar presentations


Presentation on theme: "Ch. 3 Simulation Software. Programming of discrete-event simulation models Generating random numbers, that is, observations from a U(0,1) probability."— Presentation transcript:

1 Ch. 3 Simulation Software

2 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

3 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.

4 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.

5 3.3 Classification of Simulation Software General-purpose Versus Application-Oriented Simulation Packages Modeling approaches Common Modeling Elements

6 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)

7 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”.

8 Process Approach Time xxx Entity arrives Entity begins service Entity completes service Possible passage of time in queue Possible of time for serving of entity Event“Event”Event FIGURE 3.1 Process describing the flow of an entity through a system

9 Process Approach Routine customer Schedule an arrival event for the next customer entity Is the server idle ? Place this customer entity in the queue Wait until selected for service Remove this customer entity from the queue Make the server busy Schedule a departure event for the next customer entity Wait until service is completed Make the server idle Termination of this customer entity Return FIGURE 3.2 Prototype customer-process routine for a single-server queueing system. 1 3 2 4 5 6 7 8 9 10 No Yes Passage of simulation time Passage of simulation time Arrival event Departure event

10 3.3.3 Common Modeling Elements Type of systemEntitiesAttributesResourcesQueues ManufacturingPartPart number, due date Machines, workers Queues or buffers CommunicationsMessageDestination, message length Nodes, linksBuffers AirportAirplaneFlight number, weight Runways, gatesQueues Insurance agencyApplication, claim Name, policy number, amount Agents, clerksQueues

11 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

12 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

13 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

14 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.

15 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

16 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

17 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.

18 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

19 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

20 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

21 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)

22 3.5 General-purpose Simulation Packages ARENA, Extend, MODSIM III,

23 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.


Download ppt "Ch. 3 Simulation Software. Programming of discrete-event simulation models Generating random numbers, that is, observations from a U(0,1) probability."

Similar presentations


Ads by Google