Optimization and SD

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
"Fareen S. Ali"
Newbie
Posts: 1
Joined: Fri Mar 29, 2002 3:39 am

Optimization and SD

Post by "Fareen S. Ali" »

In response to Arnhild Stovik:

Keloharju was the first to introduce optimisation in SD. Generally =
there are two ways of using optimisation in system dynamics:
-historical data fitting, and=20
-policy design( the Keloharju-Bradford school, using simulation by =
repeated optimisation instead of optimisation by repeated simulation.)

Arnhilds you may want to look at the following titles:

Ackoff, R.L. (1977) Optimization + objectivity =3D opt out, European =
Journaml of Operational Research 1: 1-7.=20

Coyle, R.G. (1985) The use of optimisation methods for policy design in =
a system=20
dynamics model, System Dynamics Review 1: 81-91.=20
=BE=BE=BE=BE=BE (1996) System Dynamics Modelling: A practical approach,=20
(London: Chapman and Hall).

Forrester, J.W. (1961) Industrial Dynamics, (Portland, Oregon: =
Productivity Press).
=BE=BE=BE=BE=BE (1975) Collected Papers of Jay W. Forrester, =
(Cambridge: Wright-Allen Press).

Keloharju, R. & Wolstenholme, E.F. (1988) The Basic Concepts of System =
Dynamics Optimization, Systems Practice 1 (1) : 65-86.=20

Keloharju, R. & Wolstenholme, E.F. (1989) A Case Study in System =
Dynamics Optimization, Journal of Operational Research 40(3) : 221-230.

Kleijnen, J.P.C. (1995) Sensitivity analysis and optimization of =
system dynamics models: regression analysis and statistical design of =
experiments, System dynamics Review 11(4): 275-288.=20

Lane, David C. (1994). Social Theory and System Dynamics Practice. In
1994 International System Dynamics Conference, System Dynamics:
Methodological and Technical Issues, Sterling, Scotland: System
Dynamics Society : 53.

Macedo. J. (1989) A Reference Approach for Policy Optimization in System =
Dynamics Models, System Dynamics Review 5(2):148-175.

Meadows, D.H (1991) The Global Citizen ( Island Press: Washington D.C. )

Wolstenholme, E. F. (1982). System Dynamics in Perspective, Journal of
the Operational Research Society, 33(6): 547-556.

E.F. Wolstenholme (1990), System Enquiry, (Chichester: Wiley).

Hope this is helpful,

Fareen Ali
Technology & Market Information Unit,
Sapura Holdings.=20
From: "Fareen S. Ali" <
fareen@sapura.com.my>
j-d
Junior Member
Posts: 9
Joined: Fri Mar 29, 2002 3:39 am

Optimization and SD

Post by j-d »

Dear Arnhild:

The topic of combining SD with optimization comes up quite a bit on this
list - IMHO, this will grow as SD expands in its applications.

Yes, I have experience with what you ask for. There seem to be two senses
in which optimization is used with SD - one is parameter optimization, ie,
we dont know if a parameter value we are using is the "correct" one and
use iterative methods to hone onto a good value of the parameter based on
some criteria. I dont have much experience with this, tho I think Vensim
can be used for this. The second sense is the classical control theory
sense - an SD model, refined and cleaned (VERY IMPORTANT), is looked upon
as a set of ordinary differential equations (ODE, rather, difference
equations) and an agent, actor, player, stakeholder wants to extremize
(minimize/maximize) an objective function over time. This is optimal
control - for different types of problems, different solution methods
(calculus of variations, Pontryagins minimum principle, or Bellmans
dynamic programming) may be applicable with success. For >1 stakeholder,
the usual case in socioeconomic/management sciences, extension of optimal
control theory becomes the dynamic game theory, which I had applied with
success in my Ph. D. work. Throw in some randomness and you have the
dangerous-for-health stochastic dynamic game thoery:-) You may find
references I used through my URL below; also the dissertation copy
(Environment and Development - A Study of North-South Conflict, 1996) is
obtainable from UMI Dissertation Services, 300 N Zeeb Road, Ann Arbor, MI
48106, USA - phones 800 521 0600 in USA or 313 761 4700 from outside USA.

