Hello,
I'm interested in learning/developing a generic formula for creating a parabola shape. (Upsidedown parabola)
This would mean that the rate of change, or the slope of the curve would be biggest at time 0 and as time passes the slope would get smaller and smaller, being zero at the peak and then get even smaller going negative until the shape intersects with the xaxis.
I would like to be able to exogenously specify the area under the curve as well as the rate of change of the slope (e.g. to make a fatter or thinner parabola).
The curve will be used to drain a stock  e.g. I want the drain/year out of the stock to take the form of a parabola in my model. As such, the stock variable will likely need to be an input into the parabola equation: will the stock be the area under the curve? Or will the initial value of the stock be the input "area under the curve"?
Is it possible to shape a parabola based on the area under the curve plus a coefficient for the rate of change for the slope?
From a SD perspective, this would mean the second half of the (drain/year) curve is exponential decline (a positive loop, getting slower faster) but the first half of the curve is a negative loop (the rate is growing but the growth is decelerating). So, from a CLD perspective it actually feels a bit complicated whereas from a stockflow perspective it should be rather simple?
Any advice much appreciated. I've been able to create something similar, sshaped growth and decline, but the data regarding the situation is not properly sshaped. Well, maybe the second half of the curve is arguably sshaped but the first side feels more like a parabola  the second half of the scurve.
In fact, one could argue that a parabola is sshaped growth and decline with the tails 'cutoff' at the midrift...but how to model that, I'm not sure. Basically, I'm experiencing from my (albeit limited) repertoire that that one equation is not sufficient for the two sides of the hump, that each side has its own dynamic. Thoughts? Or else maybe it's a segment of a goalgap oscillation. Thanks.
Best wishes,
Sarah
Parabola Shape
Moderator: Jim Duggan

 Posts: 20
 Joined: Mon Jan 12, 2009 3:39 pm
 Location: University at Albany, SUNY
 Contact:
Re: Parabola Shape
Hello Sarah:
A question and a suggestion. Is the underlying process controlling the stock really a represented by a parabolic equation, or are there two overlapping representations that change as you move from the central point? If it's the latter, consider representing the equations as two separate effects, one active when x<0, the other when x >0. Lookups make more sense when they link back to data or a strong theoretical base.
A question and a suggestion. Is the underlying process controlling the stock really a represented by a parabolic equation, or are there two overlapping representations that change as you move from the central point? If it's the latter, consider representing the equations as two separate effects, one active when x<0, the other when x >0. Lookups make more sense when they link back to data or a strong theoretical base.
Re: Parabola Shape
Hi Sarah
Generally in these situations, one has two options.
Either represent the curve by an analytical function or maybe more (as noted by Elliot) with a limited number of parameters that when varying, will vary the shape of the curve, or use a lookup table.
The advantage of the analytical function is that you can vary the shape of the curve easily by varying a limited number of parameters. The problem with analytical functions is that often they behave badly especially in extreme conditions and one must find them. If you go to the website http://www.labfit.net you have a free software to find analytical functions that best fit to data.
I prefer to use lookup tables that adjust best to what one wants exactly. If I want to experiment different shapes, I just build different lookup tables and use nested if then else.
If type of shape = 1, use the lookup table 1, else if type of shape = 2, use the lookup table two etc…
This way by varying the type of shape you can easily experiment with the most representative shapes you want to consider.
Best regards.
JeanJacques Laublé
Generally in these situations, one has two options.
Either represent the curve by an analytical function or maybe more (as noted by Elliot) with a limited number of parameters that when varying, will vary the shape of the curve, or use a lookup table.
The advantage of the analytical function is that you can vary the shape of the curve easily by varying a limited number of parameters. The problem with analytical functions is that often they behave badly especially in extreme conditions and one must find them. If you go to the website http://www.labfit.net you have a free software to find analytical functions that best fit to data.
I prefer to use lookup tables that adjust best to what one wants exactly. If I want to experiment different shapes, I just build different lookup tables and use nested if then else.
If type of shape = 1, use the lookup table 1, else if type of shape = 2, use the lookup table two etc…
This way by varying the type of shape you can easily experiment with the most representative shapes you want to consider.
Best regards.
JeanJacques Laublé

 Posts: 152
 Joined: Thu Jan 15, 2009 6:55 pm
 Location: Bozeman, MT
 Contact:
Re: Parabola Shape
It's no problem to work out the algebra for such a curve; Wolfram Alpha is helpful for quick noodling around  for example type in "integrate y=a*x^2+c".
But, building on Eliot Rich's point, it seems important to have some kind of physical basis for this behavior.
Presumably you want the outflow to start at time 0, then increase and decrease, ending up at 0 at the same moment that the stock is fully drained. This implies the following constraints:
 the outflow is 0 initially
 the outflow has a maximum at time t/2
 the outflow is 0 again at time t
 the area under the parabola from time 0 to t is equal to the initial value of the stock (assuming no inflow)
