Simulation Final

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 94

COURSE OUTLINE FOR SIMULATION AND MODELING Course Code & Name: Lecturer(s) : , Simulation and Modeling Taremwa

Danison Semester: 2

Degree Programme: Year: 3

COURSE OVERVIEW A Model is a simplification of reality with intent to promote understanding while simulation is the act of the execution with compression within space and time. Modeling and simulation therefore involves the identification of the major system variables termed as states, the different levels of the states and the interactions between these states. It can be applied to both closed and open systems. It is a discipline, which finds wide and varied applications across many divides .We all model, all the time, the only difference is the representation of our models and simulation results. The formalization of the process is the discipline of modeling and simulation . COURSE OBJECTIVES This is an introductory course unit that will introduce the student to the formal approach to simulation and modeling. It will take the student through the different phases of model development on top of explanation of the terms and concepts espoused in the discipline. At the end of the course, it is expected that: It will introduce the student to definitions and atomic concepts of modeling and simulation Introduce the student to advantages of simulation and modeling Introduce the student to the applications of simulation and modeling in the industry Enable the student to model and simulate systems (both conceptual and physical) Introduce the student to modeling software such as ITHINK (stella 8.1) or PowerSim

COURSE CONTENT 1. Introduction to simulation and modeling [6 hrs]

Definitions of model and simulation Application of modeling and simulation Need for simulation and modeling Types of modeling and simulation paradigms [9 hrs]

2. Introduction to System Dynamics

Introduction to system dynamics Casual loop diagrams -links, link polarity and loop polarities Importance of causal loop diagrams System archetypes the types and specific examples Problems with the casual loop diagrams Delays [9 hrs]

3. Stocks and Flows 4.

Introduction to stocks and flows Applications of stocks and flows Advantages of stocks and flows as compared to casual loop diagrams Positive no loop structures Positive single loop structures Negative single loop structure Exponential functions (super and normal exponential functions) [6 hrs]

Model development process The different phases of model development The products at each phase of the model development.

5.

Introduction to Stella or powerSim Different methods of model implementation Introduction to Stella software (or PowerSim) Features of stella (or powerSim) Use stella practically to solve problems

[9hrs]

6. Other issues in modeling and simulation Ensuring the validity of gathered data Verification of models procedures and methods Validation of models procedures and models 2

[6 hrs]

Current trends and the future of system dynamics

COURSE DURATION 1 Semester = 15 weeks = 45 Contact Hours (CH) = 3 Credit Units (3CU) per week TEACHING AND ASSESSMENT Lecture Notes and/or Hand-outs and practical sessions. At least 2 tests (15%) and 4 programming assignments (25%) which will contribute for 40% of the final assessment and the remaining 60% will be in form of a three-hour examination. [2 hours-Theory, 1 hour working on an assignment] MARKING SYSTEM & GRADE POINT AVERAGE (GPA) The official grades of the University are A,B+,B,B-,C+,C, C-,D+,D,D- and E. The quantitative value of each grade is computed based on the following:

Mark 80 - 100 75 79.9 70 74.5 65 69.9 60 64.5 55 595.9 50 54.5 45 49.9 40 44.5 35 39.9 Below 35

Letter Grade A B+ B BC+ CC D+ D DE

Weighting 5.0 4.5 4.0 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0

The pass mark in any course is 50% or C- that equals 2.0 GPA for all undergraduate programmes. The grades are determined by the following standards:

A B+ B BC+ C

Outstanding Excellent Very good Good Satisfactory Pass

CD+ D DEI3

Marginal Pass Marginal Marginal Fail Fail Fail (O Grade Point) Incomplete

Academic Integrity Students are expected to conduct themselves in accordance with the highest ethical standards and evince academic integrity in all their pursuits and activities at the university. As such, in accordance with the General Academic Regulations and Requirements of the University, students are reminded that plagiarism or any other form of cheating in examinations, assignments, laboratory reports or term tests is subject to serious academic penalty (e.g. suspension or expulsion from the faculty or university). A student found guilty of contributing to cheating in examinations or term assignments is also subject to serious academic penalty. COURSE TEXTBOOK Theory of Modeling and Simulation by Bernard P Zeigler, Taq Gon Kim and Herbert Praehofer, 2nd Edition. REFERENCES 1. Simulation Modeling and Analysis (Industrial Engineering and Management Science) by Averill Law 2. Introduction to Computer Simulation : A System Dynamics Modeling Approach by Nancy Roberts 3. Modeling and Simulation: Computer Science of Illusion ( Computer Simulation & Modeling) by S. Racynski 4. Getting Started with the STELLA Software, A Hands-On Experience, 2004. isee systems http://www.iseesystems.com/

CHAPTER ONE INTRODUCTION TO SIMULATION AND MODELING


4

Chapter Objectives
In this chapter you will learn: Definitions and explain systems and experiments Definitions of model and simulation Application of modeling and simulation 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. A system is an object or collection of objects whose properties we want to study. A system can contain subsystems which are themselves systems. Definition covers: systems of different types Systems vary in size, nature, function, complexity, Boundaries of the system is determined by the scope of the study Common techniques can be used to treat them

What reasons can there be to study a system? There are many answers to this question but we can discern two major motivations: Study a system to understand it in order to build it. This is the engineering point of view. Satisfy human curiosity, e.g. to understand more about nature Examples Battery Consists of anode, cathode, acid and other components These components act together to achieve one objective Car Electrical system Consists of a battery, a generator, lamps Achieve a common objective

SAPTCO (Transportation Company) Consists of Buses, drivers, stations, Achieves a common objective The Boundaries of the system is determined by the scope of the study

Input Input variables

System

Output Variables

An important property of systems is that they should be observable. Some systems, but not large natural systems like the universe, are also controllable in the sense that we can influence their behavior through inputs, i.e. 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. 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. Inputs (excitations): Signals that cause changes in the systems variables. Represented by arrows entering the system

Outputs (responses): Measured or calculated variables Shown as arrows leaving the system Systems (process) Defined the relationship between the inputs and outputs Represented by a rectangular box Question: basing on the diagrams below; identify the input, system and output variables. Diagrams A

Students Sector Death unit time Registration Students on programme unit time Students leav ing

Graduation Admitted students Lack tuition Additional students number Av ailable Student unit cost Dropout

Exam multipractice

Explusions

Diagrams B
Credit units + Total hrs per week + Courses per semester Total hrs per semester + + Sessions per semester + Cost per hr

Staff attrition + + Total teaching cost Total hrs per year + + + Marking tests/exams Supervising tests/exams + Cost of delivery + + +

Weeks per semester

No. semesters per yr

The choice of inputs/outputs/process depends on the purpose of the study Some Possible Inputs Inlet flow rate Temperature of entering material Concentration of entering material

Some Possible Outputs Level in the tank Temperature of material in tank 7

Outlet flow rate Concentration of material in tank

What inputs and outputs are needed when we want to model the temperature of the water in the tank?

Experiments
Observability is essential in order to study a system according to our definition of system. We must at least be able to observe some outputs of a system. We can learn even more if it is possible to exercise a system by controlling its inputs. This process is called experimentation, i.e. Definition: An experiment is the process of extracting information from a system by exercising its inputs. To perform an experiment on a system it must be both controllable and observable. We apply a set of external conditions to the accessible inputs and observe the reaction of the system by measuring the accessible outputs. One of the disadvantages of the experimental method is that for a large number of systems many inputs are not accessible and controllable. These systems are under the influence of inaccessible inputs, Sometimes called disturbance inputs. Likewise, it is often the case that many really useful possible outputs are not accessible for measurements; these are sometimes called internal states of the system. There are also a number of practical problems associated with performing an experiment, a. The experiment might be too expensive: investigating ship durability by building ships and letting them collide is a very expensive method of gaining information. b. 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. c. The system needed for the experiment might not yet exist. This is typical of systems to be designed or manufactured. The shortcomings of the experimental method lead us over to the model concept. If we make a model of a system, this model can be investigated and may answer many questions regarding the real system if the model is realistic enough.

The Model Concept


Definition: 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

Given the previous definitions of system and experiment, we can now attempt to define the notion of model: Definition: A model of a system is anything an "experiment" can be applied to in order to answer questions about that system. This implies that a model can be used to answer questions about a system without doing experiments on the real system. Instead we perform a kind of simplified "experiments" on the model, which in turn can be regarded as a kind of simplified system that reflects properties of the real system. In the simplest case a model can just be a piece of information that is used to answer questions about the system. Given this definition, any model also qualifies as a system. Models, just like systems, are hierarchical in nature. We can cut out a piece of a model, which becomes a new model that is valid for a subset of the experiments for which the original model is valid. A model is always related to the system it models and the experiments it can be subject to. A statement such as "a model of a system is invalid" is meaningless without mentioning the associated system and the experiment. A model of a system might be valid for one experiment on the model and invalid for another. We talk about different kinds of models depending on how the model is represented: Mental modela statement like "a person is reliable" helps us answer questions about that person's behavior in various situations. Verbal modelthis kind of model is expressed in words. For example, the sentence "More accidents will occur if the speed limit is increased" is an example of a verbal model. Expert system is a technology for formalizing verbal models. 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., it is common to construct small physical models with same shape and appearance as the real objects to be studied, e.g. with respect to their aerodynamic properties and aesthetics. A multimodel is a model containing multiple integrated models each of which represents a level of granularity for the physical system.

Mathematical model
A mathematical model usually describes a system by means of variables. Usually physical laws are applied to obtain mathematical model. Sometimes experimental procedures are necessary. But no mathematical model can represent a physical system completely. Approximations and assumptions restrict the validity of the 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. Most laws of nature are mathematical models in this sense.

For example, Ohm's law describes the relationship between current and voltage for a resistor; Newton's laws describe relationships between velocity, acceleration, mass, force, etc. The kinds of models that we primarily deal with in this book are mathematical models represented in various ways, e.g. as equations, functions, computer programs, etc. Artifacts represented by mathematical models in a computer are often called virtual prototypes. The process of constructing and investigating such models is virtual prototyping. Sometimes the term physical modeling is used also for the process of building mathematical models of physical systems in the computer if the structuring and synthesis process is the same as when building real physical models. Definition: Modeling is the processing 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.

Modeling
Modeling - the writing of equations to describe and predict the performance of a system both as functions of changes in inputs and as functions of the changes in the systems

Modeling Physical Systems


System relationships for physical systems are usually well known and in many instances classical solutions have been developed. Process for modeling physical systems: 1. 2. 3. 4. 5. start with system components identify and write equations for state variables superimpose equations change forcing function inputs to look at system response change system parameters if desired

Problems associated with modeling biological systems as physical systems:

Equations usually contain constants in physical systems. However, similar equations for biological systems have "constants" that are not actually constants but are functions of time. Biological systems often have growth and decay (more complex than physical systems). In addition to "constants" being functions of time, they are often also functions of environmental conditions for biological systems. For biological systems, "constants" are often assumed to be constant over short time periods. Thus, k=f(t). Short time steps are used in an attempt to provide accurate solutions.

10

Falling Ball Example A ball falling from a height of 100 meters. We need to determine a mathematical model that describes the behavior of the falling ball. Objectives of the model: answer these questions: 1. When does the ball reach ground? 2. What is the impact speed? Different assumptions results in different models. Can you list some of the assumptions? Assumptions for Model 1. Initial position = 100 x (0) = 100 2. Initial speed = 0 v(0) = 0 3. Location: near sea level 4. The only force acting on the ball is the gravitational force (no air resistance) The model dv/dt= -9.8; .. (a) dx/dt =v(t) ;...(b) Integrating equations (a) and (b) and substituting the values of x(0) and v(0) yields the following answers. solutions x(t) = 100 -0.5(9.8) t2 v(t) = -9.8t

