A Hub That Orders in Batches

Manuel D. Rossetti, PhD P.E.

Agenda

  • What batching changes, and the one move that carries the chapter
  • A hub and a storeroom run together by hand, one event at a time
  • The hub as a chapter 8 location, and the wait it imposes: mean, distribution, second moment
  • Axsäter’s exact recursion, and three routes to a storeroom’s lead time demand priced against it

One Assumption Did the Work

Chapter 9 solved two levels under one-for-one ordering: the demand a location passes up is its own demand, arrival for arrival. This chapter removes that. A storeroom ordering \(Q_j\) at a time sends one request per \(Q_j\) customers: nothing for a while, then \(Q_j\) at once.

Three things change at the hub:

  1. Its demand is no longer the customers’. Lumpier, and more regular in its timing.
  2. An order waits for its last unit. Two on the shelf and an order of three: ship two, owe one.
  3. The policies cannot be set one after the other. The hub’s demand depends on \(Q_j\), and the storeroom’s lead time depends on the hub.

One move carries the chapter

Condition on the position, then average. Chapter 8 built \(\bar{B}(r, Q)\) by averaging base-stock measures over \(Q\) equally likely positions. The chapter makes that move four more times.

What does not change: Little’s Law turns a supplier’s backorders into a delay, averaged over every request.

The Item and the Network

The fuse cutout, at a hub and four identical storerooms. In Parts I and II each customer takes one unit; the job lots return in Part III.

Question Answer
What is stocked? One item, the fuse cutout, at five locations
What is the demand process? Poisson, one unit a week at each storeroom
When is inventory reviewed? Continuously, everywhere
What triggers replenishment, and how much? Storerooms: every customer, base stock \(S_j = 3\). Hub: position at \(r_0 = 9\), order \(Q_0 = 8\)
What happens to unmet demand? Backordered at both levels, first come first served, part orders shipped
What costs are incurred, and when? Holding \(h\) at both levels, shortage \(b\) at storerooms only

\[ h = \frac{\$28.75}{\text{unit-year}} \times \frac{1 \text{ year}}{52 \text{ weeks}} = \$0.5529, \qquad b = \frac{\$287.50}{52} = \$5.5288 \text{ per unit-week} \]

Working Two Locations by Hand

One row per event, at the week it occurs, state recorded after posting. When two events share a week: the hub’s receipts first, then the storeroom’s, then demands in order.

Hub: \((r_0, Q_0) = (1, 4)\), \(L_0 = 3\) weeks, starts with 5.

Storeroom: base stock \(S_j = 2\), \(O_j = 1\) week, starts with 2.

Failures in weeks 1, 3, 6, 8, 9, 10 and 14; a storm in week 8 takes out three, so week 8 has three failures.

The check on every row. At the hub,

\[ \mathit{IP}_0 = I_0 + \text{on order} - B_0 \]

and at the storeroom, on-hand less backorders plus in transit plus what the hub still owes. Compute both ways; stop when they disagree.

Weeks 1 to 8: the Storm

Week Event \(I_j\) \(B_j\) \(\mathit{IP}_j\) In transit \(I_0\) \(B_0\) On order \(\mathit{IP}_0\)
0 start 2 0 2 0 5 0 0 5
1 failure, request to hub 1 0 2 1 4 0 0 4
2 storeroom receives 1 2 0 2 0 4 0 0 4
3 failure, request to hub 1 0 2 1 3 0 0 3
4 storeroom receives 1 2 0 2 0 3 0 0 3
6 failure, request to hub 1 0 2 1 2 0 0 2
7 storeroom receives 1 2 0 2 0 2 0 0 2
8 failure, request to hub, hub orders 4 1 0 2 1 1 0 4 5
8 failure, request to hub 0 0 2 2 0 0 4 4
8 failure, request backordered 0 1 2 2 0 1 4 3

Weeks 9 to 15: One Delivery, Three Requests

Week Event \(I_j\) \(B_j\) \(\mathit{IP}_j\) In transit \(I_0\) \(B_0\) On order \(\mathit{IP}_0\)
8 (carried from the last slide) 0 1 2 2 0 1 4 3
9 storeroom receives 2, serves the waiting crew 1 0 2 0 0 1 4 3
9 failure, request backordered 0 0 2 0 0 2 4 2
10 failure backordered, request backordered, hub orders 4 0 1 2 0 0 3 8 5
11 hub receives 4, fills three waiting requests 0 1 2 3 1 0 4 5
12 storeroom receives 3, serves the waiting crew 2 0 2 0 1 0 4 5
13 hub receives 4 2 0 2 0 5 0 0 5
14 failure, request to hub 1 0 2 1 4 0 0 4
15 storeroom receives 1 2 0 2 0 4 0 0 4

What the Ledger Establishes

The mean wait, two ways. Follow the nine requests: six waited nothing, and those from weeks 8, 9 and 10 waited 3, 2 and 1 weeks, so \(6/9 = 0.667\) weeks. Weight the hub’s backorders by duration: \(1 + 2 + 3 = 6\) unit-weeks over the nine requests, the same 0.667. That is Little’s Law.

