446. (nQ, r)
Continuous review, fixed pack size. Like (Q, r), but the supplier requires orders in multiples of a fixed batch (cases, dozens, pallet quantities).
Decision rule: monitor inventory continuously. When inventory position drops to (or below) reorder point , order the smallest integer multiple that brings inventory position back above .
Three parameters:
- = fixed pack size (set by supplier, e.g., case of 24)
- = number of packs to order this cycle (a function of how far inventory dropped, not a free parameter)
- = reorder point
446.0.1. When does this matter?
(Q, r) assumes you can order any integer quantity . (nQ, r) handles the practical case where:
- Supplier ships only full pallets / cases / drums.
- Pack size is fixed by packaging or logistics; you choose how many.
If is small relative to lead-time demand, (nQ, r) is essentially (Q, r) with rounding noise. If is large (e.g., a pallet contains a year’s worth of demand), the round-up effect inflates inventory significantly.
446.0.2. Decision logic when triggered
When inventory position falls to (for some overshoot ):
Or simpler in practice: order the smallest such that the post-order position exceeds some target (e.g., ).
In the small overshoot case (smooth demand), almost always — order one pack of . (nQ, r) reduces to (Q, r).
446.0.3. Set
Same as (Q, r):
The pack-size constraint affects , not . The reorder trigger logic doesn’t change.
446.0.4. Set
If is given (supplier-mandated pack size), no decision. If you can choose pack-size from a discrete set (dozen, gross, case, pallet), pick the closest to .
446.0.5. Average inventory
Slightly higher than (Q, r): . Overshoot is small under continuous review of smooth demand but grows with demand lumpiness.
446.0.6. Final formulas
Example
Given (same policy-comparison params):
- /yr, /day, , days
- = $50, = $2/unit/yr,
- Pack size: (one pallet contains 800 units; supplier won’t break pallets)
Step 1 — reorder point
Step 2 — pack-size sanity check
Unconstrained EOQ would be . Forced pack of 800 is very close — pack-size penalty is negligible.
Step 3 — typical order
Inventory position drops to roughly 493 over time (smooth demand). Order where is the smallest integer such that the new position exceeds the next reorder cycle’s needs.
- At trigger, position .
- One pack: . Above , well above . ✓
- Order 1 pack (800 units).
Step 4 — when overshoot matters
If a sudden burst drops inventory from 600 to 200 (a 400-unit lumpy withdrawal that crosses below ):
- One pack brings position to . Above ✓.
- But average inventory just after order is , which is near for the previous cycle — still in normal range.
Now consider (much larger pack):
- One pack: . Way above , but we just bought 10 cycles of inventory in one go.
- Average inventory: (vs optimal).
- Holding cost more than 5x optimal.
Compare to (Q, r)
Under matched pack size (), (nQ, r) and (Q, r) are nearly identical — same trigger, same order quantity. The difference grows when pack size diverges from the unconstrained optimum.
Use (nQ, r) when: supplier mandates pack sizes; you want predictable shipping units; pack size happens to be close to EOQ. Switch to (Q, r) only if you can break packs.