Population Example
Population growth is a typical example for demonstrating system models. In this model, the Birth Rate, Immigration and Death Rate variables control how the population changes over time.

11

Population Model

Population Growth over Time

Deterministic and Stochastic Models


Deterministic models describe behavior on the basis of some physical law. For example, the planets move around the sun according to Newton's laws and their position can be predicted with great accuracy well into the future. In practice, a totally deterministic relationship is unlikely due to unpredictable factors - for example, a previously unknown comet moving through the solar system could perturb some planets.

12

Where the influence of several unknown factors is sizable, exact prediction is not possible, but it may be possible to predict to within a known confidence interval - or to predict the probability that a particular value will be observed at a particular time. This is called a stochastic (or probabilistic) process. A time series is a sample outcome from a stochastic process. The two modes of modeling changes over time can be formalized to two distinct concepts of seeing and modelling time: discrete time and continuous time. The concept of discrete time is based upon a distinction between time-points and time intervals. Typically the time axis is divided into a number of adjacent time-segments (which usually are of fixed length). Both the number of time intervals and time points that are specified are finite. Actually the number of time points = Number of time-intervals +1. The concept of continuous time models time as a continuum of subsequent time-points. This implies that data given for some time-span are specified as a continuous function over time. Typically this function is also assumed to be differentiable, so that changes of the state variable over time can be modeled as the first derivative of the state function. Time intervals do not play a specific role as an organizing principle. Of course one can look at any time intervals, but there are no pre-defined time-steps of finite length, which structure the whole model.

Figure 1: Continuous Time vs. Discrete Time Figure 1 sketches the concepts of continuous time on the left and the discrete time model on the right. The distinction between a continuous and discrete concept of time can be explained due to different types of time-related data. If the number of data given is finite, the discrete model of time applies quite naturally, no matter whether the data given belong to time-points or represent changes over time-intervals. For continuous data, like continuous waves in signal theory, the continuous concept of time fits naturally.

Ways to study a system

13

System

Experiment with the actual system Physical model

Experiment with a model of the system Mathematical model

Analytical solution
ADVANTEGES OF MODELING
Why are models important and useful for students?
1.

Simulation

2. 3.

4.

5.

Models provide an environment for interactive student engagement. Evidence from science education research shows that significant learning gains are achieved when students participate in interactive engagement activities. Thus, it is important that the learning environment/activity created around a model provide an interactive engagement experience. Working with models can enhance systems thinking abilities Models and model development are useful for helping students learn quantitative skills such as graphing, graphical analysis, and visualization; statistics; computational skills, mathematics, ...... Many models allow one to perform sensitivity studies to assess how changes in key system variables alter the system's dynamic behavior. Such sensitivity studies can help one identify leverage points of a system to either help one affect a desire change with a minimum effort or to help estimate the risks or benefits associated with proposed or accidental changes in a system. Earth System Models such as those at Earth-System Models of Intermediate Complexity (more info) allow us to perform experiments related to the Earth System without altering and potentially harming the actual Earth. Many

14

experiments, like understanding the future effects of atmospheric carbon dioxide increase, are taking place in the actual Earth System today but the results of these will not be know for 50 to 100 years. An Earth System model can run several such simulations using different assumptions in a matter of hours to days. The same is true for most models. 6. The knowledge gained while using models and the understanding of model development and implementation are transferable to other disciplines related to the Earth system.

Simulation
In the previous section we mentioned the possibility of performing "experiments" on models instead of on the real systems corresponding to the models. This is actually one of the main uses of models, and is denoted by the term simulation, from the Latin simulare, which means to pretend. We define a simulation as follows: To simulate, essentially means to mimic or to try to duplicate a real world process or system over time. Whether done by hand or on computer, simulation involves the generation of an artificial history of a system and the observation of that artificial history to draw inferences concerning the operating characteristics of the real system. This means that the more we know about the system, better will be the simulation and more reliable the results from the simulation. The behavior of a system as it evolves over time is studied by developing a simulation model. This model is based on a set of assumptions concerning the operation of the system. Just as modeling is an art in getting are-presentation of a phenomenon or system, simulation is an art of depicting the facts understood from the observations such that more experimentation can yield better understanding of the phenomenon or the system being studied In contrast to optimization models, simulation models are run rather than solved, even though there may be a few exceptions. Given a set of inputs and model characteristics, the model is run for a set of inputs and the simulated behavior observed .the process of changing inputs and model characteristics results in aset of scenarios that are evaluated. Good solution, either in the analysis of the existing system or in the design of anew system is then recommended for implementation Definition 1: A simulation is an experiment performed on a model. Definition 2: simulation can also be defined as 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 or evaluating various strategies (within the limits imposed by the criterion or set of criteria) for the operation of the system. Use the mathematical model to determine the response of the system in different situations. 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

15

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.'' In analogy with our previous definition of model, this definition of simulation does not require the model to be represented in mathematical or computer program form. However, in the rest of this text we will concentrate on mathematical models, primarily those which have a computer represent able form. The following are a few examples of such experiments or simulations: A simulation of an industrial process such as steel or pulp manufacturing, to learn about the behavior under different operating conditions in order to improve the process. A simulation of vehicle behavior, e.g. of a car or an airplane, for the purpose of providing realistic operator training. A simulation of a simplified model of a packet-switched computer network, to learn about its behavior under different loads in order to improve performance. It is important to realize that the experiment description and model description parts of a simulation are conceptually separate entities. On the other hand, these two aspects of a simulation belong together even if they are separate. For example, a model is valid only for a certain class of experiments. It can be useful to define an experimental frame associated with the model, which defines the conditions that need to be fulfilled by valid experiments. If the mathematical model is represented in executable form in a computer, simulations can be performed by numerical experiments or in non numerical cases by computed experiments. This is a simple and safe way of performing experiments, with the added advantage that essentially all variables of the model are observable and controllable. However, the value of the simulation results is completely dependent on how well the model represents the real system regarding the questions to be answered by the simulation. Except for experimentation, simulation is the only technique that is generally applicable for analysis of the behavior of arbitrary systems. Analytical techniques are better than simulation, but usually apply only under a set of simplifying assumptions, which often cannot be justified. On the other hand, it is not uncommon to combine analytical techniques with simulations, i.e., simulation is used not alone but in an interplay with analytical or semi analytical techniques. WHEN IS SIMULATION AN APPROPRIATE TOOL? The availability of massive computing capabilities at decreasing cost per operation and advances in simulation methodologies have made simulation one of the most widely used and accepted tools in operations research and system analysis. Simulation can be used for the following purposes: 1. Simulation enables the study of and experimentation with, the internal interactions of a complex system, or a subsystem within a complex system. 2. Information; organizational and environmental changes can be simulated and the effect of these alterations on the models behavior can be observed.

16

3. The knowledge gained in designing a simulation model may be of a great value toward suggesting improvement in system under investigation. 4. By changing simulation inputs and observing the resulting outputs, valuable insight may be obtained into which variables are most important and how variables react. 5. Simulation can be used as pedagogical (teaching) device to reinforce analytical solution methodologies. 6. Simulation can be used to experiment with new designs or policies prior to implementation so as to prepare for what may happen. 7. Simulation can be used to verify analytical solutions SUMMARY: When to Use Simulation Study Complex Systems Evaluate effect of variables Experiment with different designs Test scientific models 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 Simulation is intuitively appealing to a client because it mimics what happens in real system or what is perceived for a system that is in the design stage. The out put data from simulation study should directly correspond to outputs that could be recorded from the real system. Additionally, it is possible to develop a simulation model of the system without dubious assumptions (such as same statistical distribution for every random variable) of mathematically solvable model. For these and other reasons, simulation is the preferred technique for problem solving in many situations. Simulations has many advantages and are not completely devoid of disadvantages either. The advantages are:

17

1. New policies, operating procedures, decision rules, information flows, and organizational procedures and so on can be explored without disrupting the on going operations of the real system. 2. New hardware designs, physical layouts, transportation system e.t.c can be tested without committing resources for their requisition. 3. Hypotheses about how or why certain phenomena occur can be tested for feasibility. 4. Time can be compressed or expanded allowing for speed or slow down of the phenomena under investigation. 5. Insight can be obtained about interaction of variables. 6. Insight can be obtained regarding the significant variables that affect the performance of the system. 7. Bottleneck analysis can be performed indicating where work in process, informatiobbhbbbmbbn, materials and so on are being excessively delayed. 8. A simulation study can help in understanding how the system operates rather than how the individuals think the system operates. 9. what if questions can be answered which is useful in the design of system 10. Possibility of exploring new policies, operating procedures without disrupting ongoing operations and ability to gain insights into system variables. 11. The interactive nature of simulation modeling is not only an excellent tool for research but also a great medium of learning, teaching and communication. 12. Simulation is straight forward, easier, and requires fewer simplifying assumptions than analytical methods and can be used in prediction of behavior over time. SUMMARY:

Advantages of simulation

Try out changes virtually first Test new hardware before buying it Insight about system can be gained Bottleneck analysis Redundancy analysis Speed up design-build-test-redesign cycle Can be used to verify models or theories The disadvantages are: 1. Model building requires special training. It is an art that is learned over time and through experience. Furthermore, if two modes are constructed by two competent individuals, they may have similarities but it is highly unlikely that they will be the same. 2. Simulation results may be difficult to interpret. Since most simulation outputs are essentially random variables (they are based on random inputs) it may be hard to determine whether an observation is a result of system interrelationships or randomness.

18

3. Simulation modeling and analysis can be time consuming and expensive. Skimping on resources for modeling and analysis may result in a simulation model or analysis that is not sufficient for the task. 4. Simulation is used in some cases when an analytical solution is possible, or even preferable. this is particularly true in the simulation of some waiting lines where closed-form queuing modes are available Some of these disadvantages can be offset as follows; 1. Vendors of simulation software have been actively developing packages that contain models that only need input data for their operation. Such models have the generic tag simulators or templates 2. Many simulation software vendors have developed output analysis capabilities within their packages for performing very through analysis. 3. Simulation can be done faster today due to the advances in the hardware and innovations in simulation methodologies. 4. Closed form models are not able to analyze many of the complex systems that are encountered in practice. 5. Building a simulation model requires special training. 6. Simulation results may be difficult to interpret since most simulation outputs are essentially random variables based on random inputs, so it may be hard to determine whether an observation is the result of system inter relationships or randomness. 7. Lastly, simulation modeling and analysis can be time consuming and expensive. SUMMARY:

Disadvantages of Simulation
Model building often difficult and not unique Results may be hard to interpret Model and simulator may be too expensive Sometimes used for hype value May lead to false conclusions Results are as good as the model Bugs in software are unavoidable

AREAS OF APPLICATION
Some of the major areas of application of simulation can be categorized as given below: (from a recent international conference on system simulation and modeling) Manufacturing systems Materials handling system design Inter-operability for spares inventory planning Aircraft assembly operations

19

Agile control of aerospace manufacturing Distributed model for computer integrated manufacturing Flexible-routing manufacturing control system e.t.c

