System Dynamics
System Dynamics
Dynamic systems, which change with time, are usually very complex, having many
components, with involved relationships. Two examples are systems involving competition
among different species for limited resources and the kinetics of enzymatic reactions.
Rate of Change
Suppose s(t) is the position of an object at time t, where a ≤ t ≤ b. Then the change in time, ∆t, is ∆t = b –
a; and the change in position, ∆s, is ∆s = s(b) – s(a). Moreover, the average velocity, or the average rate
of change of s with respect to t, of the object from time a = b – ∆t to time b is
change∈ position ∆ s
Average velocity= =
change∈time ∆t
s ( b )−s(a) s ( b )−s(b−∆ t)
= =
b−a ∆t
The instantaneous velocity, or the instantaneous rate of change of s with respect to t, at t = b is the
number the average velocity, s b s b t t ( ) − − ( ) ∆ ∆ , approaches as ∆t comes closer and closer to 0
(provided the ratio approaches a number). In this case, the derivative of y = s(t) with respect to t at t = b,
written sʹ(b) or dy dt t b= , is the instantaneous velocity at t = b. In general, the derivative of y = s(t) with
respect to t is written as sʹ(t), or dy dt , or dy/dt.
Differential Equation
When no limiting factor exists, we have the Malthusian model for unconstrained population growth,
where the rate of change of the population is directly proportional (∝) to the number of individuals in
the population.
The constant r is the growth rate, or instantaneous growth rate, or continuous growth rate, while dP/dt
is the rate of change of the population.
A differential equation is an equation that contains one or more derivatives. An initial condition is the
value of the dependent variable when the independent variable is zero. A solution to a differential
equation is a function that satisfies the equation and initial condition(s).
Difference Equation
This equation, called a finite difference equation, indicates that the population at one time step is the
population at the previous time step plus the change in population over that time interval: (new
population) = (old population) + (change in population) or population(t) = population(t – ∆t) +
∆population where ∆population is a notation for the change in population.
A finite difference equation is of the following form: (new value) = (old value) + (change in value) Such
an equation is a discrete approximation to a differential equation
Simulation Program
Algorithm 1 contains pseudocode, or a structured English outline of the design, for generating and
displaying the time, growth, and population at each time step. In the algorithm, a left-facing arrow (←)
indicates assignment of the value of the expression on the right to the variable on the left.
Analytical Solution
Analytical Solution: Explanation with Indefinite Integrals (Optional)
dP
We can solve the differential equation = 0.10P using a technique called separation of variables
dt
We solve for |P| by taking the exponential function of both sides and using the fact that the exponential
and natural logarithmic functions are inverses of each other.
dP
We can solve the differential equation = 0.10P for P analytically by finding a function whose
dt
derivative is 0.10 times the function itself. The only functions that are their own derivative are
exponential functions of the following form: f(t) = ke t , where k is a constant
The fifth step of the modeling process discussed in Module 1.2 is to “Report on the model.” The
following summarizes the items that would be included in a report for a system dynamics model:
a. Analysis of the problem: We begin by describing the problem, such as to model the growth of
bacteria in media.
b. Model design: In this section, we should list simplifying assumptions, such as those in the section
dP
“Differential Equation”; equations, such as = 0.10P with P0 = 100; reasoning for choices of constants,
dt
such as an instantaneous growth rate of 10%; the basic time step, such as hour; and other units. A
diagram of the model, such as in Figure 2.2.1, is also appropriate to include.
c. Model solution: This part should contain the analytical solution or an algorithm, such as Algorithm 1.
d. Results and conclusions: Part d should include simulation tables, such as Table 2.2.2, and graphs, such
as Figure 2.2.2. Moreover, the section should contain an explanation of verification accomplished by
comparing the results to real data when available, descriptions of the outcomes of various scenar ios, a
discussion of our conclusions with support from the results, and suggestions for model refinement.
e. Appendices: Usually, a copy of the file created with a system dynamics tool should be submitted with
this report. Besides the model, this file should contain appropriate documentation, such as a text box
with the authors’ names, date, module and problem number, and problem description.
CARRYING CAPACITY
The carrying capacity for an organism in an area is the maximum number of organisms that the area can
support.
Simulation and analytical solution graphs display the exponential growth of unconstrained growth. After
developing such a model in Step 2 of the modeling process and solving the model (Step 3) as before, we
should verify that the solution (Step 4) agrees with real data. However, as the introduction indicates, no
confined population can grow without bound. Competition for food, shelter, and other resources
eventually limits the possible growth. For example, suppose a deer refuge can support at most 1000
deer. We say that the carrying capacity (M) for the deer in the refuge is 1000.
Differential equation (1) and difference equation (2) are called logistic equations. Figure 2.3.1 displays
the S-shaped curve characteristic of a logistic equation, where the initial population is less than the
carrying capacity of 1000. Figure 2.3.2 shows how the population decreases to the carrying capacity
when the initial population is 1500. Thus, the model appears to match observations from the
“Introduction” qualitatively. To verify a particular model, we should estimate parameters, such as birth
rate, and compare the results of the model to real data.
Equilibrium and Stability
The logistic equation with carrying capacity M = 1000 has an interesting property. If the initial
population is less than 1000, the population increases to a limit of 1000. If the initial population is
greater than 1000, the population decreases to the limit of 1000. Moreover, if the initial population is
1000, we see from Equation (1) that P/M = 1000/1000 = 1 and dP/dt = r(1 – 1)P = 0. In discrete terms, ∆P
= 0. A population starting at the carrying capacity remains there. We say that M = 1000 is an equilibrium
size for the population because the population remains steady at that value or P(t) = P(t – ∆t) = 1000 for
all t > 0.
An equilibrium solution for a differential equation is a solution where the derivative is always zero. An
equilibrium solution for a difference equation is a solution where the change is always zero.