The three waits of week 11 are one event. One delay, seen three times, not three independent draws. For a base-stock storeroom that turns out not to matter, and we will see why.

The crews waited because the hub did. The storeroom’s stock never changed; its two shortages were manufactured by a storm draining a hub that had been spending its stock one unit at a time.

A request arriving with the hub’s position high waits nothing. In weeks 1 to 7 the position was 4, 3 or 2 and every request shipped at once. Whether a request waits depends on where the hub’s position sits when it arrives.

The Hub Is a Chapter 8 Problem

One-at-a-time storerooms send one request per customer, so four Poisson streams merge into a Poisson stream at \(\lambda_0 = 4\). The hub is the \((r, Q)\) location of chapter 8, and its measures come with no change. \(D_0(3)\) is Poisson, mean \(\theta_0 = 4 \times 3 = 12\); at \((r_0, Q_0) = (9, 8)\):

\[ \begin{aligned} \bar{B}_0 &= \frac{G^{2}(9) - G^{2}(17)}{8} = \frac{8.3910 - 0.1726}{8} = 1.0273 &&\text{expected backorders}\\ \overline{\mathit{RR}}_0 &= 1 - \frac{G^{1}(9) - G^{1}(17)}{8} = 1 - \frac{3.3212 - 0.1451}{8} = 0.6030 &&\text{ready rate}\\ \bar{I}_0 &= \frac{8 + 1}{2} + 9 - 12 + 1.0273 = 2.5273 &&\text{expected on hand} \end{aligned} \]

The check. \(\bar{I}_0 - \bar{B}_0 = 1.5000\), and the average position less the mean lead time demand is \(9 + 4.5 - 12 = 1.5\).

Interpretation. Stock only 60% of the time and about two and a half cutouts on hand: thin for a central warehouse, and deliberate. The hub has no shortage cost; its shortages matter only through the storerooms, each of which holds three.

The Wait, by the Lead-Time Shift

Little’s Law gives the mean: \(\bar{W} = \bar{B}_0/\lambda_0 = 1.0273/4 = 0.2568\) weeks, which is \(0.2568 \times 7 = 1.80\) days, over every request. A random lead time needs more than its mean.

The lead-time shift (van der Wal). If the hub’s supplier were \(w\) weeks faster, a request waiting at most \(w\) in the real system is one filled at once in the faster one: the position one lead time earlier covered all the demand since.

\[ P(W \le w) = \frac{1}{Q_0}\sum_{u=r_0+1}^{r_0+Q_0} P\big(D_0(L_0 - w) \le u - 1\big), \qquad 0 \le w < L_0 \]

and \(P(W \le L_0) = 1\). At \(w = 0\) it is the ready rate. At any other \(w\) it is the ready rate the hub would have with a lead time \(w\) shorter.

Three conditions, each of which can fail

Requests filled first come first served; supplier deliveries do not overtake; \(r_0 \ge 0\), or a request can wait for an order placed after it arrives.

The Wait at the Running Example’s Hub

At \(w = 0\), \(D_0(3)\) has mean 12 and the positions are \(10, \ldots, 17\):

\[ \begin{aligned} P(W = 0) &= \tfrac{1}{8}(0.2424 + 0.3472 + \cdots + 0.8987)\\ &= 0.6030 \end{aligned} \]

At \(w = 1\) the mean is 8 and the same eight entries average to 0.9117; at \(w = 2\) the mean is 4, giving 0.9985.

The check. \(P(W = 0)\) is the ready rate. The area under \(P(W > w)\) is 0.2575 on a day grid, against 0.2568.

Six requests in ten ship at once, nine in ten within a week, almost none past two weeks. The mean of 1.8 days hides that shape.

The Second Moment of the Wait

Little’s Law has a distributional form (Bertsimas and Nakazato) for Poisson arrivals served first come first served, in factorial moments:

\[ \begin{aligned} E\big[B_0(B_0 - 1)\big] &= \lambda_0^{2}\,E[W^{2}] &&\text{distributional Little's Law}\\ E[W^{2}] &= \frac{E[B_0^{2}] - \bar{B}_0}{\lambda_0^{2}} &&\text{expand the factorial moment}\\ \mathit{Var}[W] &= \frac{E[B_0^{2}] - \bar{B}_0 - \bar{B}_0^{2}}{\lambda_0^{2}} = \frac{\mathit{Var}[B_0] - \bar{B}_0}{\lambda_0^{2}} &&\text{subtract } \bar{W}^{2} = \bar{B}_0^{2}/\lambda_0^{2} \end{aligned} \]

\(\mathit{Var}[B_0]\) is chapter 8’s second moment of the backorder level, built for this use.

Notice the subtraction. The variance of the wait is not the variance of the backorder level scaled; it is that variance less the mean.

For the running example, \(\mathit{Var}[W] = 0.1825\) weeks squared, and integrating \(2wP(W > w)\) from the distribution gives the same figure to nine decimals.

Axsäter’s Recursion

Both levels one for one first. Let \(C(S_0, S_j)\) represent the system’s cost per week with the hub’s position at \(S_0\) and each storeroom’s at \(S_j\).

Track one unit. A unit the hub orders fills the \(S_0\)th hub demand after the order, and at the storeroom the \(S_j\)th demand after that storeroom’s order. Poisson demand makes its cost computable. Let \(\pi^{S_j}\) represent the cost per unit at a storeroom whose supplier never runs out, \(\Pi^{S_j}(S_0)\) the storeroom’s cost per unit at hub position \(S_0\), and \(\gamma(S_0)\) the hub’s holding cost per unit. Then \(C = \lambda_0\big(\Pi^{S_j}(S_0) + \gamma(S_0)\big)\), and

\[ \begin{aligned} \Pi^{S_j}(S_0 - 1) = {} & \frac{\lambda_j}{\lambda_0}\Pi^{S_j - 1}(S_0) + \frac{\lambda_0 - \lambda_j}{\lambda_0}\Pi^{S_j}(S_0)\\ & + \frac{\lambda_j}{\lambda_0}\big(1 - P(D_0(L_0) \ge S_0)\big)\big(\pi^{S_j} - \pi^{S_j - 1}\big) \end{aligned} \]

started where the hub never runs out. It is exact, it runs down a column, and the chapter refers to Axsäter (1990) for the derivation.

The costs give the stock levels too. Every term is linear in the cost rates: set shortage to one and holding to zero, and the “cost” is expected backorders.

The Hub Batches: Equation (1)

A hub order of \(Q_0\) units: the \(k\)th fills the \((r_0 + k)\)th hub demand after the order, as if the hub ran base stock at \(S_0 = r_0 + k\). Averaging over a batch’s units is averaging over the hub’s positions:

\[ C = \frac{1}{Q_0}\sum_{S_0 = r_0+1}^{r_0+Q_0} C(S_0, S_j) \]

The chapter’s move, a second time.

The running example, \(S_j = 3\), hub positions \(10, \ldots, 17\):

\(S_0\) 10 11 12 13 14 15 16 17
\(C(S_0, 3)\) 7.2105 6.7516 6.5493 6.5587 6.7352 7.0373 7.4296 7.8837

Average: \(56.1559/8 = \$7.0195\) a week. With the backorder-only rates the same recursion gives 0.2906 backorders across four storerooms, 0.0726 at each.

The check. The recursion’s hub on-hand is 2.5273, the \(\bar{I}_0\) computed from chapter 8 by an entirely different route.

Three Routes to a Storeroom’s Lead Time Demand

The storeroom’s lead time is \(O_j + W\). Three ways to feed chapter 8:

  1. The mean wait only. Poisson with mean \(\lambda_j(O_j + \bar{W})\): METRIC’s move.
  2. Two moments. A negative binomial with mean \(\lambda_j(O_j + \bar{W})\) and variance \(\lambda_j(O_j + \bar{W}) + \lambda_j^{2}\mathit{Var}[W]\): VARI-METRIC’s.
  3. Conditioned on the wait. For each \(w\), Poisson with mean \(\lambda_j(O_j + w)\), averaged over the wait’s distribution: the chapter’s move, a third time.

Which of the three matches Axsäter’s exact 0.0726?

Route Backorders per storeroom Against exact
Conditioned on the wait 0.0726 exact
Two moments 0.0712 2% low
The mean wait only 0.0505 30% low

Conditioning is exact here. With first come first served and \(r_0 \ge 0\), a request’s wait is fixed by what happened before it arrived, and the storeroom’s later customers are independent of all that. The linked waits of week 11 are real, but for a base-stock storeroom they do not matter.

What We Did Today

A batching location passes up something other than its demand. Condition on the position, then average, carries the chapter.

The ledger showed one delivery clearing three requests, a mean wait of 0.667 weeks by two routes, and crews waiting because the hub did.

With one-at-a-time storerooms the hub is a chapter 8 location: 60% ready, by design.

The wait’s whole distribution comes from the lead-time shift, and its variance from the distributional Little’s Law.

Axsäter’s recursion is exact, and conditioning on the wait matches it; the mean alone is 30% low.

For Next Time

Read before next session: When the Storerooms Batch Too, Orders in a Window, The Hub With Other Demand, The Storeroom Behind a Batching Hub and Random Lead Times.

Today’s material was the chapter’s opening through Exact Storeroom Measures.

Next session:

  • Storerooms that batch, and where Axsäter’s exact method ends
  • Counting a storeroom’s orders in a window, from the Poisson table
  • A hub with other demand, the wait of an order, and a supplier whose lead time varies

Next session the hub’s demand stops being Poisson. Bring the order-count idea: the position, again, is uniform.

⌂ Index