My PhD work involved a combo of three software packages (Stella, Maple, and
HiQ) for differential game analyses extending Pontryagins minimum
principle for optimal control. Stella was used for describing the system,
cleaning up the system with repeated simulations, and Maple was used to
write the code that changes Stella state equations to the costate equations
and the optimizing conditions. This set from Maple was used in HiQ (a
numerical analysis package from National Instruments) to find a numerical
solution to the (2-point boundary-value problem, or 2PBVP) differential
game problem. Please note that even for very small SD models, there may not
be any closed-form solutions obtainable (given as they can be highly
nonlinear) and also the task of getting the numerical solution from the
costate and optimizing conditions is not trivial.

My Maple code (for cooperative, Nash noncooperative and Stackleberg games)
was general enough to be applicable to any SD model. Similary for HiQ
script for numerical solutions. The limitation for HiQ (2PBVP) solutions is
computational speed - I was struggling with a 69-MHz powermac in a
paleolithic era (a 25 MHz mac souped up with a powermac card and a
replaced, higher frequency, timing crystal) - now life is better with
450MHz desktops. I remember the day when I was shocked with the complexity
of the numerical problems involved when I applied the Maple code to an
extension of World 3 model (about 58 differential equations for cooperative
solution, 87 for Nash and 116 for Stackleberg). In the reduced form, the
Maple output was more than 800 pages of pure mathematical text (I can never
forget the moment when I used my cursor first line by line, and then page
by page, and then for sets of hundreds of pages using a mouse to get to the
bottom of the monstrosity). To complete the Ph. D. in one lifetime and to
still save some hair on my head, I decided to go with a smaller version of
Stella model to do dynamic games and the results were quite interesting.
For articles based on this and the books used, please see URL below and/or
contact me off the SD list.

Regards,

Jaideep

PS - there is a segment of SDers who are not very fond of intrusion of
optimization into SD (no less an authority than Dr. Senge himself in The
Fifth Discipline). I respect their viewpoint and understand where they come
from. But there is a different side to the story. I think optimization is
just an extension to A TYPE OF SD MODELS; it does not take away the value
of classical SD (insight generation, understanding, communication,
education, archetype/pattern recognition, etc.) - it enhances it. To
illustrate how/where optimization applied to SD models (in the second sense
above) may be going (my rendition of the story, with unashamed abuse/misuse
of words for effect, but true to the gist) - when a method to solve LPs was
discovered by George Dantzig, around WW II, he was once invited to a
meeting of big shots to describe his simplex method. Shaking badly, he
proceeded to describe his LP problem, and an approach using simplex that
was effective for its optimal solution. No sooner had he described the
problem than some members of the audience pounced on him (not unlike some
members of SD community today): "It is all BULL", they said - "we all know
that the world is nonlinear - how can you even think of a LINEAR problem,
and dare even think of its LINEAR solution?" George Dantzig shook even
more badly in his pants!! However, one of the audience members, no less
than the reverend Norbert Weiner himself, said, "Hey guys, he has defined a
clean mathematical problem, and he is proposing a new, clean, effective
solution. There is nothing wrong with that. Let us at least listen to him."
The rest, as they say, is history. LP, my OR book says, is/was 2nd most
used technique in the Fortune 500 companies (after regression analysis);
simulation (not SD, but in production) is third, game theory is dead last.
SD is not mentioned (data is very old, 1977), but I would like to know
where all these stand today relative to each other in terms of "SUCCESSFUL"
applications in companies. Despite the world being nonlinear, if the
problem can be solved by LP, why not do it (American Airlines did it and
saved millions of dollars this way and beat its competition)? - or, for
that matter, the world is nonlinear and very complex, hence we cant
understand it completely anyway even with simulations, so why not optimize
to do the best we can in these crummy circumstances?

From: j-d <j-d@technologist.com>

**************************************************************
Jaideep Mukherjee, Ph. D.
Virtual Office http://www.netopia.geocities.com/shunya/
**************************************************************
"Ray"
Newbie
Posts: 1
Joined: Fri Mar 29, 2002 3:39 am

Optimization and SD

Post by "Ray" »

Arnhild,