You could specify something like outflow = 1(time1)^2, with suitable logic for time<0 and time>1. But that's an open loop system, i.e. the outflow is a function of time and independent of the current value of the stock. That's not very desirable; for example, if some disturbance removes a bit of the stock while the outflow is underway, the outflow wouldn't respond and the stock would end up negative, which is unrealistic.
So, what you really want is a differential equation dstock/dt = f(stock) that just happens to yield the desired parabolic behavior. Unfortunately that's impossible to achieve, because the first constraint (outflow=0 initially) implies that the outflow at the initial value of the stock is 0, so that the stock would never move off its initial level. You could fix that by relaxing the constraint, but then the parabola implementation starts to get very messy.
It seems that what must be going on in the real system must be somehow more complex than a first order outflow, an it would be good to explicitly capture the dynamics that yield the shape of the outflow.
The shifting loop dominance story sounds a bit like the logistic model running in reverse. That would be:
outflow = r*stock*(1stock)
where r is a rate parameter. If you start the system with stock = a bit less than 1, the outflow will rise, peak, and decline, with the stock draining towards 0 in an sshape.
If you rewrite the outflow equation as
outflow = r*stock  r*stock^2
you can see that there are essentially two loops, one positive and one negative, which shift in dominance due to the ^1 vs ^2 powers.
This might be a plausible solution for you, though it does still have the problem of getting stuck if the initial stock = 1. See http://en.wikipedia.org/wiki/Logistic_f ... ion_growth for interpretation.
Another possibility is that this really reflects a higherorder process, like a 3rd order delay. In that case you could check out http://models.metasd.com/delaysandbox/
Tom
But, building on Eliot Rich's point, it seems important to have some kind of physical basis for this behavior.
Presumably you want the outflow to start at time 0, then increase and decrease, ending up at 0 at the same moment that the stock is fully drained. This implies the following constraints:
 the outflow is 0 initially
 the outflow has a maximum at time t/2
 the outflow is 0 again at time t
 the area under the parabola from time 0 to t is equal to the initial value of the stock (assuming no inflow)
You could specify something like outflow = 1(time1)^2, with suitable logic for time<0 and time>1. But that's an open loop system, i.e. the outflow is a function of time and independent of the current value of the stock. That's not very desirable; for example, if some disturbance removes a bit of the stock while the outflow is underway, the outflow wouldn't respond and the stock would end up negative, which is unrealistic.
So, what you really want is a differential equation dstock/dt = f(stock) that just happens to yield the desired parabolic behavior. Unfortunately that's impossible to achieve, because the first constraint (outflow=0 initially) implies that the outflow at the initial value of the stock is 0, so that the stock would never move off its initial level. You could fix that by relaxing the constraint, but then the parabola implementation starts to get very messy.
It seems that what must be going on in the real system must be somehow more complex than a first order outflow, an it would be good to explicitly capture the dynamics that yield the shape of the outflow.
The shifting loop dominance story sounds a bit like the logistic model running in reverse. That would be:
outflow = r*stock*(1stock)
where r is a rate parameter. If you start the system with stock = a bit less than 1, the outflow will rise, peak, and decline, with the stock draining towards 0 in an sshape.
If you rewrite the outflow equation as
outflow = r*stock  r*stock^2
you can see that there are essentially two loops, one positive and one negative, which shift in dominance due to the ^1 vs ^2 powers.
This might be a plausible solution for you, though it does still have the problem of getting stuck if the initial stock = 1. See http://en.wikipedia.org/wiki/Logistic_f ... ion_growth for interpretation.
Another possibility is that this really reflects a higherorder process, like a 3rd order delay. In that case you could check out http://models.metasd.com/delaysandbox/
Tom
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Work: http://ventanasystems.com/ & http://vensim.com/
Model library: http://models.metasd.com
Work: http://ventanasystems.com/ & http://vensim.com/

 Posts: 16
 Joined: Sat Jul 18, 2009 5:22 pm
Re: Parabola Shape
Thanks to everyone who responded. I have been playing with all these ideas and find the math all unsatisfactory. All the methods of lookups or equations seem to create a boundary or exogenous (subjective) input my model, whereas an explicit articulation of the structure of the system would be preferable.
As Tom wrote: "It seems that what must be going on in the real system must be somehow more complex than a first order outflow, and it would be good to explicitly capture the dynamics that yield the shape of the outflow."
Thus, I believe that the question to be explored further is  in project dynamics  am I correct in observing from some data that the work tends to be doled out in a upside down parabolic shape (vs. sshaped growth and decline)? If this observation is correct, is it significant? (I mean, the areas under the curves are pretty close in the two shapes). And, if it's a significant difference, what is the operational structure that causes this allocation of work? Is the operational structure projectspecific or a generic process?
As Tom wrote: "It seems that what must be going on in the real system must be somehow more complex than a first order outflow, and it would be good to explicitly capture the dynamics that yield the shape of the outflow."
Thus, I believe that the question to be explored further is  in project dynamics  am I correct in observing from some data that the work tends to be doled out in a upside down parabolic shape (vs. sshaped growth and decline)? If this observation is correct, is it significant? (I mean, the areas under the curves are pretty close in the two shapes). And, if it's a significant difference, what is the operational structure that causes this allocation of work? Is the operational structure projectspecific or a generic process?
Who is online
Users browsing this forum: No registered users and 1 guest