Unformatted text preview:

24-1©2006 Raj JainCSE574sWashington University in St. LouisIntroduction to Introduction to SimulationSimulationRaj Jain Washington UniversitySaint Louis, MO [email protected] slides are available on-line at:http://www.cse.wustl.edu/~jain/cse574-06/24-2©2006 Raj JainCSE574sWashington University in St. LouisOverviewOverview! Simulation: Key Questions! Introduction to Simulation! Common Mistakes in Simulation! Other Causes of Simulation Analysis Failure! Checklist for Simulations! Terminology! Types of Models24-3©2006 Raj JainCSE574sWashington University in St. LouisSimulation: Key QuestionsSimulation: Key Questions! What are the common mistakes in simulation and why most simulations fail?! What language should be used for developing a simulation model?! What are different types of simulations?! How to schedule events in a simulation?! How to verify and validate a model?! How to determine that the simulation has reached a steady state?! How long to run a simulation?24-4©2006 Raj JainCSE574sWashington University in St. LouisSimulation: Key Questions (Cont)Simulation: Key Questions (Cont)! How to generate uniform random numbers?! How to verify that a given random number generator is good?! How to select seeds for random number generators?! How to generate random variables with a given distribution?! What distributions should be used and when?24-5©2006 Raj JainCSE574sWashington University in St. LouisIntroduction to SimulationIntroduction to SimulationThe best advice to those about to embark on a very large simulation is often the same as Punch's famous advice to those about to marry: Don't! -Brately, Fox, and Schrage (1987)24-6©2006 Raj JainCSE574sWashington University in St. LouisCommon Mistakes in SimulationCommon Mistakes in Simulation1. Inappropriate Level of Detail:More detail ⇒ More time ⇒ More Bugs ⇒ More CPU ⇒ More parameters ≠ More accurate2. Improper LanguageGeneral purpose ⇒ More portable, More efficient, More time3. Unverified Models: Bugs4. Invalid Models: Model vs. reality5. Improperly Handled Initial Conditions6. Too Short Simulations: Need confidence intervals7. Poor Random Number Generators: Safer to use a well-known generator8. Improper Selection of Seeds: Zero seeds, Same seeds for all streams24-7©2006 Raj JainCSE574sWashington University in St. LouisOther Causes of Simulation Analysis FailureOther Causes of Simulation Analysis Failure1. Inadequate Time Estimate2. No Achievable Goal3. Incomplete Mix of Essential Skills(a) Project Leadership(b) Modeling and (c) Programming(d) Knowledge of the Modeled System4. Inadequate Level of User Participation5. Obsolete or Nonexistent Documentation6. Inability to Manage the Development of a Large Complex Computer Program Need software engineering tools7. Mysterious Results24-8©2006 Raj JainCSE574sWashington University in St. LouisChecklist for SimulationsChecklist for Simulations1. Checks before developing a simulation: (a) Is the goal of the simulation properly specified?(b) Is the level of detail in the model appropriate for the goal?(c) Does the simulation team include personnel with projectleadership, modeling, programming, and computer systemsbackgrounds?(d) Has sufficient time been planned for the project? 2. Checks during development:(a) Has the random number generator used in the simulation been tested for uniformity and independence?(b) Is the model reviewed regularly with the end user?(c) Is the model documented?24-9©2006 Raj JainCSE574sWashington University in St. LouisChecklist for Simulations (Cont)Checklist for Simulations (Cont)3.Checks after the simulation is running:(a) Is the simulation length appropriate?(b) Are the initial transients removed before computation?(c) Has the model been verified thoroughly?(d) Has the model been validated before using its results?(e) If there are any surprising results, have they been validated?(f) Are all seeds such that the random number streams will not overlap?24-10©2006 Raj JainCSE574sWashington University in St. LouisTerminologyTerminology! State Variables: Define the state of the systemCan restart simulation from state variablesE.g., length of the job queue.! Event: Change in the system state.E.g., arrival, beginning of a new execution, departure24-11©2006 Raj JainCSE574sWashington University in St. LouisTypes of ModelsTypes of Models! Continuous Time Model: State is defined at all times! Discrete Time Models: State is defined only at some instants24-12©2006 Raj JainCSE574sWashington University in St. LouisTypes of Models (Cont)Types of Models (Cont)! Continuous State Model: State variables are continuous! Discrete State Models: State variables are discrete24-13©2006 Raj JainCSE574sWashington University in St. LouisTypes of Models (Cont)Types of Models (Cont)! Discrete state = Discrete event model! Continuous state = Continuous event model! Continuity of time ≠ Continuity of state ! Four possible combinations:1. discrete state/discrete time2. discrete state/continuous time3. continuous state/discrete time4. continuous state/continuous time models24-14©2006 Raj JainCSE574sWashington University in St. LouisTypes of Models (Cont)Types of Models (Cont)! Deterministic and Probabilistic Models:! Static and Dynamic Models:CPU scheduling model vs. E = mc2.24-15©2006 Raj JainCSE574sWashington University in St. LouisLinear and Nonlinear ModelsLinear and Nonlinear Models! Output = fn(Input)24-16©2006 Raj JainCSE574sWashington University in St. LouisOpen and Closed ModelsOpen and Closed Models! External input ⇒ open24-17©2006 Raj JainCSE574sWashington University in St. LouisStable and Unstable ModelsStable and Unstable Models! Stable ⇒ Settles to steady state! Unstable ⇒ Continuously changing.24-18©2006 Raj JainCSE574sWashington University in St. LouisComputer System ModelsComputer System Models! Continuous time! Discrete state! Probabilistic! Dynamic! Nonlinear! Open or closed! Stable or unstable24-19©2006 Raj JainCSE574sWashington University in St. LouisSelecting a Language for SimulationSelecting a Language for Simulation1. Simulation language2. General purpose 3. Extension of a general purpose language4. Simulation package24-20©2006 Raj JainCSE574sWashington University in St. LouisSimulation LanguagesSimulation Languages! Save development time! Built-in facilities for time advancing, event scheduling, entity manipulation, random variate generation, statistical data collection, and report generation! More time for system


View Full Document

WUSTL CSE 567M - Introduction to Simulation

Documents in this Course
Load more
Download Introduction to Simulation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction to Simulation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction to Simulation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?