System thinking Basics of system theory System dynamics in

advertisement
System thinking
Basics of system theory
System dynamics in business strategy
Luca Mari
Università Cattaneo – LIUC
lmari@liuc.it
11-14 December 2007
Context: specific aims and contents
The lectures System thinking,
thinking Basics of system theory,
theory
and System dynamics in business strategy aim at introducing:
– system thinking as a conceptual means to deal with complex
behavior of systems
– system theory as a formal means to deal with complex behavior of
systems, in the perspective of its simulation
– system dynamics as a tool for modeling business strategies, with
emphasis on learning organizations and modeling uncertainties
These topics will be taught with a learning-by-doing, bottom-up, interactive approach,
in which the learning process is driven by problem solving tasks.
The following slides can only present the general structure of the contents that will be
dealt with adaptively according to the actual modeling and implementation capabilities
of the class. In particular, the exercises will be worked out interactively, so to identify,
formalize and validate the solutions in a cooperative way.
Introduction
“The concept of a dynamical system has its origins in Newtonian mechanics.
There, as in other natural sciences and engineering disciplines, the evolution
rule of dynamical systems is given implicitly by a relation that gives the state of
the system only a short time into the future. (The relation is either a differential
equation or difference equation.) To determine the state for all future times
requires iterating the relation many times — each advancing time a small step.
The iteration procedure is referred to as solving the system or integrating the
system. Once the system can be solved, given an initial point it is possible to
determine all its future points, a collection known as a trajectory or orbit.
Before the advent of fast computing machines, solving a dynamical system
required sophisticated mathematical techniques and could only be accomplished
for a small class of dynamical systems. Numerical methods executed on
computers have simplified the task of determining the orbits of a dynamical
system.”
[wikipedia: “Dynamic system”]
Formalization?
Facing a general objection
“It is generally not possible to formalize economic strategies in full, and as a result a
business strategy is only a guide to action, which neither states in detail the conditions to
be considered nor the action to be taken. This may stem from a variety of causes, but one
of the most striking is the possible modification of the strategy sets during the execution of
the game. For example, this may result from a new invention or scientific discovery which
opens a new range of activities to a producer.
This type of limitation seems to be regarded by many social scientists as a terrible
inadequacy, and yet it is a common difficulty in all of physical science. It is analogous to a
physical prediction based on boundary conditions which may be subject to change during
the process, either by external causes or through the very process itself. The prediction
will only be valid to the extent that the conditions are not changed, yet such predictions
are useful and are used even when it is uncertain whether the assumed invariance
actually holds.
In many ways, social scientists seem to want from a mathematical model more
comprehensive predictions of complex social phenomena than have ever been possible in
applied physics and engineering; it is almost certain that their desires will never be
fulfilled, and so either their aspirations will be changed or formal deductive systems will be
discredited for them.”
[R. Duncan Luce, H. Raiffa]
“The organizational revolution”
“The barest essential of any organization, whether as simple as the thermostat or as complex as
the animal body or human society, is a control mechanism consisting of a system of communication
and transformation. It consists, first of all, of receptors of information (thermometers, sense organs,
salesmen, operators, spies). They collect information about the environment and transmit it over a
communications system (nerves, speech, letters) to an executive (furnace control, central nervous
system, manager) whose business is to take the information which he (or it) receives and transform
it into instructions. These are then communicated over a further communications system to
effectors (furnace, muscles, workmen, soldiers) who act in some way to change the environment.
The change in the environment is picked up by the receptors and the whole process is repeated
endlessly. What the receptors pick up is information about divergence of the environment from
some condition which is regarded as right, proper, or normal. If the machinery is operating correctly,
this information will be transmitted accurately to the executive, who will in turn transform it into the
“right” instructions to the effectors, who will receive these instructions correctly and put them into
effect. The result if their action will be to change the environment in such a way as to diminish the
divergence between the actual condition of the environment and the condition which is regarded as
ideal. If in fact the divergence is diminished, this information will be transmitted to the executive and
the former policy will be continued. If in fact the divergence is increased, or is unchanged, or is not
diminished sufficiently to produce satisfaction, this information also will be transmitted to the
executive, who will be faced with the problem of altering his instructions in order to provide for
different ways of affecting the environment.”
[K.E.Boulding]
“The organizational revolution” /2
From the Boulding’s schema, organizational problems can arise relating to:
• receptors, which could generate inaccurate or even false information
• communication systems among receptors and executives, “frequently the weakest
link in social organizations” because “communications are generally organized
down, to carry messages from higher to lower levels of the hierarchy; they are not
usually so well organized in the upward direction”
• executives, in particular because they are in charge of defining the “conditions
which are regarded as right, proper, or normal”, but they could be wrong in this
decision
• communication systems among executives and effectors, …
• effectors, which could not operate according to the “right” instructions, or could
induce side effects in their intervention
… and finally everything could work properly but in too late…
Description, prediction, decision
The prediction of future events is a fundamental capability, and it is exploited
to make decisions in / about complex and / or uncertain situations
Hence, prediction tools are critical components of many decision support systems
The rule that, explicitly or not, is usually adopted
is based on a principle of historical regularity:
1. the observability of a phenomenon
at a (generic) time t is assumed, obs(t)X,
being X is the description resulting from the observation
2. if for “reasonably many” times ti of the past obs(ti)=X and obs(ti+∆t)=Y,
since obs(tNOW)=X, it is plausible that obs(tNOW+∆t)=Y
A decision on the phenomenon can be made even though tNOW+∆t is
in the (next) future and therefore obs(tNOW+∆t) cannot be empirically performed
In this general modeling time is THE independent variable of the dynamic system,
on which all other variables depend (“any variable could be in principle controlled but time”)
Paradigms of complexity:
pendulums vs. clouds
The principle of historical regularity can be applied
to different systems with different reliability / effectiveness:
pendulums vs. clouds (K.R.Popper)
“We live in a planet that is a rather cold body, and many of
the natural systems we observe are close to a condition of stable equilibrium.
Hence, their behavior is usually considered ‘almost’ linear, and therefore
‘almost’ regular. This has led us to recognize the existence of time invariant
‘laws of nature’ which can be described in mathematical terms.”
[C.S.Bertuglia, F.Vaio (LM translation)]
informational
physical
social systems
• Determinism: systems (approximated as) simple both in structure (problem of the n >2
bodies) and in behavior (hypothesis of linearity)
• Statistical indeterminism: systems with many non interacting components (hypothesis of
perfect gas) and characterized only by statistical quantities (thermodynamics)
• Quantum indeterminism: …
• Deterministic chaos: …
A glimpse
to the “classical” paradigm
In their development, physical sciences and technology have adopted
very effective prediction tools for pendulum-like systems:
paradigmatic is the differential calculus, at the basis of the Newtonian mechanics
A classical example is the second principle of Dynamics, usually written:
F=ma
or
a=F/m
(a force F applied to a body of mass m generates an acceleration a)
It is usually assumed that during the experiment m is constant,
while F, and thus a, can change: a(t) = F(t)/m
input: F(t)
m
output: a(t)
The system behavior is characterized by the three quantities F, m, and a,
whose mutual dependence can be visualized in a graph such as:
F
m
a
which represents the “qualitative” component
of the previous equation
From qualitative to quantitative
modeling
Each node of the graph represents a quantity considered relevant to describe
the behavior of the system:
with each node a quantitative expression can be associated, which allows to
“automatically compute the graph”, i.e., simulate the system behavior
For example:
so that:
sin(t) F
• F is exogenous (input) variable
a
F/m
• m is a constant
3 m
• a is dependent variable
This representation implies a computation model such that:
• a can be computed only after both F and m have been computed
• F and m can be computed in parallel
To execute the simulation the time domain must be specified
(initial and final time, whether continuous or discrete time, and in the latter case ∆t)
System modeling
by directed graphs
From conceptual modeling to simulation
A (top-down, from qualitative to quantitative) procedure:
• identify the relevant properties / quantities  draw graph nodes
• identify the relations among the quantities  draw graph arrows
• identify the quantitative expressions of the relations  make graph computable
• execute the simulation  compute the graph
• analyze / validate the results and modify / refine the model if / as required
Note: the first, general, step could be:
• identify the possible subsystems and their relations;
for each of such subsystems repeat the procedure
In the following we will consider only systems whose behavior has a (relatively) low degree
of complexity, so that they can be analyzed as single entities
An introduction-by-example
to STGraph
A software tool for modeling and simulating dynamic systems
control panel of simulation
input
node
constant
node
output
node
chart (output widget)
node editor
case-sensitive
functional language
current value
of the selected node
model editor
Note:
time is the system variable for t
What is STGraph?
STGraph is a Java simulation application and engine implementing the state-variable approach
to System Theory; its meta-model is at a higher level (more specific to simulation) than a
programming language such as MatLab and a spreadsheet such as Excel, but at a lower level
(more generally applicable) than simulators based on System Dynamics such as PowerSim or
Stella and dedicated simulators such as Arena
It is based on a configurable multi-language GUI with point-and-click + drag-and-drop support
It includes a functional, weakly typed language by which the expressions to be computed in a
simulation are defined in a polymorphic way, with transparent handling and conversion
between scalars and vectors
It is an on-going project, with many features still to be designed or under implementation (and
surely a zillion of bugs still to be identified and removed…)
It exploits some open source libraries, and in particular JGraph (www.jgraph.org), Spring
(www.springframework.org), and a customized version of JEP (www.singularsys.com/jep)
Its (open source) licensing model is still under definition, but it is already freely downloadable
from http://www.liuc.it/persone/lmari/stgraph
The same site contains some documentation on the structure and the usage of STGraph.
Combinatorial models are not enough
The behavior of a system modeled as out(t)=f(in(t)) is synchronous:
its output out(t) depends instantaneously on the combination f of its input in(t)
and is completely determined by the input itself
Such systems are modeled as having not memory, being not adaptive,
having not learning capabilities nor aging effects
Back to F=ma, the usual interest is more on the position p(t)
determined by the force F(t) than on a(t)
Therefore the previous algebraic equation can be re-written:
d 2 p (t ) F (t )
=
2
dt
m
a second-order ordinary differential equation (ODE)
Derivatives express the information on the “local change” of a function:
time derivatives are thus the basic tools for prediction
But how can this ODE but solved (= integrated) in the case of complex inputs?
A general technique
for numerical integration
The behavior of a system modeled as a nth-order ODE can be re-expressed as a system of
n 1st order ODE by simply introducing n-1 intermediate variables (in this case v(t)=dp(t)/dt )
so that a(t) = F(t)/m is equivalent to:
 dp (t )
 dt = v(t )
 dv(t ) F (t )

