Lot Sizing, Distribution, and the Bullwhip

Manuel D. Rossetti, PhD P.E.

Agenda

  • A parent’s rule decides what its components’ problem looks like
  • Why the rule that is best at a level is not best for the product
  • What the variability coefficient does, and does not, tell you
  • The same arithmetic on a distribution network
  • The bullwhip effect, as a mechanism and not a slogan
  • What requirements planning assumes, and which assumption the rest of the course removes

Where We Left Off

Last session everything ordered lot-for-lot, at every level.

That is what an MRP system does when nobody has told it otherwise.

Every rule from the dynamic lot sizing chapter can be used instead, applied to the net requirement row of whichever record is being planned. None of them is new.

What is new is something a single-item chapter could not see.

The Claim

A parent’s lot sizing rule does not only decide what the parent costs.

By the explosion equation

\[ G_{jt} = \sum_{i \in \text{parents}(j)} q_{ij}\,\mathit{Rel}_{it} \]

it decides when and in what sizes the components are asked for.

So it decides what the components’ problem looks like, before they have made any choice at all.

The Experiment

Hold every component at lot-for-lot. Change only the rule used on the deck assembly.

Nothing below level 0 decides anything.

So whatever moves is the end item’s doing, and nothing else.

What Moves

Rule on the deck assembly Orders \(VC\) at level 1 Cost at DA Cost below Total
Lot-for-lot 11 0.6191 $5,500 $9,000 $14,500
Periodic order quantity 11 0.6191 $5,500 $9,000 $14,500
Wagner-Whitin 9 0.6701 $4,860 $7,500 $12,360
Silver-Meal 8 0.9650 $4,936 $6,700 $11,636
Least unit cost 7 1.0274 $5,588 $6,100 $11,688
Part-period balancing 7 1.5463 $5,444 $6,100 $11,544
Adjusted economic order quantity 7 0.8459 $5,588 $5,900 $11,488

Three things come out of that table.

One: Lot-for-Lot Changes Nothing

Its receipts are the master schedule.

So the components see the schedule itself, and \(VC = 0.6191\) is the schedule’s own figure.

Every rule that batches raises it, as far as 1.5463 under part-period balancing.

The periodic order quantity happens to agree with lot-for-lot here. The deck assembly’s holding rate is high enough that the EOQ gives a time supply of 1.35 months, which rounds to one.

Two: Cost Below Tracks Order Count

Read the Orders column against the Cost below column.

Orders at the deck assembly 7 8 9 11
Cost below $5,900 to $6,100 $6,700 $7,500 $9,000

The relation is exact, and the reason is the explosion equation and nothing else.

Every release a parent makes is a requirement its components have to meet, and meeting a requirement costs a setup.

Lot-for-lot releases eleven times, and the components below it place their own orders eleven times each.

Three: Locally Best Is Not Globally Best

Wagner-Whitin is optimal at the deck assembly, and optimal there by construction: no rule can beat it on that item’s own requirements.

It costs $4,860 where the adjusted economic order quantity costs $5,588.

And it is $872 worse over the structure as a whole.

Choosing the rule by the level you can see costs 7.59% here.

Optimality proven on one item is not optimality for the product.

What \(VC\) Does Not Tell You

You will be tempted to read the \(VC\) column as a cost. It is not one.

Part-period balancing produces much the lumpiest pattern and is not the most expensive plan.

Wagner-Whitin produces nearly the smoothest and is the second most expensive.

The order count explains the cost below. The variability coefficient does not.

What \(VC\) Is Still For

It is the right thing to look at when asking whether a component’s own planner needs dynamic lot sizing at all.

The threshold was 0.2, and every row of that table clears it comfortably.

Which is last session’s point, now with a number attached:

dependent demand does not merely happen to be variable.

It is made variable, by a decision taken one level up.

So Why Does Everyone Run Lot-for-Lot?

Reading that table it is easy to call it laziness. It is not, quite.

It leaves the level beneath it alone, and in a structure several levels deep that matters more at each level down.

It produces the smallest projected balances, which is what a planner wants when the requirements above are going to be revised anyway.

It needs no cost parameters. A bill of material with ten thousand items has ten thousand order costs that nobody has ever measured.

The defensible position: batch where the setup is large and genuinely known, usually the end item and the major subassemblies. Below that, the information does not exist.

Distribution Requirements Planning

The same arithmetic plans a distribution network. Let us be precise about how little has to change.

A distributor holds belts at three regional warehouses, each serving its own dealers, and replenishes all three from a central warehouse.

Nothing is built anywhere.

The Network

flowchart TB
    N["North region<br/>transit 1"]
    S["South region<br/>transit 2"]
    W["West region<br/>transit 1"]
    CW["Central warehouse<br/>supplier lead time 2"]
    N -->|1| CW
    S -->|1| CW
    W -->|1| CW

The arrows point the way a requirement travels, which is the direction they pointed in the bill of material.

It Is Literally the Same Equation

For the central warehouse, whose parents are the three regions:

\[ G_{\mathit{CW},t} = \sum_{r \in \text{regions}} 1 \cdot \mathit{Rel}_{rt} \]

That is the explosion equation with every \(q_{ij} = 1\).

Transit time plays the part of lead time, the regions are the level-0 items, the warehouse is their component, and the algorithm runs unchanged.

Nothing in the algorithm has to know which kind of graph it is walking.

Two Real Differences, Neither Arithmetic

A bill of material has a quantity per; a network does not, or rather has one everywhere. A parent needs two spindle assemblies per deck. A region needs one belt per belt.

The relationship reads backwards. In a bill of material the parent is what the child goes into. In a network the parent is the customer and the child is the supplier.

