System dynamics is not differential equations

This forum contains all archives from the SD Mailing list (go to http://www.systemdynamics.org/forum/ for more information). This is here as a read-only resource, please post any SD related questions to the SD Discussion forum.
Locked
George Richardson
Senior Member
Posts: 68
Joined: Fri Mar 29, 2002 3:39 am

System dynamics is not differential equations

Post by George Richardson »

On Tue, 23 Apr 1996, Ed Gallaher wrote (among other things):

[...]
> I did see the articles in Science. However, these papers described
> differential equations and not SD models. This is not a trivial
> difference!
[...]

In fact, a system dynamics model *is* a model of the form dX/dt = f(X,p),
where X is a vector of n states (levels), f is a (usually nonlinear)
n-dimensional function, and p is a vector of parameters. System dynamics
models are systems of differential (or, if you prefer, integral)
equations. John Sterman is right to point out to us system dynamicists
excellent work in Science in using using such models to address
significant biological/medical problems, particular when the authors
translate some of their structural insights into feedback terms. Such
work is system dynamics.

Eds point is that simulation allows more people access to such models.
[We all would add that simulation allows us to work with such models that
can not be solved in closed form.] True, but that does not contradict that
the Science differential equation models are "just like ours" and could
be made accessible by us to audiences Ed would like to reach. We dont
dismiss such work -- we build on it!

So if you are looking for good examples of system dynamics models of
biological/medical phenomena, dust off your diffy-q skills and get busy
translating good work in journals like Science that happen to have been
presented as differential equations. Then go from there.

[I think it is relevant to mention that one approach J.S. Bach used to
learn to write music was to copy the manuscripts of the masters who
preceeded him.]

...GPRichardson
gr383@cnsvax.albany.edu
Rockefeller College of Public Affairs and Policy
State University of New York at Albany
John Wolfenden
Junior Member
Posts: 17
Joined: Fri Mar 29, 2002 3:39 am

System dynamics is not differential equations

Post by John Wolfenden »

George Richardson wrote:
"In fact, a system dynamics model *is* a model of the form dX/dt =3D =
f(X,p),
where X is a vector of n states (levels), f is a (usually nonlinear)
n-dimensional function, and p is a vector of parameters. System =
dynamics
models are systems of differential (or, if you prefer, integral)
equations."

My impression of the system dynamics approach is that it uses systems of =
*difference* equations to *approximate* continuous or differential =
equations of the form dX/dt =3D f(X,p). The simple difference equation =
is of the form y(t+1)=3Dy(t) + c, where y(t+1) is the value taken by y =
in next time period t+1, y(t) is the value of y in time period t, and =
the constant c is the change. The minimum period of time allowed in =
this analysis is 1 unit. =20

In his book "Fundamental methods of mathematical economics", Alpha C =
Chiang makes the point that difference equations are about discrete =
time, while differential equations deal with continuous time. System =
dynamics then, is fundamentally a discrete analysis using difference =
equations.

However, the purpose of using difference equations is that they offer a =
tractable method of dealing with complex non-linear systems, since for =
any dt the feedbacks in the system under review can be treated as =
linear. Further, by setting dt small enough, it is possible to =
approximate a continuous system of differential equations. On this =
basis, it can be argued that system dynamics is about the study of =
continuous systems described by differential equations, but approximated =
by a system of discrete difference equations.

I am sorry, but I think that this muddies the water even further!

John Wolfenden
jwolfend@metz.une.edu.au
"Joel Rahn"
Junior Member
Posts: 10
Joined: Fri Mar 29, 2002 3:39 am

System dynamics is not differential equations

Post by "Joel Rahn" »

On Fri, 26 Apr 1996 10:53:19 +-1000,
John Wolfenden <
jwolfend@metz.une.edu.au> wrote:


>My impression of the system dynamics approach is that it uses systems of =
>*difference* equations to *approximate* continuous or differential =
>equations of the form dX/dt =3D f(X,p).

Unfortunately, and at the risk of seriously derailing this discussion, I
have to mention that the above equation is lacking one important component:
stochasticity. The right-hand side should (probably (:-)>) have at least an
additional stochastice term if not, as well, some representation of
stochasticity in the function f. This complicates the underlying theory of
such equations enormously but in the spirit of modeling complex systems, we
generally agree to ignore these aspects since we have no way of identifying
errors due to mis-specification of a (deterministic) f versus a
mis-specification of the stochastic components.

And now, back to the topic.

>The simple difference equation =
>is of the form y(t+1)=3Dy(t) + c, where y(t+1) is the value taken by y =
>in next time period t+1, y(t) is the value of y in time period t, and =
>the constant c is the change. The minimum period of time allowed in =
>this analysis is 1 unit. =20

The fact that the minimum period of time allowed is 1 unit is at the heart
of the issue and is the reason SD models are *not* difference-equation
models but are equivalent to differential equation models. If you change
the value of dt within a wide range of orders-of-magnitude (avoiding
numerical instability limits), the model does not change. If you change the
time unit in a difference equation model, the model must change to reflect
the different time base.

>time, while differential equations deal with continuous time. System =
>dynamics then, is fundamentally a discrete analysis using difference =
>equations.

Nope.

>However, the purpose of using difference equations is that they offer a =
>tractable method of dealing with complex non-linear systems, since for =
>any dt the feedbacks in the system under review can be treated as =
>linear.

This is a common mis-conception. It implies that non-linear behaviour is
simply linear behaviour that has been patched together over time which
is, of course, not true, otherwise chaotic behaviour would have been
discovered decades, if not a century, ago.

>Further, by setting dt small enough, it is possible to =
>approximate a continuous system of differential equations. On this =
>basis, it can be argued that system dynamics is about the study of =
>continuous systems described by differential equations,

Yup.

but approximated by a system of discrete difference equations.

Nope (see above).

>
>I am sorry, but I think that this muddies the water even further!

Yup, but help is on the way (see above).
R. Joel Rahn
Dipartement OSD
Faculti des sciences de ladministration
Universiti Laval
Ste-Foy, Quibec
G1K 7P4 CANADA
til.: 418 656 7163 fax: 418 656 2624
e-mail: Joel.Rahn@fsa.ulaval.ca
jsterman@MIT.EDU (John Sterman)
Senior Member
Posts: 54
Joined: Fri Mar 29, 2002 3:39 am

System dynamics is not differential equations

Post by jsterman@MIT.EDU (John Sterman) »

John Wolfendon is correct that system dynamics models are solved
numerically by approximating the underlying continuous
(differential/integral) equations with difference equations. This is
because for all but trivial models, no analytic solutions are known, so
numerical integration is the only practical way to determine the
solution of the equations. Often system dynamics models use Euler
integration (the difference equation approach), though often
higher-order integration schemes such as variable step size 4th order
Runge-Kutta are used (these higher order integration methods are
standard in many simulation software packages).

Let us not confuse the numerical integration method with the conceptual
issue of continuous versus discrete time in our models. Most SD models
are continuous time models, not difference equation models. The
numerical integration method should be chosen to be accurate enough, and
the time period between successive updates of the state vector, usually
known as DT (delta time), short enough so that integration error (the
discrepancy between the numerical and true analytic solutions) is
tolerably low for the purpose at hand.

This is quite different from a difference equation model in which the
time period between state updates is large, as this latter assumption
implies that there is a nontrivial delay in all the feedback loops, and
often leads to the introduction of spurious dynamics. Further, in
difference equation models of the type John illustrates, the delay in
the transmission of information in all feedback loops is the same (or an
integer multiple of the basic time step). This is rarely a good
assumption in practice. Often in difference equation models, especially
in economics, the time period between periods is determined by the
frequency with which the data are published (monthly, quarterly, or
annually), rather than as it should be by consideration of the time
delays or other structural elements in the system. Even more seriously,
many difference equation models fail to specify the calendar time
corresponding to the interval between periods. Without specifying
whether the time between periods is a day, month, quarter, or year,
these models are vacuous and without empirical content, for their
parameters cannot be estimated and their behavior cannot be compared to
any real life data. Lest you think this is a rookie error, consider
that Paul Samuelsons famous multiplier/accelerator model of the
business cycle, and a host of similar famous economic models, make
exactly this error: they formulate the economy as a set of difference
equations without ever specifying how long the time between periods is.
They then go on to observe that the model can oscillate and assume that
the fluctuations correspond to the business cycle.

As George Richardson has documented in his book Feedback Thought in
Social Science and Systems Theory, those who work with difference
equation models as opposed to continuous time models have gotten trapped
in these and other conceptual and technical difficulties which have
confounded their ability to draw useful inferences from their models.
Good system dynamics practice is to formulate your model in continuous
time. If there are delays in the reporting of information (such as
quarterly corporate earnings), in decisionmaking or in the effects of
actions these should be modeled explicitly.

John Sterman
jsterman@mit.edu
gallaher@teleport.com (Ed Gallah
Member
Posts: 39
Joined: Fri Mar 29, 2002 3:39 am

System dynamics is not differential equations

Post by gallaher@teleport.com (Ed Gallah »

>William Steinhurst wrote:
>SD is
>fundamentally a continuous analysis using a discrete numerical method
>to find the solution.

Before calculus, answers were obtained by adding up all the little bits and
pieces. At best these provided estimates of the "real" answer. This
process was very tedious. In fact, so tedious as to be impractical for
most problems.

Any level of precision could be attained, if one just made the bits and
pieces small enough. Of course, more precision meant -even more- tedium.
And one never obtained the "real" answer, one just got closer and closer to
it.

Lets consider a problem that would require a month of adding up the B&Ps.
And lets assume that we could improve our precision two-fold by doubling
the time. And again, and again. It therefore behooves us to carefully
consider the required degree of precision before executing the problem.

Using the absolutely ingenious concept of limits, calculus (and by
extension diff eq) accomplished two things. First, it eliminated the need
to laboriously add up all the little bits and pieces. And second, it
provided exact, analytical solutions rather than estimates. A third
advantage is that one can calculate an answer for t = 127 minutes, without
having to calculate the first 126 minutes, one after the other.

Of these several advantages, which is the most important?

I would suggest that the -exact- answer is a nice benefit, but that saving
2 (or 4, or 8) months is far and away the greatest advantage. (Can anyone
tell me when we -really, absolutely- require the -exact- analytical
answer?)

These advantages -all- obtain when we can actually -solve- the diff eqs.

To what extent do they obtain when we turn to numerical analysis? At this
point, we again accept the fact that we will inevitably obtain an
-estimate- rather than an exact solution. And we therefore revert to the
tradeoff between time and precision. This latter tradeoff is present
whether we calculate manually or by computer.

Practically speaking, very few real-world problems are solved analytically.
By far, most are solved numerically.

Will someone now explain to me the advantages of diff eqs over
stock-and-flow models?

ed
gallaher@teleport.com
Locked