=
m
 dt
and in general to:
dx i (t )
= f i ( x1 (t ),..., x n (t ))
dt
called the (continuous-time, local) canonical representation
of the behavior of a dynamic system
If each derivative is approximated by its incremental ratio:
dx(t ) x(t + ∆t ) − x(t )
≈
dt
∆t
the system becomes:
x i (t + ∆t ) = xi (t ) + f i ( x1 (t ),..., x n (t ))∆t
the discrete-time, local canonical representation,
which can be easily modeled and then simulated
An introduction-by-example
to STGraph /2
state
nodes
state node editor
[fma2.stg]
initial state
state transition
Notes:
• timeD is the system variable for ∆t
• this is the system variable for
the current value of this state variable
A note on the STGraph meta-model
The hypothesis underlying the so-called state-variable approach to System Theory
is that the behavior of a system can be fully characterized by its state variables
Accordingly, STGraph supports two node types:
• auxiliary nodes, each of them modeling a combinatorial system,
whose value synchronously depends only on its inputs, if any,
as formalized by an output function η such that value(t)=η(input(t))
(an auxiliary node with no inputs is a constant node)
(an auxiliary node with no incoming arrows is an input node)
• state nodes, each of them modeling a sequential system,
whose value is iteratively computed by its inputs, if any, and its previous value;
the behavior of a state node is formalized by:
– an initial value, nodeValue(t0)
– a state transition function ϕ such that state(t+∆t)=ϕ(state(t),input(t))
– an optional output function η such that value(t)=η(state(t),input(t))
(if not specified, the default is value(t)=state(t))
Both auxiliary and state nodes can be flagged to be output (i.e., observable) nodes
The graph computation is (logically) parallel, with auto synchronization
Some (simple) examples / exercises
1. Modify the previous model to the 2
dimensional case of a body freely
falling in a gravitational field
[fma2b.stg]
2. Modify the previous model by
introducing a y=0 impact check
[fma2c.stg] [fma2d.stg]
3. Modify the previous model by
introducing elasticity / bouncing
[fma2e.stg]
4. Modify the previous model(s) by
using vector variables, by dealing
in parametric way with either
dimensions [fma2v.stg] or bodies
[fma2v2.stg]
Some (simple) examples / exercises
5. [Open-loop control] Modify the previous 1D model to make the force an interactively
controllable input; introduce a moving target (e.g., sin(time)) and try to track it (i.e., try to
minimize the absolute value of the difference between system position and target
position) by playing with an input widget [fma3.stg]
6. [Closed-loop control, by negative feedback] Modify the previous model to make the force
value automatically set by a closed-loop controller [fma3b.stg]
Continuous vs. discrete
Local vs. global
Simulation engines solve numerically 1st order ODE by iteration:
• from the initial state:
• first iteration:
• second iteration:
• n-th iteration:
Hence:
Continuous-time local dynamics
Continuous-time global dynamics
Discrete-time local dynamics
Discrete-time global dynamics
On (non-)linearity
A typical requirement for an ODE to be analytically integrable is its linearity
Consider, e.g., the 2nd order non-linear ODE modeling the behavior of
a dumped harmonic oscillator:
d 2ϑ (t )
dϑ (t )
dt
2
+A
dt
+ B sin(ϑ (t )) = 0
The application of the technique for numerical integration leads to:
 dϑ (t )
 dt = ω (t )
 dω (t )

