The original model
The text in the following sections is taken verbatim (with the author's permission) from Bossel, H. (2007) System Zoo 3
Model conversion
These sections describe the process of converting the model into Simile, and provide access to the converted model
1. Simulation task
Despite the great complexity of the real world all of us have certain simplifying concepts about its relationships and its processes. These mental models make it easier to understand what we observe. Often they represent reality reliably despite their simplicity and we can use them for some time to orientate ourselves and guide our actions. Occasionally it turns out that previously reliable concepts are no longer adequate. In this case the mental model must be rejected if it cannot be modified and made more reliable again by appropriate corrections and additions.
What can be conceptualized and finally verbalized can in principle also be formalized and represented in formal languages such as mathematics or logic. If such a formal model has been established, then logical consequences can be computed or deduced. It is often informative to compare such results with those obtained by intuitive reasoning using a corresponding mental model. Often, such a comparison will point to omissions or logical errors of the mental model.
Even about global and long-term developments in our world we have certain concepts, such as the following:
“Worldwide we observe today an increasing stress on natural resources and the natural environment. The reason for this is a constant increase in population and economic activity and, as a consequence, the consumption of the different resources and the dumping of wastes of all kinds in the environment. An important determinant of this resource and environmental load is the consumption of resources and energy per capita. This consumption has the tendency to increase as the pollution stress increases, since resource exploitation becomes more difficult and more measures of environmental protection are required. As production and consumption increase, the material standard of living also improves, with a corresponding effect on population development. However, pollution and the diminishing natural resource base have feedback effects on health and life expectancy of the population. Environmental pollution and the strain on the natural resource base lead to growing societal costs. As a result, an increase in societal action to cope with detrimental developments can be expected.”
Can such qualitative knowledge be formalized in a way that dynamic developments following from the relationships can be reliably determined, at least qualitatively?
In the simulation model of a “miniworld” introduced here the concepts mentioned above are linked in a model system structure, quantified, and then used for dynamic simulations. Since a reliable data base for the highly aggregated variables used here is not available, we will work with relative quantities, i.e. we relate the developments arising from the structural relationships in the course of time to a normal state defined as unity “1”. Obviously such a simple model can not produce reliable forecasts, but we can use it to check for example how well our concepts and their dynamic implications agree with experience and observations. Such a modeling approach is therefore often suited for a first check of the coherence and validity of working hypotheses.
The highly aggregated model summarizes essential interconnected global processes: population dynamics, development of consumption, and environmental pollution. The model exhibits the same basic behavior as can be observed in more complex global models, in particular the process of rapid growth and consequent collapse of the three state variables. Details of model development and its results are found elsewhere (Bossel Systems and Models 2007, 97-108).
2. Simulation model
The simulation diagram is shown in Figure Z605a. The corresponding simulation instructions are found in the following. The model has the three state variables population, environmental pollution, and production capacity (all standardized to “1”).
The population increases by births and is reduced by deaths. The number of births per year depends on the size of the population, the birth rate, and a birth control parameter. It is also affected by the consumption level and by the quality of environment.
The respective environmental pollution arises from the interplay of environmental degradation and regeneration. The amount of degradation depends on population, its consumption level and the specific degradation rate. Regeneration is determined by the specific regeneration rate, the damage threshold, the quality of environment and current environmental pollution. The quality of environment is all the higher the smaller the environmental pollution is in relation to the damage threshold. If the environmental pollution exceeds the damage threshold (quality of environment < 1), then the regeneration mechanism of environmental pollution changes: the regeneration rate no longer corresponds to existing environmental pollution but to the (smaller) value of the damage threshold.
The level of production capacity changes by the capacity increase rate. This depends with a logistic saturation function on consumption level that in turn corresponds to available production capacity. The capacity increase corresponds to the parameters growth rate and consumption goal; it is also affected by environmental pollution.
3. Model diagram
4. Model equations
Parameters and initial states
INITIAL POPULATION = 1 [1]
INITIAL POLLUTION = 1 [1]
INITIAL CAPACITY = 1 [1]
BIRTH CONTROL = 1 [1]
BIRTH RATE = 0.03 [1/Year]
DEATH RATE = 0.01 [1/Year]
DAMAGE THRESHOLD = 1 [1]
REGENERATION RATE = 0.1 [1/Year]
DEGRADATION RATE = 0.02 [1/Year]
CONSUMPTION GOAL = 10 [1]
GROWTH RATE = 0.05 [1/Year]
Dynamics
births = BIRTH RATE *population *quality of environment *consumption level
*BIRTH CONTROL [1/Year]
deaths = DEATH RATE *population *environ pollution [1/Year]
population = INTEG (births –deaths, INITAL POPULATION) [1]
degradation = DEGRADATION RATE *population *consumption level [1/Year]
regeneration = IF THEN ELSE (quality of environment > 1, REGENERATION RATE *environ pollution, REGENERATION RATE *DAMAGE THRESHOLD) [1/Year]
environ pollution = INTEG (+degradation –regeneration, INITIAL POLLUTION) [1]
quality of environment = DAMAGE THRESHOLD /environ pollution [1]
capacity increase = GROWTH RATE *consumption level *environ pollution
*(1 –(consumption level *environ pollution /CONSUMPTION GOAL)) [1/Year]
production capacity = INTEG (capacity increase, INITIAL CAPACITY) [1]
consumption level = production capacity [1]
Simulation time parameters
INITIAL TIME = 0 [Year]
FINAL TIME = 500 [Year]
TIME STEP = 0.2 [Year ]
5. The model itself
6. Simulation results
Simulation results for different values of consumption goal (1 and 10) are shown in Figures Z605b and c; other parameter values are those of the default setting.
For high consumption goal (= 10) population and consumption level increase strongly in the initial four decades (Figure Z605b). Environmental pollution also increases strongly with a time delay of about 15 years, and then causes a rapid decline of population and consumption level. In the following three decades a strong but damped oscillation of the three state variables arises, with a period of approximately a century. This oscillation approaches an equilibrium point at a low level of population.
For low consumption goal (= 1) population stabilizes at a high level, while consumption level and environmental pollution approach a low equilibrium level in a strongly damped process (Figure Z605c).
Figure Z605b: Development for high consumption goal (= 10).
Figure Z605c: Development for low consumption goal (= 1).
7. Exercises
1. Examine systematically the influence of the different parameters on the dynamic behavior of the model (this is conveniently done using the SyntheSim option of VensimPLE). Document qualitatively different modes of model behavior and analyze and discuss the relevant causes. Compare model behavior with developments in the real world. Discuss the possibilities and limitations of such formalized models and simulations based on mental models.
2. Identify the (most important) feedback loops in the model. Which structural linkages are particularly critical and responsible for the typical behavioral dynamics? Identify which of the linkages can be regarded as “certain knowledge”, and which are speculative, and should be discussed, further investigated, and perhaps changed. Make corresponding suggestions.
3. Determine (by simulation) the location of the equilibrium points of the system as function of consumption goal and birth rate (for quality of environment >1 and <1; leave other parameters at their default values).
4. Which parameters determine the oscillation period, which the damping? Does the result represent everyday experiences and your intuitive expectations?
5. Modify the model so that the consumption goal is changed by quality of environment in such a way that high environmental pollution and corresponding declines of population (because of increasing deaths) are avoided. What are the characteristics of the resulting dynamics (collapse, oscillations, damping, period)?
8. References
Bossel, H. 1994: Modeling and Simulation. A K Peters, Wellesley MA, 47-90, 248-263.
Bossel, H. 2004: Systeme, Dynamik, Simulation – Modellbildung, Analyse und Simulation komplexer Systeme. Books on Demand, Norderstedt, S. 83-111, S. 250-267.
Bossel, H. 2007: Systems and Models – Complexity, Dynamics, Evolution, Sustainability. Books on Demand, Norderstedt, 97
=== End of the extract from Bossel (2007) System Zoo Z605 Miniworld ===
9. Notes on the conversion process
This is not typical, but in this particular case the model was re-implemented using two different software tools - Simile and Similette. Simile is an established software product for System Dynamics modelling; Similette is under development, but will eventually be the primary platform for viewing and running STEMI models on the web. Since this model (Z605 Miniworld) is the standard exemplar for STEEMI participants, I have included both implementations here.
10. Model diagram
Simile model diagram
Similette model diagram
11. Model equations
The following was cut-and-paste from Simile's equation listing, with some subsequent editing to remove superfluous information.
Compartment Environ pollution :
Initial value = 1 (real)
Rate of change = + degradation - regeneration
Compartment Population :
Initial value = 1 (real)
Rate of change = + births - deaths
Compartment Production capacity :
Initial value = 1 (real)
Rate of change = + capacity increase
Flow births :
births = birth_rate*Population*quality_of_environment*consumption_level*birth_control (real)
Flow capacity increase :
capacity increase = growth_rate*consumption_level*Environ_pollution*(1-(consumption_level*Environ_pollution/consumption_goal)) (real)
Flow deaths :
deaths = death_rate*Population*Environ_pollution (real)
Flow degradation :
degradation = degradation_rate*Population*consumption_level (real)
Flow regeneration :
regeneration = if quality_of_environment>1 then regeneration_rate*Environ_pollution else regeneration_rate*damage_threshold (real)
Variable birth control :
birth control = 1 (int)
Variable birth rate :
birth rate = 0.03 (real)
Variable consumption goal :
consumption goal = 10 (int)
Variable consumption level :
consumption level = Production_capacity (real)
Variable damage threshold :
damage threshold = 1 (int)
Variable death rate :
death rate = 0.01 (real)
Variable degradation rate :
degradation rate = 0.02 (real)
Variable growth rate :
growth rate = 0.05 (real)
Variable quality of environment :
quality of environment = damage_threshold*Environ_pollution (real)
Variable regeneration rate :
regeneration rate = 0.1 (real)
12. The model itself
Simile model
Simile native format (.sml) download
This is what you get when you save a model in Simile.
To use this model, download it, then open the file up in your version of Simile.
Important note: If you are a visitor to this site, please see this page regarding getting hold of Simile in order to view and run this model.
Similette model
Not currently available
13. Simulation results, including comparison with original results
14. Conclusions