REPLY Age of material in a stock (SD6403)
SDMAIL Tom Fiddaman
tom at ventanasystems.com
Tue Apr 17 05:32:49 CDT 2007
Posted by Tom Fiddaman <tom at ventanasystems.com>
Another coflow approach:
There's no general rule that applies for all inputs.
One possibility is to add a coflow to the model to track time spent
in the stock. This is implemented the way you'd track average
experience of staff in a workforce model. In Vensim lingo that
might look like:
average residence time= ZIDZ(stuff time,stuff) ~ weeks ~ |
stuff= INTEG ( stuff in-stuff out, 0) ~ widgets ~ |
stuff in= 1 ~ widgets/week ~ |
stuff out= stuff/time const ~ widgets/week ~ |
stuff time= INTEG ( time in-time out, 0) ~ widgets*weeks ~ |
time const= 3 ~ weeks ~ |
time in= stuff ~ widgets*weeks/week ~ |
time out= stuff out*average residence time ~ widgets*weeks/week ~ |
Note that I've initialized things to 0 for ease; initializing stuff_time needs
special attention if the model's not starting in some obvious steady-state
condition. Also, time in has an implicit dimensionless parameter (widget*weeks
accrued per widget per passage of time). Whether this is appropriate depends on
whether the underlying assumption that the stuff is well mixed is appropriate. If
not, it's easy to extend this structure to a higher-order delay (e.g., tracking
vintages of capital). If you go the vintaging route, it may not be critical to t
rack the coflow, as summing the Little's Law assumption across the vintages is
usually a pretty good approximation of the truth (as always, it's best to test
though).
If you play with this, you'll find the expected steady state response. Replacing
stuff_in with a pulse, a ramp, and exponential growth is interesting. It becomes
apparent that for particular inputs, it is possible to create a rule of thumb,
but I'll leave that for someone else to tackle.
Tom
Posted by Tom Fiddaman <tom at ventanasystems.com>
posting date Mon, 16 Apr 2007 09:11:21 -0600
More information about the SDMail
mailing list