Public systems Healthcare Prediction of pharmaceutical costs and outcomes Cement less hip replacement Reducing the length of stay in emergency depts. Military Issues in operational test and evaluation Army officers professional development Process of military base transition Combat modeling Corps battle simulation etc Natural resources Solid waste management systems and waste remediation system Operational efficiency at power plants Environmental restoration activities Oil spill modeling Transportation systems Cargo transportation and personnel launch Container port operations Demand based toll plaza lane staffing

Construction systems Application of earth-moving systems Cabled-stayed bridges Strengthening the design/construction interface Advanced project planning paradigm

Restaurant and entertainment systems Quick service restaurant traffic analysis Determination of labor requirements

Business process re-engineering Integrating business process re-engineering with image-based work flow

20

Business process modeling and analysis tool

Food processing Trawler operations in the fish processing industry Capacity expansion for processes Evaluating international competitiveness in broiler production.

Computer system performance Heterogeneous networks Evaluating large scale computer system performance Client/server system architecture

Summary: 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 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 Modeling and Simulation Modeling and Simulation is a discipline for developing a level of understanding of the interaction of the parts of a system, and of the system as a whole. The level of understanding which may be developed via this discipline is seldom achievable via any other discipline.

Why do we need simulation and modeling?


Simulation is an important decision making tool because: real-world experimentation on systems is often too complex or too expensive simulation and modeling allows decisions to be pre-tested before implementation Three Sample Systems:

21

1. 2. 3.

Waiting lines at a bank A manufacturing shop The Game of Life

Sample System 1: Waiting lines at a bank Suppose a bank is receiving a number of complaints from its customers about the amount of time they have to wait in line. The bank manager wants to satisfy her customers by shortening the waiting time, while spending as little additional money as possible. The bank currently has three tellers and a waiting line at each teller. Question: What should the bank manager do?

Simulating the Mathematical model


To simulate something physical, you first need to create a mathematical model to represent the physical object. Thus, the results of the mathematical model can then be simulated using simulation software. Simulation modeling, which usually requires running hundreds of simulations, requires a considerable amount of time for large and complex models. Therefore, starting from a simple scenario with few variables and gradually adding complexity to your model using your gained knowledge from the simulation process is always recommended. This can be achieved by breaking the problem into sub-problems, express it into a mathematical model and then simulate. The mathematical model developed enabled the researcher understand the problem entity leading to building of the simulation model. The Mathematical model i. ii. Tt_hours_per_week*weeks_per_semester*Sessions_per_semester Tt_hours_per_sem*No_of_sems_per_yr

Interaction of variables

22

Courses per semester weeks per semester Tt hours per week

Credit units 4 sem Tt hours per sem

Sessions per semester

Tt hours per y r

No of sems per y r

Expenditure income ratio

Results of simulation Model Graphically


1: Tt hours per yr 1: 2: 3: 1081 19 541 2: Tt hours per week 3: Tt hours per sem

1: 2: 3:

1080 18 540

1: 2: 3:

1079 17 539
2003.00 2004.75 2006.50 2008.25 2010.00

Page 1

Years

8:33 PM Sat, Feb 06, 2010

Results Hours over time

Results from the graph indicate that time was held constant for the period 2003 to 2010.

Discrete Event Simulation


23

a. Event is defined as an instantaneous occurrence that may change the state of the system. b. Discrete-event simulation concerns the modeling of a system as it evolves over time by a representation in which the state variables change instantaneously at separate points in time. Or the system can change at only a countable number of points in time. A discrete-event simulation models a system whose state may change only at discrete point in time. The assumption is that nothing relevant happens between successive state transitions. The system is composed of objects called entities that have certain properties called attributes. The system state is a collection of attributes or state variables that represent the entities of the system. An event is an instantaneous occurrence in time that may alter the state of the system.

24

CHAPTER FOUR

SIMULATION MODEL DEVELOPMENT PROCESS


In this chapter we present techniques for building valid and credible simulation models. Ideas to be discussed include the importance of a definitive problem formulation, discussions with subject-matter experts, interacting with the decision-maker on a regular basis, development of a written conceptual model, structured walk-through of the conceptual model, use of sensitivity analysis to determine important model factors, and comparison of model and system performance measures for an existing system (if any). Each idea will be illustrated by one or more real-world examples. We will also discuss the difficulty in using formal statistical techniques (e.g., confidence intervals) to validate simulation models.

THE DIFFERENT PHASES OF MODEL DEVELOPMENT 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.

25

26

We now discuss important activities that take place in each of the seven steps. Step 1. Formulate the Problem a) Problem of interest is stated by the decision-maker b) 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. The following things are discussed at this meeting: 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 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 and Construct a Conceptual Model a) Collect information on the system layout and operating procedures. b) Collect data to specify model parameters and probability distributions (e.g., for the time to failure and the time to repair of a machine). c) Document the model assumptions, algorithms, and data summaries in a written conceptual model. d) The level of model detail should depend on the following: Project objectives Performance measures of interest Data availability Credibility concerns Computer constraints Opinions of SMEs Time and money constraints

There should not be a one-to-one correspondence between the model and the system. Collect performance data from the existing system (if any) to use for model validation in Step 5. 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 conceptualmodel validation.

27

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 simulation-software product or in a general-purpose 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. 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. 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. The final presentation for the simulation study should include animations and a discussion of the model building/validation process to promote model credibility.

28

CHAPTER SIX

SIMULATION MODEL VALIDATION AND CREDIDILITY


Chapter Objectives
In this chapter you will learn: Ensuring the validity of gathered data Verification of models procedures and methods Validation of models procedures and models Current trends and the future of system dynamics

Introduction Use of a simulation model is a surrogate for experimentation with the actual system (existing or proposed), which is usually disruptive, not cost-effective, or simply impossible. Thus, if the model is not a close approximation to the actual system, any conclusions derived from the model are likely to be erroneous and may result in costly decisions being made. Validation should and can be done for all models, regardless of whether the corresponding system exists in some form or whether it will be built in the future. a) Model verification and validation (V&V) are essential parts of the model development process if models to be accepted and used to support decision making b) One of the very first questions that a person who is promoting a model is likely to encounter is has your model been validated? The Model Validation Gold Standard In Physics, the Standard Model is the name given to the current theory of fundamental particles and their interactions The Standard Model is a good theory because it has been validated o Its predictions have matched experimental data, decimal place for decimal place, with amazing precision o All the particles predicted by this theory have been found o Can such a theoretical model be found for social systems? Does the model represent and correctly reproduce the behaviors of the real world system?

29

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. Methodology for validation Validation deals with the assessment of the comparison between sufficiently accurate computational results from the simulation and the actual/ hypothetical data from the system. Validation does not specifically address how the Simulation model can be changed to improve the agreement between the computational results and the actual data. The fundamental strategy of validation involves identification and quantification of the error and uncertainty in the conceptual/simulation models, quantification of the numerical error in the computational solution, estimation of the simulation uncertainty, and finally, comparison between the computational results and the actual data. Thus, accuracy is measured in relation to actual/ hypothetical data, our best measure of reality. This strategy does not assume that the actual/ hypothetical data are more accurate than the computational results. The strategy only asserts that simulation results are the most faithful reflections of reality for the purposes of validation. There are three steps in deciding if a simulation is an accurate representation of the actual system considered, namely, verification, validation and credibility (Garzia et al. 1990). Conceptual model validation is the process of determining that the theories and assumptions underlying the conceptual model are correct and that the model representation of the problem entity is reasonable for the intended purpose of the model. Computerized model verification is the process of determining that the model implementation accurately represents the developers conceptual description of the model and the solution to the model. Definition: 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. Operational validity determines the models credibility. Definition: 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 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. A simulation model and its results have credibility if the manager and other project personnel accept them as "correct.

30

A credible model is not necessarily valid, and vice versa.

Definition: 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. The definitions of validation as stated by different authors are listed below: i. Substantiation that a computerized model within its domain of applicability possesses a satisfactory range of accuracy consistent with the intended application of the model (Sargent, 2003). Validation is the process of determining that the model on which the simulation is based is an acceptably accurate representation of reality (Giannanasi et al. 2001). Validation is the process of establishing confidence in the usefulness of a model (Coyle 1977). The process of determining the degree to which a model is an accurate representation of the real-world from the perspective of the intended uses of the model (DoD 2002).

ii.

iii.

iv.

The following are some general perspectives on validation: Conceptually, if a simulation model is valid, then it can be used to make decisions about the system similar to those that would be made if it were feasible and cost-effective to experiment with the system itself. The ease or difficulty of the validation process depends on the complexity of the system being modeled and on whether a version of the system currently exists. For example, a model of a neighborhood bank would be relatively easy to validate since it could be closely observed. On the other hand, a model of the effectiveness of a naval weapons system in the year 2025 would be virtually impossible to validate completely, since the location of the battle and the nature of the enemy weapons would be unknown. Also, it is often possible to collect data on an existing system that can be used for building and validating a model. A simulation model should always be developed for a particular set of objectives. In fact, a model that is valid for one objective may not be for another. Validation is not something to be attempted after the simulation model has already been developed, and only if there is time and money remaining. Unfortunately, our experience indicates that this recommendation is often not followed.

31

Example 1. An organization paid a consulting company $500,000 to perform a simulation study that had six-month duration. After the study was supposedly completed, a person from the client organization called us and asked, Can you tell me in five minutes on the phone how to validate our model? A simulation model and its results have credibility if the decision-maker and other key project personnel accept them as correct. Note that 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 b. Demonstration that the model has been validated and verified (i.e., that the model computer program has been debugged) c. The decision-makers ownership of and involvement with the project d. Reputation of the model developers a. Model validation process Figure 2 shows the model validation process in a simpler form. The problem entity is the system (real or proposed e.g. dynamics of integrated Knowledge Management and Human Resource Management can be considered as a problem entity to be modeled; the conceptual model is the mathematical/ verbal representation (influence diagram) of the problem entity developed for a particular study; and the computerized model is the conceptual model implemented on a computer (simulation model). The inferences about the problem entity are obtained by conducting simulations on the computerized model in the experimentation phase.

32

TECHNIQUES FOR DEVELOPING VALID AND CREDIBLE MODELS Techniques for Increasing Model Validity and Credibility

a) 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 Existing theory IID exponential random variables Relevant results from similar simulation study Experience and intuition of the modelers

b) 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 The model is credible since the manager understands and accepts the models assumptions.

c) d) e) f)

Maintain an assumptions document and perform a structured walk-through Validate components of the model by using quantitative techniques. Validate the output from the overall simulation model Animation

Management's Role in the Simulation Process Formulating problem objectives. Directing personnel to provide information and data to the simulation modeler and to attend the structured walk-through. Interacting with the simulation modeler on a regular basis. Using the simulation results as an aid in the decision-making process.

33

Detailed Notes Techniques for Increasing Model Validity and Credibility

In this section we present practical techniques for developing valid and credible models. At the end of each subsection title, we state in square brackets ([ ]) in which of the seven steps (at a minimum) the technique should be applied. Formulating the Problem Precisely [1] 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. Without a definitive statement of the specific questions of interest, it is impossible to decide on an appropriate level of model detail. Performance measures must also be clearly stated since different measures may dictate different levels of model detail. When the decision-maker first initiates a simulation study, the exact problem to be solved is sometimes not precisely stated or even completely understood. Thus, as the study proceeds and a better understanding is obtained, this information should be communicated to the decision maker who may reformulate the problem. Interviewing Subject-Matter Experts [1, 2] 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. Note that some of the information supplied by the SMEs will invariably be incorrect if a certain part of the system is particularly important, then at least two SMEs should be queried. Interacting with the Decision-Maker on a Regular Basis [1-7] 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. 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.

