Result 1: Constant Demand

First, we are going to try to repress the fluctuation without the damper, by adjusting parameters of the spring nodes.

Ordering Policy

Order = (B + T - C) x S ...if T > C
Order = 0 ...if C>= T

B: Backlog
T: Target Inventory
C: Current Inventory
S: Sensitivity Coefficient

Initial Conditions
Incoming Orders = 4
Inventory = T (Target Inventory)

Consumer Demand
[4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,.......]

Inventory: 0.5 per unit
Backlog: 1.0 per unit


First, to give you some ideas about what the "base case" looks like, here's the time series' for S = 1.0 and 0.1. (The target inventory level is 12.)

Figure 1: Time Series

As you can see, when the sensitivity coefficient is small, the fluctuation of inventory levels become regular after Week = 500 or so, although it still looks non-linear. As far as we can see from these two graphs, smaller S seems to repress the fluctuation of inventory levels.

Is it always the case? The answer is No, if the sensitivity coefficient is too small, backlog should get larger. So, there must be a value of Sensitivity Coefficent that minimizes the cost. Figure 2 shows how Sensitivity Coefficient influences the average cost (More precisely, it's the average of the sum of the costs of retailer, wholesaler, distributer and factory).

Figure 2: Average Cost vs. Sensitivity Coefficient (Target Inventory = 12)

Thus, for Target Inventory = 12, the cost-minimizing sensitivity coefficient is about 0.2.

Is it the best we can get? Well, we have another parameter - Target Inventory. I ran simulations under various target inventory level:

Figure 3: Average Cost vs. Sensitivity Coefficient (Various Target Inventory Levels)

This is an interesting result. Here are some insights from this result:

  • Notice this irony - low target inventory levels will NOT achieve the lowest cost. In fact, the minimum costs from higher target inventory levels are somewhat smaller.
  • However, when target inventory level is large (>= 600), you've got to be very careful about Sensitivity Coefficient. A little error in ordering policy could result in surprisingly high cost.
  • On the other hand, when target inventory level is small, Sensitivity Coefficient can contain a little noise. This is a "safer" choice.
  • There seems to be a nice region around Target Inventory = 120, where the cost is minimized.

So, let's find out that magial target inventory level, by the effect of Target Inventory on the cost at the cost-minimizing Sensitivity Coefficient (roughly speaking, it's like the lower envelope of the curves above). See the following figure:

Figure 4: Cost Minimizing Target Inventory

Again, insights:

  • The minimum cost is achieved somewher around 30 - 200
  • There is a phase transition around Target Inventory = 30.
  • When Target Inventory is high (arond 1000), the resulting cost is uncertain (noisy).

Overall, these results tell us "TRY to keep the inventory around 100 (even if you don't want), and never below 30. But respond to your inventory level VERY slowly."

Lastly, you might wonder how the cost could be almost ZERO. The following figure will show you how:

Figure 5: Time History of Inventory Levels under a Cost-Minimizing Condition.

Note that this economy is NOT dead. The system goes through "soft landing" to a very low inventory level and mantain a nice laminar flow the rate of 8 beer per week.