9 - Simulation Modelling Flashcards
What is a simulation and why do we need it?
Simulation
Something that is made to look, feel or behave like something else, so it can be studied or used to train people
Simulation is reproducing a dynamic process in a system using a model that lends itself to experimentation, to achieve insights that can be transferred to the real world
What is a simulation and why do we need it?
Simulation vs. real world
- simulation allows us to test new strategies and future scenarios in complex systems ceteris paribus
- the goal are not mathematically optimal solutions but a deeper understanding of the system behavior and influences
What is a simulation and why do we need it?
Simulation vs. real world
The paradigms
- discrete-event-based
- agent based (how do we look at decision making in the system?)
- system dynamics (continuous vs. discrete changes)
What is a simulation and why do we need it?
Motivation: Simulation …
- supports the understanding of complex relationships in dynamic systems
- can use an artificial model to predict the real system’s behavior
- can highlight bottlenecks and weaknesses in the real system
- can test “intuitions” objectively
- does not put experimental stress on the real system
- can support strategic and operational decisions (by aiding the understanding of the system, not finding the optimal solution)
What is a simulation and why do we need it?
When not to use a simulation?
If experiments are easily and cheaply realized in the real systems
-> e.g. food testing in the super market
If the desired indicators can be calculated analytically
Discrete-event simulation
- Consider a modeled system as dynamic over time to be characterized by its state
- over time, events occur at particular time points and change the system state
- the simulation control processes events in the order of their occurrence and thereby moves through simulated time; this means that the simulated time does not pass smoothly
Discrete-event simulation
Some concepts of discrete event simulation
Entity
Permanent:
stays in the system (resource, e.g. machine)
Temporary:
moves through the system (e.g. product)
Discrete-event simulation
Some concepts of discrete event simulation
Entity Queue
- list of temporary entities with status waiting for an interaction
- usually assigned to resources
- processing can be FIFO, LIFO, random, …
- processing may depend on entity characteristics (priority queue)
Discrete-event simulation
Some concepts of discrete event simulation
Events
- mile stones in a discrete system
- events describe all system changes
- between events, the system state remains constant
- an event does not use up time - it takes place at a single point in time
Discrete-event simulation
Some concepts of discrete event simulation
Event list
List of all events with their respective time of occurrence
Discrete-event simulation
Some concepts of discrete event simulation
Simulation clock
Variable Stating the current time in the simulation model
-> How much time was spent waiting for something to happen?
Discrete-event simulation
Some concepts of discrete event simulation
Statistics indicator
- Variable storing statistic information about the system
- Example: Mean turn-over rate
Discrete-event simulation
Some concepts of discrete event simulation
Entity state
Entity is busy:
- machine is producing/a work station is being used
Entity is idle (before or after activity):
- machine is available, a customer awaits processing in a queue
Agent-based simulations
What is an agent-based simulation?
- agent-based simulations explicitly model decision makers as agents
Agents can:
- communicate, e.g. queuing up with friends
- perceive system states
- act rationally - or not, e.g. go to the shortest queue vs. go to the cashier who looks nice
- influence system states
- evolve
Agent-based simulations
What are agents?
- usually large sets of interconnected heterogenous agents are modeled to generate emergent effects
- > form patterns (can be observed) = emergent effects
- agent-based simulations are usually modeled on discrete time concepts
- > they can be event-based
- > they can be combined with continuously modeled environments
- the ODD Protocol was designed to make agent-based simulations replicable
System-dynamic simulations
System-dynamic simulations qualitatively model effects of continuous influence factors
- holistic approach of systems, integrating many subsystems
- focuses on policies and system structure
- Feedback loops to represent the effects of policy decisions
- dynamic view of the cause and effect relationships among system elements
- minimal data requirements to build a model
Originally from mechatronics, modeling continuous processes through differential equations
How to build a model
Conflict
When modeling the desire for highly detailed models and minimal development costs conflict
How to build a model
Ways to derive a model from the real system
Reduction:
- abandonment of unimportant system components
Abstraction:
- generalization of specific system characteristics
How to build a model
Solution to the conflict
Model as detailed as necessary, but as simple as possible, because every detail,
- requires valid data and rules
- increases complexity and computational effort
- increases the maintenance costs
How to build a model
Modelling topics
Context Structure Realization Assessment Implementation
How to build a model
Modelling topics
Context
What do I know is going on?
What do I assume?
Who is my client?
What does my client want?
How to build a model
Modelling topics
Structure
What are variables and relationships?
What kinds of model should I make via what process?
How should I analyse data to understand the problem?
What are the steps in any model that define a procedure?
How to build a model
Modelling topics
Realization
How can I make my model yield results?
What data is available and how will I get it?
How do I estimate parameters (that I don’t know)?
What software will I use?
How to build a model
Modelling topics
Assessment
What potential value does my model offer the client?
Is my model correct, feasible, acceptable?
Will there be problems with algorithms or data?
How to build a model
Modelling topics
Implementation
How can I use the model to help my client?
What does the client have to do to use the model successfully?
How to build a model
Mistakes by novice modelers
- Over-reliance on available data
- Taking shortcuts
- Insufficient use of abstract variables/relationships
- ineffective self-regulation
- overuse of brainstorming
How to build a model
Mistakes by novice modelers
Over-reliance on available data
- analysis / calculations on data
- specifying tool (Regression) rather than model
How to build a model
Mistakes by novice modelers
Taking shortcuts
- deciding on an answer
- doing calculations
- “magic wand”: assuming data would solve problem
How to build a model
Mistakes by novice modelers
Insufficient use of abstract variables / relationships
- tend not to define variables, want a spreadsheet
- lack of diagrams / sketches
How to build a model
Mistakes by novice modelers
Interactive self-regulation
Not monitoring and evaluating progress
How to build a model
Mistakes by novice modelers
Overuse of brainstorming
lack of structure
How to build a model
Real-world problems
Characteristics and Consequences
Characteristics:
- uncertainty
- multifacetted
- many points of view (different perceptions, perspectives)
- several assumptions
- messy (system of inter-related problems)
- ambiguity and disagreement
- always changing
Consequences:
- no single solution and no permanent solution
How to build a model
What a model requires
Empirical knowledge, theoretical theses & imagination (assumptions)
- Ideally: empirical knowledge > formal theory > imagination
- simulations can help to explicate models, as they leave little room for hazy definitions
Exemplary modelling concepts
- UML: Unified Modelling Language, designed for object oriented system development
- ODD Protocoll
Conceptual model
The conceptual model is a complete (software independent) description of the model, from which the computer model can be built
Conceptual model
Components
Entities
- we need to know each entity
Equations
- operationalise the relationship
- e.g. computing time they need for shopping
Variables
- need to know all the variables that affect the entities
Relationships
- e.g. customers are friends - do they interact?
Stochasticity
- Is the equation deterministic? Are there other factors that add noise/errors?
Conceptual modelling
- always happens even if we don’t write down the conceptual model and go straight to building the model in the software (not recommended)
- it is all the decisions about what we are going to include in the model based on our understanding of the reals system
- needs to be related to objectives of the project
- often considered as an “art” and learnt with experience
Conceptual models
Seek the model that yields the best project performance
Results
- scope of model output, accuracy, understanding
Future use
- model portability
Confidence in the model
- Verification, validation, credibility
Resources
- build time, run time, time to analyse results, hardware requirements
Conceptual models
Simple models
Advantages and disadvantages
Advantages:
- easier to understand
- quicker to build, test, run, change
- need less data
- easier to experiment with
- easier sensitivity analysis
Disadvantages:
- may have less validity
- > may be less accurate (may be further away from the real world) (although not necessarily)
- > perhaps less confidence in the model
- > Hence we want the simplest valid model
- > simple: make assumptions about the system
Conceptual models
Assumptions
When are assumptions made?
Assumptions are made when there is a lack of knowledge about the real system
Conceptual model
Assumptions
What should assumptions be assessed for?
Confidence:
- the level of certainty that the assumption about the way the real system will operate is correct
- > approximately large enough
Impact:
- The estimated effect on the model results if the assumption is incorrect
- > What are the implications if the assumption is incorrect?
Conceptual model
Assumptions
Options when dealing with low confidence, high impact assumptions
- worst case
- sensitivity analysis
- decision variable
- more information, e.g. measure information about customer arrival
- highlight in results
- stop project -> if the assumption is very high impact, that if we are wrong it would turn over our results, we may have to stop the project
Conceptual model
Simplifications
What are they and what should they be assessed for?
Simplifications are choices to model the system in a simpler way. They are the essence of modeling.
Should be assessed for impact:
- the estimated effect on the model results of making the simplification
Conceptual model
Simplifications
What types of simplifications are there?
- leave things out (model scope)
- group activities and entities
- restrict range of values of variable
- use different type of model (aggregation, simplification)
- scale - slow changes as constants, averages (beware!) (Are we looking at one day or weeks?)
Conceptual model
Simplifications
Options for medium or high impact simplifications
- remove simplification (model the factor) (Is it worth to simplify)
- take account of simplification in result analysis
Conceptual model
Simplifications
Simplifying an existing model
Advantages and disadvantages
Any model is a simplification. Simplifying an initial model may be a good approach
Advantages:
- increased understanding
- easier experimentation and analysis of results
- cross validation and verification
Disadvantages:
- time consuming
- danger of misleading results (removing entities from the model can lead to misleading results)
- reduced experimental frame