~186-
INFLOW: from Influence to Flow Diagram in System Dynamics
Paolo V. Dolei, Maria A. Puddu
Universita di Cagliari - Italy
ABSTRACT
In this paper we review an algorithm to identify the type of variables
(levels, rates, auxiliaries) which appear in the influence diagram. This
algorithm has been implemented on a personal computer at the Cagliari
University.
THE INFLUENCE DIAGRAM
“The influence diagram records the way in which the system works" (Coyle
1977): right and stenographic. All the system's variables are in fact
gathered in the influence diagram, connected by arrows with the variables
at the tips influenced by those on the tail. A '+' near the arrow-head
means that variations of both variables go in the same direction, a '-'
the opposite, whereas no sign if the direction of the variation is
incostant. The influence diagram is an oriented graph, with variables as
nodes and lines of influence, the arrows, as arcs.
To have drawn the influence diagram is to have made an essential step
towards the system's model, but the next step may be tiring, for we must
identify each variable as a level, a rate or as an auxiliary, in order
to be able to build up the flow diagram. Coyle (1977) suggests a trial-
and-error method to find out the variables' type: Assouline (1981)
proposed an algorithm to automize the procedure. That algorithm was
implemented on a large computer; and we have (partially) repeated the
experience using a personal, a IBM XT. The program is written in BASICA,
but in the paper we present only the tehory, and the algorithm step-by-
step (in fact we are still experimenting with the program, hunting for
some forgotten bugs).
Assouline's algorithm is composed of three parts, but we present in this
paper only the first, in which the influence diagram is scanned to
recognize the type of present variables, adding if necessary some other
to give internal consistency to flow diagram. The second part examines
the outcome of the first one, with the aim to reduce, if possible, the
system's order by 'degrading' some level, which has been singled out in
the first stage, to an auxiliary. In the last part of the algorithm the
antecedents of the variables are checked and the equations are formally
written.
~187-
VARIABLES' SET
Let X= {sp Xpe sees x} be the set of the nodes of grapf - x (421 j24:0:5t1)
are the system's variables -, CC x the set of arcs, and G4 ¢ C the set of
arcs connecting x, to Bye We shall indicate the influence diagram as G=(X,C).
If G is connected, and ¥ (x,, x,ex's Card G5 1, and Vx, EX > C= 6,
then the influence diagram can be represented as a boolean matrix M, the
system's structure matrix (Lange 1981). M is square, with the number of
lines equal to n, which is the mmber of the system's variables; its elements
are m,, = Card C3, (i.e. if C, = @, thenm., = 0, else m.. = 1).
ij ij ij ij
Let A, (x) and S, a be the sets of nodes, respectively, preceding or
seating x, in e apietasnes diagram; and A, (x,) and Sy ) the sets of
arcs, respectively, terminating in,or starting ‘rom, Xie
Let us define, for the moment, the following sets:
(1) U={x,EX: Ax) = 0}
there are no arcs terminating in the elements of U, so they do not depend
on other variables: they are parameters or exogenous variables;
(2) Y= {x,€X : S(x,) = O}
po ec 21
there are no arcs starting from the elements of Y, so they do not influence
other variables: they can be either outputs of the system, or supplementary
variables, the latter of which indicate the system's performance even though
not being part of the system itself.
The graph which is the influence diagram is a model of the system,which in
turn can be thought of as a graph, or more precisely a bounded network (Le
Moigne 1977, Dolci 1985): so we can say that through the arcs of the
influence diagram,as through the connections between the system's elements,
run flows of matter, energy and information. Let ME be the set of matter or
energy flows - ME type interactions, and I be the set of information flows
- I type interactions. The two classes of interactions are equivalence
classes, from which we can obtain a binary partition of influence diagram
G = (X, C) such that MEUI = C and MEOI = @.
Depending on this partition, we can define the following sets:
(3) L= {x,EX : AG) CME, SiGe.) © I}
the elements of L are the levels, and they are the state variables of the
system;
(4) T= {x,EX 1 A(x) C1, 8 (x,) ME, Card S (x,) < 2}
Fe col. = ceili ed.
-188-
the elements of T are the rates, the decision variables; the last set to be
defined is the one of auxiliary variables:
() A= [x,EX : AG) C1, SG.) ¢ T}
It is thus evident that arcs preceding or following, a vertex are all of
the same type (Fig. 1):
OS O<k O¢
Fig. 1
Therefore, the only connections between elements of the sets L, T, A, are
in the absence of delays, the ones of Fig. 2:
Fig. 2
The closed loops in such a graph, either go through a level or are composed
only by auxiliary variables: beware not the dog, but simultaneous equations!
We shall call these variables, solutions, if any, of simultaneous equations,
loop auxiliaries.
Before illustrating the algorithm, let us label some sets, which will be
used in the following pages:
L, the set of levels; we shall start with a set of 'imposed' levels, that is,
variables which can be nothing but levels, not contiguous in the influence
diagram; new levels will be singled out during the analysis, and they will
join to L;
T : the set of rates;
TI : the set of intermediate rates generated by the algorithm to ensure the
coherence of flow diagram;
A : the set of auxiliaries;
AL : the set of auxiliaries which represent an information on a level;
AT : the set of auxiliaries which represent an information on a rate;
ALT: the set of auxiliaries coming from the treatment of at least one piece
of information on a level and one on a rate;
AC : the set of loop auxiliaries;
-189-
V: the set of variables not yet singled out.
THE ALGORITHM
1 - The starting point of the algorithm is to identify the set 4) =
{va (,) : x, EL} » that is the set of antecedents of levels, ‘imposed’
or single out, applying the algorithm. This identification is done by
scanning the columns corresponding to levels in the structure matrix M: al
in the k-th row means that x, is an antecedent of the variable corresponding
to the colum. For instance, let us suppose that x is a level: if m= 1
then x,€ AG), that is x, preceeds x, in the influence diagram.
2 - Identify the set Ss. of the successors of the elements of AL): if ayn
then % Sq), i.e. my is a successor of x, in the influence diagram.
3 - Find the cardinality of S. (x), Card Ss (xy), by counting the 1s in the
x x
k-th row of M.
4 - If Card Say) =1, then xT, e.g.
Fig. 3
else, if Card Sq) = 2, go to 5, else go to 6. It is impossible to have
Card Sa) = 0, because at least x,€ XOy).
5 - (Card X (x) = 2) x, is one of the successors of x3 let x, be the
x i J
second. If we know what type of variable *; is, go to 5.1, else, go to 5.3.
5.1 - If x, EL, then x, T, e@.g.:
Fig. 4
-190-
else, go to 5.2. ‘
5.2 - lf x,6/ L, then, x, EAT, and we generate an intermediate rate x, Hy
between x and xt x, eT, e.g.:
Fig. 5
5.3 - x,€V (x,'s type unknown); there are still two more cases: there is
at least one idvel among the successors of x} that is § Gab #@, or
not. Specify the set 8,.06)3 if my, * 1, then *E5,G))- If §,G,)OL #6,
then x, EAT, and we generate an intermediate rate x, between x, and x,: xeTl,
and as many intermediate rates as the levels following x,; we will call
them x} with s equal to the number of these levels. Thede last intermediate
rates are to be interposed between %, and the levels x one or more, which
follow it. So x,€ALT and aETI, e.g.: Fig. 6
5.4 - If there are not levels among the successors of x) that is §,,)01b,
we have to examine the antecedents of % To individualize the set AL ) of
j
the antecedents of %y» scan the j-th colum.of M: if ir = 1 then XGA, (x)
Still two further possibilities: there is or there isn't at least one
level in A, G5). In the first case continue, else go to 5.5. If AG)
AL # @ let us suppose that EA, Ces) is the level, then x,€ AL, x, AT,
and we generate an intermediate rate %, between x, and x? HE TI, e.g.:
Fig. 7.
~-191-
Fig. 6
-192-
5.5.- No levels among x's antecedents: 4, Gr OL = @. If at least one
closed loop passes through %,> then mS L, x T, e.g.:
ul
Fig. 8
else go to 5.6. Remember to update L, the set of levels, and A, the set of
these levels' antecedents.
5.6 - No closed loops through x,t as in 5.4, x, SAL, x, EAT, and we have
to generate an intermediate rate %, between xX, and Xe RE TI, e.g.:
Fig. 9
6 - (Card SG) > 2) x, EAT, and we have to generate an intermediate rate
&, between x and Xs %, Tl, e.g.:
-193-
Fig. 10
7 ~ Once singled out, the antecedents of levels, including those identified
during the analysis, we have to label the variables which are still unknow.
Let AC = @; for each x,€ V, let us count the closed looops through x, and
composed only by elements of V: let ne(x, V) be this number.
8 - If, for each x,€ Vv, nex.» V) = 0, then all the unknown variables are
auxiliaries, i.e.: x,EA and’V = @, else go to 9.
9 - For at least one x,€V, ne(x_, V) #0; so, if the closed loop through
X, Passes across at least one element of LUAC, then x,€ A, else go to 9.1.
9.1 - No elements of the closed loop through x, belong to LUAC: then x, EAC.
The elements of AC are solutions of simultaneous equations, which must be
either eliminated, introducing delays, or solved apart, separately.
REFERENCES
Assouline G. "Aide 4 1'Analyse et 4 la Construction des Grands Modéles de la
Dynamique des Systémes'', Thése de Doctorat, Université Paris IX Dauphine,
1981.
Coyle R.G., "Management System Dynamics", Wiley, 1977.
Dolci P.V., "A System View of Transportation System'', Proceeding 1985 Int.
Conf. of the System Dynamics Soc., Keystone, Col., USA, 1985.
Le Moigne J. - L., "La Théorie “du Systéme Général, PUF, 1977.
Lange 0., "La parte e il tutto", Rosenberg & Sellier, 1981.