Discrete simulation in system dynamics models

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
"Andy Ford"
Junior Member
Posts: 10
Joined: Fri Mar 29, 2002 3:39 am

Discrete simulation in system dynamics models

Post by "Andy Ford" »

Roland Schiefer describes a SD model of a predator prey system, followed by
a discrete simulation. Portions of his Feb 27th message are listed below:
======================
> Assume we want to simulate a simple prey-predator system that can be
> described by the differential equations of Lottke and Volterra. These are
> given here as difference equations. "t" identifies the time step. We work
> with rabbits and foxes..........During our
> trial we find that there is another factor such as food, so we have to
> change all our "plumbing" again. Even with arrays that can be quite a
> bother, so lets try a discrete model.
>
> We start with 100 fox objects and 100 rabbit objects. At each time step
all
> foxes still alive report to a counter object that is accessible by all
> objects. The rabbits do the same. At each time step each fox object
deletes
> itself with a probability of 20%, which is equal to (fox death constant).
=====================

Roland had a lot to say in his Feb 27th message, but the phrase that stuck
in my mind was his concluding phrase on the SD model: "we have to change
all our plumbing again." He feels that "Even with arrays that can be quite
a bother, so lets try a discrete model."

I get the impression that "changing the plumbing" is a bothersome obstacle
that blocks the way toward a more computationally interesting model. I
always found that "changing the plumbing" (and learning from each new
version of a system dynamics model) was at the heart of modeling process.

Andy Ford
Program in Environmental Science & Regional Planning
Washington State University
Pullman, WA 99164 - 4430
USA

phone (509) 335-7846
email FordA@mail.wsu.edu
web http://www.wsu.edu/~forda
Niall Palfreyman
Senior Member
Posts: 56
Joined: Fri Mar 29, 2002 3:39 am

Discrete simulation in system dynamics models

Post by Niall Palfreyman »

Andy Ford schrieb:

> I get the impression that "changing the plumbing" is a bothersome obstacle
> that blocks the way toward a more computationally interesting model. I
> always found that "changing the plumbing" (and learning from each new
> version of a system dynamics model) was at the heart of modeling process.

Well, it seems to me that theres replumbing and theres replumbing. I
wanted to set up a finite-state automaton in Stella - something like
Conways Game of Life - and assumed naively that arrays would make it
easy. In actual fact, it is impossible to set up a general rule like
"Die if you have less than two neighbours" in Stella, because it has no
idea of relative position coordinates within the array. I had to program
each individual cell in the array by copying and pasting formulae. This
worked well, but I then realised that my 10x10 grid was not large enough
to establish the phenomenon I was looking for. I started to program a
20x20 grid and finally gave up in disgust.

The problem here was that Stella just isnt designed for the kind of
things I wanted to do, and that made the "replumbing" from 10x10 to
20x20 difficult. I think the kind of replumbing difficulty you are
talking about, Andy, is the conceptual difficulty in rethinking the
structure of a problem, and I agree that this is a hugely fruitful part
of the modelling process. The kind of replumbing that irks me, and which
I think Roland meant, is the difficulty of replumbing a lump of
spaghetti from one shape into another, without any conceptual rethinking
involved. This kind of replumbing should NOT be difficult if the tools
is well-suited to the activity involved. My problems in replumbing the
finite automaton arose solely from Stellas (and I assume the same is
true of any other SD tool) inability to handle large numbers of stocks
and interconnections elegantly. And this in turn is because SD itself
doesnt think in terms of the topology of interconections (flows)
between stocks, but merely in terms of the individual flows.

Topology becomes necessary only when looking at larger models like
spatial dynamics models, and all of the spatial dynamics models Ive
seen so far have been of very modest size. This is precisely why I
personally would _love_ to see (or create) a synthesis with multi-agent
tools like StarLogo or Swarm. Stella is beautiful for helping students
to understand ordinary differential equations, but to give them that
kind of help with PDEs, I need a tool which also allows the stocks to
have a topology among themselves. This topolgy is already implicit in
the time coordinate, via the parameter DT, but the topology between
stocks is provided simply by the flows. This means that I have far more
flexibility in my choice of topology between stocks, but precious little
help in setting up "standard" topologies like those of spatial
proximity.

Niall Palfreyman.
From: Niall Palfreyman <
niall.palfreyman@fh-weihenstephan.de>
Locked