Introduction into Simulation Basic Simulation Modeling The Nature of Simulation 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 2 definitions •simulation –imitate operations of real-world facilities or processes •system –facility or process of interest –assumptions needed (mathematical, logical) •model –set of assumptions –used to gain understanding how corresponding system works –simple enough? → solve analytically to obtain exact information –mostly too complex → evaluate model numerically using simulation and estimate desired true characteristics 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 3 System, Models and Simulation 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 4 system •set of entities (people, machine, etc.) that (inter)act –example [bank]: tellers, customers, loan officers •state of system –collection of variables to describe system at particular time –example [bank]: number of busy tellers, number of customers in the bank, arrival time of each customer •entities –characterized by data values (attributes) 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 5 types of system •discrete system –state variables change instantaneously at separated points in time –example: bank •number of customers changes: new customer arrives, service finished •continuous system –state variables change continuously with respect to time –example: airplane moving through air •position, velocity can change continuously 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 6 different ways to study a system analytical solution system experiment with model of the system mathematical model Simulation experiment with actual system physical model 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 7 classification of simulation models •static vs. dynamic simulation models –static model: time plays no role –dynamic model: represents model as it evolves over time •deterministic vs. stochastic simulation models –deterministic: no probabilistic (i.e. random) components –stochastic: random components, output itself is random (estimate of true models characteristics) •continuous vs. discrete simulation models –continuous: state variables change instantaneously –discrete: changes only happen at discrete point in time DSM discrete event simulation models 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 8 Discrete Event Simulation 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 9 discrete event simulation •system evolves over time •state variables change at separate points in time only –whenever an event occurs •example [bank]: (single server, estimate average waiting time in queue) –state variables: •status of server (idle or busy) •number of customers in queue (or in system) •time of arrival of each customer (for calculation of waiting time) –events: customer arrives, service complete (customer leaves) 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 10 simulation clock •time-advance mechanism –keep track of current value of simulated time –no explicit unit of measurement → same unit as input parameters (be consistent!!) •two approaches –next-event time advance •simulation clock initialized at time 0 •times of future events are determined •clock is advanced to the next future event (nothing happens/changes between) –fixed-increment time advance 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 11 Simulation of Single-Server Queuing System (M/M/1) 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 12 M/M/1 •interarrival times (service times) –A1, A2, A3, …. (S1, S2, S3, ….) –iid (independent and identically distributed) random variables •arriving customer (served FCFS/FIFO) –who finds the server idle: is served immediately –who finds the server busy: joins the end of a single queue •upon completion of service –queue: first customer in queue will be serviced –no queue: server is idle again •start of simulation: empty and idle 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 13 M/M/1 •performance measures –expected average delay in queue d(n) –expected average number of customers in queue q(n) –expected utilization of server u(n) 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 14 delay d(n) •estimator of systems performance from customers point of view •on a given run: observed average delay –depends on random service and arrival times –is random itself – estimator for d(n) Di customer delays on a very long (infinite) run delay of a customer can also be equal to zero (D1 = 0) 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 15 number in queue q(n) •customers in queue •customers in system (not being served) •again: observation is just an estimator of true expected value pi T(n) Ti expected proportion of time there are i customers in queue time necessary to observe n delays in queue total time during the simulation the queue is of length i 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 16 utilization u(n) •measures how busy server is •expected utilization = expected proportion of time server is busy (not idle) •busy function •estimator 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 17 performance measures •discrete time statistic –average delay (defined relative to discrete random variables Di) •continuous-time statistic –average number in queue –utilization (defined on continuous random variables Q(t) and B(t)) •other statistics than just averages –minimum, maximum, proportion of time there’re at least 5 customer in queue 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 18 simulation “by hand” necessary random variables (generated from their corresponding probability distribution) •interarrival times A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S2 = 0.7 S3 = 0.2 S4 = 1.1 A5 = 0.2 •service times S1 = 2.0 S5 = 3.7 S6 = 0.6 initializiation (t = 0) system starts emtpy (no customers yet) and idle (server not busy) 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 19 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 5 ea1 = 0.4 initialize system at t = 0 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 9 t Arrivals Departure 20 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 5 ea1 = 0.4 ea2= 1.6 9 t Arrivals Departure ed1= 2.4 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 21 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 5 ea1 = 0.4 ea2= 1.6 ea = 2.1 3 9 t Arrivals Departure ed1= 2.4 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 22 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 5 ea1 = 0.4 ea2= 1.6 ea = 2.1 3 ea4= 3.8 9 t Arrivals Departure ed1= 2.4 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 23 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 5 ea1 = 0.4 ea2= 1.6 ea = 2.1 3 ea4= 3.8 9 t Arrivals Departure ed1= 2.4 ed2= 3.1 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 24 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 5 ea1 = 0.4 ea2= 1.6 ea = 2.1 3 ea4= 3.8 ed3= 3.3 ed1= 2.4 ed2= 3.1 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 9 t Arrivals Departure 25 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 5 ea1 = 0.4 ea2= 1.6 ea = 2.1 3 ea4= 3.8 ed3= 3.3 ed1= 2.4 ed2= 3.1 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 9 t Arrivals Departure 26 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 ea1 ea5= = 0.4 ea2= 1.6 ea = 2.1 3 4.0 5 ea4= 3.8 ed3= 3.3 ed1= 2.4 ed2= 3.1 9 t Arrivals Departure ed4= 4.9 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 27 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 ea1 ea5= = 0.4 ea2= 1.6 ea = 2.1 3 4.0 ea4= 3.8 ed3= 3.3 ed1= 2.4 ed2= 3.1 9 5 ea6= 5.6 t Arrivals Departure ed4= 4.9 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 28 A1 = 0.4 A2 = 1.2 A3 = 0.5 A4 = 1.7 A5 = 0.2 A6 = 1.6 A7 = 0.2 A8 = 1.4 A9 = 1.9 S1 = 2.0 S2 = 0.7 S3 = 0.2 S4 = 1.1 S5 = 3.7 S6 = 0.6 simulation “by hand” Q(t) t B(t) t Events 0 1 ea1 ea5= = 0.4 ea2= 1.6 ea = 2.1 3 4.0 ea4= 3.8 ed3= 3.3 ed1= 2.4 ed2= 3.1 9 5 ea6= 5.6 t Arrivals Departure ed4= 4.9 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I ed5= 8.6 29 simulation “by hand” Q(t) t B(t) t Events 0 1 ea1 ea5= = 0.4 ea2= 1.6 ea = 2.1 3 4.0 5 ea4= 3.8 ed3= 3.3 ed1= 2.4 ed2= 3.1 ea7= ea6= 5.6 9 t 5.8 ea8= 7.2 Arrivals Departure ed4= 4.9 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I ed5= 8.6 30 average waiting time d(n) Events 0 x x 1 ea1 = 0.4 ea2= 1.6 ea = 2.1 3 ea5= 4.0 ea4= 3.8 ed3= 3.3 ed1= 2.4 ed2= 3.1 5 ea7= 5.8 ea6= 5.6 x 9 ea8= 7.2 t Arrivals Departure ed4= 4.9 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I ed5= 8.6 31 Q(t) 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 8.6 7.2 5.6 5.8 4.9 4.0 3.1 2.4 2.1 1.6 0.0 average number in queue q(n) 32 average utilization u(n) 8.6 3.8 3.3 0.4 0.0 B(t) fraction of time server is busy 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 33 Necessary Steps for Simulation 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 34 formulate problem and plan the study model valid collect data and define model no yes no assumptions still valid yes design experiments make production runs construct a computer program & verify analyze output data test runs present results 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 35 Advantages and Disadvantages of Simulation 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 36 advantages complex models cannot be solved analytically → only simulation possible allows to estimate the performance of an existing system under some projected set of operating conditions alternative proposed system designs (operating policies) can be compared easily better control over experimental conditions study system over long time frame 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 37 disadvantages each run of a stochastic model produces only estimates of true measures → several independent runs (or one very long one) needed expensive and time consuming need to make sure the model is valid 040669 || WS 2008 || Dr. Verena Schmid || PR KFK PM/SCM/TL Praktikum Simulation I 38