438. Joint Replenishment
438.1. Joint replenishment (multi-item EOQ with shared setup)
Relax one dimension from basic EOQ: number of items is no longer one. Multiple items share a single supplier (or a single delivery truck, or a single setup operation), so the order cost is paid once per coordinated order — not separately per item.
Single supplier, multiple SKUs: order them all together on the same cadence, save on setup.
438.1.1. Setup
items indexed :
- = annual demand for item
- = holding cost per unit per year for item
- Common setup cost: (paid once when any order goes out, regardless of how many items)
- Decision: a common cycle time — every years, order each item in the quantity needed for one cycle, .
This is the simplest joint-replenishment formulation. (Variants with item-specific minor setups in addition to a major exist — see Roundy / Federgruen-Zheng — but we’ll keep it minimal here.)
438.1.2. Cost model
Per cycle:
- One setup cost:
- Holding for item over the cycle: . Wait — average inventory , time per cycle , so per-cycle holding cost is .
Per unit time, divide by :
The single decision trades off setup cost (decreases with ) against aggregate holding (increases with ).
438.1.3. Derive
Solve for :
438.1.4. Final formulas
Sanity check: for a single item (), , — exactly basic EOQ ✓.
The aggregation comes through the single — items with small contribute little to the optimal cycle, so they’re ordered alongside the big- items at no extra setup cost.
438.1.5. Why is this cheaper than independent EOQs?
Order each item independently with its own EOQ: each pays per order, total cost is .
Joint replenishment: .
By Cauchy-Schwarz / Jensen, , so:
Joint always wins. The savings grow with the number of items and the unevenness of across them.
Example
Given (3 items sharing a single supplier with shared setup):
- Common setup: = $50 / order
- Item 1: , = $2
- Item 2: , = $3
- Item 3: , = $4
Step 1 — aggregate holding rate
Step 2 — common cycle time
Step 3 — order quantities
Step 4 — total cost
$/year
Compare to independent EOQs (each item ordered separately with full ):
- Item 1: ,
- Item 2: ,
- Item 3: ,
- Total independent: $1549 + $1342 + $1095 = $3986.
Joint replenishment saves $1662/year (42% lower) by sharing the setup across items. The savings scale with the number of items — at 10 SKUs of similar size, savings would approach 70%.