A DECISION SUPPORT SYSTEM FOR SYSTEM DYNAMICS MODELING
Pei Weimin, Liu Shu-an and Wang Dingwei
Department of Automatic Control
Northeast University of Technology
Shenyang 110006, China
ABSTRACT
In this study, a decision support system for system dynamics modeling is
designed, The intelligent part of the system is composed of a knowledge base, a
data base and an inference engine. The function part of the system is composed
of some modules for model construction, model generation, model simulation,
model interpretation, model management, and PD interface. The proposed system is
a production system written in PROLOG, and it can join up with the professional
DYNAMO plus software by means of the PD interface. Whole process from modeling
to simulation can be realized by the support of the system. An application
example is given in this paper.
1. INTRODUCTION
The decision-making of the socioeconomic problem is very diffcult because there
are many uncertain quantities and unlinear relations. In order to construct the
system dynamics model solving the socioeconomic problem, the modeller who is the
system dynamics expert usually need spend a lot of time, and the decision-maker
does not intervene in the modeling.
The decision support system (DSS) can directly support the decision-makers to
solve unstructured problems by means of man-machine conversation. Total effect
yielded by user in combination with computer is better than single effect
yielded by user or computer in decision-making. Therefore, the decision support
system for system dynamics modeling is useful for the decision-making of the
socioeconomic problem.
The proposed system is a decision-faced expert system, The intelligent part of
the system is composed of a knowledge base, a data base and an inference engine.
The knowledge base stores the expert’s modeling knowledge in the form of the
rules, The data base stores these facts on the elements( nodes) and causal
relations links) inputed by user and on the types of the variables and couplings
gained in the inference. The inference engine gives the inferences and judgments
System Dynamics '90
on the basis of the facts and rules. This system is a production system written
in PROLOG, and it adopts the way of the forward reference and the strategy of
the depth first search.
The function part of the system is composed of some modules for model
construction, model generation, model simulation, model interpretation, model
management, and PD interface. The system can join up with the professional
DYNAMO plus software by means of the PD interface, and whole process from
modeling to simulation can be realized continuously by the support of the
system.
Brief exacuting processes of the proposed system are,
(1) Extracting the elements (nodes) and causal relations (links) within a
problem studied by user.
(2) Composing the causal feedback loops automatically by interconnecting
the causal relations and by eliminating inappropriate links.
(3) Transforming the causal-loop diagram into a system flow diagram
automatically,
(4) Generating a PD plus simulation program automatically.
(5) Compiting and running the model,
(6) Getting the simulation results.
2. INTELLIGENT PART OF THE SYSTEM
The knowledge base is considered as a library-catalogue of dynamic structures of
systems. The causal relations (couplings) is the main input of system dynamics
modeling in the proposed system. The data structure of the couplings (links) is
“given as follows,
Link CINN, TNN, SIGN, TYPE, CT)
where
INN is the name of a cause variable,
INN is the name of an effect variable,
SIGN is the symbol of a causal action (positive “+” or negative “-” ),
TYPE is the type of a causal action (add-mimus type “+ -” or proportion
type “x 7” ,)
CT is the type of a coupling (material flow “F” or information flow “I” ),
According to the inputs of the user and facts acquired in teh inference, the
data structure of the variables (nodes) is given as follows,
Node CNN, NT, SN, {VAL, EQ, TVi)
where
NN is the name of a variable,
System Dynamics '90 843
NT is the type of a variable,
SN is the abbreviation of a variable,
VAL is the parameter value or initial value,
EQ is a functional expression or equation,
TV is the values of a table function,
The knowledge acquired in system dynamics modeling should be accumulated in the
knowledge base, the representation of the knowledge adopts the form of the rutes.
The types of the variables and couplings are explained as follows,
level variable,
rate variable,
auxiliary variable,
parameter,
output variable,
delay variable,
material flow,
information flow.
mo <
(1) Rules for judging the types of the couplings
Rute 1. If a variable has a cause coupling which is I or F,
then all cause couplings of this variable are I or F.
Rule 2. If a variable has an effect coupling which is I or F,
then all effect couplings of this variable are I or F.
Rule 3. If a cause coupling set of q(i) in tink CqCi) , q¢j)) is empty,
then the type of Link (qi), q¢j)) is I.
Rule 4. If an effect coupling set of q(j) in Link ¢qci) , q€j>) is empty,
then the type of Link (q(i), q¢j>) is I.
Rule 5, If the type of Link CqCi), q¢j>) is proportion type.
and the type of Link (q(j), q¢i)) is add-mimus type,
then the former is I and the latter is F.
Rule 6. If qi) only has a cause coupling and an effect coupling,
then the types of both couplings are alt I.
Rute 7. If q¢i) only has a cause coupling which is add-mimus type,
then the type of this coupling is F.
Rule 8. If the cause variable qci)€D,
and the effect variable q¢j)€X,
then the cause couplings and effect couplings of qi) are all F.
Rule 9. If the cause variable qci) €D,
and the effect variable q¢(j) €X,
then the cause couplings and effect couplings of q¢i) are all I.
(2) Rules for judging the types of the variables
Rute 10. If the effect coupling set of the variable qci) is empty,
844 System Dynamics ’90
then qi) €Y. P
Rule il. If the cause a coupling set of the variable qcidis empty
then qcid€P.
Rule 12. If the cause coupling set of the variable qci) is F
and the effect coupling set of the variable q(i) is I,
then qcidé€X.
Rute 13. If the cause coupling set of the variable qci) is I,
and the effect coupling set of the variable q¢i) is F,
then qcideéR.
Rule 14. If the cause couplings and effect couplings of the variable qci) are
atl,
then qcidéV.
(3) Rules for generating the DYNAMO equations
Rule
Rute
Rule
Rule
Rule
Rule
Rule
Rule
15.
16.
18.
20.
al.
22.
If
then
If
then
iff
and
then
If
and
then
if
and
then
If
and
then
If
and
then
If
and
then
NT= “xX”,
the equation is
L SN. K=EQ
N SN=VAL.
NT= “R” ,
the equation is
R SN.KL=EQ.
NT= <D” ,
it is the material delay
the equation is
R SN.KL=EQ
N SN=VAL.
NT= <D” ,
it is the information delay,
the equation is
A SN. K=EQ
N SN=VAL.
NT= “WV” or “Y",
TV has no values,
the equation is
A SN.K=EQ. |
NIS "4" cor “Y?,
TV has values,
the equation is
A SN. K=EQ
T values of table function=TV.
NT= “<P” ,
EQ has values,
the equation is
A SN. K=EQ
NT= “P” ,
EQ has no values,
the equation is
System Dynamics ‘90 845
C SN=VAL.
3. FUNCTION PART OF THE SYSTEM
The function part of the proposed system is made up of the following
function modules;
1) Model construction module
This module is useful to construct the feedback structure of the model.
(1) Inputting the goal of the model.
(2) Extracting the causal relations and variables.
(3) Composing the causal feedback loops.
2) Model generation module
This module is useful to transform the causal-toop diagram into a system flow
diagram,
(1) Determining the type of the variable.
(2) Extracting the abbreviation of the variable.
(3) Giving the initial condition.
(4) Generating the simulation program.
3) Model simulation module
This module is useful to realize the run and output of the model.
(1) Modifying the modet.
(2) Compiling the model.
(3) Running the model.
(4) Getting the output of simulation.
(5) Inquiring the error information.
4) Model interpretation module
This module is useful to inguire relevant information.
(1) Inguiring the name and abbreviation of the variable.
(2) Inguiring the variable set and couple set.
(3) Inguiring the variable type set.
(4) Inguiring the causal feedback loves,
(5) Inguiring the somulation eguations and initial conditions.
5) Model management module
This module is useful to realige the management of the models.
(1) Naming the model.
(2) Catling the model.
(3) Storing the model.
(4) Displaying the model,
(5) Sparing the model.
(6) Changing the name of the model.
(7) Deleting the model.
(8) Combining the models.
System Dynamics '90
6) PD interface module
This module is useful to realize man-machine conversation. The proposed system
can directly with the professional DYNAMO plus software by means of the PD in-
terface.
As a result of the support of the DSS, only user inputs the goals, elements and
causal relations within a system problem, the computer can compose the DYNAMO
model and run the model with multiple schemes, at last generate the report file.
Not only that, but also user can modify the model to improve the decision-making
by means ‘of man-machine conversation. The functions of above mentioned modules
can be further expanded in accordance with the needs of the users.
4, Application Example
A retail store medel as an application example is provided to verify the
applicability of the proposed system. The names of the variables in this model
are explained as follows,
DFLORD Delay Filling Orders
DSUNV Desired Inventory
ORDERS Orders Received
INV Inventory
SHIP. Shipments Sent
UFLORD Unfilted Orders
PRCORD Purchase Orders
INVCOV Inventory Coverage
IVADTM = Inventory Adjustment Time
SHPRCD Shipments Received
SMSLS Smoothed Sates
The information about the work of the DSS is outlined betow.
VDFLORD DFLORD
VDSTNV DSINV
RORDERS ORDERS
XINV < > INV
RSHIP SHIP
XUFLORD UFLORD
RPRCORD < > PRCORD
PINVCOV INVCOV
PIVADTM > IVADTM
DSHPRED SHPRCD
DSMSLS SMSLS
System Dynamics ‘90
DFLORD
INV
PRCORD
SHPRCD
ORDERS --
UFLORD --
SHIP --
DSINV -~
INV --
IVADTM --
INVCOV --
PRCORD --
1
v
SMSLS
SHIP
UFLORD
PRCORD
DFLORD
PRCORD
DSINV
SHPRCD
DSINV ORDERS
SHIP UFLORD
INVCOV IVADTM
SMSLS
DFLORD Ci
ORDERS -- ¢ +,
SHIP -- ¢ -,
SMSLS -- ¢ +,
INV -- ¢ -,
SMSLS -- ¢ +,
SHPRCD -- ¢ +
$e
) -> SHIP
) -> UFLORD
> -> INV
) -> DFLORD
) -> PRCORD
) -> PRCORD
> -> INV
v
SMSLS -- ( +, x7 ) -> DSINV
« Total 16 Links
C-, x7
C+, xe
pence axes es
INVEOV -- (4, «
SMSLS -- (+, x7
wane nee a
—— eres cues
SHIP --
SHPRCD --
UFLORD --
DFLORD --
ORDERS -- ¢ +, +-
SHIP -- (=, 4+
cane nee a
IVADTM -- ¢ -, 2
DFLORD
DFLORD
DSINV
> DSINV
> UFLORD
UFLORD
PRCORD
OF NODES
DFLORD -- ¢ -,
cece eee —
DSINV -- ¢ +,
ORDERS
ORDERS -- ¢ +,
PRCORD -- ¢ +,
Ks
be
) -> SHIP
nn eee
) -> SMSLS
) -> UFLORD
¢ ) => DFLORD
) -> PRCORD
) -> INV
- ) -> SHPRCD
System Dynamics '90
+- ) -> PRCORD
PRCORD
-, +- ) -> PRCORD
—]
a
2
=<
1
1
AAA
+
+
1
'
v
*
ORDERS --
SMSLS
SMSLS
Set of <X >
INV UFLORD
SSeS eee Total 2 nodes x------------ 2-2-2 === ===
Set of <R>
ORDERS SHIP PRCORD
DFLORD
Stee pee ee *
INVCOV
seca eee reece *« Total Tinodes syswswsenewenenaeene ee
Set pf <D>
SHPRCD SMSLS
material couplings < F >
System Dynamics '90 849
SHIP -- (-,+-) -> INV SHIP -- (-,+-) -> UFLORD
ORDERS -- ¢+,+-) -> UFLORD " PRCORD -- ¢+,%~) -> SHPRCD
SHPRCD -- (+,+-) -> INV ORDERS (+,%7) -> SMSLS
SeosSeS: x Total 6 links x-------
INV -- (-,«~7) -> DFLORD DFLORD -- ¢-,*~) -> SHIP
UFLORD -- (+,*~) -> SHIP INV -- (-,+-) -> PRCORD
DSINV -- (+,+-) -> PRCORD INVCOV -- (+,*-) -> DSINV
IVADTM -- (-,%-) -> PRCORD SMSLS -- (+,«7) -> DFLORD
SMSLS -- (+,%.) -> DSINV SMSLS -- (+,+-) -> PRCORD
PRCORD
PRCORD
w-- (2) >
DFLORD
Negative feedback loop, include 3 nodes,
—< SeSees: faeces eeeoey Kase ne
s--- (-) -> UFLORD ----- (+) -> SHIP
-+------ Negative feedback loop, including 2 nodes.
oataiainiaiene? « Total 3 loops * -~
Specification,
NS~SEED 0.1 +271
TIME 1 +271
DT i +a7l
LENGTH 20 #27
SAVPER i) +271
ABS-EER 0 +271
REL-ERR 0 +a7l
CMP-N-1 0 +271
850
System Dynamics '90
Parameter value,
Initial value of state or delay,
XINV >
XUFLORD =
DSHPRCE > delay3(preord, jk, dircgd)
DSMSLS -----> smoothCorders, jk, dsmord)
Function,
DSHPRCD ----- > DELAY3¢proord. jk, diregd)
DSMSLS ----- > SMOOTHCorders, jk, dsmord)
Table function,
x --- LSSD.DYN --- x
UL XINU.K=XINV. J+DT«¢ -RSHIP. JK+DSHPRCD. IK)
N XINV=vdsiny
R RSHIP. KL=XUFLORD. K«¢ 1-VDFLORD. K)
A VDFLORD, K=TABLECTDFLORD, xinv.kdsmsts.k. 4,12, 4)
T TDFLORD=1.5,1,.75
A DSMSLS.K=SMOOTH( rorders. kl, 8)
R_ RORDERS. KL=bsord+step(stpord, 5)
€ bsord=100
C stpord=100
R DSHPRCD. KL=DELAY3¢ rpreord. kl,diregd)
N dircgd=6
R RPRCORD. KL=DSMSLS, K+C VDSINV. K-XINV. K)/PIVADTM
C PIVADTM=4
A VDSINV.K=DSMSLS. KxPINVCOV
C PINVCOV=8
L XUFLORD. K=XUFLORD. J+DT~CRORDERS. JK-PSHIP. JK)
N XUFLORD=vdf tordxrorders
N TIME=1
SAVE DSHPRCD, XINV, VDFLORD, RPRCORD, VDSINV, RSHIP, XUFLORD, DSMSLS, RORDERS, PIVADTM,
PINVCOV
SPEC CMP_N_
TIME 1 3. 4 13 17 at. 25.
PINVCOV 8 8. 8. 8. 8. 8. 8.
PIVADTM 4. 4. 4. 4. 4. 4. 4.
DSHPRCD 100. 100. 104.69 206.16 347.13 395.72 314.12
System Dynamics ’90 : 851
DSMSLS 100. 100. 141.38 165.64 179.86 188.19 193.08
RORDERS 100. 200. 200. 200. 200. 200. 200.
RPRCORD 100. 100. 281.76 413.17 394.02 252.42 112.86
RSHIP 100. 100. 9 180.11 199.74 200. 223.99 © 208.37
VDFLORD i. 1. 1.4965 1.5 1.5 1.1706 ©. 89614
VDSINV 800. 800. 1131.1 1325.1 1438.9 1505.5 1544.6
XINV 800. 800. 569.53 335. 582.23 1248.6 = 1865.5
XUFLORD 100. 100. 269.53 299.61 300. 262.21 = 186.72
TIME 29. 33. 3h 41. 45. 49. 53. Sta
PINVCOV 8. 8. 8. 8. 8. 8. 8. 8.
PIVADTM 4. 4. 1. 4. 4. 4. 4. 4.
DSHPRCD 161.35 91.676 99.675 182.1 263.29 284.75 243.26 = 179. 25
DSMSLS 195.94 197.62 = 198.61 199.18 199.52 199.72 199.84 199.9
RORDERS 200. 200. 200. 200. 200. 200. 200. 200.
RPRCORD 62.173 123.5 232.64 297.13 281.5 212.72 146.91 130.01
RSHIP 200.02 194.18 187.74 195.17 205.11 209.99 203.35 199.54
VDFLORD .82933 .90623 1.0857 1.2459 1.2054 1.0325 .93379 =. 91259
VDSINU = 1567.5 1581. 1588.8 1593.5 1596.2 1597.8 1598.7 1599.2
XINU 2102.6 1877.5 = 1452.7 1201.7 1268.2 1545.8 1810.4 1878.8
XUFLORD 165.89 175.97 203.83 243.16 247.24 216.83 189.89 192.1
§. CONCLUSIONS
In this study, a decision support system for system dynamics modeling is
designed. The proposed system has effective intelligent part and function part.
The system can join up with the PD plus software to realige the modeling and
simulation. Due to the system only need input the causal relations as elementary
condition of the modeling, so user is easy to use it. The results of the
preliminary applications have proveded that the DSS is a powerful tool for the
decision-making of the socioeconomic problems.
References
Kishi, M., et al, 1987. A Prototype Expert System for System Dynamics Modelling.
Proceedings of the 1987 International Conference of the System Dynamics Society ,
China.
Liu, S., W. Pei and D. Wang. 1988. A Logical Inference Method for Transforming
Causal Diagram into System Flow Diagram, Proceedings of the 1998 National System
Dynamics Conference in China.
Pei, W., et al. 1986. A Computer System for System Dynamics Teaching.
Proceedings of the 1986 National System Dynamics Conference in China.
Peofessional DYNAMO Reference Manual. 1987. Cambridge, Mass. , - Pugh-Roberts
Associates,
Richardson, G. P. and A.L. Pugh TIE. 1981. Introduction to System Dynamics
Modeting with DYNAMO. Cambridge, Mass., MIT Press,