Algorithm: derivation of ordinary differential equation inoS

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
"j-d"
Junior Member
Posts: 5
Joined: Fri Mar 29, 2002 3:39 am

Algorithm: derivation of ordinary differential equation inoS

Post by "j-d" »

Dear Marion

Prof. Coyle and Jim Hines responded to your second case, with the expression
"(1-population/capacity)*population" in your email as not being a rate. This
stock-flow distinction is extremely important and is often misapplied; of
course you can use this expression as a part of a flow equation as Prof.
Coyle showed (in that case, it is the classic Verhulst equation in
population dynamics). You may also use it in the form of a dimensionless
function (tabular/graphical) that acts as a multiplier on a
"normal_population_growth_rate". Both these instances will provide
dimensional consistency. The multiplier case will yield the rate as the
product "multiplier*normal_pop_growth_rate*pop".

In the first case, where population rate may be written as

pop_rate := (intrinsic growth rate r)*(1-population P/capacity K)*population
P ... Eq. 1

separation such as

pop_rate:= r*P - (r*P^2)/K ... Eq. 2

is possible, and gives you a different way of looking at the same problem;
e.g., the above may be interpreted as the pop_rate being a maximum growth
rate modified by the constraint due to environmental capacity K. The BIG
problem is that it has no physical inflow-outflow interpretation, that is,
there is no real in-flow of "r*P" and out-flow of "(r*P^2)/K". Hence the Eq.
2 is nonsensical from an SD point of view though perfectly valid, totally
acceptable and used much in mathematical biology. This leads me to wonder
what motivated your query in the first place. WHY??? Why would you like to
automate the process of changing a given ODE (Ordinary Differential
Equation) into flows? - it is interesting, but may lead to physically
strange results, and may even lead to some SD people losing their jobs, if
you automate the definition of the rates (the bread and butter of SD
modeling);-)

Let me follow the above "Automation of SD modeling" a little more as a
thought experiment (ignoring all the would-be detractors, as it is only a
THOUGHT-EXPERIMENT). Supposing we dump into a computer the life history of a
stock (say, population), and the life history of the rest of the world (i.e.
time histories of all other variables). Let the computer also be wise to
nonlinear feedback thinking (i.e., no laundry-list thinking). Well, how will
the computer start?? How does a human start from its jumble of knowledge?
Taking cues from our current SD practice, Id say - we humans start with
building causal-loop diagrams (CLD) in a client setting, or by actually
putting the stock (pop) first on the screen and pondering on what changes
it? Because the computer is fast with numbers, my guess it will take the
second non-CLD approach (as Id too by the way, because of the massive
eventual problems I have seen with CLD approach, in teaching/consulting).
For the computer it now becomes a big system identification problem!! The
computer has to hypothesize relationships, test them, do Maximum Likelihood
Estimations and test again, etc. etc. Humans are very good at hypothesizing
the structure part because of our experience with systems (typically, though
may not always be the case) and the peer review offered in the
modeler-client settings (the client may be equally clueless about the system
though). The end result of computers cogitations and agitations: it
produces a large nonlinear pop ODE for you. What I think is that this ODE
can be split/seen in a large number of ways, offering different ways of
looking at the same equation/problem. Some of them will be physically
nonsensical but valid; and some may give insights into the as-yet unknown
physical nature of things. Before someone thinks I am totally out-of-kilter
here, the discovery of positrons (electrons with positive charge) was first
made as a valid mathematical result (one of the two roots of a quadratic
equation), and then discovered in nature. So your query is indeed an
interesting one.

In my Ph. D. work, I had to "reduce" the rate equations in the World3/91
model in terms of other stocks and constants alone, and that had resulted in
EXTREMELY LARGE rate equations (sometimes hundreds of pages). Some of these
equations were describing the population (cohort) rates. The inverted
question of whether one can get those kinds of rate equations automatically
is a fascinating one for me, because the equations were so large and
nonlinear that human definition of them would look impossible (I still
remember the day when I first went down line by line and then page by page
of Maple output, and then stopped, as it was total about 800 pages of sheer
mathematical text!!!).Of course, Meadows et al. had done it, but they knew
how to get about the system- but what about a large and complex system such
as the current stock market, or the electric demand and pricing markets!!
Will automation of SD modeling help here (we do know there is tremendous
feedback and nonlinearity in both these systems!!)? Do the current trends
in data warehousing and analysis have a role here?

Let me also add that the above is NOT TYPICAL SD AT ALL, hence you are in
bad company here. Catch some AI people for this, if they are still
around:-))

But I will ask the same question I did to Oddur - what motivates your
question?? WHY?? Let us know.

Best regards

Jaideep
From: "j-d" <j-d@technologist.com>
Locked