Joint Replenishment and Power-of-Two Policies

Manuel D. Rossetti, PhD P.E.

Agenda

  • A shared setup, which is not a shared resource
  • Rewriting the model in terms of the interval rather than the quantity
  • Power-of-two policies, and why a dock can run them
  • The 6.07% bound, derived
  • Coordination against cleverness, measured

A Different Kind of Coupling

Last session the items were coupled by a constraint, and their cost functions stayed separate.

Today they are coupled by a shared cost, and there is no constraint at all.

Items bought from one supplier share an order. Placing it costs \(K\) whatever is on it, and each item added costs a further \(k_j\).

That couples the objective. Ordering two items together is cheaper than ordering them separately, so what each item should do depends on what the others do.

Change of Variable

Work in intervals rather than quantities. Since \(Q = \lambda T\):

\[ C(T) = \frac{k}{T} + \frac{h\lambda T}{2} = \frac{k}{T} + gT, \qquad g \equiv \frac{h\lambda}{2} \]

Same two-term function, decision variable renamed. So it has the same solution:

\[ T^{*} = \sqrt{\frac{k}{g}} = \sqrt{\frac{2k}{h\lambda}}, \qquad C(T^{*}) = 2\sqrt{kg} \]

Choosing \(Q\) and choosing \(T\) were always the same decision. Now \(T\) is the convenient one, because intervals are what a schedule is made of.

The Power-of-Two Restriction

Fix a base period \(T\), the shortest interval at which the organization can act. Then restrict every item to

\[ T_j = 2^{\ell_j}T, \qquad \ell_j = 0, 1, 2, \ldots \]

Items are ordered every base period, or every second, fourth, eighth, and so on.

Two reasons, and only one of them is mathematical.

Reason One: Such Schedules Nest

If one item is ordered every 2 base periods and another every 8, then every time the slow item is due, the fast one is due as well, because 2 divides 8.

With arbitrary integers this fails. Multipliers of 3 and 5 coincide only every 15 base periods, and in between there are orders carrying one item and not the other.

A nested schedule is one a receiving dock can actually run.

Nesting is the reason power-of-two policies are used in practice at all.

Reason Two: They Cost Almost Nothing

Which we now prove.

\(C\) is convex, so the best \(\ell\) is the smallest one for which doubling again does not help:

\[ \frac{k}{2^{\ell}T} + g2^{\ell}T \;\le\; \frac{k}{2^{\ell+1}T} + g2^{\ell+1}T \]

Collecting the \(k\) terms left and the \(g\) terms right gives \(k/(2g) \le (2^{\ell}T)^{2}\), so

\[ \ell^{*} = \text{smallest integer with}\quad 2^{\ell} \ge \frac{T_j^{*}}{\sqrt{2}\,T} \]

That is a formula, not a search. Take \(\log_2\) of the right side and round up.

Where the Chosen Interval Sits

The rule already says \(T_j \ge T_j^{*}/\sqrt{2}\).

The companion bound comes from the other side: because \(\ell^{*}\) is the smallest integer that works, the previous power was worse, which yields \(T_j < \sqrt{2}\,T_j^{*}\).

\[ \frac{T_j^{*}}{\sqrt{2}} \;\le\; T_j \;<\; \sqrt{2}\,T_j^{*} \]

Note carefully: this is not rounding to the nearest power of two. The test is against \(T^{*}/\sqrt{2}\), the geometric mean, not the midpoint.

An interval of 22.8 weeks rounds up to 32, not down to 16.

The Worst Case

\(C\) is convex, so on that bracket it takes its largest value at one of the two ends. Evaluate both, using \(T_j^{*} = \sqrt{k/g}\):

\[ C\!\left(\frac{T_j^{*}}{\sqrt{2}}\right) = \sqrt{2}\sqrt{kg} + \frac{1}{\sqrt{2}}\sqrt{kg} \]

\[ C\!\left(\sqrt{2}\,T_j^{*}\right) = \frac{1}{\sqrt{2}}\sqrt{kg} + \sqrt{2}\sqrt{kg} \]

The same expression. Both equal

\[ \frac{3}{2\sqrt{2}}\,C(T_j^{*}) = 1.0607\,C(T_j^{*}) \]

Six Point Oh Seven Percent

A power-of-two policy costs at most 6.07% more than the best interval, whatever the item’s data and whatever the base period.

Rounding an interval up and rounding it down cost exactly the same in the worst case, so the bracket is symmetric in \(\sqrt{2}\).

Recall that the EOQ total cost curve is flat near its minimum, and that this is why rounding to a case quantity is cheap.

This is the same fact applied to cycle lengths instead of order quantities. Flatness is what licenses throwing away every multiplier that is not a power of two.

Two Qualifications

The derivation assumes \(\ell^{*} \ge 0\), which requires \(T \le \sqrt{2}T_j^{*}\). An item that wants to be ordered more often than the base period allows is stuck at \(\ell = 0\), and for that item the base period, not the rounding, governs the cost.

The base period may itself be a decision. Choosing it along with the multipliers improves the worst case from 6% to 2%.

That sharper constant is also what lies behind the 98%-effective approximations for multi-stage systems that we meet next session.

Rounding Two Items

A plant can act on purchasing once a week, so \(T = 1/52\) year.

Item \(\lambda_j\) \(h_j\) \(k_j\) \(g_j = h_j\lambda_j/2\)
Drive unit 8,000 $5.00 $237 20,000
Control arm 6,000 $4.00 $300 12,000