34

Example 2. 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 [2] The simulation analyst should use quantitative techniques whenever possible to test the validity of various components of the overall model. We now give examples of techniques that have been used for this purpose. 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 [2] 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 decision-makers alike. The following are some of the things that should be included in the conceptual model: a. An overview section that discusses overall project goals, specific issues to be addressed by the model, and relevant performance measures b. A diagram showing the layout for the system c. Detailed descriptions of each subsystem (in bullet format for easy reading) and how they interact d. What simplifying assumptions were made and why e. Summaries of model input data (technical analyses should be put in appendices to promote report readability by decision-makers) f. Sources of important or controversial information The conceptual model should contain enough detail so that it is a blueprint for creating the simulation computer program (in Step 4). Performing a Structured Walk-Through of the Conceptual Model [3] As previously discussed, the simulation analyst will need to collect system information from many different SMEs. Furthermore, these people are typically very busy dealing with the daily problems that occur within their organization, often resulting in their giving something less than their undivided attention to the questions posed by the simulation analyst. As a result, there is a considerable danger that the analyst will not obtain a complete and correct description of the system. An effective way of dealing with this potential problem is to conduct a structured walkthrough of the conceptual model before an audience of SMEs and decision-makers. Using a projection device, the analyst

35

goes through the conceptual model bullet-by-bullet, but not proceeding from one bullet to the next until everybody in the room is convinced that a particular bullet is correct and at an appropriate level of detail. A structured walk-through will increase both the validity and credibility of the simulation model. (As stated above, this exercise is called conceptual-model validation.) The structured walk-through should ideally be held at a remote site (e.g., a hotel meeting room), so that people give the meeting their full attention. Furthermore, it should be held prior to the beginning of programming in case major problems are uncovered at the meeting. The conceptual model should be sent to participants prior to the meeting and their comments requested. We do not, however, consider this a substitute for the structured walk-through itself, since people may not the have the time or motivation to review the document carefully on their own. Furthermore, the interactions that take place at the actual meeting are invaluable. Example 4. At a structured walk-through of a transportation system, a significant percentage of the assumptions given to us by our corporate sponsor were found to be wrong by the SMEs present. (Due to the large geographic distances between the home offices of the sponsor and the SMEs, it was not possible for the SMEs to be present at the kickoff meeting for the project.) As a result, various people were assigned responsibilities to collect information on different parts of the system. The collected information was used to update the conceptual model, and a second walkthrough was successfully performed. Performing Sensitivity Analyses to Determine Important Model Factors [5] 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. The following are examples of factors that could be investigated by a sensitivity analysis: The value of a parameter The choice of a probability distribution The entity moving through the simulated system The level of detail for a subsystem Example 5. In a simulation study of a new system, suppose that the value of a probability is estimated to be 0.75 as a result of conversations with SMEs. The importance of getting the value of this probability exactly correct can be determined by running the simulation with 0.75 and, for example, by running it with each of the values 0.70 and 0.80. If the three simulation runs produce approximately the same results, then the output is not sensitive to the choice of the probability over the range 0.70 to 0.80. Otherwise, a better specification of the probability is needed. (Strictly speaking, to determine the effect of the probability on the models results, we should make several independent replications of the model using different random numbers for each of the three cases.)

36

If one is trying to determine the sensitivity of the simulation output to changes in two or more factors of interest, then it is not correct, in general, to vary one factor at a time while setting the other factors at some arbitrary values. Validating the Output from the Overall Simulation Model [5] The most definitive test of a simulation models validity is establishing that its output data closely resemble the output data that would be observed from the actual system. If a system similar to the proposed one now exists, then a simulation model of the existing system is developed and its output data are compared to those from the existing system itself. If the two sets of data compare closely, then the model of the existing system is considered valid. (The accuracy required from the model will depend on its intended use and the utility function of the decision-maker.) The model is then modified so that it represents the proposed system. The greater the commonality between the existing and proposed systems, the greater our confidence in the model of the proposed system. There is no completely definitive approach for validating the model of the proposed system. If there were, then there might be no need for a simulation model in the first place. If the above comparison is successful, then it has the additional benefit of providing credibility for the use of simulation. (As stated above, the idea of comparing the model and system output data for the existing system is called results validation.) Example 6. A U.S. Air Force test agency performed a simulation study for a bomb wing of bombers using the Logistics Composite Model (LCOM). The ultimate goal of the study was to evaluate the effect of various proposed logistics policies on the availability of the bombers, i.e., the proportion of time that the bombers were available to fly missions. Data were available from the actual operations of the bomb wing over a 9-month period, and included both failure data for various aircraft components and a bomb-wing availability of 0.9. To validate the model, the Air Force first simulated the 9-month period with the existing logistics policy and obtained a model availability of 0.873, which is 3 percent different than the historical availability. This difference was considered acceptable because an availability of 0.873 would still allow enough bombers to be available for the Air Force to meet its mission requirements. Example 7. A manufacturer of heat-treated aluminum products was thinking of replacing its existing batch furnace by a new continuous furnace in order to increase its production capacity [see Law (1991)]. We first simulated the existing system and found that the model monthly throughput differed from the historical monthly throughput by less than one percent. Thus, it appeared that the model of the existing system was reasonably valid. A number of statistical tests (t, Mann-Whitney, etc.) have been suggested in the validation literature for comparing the output data from a simulation model with those from the corresponding real-world system [see, for example, Shannon (1975, p. 208)].

37

However, the comparison is not as simple as it might appear, since the output processes of almost all real-world systems and simulations are non stationary (the distributions of the successive observations change over time) and auto correlated (the observations in the process are correlated with each other). Thus, classical statistical tests based on independent, identically distributed (IID) observations are not directly applicable. Furthermore, we question whether hypothesis tests, as compared with constructing confidence intervals for differences, are even the appropriate statistical approach. Since the model is only an approximation to the actual system, a null hypothesis that the system and model are the same is clearly false. We believe that it is more useful to ask whether or not the differences between the system and the model are significant enough to affect any conclusions derived from the model. For a brief discussion of statistical procedures that can be used to compare model and system output data. Whether or not there is an existing system, analysts and SMEs should review simulation output (numerical results, animations, etc.) for reasonableness. (Care must be taken in performing this exercise, since if one knew exactly what output to expect, and then there would be no need for a model.) If the simulation results are consistent with perceived system behavior, then, as stated above, the model is said to have face validity. Example 8. The above idea was put to good use in the development of a simulation model of the U.S. Air Force manpower and personnel system. (This model was designed to provide Air Force policy analysts with a system-wide view of the effects of various proposed personnel policies.) The model was run under the baseline personnel policy, and the results were shown to Air Force analysts and decision makers, who subsequently identified some discrepancies between the model and perceived system behavior. This information was used to improve the model, and after several additional evaluations and improvements, a model was obtained that appeared to approximate current Air Force policy closely. This exercise improved not only the validity of the model, but also its credibility. Using Graphical Plots and Animations of the Simulation Output Data [5-7] Graphical plots (static or dynamic) and animations (dynamic) are useful for showing that a simulation model is not valid and for promoting model credibility. The following are some examples of graphical plots: Histogram (a graphical estimate of the underlying probability density or mass function) Correlation plot (shows if the output data are auto correlated) Time plot (one or more model variables are plotted over the length of the simulation run to show the long-run dynamic behavior of the system) Bar charts and pie charts an animation, which shows the short-term dynamic behavior of a system, is useful for communicating the essence of a model to decisionmakers and other people who do not understand or care about the technical details of the

38

model. Thus, it is a great way to enhance the credibility of a model. Animations are also useful for verification of the simulation computer program, for suggesting improved operational procedures, and for training. Statistical Techniques for Comparing Model and System Output Data [5] In this section we discuss the possible use of statistical procedures for carrying out the comparison of model and system output data. Suppose that R1, R2, , Rk are observations from a real-world system and that M1, M2, , Ml are output data from a corresponding simulation model (see Example 9 below). We would like to compare these data sets in some way to determine whether the model is an accurate representation of the real-world system. However, most classi-cal statistical approaches such as confidence intervals and hypothesis tests assume that the real-world data and the model data are each IID data sets, which is generally not the case. Thus, these classical statistical approaches are not directly applicable to our comparison problem. Example 9. Consider a manufacturing system where the data of interest are the times in system of successively completed parts. These data are not independent for the actual system (nor for a corresponding simulation model). For example, if the system is busy at a particular point in time, then all of the parts being processed will tend to have large times in system (i.e., the times are positively correlated). COMMON DIFFICULTIES The following are four potential difficulties with data: Data are not representative of what one really wants to model Example 10. The data that have been collected during a military field test may not be representative of actual combat conditions due to differences in troop behavior and to lack of battlefield smoke. Data are not of the appropriate type or format Example 11. In modeling a manufacturing system, the largest source of randomness is usually random downtimes of a machine. Ideally, we would like data on time to failure (in terms of actual machine busy time) and time to repair of a machine. Sometimes data are available on machine breakdowns, but quite often they are not in the proper format. For example, the times to failure might be based on wall-clock time and include periods that the machine was idle or off-shift. Data may contain measuring, recording, or rounding errors

39

Example 12. Data representing the time to perform some task are sometimes rounded to the closest 5 or 10 minutes. This may make it difficult to fit a continuous theoretical probability distribution to the data, since the data are now discrete. Data may be biased because of self-interest Example 13. The maintenance department in an automotive factory reported the reliability of certain machines to be greater than reality to make themselves look good.

Model Verification
Does the model perform as intended? Verification is done to ensure that: The model is programmed correctly The algorithms have been implemented properly The model does not contain errors, oversights, or bugs Verification ensures that the specification is complete and that mistakes have not been made in implementing the model Verification does not ensure the model: o Solves an important problem o Meets a specified set of model requirements o Correctly reflects the workings of a real world process Timing and relationships of validation, verification, and establishing credibility
The Figure that follows illustrates the timing and relationships of validation, verification, and establishing credibility

40

Validation
Establish credibility

Verification

Validation

Establish credibility

System

Analysis and data 1, 2, 3

Simulation Conceptual model Programming program


4

Make model runs 5,6,7,8,9

Correct results available

Sell results to management 10

Results used in decisionmaking process

Figure 5.1: Timing and relationships of validation, verification, and establishing credibility

Verification of Simulation Computer Program 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. 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. 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. Statistical Procedures for Comparing Real-world Observations and Simulation Output Data Inspection approach. Confidence-interval approach based on independent data. Time-series approach

Inspection Approach Statistics: sample mean, sample variance, the sample correlation function, histograms Dangerous! for sample size 1. Correlated inspection approach

41

Results for three experiments with the inspection approach Experiment Mean 1 Mean 2 Mean1-Mean2

1 2 3

0.90 0.70 1.08

0.70 0.71 0.35

0.20 -0.01 0.73

Historical system input data

Historical system input data

Actual system

Simulation model

System output data

Compare

Model output data

Figure 5.2: The correlated inspection approach

GUIDELINES FOR OBTAINING GOOD MODEL DATA A model is only valid for a particular application if its logic is correct and if it uses appropriate data. In this section we provide some suggestions on how to obtain good model data. Two Basic Principles

