Model Name: A Dynamic Synthesis of Basic Macroeconomic Theory
Citation: Forrester, N.B. (1982) A Dynamic Synthesis of Basic Macroeconomic Theory: Implications for Stabilization Policy Analysis. PhD Dissertation, MIT Sloan School of Management.
Source: Provided by Nathan Forrester
Units balance: Yes, with 3 exceptions, evidently from the original publication
Notes: I mention this model in this article
A Dynamic Synthesis of Basic Macroeconomic Theory (Vensim .vpm)
Update: a newer version with improved diagrams and a control panel, plus changes files for a series of experiments with responses to negative demand shocks:
Download NFDis+TF-3.vpm or NFDis+TF-3.zip
The model runs in Vensim PLE, but you’ll need an advanced version to use the .cin and .cmd files included.
When I see oscillatory behavior, I instinctively think “delayed negative feedback.” Normally, that’s a good guess, but not always. Sometimes it’s a limit cycle or chaos, involving nonlinearity and a blend of positive and negative feedback, but today it’s something simpler, yet weirder.
Mohammad Mojtahedzadeh just sent me a classic model, replicated from Alan Graham’s thesis on Principles on the Relationship Between Structure and Behavior of Dynamic Systems. It’s a single positive feedback loop that doesn’t yield exponential growth, but oscillates.
What’s the trick? The loop is composed of pure integrations. The rate of change of each stock is the value of the previous stock in the loop multiplied by a constant. The pure integrations each add 90 degrees of phase lag (i.e. delay), so by the time a disturbance transits the loop, it arrives at its origin ready for a repeat performance.
The same thing occurs in a frictionless spring-mass system (think of an idealized hanging slinky), which oscillates because it is an undamped second order negative feedback loop. The states in the loop are position and momentum of the mass. Position is the integral of velocity, and momentum integrates the force that is a linear function of position. Each link is a pure integration (as long as there’s no friction, which adds a minor first-order negative loop).
So far so good, but the 4th order system is still a positive loop, so why doesn’t it grow? The trick is to initialize the system in such a way as to suppress the growth mode. To do that, we just have to initialize the system in a state that contains no component of the eigenvector corresponding with the growth mode, which is the positive real eigenvalue.
Continue reading “Positively pathological”