Changing Structure Dynamically

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
Peter Marks peter.c.marks gmail.
Newbie
Posts: 1
Joined: Fri Mar 29, 2002 3:39 am

Changing Structure Dynamically

Post by Peter Marks peter.c.marks gmail. »

Posted by Peter Marks <peter.c.marks@gmail.com>
Hello,

I'm a newbie on the list. I first used SD back in the 1970's - my Master's project was building a DYNAMO interpreter. After a long hiatus it's good to be back reading SD and seeing that its community is thriving.

I've got a question: Is there a form of SD that is capable of changing a model on the fly? That is, can a system add a new flow, for example, as the result of some change in the value of one of the model's components.

I'm not too sure that it makes any sense to do this with continuous modelling - perhaps more so with discrete modelling. For instance, would adding another parallel flow to an existing flow be the same as simply changing the parameters of the original flow? Or, to put it another way, is adding another pipe the same as doubling the original pipe?

Thanks,

Peter
Posted by Peter Marks <peter.c.marks@gmail.com>
posting date Thu, 2 Feb 2006 09:39:17 -0500
Bill Harris bill_harris facilita
Junior Member
Posts: 19
Joined: Fri Mar 29, 2002 3:39 am

Changing Structure Dynamically

Post by Bill Harris bill_harris facilita »

Posted by Bill Harris <bill_harris@facilitatedsystems.com>
Peter,

Welcome back to SD!

> > I've got a question: Is there a form of SD that is capable of
> > changing a model on the fly? That is, can a system add a new flow,
> > for example, as the result of some change in the value of one of the
> > model's components.

What you're describing might be easily done by setting a flow to zero or to a non-zero value. Adding a flow doesn't then mean actually adding a new structure so much as turning it on. That means you have to conceive of all potential new flows in the creation of your model, but I suspect you'd have to do that in any formulation. In some modeling formalisms, you might be able to hold the unused flows off the graphical depiction of the model, I guess, whereas you'd probably have to show them all on an SD graphical depiction.

> > I'm not too sure that it makes any sense to do this with continuous
> > modelling - perhaps more so with discrete modelling. For instance,
> > would adding another parallel flow to an existing flow be the same
> > as simply changing the parameters of the original flow? Or, to put
> > it another way, is adding another pipe the same as doubling the
> > original pipe?

A flow is characterized by what's flowing (the units), where it's flowing (source and sink), and how much is flowing (and, by extension, what policy is controlling the amount). Having two flows from stock A to stock B of magnitude x and y, respectively, or one flow from stock A to stock B of magnitude x+y would seem to be equivalent; the selection between those alternatives would likely be made for their value in communicating a particular structure to other people or for reasons of personal taste.

Bill
- --
Bill Harris
Facilitated Systems

Posted by Bill Harris <bill_harris@facilitatedsystems.com>
posting date Tue, 07 Feb 2006 13:36:36 -0800
geoff coyle geoff.coyle btintern
Member
Posts: 21
Joined: Fri Mar 29, 2002 3:39 am

Changing Structure Dynamically

Post by geoff coyle geoff.coyle btintern »

Posted by ""geoff coyle"" <geoff.coyle@btinternet.com>
Peter Marks's question is very easy to answer. There are
numerous examples in the literature.

Suppose there is a variable, X, which, in some circumstances
depends on Y, but, in other cases, depends on Z. Also, whichever
of these cases arises is governed by whether W is less than or
equal to, or greater than some fifth factor, P. Thus, a structural
change occurs depends on the dynamic changes in P. One defines a
new variable, SWITCH, which can be either 0 or 1, and writes

X=SWITCH*Z+(1-SWITCH)*Y

together with

SWITCH=1 if W>=P, else SWITCH =0.

Obviously, this simple formulation can be revised to be as
sophisticated/complicated as one wishes. One extension is
to allow the change to endure until W falls below some other,
and smaller, critical value, to avoid the system chopping
back and forth frequently.

It is, though, ESSENTIAL to write a separate equation for SWITCH
so that one can monitor its behaviour and ensure that changes take
place when they should. It is thoroughly bad and sloppy work to
embed IF statements in dynamic equations as the model's behaviour
cannot be verified. That, as we academics say, is left as an exercise
for the student.

Equally obviously, the structural changes are only those which the
modeller can visualise a priori.

Hope that helps.

Regards,

Geoff

Visiting Professor of Strategic Analysis,
University of Bath
Posted by ""geoff coyle"" <geoff.coyle@btinternet.com>
posting date Sat, 4 Feb 2006 10:46:04 -0000
Locked