42

If a system similar to the one of interest exists, then data should be obtained from it for use in building the model. These data may be available from historical records or may have to be collected during a time study. Since the people who provide the data might be different from the simulation analysts, it is important that the following two principles be followed: The analysts need to make sure that the data requirements (type, format, amount, why needed, etc.) are specified precisely to the people who provide the data. The analysts need to understand the process that produced the data, rather than treating the observations as just abstract numbers. For example, suppose that data are available on the time to load a ship, but there are a few observations that are significantly larger than the rest (called outliers). Without a good understanding of the underlying process, it is impossible to know whether these large observations are the result of measuring or recording errors, or are just legitimate values that occur with small probability. TYPES OF VALIDITY With Zeigler we should distinguish between three types of validity: Replicative validity: the model matches data already acquired from the real system (retrodiction) Predictive validity: the model matches data before data are acquired from the real system. Structural validity: the model not only reproduces the observed real system behaviour, but truly reflects the way in which the real system operates to produce this behaviour.

VALIDATION SCHEMES Tests of suitability 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.

43

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? Tests of consistency: Face validity test: Does the model structure looks like the real system? Is it a recognizable representation of the real system? Does a reasonable fit exist between the feedback structure of the model and the essential characteristics of the real system? Parameter-Verification Test: Parameters and their numerical values should have real system equivalents. Do the parameters correspond conceptually and numerically to real life? Are the parameters recognizable in term of real systems, or are some parameters contrived to balance the equations? If the values selected for the parameters consistent with the test information available about the real system? Test of utility and effectiveness: Appropriateness for audience: Is the size of the model, its simplicity or complexity, and its level of aggregation or richness of detail appropriate for the audience for the study? The more the appropriate a model for the audience the more will be the audiences perception of model validity.

44

SYSTEMS DYNAMICS
Definition: System dynamics is a methodology to analyze situations that change over time. The methodology focus on the way one quantity can affect others through the flow of physical entities and information i.e. the central understanding is that change to one part of a system will impact all other parts of an interrelated system 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. The flow of the systems is governed by these feedback loops. In its simplest sense, system dynamics focuses on the flow of feedback (information that is transmitted and returned) that occurs throughout the parts of a systemand the system behaviors that result from those flows. For example, system dynamicity study reinforcing processes feedback flows that generate exponential growth or collapseand balancing processes feedback flows that help a system maintain stability.

DYNAMIC MODEL BUILDING BLOCKS 1. STOCKS 2. FLOWS 3. CONNECTORS 4. CONVERTORS

Stocks and Flows

45

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. 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. At any instant, the magnitudes of the stocks give us a snapshot of the system. The most common type of stock is a reservoir, which a plain rectangle represents. 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. The flow icon represents a directed pipe with a spigot and flow regulator.

46

Figure 1: Example of a simple stock and flow structure In terms of a metaphor, a stock can be thought of as a bathtub and a flow can be thought of as a faucet and pipe assembly that fills or drains the stock as shown in Figure 1. The stock-flow structure is the simplest dynamical system in the world. In system dynamics modeling, both informational and non informational entities can move through flows and accumulate in stocks. Figure 2 is an example of a system dynamics stock and flow structure that has two flows -- an inflow and an outflow. In this case, the dynamic behavior of the system arises due to the flows into, and out of, the stock (the inflow minus the outflow). Clearly, if the inflow exceeds the outflow the number of entities in the stock will increase. If the outflow exceeds the inflow, on the other hand, the number of entities in the stock will decrease. Finally, if the outflow equals the inflow, the number of entities in the stock will remain the same. This last possibility describes a state of dynamic equilibrium in a system dynamics model.

Figure 2: Example stock and flow structure with an inflow and outflow In principle, a stock can have any number of inflows and outflows. In practice, however, a system dynamics model usually contains stocks with no more than four-to-six inflows and/or outflows. The principle of accumulation holds regardless of the number of inflows and outflows that work to change the number of entities accumulating in a stock. More precisely, this principle states that all dynamic behavior in the world occurs when flows accumulate in stocks.

47

Table 3.1.1 Building Block Stock Flow Converter Connector

Basic building blocks of STELLA Icon Meaning noun, something that accumulates verb, activity that changes magnitude of stock converts, stores equation or constant, does not accumulate transmits inputs and information

Stocks: To decide whether a particular factor is a stock or not, one can ask the following questions: .Does it accumulate?. If time stops, can it still be measured?. Can I stock it somewhere and use it later?. Is there a level?. All non-stocks are either flows or auxiliaries. The choice depends on the nature of the outgoing dependencies. Once a stock s is chosen, one should look at all the incoming links of s and decide whether or not they can be labeled as flow dependency. The next two subsections discuss both alternatives. EXAMPLE: Total Population Derived From Other Quantities Total population is converter.

Children

Adult population

Births

Coming to Age

Dearths

Total Population

Identifying Stocks and Flows


One of the fundamental skills a system dynamics modeler must learn is how to identify the stocks and flows in the system experiencing the problem that he or she is trying to model. This is a nontrivial task and one that people often find difficult. For example, it is not at all unusual for people, not trained in system dynamics modeling, to confuse stocks and flows. They'll say "deficit" (a flow) when they mean "debt" (a stock), or they'll say that "inflation (a flow into a stock) is lower so therefore the general level of prices (a stock) is falling" In fact, 48

decreasing inflation to a lower value means that prices are rising but at a slower rate. In order to identify stocks and flows, a system dynamics modeler must determine which variables in the system experiencing the problem define its state (its stocks), and which variables define the changes in its state (its flows). That said, the following guidelines can be used to help identify stocks and flows: i. ii. iii. iv. v. 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.

Four Characteristics of Stocks


Stocks possess four characteristics that are crucial in determining the dynamic behavior of systems. More specifically, stocks:
a. b. c. d.

Have memory, Change the time shape of flows, Decouple flows, Create delays.

Each of these characteristics will be discussed in turn.

Stocks have memory


The first key characteristic of stocks is that they have memory (i.e., persistence or inertia). An easy way to see this is to recall the simple stock-flow structure presented in Figure 1. 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. In terms of a simple system dynamics model, the deficit is a flow and the debt is a stock, as shown in Figure 5 . Therefore, if the U.S. federal government were to balance its budget (i.e., make the deficit inflow zero), the debt would not decrease at all. This fact is surprising to many people!

49

Figure 5: Structure of US Debt/Deficit problem.

Stocks 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. Figure 7 for example, presents the time shape of the stock when the flow is at a constant level of 5 units/time. An examination of the figure reveals that the accumulation process changes the horizontal time shape of the flow into a linear growth shape for the stock

In a similar way, Figure 8 show the time shape of the stock for different time shapes exhibited by the flow.

50

In Figure 8, we see that if the inflow valve is "opened" or increases in a linear fashion, (i.e., a linear growth shape that is at all times positive), the "level" of the stock variable will grow at an increasing rate.

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. In addition, the decoupling of flows by stocks makes it possible for inflows to be controlled by sources of information that differ from those controlling outflows. Figure 14 shows a number of examples in which flows are decoupled by stocks.

Figure 14: Examples where flows are decoupled by stocks

Stocks create delays

51

A fourth important characteristic of stocks is that they create delays. This can be seen by re-examining Figure 13 -- the response of a stock to a sinusoidal inflow. In this example, it is clear that the stock reaches each of its peaks and troughs after the flow reaches each of its corresponding peaks and troughs, during each repetition of the cycle. Henri Bergson once remarked that "time is a device that prevents everything from happening at once". Bergson's point of course is that, despite human impatience, events in the world do not occur instantaneously. Instead, there is often a significant lag between cause and effect. In system dynamics modeling, identifying delays is an important step in the modeling process because they often alter a system's behavior in significant ways. The longer the delay between cause and effect, the more likely it is that a decision maker will not perceive a connection between the two. Figure 15 presents some examples of stock-flow structures specifying significant system delays.

Figure 15: Examples of Stock-Flow Structures Specifying Significant System Delays

Examples of stocks and flow diagrams


Question 1. Identify the Stocks, Flows, Connectors and Convertors in the diagrams that follow.

Figure 1

52

Figure 2

ASSIGNMENT ONE: SIMULATING POPULATION GROWTH OVER TIME Figure 3.1.1


po pul ati on

growth

growth rate

Clicking the Equation Tab on the left side of the STELLA window takes us to the Equation Level and reveals the resulting formulas, which Equation Set 1 displays. On the model, we had established a value for growth_rate (0.1), an initial value for population (100), and the equation for growth (growth_rate * population). The variable dt, which appears in the formula for population (t), represents the change in time between time steps. The variable t represents time; and population (t) is the population at time t; while population (t dt) is the population at the previous time step, t dt. As

53

we discuss in detail in Module 3.2 on "Unconstrained Growth," the first equation indicates the population at one time step is the population at previous time step plus the change in population over that time interval: (new population) = (old population) + (change in population) = (old population) + growth * dt = (old population) + (growth over 1 unit) * (length of time step) Formulas

Equation Set 1:

population(t) = population(t - dt) + (growth) * dt INIT population = 100 INFLOWS: growth = growth_rate * population growth_rate = 0.1 Quick Review Question 1 For current time t, give the meaning of each of the following: a. b. c. t dt population(t dt) growth * dt

Save your work and continue saving frequently.

STEPS OF RUNNING A GRAPH Figure 3.1.2 Graph of Population vs. Time using the default run specifications

54

Quick Review Question 2 How many time units does the simulation run? Quick Review Question 3 About how many time units does it take for the initial population to double? To change the default time specifications, from the Run menu choose Run Specs, so that the popup menu as in Figure 3.1.13. Have the simulation run for 100 time units. If we are modeling the growth of a population of bacteria, the time unit would probably be an hour; while for a larger animal, the unit might be a month. Supposing the model is for a colony of bacteria, change the Unit of Time to Hours. Change DT to 0.1. Thus, calculations for the simulation will be every 0.1 hour instead of every 0.25 hour. Usually, a smaller DT generates more accurate results but causes the simulation to take longer. Although the computations take longer, we can also obtain better results with the Runge-Kutta 2 or the Runge-Kutta 4 integration method. For the time being, leave the Integration Method as the default, Euler's Method. Figure 3.1.3 Run Specs popup menu

