Dynamo is the simulator that ran the original Limits to Growth model. A new page will be added to this website when the Limits to Growth model simulator is ready for prime time. Users will be able to run the card deck and see the original graphs. They will also be able to run their own versions.
The input card deck.
* M478-248,DYN,TEST,1,1,0,0
RUN 2698JP
NOTE MODEL OF RETAIL STORE
NOTE
1L IAR.K=IAR.J+(DT)(SRR.JK-SSR.JK) INVENTORY ACTUAL
1L UOR.K=UOR.J+(DT)(RRR.JK-SSR.JK) UNFILLED ORDERS
20A NIR.K=IAR.K/DT NEGATIVE INVENTORY
20A STR.K=UOR.K/DFR SHIPMENTS TRIED
54R SSR.KL=MIN(STR.K,NIR.K) SHIPMENTS SENT
40R PSR.KL=RRR.JK+(1/DIR)(IDR.K-IAR.K) PURCHASE ORDERS SENT
12A IDR.K=(AIR)(RSR.K) INVENTORY DESIRED
3L RSR.K=RSR.J+(DT)(1/DRR)(RRR REQUISITIONS SMOOTHED
X1 .JK-RSR.J)
39R SRR.KL=DELAY3(PSR.JK,DTR) SHIPMENTS RECEIVED
NOTE
NOTE INITIAL CONDITIONS
NOTE
12N UOR=(DFR)(RRR)
6N RSR=RRR
6N IAR=IDR
NOTE
NOTE INPUT
NOTE
7R RRR.KL=RRI+RCR.K REQUISITIONS RECEIVED
45A RCR.K=STEP(STH,5) REQUISITION CHANGE
NOTE
NOTE CONSTANTS
NOTE
C AIR = 8 WKS CONSTANT FOR INVENTORY
C DFR = 1 WK DELAY IN FILLING ORDERS
C DIR = 4 WKS DLY REFILLING INVENTORY
C DRR = 8 WKS REQUISITION SMTHNG T C
C DTR = 2 WKS DELAY IN TRANSIT
C RRI = 1000 ITEMS/WK REQ. RECEIVED INITIALLY
C STH = 100 ITEMS/WK STEP HEIGHT
NOTE
PRINT 1)IAR,IDR/2)UOR/3)RRR,SSR/4)PSR,SRR
PLOT IAR=I,UOR=U/RRR=R,SSR=S,PSR=P,SSR=Q
SPEC DT=0.1/LENGTH=10/PRTPER=5/PLTPER=0
Results from reading and processing the input card deck. The variables *001, *002, *003 are internally generated by expanding a delay card. Getting this far took quite a bit of processing. The hard work is done. Now the devil will be in the details.
RSR | J | 1000 | K | 1000 |
UOR | J | 1000 | K | 1000 |
IAR | J | 8000 | K | 8000 |
RCR | J | 0 | K | 100 |
STR | J | 1000 | K | 1000 |
IDR | J | 8000 | K | 8000 |
NIR | J | 80000 | K | 80000 |
RRR | JK | 1000 | KL | 1100 |
SSR | JK | 1000 | KL | 1000 |
PSR | JK | 1000 | KL | 1000 |
SRR | JK | 1000 | KL | 1000 |
*001 | JK | 1000 | KL | 1000 |
*002 | JK | 1000 | KL | 1000 |
DT | 0.1 |
AIR | 8 |
DFR | 1 |
DIR | 4 |
DRR | 8 |
DTR | 2 |
RRI | 100 |
STH | 100 |
*003 | 6.666666666666666 |
This output shows Dynamo sample model array variables. The variables on the bottom are constants that do not change. The variables above them have J and JK values. J values are initial values. The K and KL variables are the result of calculating to the next time increment. The next step will be to transfer K values to J values and KL values to JK values to step time again.
The Limits to Growth model has about ten time as many equation lines. When it works and is ready for prime time, the equation simulator won't care about more lines. First I have errors to fix. The output is not correct*.
This is what defines what I am doing. The users manual.
Dynamo
Q: How will the JavaScript implementation compare in speed to the original IBM mainframe implementation? A: The modern Javascript implementation will run rings around the original IBM implementation.
* The errors were fixed. But the output above is not corrected. Output should have no values changing before a step input generates an order in the system at time five.