\[ T^{*}_{\text{drive}} = \sqrt{\frac{237}{20{,}000}} = 5.66 \text{ weeks} \]

\[ T^{*}_{\text{arm}} = \sqrt{\frac{300}{12{,}000}} = 8.22 \text{ weeks} \]

Neither is a whole number of weeks, let alone a power of two of them.

Applying the Rule

Drive unit:

\[ 2^{\ell} \ge \frac{5.66}{\sqrt{2}} = 4.003 \quad\Longrightarrow\quad \ell \ge 2.001 \quad\Longrightarrow\quad \ell^{*} = 3 \]

Ordered every \(2^{3} = \mathbf{8}\) weeks.

Control arm:

\[ 2^{\ell} \ge \frac{8.22}{\sqrt{2}} = 5.81 \quad\Longrightarrow\quad \ell \ge 2.54 \quad\Longrightarrow\quad \ell^{*} = 3 \]

Also every 8 weeks.

What the Rounding Cost

Drive unit: pushed from 5.66 weeks out to 8, a ratio of 1.4133, which is as far from 1 as the bracket permits.

\[ \$4{,}354.31 \longrightarrow \$4{,}617.42 \quad = \quad \mathbf{6.04\%} \]

essentially the worst case.

Control arm: pulled from 8.22 weeks in to 8, a ratio of 0.9730.

\[ \mathbf{0.04\%} \]

Two Readings

The penalty is bounded but not evenly spread. One item paid almost the entire worst case; the other paid nothing.

Which one pays depends only on where its unconstrained interval happens to fall between two powers of two.

And the two items ended up on the same eight-week cycle with no one coordinating them.

Ordering them together is now free. That is the property the restriction was after.

Now Coordinate Deliberately

Four items from one supplier. Placing an order costs \(K = \$400\) whatever is on it; each item adds \(k_j\). Carrying charge 25%.

Item \(\lambda_j\) \(c_j\) \(k_j\) Annual value \(\sqrt{2k_j/(h_j\lambda_j)}\)
Drive unit 8,000 $20 $25 $160,000 0.0354
Gearbox 800 $20 $20 $16,000 0.1000
Seal kit 200 $8 $15 $1,600 0.2739
Name plate 40 $4 $15 $160 0.8660

The last column spans a factor of 24. The annual values span a factor of a thousand.

Four Policies, Compared

Independent. Each item paying \(K + k_j\) on its own: $8,422.39 a year.

A common cycle. One interval for everything, \(T^{*} = 0.1462\) years or 53 days: $6,497.54.

Coordinating alone, with no differentiation between items, has already saved 23%.

Best integer-ratio. Base period 51.9 days, multipliers \((1,1,2,6)\): $6,402.06.

Power-of-two. Base period 51.8 days, multipliers \((1,1,2,8)\): $6,403.34.

The Resulting Schedule

Item Multiplier Ordered every
Drive unit 1 52 days
Gearbox 1 52 days
Seal kit 2 104 days
Name plate 8 414 days

And it nests. Every second order opportunity the seal kit joins an order the drive unit and gearbox were placing anyway; every eighth, the name plate joins one of those.

No order is ever placed for one item alone.

The drive unit and gearbox sit at \(m_j = 1\) because their own cycles, 13 and 37 days, are shorter than the base period. Nothing about them is rounded.

Coordination Beats Cleverness

Total saving against independent ordering: 24%.

Of those 24 points, the common cycle captured 23.

Differentiating the multipliers added one.

And restricting those multipliers to powers of two, which is what makes the schedule runnable, cost two hundredths of one percent against a worst case of 6.07%.

What That Pattern Tells an Analyst

Nearly all the available saving comes from the decision to coordinate at all, not from tuning the multipliers afterward.

Effort belongs in establishing that the items share a supplier and a setup, and in getting the major setup cost right. Those determine whether coordination pays.

Refining multipliers is arithmetic on the last percentage point.

And the 6.07% bound is a worst case that a real instance rarely approaches.

The Argument Against a Common Cycle

Worth stating, because the 23-of-24 figure is an aggregate.

An item whose own optimal cycle is far from the common one is subsidizing the group, carrying more stock or ordering more often than it would choose.

If that item is a large share of the investment, or if its manager is measured on it separately, the aggregate argument will not survive contact with the organization.

The objection is distributional, not about total cost. Know which kind of objection you are answering.

What We Did Today

A shared setup couples the objective, and leaves the items unconstrained. Different problem, different mathematics.

Work in intervals. \(C(T) = k/T + gT\) is the same function with a better variable.

Power-of-two schedules nest, which is why a dock can run them, and they cost at most 6.07%, which is why you are allowed to.

Round against \(T^{*}/\sqrt{2}\), not the midpoint.

Coordination beat cleverness 23 to 1, and the runnability restriction cost 0.02%.

For Next Time

Read before next session: Multi-Echelon Systems.

The third kind of coupling, and the one that needs its accounting fixed before any technique applies.

Next session:

  • Why charging every stage its own holding rate counts the same money twice
  • Echelon stock, and the value-added rate that repairs it
  • Serial chains: why intervals must increase up the chain, and what to do when they do not
  • Distribution systems, where the constraint runs the other way

Power-of-two rounding returns next session, applied to whole networks. The bracket you proved today is what makes it safe there too.

⌂ Index