IM PRETTY SURE THIS IS THE FURST EVAH SYSTEM DYNAMICZ SIMULASHUN MODEL WRITTEN IN LOLCODE.
HAI 1.2
VISIBLE "HAI, JWF!"
OBTW
==========================================================================
SYSTEM DYNAMICZ INVENTORY MODEL IN LOLCODE
TOM FIDDAMAN, METASD.COM, 2021
INSPIRED BY THE CLASSIC BEER GAME
AND MODEL 3.10 OF MICHAEL GOODMAN'S
'STUDY NOTES IN SYSTEM DYNAMICS'
==========================================================================
TLDR
BTW FUNKTION 4 INTEGRATIN STOCKZ WITH NET FLOW INOUT
HOW IZ I INTEGRATIN YR STOCK AN YR INOUT AN YR TIMESTEP
FOUND YR SUM OF STOCK AN PRODUKT OF INOUT AN TIMESTEP
IF U SAY SO
BTW FUNKTION 4 CHARACTER PLOTZ
HOW IZ I PLOTTIN YR X AN YR SYMBOL
I HAS A STRING ITZ ""
I HAS A COUNT ITZ 0
IM IN YR XLOOP
BOTH SAEM COUNT AN BIGGR OF COUNT AN X, O RLY?
YA RLY, GTFO
NO WAI, STRING R SMOOSH " " STRING MKAY
OIC
COUNT R SUM OF COUNT AN 1
IM OUTTA YR XLOOP
VISIBLE SMOOSH STRING SYMBOL MKAY
IF U SAY SO
BTW INISHUL TIME - DEKLARE SUM VARIABLZ AND INIT STOCKZ
I HAS A INV ITZ 0.0 BTW INVENTORY (WIDGETS)
I HAS A MAKIN BTW PRODUCTION RATE (WIDGETS/WEEK)
I HAS A SELLIN BTW SALES RATE (WIDGETS/WEEK)
I HAS A TIME ITZ 0.0 BTW LOL I WISH (WEEK)
I HAS A TIMESTEP ITZ 1.0 BTW SIMULATION TIME STEP (WEEK)
I HAS A ZEND ITZ 50.0 BTW FINAL TIME OF THE SIM (WEEK)
I HAS A TARGET ITZ 20.0 BTW DESIRED INVENTORY (WIDGETS)
I HAS A ADJTIME ITZ 4.0 BTW INVENTORY ADJUSTMENT TIME (WEEK)
I HAS A ORDERIN BTW ORDER RATE (WIDGETS/WEEK)
I HAS A INIORDERS ITZ 10.0 BTW INITIAL ORDER RATE (WIDGETS/WEEK)
I HAS A STEPTIME ITZ 30.0 BTW TIME OF STEP IN ORDERS (WEEK)
I HAS A STEPSIZE ITZ 5.0 BTW SIZE OF STEP IN ORDERS (WIDGETS/WEEK)
I HAS A INVADJ BTW INVENTORY ADJUSTMENT NEEDED (WIDGETS)
I HAS A WIP ITZ 0.0 BTW WORK IN PROGRESS INVENTORY (WIDGETS)
I HAS A SHIPPIN BTW DELIVERIES FROM WIP (WIDGETS/WEEK)
I HAS A PRODTIME ITZ 4.0 BTW TIME TO PRODUCE (WEEK)
VISIBLE "SHOWIN RESULTZ FOR PRODUKSHUN"
IM IN YR SIMLOOP BTW MAIN SIMULASHUN LOOP
BTW CALCULATE RATES AND AUXILIARIES
BTW STEP IN CUSTOMER ORDERS
BOTH SAEM TIME AN BIGGR OF TIME AN STEPTIME, O RLY?
YA RLY, ORDERIN R SUM OF INIORDERS AN STEPSIZE
NO WAI, ORDERIN R INIORDERS
OIC
SELLIN R SMALLR OF ORDERIN AN QUOSHUNT OF INV AN TIMESTEP
INVADJ R DIFF OF TARGET AN INV
MAKIN R SUM OF SELLIN AN QUOSHUNT OF INVADJ AN ADJTIME
MAKIN R BIGGR OF MAKIN AN 0.0
SHIPPIN R QUOSHUNT OF WIP AN PRODTIME
BTW PLOT
VISIBLE SMOOSH TIME " " MAKIN MKAY
BTW PRODUKT WITH SCALE FACTOR FOR SIZING
I IZ PLOTTIN YR PRODUKT OF MAKIN AN 4.0 AN YR "+" MKAY
BTW INTEGRATE STOCKS
TIME R I IZ INTEGRATIN YR TIME AN YR 1.0 AN YR TIMESTEP MKAY
INV R I IZ INTEGRATIN YR INV AN YR DIFF OF SHIPPIN AN SELLIN AN YR TIMESTEP MKAY
WIP R I IZ INTEGRATIN YR WIP AN YR DIFF OF MAKIN AN SHIPPIN AN YR TIMESTEP MKAY
BTW CHECK STOPPING CONDISHUN
BOTH SAEM TIME AN BIGGR OF TIME AN SUM OF ZEND AN TIMESTEP, O RLY?
YA RLY, GTFO
OIC
IM OUTTA YR SIMLOOP
KTHXBYE
YOU CAN RUN IT IN THE TUTORIALSPOINT ONLINE INTERPRETER, OR GET JUSTIN MEZA’S DESKTOP LCI.
$lci main.lo
HAI, JWF!
SHOWIN RESULTZ FOR PRODUKSHUN
0.00 5.00
+
1.00 5.00
+
2.00 5.93
+
3.00 6.64
+
4.00 7.34
+
5.00 8.00
+
6.00 8.62
+
7.00 9.22
+
8.00 9.78
+
9.00 10.31
+
10.00 10.82
+
11.00 11.30
+
12.00 11.75
+
13.00 12.18
+
14.00 12.46
+
15.00 12.30
+
16.00 12.03
+
17.00 11.68
+
18.00 11.29
+
19.00 10.89
+
20.00 10.51
+
21.00 10.17
+
22.00 9.89
+
23.00 9.66
+
24.00 9.49
+
25.00 9.39
+
26.00 9.35
+
27.00 9.35
+
28.00 9.40
+
29.00 9.47
+
30.00 14.56
+
31.00 15.91
+
32.00 14.12
+
33.00 14.07
+
34.00 14.45
+
35.00 14.73
+
36.00 15.01
+
37.00 15.27
+
38.00 15.51
+
39.00 15.75
+
40.00 15.97
I THINK THIS SHOULD BE A PART OF EVERY SYSTEM THINKERZ LITTERBOX TOOLBOX.


Wow. Just wow.
I. can’t. even.
I’m sure Prof Sterman enjoyed this.;-)