= − Aω (t ) − B sin(ϑ (t ))
 dt
where the linearization is sin(ϑ (t )) ≈ ϑ (t )
(“small signals” hypothesis)
By adopting numerical integration techniques
the linearization (that implies an approximation)
is no more required
[oscill.stg]
On (in)stability
Let us consider the classical example of the Van der Pol equation:
d 2 x(t )
dx(t )
2
+
(
x
−
1
)
+ x(t ) = 0
2
dt
dt
Despite its simplicity, this is a non-linear feedback system
RK2(3) ∆t=0,1
RK2(3) ∆t=0,52
RK2(3) ∆t=0,519
Euler ∆t=0,3
critical
parameters
[vanderpol.stg]
On deterministic chaos
From the Malthus (fixed-rate growth) equation:
x(t + ∆t ) = x(t ) + kx(t )
let us consider the classical example of the Verhulst equation:
x(t )
x (t + ∆t ) = x (t ) + k (1 −
) x(t )∆t
xmax
Once more, the integration method and ∆t, together with k, are critical:
Euler ∆t=1 k=0,1
Euler ∆t=1 k=2,2
RK2(3) ∆t=1 k=2,7
Euler ∆t=1 k=2,7
A “bifurcation diagram”,
resulting from sensitivity analysis on k
(Euler ∆t=1)
[see case study 1]
Qualitative modeling
1. Create the qualitative model for a simple inventory system, connecting order
book, production, product stock, and product shipment
2. Create the qualitative model for a “network effect”-based system, connecting
number of users, perceived value of product, and number of new customers
3. The management of a fast-food restaurant is re-defining the FFR
organization: to this goal it identified the main variables affecting the FFR
operations and their relations, as follows: decreasing the service time requires
decreasing the cooking time, which implies decreasing the food quality, which
is acceptable by increasing the number of customers, which is achievable by
decreasing the service time, …
4. Create the qualitative model for a waiting line system (see the slides of the
first lecture)
Qualitative modeling /2
1.
2.
−
+
3.
4.
In a loop the number of negative signs determines the nature of feedback:
• positive if even
• negative if odd
Exercise: bank account management
1. A capital of 1000 € is invested at the yearly interest rate of 5%; which will the
capital amount be after 10 years, under the hypothesis that the interests are
computed on a monthly basis and all reinvested, and no sums are withdrawn?
2. Modify the previous exercise as follows: each four months a sum of 100 € is
added to the account; which will the capital amount be after 10 years in this case?
3. Modify the previous exercise as follows: at the beginning of each new year the
bank gives a price of 500 € to some randomly chosen account owners; provided
that the estimated probability to win is 0,25 for each year, which will the estimated
capital amount be after 10 years in this case?
Exercise: stock management
1. The person responsible of the warehouse in a factory wants to compute:
– the stock level as a function of the inventory input and output
– the change of the stock level
under the hypothesis that items of a single product are stored in the warehouse
[stock.stg]
2. She wants then introduce the automatic reordering to the supplier (the supplier
requires 1 time unit to deliver the ordered items), triggered when the stock level is
lower than a fixed security level, with the reorder quantity required to fill the stock
to the security level
[stock2.stg]
3. Noticing that the previous strategy is generally ineffective, she wants to compute
the reorder quantity in some adaptive way, e.g., as a function of the inventory
output or the change of the stock level, with the aim of reducing the number of
reorder operations
[stock3.stg]
Exercise: ROI evaluation
How many months are required to balance the startup costs (i.e. the initial
investment)? (values in k€)
Case 1:
• startup costs: 1000
• operating costs per month: 10
• manufacturing cost per item: 0.05
• sold items per month: 2000
• market price per item: 0.1
• passive interests per month: 5%
• active interests per month: 2%
[balance.stg]
Case 2:
• startup costs: 10000
• operating costs per month: 5
• manufacturing cost per item: 0.005
• sold items per month: 2000
• market price per item: 0.1
• passive interests per month: 5%
• active interests per month: 2%
[balanceb.stg]
System theory:
the basic formalization
According to the state-variable approach to system theory, the model of the behavior of
dynamic systems is formalized by a 7-tuple of elements <T, U, Ω, Y, X, ϕ, η>:
• the time domain T for the analysis / simulation: initial and final time, whether continuous
or discrete time, and in the latter case ∆t
• the set U={ui} of the admissible inputs to the system; in general each ui is a vector of
components, and no constraints are imposed on the algebraic structure of U
• the input function u:T→U to the system, that for each time t∈T defines the input value
u(t)∈U; assuming in general that the input function is not known, the set Ω={u()} of the
admissible input functions must be defined
• the set Y={yi} of the outputs of the system; in general each yi is a vector of
components, and no constraints are imposed on the algebraic structure of Y
• the set X={xi} of the states of the system, and in particular the initial state x(t0); in
general each xi is a vector of components, and no constraints are imposed on the
algebraic structure of X
• the local state transition (next state) function ϕ:U×X→X ; it is a diachronic function:
for example, in the case of discrete time, x(t+∆t)=ϕ(u(t), x(t))
• the local behavior (output) function η:U×X→Y ; it is a synchronic function: for example,
in the case of discrete time, y(t)=η(u(t), x(t))
System theory:
the basic formalization /2
The formalization based on the 7-tuple <T, U, Ω, Y, X, ϕ, η> is very general
(it includes both continuous-time and discrete-time models,
and both algebraically-strong and algebraically-weak models)
In particular, specific cases are:
• autonomous models, for which the input set U is empty; the local state
transition function and the local behavior function become respectively ϕ:X→X
and η:X→Y
• combinatorial models, for which the state set X is empty; the local state
transition function is undefined and the local behavior function become η:U→Y
(hence, autonomous combinatorial models are static)
System theory:
the basic formalization /3
Specific cases on the 7-tuple <T, U, Ω, Y, X, ϕ, η> are:
• “system dynamics”: models whose local state transition function has
the form of a canonical representation, i.e., in the discrete-time case
x(t+∆t)=x(t)+f(u(t), x(t))∆t
In this case of so-called “stock-and-flow” models, states are assumed to have a
cumulative behavior (stock), controlled by the function f() (flow)
• “automata theory”: models whose input, state, and output sets have
no algebraic structure, so that the local state transition function and the local
behavior function must be defined in extensional way, i.e., by means of tables
explicitly listing the couples: argument - value
Example / exercise:
following a moving target
Model and simulate a system aimed at reaching a (manually controlled) moving target
and reacting with some delay / inertia
For example:
following system
target
A trivial solution:
[achilles.stg]
p:
init = 0
trans = integral((target-this)/k)
Example / exercise:
dealing with delays
Model and simulate a system introducing a 1∆t delay on its input
For example:
It is a simple example of a memory unit…
… which can be easily implemented
by a state node
Since the state transition function ϕ is such that state(t+∆t)=ϕ(state(t),input(t)),
all is required is to define state(t+∆t)=input(t)
out:
init = 0
trans = in
It is easy to model from here the discrete derivative (local variation of the input)
and the conveyor (n∆t delay, i.e., FIFO structure)
deriv:
init = 0
trans = in
out = (in-this)/timeD
conveyor:
init = vector(n,0)
trans = shift(this,in)
out = this[0]
Example / exercise:
smoothing the input
Model and simulate a system able to filter out the high frequency noise from its input,
i.e., extracting the trend
For example:
Such a low-pass filter can be implemented
as a moving average:
• maintain n input data in a buffer (i.e. a conveyor)
• average the data in the buffer
signal:
= sin(time)
in:
= signal+noise
noise:
= rand()
buffer:
init = vector(n,0)
trans = shift(this,in)
out:
= average(buffer)
Exercise: stock exchange business
From the time series of the stock quotations of a company, you are required to
implement a strategy to speculate on the stock exchange business, according to
the following specifications:
• to the time series a moving (“windowed”) average of length N must be applied
• send a “buy” signal whenever the averaged series has minimum, and a “sell”
signal whenever the averaged series has maximum
• maintain the complete history of the quotations of buy and sell operations, the
balance and the number of these operations
[exchange.stg]
[Please consider: this is a very preliminary technique, whose results are generally bad…]
Exercise:
cost optimization in input mix
A firm produces the quantity y of a product by mixing the quantities u1 and u2 of two
components according to the following production function:
y = γ (αu1β + (1 − α )u 2β )
δ
β
where α, β, γ, and δ are constant parameters, and the production cost c is:
c = w1u1 + w2u 2
where w1 and w2 are constant parameters.
1. Under the assumption that α =0,8, β =0,3, γ =1,0, δ =0,8, w1 =2,0, and w2 =1,0,
find the values u1 and u2 that minimize c in the case y =4,0
2. Analyze the value min(c/y) for different values of y: which conclusions can be
drawn on this production system?
adapted from M.Ruth, B.Hannon, Modeling dynamic economic systems, Springer, 1997, p.95
[substitution of inputs.stg]
[substitution of inputs 2.stg]
Exercise: stock management
1. The person responsible of the warehouse in a factory wants to compute:
– the stock level as a function of the inventory input and output
– the change of the stock level
under the hypothesis that items of a single product are stored in the warehouse
2. She wants then introduce the automatic reordering to the supplier (the supplier
requires 1 time unit to deliver the ordered items), triggered when the stock level is
lower than a fixed security level, with the reorder quantity required to fill the stock
to the security level
3. Noticing that the previous strategy is generally ineffective, she wants to compute
the reorder quantity in some adaptive way, e.g., as a function of the inventory
output or the change of the stock level, with the aim of reducing the number of
reorder operations
[stock.stg]
[stock 2.stg]
[stock 3.stg]
Exercise: interacting populations
The dynamics of an isolated population is described by the amount of a characteristic
quantity (e.g., the number of its individuals) (so that under the hypothesis of fixedrate growth the Malthus equation is obtained)
1. Let us now assume that two such populations interact with each other, by either
cooperation or competition, and that the interaction dynamics is linear (i.e., it is
formalized by fixed-rate change coefficients in a linear equation). Hence, the whole
system is characterized by four (constant) parameters:
– the rate of “spontaneous” change of each population
– the rate of change of each population due to its interaction with the other one
Study the dynamics of the system in dependence of the sign of the four parameters.
2. Modify the previous model to implement the Lotka-Volterra equations:
 dx (t )
 dt = k xx x(t ) + k xy x (t ) y (t )
 dy (t )

