Please enable JavaScript to view this site.

Vensim Help

(prod2.mdl)

In order to model the production side we need to determine capacity (how much can be produced) and track the fulfillment of orders with shipments.  The determination of capacity is formulated as a goal adjustment based on a target production.  This is very similar to the formulation for hiring used in the Workforce-Inventory model. In this model, however, capacity is thought of as including both capital and labor (a composite ability to produce), so the time constant for adjusting capacity is longer, reflecting the long lead times in acquiring facilities and capital equipment.

The tracking of orders is done through a backlog (orders placed but not yet fulfilled).  A backlog is, in many respects, the opposite of an inventory; in this respect the production side does resemble the Workforce-Inventory model.  The other difference in this model is that the stream of orders is averaged when calculating target capacity and backlog.  In the Workforce-Inventory model we formulated target production directly on the basis of sales.  While this was the simplest formulation possible, it is not realistic.  People do not, based on a good day or a good month, immediately reformulate all plans for the future.  Short term variation in the order stream is smoothed out and therefore has very little impact on future plans.

We create a new view and add in the production sector:

The production sector of this model has been formulated as a standalone view, completely disconnected from the first view.  The reason this was done was so that we can test the behavior of this portion of the model in isolation.  We will then link up the two parts of the model to see how they operate together.  This is a useful method for keeping things under control.  In general, the boundaries between subsystems of a model will not be quite as clean as they are in this example, but it is always possible to replace model variables with test inputs to see how fragments of structure behave in isolation.

The equations for this sector, and these are a complete model unto themselves, are:

Average Orders = INTEG(
(orders received - Average Orders)/time to average orders,
       orders received)

Units: Gadget/Year

The equation for Average Orders could have been written using a SMOOTH function.  The explicit integration is used because it emphasizes the nature of the smoothing process.

Backlog = INTEG(
orders received - production,
       desired backlog)

Units: Gadget

backlog correction = (Backlog - desired backlog)/
       time to correct backlog

Units: Gadget/Year

Backlog is initialized at desired backlog in order to start this model in an equilibrium.

Capacity = INTEG(
investment - reductions,
       desired capacity)

Units: Gadget/Year

Capacity is initialized at desired capacity in order to start the model in equilibrium.

capacity adjustment = (desired capacity - Capacity)/
       time to adjust capacity

Units: Gadget/Year/Year

capacity life = 2

Units: Year

delivery delay = Backlog/production

Units: Year

desired backlog = Average Orders * target delivery delay

Units: Gadget

desired capacity = desired production

Units: Gadget/Year

desired production = Average Orders + backlog correction

Units: Gadget/Year

investment = capacity adjustment + replacement investment

Units: Gadget/Year/Year

orders received = reference orders * (1 + STEP(1,2))

Units: Gadget/Year

The STEP function in orders received causes a doubling of orders at Time 1.  Again, a test input using a STEP function is useful because it generates behavior that is easily understood relative to the driving inputs.

potential production = Capacity

Units: Gadget/Year

production = MIN(desired production,potential production)

Units: Gadget/Year

reductions = Capacity/capacity life

Units: Gadget/(Year*Year)

reference orders = 2e+006

Units: Gadget/Year

replacement investment = reductions

Units: Gadget/Year/Year

target delivery delay = 0.125

Units: Year

The target delivery delay is set to the same value as normal delivery delay was set in the consumption model.  Although it is not necessary, two parallel concepts should generally be close, if not the same in value.

time to average orders = 0.25

Units: Year

time to adjust capacity = 1

Units: Year

time to correct backlog = 0.5

Units: Year

When we simulate this model the behavior is similar to that of the Workforce-Inventory model in Chapter 1. Following the step increase in orders, the order backlog grows for a year. Production gradually increases until it exceeds orders, and the backlog begins to fall. Capacity overshoots, and by year 4 there is excess capacity as the desired production rate falls.

As an experiment you might want to set target delivery delay to 1 year and see what happens.  This is an unrealistically high value for most products, but does result in interesting dynamics.