Simulations Midterm 1 Review
Source
1. entities enter at the source; they wait in the OutputBuffer station to transfer into the network of the Output node 2. properties include Entity Type (instance), Arrival Mode, Entities per Arrival, and Stopping Conditions 3. Arrival Mode includes Inter-arrival Time, Time Varying Arrival Rate, On Event, and Arrival Table 4. entity symbols can be randomized by placing the entity instance, adding additional symbols, and setting Randomize Symbol to True
Simulation is used for...
1. evaluation of a system 2. compare configurations or designs 3. find the accurate solution 4. identify ways to optimize
Pure event-scheduling approach
1. identify events and states 2. sequence of events, ordered in time 3. a process associated with event 4. system state changes at each event 5. during processing of an event, no simulated time passes
Initial transient period
1. initial period of time from time 0 to the point at which the model reaches steady state 2. metrics you collect from this period of time can bias your overall results
M/M/1
Markovian inter arrival, markovian service time, single server, INFINITE CAPACITY
SMORE plots are based on the ___ and ___ (MORE plot)
Measure of Risk, Error
Sample is composed of summary measures ________, not observations within replications
across replications
If the definition changes...
all instances of that definition also change
Entity
anything that arrives, occupies a server for some period of time and departs
Object definitions are derived from a ___ that defines it's core functionality
base class
How do you determine the desired number of replications (n) for your model analysis?
based on a desired mean of the statistic
Holding Time
category used for entity time held in a station location or held in a batch
FlowTime
category used for entity time in system (population or by Sink) or entity time on link
Content
category used for statistics on the number of things inside or on something, such as NumberInSystem, or NumberOnLink - counts
Capacity
category used for statistics related to capacity, including number units allocated over times, units scheduled and utilization of the object
Throughput
category used for total items entered/created or items exited/destroyed
Costs
category used to show final values of cost for each object or cost center, in addition to Population.Cost statistics for Entity and Transporter type objects
ResourceState
category used to show occurrences, percent and average times in each of the resources states in which an object may be
I want to model my system as the following: identify the key events in the system, times of events and process associated with these events to change system state. What type of modeling approach would I take?
event-based
Number in queue (queue length)
number of entities in queue (not counting any entities who might be in service)
Number in system
number of entities in queue plus in service, either at a station separately or overall in the whole system
Counts
number of parts that exited, entered, etc. (e.g. production)
An object is an instance of an ____.
object definition
Half width
one half of the confidence interval
Queueing system
one which entities arrive, get served either at a single station or at several stations in turn, might have to wait in one or more queues for service, and then may leave
if the warm-up period is too long...
our sampling error will be higher than necessary (as we increase the warm-up period length, we decrease the amount of data that we actually record)
Source population
set from which the arrivals and customers come
Confidence interval
used to say that we are 95% confident that the true means exists within a certain interval
Simulation clock
variable that keep tracks of the time and provides current value of time in simulation, has no relationship with real time
The best way to create a steady state in a simulation is to create a ____
warm-up period
In a discrete event simulation model, state of the system changes...
when defined events happen at discrete points in time
An object is placed into the facility view of a ____.
model
Queueing disciplines
1. First in, first out (FIFO) 2. Last come, first served (LCFS, stacking) 3. Shortest job first (SJT) 4. Random service selection (RSS) 5. Priority queues
Summary of an Object
1. Instances of an object definition 2. Derived from one of six base classes 3. Resources that may be seized and released by other objects 4. Smart objects interact with other objects
Terminating Simulations
1. Known starting and stopping conditions 2. time frame is know and finite 3. start empty and idle 4. warm-up period ignored
Model validation issues
1. NO model is totally representative of the system under study 2. since each revision of the model involves cost, time and effort, modeler must weigh the possible increase in model accuracy vs. cost of increased validation effort 3. usually modeler and model users have some max level of discrepancy between model predictions and system behavior that would be acceptable
Modeling approaches
1. Process-interaction 2. Object-oriented 3. Pure event-scheduling (event-driven)
Object classes
1. all object definitions are derived from an underlying class that defines it's core functionality 2. an object's logical model adds specific behavior to the base class behavior
SMORE plots are a combination of...
1. an enhanced box plot 2. a histogram 3. simple dot plot of individual replication summary responses
Inheritance
1. an object is an instance of a class, this has all the characteristics of that class 2. and object can inherit attributes and behavior from another project 3. EX: a brain surgeon.. is a surgeon.. is a physician.. is a healthcare worker
Server
1. arriving entities seize/release the Server 2. the Server Allocation Queue is ranked; selection is based on first queue or the Dynamic Selection Rule 3. Fixed capacity or follows a Work Schedule 4. Both the InputBuffer and the OutputBuffer stations can have their capacities set to zero 5. If OutputBuffer capacity is 0 entity completing Processing will wait in Processing to move through output node into the network 6. If InputBuffer capacity is 0 entities entering from the network through input node proceed directly to Processing 7. if Processing station is at capacity it will block entities attempting to enter 8. InputBuffer is ranked based on the Ranking Rule property, that can be specified as FIFO or LIFO 9. Serve object is a RESOURCE
Initialization bias
1. bias in output statistics due to the initial transient or warm-up period 2. depending on model, parameters, and run length, the bias can be severe 3. Bias usually downward (results are biased low) in queueing-type models that eventually get congested
Model Verification
1. building the model right 2. purpose is to assure that the conceptual model is reflected accurately in the computerized representation
Model Validation
1. building the right model 2. utilized to determine model is an accurate representation of the real system 3. achieved through calibration of the model
Possible methods of reducing bias
1. collect data on actual system, if exists, to identify a better starting state, more typical of steady state 2. make the run so long that bias is overwhelmed 3. Delete some number of observations from the beginning of the run, and only use the remaining observations to estimate the steady-state mean
Encapsulation
1. combining methods/processes and attributes into one unit 2. they are called classes in general programming languages 3. in simio each object is a combination of attributes and its core processes
Techniques for Model Verification
1. compare with queueing theory or simplifying assumptions 2. write and debug in modules and subprograms 3. have more than one person review the program 4. sensitivity analysis under a variety of settings of input parameters and check that output is reasonable 5. debug using a trace 6. observe animation 7. compute sample mean and variance for each simulation input probability distribution and compare them with the desired mean and variance 8. use commercial simulation package to reduce amount of programming required
Key differences between a deterministic and stochastic model
1. computational model is designed using a random conceptual model vs a deterministic conception model 2. arrival of events are random times vs deterministic times 3. the process followed by each object is random vs deterministic 4. service time for each entity is deterministic vs drawn from a random variable
Types of performance simulation measures/metrics
1. counts 2. observation-based statistics 3. time-persistence/time-average statistics
two types of dynamic
1. discrete 2. continuous
Sink
1. dynamic entities depart the system at the InputBuffer fo the Sink 2. only one entity at a time can processed by the Sink 3. the Time in System is automatically recorded 4. comes with an attached queue for animated the entity in the InputBuffer station
2 types of of simulation
1. dynamic, stochastic, discrete simulation 2. discrete event simulation
3 main Object-Oriented principles relevant to simulation
1. encapsulation 2. inheritance 3. abstraction
Exponential distribution
Events happen independently and randomly with a constant rate over time, the time between successive events follows an exponential distribution
Process-interaction approach
1. instead of modeling systems as events/state, in terms of different processes 2. way of thinking 3. identify entities 4. identify process for entity in the system 5. entities are created, flow around or through the system, maybe leave 6. "program" consists of a description of what happens to the different kinds of entities (including their entry and exit 7. events are still an integral part 8. events can spawn entities and processes 9. events can also be fired during the execution of processes 10. even in a process oriented approach event sub-routines are used in event scheduling & observations recording
Monte Carlo Simulation
1. method that estimates the value of an unknown quantity (stochastic process) using inferential statistics 2. NO TIME DIMENSION 3. furnished the decision maker with a range of possible outcomes and the probabilities they will occur for any choice of action 4. extreme possibilities, most conservative decisions, and middle-of-the-road decisions
SMORE is similar to a box plot in its default configuration. It displays:
1. minimum observed values 2. maximum observed values 3. sample mean 4. sample median 5. "lower" and "upper" percentile values
Objected oriented approach
1. model system as collection of objects and agents interacting 2. a more natural and intuitive approach to modeling complex systems 3. identify objects, its attributes, processes and how they may interact with other objects 4. objects interact as simulation progresses through simulated time
Discrete Event Simulation (DES)
1. modeling system behavior as it evolves over time 2. system state change at discrete points in time
Advantages of general-purpose programming languages
1. more widely known, available 2. usually executes faster if well written 3. may allow more modeling flexibility 4. software cost is usually lower 5. would be like re-inventing wheel for many problems
Abstraction
1. presenting the user with only relevant details 2. EX: in simio each object is presented only with relevant details -- server object
What is the advantage of using a simulation package such as simio over a general-purpose programming language (C)?
1. programming effort is low 2. provides a framework for simulation modeling 3. easier to modify existing models 4. has built-in error detection
Advantages of simulation packages
1. provide most modeling features, so low programming effort, cost is reduced, often significantly 2. natural framework for simulation modeling 3. usually make it easier to modify models 4. better error detection for simulation-specific errors
Any object can declare itself as a resource
1. resources have a capacity that can be seized by multiple objects (entities) 2. resource capacity can fixed or follow a schedule
Replication
1. separate runs of a model with a fixed starting and ending condition but using independent non-overlapping random numbers 2. resetting and running it again is the same replication
Three core objects whose attributes and logic can be re-used in many situations
1. source 2. sink 3. server
Steady-state simulation
1. state of the model after it has long a certain time period 2. after the initial effects have worn out 3. there is a certain pattern to how the system works 4. queueing theory provides steady state estimates 5. initial conditions not always well-defined, but does not really matter 6. no defined stopping condition (theoretically infinite)
Warm-up period
1. statistics are not collected thought the model is running as usual during this period 2. after this period, stats are collected as usual
T or F, every time I run the model, reset and run it again manually from the facility window, it is a different replication
F
Increase ___ until h is within a desired level of precision of the estimate
n
Service time
a nonnegative time interval for whatever takes place that occupies both the customer and a server
How do you model the service times of two cashier in a coffee shop using one server object?
Through processing time and capacity of server object
The sink object processes one entity at a time, T or F?
True, to keep record and calculate statistics
Any object may seize capacity of another object and use it as a "resource"
When an object is released it is reallocated by either selecting the first in the allocation queue, or dynamically selecting from all waiting objects based on a rule
An object represents a physical component of the system such as a...
customer, worker, machine, vehicle, or pathway
Service process
described by a service time distribution which could be an probability distribution that is non-negative
What is D/M/2/200?
deterministic inter arrival, Markovian service time, 2 servers, 200 is the max capacity of the system
Where is an object definition defined?
in an object library or the project
How long should the warm-up period be?
insert dynamic animated Status Plots in the Simio's model's facility window and just make a judgement about when they appear to stop trending systematically
What controls the behavior of an object?
it's definition
An entity is in queue if...
it's waiting in the line but not "in service"
Finite source population
limited number of potential customers
Safest approach to determine the warm-up period
make warm-up period long and increase the overall run length and number or replications in order to achieve acceptable levels of sampling error
Number of servers (channel capacity)
max number of entities that can be served parallelly
Time-persistence/time-average statistics
measures deal with numbers in system, queue, etc. when the values can be classified into different states; SIMIO calls these "State" statistics
Observation-based statistics
measures typically deal with time like waiting time, time in system, etc. SIMIO calls observation-based stats as "Tally" statistics
The actual values for attributes of a stochastic model depend on some...
probabilistic distribution
I want to model as system as the following: identify entities and process carried out by the entities within the system. What type of modeling approach would I take?
process-interaction based
The arrival events and service periods of a stochastic model are...
random
Event-driven
state of the system changes at defined events
Arrival process
stochastic process that describes how the customers appear for service
If the warm-up period is too short...
the results will still have startup bias
SMORE plot is a graphical representation of...
the run results for a summary output performance measure (responses)
How would you typically model the arrivals process (arrivals of customers) in simio?
through inter-arrival time in Source
discrete
time advances in discrete steps
Utilization of a server
time average number of individual servers in the group who are busy, divided by the total number of servers in the group
Time in queue
time entity spends waiting in line
Time in system
time in queue + time in service
continuous
time is a continuum