Quick Review Question 4 After making the above changes, how many time steps (DT's) will be in the simulation? Click OK, and run the simulation. Notice in Figure 3.1.14 that STELLA changes the range on the time axis to 0.00-100.00 and on the population axis to 0-3000000.

55

Figure 3.1.4 Graph of Population vs. Time using the Run Specs popup menu of Figure 3.1.13

To preserve this graph regardless of what other changes we make, click the Lock icon at the bottom left of the graph window (see Figure 3.1.14). Clicking the next icon would print the graph. Selection of dynamite on the graph window clears the graph. If we click the Question Mark icon, we can enter notes about the graph. If we have more than one page, we can click on the bottom left corner to page through the graphs. Double-click the graph to display the Graph Definition Window once again (see Figure 3.1.11). To generate a new graph page, select the up arrow by the word New above OK on the bottom right of the window. For this page, make the proper specifications to plot population and growth from 0 to 5 hours on the same graph (see Figure 3.1.15). Run the simulation. Notice in Figure 3.1.16 that the graphs are numbered and colored with different scales on the vertical axis. The ranges are such that the graphs appear almost horizontal at 0.

56

Figure 3.1.5

Run Specs for graphs of population and growth

Figure 3.1.6

Graph of Population & Growth vs. Time

Double-clicking the graph, we can change the scales in the Graph Definition Window (see Figure 3.1.17). On the Selected submenu, click population. You may need to click the up-down arrow to its right to display the minimum (Min) and maximum (Max) values on the Scale towards the bottom left. Change the range to from 0 to 150, and click Set. Similarly, set the scale for growth to from 0 to 150, and click Set and OK. Without rerunning, the graph, which is in Figure 3.1.18, immediately reflects the scale changes.

57

Figure 3.1.7

Graph Definition Window to change scales

Figure 3.1.8 Graph of Population & Growth vs. Time for scales of 0 to 150 for population and growth

Quick Review Question 5 Notice that we still cannot see all of the population graph for the time period. What maximum to the nearest 10 (160, 170, 180 etc.) shows the entire graph from 0 to 5?

58

Change the range for population and growth to be the same and so that both graphs appear completely.

Tables
Besides a pictorial view, we may want a table of values from the simulation. The Table Pad icon ( ) appears to the right of the Graph icon on the window for the Interface Level (see Figure 3.1.10). Click this icon and place a table object below the graph object. Double-click the table to display the Table Definition Window as in Figure 3.1.19. Name the table "Population Changes," and move growth and population to the Selected submenu. Unselect Every DT, and change the reporting interval to 10. Thus, although the simulation will perform the calculations as before, the table will display the results for every 10 hours. Figure 3.1.20 displays the revised Table Definition Window. Run the simulation. Figure 3.1.9 Table Definition Window

59

Figure 3.1.10

Revised Table Definition Window

Quick Review Question 6 How many rows of values appear in the table? Drag the vertical line separating the Hours and growth columns to the left to adjust the spacing. To display the larger population values, drag another vertical line to the right. It is more appropriate to have the growth and population in whole numbers. To change the format of the population values, double-click the population column heading. Quick Review Question 7 what do we do to display the population in whole numbers? Change the precision of each column to 0, and click OK and view the result.

Input/Output Tools
We can change initial values and constants in the model by going to the Map/Model Level, double-clicking the stock or converter, and changing the value. In running our model for several situations, this process is tedious. Moreover, we cannot detect the values immediately by looking at the screen or printout. However, STELLA has a variety of tools for input and output values that can help us perform an assortment of simulations quickly and view the results readily.

60

One of the most useful such tools, is the List Input Device for defining constants and initial values. Click its icon ( ) two items to the left of the graph icon on the Interface Level Window (see Figure 3.1.10). After placing a List Input Device on the window, double-click in a blank area of the list (not on the drop-down menu or scroll bar) and specify the List Title as "Values." For the list, select (initial) population and growth_rate, choosing appropriate minimum and maximum values, such 1-2000 and 00.9, respectively. Click OK. Unlock any locked tables or graphs. Change the initial population to 15 and the growth rate to 0.2. Run the simulation. If a graph does not display properly, double-click the graph and change the scale. Quick Review Question 8 What happens when you click "U" for "Restore All Devices" towards the bottom left of the window? The Knob and the Slider Input Device icons are immediately to the left and right of the List Input Device icon, respectively. Remove growth_rate from the input list by double-clicking a blank area towards the top of the list and double-clicking growth_rate. Place a Knob Input Device for input of growth_rate in the window. Change the value of growth_rate by rotating the knob and then by typing a value in the small display above the knob. Use dynamite to destroy the knob. Quick Review Question 9 Insert a Slider Input Device for growth_rate. Give two ways to designate the growth rate with this device. We can use the Numeric Display to show one value. The Numeric Display icon appears to the left of the Text Box icon, "T". Insert a Numeric Display object on the window, and have it display population with no decimal point. Quick Review Question 10 In the popup window for the Numeric Display, what do we specify to have the output value for population be a whole number? Print the Interface, Map/Model, and Equations Level Windows. Save and Quit STELLA.

61

62

Feedback
Although stocks and flows are both necessary and sufficient for generating dynamic behavior, they are not the only building blocks of dynamical systems. More precisely, the stocks and flows in real world systems are part of feedback loops, and the feedback loops are often joined together by nonlinear couplings that often cause counterintuitive behavior. From a system dynamics point of view, a system can be classified as either "open" or "closed." Open systems have outputs that respond to, but have no influence upon, their inputs. Closed systems, on the other hand, have outputs that both respond to, and influence, their inputs. Closed systems are thus aware of their own performance and influenced by their past behavior, while open systems are not. Of the two types of systems that exist in the world, the most prevalent and important, by far, are closed systems. As shown in Figure 1, the feedback path for a closed system includes, in sequence, a stock, information about the stock, and a decision rule that controls the change in the flow . Figure 1 is a direct extension of the simple stock and flow configuration shown previously with the exception that an information link added to close the feedback loop. In this case, an

63

information link "transmits" information back to the flow variable about the state (or "level") of the stock variable. This information is used to make decisions on how to alter the flow setting.

Figure 1: Simple System Dynamics Stock-Flow-Feedback Loop Structure. It is important to note that the information about a system's state that is sent out by a stock is often delayed and/or distorted before it reaches the flow (which closes the loop and affects the stock). Figure 2, for example, shows a more sophisticated stock-flow-feedback loop structure in which information about the stock is delayed in a second stock, representing the decision maker's perception of the stock (i.e., Perceived_Stock_Level), before being passed on. The decision maker's perception is then modified by a bias to form his or her opinion of the stock (i.e., Opinion_Of_Stock_Level). Finally, the decision maker's opinion is compared to his or her desired level of the stock, which, in turn, influences the flow and alters the stock. Given the fundamental role of feedback in the control of closed systems then, an important rule in system dynamics modeling can be stated: Every feedback loop in a system dynamics model must contain at least one stock.

64

Figure 2: More Sophisticated Stock-Flow-Feedback Loop Structure

CAUSAL LOOP DIAGRAMS


Definition: Causal loop diagrams (CLDs) are a kind of systems thinking tool. These diagrams consist of arrows connecting variables (things that change over time) in a way that shows how one variable affects another. 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. The two conventions are relatively similar though when using the "S" and "O" convention there are times when the implications of the diagram can be a bit misleading.

65

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. 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. A --> B with an "S" on the arrow indicates that "B" changes in the same direction as "A". If "A" increases "B" increases and if "A" decreases then "B" decreases. A --> B with an "O" on the arrow indicates that "B" changes in the opposite direction as "A". If "A" increases then "B" will decrease and if "A" decreases "B" will increase. A --> B with no label indicates that "A" is considered a constant within the boundary of the CLD being considered.

Each arrow in a causal loop diagram is labeled with an "s" or an "o." "S" means that when the first variable changes, the second one changes in the same direction (for example, as your anxiety at work goes up, the number of mistakes you make goes up, too). "O" means that the first variables causes a change in the opposite direction in the second variable (for example, the more relaxation exercises you do, the less stressed you feel). Note there is no indication in a CLD as to the strength of the relation between elements, simply an indication as to the nature of the influence.

Influence Structures
They really aren't at all difficult once you get used to them. The following is an introduction to structures and how to read the stories associated with the diagrams. The basic idea of structure(s) is to point out the influence one thing has on another. That is, how do things influence other things to change? If I have two things, thing 1 and thing 2, there are only two ways thing 1 can influence thing 2.

Fig. 1 - Add Relationship As indicated in Fig 1, thing 1 can add to thing 2, as indicated by a "+" sign, thus increasing thing 2.

Fig. 2 - Subtract Relationship

66

The alternative is that thing 1 can subtract from thing 2, as indicated by the "-" sign in Fig 2, thus decreasing thing 2. All this thingness may be a bit difficult to connect with so let's consider a couple specific examples.

Fig. 3 - Sales Increases Revenue Fig 3 indicates that sales add to revenue. Even if sales decrease it will still add to revenue, just not quite as rapidly as before. On the other hand, if sales increases it will add even more readily to revenue.

Fig. 4 - Product Sales and Inventory Fig 4 indicates that product sales subtracts from finished goods inventory. If product sales increase it will subtract even more from finished goods inventory. On the other hand, if product sales decrease it will still subtract from finished goods inventory, just not quite so much. Within systems diagrams there are often items that are held constant within the context of what is being considered. These items will have neither a "+" nor a "-" attached to them.

Fig. 5 - Constant Contribution Fig 5 indicates that resources interact with productivity in such as way as to add to the finished goods inventory. The indication is that resources is a constant within the structure being considered so it neither adds to nor subtracts from, it just is. You might think of a constant as a catalyst for the result. If productivity increases it will interact with resources and add even more to finished goods inventory. If productivity decreases it will still interact with resources to add to finished goods inventory, just not so readily.

Causal Loop Diagramming


In the field of system dynamics modeling, positive and negative feedback processes are often described via a simple technique known as causal loop diagramming. Causal loop diagrams are maps of cause and effect relationships between individual system variables that, when linked, form closed loops.

67

Figure 3, for example, presents a generic causal loop diagram. In the figure, the arrows that link each variable indicate places where a cause and effect relationship exists, while the plus or minus sign at the head of each arrow indicates the direction of causality between the variables when all the other variables (conceptually) remain constant. More specifically, the variable at the tail of each arrow in Figure 3 causes a change in the variable at the head of each arrow, ceteris paribus, in the same direction (in the case of a plus sign), or in the opposite direction (in the case of a minus sign).

Figure 3: Generic causal loop diagram The overall polarity of a feedback loop -- that is, whether the loop itself is positive or negative -- in a causal loop diagram, is indicated by a symbol in its center. A large plus sign indicates a positive loop; a large minus sign indicates a negative loop. In Figure 3 the loop is positive and defines a self reinforcing process. This can be seen by tracing through the effect of an imaginary external shock as it propagates around the loop. For example, if a shock were to suddenly raise Variable A in Figure 3, Variable B would fall (i.e., move in the opposite direction as Variable A), Variable C would fall (i.e., move in the same direction as Variable B), Variable D would rise (i.e., move in the opposite direction as Variable C), and Variable A would rise even further (i.e., move in the same direction as Variable D). By contrast, Figure 4 presents a generic causal loop diagram of a negative feedback loop structure. If an external shock were to make Variable A fall, Variable B would rise (i.e., move in the opposite direction as Variable A), Variable C would fall (i.e., move in the opposite direction as Variable B), Variable D would rise (i.e., move in the opposite directions Variable C), and Variable A would rise (i.e., move in the same direction as Variable D). The rise in Variable A after the shock propagates around the loop, acts to stabilize the system -- i.e., move it back towards its state prior to the shock. The shock is thus counteracted by the system's response.

68

Figure 4: Generic causal loop diagram of a negative feedback loop structure Occasionally, causal loop diagrams are drawn in a manner slightly different from those shown in Figure 3 and Figure 4. More specifically, some system dynamicity prefer to place the letter "S" (for Same direction) instead of a plus sign at the head of an arrow that defines a positive relationship between two variables. The letter "O" (for Opposite direction) is used instead of a minus sign at the head of an arrow to define a negative relationship between two variables. To define the overall polarity of a loop system dynamicists often use the letter "R" (for "Reinforcing") or an icon of a snowball rolling down a hill to indicate a positive loop. To indicate a negative loop, the letter "B" (for "Balancing"), the letter "C" (for "Counteracting"), or an icon of a teeter-totter is used. Figure 5 illustrates these different causal loop diagramming conventions.

Figure 5: Alternative Causal Loop Diagramming Conventions Now that we've covered connections, let's cover connections that complete to form loops. There are only two types of loops, reinforcing and balancing.

EXAMPLES

69

Below is provided a description of the Reinforcing Loop and the Balancing Loop. These are the two simplest CLDs one can draw. All other CLDs are, no matter how complicated they may appear, simply combinations of some number of these two loops.

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. Note: A positive effect in an information link can be seen by saying either of: An increase in quantity 1 produces an increase in quantity 2 A decrease in quantity 1 produces a decrease in quantity 2 For example an increase in the stock produces an increase in the inflow thus its effect is positive or reinforcing. An increase in quantity 1 produces an increase in quantity 2. An increase in the inflow (opening the tap wider) will cause the stock to rise faster. In CLDs, the arrows come together to form loops, and each loop is labeled with an "R" or a "B." "R" means reinforcing; i.e., the causal relationships within the loop create exponential growth or collapse. (For instance, the more anxious you are at work, the more mistakes you make, and as you make more mistakes, you get even more anxious, and so on, in a vicious, upward spiral). "B" means balancing; i.e., the causal influences in the loop keep things in equilibrium. (For example, if you feel more stressed, you do more relaxation exercises, which brings your stress level down.) CLDs can contain many different "R" and "B" loops, all connected together with arrows. By drawing these diagrams with your work team or other colleagues, you can get a rich array of perspectives on what's happening in your organization. You can then look for ways to make changes so as to improve things. For example, by understanding the connection between anxiety and mistakes, you could look for ways to reduce anxiety in your organization.

Figure 1 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. This

70

reinforcing action happens every so many months depending on the period over which the institution computes the interest. The snowball rolling down hill is your signal that the loop is a reinforcing loop. The small graph to the right of principle indicates that the growth of principal is exponential. Examples of reinforcing loops Typical examples of reinforcing loops are population growth and decline, uncontrolled nuclear reactions, snow balls rolling down hill of course, runs on banks, Wall Street market crashes, etc.

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. Definition 2: 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. 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 For example an increase in the stock produces a decrease in the inflow thus its effect is Negative or balancing. For example an increase in staff leads to the recruitment rate (inflow) as the target levels nearly to be achieved. Death process is a balancing loop.

EXAMPLES

Fig. 2 - Balancing Loop

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. The small clock to the right of the arc between action and current state indicates some time delay that it takes 71

for the action to change the current state. As the current state gets closer to the desired state the gap gets smaller and smaller so it adds less and less to the action, which is adding to the current state. Once the action has moved the current state to a point where it equals the desired state the gap is zero and there's no more addition to the action, so there is no more action. The balance in the center of the loop is your indication that the loop is a balancing loop. Emergent Characteristics To determine if a causal loop is reinforcing or balancing, one can start with an assumption, e.g. "Node 1 increases" and follow the loop around. The loop is:

Reinforcing if, after going around the loop, one ends up with the same result as the initial assumption. Balancing if the result contradicts the initial assumption.

Or to put it in other words:


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.

Systems, because of the interaction of their parts, exhibit characteristics which can not be found as properties of any of the individual parts. In the case of the two structures presented above:

The Reinforcing Loop exhibits the characteristic of growth, which is not a property of any of its individual elements. The Balancing Loop exhibits the characteristic of balance, or goal seeking, which is not a property of any of its individual elements.

Positive and Negative Loops


Closed systems are controlled by two types of feedback loops: positive loops and negative loops. Positive loops Positive loops portray self-reinforcing processes wherein an action creates a result that generates more of the action, and hence more of the result. Anything that can be described as a vicious or virtuous circle can be classified as a positive feedback process. Generally speaking, positive feedback processes destabilize systems and cause them to "run away" from their current position. Thus, they are responsible for the growth or decline of systems, although they can occasionally work to stabilize them.

72

Negative feedback loops Negative feedback loops, on the other hand, describe goal-seeking processes that generate actions aimed at moving a system toward, or keeping a system at, a desired state. Generally speaking, negative feedback processes stabilize systems, although they can occasionally destabilize them by causing them to oscillate. Sign of Arrow Head In causal loop diagram, which one is the rate and which one is the level is not clear. We think them as factors that influence each other dynamically. Notice that the influence can be positive or negative as shown in the sign near the arrow head. Positive sign indicate that higher the cause will produce higher effect, lower the cause will also lower the effect.

In contrast, negative sign in the arrow head means that higher the cause will produce lower effect, and lower the cause will create higher effect. When several arrows in the causal diagram return to one factor, it created a closing path or a loop. Since the relationship is done dynamically, it gives some feedback to the original factor, thus we call it a feedback loop. There are two kinds of feedback loops: positive feedback loop and negative feedback loop. You can easily distinguish positive and negative feedback loop from the multiplication of all arrow signs in the loop. For example in the causal diagram below we have two feedback loops. Birth and Population make one feedback loop while Death and Population make the second feedback loop. Look at the sign of the all arrows in the loop and multiply them, then you will get the sign of the loop.

73

Remember that multiplication of two signs has the following rules:

Once you know the sign of the feedback loop, you can guess the qualitative behavior of that loop. Positive feedback loop tend to grow or to decline without bound. Negative feedback loop tend to adjust itself (sometimes oscillate) to some intended value. Positive feedback loop make the system unstable but negative feedback loop tend to stabilize the system. Positive feedback loop is the locomotive that makes the system move, while negative feedback loop is the control or to steer the locomotive. Positive feedback loop will diverge and move away from the goal while negative feedback loop will converge and guide to the goal. The goal itself in dynamical system may represent either the equilibrium value or saddle point. EXAMPLES OF CLD National Debt: Figure 7 is a positive loop that shows the growth in the national debt due to the compounding of interest payments. First, we note that that an increase in the amount of interest paid per year on the national debt (itself a cost within the federal budget) will cause the overall national debt to increase. In this same way, an increase in the level of national debt will increase the amount of the interest paid each year.

74

Figure 7: Positive Loop Showing Growth in the National Debt Due to Compounding Interest Payments

Bank Panic: From the diagram, we see that the frequency of bank failures increases public concern and the fear of losing their money. In this case, we say that the two system variables "move" in the same (S) or positive (+) direction. The relationship between the "fear of not being able to withdraw money" and the rate at which bank withdrawals are made is also positive.

Figure 9: Bank panic is a positive feedback process.

The relationship between withdrawals and bank health is negative (-) or opposite (O). This means that if the rate of bank withdrawals increases, the health of the bank decreases as capital reserves are drawn down. The relationship between the banking industry's health and the rate of bank failures is also negative. This means that if the health of the banking industry increases, the number of bank failures per year will decrease. Figure 10 depicts three interacting positive feedback loops that are thought to be responsible for the growth in students taking drugs in high school.

75

Figure 10: Feedback structure responsible for growth high school drug use

Negative Feedback Examples Population Growth/Decline: In Figure 6, we saw how an elephant population and its corresponding birth rate form a positive feedback loop. Now, we consider the other half of the equation, that is, the feedback structure between Elephant Population and Elephant Death rate. Figure 11 shows the negative feedback process responsible for the decline of an elephant herd via deaths. If the Elephant Death rate increases, the Elephant Population will decrease. A negative sign indicates this counteracting behavior. The causal influence of Elephant Population to Elephant Death rate is just the opposite. An increase in the number of elephants in the herd means that a proportionally larger number of elephants will die each year, i.e., an increase in the herd's death rate. A plus sign indicates this complimentary behavior. These two relationships combine together to form a negative feedback loop.

76

Figure 11: Elephant population negative feedback loop.

Car Pools: Figure 15 shows a negative feedback process that maintains a balance between car pools and gasoline consumption. An increase in gasoline consumption increases gasoline price (supply reduction). A higher gasoline price pushes many individual motorists to join carpools, which reduces the total number of vehicles on the road. This, in turn, reduces gasoline consumption.

Figure 15: Gasoline consumption negative feedback

Figure 12 and Figure 13 are two simple and familiar examples of negative feedback processes. Figure 12 shows the negative feedback process responsible for the dissipation of Itching due to Scratching.

77

Figure 12: Scratching an itch and negative feedback

Figure 13 considers the negative feedback involved in eating to reduce Hunger. An increase in one's Hunger causes a person to eat more food. Increasing in the rate food consumption, in turn, reduces Hunger.

Figure 13: Dissipation of hunger

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. The polarity tells whether a dependency has positive polarity (if the cause increases, the effect will also increase compared with the situation where the cause did not change) or negative polarity (if the cause increases, the effect will decrease compared with the situation where the cause did not change). The definition of polarity is subtle, since even with positive polarity there are scenarios where the cause goes down while the effect goes up (even when there are no other causes for the same effect).

Problems of casual loop diagrams

78

The simplicity of causal-loop diagrams hides a subtlety, however, which poses problems which have not been adequately acknowledged. The crux of the problem with causal-loop diagrams, which this paper explores in some detail, is that they make no distinction between information links and rate-to-level links (sometimes called "conserved flows"). That simplification is usually thought to be one of the advantages of causal-loop diagrams, but it has a rather dramatic disadvantage: in cases involving rate-to-level links the standard characterizations of positive and negative polarities in causal-loop diagrams are false.

DERIVING SFDS FROM CLDS


AN EXAMPLE: POCKET MONEY As an example we will develop a simple model of a child receiving pocket money from its parents. We start with the CLD given in Figure 1. On the one hand, the more money the parents earn the more they are likely to give to their child1. On the other hand, the CLD has two feedback loops: The first describes the highly probable fact that spending of the child increases with the available amount of pocket money, and spending decreases this amount. The other feedback loop describes the observation that the aunt hands over money to the child whenever it comes to visit. However, the child does not like its aunt too much, so with increasing budget it is less inclined to see her. FIGURE 5. The structured CLD of the model. The inserted row has been connected to the model by adding one auxiliary factor and three information links.

Figure 5: casual loop diagram of the pocket money model

79

Both CLDs and SFDs are used to describe complex systems. In this section we will provide a short description, give a definition of both notations as graphs and mention what information is lacking for a complete SD model.

ANOTHER EXAMPLE: POPULATION We use the model of a simple child-adult population model as an example to find out if different initial CLDs can be transformed into the same resulting SFD. For this we start by looking at the result in Figure 7 and then work with some CLDs which might have been the starting point for this model. The model consists of two stocks, Children and Adults, three flows which represent the births, the children reaching maturity, and the deaths. Finally, there are some auxiliaries, which serve as input and output factors. A structured CLD which is equivalent to the SFD is shown in Figure 8. This transition is automatic apart from the fact that it is not possible to obtain polarities for information dependencies when going from the SFD to the structured CLD. The labels of the factors are supposed to be the same as in the CLD; the labels of the links are displayed in the diagram.

FIGURE 7. The SFD of a child-adult population model.

80

For a simple process like children being born, maturing, and growing old, the CLD in Figure 8 is already too complicated to be obvious. A modeler will usually start with a simpler CLD, and develop it further. Figure 9 (a) shows an extreme example of such a CLD. There are just the two stocks with two dependencies. After applying the transformation IMF from Section 5.3 and IF from Section 5.2 to the flow and information dependency, respectively, the CLD is a structured CLD. However, it is still incomplete semantically; the modeler discovers the need of auxiliary factors and information dependencies and inserts them. Presumably, she/he would do this correctly, in which case there is no deviation from a structured CLD, hence no further interaction about transformations would be necessary. FIGURE 8. The structured CLD which is equivalent to the SFD in Figure 7.

81

CLDs are an accessible tool for modeling complex systems. They can be more compact than a corresponding SFD since it is not necessary to include every flow. Also, they contain a minimum of formal notation symbols; there are no double lines and system boundary symbols which clutter the diagram. CLDs are the appropriate view for analyzing feedback loop structures. However, the price for this abstraction is the lack of formal exactness, which hinders the direct interpretation as a quantitative model. Structured CLDs have this exactness but also include additional assumptions. These assumptions are hard to check by just looking at the diagram, and may take the same efforts as performing this step manually without guidance. We developed a tool which does these checks automatically and which can simulate a structured CLD as a model. In fact, a structured CLD is the same as an SFD up to notational differences, which allows automatic conversion between a structured CLD and an SFD. One of the major advantages lies in the possibilities to guide the modeler through this crucial step.

Mathematical Functions
ABS DERIVN EXP INT LOG10 LOGN

82

MAX MEAN MIN MOD PCT PI ROUND SQRT SUM


The mathematical Built-ins perform mathematical operations on their input expressions, generating a result. Most commonly, you will use the mathematical functions to define converters which form the micro-logic of your model. Mathematical functions do a wide variety of operations, as detailed below.

ABS(<expression>)
The ABS function returns the absolute value of expression. Expression can be variable or constant. Example: ABS(-1) equals 1

DERIVN(<input>,< order>)
The DERIVN function calculates the nth-order time derivative of input. Input can be variable or constant. Order must be a non-negative integer. The software uses a recursive finite difference technique to calculate time derivatives. The basic equation used in the calculation is: dx/dt = (xt - x(t-dt))/dt where t is current simulation time, and dt is DT, the simulation solution interval. Because the DERIVN function uses previous values of input for its calculations, the function will return an initial value of 0. Calculus cognoscenti will note that it is possible to use the chain rule to calculate dy/dx, where y and x are time-dependent model variables. Simply use the formula: dy/dx = dy/dt dx/dt Examples:

83

DERIVN(1,0) equals 1 (the zeroth-order derivative) DERIVN(1,1) equals 0 (the first-order derivative) DERIVN(SINWAVE(1,1),3) calculates the third-order derivative of a sine wave with period of 1 and amplitude of 1.

EXP(<expression>)
The EXP function gives e raised to the power of expression. Expression can be variable or constant. The base of the natural logarithm, e is also known as Euler's number. e is equal to 2.7182818... EXP is the inverse of the LOGN function (natural logarithm). To calculate powers of other bases, use the exponentiation operator (^). Examples: EXP(1) equals 2.7182818 (the value of Euler's constant) EXP(LOGN(3)) equals 3 2^3 equals 8 (2 raised to the third power)

