Skip to main content
INTRODUCTION TO SIMULATION
WHAT IS SIMULATION? The imitation of the operation of a real-world process or system  over time… Most widely used tool (along LP) for decision making  Usually on a computer with appropriate software An analysis (descriptive) tool – can answer what if questions A synthesis (prescriptive) tool – if complemented by other tools Applied to complex systems that are impossible to solve mathematically This course focuses on one form of simulation modelling – discrete-event simulation modelling.
APPLICATIONS Systems – facility or process, actual or planned Examples Manufacturing facility Bank operation Airport operations (passengers, security, planes, crews, baggage) Transportation/logistics/distribution operation Hospital facilities (emergency room, operating room, admissions) Computer network Freeway system Business process (insurance office) Criminal justice system Chemical plant Fast-food restaurant Supermarket Theme park Emergency-response system
SYSTEM A set of interacting components or entities operating together to achieve a common goal or objective. Examples: A manufacturing system with its machine centers, inventories, conveyor belts, production schedule, items produced. A telecommunication system with its messages, communication network servers. A theme park with rides, workers, … REAL WORLD SYSTEMS OF INTEREST ARE HIGHLY COMPLEX!!!
WHY & HOW TO STUDY A SYSTEM System Experiment with the actual system Experiment with a  mathematical model of the system Mathematical Analysis Simulation Measure/estimate performance Improve operation Prepare for failures IE 325 IE 202 IE 303 … IE 324 Experiment with  a  physical model of the system
MATHEMATICAL MODEL An  abstract  and  simplified  representation of a system Specifies Important components Assumptions/approximations about how the system works Not an exact re-creation of the original system! If model is simple enough, study it with Queueing Theory, Linear Programming, Differential Equations... If model is complex, Simulation is the only way!!!
GETTING ANSWERS FROM MODELS MODEL Operating Policies Single queue, parallel servers FIFO Input Parameters No of servers Inter-arrival Time Distribution Service Time Distributions Output Parameters Waiting Times System Size Utilizations (X) (Y) Y = f (X) ACTUAL SYSTEM
STOCHASTIC MODELS Randomness or uncertainty is inherent Example: Bank with customers and tellers ACTUAL SYSTEM    QUEUEING MODEL  IE325
CLASSIFICATION OF SIMULATION MODELS Static (Monte Carlo) Dynamic Systems Represents the system at a particular point in time IID observations Represents the system behaviour over time Continuous Simulation: (Stochastic) Differential Equations Discrete Event Simulation: System quantities (state variables) change with events Estimation of   Risk Analysis in Business Water Level in a Dam Queueing Systems Inventory Systems
HOW TO SIMULATE By hand Buffon Needle and Cross Experiments (see Kelton et al.) Spreadsheets Programming in General Purpose Languages Java Simulation Languages SIMAN Simulation Packages Arena Issue: Modeling Flexibility vs. Ease of Use
ADVANTAGES OF SIMULATION When mathematical analysis methods are not available, simulation may be the only investigation tool When mathematical analysis methods are available, but are so complex that simulation may provide a simpler solution Allows comparisons of alternative designs or alternative operating policies Allows time compression or expansion
DISADVANTAGES OF SIMULATION For a stochastic model, simulation  estimates  the output while an analytical solution, if available, produces the exact output Often expensive and time consuming to develop An invalid model may result with confidence in wrong results.
STEPS IN A SIMULATION STUDY Problem formulation Setting of objectives and overall project plan Model conceptualization Data collection Model translation Verified? No Validated? No No Experimental Design Production runs and analysis More runs? Documentation and reporting No Implementation Yes Yes Yes Yes
PROBLEM FORMULATION A statement of the problem the problem is clearly understood by the simulation analyst the formulation is clearly understood by the client
SETTING OF OBJECTIVES & PROJECT PLAN  Project Proposal Determine the questions that are to be answered Identify scenarios to be investigated Decision criteria Determine the end-user Determine data requirements Determine hardware, software, & personnel requirements  Prepare a time plan Cost plan and billing procedure
STEPS IN A SIMULATION STUDY Problem formulation Setting of objectives and overall project plan Model conceptualization Data collection Model translation Verified? No Validated? No No Experimental Design Production runs and analysis More runs? Documentation and reporting No Implementation Yes Yes Yes Yes
MODEL CONCEPTUALIZATION Assumed system Conceptual model Real World System Logical model
CONCEPTUAL MODEL Abstract essential features Events, activities, entities, attributes, resources, variables, and their relationships Performance measures  Data requirements Select correct level of details (assumptions)
LEVELS OF DETAIL Low levels of detail may result in lost of information and goals cannot be accomplished High levels of detail require: more time and effort longer simulation runs more likely to contain errors
Accuracy of the model Scope & level of details Scope & level of details Cost of model
COMPONENTS OF A SYSTEM Entity :  is an object of interest in the system   Dynamic objects  — get created, move around, change status, affect and are affected by other entities, leave (maybe) Usually have multiple  realizations  floating around Can have different types of entities concurrently Example: Health Center Patients Visitors
COMPONENTS OF A SYSTEM Attribute :  is a characteristic of all entities, but with a specific value “local” to the entity that can differ from one entity to another . Example: Patient Type of illness, Age, Sex,  Temperature, Blood Pressure
COMPONENTS OF A SYSTEM Resources :   what entities compete for Entity  seizes  a resource, uses it,  releases  it Think of a  resource being assigned to an entity , rather than an entity “belonging to” a resource “ A” resource can have several  units  of capacity which can be changed during the simulation Example: Health Center Doctors, Nurses X-Ray Equipment
COMPONENTS OF A SYSTEM Variable :  A piece of information that reflects some characteristic of the whole system, not of specific entities Entities can access, change some variables Example: Health Center Number of patients in the system, Number of idle doctors, Current time
State : A collection of variables that contains all the information necessary to describe the system at any time COMPONENTS OF A SYSTEM Example: Health Center {Number of patients in the system, Status of doctors (busy or idle), Number of idle doctors, Status of Lab equipment, etc}
Event :  An instantaneous occurrence that changes the state of the system COMPONENTS OF A SYSTEM Example: Health Centre Arrival of a new patient,  Completion of service (i.e., examination) Failure of medical equipment, etc.
COMPONENTS OF A SYSTEM Activity :  represents a time period of specified length. Example: Health Center Surgery, Checking temperature,  X-Ray.
LOGICAL (FLOWCHART) MODEL Shows the logical relationships among the elements of the model Q(t)> 0 ? 3 YES NO 2 Departure event Q(t)=Q(t)-1 B(t)=0 Generate service &  schedule new departure Collect & update statistics TB, TQ, TL, N L(t)=L(t)-1 L : # of entities in system Q : # of entities in queue B : # of entities in server
STEPS IN A SIMULATION STUDY Problem formulation Setting of objectives and overall project plan Model conceptualization Data collection Model translation Verified? No Validated? No No Experimental Design Production runs and analysis More runs? Documentation and reporting No Implementation Yes Yes Yes Yes
DATA COLLECTION & ANALYSIS Collect data for input analysis and validation Analysis of the data Determine the random variables Fit distribution functions
STEPS IN A SIMULATION STUDY Problem formulation Setting of objectives and overall project plan Model conceptualization Data collection Model translation Verified? No Validated? No No Experimental Design Production runs and analysis More runs? Documentation and reporting No Implementation Yes Yes Yes Yes
MODEL TRANSLATION Simulation model executes the logic contained in the flow-chart model Coding General Purpose Language Special Purpose Simulation Language/Software JAVA, C++, Visual BASIC Examples: SIMAN, ARENA, EXTEND Examples:
ARENA EXAMPLE
JAVA EXAMPLE public static void main( String  argv[]) { Initialization(); //Loop until first &quot;TotalCustomers&quot; have departed while (NumberofDepartures < TotalCustomers) { Event  evt = FutureEventList[0]; //get imminent event removefromFEL(); //be rid of it Clock = evt.get_time(); //advance in time if (evt.get_type() == arrival) ProcessArrival(); else ProcessDeparture(); } ReportGeneration(); }
STEPS IN A SIMULATION STUDY Problem formulation Setting of objectives and overall project plan Model conceptualization Data collection Model translation Verified? No Validated? No No Experimental Design Production runs and analysis More runs? Documentation and reporting No Implementation Yes Yes Yes Yes
VERIFICATION AND VALIDATION Verification : the process of determining if the operational logic is correct. Debugging the simulation software Validation :   the process of determining if the model accurately represents the system. Comparison of model results with collected data from the real system
VERIFICATION AND VALIDATION Conceptual model Logical model Simulation model Real World System VERIFICATION VALIDATION
STEPS IN A SIMULATION STUDY Problem formulation Setting of objectives and overall project plan Model conceptualization Data collection Model translation Verified? No Validated? No No Experimental Design Production runs and analysis More runs? Documentation and reporting No Implementation Yes Yes Yes Yes
EXPERIMENTAL DESIGN Alternative scenarios to be simulated Type of output data analysis (steady-state vs. terminating simulation analysis)  Number of simulation runs Length of each run The manner of initialization Variance reduction
ANALYSIS OF RESULTS Statistical tests for significance and ranking Point Estimation Confidence-Interval Estimation Interpretation of results More runs?
STEPS IN A SIMULATION STUDY Problem formulation Setting of objectives and overall project plan Model conceptualization Data collection Model translation Verified? No Validated? No No Experimental Design Production runs and analysis More runs? Documentation and reporting No Implementation Yes Yes Yes Yes
DOCUMENTATION & REPORTING Program Documentation Allows future modifications Creates confidence Progress Reports Frequent reports (e.g. monthly) are suggested Alternative scenarios Performance measures or criteria used Results of experiments Recommendations
IMPLEMENTATION FAILURE SUCCESS ?