Using a simulation for the function in an optimization is fun if not time
consuming. An optimization is typically the identification of an (some)
extremum(a) of a function of an array of variables. The analytical
representation of a function is usually faster than a sequential set of
calculation (simulation) to arrive at a resultant value.

If you must use a simulation, you can set it up the same way an analytica=
l
optimization would occur. Determine what the independent variables are a=
nd
how to derive the object value of the simulation. The optimization is th=
an
a method of varying the values of the independent variables and following
the resultant object value.

Sound fun?

Ray
From: "Ray" <rjoseph@wt.net>
Tom Fiddaman
Senior Member
Posts: 55
Joined: Fri Mar 29, 2002 3:39 am

Optimization and SD

Post by Tom Fiddaman »

Its right to note that many SD practitioners dont think kindly of
optimization. However, this should be viewed as a rejection of optimization
as a behavioral assumption, rather than optimization as a tool. Much of the
criticism of Senge, Forrester, et al. has been directed at economic models
that assume agents behave as if they have perfect foresight and full
knowledge of the system structure and state.

Assuming optimal behavior leads to models that are wrong in two ways.
First, people cant actually behave optimally - they have limited knowledge
of system structure and state, and dont know the future, and its
important to model their delays, biases, etc. Second, to get a tractable
model, suspect simplifications of system structure are often made. This is
fine when using an LP to allocate production capacity, but not fine if it
means using a linear, equilibrium model to choose a carbon tax policy for
greenhouse gas abatement.

Because optimization for realistic simulation models was not really
computationally available in the early days of SD, there were lots of
reasons to criticize models that employed optimization, and relatively
fewer reasons to appreciate them. The situation is different now, and while
many practitioners use optimization, it seems the bad smell around it
hasnt quite dissipated. I find optimization particularly useful in a
number of ways:

- For evaluating decision rules. Decision rules should be behavioral, but
once youve formulated a rule that uses available information, delays,
biases, etc., its useful to compare it with optimal behavior as a
benchmark. If you find a big gap, you can then ask whether youve
identified an opportunity for improvement in the real world, or youve
simply modeled people as dumber than they really are.


- For testing robustness. I often turn the optimizer loose on a model to
see if it yields plausible answers or exploits weaknesses in the model
formulation. If you create a model of the noodle market, and the optimal
price of noodles turns out to be $1000/lb, theres probably something wrong
with your model that you might not have noticed otherwise.

- For calibration. I frequently use optimization to quickly tune a model to
see if it can fit some data, and less frequently for formal parameter
estimation. Again, even if you dont use the parameter estimates, their
(im)plausibility can alert you to important problems. You can also
calibrate for equilibrium by defining an objective that minimizes the net
flows in/out of all the model stocks.

- For sensitivity analysis. You can also use optimization to see how far
you can push the model from its base case behavior with individual
parameters or limited combinations of parameter changes (a variation on
Millers ANTs (automatic nonlinear tests) described in Mangement Science
last year).

- For policy optimization (the obvious use) - which I generally do after
most of the above.

For practical purposes, theres no difference between optimization for
policy improvement and optimization for calibration - in one case you
minimize an objective (i.e. cost) and in the other you minimize the gap
between the model and data (though you may need to pay special attention to
state estimation).

With numerical methods, youre almost always searching for parameters (one
exception is Koza-style genetic programming, in which you search for
arbitrary equation formulations and parameters). The question is,
parameters of what? While its obvious to start with whatever parameters
are in the model, this is where optimal control theory can help you to
construct a reasonable decision rule, hopefully without zillions of
parameters. You can also give up on developing an optimal closed-loop rule
for a decision, and describe the time path of that decision as a vector of
points.

While the details of optimization are complex, its fairly easy to use for
practical purposes. SD has a lot to contribute to work employing
optimization, because theres no point optimizing cruddy models - and SD
has always focused on building quality models with closed loops, lots of
structural experimentation, consistent units, good documentation, etc.

Tom

****************************************************
Thomas Fiddaman, Ph.D.
Ventana Systems http://www.vensim.com
8105 SE Nelson Road Tel (253) 851-0124
Olalla, WA 98359 Fax (253) 851-0125
Tom@Vensim.com http://home.earthlink.net/~tomfid
****************************************************
Locked