Multi-item EOQ (joint replenishment)
When several SKUs ship together from the same supplier, the setup cost S is shared. Treating each SKU independently with its own Wilson Q* overstates total cost. The joint-replenishment model finds a common cycle time T* such that all items are reordered on a multiple of T*, with item-specific minor costs s_i added to the shared major S[1].
When closed form is intractable
If item ordering frequencies should differ (some items every cycle, some every other cycle), the problem becomes an integer program. Silver’s heuristic (1976) gives a near-optimal solution in polynomial time: compute T* assuming all items on every cycle, then for each item evaluate whether ordering every k cycles is cheaper, in increasing k, and stop when k+1 is worse[2].
When this beats independent EOQs
The joint model dominates the independent model whenever S >> sum(s_i). If the supplier bills a $300 PO fee that’s the same whether you order 1 SKU or 50, joint replenishment usually saves 15 to 25 percent of total annual variable cost. If the "shared" cost is actually item-specific (separate POs, separate receipts), the math reduces back to independent Wilson Q*’s per SKU.
Where this lives in ABC classification
Joint replenishment is typically applied to a single supplier’s A and B SKUs. C items are normally consolidated into a periodic-review (s, S) policy with the same supplier, because the EOQ math becomes overkill for low-velocity SKUs. See ABC analysis for the policy split.