Download presentation
Presentation is loading. Please wait.
Published byFelix Miles Modified over 9 years ago
1
Digital Systems Simulation 56:178 M. C. (Jothi) Jothishankar, Ph.D. Advanced Manufacturing Technology Rockwell Collins
2
Course Website css.engineering.uiowa.edu/~dss Username: Not Necessary password: Not Necessary
3
Grading Method n Homework25% n Midterm Exam20% n Term Project30% n Final Exam25%
4
Homework and Exams n Homework is due at the beginning of class on the day it is due. — Late submissions are not accepted. n Two in class exams — Mid term, Final exams — Exams are closed book.
5
Calendar n Project Proposal and presentationSeptember 16 n Mid TermOctober 7 n Project ReportDecember 1 n Project PresentationsDecember 2 and 9 n Final ExamFinal Exam Week (December 16)
6
Course Communication n My email:mcjothis@rockwellcollins.com 319-295-2111 (O) 319-621-5637 (C) Office Hours: Tuesdays: 5.00 pm to 6.30 pm. Room 1139 SC n TA: Chun-Ling Chuang cchua@engineering.uiowa.edu Office Hours: Wednesdays: 10.30 am to 12.00 pm (Or by appointment). Room 3217 SC Natalie Vanosdel nvanosde@engineering.uiowa.edu Office Hours: Mondays & Fridays: 1.30 pm to 2.20 pm (Or by appointment). Room 3217 SC
7
Goal of This Course n At the end of this course, you should: — Be familiar with principles of discrete event simulation — Be able to identify systems amenable to simulation — Build models for such systems — Be able to identify suitable performance metrics — Design and implement simulation programs — Have experience with a modern simulation tool — Be familiar with basic statistical questions — Be aware of common pitfalls n Emphasis is on practical problems and questions, not on theory
8
Course Topic n Evaluate performance of a system n Three classical approaches: — Experiments - measure performance of an actual system at work — Analytical Methods - Use mathematical equations to describe system performance — Simulation - Build model of the system and use it to numerically evaluate system performance
9
Course Topic n What is a system? n What are operations of a system? n What is performance? n On what does performance depend? n What is a model? n How to build a model? n How to numerically evaluate it? n How to interpret the results of such an evaluation
10
Non-Goals of This Course n Mathematical analysis tools for performance evaluation n Experimental approaches n Statistics course n Programming course
11
What is a System? A system is a group of components, that mutually affects each others behavior, working together toward a common goal taking inputs and producing outputs. You can describe a system by: n Specifying the components the system consists of. n Describing the characteristics of the components. n And finally specifying the relations between these components.
12
Example: Transaction Processing System SalesPurchases Supplier Customer Factory Raw Material Finished Goods Purchase Order Invoice Work Orders Pay checks Sales Order Customer Payments Purchasing AccountingSales Marketing Work In Progress Inventory
13
Example: Information System An organized combination of people, hardware, software, communications network, and data resources that collects, transforms, and disseminates information in an organization. Information Systems People Technology Organizations Environment
14
System n We will describe, model, and analyze systems n System: A group of interacting elements n System is defined by its purpose or function n System can be in different states n State can be expressed by the values of a set of variables n Dynamic systems change their state over time
15
Types of Systems n State can be continuous or discrete n In continuous systems, the state of the system is continuous function of time (airplane flying, Earth turning, etc) n In discrete systems, the state of the system changes instantaneously in separate points of time n Which rules govern the process of state changes? n Which level to choose? n How to describe the system?
16
Models n If the actual system is not available for investigation, a model of the system can be constructed with approximations and assumptions. n Model is built to capture relevant properties of the original system n Models can be: — Physical Models: scale representation of system (Flight simulators) — Mathematical Models: Represent system with appropriate mathematical or logical formalism (an airplane is described by the laws of aerodynamics) n We will only consider mathematical models
17
Studying Logical Models n If model is simple enough, use traditional mathematical analysis … get exact results, lots of insight into model — Queueing theory — Differential equations — Linear programming n But complex systems can seldom be validly represented by a simple analytic model — Danger of over-simplifying assumptions … model validity? n Often, a complex system requires a complex model, and analytical methods don’t apply … what to do?
18
Computer Simulation n Broadly interpreted, computer simulation refers to methods for studying a wide variety of models of systems — Numerically evaluate on a computer — Use software to imitate the system’s operations and characteristics, often over time n Can be used to study simple models but should not use it if an analytical solution is available n Real power of simulation is in studying complex models n Simulation can tolerate complex models since we don’t even aspire to an analytical solution
19
The Bad News n Don’t get exact answers, only approximations, estimates — Also true of many other modern methods — Can bound errors by machine roundoff n Get random output from stochastic simulations — Statistical design, analysis of simulation experiments — Exploit: noise control, replicability, sequential sampling, variance-reduction techniques — Catch: “standard” statistical methods seldom work
20
Models n Models can be: — Static — a model where only a certain, fixed state of a system, is considered; state changes are not taken into account (Ex: throwing dice) — Dynamic — reflect the system state changes as it evolves over time (Ex: Bank) n Models can be: — Continuous Models — describes the system such that the states variables are a continuous function of time (Ex: Chemical plants) — Discrete Models — change of state only happens in discrete, well separated instances of time; the state of the model can only change when an event occurs (but need not necessarily change at every event) (Ex: Parts manufacturing)
21
Models n Models can be: — Deterministic Models: a model where the evolution of state is completely described such that it only depends on the initial state (Ex: reserved seats at Hancher) — Stochastic Models: a model where the evolution of state depends on random events (random in both time of occurrence or nature); output/results for such model not only depend on initial state but also on the values of random variables; there is no a single (fixed) output for such models (Ex: seating at a restaurant)
22
Different Kinds of Simulation n Static vs. Dynamic — Does time have a role in the model? n Continuous-change vs. Discrete-change — Can the “state” change continuously or only at discrete points in time? n Deterministic vs. Stochastic — Is everything for sure or is there uncertainty? n Most operational models: — Dynamic, Discrete-change, Stochastic
23
Good Models n Appropriate representation of the system, depending on the goals n As simple and small as possible without impeding appropriateness n Reusable for similar systems n Parameterizable
24
System Overview System StaticDynamic ContinuousDiscrete DeterministicStochasticDeterministicStochastic
25
Model Overview Model StaticDynamic ContinuousDiscrete DeterministicStochasticDeterministicStochastic PhysicalMathematical
26
System Evaluation Goals n Gain insight into system operation and performance n Characterize parameter/metrics interrelationship n Use results to: — Improve design — Compare two systems with respect to particular metric(s) — Evaluate the effects of system modification — Reduce costs
27
Evaluation: Parameters and Metrics n Most systems have a set of parameters which set and select system behavior, and serve as input to system evaluation n System evaluation attempts to characterize a system using a set of metrics n Choice of appropriate parameters and metrics is of pivotal importance
28
Course Objective Simulation of mathematical, dynamic, discrete models Discrete Event Simulation is the main focus of this course.
29
Simulation: A Simple Example n Perform a performance evaluation of a single server system n Performance criteria: — Average customer waiting time — Average number of customers in the line — Server utilization
30
Model Description n System Entities — Customers — Server n Input parameters: — Customer arrival pattern — Service time — Line (queue) organization
31
Model Description (Cont.) n System Operation: — Server is idle: — Customer arrives and is serviced immediately — Server is then busy until the customer is served completely — Server is busy: — Customer arrives and joins the end of queue — When server becomes idle, the first customer in the queue is now served; if not customer in queue, the server becomes idle
32
Manual Simulation n Simulation start time: t=0 (Time should be in same units) n Initially, the server is idle, no customers are waiting n Observe the model in its operation as customers enter and leave the model, as the model changes its state Server
33
Manual Simulation n At some point of time, a customer A arrives, say t=2.1 n The server is now busy n Assume this customer needs 1.2 time units to be served Server A is being served
34
Manual Simulation n At t=3.3, the customer leaves the system n The queue is empty, the server becomes idle again Server
35
Manual Simulation n At t=4.5, the next customer B arrives n The queue is empty, the customer begins service immediately, the server is then busy n Assume this customer needs 3.7 time units for service Server B is being served
36
Manual Simulation n At t=4.9, the next customer C arrives n The server is then busy, customer C joins the queue n Assume this customer C will need 1.8 time units for service Server B is being served Will finish: 8.2
37
Manual Simulation n At t=5.6, the next customer D arrives n Customer D enters the queue Server B is being served Will finish: 8.2 Clock: 5.6
38
Manual Simulation n The next customer E will arrive at t=9.3 n First, have a look first what happens at t=8.2: customer B leaves the system, customer C is taken into service Server C is being served Will finish: 10.0Clock: 8.2 Customer will arrive: 9.3
39
Manual Simulation n Compare the time the current customer will finish with the time the next customer will arrive n Next event that changes the state of the model is the arrival of a new customer at t=9.3 n Set the clock to this time and update the state Server C is being served Will finish: 10.0Clock: 8.2 Customer will arrive: 9.3
40
Manual Simulation n Customer E arrives at t=9.3 and is put into the queue n The arrival of the next customer is at t=12.2 n Next event to process is completing service for customer C at t=10.0 Server C is being served Will finish: 10.0Clock: 9.3 Customer will arrive: 12.2
41
Manual Simulation n C finished, remove D from the queue and put it on the server n Set finish time for the customer D n Next event to process is arrival of new customer at t=12.2 Server D is being served Will finish: 13.5Clock: 10 Customer will arrive: 12.2
42
Manual Simulation n You got the idea! n We observed the model only at the points in time when the state of the model changed n These points in time were explicitly represented by the simulation clock variable n The state of the model changed due to two different kinds of events: — Arrival of customers — Customers finishing service and leaving the server
43
Next-Event Time Advance Algorithm n Initialize simulation clock to 0 n Determine times of occurrence of future events n As long as there are events to be processed: — Increment the simulation clock to the time of the next event — Update the system state as required by the occurrence of this event — Compute times for future events
44
System Parameters n Parameters are (not taken into account in this manual simulation): — Pattern of customer arrival — Deterministic modeling impossible — Stochastic modeling: the time between customers is a random variable, choose a distribution for this variable — Common case: interarrival time is exponentially distributed characterized by the distribution’s mean — Pattern of service time — Similar to arrival pattern — Service time modeled as a random variable, e.g. also with an exponential distribution
45
System Metrics n Initial goal was to investigate: — Server utilization (“what percentage of time is the server busy?”) — length of the queue (“how much space do we need in the store?”) — Waiting time of customers n How to capture such information from a simulation
46
Measuring Server Utilization n Directly measuring utilization is difficult n Instead, measure the absolute time the server has been busy, and at the end divide it by the total time that has been simulated: — Introduce a counter “busytime”, initialize to zero — At every event: if the server has been busy in the time before this event, add the time since the last event to “busytime” — Additional counter “time_of_last_event” is necessary; before setting simulation clock to the new time store it in “time_of_last_event”
47
Measuring Customer Waiting Time n How much time does a customer spend in the queue? n When putting customer in queue, mark it with the time this was done n When retrieving customer from queue, take difference between current simulation clock and time of entry into queue n If customer does not enter queue, waiting time is 0
48
Measuring Customer Waiting Time n Example from simulation: waiting time for customer C Server B is being served C 4.9 Will finish: 8.2 Clock: 4.9 Customer will arrive: 5.6 Server C is being served D 5.6 Will finish: 10 Clock: 8.2 Customer will arrive: 9.3 n Waiting time for customer C is current simulation clock - time of enqueueing = 8.2 - 4.9 = 3.3
49
Measuring Customer Waiting Time n This yields waiting times for each customer n How to aggregate this information n Build the average! — Let D i stand for the delay of customer i (possible 0) — Computer the usual arithmetic average of the D i s 1/n S D i I=1 n
50
Measuring Queue Length n Discrete-valued function over time, changing at arbitrary points in time (customers joining and leaving) n Appropriate representation: average of this function over time 1 2 3 Number of customers in queue Time n Computer the total area under the curve and divide by the total simulated time
51
Different Kinds of Metrics n Average waiting time for customers — Average is taken over a discrete set of individuals — Measured value is time — Example for a discrete-time metric n Average queue length — Average is continuously taken over time — Measured value is a number, a discrete metric — Example of a continuous-time metric
52
Meaning of Measurements n What is the correct interpretation of such simulation-based measurements? n Look e.g. at waiting time in queue — Let D i represent the waiting time as measured for customer i — This refers to one particular simulation run - or to observations on one particular day (for the real system) — For different simulations, the D i s will be different — D i s are averaged over n customers to obtain aggregate information — Other possible aggregations: max, min, … n Both D i s and their aggregates will change from one set of observations to the next
53
How Long to Run Simulations? n Depends on the purpose n Sometimes (rarely): behavior of system for a well-defined finite amount of time is of interest n Sometimes: simulate for a certain fixed amount of simulated time, or a fixed number of events n Often: certain metrics (depending on input parameters) are of interest. Simulate as long as it takes for the estimation of these metrics to have reached a desired quality level n “Stopping rules” regulate when to stop a simulation
54
Pieces of a Simulation Model n Entities — “Players” that move around, change status, affect and are affected by other entities — Dynamic objects — get created, move around, leave (maybe) — Usually represent “real” things — Our model: entities are the parts — Can have “fake” entities for modeling “tricks” — Breakdown, time-off — Usually have multiple realizations floating around — Can have different types of entities concurrently — Usually, identifying the types of entities is the first thing to do in building a model
55
Pieces of a Simulation Model (cont’d.) n Attributes — Characteristic of all entities: describe, differentiate — All entities have same attribute “slots” but different values for different entities, for example: — Time of arrival — Due date — Priority — Color — Attribute value tied to a specific entity — Like “local” (to entities) variables — Some automatic in Arena, some you define
56
Pieces of a Simulation Model (cont’d.) n (Global) Variables — Reflects a characteristic of the whole model, not of specific entities — Used for many different kinds of things — Travel time between all station pairs — Number of parts in system — Simulation clock (built-in Arena variable) — Name, value of which there’s only one copy for the whole model — Not tied to entities — Entities can access, change variables — Writing on the wall — Some built-in by Arena, you can define others
57
Pieces of a Simulation Model (cont’d.) n Resources — What entities compete for — People — Equipment — Space — 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 — Seats at a table in a restaurant — Identical ticketing agents at an airline counter — Number of units of resource can be changed during the simulation
58
Pieces of a Simulation Model (cont’d.) n Queues — Place for entities to wait when they can’t move on (maybe since the resource they want to seize is not available) — Have names, often tied to a corresponding resource — Can have a finite capacity to model limited space — have to model what to do if an entity shows up to a queue that’s already full — Usually watch the length of a queue, waiting time in it
59
Pieces of a Simulation Model (cont’d.) n Statistical accumulators — Variables that “watch” what’s happening — Depend on output performance measures desired — “Passive” in model — don’t participate, just watch — Many are automatic in Arena, but some you may have to set up and maintain during the simulation — At end of simulation, used to compute final output performance measures
60
Overview of a Simulation Study n Understand the system n Be clear about the goals n Formulate the model representation n Translate into modeling software n Verify “program” n Validate model n Design experiments n Make runs n Analyze, get insight, document results
61
Conclusion n A simple cashier queue served as example for many problems in simulation n Performed a manual simulation of such a model n Discussed parameters and metrics n Discussed relationship between statistical properties of the modes as such and estimations of these properties by simulation
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.