INT(<expression>)
The INT function gives the largest integer less than or equal to expression. Expression can be variable or constant. Because of the internal calculations associated with the Runge-Kutta methods, the INT function will not always return integer values when you use the 2nd- or 4th-order RungeKutta computation methods. When your model constructs rely on the INT function, be sure to use Euler's method. Examples: INT(8.9) equals 8 INT(-8.9) equals -9

LOG10(<expression>)
The LOG10 function gives the base 10 logarithm of expression. Expression can be variable or constant. For LOG10 to be meaningful, expression must evaluate to a positive

84

value. LOG10 is the inverse of the letter E in scientific notation, or base 10 exponentiation (10 raised to the power of expression). Examples: LOG10(10) equals 1 LOG10(1E5) equals 5 LOG10(8)/LOG10(2) equals 3 (the base 2 logarithm of 8) LOG10(-10) returns ? (undefined for non-positive numbers)

LOGN(<expression>)
The LOGN function calculates the natural logarithm of expression. Expression can be variable or constant. Natural logarithms use Euler's constant e, 2.7182818..., as a base. For LOGN to have meaningful results, expression must be positive. LOGN is the inverse of the EXP function, e raised to the power of expression. Examples: LOGN(2.7182818) equals 1 LOGN(EXP(3)) equals 3 LOGN(8)/LOGN(2) equals 3 (the base 2 logarithm of 8) LOGN(-10) returns ? (undefined for non-positive numbers)