= k yy y (t ) + k yx x (t ) y (t )
 dt
and study the dynamics of this system.
[interacting populations.stg]
[Lotka-Volterra.stg]
Exercise: Xlight
Some experts have estimated that the market of the table lamp “Xlight” in Roma
has 10000 potential buyers.
Currently only 10 persons own this lamp.
The distributor relies on the direct communication among customers as advertising
strategy, under the hypothesis, suggested by the experts, that 2 persons will be
contacted by each 10 owners per month. While some of the contacted people
could be already owner of the lamp, the experts are confident that all the
contacted persons who do not own the lamp will buy it immediately after the
contact.
On the basis of these specifications, create a model of the system and run the
simulation to predict the number of months required to reach a 90% saturation of
the market.
[xlight.stg]
Exercise: demand, supply, price
A classical macro-economical model: the relations between demand and supply as
the determining factor of the dynamics of price
Create and simulate a model implementing the following specifications:
• the demand is inverse function of the price
• the price increases in function of the difference of demand and supply
• the supply is direct function of the price of the previous instant
(in all cases assume a linear dependence)
Perform some sensitivity analysis to explore the dependence of price on model
calibration parameters.
[price, supply and demand.stg]
Exercise: positive feedback
in economy
Create and simulate a model implementing the following specifications
• The more that has been produced by a producer, the more experience that
producer has gained, and as a consequence, the lower its production cost per
product.
• Lower costs translate into lower prices
• which, in turn, increase the attractiveness of the product to the consumer and
therefore the number of sold products per unit time.
What could happen if two products compete with these specifications in the same
market?
[positive feedback.stg]
(Non-)conclusion: for the discussion
“The barest essential of any organization, whether as simple as the thermostat or as complex
as the animal body or human society, is a control mechanism consisting of a system of
communication and transformation. It consists, first of all, of receptors of information
(thermometers, sense organs, salesmen, operators, spies). They collect information about the
environment and transmit it over a communications system (nerves, speech, letters) to an
executive (furnace control, central nervous system, manager) whose business is to take the
information which he (or it) receives and transform it into instructions. These are then
communicated over a further communications system to effectors (furnace, muscles,
workmen, soldiers) who act in some way to change the environment. The change in the
environment is picked up by the receptors and the whole process is repeated endlessly. What
the receptors pick up is information about divergence of the environment from some condition
which is regarded as right, proper, or normal. If the machinery is operating correctly, this
information will be transmitted accurately to the executive, who will in turn transform it into the
“right” instructions to the effectors, who will receive these instructions correctly and put them
into effect. The result of their action will be to change the environment in such a way as to
diminish the divergence between the actual condition of the environment and the condition
which is regarded as ideal. If in fact the divergence is diminished, this information will be
transmitted to the executive and the former policy will be continued. If in fact the divergence is
increased, or is unchanged, or is not diminished sufficiently to produce satisfaction, this
information also will be transmitted to the executive, who will be faced with the problem of
altering his instructions in order to provide for different ways of affecting the environment.”
[K.E.Boulding, The organizational revolution – A study in the ethics of economic organization, 1968]
Download