COM 321: SIMULATION AND MODELING
BY: TAREMWA DAN dtaremwa@yahoo.co.uk 0702925914
CHAPTER ONE
INTRODUCTION TO SIMULATION AND MODELING
In this chapter you will learn:
Definitions and explain systems and experiments Definitions of model and simulation Application of modeling and simulation Advantages and disadvantages Need for simulation and modeling Types of modeling and simulation paradigms
Systems and Experiments
Definition: A system is any set of interrelated components acting together to achieve a common objective.
inputs
The inputs of a system are variables of the environment that influence the behavior of the system. These inputs may or may not be controllable by us.
outputs
The outputs of a system are variables that are determined by the system and may influence the surrounding environment. In many systems the same variables act as both inputs and outputs.
METHODS OF STUDYING VARIABLES
EXPERIMENTATION STATISTICS SIMULATION
Definition: experiment
An experiment is the process of extracting information from a system by exercising its inputs.
PRACTICAL PROBLEMS ASSOCIATED WITH PERFORMING AN EXPERIMENT
The experiment might be too expensive: investigating ship durability by building ships and letting them collide is a very expensive method of gaining information. The system needed for the experiment might not yet exist. This is typical of systems to be designed or manufactured.
PRACTICAL PROBLEMS ASSOCIATED WITH PERFORMING AN EXPERIMENT
The experiment might be too dangerous: training nuclear plant operators in handling dangerous situations by letting the nuclear reactor enter hazardous states is not advisable. The shortcomings of the experimental method lead us over to the model concept
The Model Concept
A model of a system is anything an "experiment" can be applied to in order to answer questions about that system. A computer model is a data-driven system that uses an inbuilt set of rules to predict the results of a process or to simulate how a given set of conditions will change over time
Mathematical model
Definition: Mathematical model a description of a system where the relationships between variables of the system are expressed in mathematical form. Variables can be measurable quantities such as size, length, weight, temperature, unemployment level, information flow, bit rate, etc.
Modeling
Definition: Modeling is the process of obtaining a set of equations (mathematical model) that describes the behavior of the system. A model describes the mathematical relationship between inputs and outputs.
Physical model
Physical modelthis is a physical object that mimics some properties of a real system, to help us answer questions about that system. For example, during design of artifacts such as buildings, airplanes, etc.,
simulation
A simulation is an experiment performed on a model. formal definition of simulation: ``the process of designing a model of a real system and conducting experiments with this model for the purpose either of understanding the behavior of the system of or evaluating various strategies (within the limits imposed by a criterion or a set of criteria) for the operation of the system.''
Simulation is the imitation of the operation of a real world system over time.
WHEN IS SIMULATION AN APPROPRIATE TOOL?
Study Complex Systems Evaluate effect of variables Experiment with different designs Test scientific models
WHEN IS SIMULATION AN APPROPRIATE TOOL?
Prior to building a real-world system Provide training environment Validate design Create proof of concept
When NOT to Use Simulation
System is too simple System is too complex System is not understood well enough Real-world experiments are easier Cost/benefit ratio > 1 No experts available to build simulator Simulation has already been done
Advantages of simulation
Test new hardware before buying it Insight about system can be gained Speed up design-build-test-redesign cycle Can be used to verify models or theories Can be used AS COMMUNICATION TOOL
Advantages of Simulation -contd.
Building consensus. Preparing for change. Cost effective investment. Training aid capability. Specification of requirements.
Disadvantages of Simulation
Model building often difficult and not unique Results may be hard to interpret Model and simulator may be too expensive May lead to false conclusions Results are as good as the model Bugs in software are unavoidable Requires human experts
Disadvantages of Simulation
Training required. Interpretation of results required. Time consuming/expensive. Inappropriately used.
10
Application Areas
Manufacturing/ Materials Handling Public and Health Systems Military Natural Resource Management Transportation Computer Systems Performance Communications
11
Applications of Simulations
Designing and analyzing manufacturing systems Evaluating H/W and S/W requirements for a computer system Evaluating a new military weapons system or tactics Determining ordering policies for an inventory system
Applications of Simulation
Designing communications systems and message protocols for them Designing and operating transportation facilities such as freeways, airports, subways, or ports Evaluating designs for service organizations such as hospitals, post offices, or fast-food restaurants Analyzing financial or economic systems
Applications of Simulation
COMPUTER SYSTEMS: hardware components, software systems, networks, data base management, information processing, etc.. MANUFACTURING: material handling systems, assembly lines, automated production facilities, inventory control systems, plant layout, etc.. BUSINESS: stock and commodity analysis, pricing policies, marketing strategies, cash flow analysis, forecasting, etc.. GOVERNMENT: military weapons and their use, military tactics, population forecasting, land use, health care delivery, fire protection, criminal justice, traffic control, etc..
CHAPTER TWO DEVELOPING SIMULATION MODELS
MODEL DEVELOPMENT PROCESS
The different phases of model development The products at each phase of the model development
Steps in Simulation Modeling
Problem Formulation Goal Setting Model Conceptualization Data Collection Model Translation Verification and Validation Experimental Design
12
Steps in Simulation -contd.
Production Runs and Analysis Documentation/Reporting Implementation
13
Simulation Procedure
Step 1: Define objective, scope, requirements Step 2: Collect and analyze system data Step 3: Build model Step 4: Validate Model Step 5: Conduct experiments Step 6: Present results Note: Iterations required among steps
Simulation Project Steps
a.- Problem Definition b.- Statement of Objectives c.- Model Formulation and Planning d.- Model Development and Data Collection e.- Verification f.- Validation g.-Experimentation h.- Analysis of Results i.- Reporting and Implementation
A Seven-Step Approach for Conducting a Successful Simulation Study
In Figure 1 we present a seven-step approach for conducting a successful simulation study. Having a definitive approach for conducting a simulation study is critical to the studys success in general and to developing a valid model in particular.
Step 1. Formulate the Problem
Problem of interest is stated by the decisionmaker A kickoff meeting(s) for the simulation project is (are) conducted, with the project manager, the simulation analysts, and subject-matter experts (SMEs) in attendance.
Step 1. Formulate the Problem
The overall objectives of the study The specific questions to be answered by the study (without such specificity it is impossible to determine the appropriate level of model detail) The performance measures that will be used to evaluate the efficacy of different system configurations
Step 1. Formulate the Problem
The scope of the model The system configurations to be modeled The time frame for the study and the required resources
Step 2. Collect Information/Data
Collect information on the system layout and operating procedures. Collect data to specify model parameters and probability distributions (e.g., for the time to failure and the time to repair of a machine).
Construct a Conceptual Model
Develop Causal loop diagrams which studies the relationship between variables Document the model assumptions, algorithms, and data summaries in a written conceptual model.
Step 3. Is the Conceptual Model Valid?
Perform a structured walk-through of the conceptual model before an audience that includes the project manager, analysts, and SMEs. This is called conceptual-model validation.
Is the Conceptual Model Valid?
If errors or omissions are discovered in the conceptual model, which is almost always the case, then the conceptual model must be updated before proceeding to programming in Step 4.
Step 4. Program the Model
Program the conceptual model in either a commercial simulationsoftware product or in a generalpurpose programming language (e.g., C or C++). Verify (debug) the computer program.
Step 5. Is the Programmed Model Valid?
If there is an existing system, then compare model performance measures with the comparable performance measures collected from the actual system (see Step 2). This is called results validation.
What is face validity?
Regardless of whether there is an existing system, the simulation analysts and SMEs should review the simulation results for reasonableness. If the results are consistent with how they perceive the system should operate, then the simulation model is said to have face validity.
What is Sensitivity analysis?
Sensitivity analyses should be performed on the programmed model to see which model factors have the greatest effect on the performance measures and, thus, have to be modeled carefully.
Step 6. Design, Make, and Analyze Simulation Experiments
For each system configuration of interest, decide on tactical issues such as run length, warm up period, and the number of independent model replications. Analyze the results and decide if additional experiments are required.
Step 7. Document and Present the Simulation Results
The documentation for the model (and the associated simulation study) should include the conceptual model (critical for future reuse of the model), a detailed description of the computer program, and the results of the current study.
Step 7. Document and Present the Simulation Results
The final presentation for the simulation study should include animations and a discussion of the model building/validation process to promote model credibility.
CHAPTER THREE
SYSTEM DYNAMICS
More Goals of this course.
To learn how transfer CLDs to Stock & Flow Diagrams, SFDs To learn how to implement SFDs in VENSIM To learn how to parameterize a VENSIM model To learn how to validate a VENSIM model To learn how to conduct what-if experiments To do sensitivity studies
Definitions and Terms
ST--Systems Thinking SD--Systems Dynamics CLD--Causal Loop Diagram BOT--Behavior Over Time Chart SFD--Stock & Flow Diagram
Also called Forrester Schematic, or simply Flow Diagram
quantity--any variable, parameter, constant, or output edge--a causal link between quantities
What is SYSTEM DYNAMICS?
Definition: System dynamics is an approach to understanding the behavior of complex systems over time. It deals with internal feedback loops and time delays that affect the behavior of the entire system.
System Dynamics Software
STELLA and I think
High Performance Systems, Inc. best fit for K-12 education
Vensim
Ventana Systems, Inc. Free from downloading off their web site: www.vensim.com Robust--including parametric data fitting and optimization best fit for higher education
PowerSim
What Arthur Andersen is using
What is system dynamics?
A way to characterize systems as stocks and flows between stocks Stocks are variables that accumulate the affects of other variables Rates are variables the control the flows of material into and out of stocks Auxiliaries are variables the modify information as it is passed from stocks to rates
A Simple Methodology
Collect info on the problem List variables on post-it notes Describe causality using a CLD Translate CLD into SFD Enter into VENSIM Perform sensitivity and validation studies Perform policy and WHAT IF experiments Write recommendations
Causal Modeling
A way to characterize the physics of the system Lacking: a Newton to describe the causality in these socioeconomic systems
Key Benefits of the ST/SD
A deeper level of learning
Far better than a mere verbal description
A clear structural representation of the problem or process A way to extract the behavioral implications from the structure and data A hands on tool on which to conduct WHAT IF
WHY A SYSTEMS PERSPECTIVE?
Facilitates leadership by leveraged action
integrating competing priorities acknowledging and handling unintended consequences Problems facing us are more complex due to increase in information flow interdependencies rate of change
The significant problems we face today
cannot be solved at the same level of thinking
at which they were created.
- Albert Einstein
WHAT IS SYSTEMS THINKING?
Examining how
WE CREATE OUR OWN PROBLEMS
Seeing the BIG PICTURE Recognizing that STRUCTURE INFLUENCES PERFORMANCE
SYSTEMS THINKING TOOLS
Causal Loop Diagrams - a useful way to represent dynamic interrelationships
Provide a visual representation with which to communicate that understanding Make explicit one's understanding of a system structure - Capture the mental model
Causal Loop Diagrams [CLDs]
Definition
Causal Loop Diagrams (CLDs) are structural pictures used to convey understanding about the interactions, or influences, within a structure. A CLD is used to explicitly show the nature of the influence relations between the elements of a structure.
MAIN CONVENTIONS FOR REPRESENTING CLDS
There are two main conventions for representing CLDs, one using "+" and "-" and another using "S" and "O" as indicators on the influence from one element to another.
Meaning of +
A --> B with a "+" on the arrow indicates that "A" adds to "B". If "A" increases it adds even more to "B". If "A" decreases is adds less readily to "B" though it still adds.
Meaning of A --> B with a "-" on the arrow indicates that "A" subtracts from "B". If "A" decreases is subtracts even more readily to "B". If "A" increases is still subtracts from "B" though not as readily.
Influence Structures
If I have two things, thing 1 and thing 2, there are only two ways thing 1 can influence thing 2.
As indicated in Fig 1, thing 1 can add to thing 2, as indicated by a "+" sign, thus increasing thing 2.
examples
Example
+ Costs Losses
-Costs Profits
EXAMPLE: POPULATION
Consider a simple population with infinite resources-food, water, air, etc. Given, mortality information in terms of birth and death rates, what is this population likely to grow to by a certain time? Over a period of 200 years, the population is impacted by both births and deaths. These are, in turn functions of birth rate norm and death rate norm as well as population. A population of 1.6 billion with a birth rate norm of .04 and a death rate norm of .028
We Listed the Quantities
Population Births Deaths Birth rate norm Death rate norm
CLD
Birth rate normal + + Births
R +
population
-B +
Deaths +
Death rate normal
Using VENSIM TO CONSTRUCT CLDs
Use the variable auxiliary/constant tool to establish the quantities and their locations Use the arrow tool to establish the links between the quantities Use the Comment tool to mark the polarities of the causal edges (links, arrows) Use the Comment tool to mark the loops as reinforcing or balancing
Experiments with growth models
Models with only one rate and one state Average lifetime death rates Models in which the exiting rate is not a function of its adjacent state
Example:
Build a model of work flow from work undone to work completed. This flow is controlled by a work rate. Assume there are 1000 days of undone work Assume the work rate is 20 completed days a month Assume the units on time are months Assume no work is completed initially.
Causation vs. Correlation
Ice Cream Sales
Murder rate
Average Temperature
Ice Cream Sales 0
Murder rate 0
Inadequate cause: Confusion
-Market Share Unit Costs
Production + Volume Market Share
Cumulative Produc tion Experience + - Unit Costs
Validation of CLDs
Clarity Quantity existence Connection edge existence Cause sufficiency Additional cause possibility Cause/effect reversal Predicted effect existence Tautology
CLD Examples
Salary VS Performance
Salary Performance Performance Salary
Tired VS Sleep
Tired sleep Sleep tired
Salary
Performance
Tired
Sleep
Augmenting CLD 1 (Labeling Link Polarity)
Signing: Add a + or a sign at each arrowhead to convey more information A + is used if the cause increase, the effect increases and if the cause decrease, the effect decreases A - is used if the cause increases, the effect decreases and if the cause decreases, the effect increases
Signing Arcs
Salary
+
Performance
Tired
-
Sleep
Reinforcing Loop
Definition 1: A reinforcing loop is one in which the interactions are such that each action adds to the other. Any situation where action produces a result which promotes more of the same action, it is representative of a reinforcing loop. An increase in quantity 1 produces an increase in quantity 2 A decrease in quantity 1 produces a decrease in quantity 2
EXAMPLE
EXAMPLE
Fig 1 indicates what happens in a typical savings account. The principal in the savings account interacts with the interest rate and adds to the interest. Note that interest rate is considered to be a constant in this example. Interest then adds to the principal.
Balancing Loop
Definition 1:
A balancing loop is one in which action attempts to bring two things to agreement. Any situation where one attempts to solve a problem or achieve a goal or objective is representative of a balancing loop.
EXAMPLE
EXPLANATION
Fig 2 provides the basic form of the balancing loop. The desired state interacts with the current state to produce a gap. The gap adds to the action and the action adds to the current state. The current state then subtracts from the gap.
Signs of loops
reinforcing loops have an even number of negative links (zero also is even, see example above) Balancing loops have an uneven number of negative links.
Sign of loops
Balancing LOOP
Note: A Negative sign on an information link can be seen by saying either of:
An increase in quantity 1 produces a decrease in quantity 2
Population model
Augmenting CLD 2 (Determining Loop Polarity)
Positive feedback loops
Have an even number of signs Some quantity increase, a snowball effect takes over and that quantity continues to increase The snowball effect can also work in reverse Generate behaviors of growth, amplify, deviation, and reinforce Notation: place symbol in the center of the loop
+ Negative feedback loops
Have an odd number of signs Tend to produce stable, balance, equilibrium and goal-seeking behavior over time Notation: place symbol in the center of the loop
-
CLD with Positive Feedback Loop
Salary Performance, Performance Salary
The more salary I get The better I perform The better I perform The more salary I get
Salary
+
Performance
The more salary I get The better I perform
CLD with Negative Feedback Loop
Tired Sleep, Sleep Tired
The more I sleep The more tired I am The more I sleep The less tired I am The less tired I am The less I sleep The less I sleep The more tired I am
Tired
-
Sleep
Loop Dominance
There are systems which have more than one feedback loop within them A particular loop in a system of more than one loop is most responsible for the overall behavior of that system The dominating loop might shift over time When a feedback loop is within another, one loop must dominate Stable conditions will exist when negative loops dominate positive loops
CLD with Combined Feedback Loops (Population Growth)
Birth rate
+
Polulation
-
Death rate
CLD with Nested Feedback Loops (Self-Regulating Biosphere)
Evaporation clouds rain amount of water evaporation
Sunshine
+
+ +
Earths temperature
+
Evaporation
+
+
A mount of water on earth
+
Clouds
+
Rain
Exogenous Items
Items that affect other items in the system but are not themselves affected by anything in the system Arrows are drawn from these items but there are no arrows drawn to these items
+
Sunlight reaching each plant Sunlight
+ -
Density of plants
Reinforcing Loop: Structure
Sales
Growth rate
Positive word of mouth
Satisfied Customer
Population
Reinforcing Loop: Behavior
Population
20 B
10 B
0 0 20 40 60 80 100 120 Time (Year) 140 160 180 200
Population : pop1 Population : Current
Balancing Loop: Structure
Desired Inventory Inventory gap
O
Order rate
B
Actual inventory
Balancing Loop: Behavior
Inventory
1,000
500
0 0 10 20 30 40 50 60 Time (Month) 70 80 90 100
Inventory : inv1
Importance of Causal Loop Diagrams (CLDs).
Causal Loop diagrams are used to document relevant factors and the causal relationships between them. CLDs consist of factors and links connecting the factors. Any link has annotations about its polarity and delay. Used as a communication tool
CHAPTER FOUR STOCK AND FLOW DIAGRAMS
SYSTEMS DYNAMICS
Definition: System dynamics is an approach to understanding the behavior of complex systems over time. It deals with internal feedback loops and time delays that affect the behavior of the entire system.
DYNAMIC MODEL BUILDING BLOCKS
STOCKS FLOWS CONNECTORS CONVERTORS
stock
In STELLA terminology, a stock is a noun and represents something that accumulates. Some examples of stocks are population, radioactivity, enzyme concentration, selfesteem, and money.
Principle of Accumulation
In system dynamics modeling, dynamic behavior is thought to arise due to the Principle of Accumulation. According to the principle of accumulation, dynamic behavior arises when something flows through the pipe and faucet assembly and collects or accumulates in the stock.
flow
While a stock is a noun in the language of STELLA, a flow is a verb. A flow is an activity that changes the magnitude of a stock. Some examples of such activities are births in a population, decay of radioactivity, formation of an enzyme, improvement of self-esteem, and growth of money.
Figure 2: Example stock and flow structure with an inflow and outflow
Total Population Derived From Other Quantities
Children Adult population
Births
Coming to Age
Dearths
Total Population
Identifying Stocks and Flows
Stocks usually represent nouns Flows usually represent verbs. Stocks do not disappear if time is (hypothetically) stopped (i.e., if a snapshot were taken of the system); Flows do disappear if time is (hypothetically) stopped. Stocks send out signals (information about the state of the system) to the rest of the system.
DYNAMIC MODEL BUILDING BLOCKS
Converter : converts, stores equation or constant, does not accumulate Connector: transmits inputs and information
Characteristics of stock
Have memory, Change the time shape of flows, Decouple flows, Create delays.
HAVE MEMORY,
If the inflow to the stock is shut-off, the number of entities in the stock will not decrease, but rather stay at the level it is at when the inflow stops. An outflow in excess of the inflow is required to decrease the number of entities in the stock.
CHANGE THE TIME SHAPE OF FLOWS
A second important characteristic of stocks is that they (i.e., the accumulation process) usually change the time shape of flows. This can be seen by simulating the simple stock-flow structure shown in Figure 1, with different time shapes for the flow.
PRESENTS THE TIME SHAPE OF THE STOCK WHEN THE FLOW IS AT A CONSTANT LEVEL OF 5 UNITS/TIME
STOCKS DECOUPLE FLOWS
A third important characteristic of stocks is that they "decouple" or interrupt/change flows. A stock thus makes it possible for an inflow to be different from an outflow and hence for disequilibrium behavior to occur.
Population model
10/10/2012
Taremwa and Lydon
120
Examples where flows are decoupled by stocks
CREATES DELAYS
Systems often respond sluggishly From the example below, once the trees are planted, the harvest rate can be 0 until the trees grow enough to harvest
delay
+ Harvest rate
# of growing trees Planting rate -
Some rules for translating CLDs into SFDs
There are two types of causal links in causal models (but we dont distinguish between them)
Information Flow
1. Information proceeds from stocks and parameters/inputs toward rates where it is used to control flows 2. Flow edges proceed from rates to states (stocks) in the causal diagram always
Figure : casual loop diagram of the pocket money model
Stock and flow diagrams
Stock and Flow Notation--Quantities
STOCK
Stock
RATE
Rate
Auxiliary
i1 i2 Auxiliary o1 o2
o3 i3
Stock and Flow Notation--Quantities
Input/Parameter/Lookup
i1 i2 Auxiliary
i3
Have no edges directed toward them
Output
Have no edges directed away from them
o1 o2
o3
Inputs and Outputs
Inputs Parameters Lookups
a
Input/Parameter/Lookup
Outputs
Stock and Flow Notation--edges
Information
Flow
System Dynamics
Modeling with STELLA software
Learning objective
After this class the students should be able to:
Understand basic concepts of system dynamics, Stock Variable; Flow Variable; Information Flow; Material Flow; and Time Delay; Understand how these basics elements interact with policies and decisions to determine the behavior of dynamic systems.
Time Management
The expected time to deliver this module is 50 minutes. 20 minutes are reserved for team practices and exercises and 30 minutes for lecture.
System Dynamics
Methodology to study systems behavior It is used to show how the interaction between structures of the
systems and their policies determine the system behavior
Approach developed to study system behaviors taking into
account complex structures of feedbacks and time delays
Warm-up
Each team is invited to describe through any kind of diagram the process to fill a cup of water. Imagine this as an exercise of operation management (5 minutes)
Feedback Loop
Feedback refers to the situation of X affecting Y and Y in turn affecting X perhaps through a chain of causes and effects.
Time Delay
\Its the time between the action and the result (consequence) of this action.
Time Delay
Causal Diagram
Desired Water Level
Faucet Position
Perceived Gap
Water Flow
Current Water Level
Population Dynamic
Births
+
Population -
Deaths
feedbacks and time delays
Basic Elements
This methodology use five basics elements: Stock Variable; Flow Variable; Information Flow; Material Flow; and Time Delay
Object Oriented Language
Material Flow
Activity
Stock
Information Flow Converter
A Model
Control Material Flaw to Stock Stock Control Material Flaw from Stock
Send information from the Stock Add New information
Exploring a simple example
To explore modeling with STELLA, we will develop interactively with you, a basic model of the dynamics of a fish population. Assume you are the owner of a pond that is stocked with 200 fish that all reproduce at a fixed rate of 5% per year. For simplicity, assume also that none of the fish die. How many fish will you own after 20 years?
Stock - Fish Inventory
We begin with the first tool, a stock (rectangle). In our example model, the stock will represent the number of fish in our pond.
Figure 1
Click here to open the stella software
This stock is known as a reservoir. In our model, this stock represents the number of fish we have in this time are in our the pond
What control the number of fish
As we assumed that the fish in our pond never die, we have one control variable: REPRODUCTION.
200 Fishes
Figure 2
We use the flow tool (the right-pointing arrow, second from the left) to represent the control variable, so named because it controls the states (variables).
Converter
Next we need to know how the fish in our population reproduce, that is, how to accurately estimate the number of new fish per annum. Remember? We assumed our fish population reproduce at 5% per year. This can be represented as a transforming variable. A transforming variable is expressed as a converter, the circle that is second from the right in the STELLA toolbox.
Connector
At the right of the STELLA, toolbox is the connector (information arrow). We use the connector to pass on information about the REPRODUCTION RATE to REPRODUCTION and another to pass on information from FISH population to REPRODUCTION.
Figure 3
Our first model
Once you draw the information arrow from the transforming variable REPRODUCTION RATE to the control and from the stock FISH to the control, open the control (REPRODUCTION) and converter (REPRODUCTION RATE) and type respectively 5/100 and the equation: REPRODUCTION RATE* FISH
5/100 200
REPRODUCTION RATE*FISH Figure 4
Run the model
We get Figure 5. We see a graph of exponential growth of the fish population in your pond.
Figure 5
What-if?
From now on, the professor can practice what-if with the teams For example: What would happen if we decided to extract fish at a constant rate of 3% per year, and the reproduction rate varied with the fish population as it is seen in figure 6?
Figure 6
New model
Results
Figure 7
Reference
The Fifth Discipline. Peter Senge, Currency Doubleday, 1994, Chapter 5. Modeling Dynamic Economic System. Ruth, M. & Hannon, B. Springer, 1997, Chapter 1
MORE EXAMPLES
Increasing Crime
Events
Behaviour
System Structure
Drugs are a big worry for me. Not least because of the crimes that people commit to fund their dependency. We want the policy to bust these rings and destroy the drugs. They say theyre doing it and they keep showing us sacks of cocaine that they seized but the crime problem seems to be getting worse
Increasing Crime
Events
What are the main variables described in the statement?
Behaviour
What is the reference mode (behaviour) of this system?
System Structure
Time
Increasing Crime
What is the structure of this system? What is the causal loop diagram which explains the observed behaviour?
Events
Call for Police Action
Behaviour
Drug Related Crime
Drug Seizures Price
System Structure
Supply Demand
Building construction
Problem statement
Fixed area of available land for construction New buildings are constructed while old buildings are demolished Primary state variable will be the total number of buildings over time
Causal Graph
+
Construction
+
Industrial buildings
+ +
Demolition
-
Construction fraction Land available for Industrial buildings
Fraction of land occupied
+
Average lifetime for buildings
Average area per building
Simulation models
Flow Graph
Construction (C) Industrial Buildings (B) Demolition (D)
Equations
dBl/dt = Cr Dr Cr = f1(CF, Bl) Dr = f2(AL,Bl)
Average lifetime for buildings (AL)
CF = f3(FLO) FLO = f4(LA,AA,Bl)
Construction
fraction (CF) Land available for industrial buildings (LA) Fraction of land occupied (FLO) Average area per building (AA)
SIMULATION MODEL VALIDATION AND CREDIDILITY
SIMULATION MODEL VALIDATION
Validation ensures that the model meets its intended requirements in terms of the methods employed and the results obtained
The ultimate goal of model validation is to make the model useful in the sense that the model addresses the right problem, provides accurate information about the system being modeled and to makes the model actually used.
Definition: Validation
Validation is the process of determining whether a simulation model (as opposed to the computer program) is an accurate representation of the system, for the particular objectives of the study.
Definition: Operational validation
Operational validation is defined as determining that the models output behavior has sufficient accuracy for the models intended purpose over the domain of the models intended applicability
Definition: Data validity
Data validity is defined as ensuring that the data necessary for model building, model evaluation and conducting the model experiments to solve the problem are adequate and correct.
Definition: Verification
Verification is concerned with determining whether the conceptual simulation model (model assumptions) has been correctly translated into a computer program, i.e., debugging the simulation computer program.
Verification
A simulation model and its results have credibility if the manager and other project personnel accept them as "correct. A credible model is not necessarily valid, and vice versa.
The following things help establish credibility for a model:
The decision-makers understanding and agreement with the models assumptions Demonstration that the model has been validated and verified (i.e., that the model computer program has been debugged) The decision-makers ownership of and involvement with the project Reputation of the model developers
Model validation process
TECHNIQUES FOR INCREASING MODEL VALIDITY AND CREDIBILITY
Formulating the Problem Precisely
It is critical to formulate the problem of interest in a precise manner. This should include an overall statement of the problem to be solved, a list of the specific questions that the model is to answer, and the performance measures that will be used to evaluate the efficacy of particular system configurations.
Interviewing Subject-Matter Experts
There will never be a single person that knows all of the information necessary to build a simulation model. Thus, it will be necessary for the simulation analysts to talk to many different SMEs to gain a complete understanding of the system to be modeled.
Interacting with the Decision-Maker on a Regular Basis
One of the most important ideas for developing a valid and credible model is for the analyst to interact with the decision-maker and other members of the project team on a regular basis.
Collect high-quality information and data on the system
Conversation with subject matter experts in MS, machine operators, engineers, maintenance personnel, schedulers, managers, vendors, Observation of the system Data are not representative of what one really wants to model
Data are not of the appropriate type or format Data may contain measurement, recording, or rounding errors Data may be biased because of self interest Data may be inconsistent
Interact with the manager on a regular basis
There may not be a clear idea of the problem to be solved at initiation of the study. The managers interest and involvement in the study are maintained. The managers knowledge of the system contributes to the actual validity of the model
This approach has the following key benefits:
Helps ensure that the correct problem is solved The exact nature of the problem may not be initially known. The decision-maker may change his/her objectives during the course of the study. The decision-makers interest and involvement in the study are maintained. The model is more credible because the decision maker understands and agrees with the models assumptions.
QUESTION
A military analyst worked on a simulation project for several months without interacting with the general who requested it. At the final Pentagon briefing for the study, the general walked out after five minutes stating, Thats not the problem Im interested in.
Using Quantitative Techniques to Validate Components of the Model
USING STATISTICAL RESULTS If one has fit a theoretical probability distribution (e.g., exponential or normal) to a set of observed data, then the adequacy of the representation can be assessed by using graphical plots and goodness-of-fit tests
Documenting the Conceptual Model
Communication errors are a major reason why simulation models very often contain invalid assumptions. Documenting all assumptions, algorithms, and data summaries can lessen this problem. This report is the major documentation for the model and should be readable by analysts, SMEs, and decisionmakers alike.
Performing Sensitivity Analyses to Determine Important Model Factors
An important technique for determining which model factors have a significant impact on the desired measures of performance is sensitivity analysis. If a particular factor appears to be important, then it needs to be modeled carefully.
MODEL VERIFICATION
Step 1: Write and debug the computer program on modules or subprograms. Step 2: More than one person review the computer program (structured walk through of the program). Step 3: Run the simulation under a variety of settings of input parameters, and check to see that the output is reasonable.
MODEL VERIFICATION
Step 4: "trace", interactive debugger. Step 5: The model should be run under simplifying assumptions for which its true characteristics are known or can easily be computed. Step 6: Observe an animation of the simulation output.
MODEL VERIFICATION
Step 7: Compute the sample mean and variance for each simulation input probability distribution, and compare them with the desired mean and variance. Step 8: Use a commercial simulation package to reduce the amount of programming required.
VALIDATION SCHEMES
Structure-Verification Test: This test is meant to answer the following question Is the model structure not in contradiction to the knowledge about the structure of the real system, and have the most relevant structures of the real system been modeled?
Dimensional-Consistency Test:
Do the dimensions of the variables in every equation balance on each side of the equation? This test verifies whether all equations are dimensionally constant.
Extreme-Conditions Test:
Does every equation in the model make sense even if subjected to extreme but possible values of variables? Policy equations are scrutinized for their applicability in extreme conditions.
Boundary-Adequacy Test:
This test verifies whether the model structure is appropriate for the model purpose. Is the model aggregation appropriate and includes all relevant structure containing the variables and feedback effects necessary to address the problem and suit the purposes of the study?
CHAPTER SIX
BUILT IN FUNCTIONS
BUILT IN FUNCTIONS
The software's test input Builtins enable you to conduct controlled experiments on your model. Typically, a PULSE, RAMP or STEP is appended to an inflow or outflow equation. When the Built-in is activated (at the time you specify) it will knock the system out of its previous state. You can then observe how your model responds to this idealized test.
PULSE FUNCTION
PULSE(<volume>[,<first pulse>,<interval>]) The PULSE function generates a pulse input of a specified size (volume). In using the PULSE function, you have the option of setting the time at which the PULSE will first fire (first pulse), as well as the interval between subsequent PULSEs (interval).
PULSE FUNCTION
Each time that it fires a pulse, the software pulses the specified volume over a period of one time step (DT). Thus, the instantaneous value taken on by the PULSE function is volume/DT. Volume can be either variable or constant. First pulse and interval should be specified as constants.
EXAMPLE
Draw the stock and flow pattern generated by the following equations: Flow = PULSE(20,10,10) Flow = PULSE(10,15,10) Flow = PULSE(20,30,40)
REFER TO STELA HELP.
RAMP
RAMP(<slope>[,<time>]) The RAMP function generates a linearly increasing or decreasing input over time with a specified slope (slope). Optionally, you may set the time at which the ramp begins. Slope and time can be either variable or constant. As the simulation progresses, the RAMP will return a 0 before its time to begin has been reached. If you do not set the RAMP's time, it will begin at the outset of the simulation.
EXAMPLE
Draw the stock and flow pattern generated by the following equations: Pamp_Input =RAMP(25,5) Pamp_Input =RAMP(5,15) Pamp_Input =RAMP(15,15) Pamp_Input =RAMP(5,5)
STEP FUNCTION
STEP(<height>,<time>) The STEP function generates a one-time step change of specified height (height), which occurs at a specified time (time). Height and time can be either variable or constant. Example: Step_Input = 5 + STEP(5,10) generates the behavior pattern.
EXAMPLE
Draw the stock and flow pattern generated by the following equations: Step_Input = STEP(20, 20) Step_Input = 10 + STEP(20, 20) Step_Input = 20 + STEP(20, 20) Step_Input = 5 + STEP(20, 10) + STEP(20, 20) Step_Input = 10 + STEP(10, 20)+ STEP(25, 20)
Graphical Functions
The Become Graph button at the lower left of the dialog enables you to define the converter as a graphical function. Graphical functions also may be defined from within a flow dialog.
Definition: graphical function
A graphical function is a sketch of a relationship between some input (which itself can be an algebraic relationship defined from the Required Inputs list and/or Builtins list) and an output.
Using graphical function
Once the input has been defined in the equation box, a click on Become Graph leads you to the graphical function define dialog.
Using graphical function
Set the min and max values for the X-axis. Type numbers within the two fields below the graphical function grid. The number in the left field (the min value) must be less than the number in the right field (the max value). Hit the tab key to move from field to field. The minimum and maximum values you choose for the X-axis will be reflected in the noneditable left column (input), to the right of the axes.
Using graphical function
Set the min and max values for the Y-axis. Type numbers within the two fields to the left of the graphical function grid. The number in the bottom field (the min value) must be less than the number in the top field (the max value). Hit the tab key to move from field to field.
Using graphical function
Set the number of data points. Type a number into the Data Points field, found below the two columns of numbers. You must have at least two data points in a graphical function. You can have up to 1500 data points. When a graphical function contains more than 13 data points, the grid becomes scrollable. To view the entire function, depress the alt key (Windows) or option key (Macintosh).
Using graphical function
Create a relationship. Click-and-hold the cursor within the grid. As you drag the cursor, a curve will be drawn, following your mouse movements. In addition, the Y-axis coordinates of the curve will be displayed in the right column (output) at the far right of the dialog.