MAX(<expression>,<expression>,...)
The MAX function gives the maximum value among the expressions contained within parentheses. Because of the internal calculations associated with the Runge-Kutta methods, the MAX function will not always return the expected value when you use the 2nd- or 4th-order Runge-Kutta computation methods, and your inputs to the MAX calculation are variables. When your model constructs rely on the MAX function, be sure to use Euler's method. Example: Purchases = MAX(0,Desired_Purchases) returns the larger value among Desired Purchases and 0. In this example, the MAX function will prevent Purchases from taking on negative values.

85

MEAN(<expression>,<expression>,...)
The MEAN function returns the arithmetic mean of the expressions contained within parentheses. The expressions can be numbers or model variables. Examples: MEAN(1,1,1,1,1,1,1) equals 1 MEAN(1,2,3,4,5,6,7,8,9) equals 5

MIN(<expression>,<expression>,...)
The MIN function gives the minimum value among the expressions contained within parentheses. Because of the internal calculations associated with the Runge-Kutta methods, the MIN function will not always return the expected value when you use the 2nd- or 4th-order Runge-Kutta computation methods, and your inputs to the MIN calculation are variables. When your model constructs rely on the MIN function, be sure to use Euler's method. Example: Spending = MIN (Desired_Spending,Allowable_Spending) returns the smaller value among Desired Spending and Allowable Spending.

MOD(<expression>,<modulus>)
The MOD function computes the remainder (modulo) when expression is divided by the modulus. Examples: Excess_Components=MOD(Components,components_per_machine) calculates the number of components that will remain in inventory after machines have been assembled. Time_of_Day=MOD(TIME,24) converts simulation time (in hours) to a 24-hour metric of time. Each 24 hours of simulation time, Time of Day will reset itself to 0. See the COUNTER Builtin for a more generalized way to create a cyclical clock based on simulation time.

PCT(<fraction>)

86

The PCT function gives the value of fraction, expressed as a percentage. Fraction can be variable or constant. Examples: PCT(.65) equals 65 PCT(1.22) equals 122

PI
The PI function gives the number 3.14159..., an approximation of the constant pi. Example: 10*SIN(2*PI*TIME/12) generates a sinusoidal fluctuation with an amplitude of 10 and a period of 12. See also SIN and COS.

ROUND(<expression>)
The ROUND function rounds expression to its nearest integer value. Because of the internal calculations associated with the Runge-Kutta methods, the ROUND function will not always return integer values when you use the 2nd- or 4thorder Runge-Kutta computation methods. When your model constructs rely on the ROUND function, be sure to use Euler's method. Examples: ROUND(9.4) equals 9 ROUND(9.64) equals 10

SQRT(<expression>)
The SQRT function gives the square root of expression. Expression can be variable or constant. For meaningful results, expression must be greater than or equal to 0. Examples: SQRT(144) returns 12 87

SQRT(-242) returns ? (undefined for negative numbers)

SUM(<expression>,<expression>,...)
The SUM function returns the arithmetic summation of the expressions contained within parentheses. Examples: SUM(1,2,3,4,5,6,7,8,9) equals 45 SUM(a,b,c,d,e,f) equals (a+b+c+d+e+f)

ASSIGNMENT/PROJECT
A Framework for the System Dynamics (SD) Modeling of the Mobile Commerce Market
Keywords: Mobile commerce; electronic commerce; system dynamics; modeling; simulation EXTENDED ABSTRACT Mobile commerce can be simply defined as conducting business activities over mobile terminals. It is the combination of electronic and mobile commerce performed over mobile terminals such as mobile phones, laptops, portable digital assistants (PDA), etc. Typical services include mobile banking, mobile shopping, mobile stock trading, mobile auction etc. It is widely regarded as an important innovation in creating more business opportunities and has a brighter future than its precedent electronic commerce. With the development of mobile commerce, a new market of mobile commerce and its derivatives, such as mobile commerce terminal market, mobile network market, mobile equipment market, and mobile software market, comes into existence. However, since mobile commerce is still in its beginning there is a lot of uncertainty in its future. This uncertainty causes the emerging mobile commerce market to be in a dynamic and complicated state. How to develop a reliable model to explore this new market and examine the behavior of the market development is becoming increasingly important. This paper provides a framework which is practical in building confidence, namely the System Dynamics (SD) modeling of a mobile commerce market. System Dynamics

88

modeling is a rigorous method for studying and managing complex systems. This framework is designed to enhance the models reliability by combining some group process techniques, like workshops, group discussions, brainstorming, Delphi surveys, and fieldwork, with System Dynamics modeling. The mobile commerce market in this paper is regarded as a social economic system. The model building process makes full use of group techniques so that the model can reasonably incorporate a wide variety of sources of knowledge including: system thinking, system dynamics, management science, mobile commerce, and marketing and hence the reliability is enhanced. The framework covers three stages of the model building process: modeling, testing, and experimenting. In the modeling stage, the framework is aimed at developing a mental representation, identifying the Causal Loop Diagram (CLD) and the Stock Flow Diagram (SFD), with which a simulation model can be developed for the mobile commerce market. A CLD links variables that have causal interpretation and an SFD represents the structure of a target system with denotations of accumulation and flow rate. In this stage, mental representations are drawn in workshops attended by a group of researchers who elicit knowledge from experts by soliciting their judgments. Casual loop and stock flow diagrams are next developed and relationships between the variables are formalized using mathematical, logical and theoretical means and experts opinion are solicited for justifying the models. In the testing stage, the aim is to test the robustness of the model developed. In addition to passing some common sense tests, the model has to pass several specific tests on some key parameters determined by the panel of researchers in order to examine the fitness of the model by comparing historical data with simulation results data. In the experimenting stage, the model is simulated to analyze the behavior of mobile commerce diffusion under different scenarios of national planning policies. As an illustration, a simulation model is empirically developed, calibrated and simulated for the Chinese market. In general, we found the framework to be useful for modeling mobile commerce diffusion in the Chinese mobile commerce market formation example.

A SD MODELING FRAMEWORK

89

Causal loop diagram


Figure 2 is the causal loop diagram (CLD) for a mobile commerce market. The market is regarded as a system. In this system, there is a certain amount of population. From this population, there is a certain amount of capable population, who has the capability to use mobile terminals. From the capable population, there are a certain number of mobile terminal users, who have already bought their mobile terminals. From these mobile terminal users, there are a certain number of potential mobile commerce users, who want to accept the mobile commerce services. However, only mobile commerce terminals can provide mobile commerce service to the potential users, so manufacturers of these devices start to produce and provide this kind of terminal to the market. Then, when users get this kind of terminal, the potential mobile commerce users become the actual mobile

90

commerce users.

91

92

93

SIMULATION MODEL RESULTS

CONCLUSIONS Based on the influential factors, we designed two typical scenarios and we analyzed the behavior of the model. We found that: 1. Under the positive scenario, mobile commerce market formation will take an S-shaped behavior in general; the mobile commerce will obtain an optimal development; 2. Under the negative scenario, the MCT strategic planning will constrain the free formation of the mobile commerce market. Appropriate adjustment of these involved influential factors combination will lead to the development of the mobile commerce market in the expected direction.

94

You might also like