The arrow points the way the requirement travels, upstream in both cases, and that is why the same code carries them.

The Roll-Up

1,840 belts over twelve months: 830 north, 640 south, 370 west. Transit is one month north and west, two south. Everyone orders lot-for-lot.

Period 3 4 5 6 7 8 9 10 11 12 13 14 15
North releases 0 20 30 60 140 180 110 50 20 0 40 80 100
South releases 10 20 40 100 160 100 50 10 0 20 60 70 0
West releases 0 10 10 20 60 80 50 20 10 0 20 40 50
Center’s gross 10 50 80 180 360 360 210 80 30 20 120 190 150

The south is a month out of step with the other two, because its transit time is longer.

The center’s requirement in period 3 is the south’s alone.

Now Change What the Regions Do

Same network. Same sales. Change only the rule every region uses.

Rule at every region \(VC\) at the center Regions Center Total
Lot-for-lot 0.6334 $6,600 $5,200 $11,800
Part-period balancing 0.8692 $3,860 $3,200 $7,060
Wagner-Whitin 1.1403 $3,830 $3,200 $7,030
Silver-Meal 1.3715 $3,980 $3,600 $7,580
Periodic order quantity 1.5896 $4,310 $3,200 $7,510

The regions sell a pattern whose variability coefficient is 0.6191. The center’s is measured over periods 3 to 15, the periods in which it has a requirement under lot-for-lot.

The Bullwhip Effect

The demand the center faces is between 1.4 and 2.6 times as variable as the demand the regions actually sell.

And the regions’ customers did nothing to cause it.

That table is the bullwhip effect’s mechanism, in one table.

Batching at one stage is amplification at the next.

Two Cautions Before the Conclusion Runs Away

Under lot-for-lot the center sees \(VC = 0.6334\), within three percent of the 0.6191 the regions sell.

Three locations ordering on different transit times spread the same 1,840 belts over thirteen periods instead of twelve, and that spreading is the whole of the difference.

So amplification is caused by batching, and not by the network.

And every batching row is cheaper than lot-for-lot, at the regions and at the center both.

Why Amplification Costs Nothing Here

In a world where demand is known, the center can see the lumpy pattern coming and plan for it. Which is exactly what it just did.

The bullwhip effect is expensive when demand is uncertain.

Then the center cannot tell an amplified pattern from a change in the market, and must hold stock against both.

That is why this chapter can report the amplification without reporting a cost for it.

Nervousness, Propagated

One item: the horizon rolls, the plan is recomputed, and it disagrees with the old plan about orders not yet placed.

In a product structure the disagreement propagates, and the propagation is the problem.

A change to the master schedule in a distant period moves the deck assembly’s releases. Those are the belt’s requirements, so the belt replans. With a two-month lead time the belt’s releases move into nearer periods.

Two levels down, a revision to a requirement eleven months out can move an order that was going to be placed next week.

Three Things Make It Worse Here

Lot sizing amplifies it. A batching rule has thresholds, and a small change moves a plan across one. That instability is multiplied by every level beneath.

Lead times concentrate it. A change far out arrives at the bottom of the structure much sooner, because each level’s lead time pulls it earlier.

Low-level codes spread it. An item with several parents is replanned when any of them moves.

The Devices, Plus One

A firm planned order is a planned order the system is forbidden to move. It is the freeze fence applied to a single order rather than a span, and it is how a planner overrides the calculation without turning it off.

A time fence does the same for a span.

Safety lead time is this chapter’s addition. Instead of holding extra stock, the item is planned to arrive a period early.

It buffers a late delivery in a way safety stock does not, and costs a period of carrying on everything rather than a permanent balance on one item.

Which to use depends on whether the uncertainty is in the quantity or the timing, and requirements planning gives you no way to tell.

Five Assumptions, All Questionable

The arithmetic is exact. Every assumption behind it is not.

  1. Capacity is infinite. Nothing asks whether the shop can build 1,980 bearings in period 8.
  2. Lead times are fixed and known. A real lead time is mostly queueing, so it depends on shop load, which depends on the lot sizes, which are what the plan is choosing.
  3. Requirements are known. The master schedule is a forecast, and everything below inherits its error with the amplification we just measured applied.
  4. The records are right. An explosion nets against on-hand balances, so one wrong balance becomes a wrong order for every item beneath it.
  5. Everything is deterministic. No demand distribution appears anywhere.

Assumption 5 Is the Door

Requirements planning is less tolerant of bad records than an order-point system, because it computes rather than reacts.

And it has no way, from inside the model, to justify the safety stock it offers you.

Assumption 5 is the one the rest of the course removes.

Breakout

Activity 2: exploding the blade assembly (PDF, or HTML). Groups of three, 20 minutes.

  • Plan a four-item structure level by level, including a bolt with two parents
  • Then see what a pulled-in schedule and the wrong planning order do

What We Did Today

A parent’s rule sets its components’ problem, through the explosion equation and nothing else.

Cost below a level tracks how often the level above orders, exactly.

The locally optimal rule is not the globally optimal rule, and here the gap is 7.59%.

DRP is the same algorithm with every quantity per equal to one.

Batching at one stage amplifies at the next, and the network itself does not.

For Next Time

Read before next session: One Order, One Chance, and Working the Decision by Hand.

Next session begins the second half of the course:

  • Demand is a random variable, and there is exactly one ordering decision
  • The cost of one too many against the cost of one too few
  • Why the answer is a fraction, and what that fraction is
  • Worked by hand first, from a table of probabilities

Everything so far has assumed demand is known. From here it is not, and the first model that admits it is also the simplest one in the book.

⌂ Index