Overview of Systems Simulation Introduction Uses, Popularity of Simulation One of the most popular, widely used of all scientific Techniques Historical Roadblocks Hard to write code for large, complicated models: Now have very good software—improving all the time Requires too much computer time: Marginal cost of computing decreases all the time. Many simulations (stochastic) don’t give exact “answers”—only estimates: True, but with one is able to increase the precision of the estimate. Modeling System: Physical facility or process, usually evolving through time it may or may not exist. Usually want to study its performance Model: An abstraction/simplification of the system used as a proxy Physical (iconic), Mathematical—quantitative and logical assumptions, Numerical and simulation. Relative advantages of studying the model vs. system: May be impractical or impossible to perform experiments on the real system. 1 Methods of Studying a System SYSTEM Experiment with the actual system Experiment with a model of the system Physical model Mathematical model Analytical solution 2 Simulation Types of Models Useful dimensions of classification with regard to design/analysis: Dynamic vs. Static, Stochastic vs. Deterministic, Discrete vs. Continuous Some examples: Deterministic No randomness Inputs are exact, no uncertainty One model needs only one run Static No time element Use fitted regression model for unobserved independent-variable combinations Financial scenarios Dynamic Stochastic Random inputs— uncertain Inputs are from known distributions One model needs more than one run “Monte Carlo” simulation Estimate an intractable integral Get empirical distribution of a new test statistic for some null hypothesis Passage Differential-equation Queueing models of time is models of population representing important growth and decay manufacturing, part of computer, or Deterministic forecasting model communications over time systems Dynamic macroeconomic Inventory models models Compute (exactly) desired output quantities 3 Can only estimate desired output quantities Advantages and Disadvantages of Simulation Compared to experimenting with the actual system: Validity uncertainty with simulation (as with all models) Much more flexibility in simulation to try things out Can control the uncontrollable in simulation Can study the physically impossible or non-existent Compared to exact analytical models: Don’t have to make as many simplifying assumptions—get more flexible models that can be more valid Don’t get simple formulas from which insight can be gained Don’t get exact answers—only estimates, maybe uncertain—calls for careful design and analysis of simulation experiments (our concern) 4 Steps in a Simulation Model Formulate problem and plan the study Collect data and define a model Valid? No Yes Construct a computer program and verify Make pilot runs Valid? Yes Design experiments Make production runs Analyze output data Document, present, and implement results 5 No Simulation Modeling, Input, Output, and Experiments Modeling The modeling process: two distinct but related activities Structural modeling Physical/logical relationships among components Topology/layout of machines Possible routings for part flows Feedback/failure loops Closed vs. open structure in model of a computer system Quantitative modeling Specific numerical/distributional assumptions composing model How many machines at each workcenter? Probabilities for branch points on routing decisions? Cycle times of part type 3 on a machine in group 5 are random variates drawn from what distribution? With what parameters? Run model for one hour? One year? Until 5000 parts have been produced? Building “good” simulation models: Verification—Code (in whatever language or product) is correct 6 Validation—Model (as expressed in the verified code) faithfully mimics the system to study; can use model/code as surrogate for system to make decisions Credibility—The valid model is accepted by decision makers; critical for implementation success Elements of both structural and quantitative components can become variables (or factors) in the design of simulation experiments Structural factors: Try a different layout of machines What if part-flow routings changed due to technology? What if rework were just scrapped instead (no feedback loops)? What if the computer system went from open (batch jobs) to closed (interactive)? Quantitative factors: What if we added a machine somewhere? What if quality improvement changed pass/fail branching probabilities? How effective would it be to reduce cycle times on the bottleneck work center? How long will the model operate before becoming unduly congested? “Machine” View of What a Simulation Does: Inputs – Structural Quantitative Model and code 7 Outputs – Performance measures A Brief History 1733 Buffon needle problem—estimate 1920s, 1930s Random-number schemes used by applied statisticians Physical methods of generating random numbers (tables) 1940s Manhattan project, used to estimate multiple integrals and solutions to systems of differential equations Electronic random-number generators (more tables) 1950s Early language development (GPSS, SIMSCRIPT) Recognition of simulation for complex queueing models First algorithmic random-number generators 1960s Early work on probabilistic/statistical methodology Recognition of need to do analysis of simulation results Variance reduction for static simulations Algorithms for variate and process generation 1970s Advances in probabilistic/statistical methodology Variance reduction for dynamic simulation Use of stochastic processes for rigorous output analysis Simulation languages widened, improved (GASP, SLAM) 1980s Continued advances in rigorous output analysis Initialization/termination methods Adaptation of ranking/selection methods to dynamic simulation Languages continue to improve (SIMAN) Implementation on microcomputers 8 Current Estimating derivatives and gradients of simulated response Optimizing simulated systems Refined, strengthened-output analysis methods Hybrid analytical/simulation methods Technology transfer of probabilistic/statistical methodology to practitioners, languages 9