Simulation Definitions Dictionary definition: "to assume or have appearance or characteristics of" The Random House Dictionary of the English Language, Unabridged Edition, 1969 Useful working definition: The process of designing a mathematical or logical model of a real system and then conducting computer-based experiments with the model to describe, explain and predict the behavior of the real system. Adapted from: Naylor et al, Computer Simulation Techniques, 1966. Other Simulation Definitions by Autosimulations, vendor for AutoMod, a simulation language: "Autosimulations: where simulation defines reality" adapted from an old Coca Cola advertising campaign (Coca cola: It's the Real Thing): "Simulation: It's the Real Thing" Simulation: An Eclectic Approach Requiring Diverse Skills Modeling Computer Programming Probability and Statistics Heuristic Methods (e.g., Response Surface Methodology) Models Definition: Abstractions of the essentials of reality. Models are not true or false, but rather appropriate or inappropriate Types of Models Iconic: have a physical resemblance to the real system (e.g., a globe) Analog: behave like the real system (e.g., fluid friction in pipes to represent resistance to electron flow) Symbolic: abstractions that represent system behavior (e.g., equations or computer code) The Realities of Modeling A good model is like a good caricature or political cartoon: it identifies and enhances salient points and minimizes unimportant ones Anticipating likely actions: NASA shuttle simulation prohibits two abort decisions on same mission Reality-model consistency: MD-80 aircraft simulation altered to reflect deficiency in real warning system Moral: challenge all model assumptions and then challenge them again A Taxonomy for Symbolic Models Prescriptive or Descriptive Discrete or Continuous Probabilistic or Deterministic Static or Dynamic Open or Closed Loop The underlined terms describe the characteristics of discrete-event, simulation models. Simulation Applications Queueing/Congestion Systems Production Scheduling (e.g., flow shops, job shops, FMS) Material handling systems (AS/RS, AGVS, conveyers) Inventory Control Health Care Delivery (e.g., hospitals, clinics, ambulance allocation) Traffic flow management Virtual reality (manufacturing, maintenance scenarios) Communications networks (e.g., LANs, WANs) Business process reengineering (BPR) Some Specific Simulation Analyses Voting machine allocation Diagnostic radiology procedures scheduling Elevator system design for World Trade Towers of New York Clean room for chip manufacture MIT traffic simulator Virtual Shopping Analytic Models vs. Simulation Models Advantages of Analytic Models Concise Closed form solution Optimum solution may be possible Disadvantages of Analytic Models Unrealistic assumptions Complex mathematical formulation May be intractable Analytic Models vs. Simulation Models Advantages of Simulation Models More realistic assumptions Can analyze complex systems Can be more easily explained Can provide training environment Disadvantages of Simulation Models No closed form solution Costly to build and run Difficult to validate When to Use Simulation Assumptions of analytic models not satisfied Analytic model intractable May combine analytic and simulation models -- hybrid models Steps in a Simulation Analysis 1. Problem Formulation* 2. Data Collection and Analysis* 3. Model Development* 4. Verification and Validation 5. Output Analysis* 6. Experimentation* 7. Implementation * Affected by choice of simulation software 1 PROBLEM FORMULATION 1 DATA COLLECTION AND ANALYSIS 1 MODEL DEVELOPMENT MODEL VERIFICATION AND VALIDATION 1 1 AFFECTED BY CHOICE OF SIMULATION LANGUAGE OUTPUT ANALYSIS AND MODEL EXPERIMENTATION IMPLEMENTATION ELEMENTS OF SIMULATION ANALYSIS 1. Problem Formulation Problem finding Identification of decision and uncontrollable variables Definition of output variables Definition of an objective function: a function of one or more output variables used to reflect system performance Develop preliminary model structure to interrelate variables Physical Arrangement of Supermarket Checkout System SUPERKARKET CHECKOUT PROBLEM FORMULATION PROBLEM: SUPERMARKET CHECKOUT LANE STAFFING (FROM PERSPECTIVE OF STORE MANAGER) EXOGENOUS (INPUT) VARIABLES: DECISION VARIABLES: NO. OF CASHIERS (C) NO. OF BAGGERS (B) NO. OF EXPRESS LANES (E) EXPRESS LANE DEFINITION (I) UNCONTROLLABLE VARIABLES: CUSTOMER ARRIVAL PATTERN (P) NO. ITEMS PURCHSED (N) CASHIER, BAGGER WAGES (CH, BH) NO. OF CHECKOUT LANES (L) TYPE OF CHECKOUT HARDWARE (H) SUPERKARKET CHECKOUT PROBLEM FORMULATION ENDOGENOUS (OUTPUT) VARIABLES: NUMBER OF CUSTOMERS WATING (NC) CUSTOMER WAITING TIME (WT) CASHIER AND BAGGER IDLE TIME (CI, BI) CUSTOMER CHECKOUT TIME (CT) SALARY COSTS FOR CASHIERS, BAGGERS (SC, SB) WHAT HAPPENS TO VARIABLE CLASSIFICATION WHEN WE CHANGE THE DECISION MAKER'S PERSPECTIVE TO THE STORE OWNER? CONSTRAINTS ON DECISION VARIABLES: C B E I I < < < < > L C .2*L 20 5 SUPERKARKET CHECKOUT PROBLEM FORMULATION OBJECTIVE FUNCTIONS: SELECT ONE OR MORE OUTPUT VARIABLES (OR FUNCTIONS OF THESE VARIABLES) THAT ARE RELATED TO THE DECISION AND UNCONTROLLABLE VARIABLES TO REPRESENT PERFORMANCE MEASURES TO OPTIMIZE. OBJECTIVE FUNCTION 1: MIN: TOTAL COST = CI*CH + BI*BH + WT*CC S.T.: CONSTRAINTS ON DECISION VARIABLES WHERE: CC = COST PER UNIT TIME OF CUSTOMER WAITING (ESTIMATION PROBLEMS?) NOTE THAT CI = F(C, B, E, I, P, N), THAT IS CI IS A FUNCTION OF DECISION AND UNCONTROLLABLE VARIABLES. THE SAME IS TRUE FOR BI. ALSO, WT = F(C, B, E, I, P, N) SUPERKARKET CHECKOUT PROBLEM FORMULATION OBJECTIVE FUNCTION 2: MIN: S.T.: CI WT < W* SC + SB < S* CONSTRAINTS ON THE DECISION VARIABLES WHERE W* AND S* ARE UPPER LIMITS ON SALARIES ESTIMATION PROBLEMS OF CC ARE ELIMINTATED, BUT THERE MAY NOT BE A FEASIBLE SOLUTION. What to Include in the Supermarket Checkout Model Which of the following variables should be included in the model segment that calculates the time to tally and receive payment for the customer's groceries? Number of items purchased Experience of the cashier Length of customer queue Mood of the cashier Time of day Stop including variables when the marginal cost including an additional variable equals the marginal cost of error due to excluding that variable. Not an easily applied rule! 2. Data Collection and Analysis Data collection methods: manual, automatic, computerized Amount of data to collect (cost accuracy tradeoff in sample size) Means of including in the model (use of actual data vs. fitted distributions)* *Better simulation languages support analysis of input data. 3. Model Development Construction of the Model Develop logic diagram/flowchart* Select simulation software Assess random number generation capabilities in the software* Assess statistics collection capabilities in software* * Affected by choice of simulation software 3. Model Development Simulation Software Options General purpose languages (e.g., FORTRAN, Pascal, C, C++) Simulation languages (e.g., SIMAN, GPSS, SIMSCRIPT) Simulators (e.g., ProModel, SimNet, Xcell+) Visual interactive modeling systems (VIMS) (e.g., Arena, SimFactory) Supplemental simulation tools (input analysis, output analysis, animation) 3. Model Development Understanding and Modeling the Real System World Views (or how to advance the simulation clock) Fixed time step Event tracking Transaction oriented Activity oriented Representing Model Changes over Time Physical flow approach State change approach Flow Diagram for Supermarket Checkout System 3. Model Development State Change Approach Event: A happening that changes the system status (e.g., a customer joins the queue). Events occur at discrete points in time. State Variable: Describes the status of the system and changes in status over time (e.g., Number in the queue). Events change state variable values. Supermarket checkout examples: Events: 1. Customer arrival 2. Queue selection 3. Customer begins service 4. etc. State Variables: 1. Number of customers in the system (in queues plus in service) 2. Number of customers in queues 4. Verification and Validation Verification Internal consistency of model logic and code. Did you build the model "right"? Validation External consistency of model with real system. Did you build the "right" model? An Approach to Model Validation 5. Output Analysis Simulation output is an ill-behaved statistical sample Output analysis is statistical inference from a sample Terminating simulations (usually transient output) Nonterminating simulations (usually steady-state output) Initial conditions and warm-up period for steady-state simulations Better simulation languages provide support for output analysis. 6. Experimentation Classical experimental design (when you know something about the system response) Optimum-seeking techniques such as Response Surface Methodology (when you know nothing about the system response) Artificial Intelligence/ Expert System approaches -- altering subsequent simulation runs in response to output from previous ones. Response Surface for Two Decision Variables 7. Implementation One of the most neglected steps in simulation analysis Reasons for unsuccessful implementation*: Communications gap between simulationists and users (can be eliminated by merging the roles of the two or by education) Tardy start of implementation step -- should really begin at the outset of the simulation study Lack of user participation in all of the steps Type of organization -- some organizational types are more successful at implementation than others * Based on Perry et al., "Implementation of Simulation Results: An Assessment", TIMS XXVII International Meeting, 1986.