442. Joint Replenishment

442.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.

442.1.1. Setup

𝑛 items indexed 𝑖=1,,𝑛:

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.)

442.1.2. Cost model

Per cycle:

Per unit time, divide by 𝑇:

TC(𝑇)=𝑆𝑇+𝑖=1𝑛𝑖𝐷𝑖𝑇2=𝑆𝑇+(𝑇2)𝑖=1𝑛𝑖𝐷𝑖

The single decision 𝑇 trades off setup cost (decreases with 𝑇) against aggregate holding (increases with 𝑇).

442.1.3. Derive 𝑇

𝑑𝑑𝑇TC=𝑆𝑇2+12𝑖𝑖𝐷𝑖=0

Solve for 𝑇:

𝑇{2}=2𝑆𝑖𝑖𝐷𝑖𝑇=2𝑆𝑖𝑖𝐷𝑖

442.1.4. Final formulas

𝑇=2𝑆𝑖𝑖𝐷𝑖𝑄𝑖=𝐷𝑖𝑇=𝐷𝑖2𝑆𝑗𝑗𝐷𝑗TC=2𝑆𝑖𝑖𝐷𝑖

Sanity check: for a single item (𝑛=1), 𝑇=2𝑆/(1𝐷1), 𝑄1=𝐷1𝑇=2𝑆𝐷1/1 — 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.

442.1.5. Why is this cheaper than independent EOQs?

Order each item independently with its own EOQ: each pays 𝑆 per order, total cost is 𝑖2𝑆𝐷𝑖𝑖.

Joint replenishment: 2𝑆𝑖𝑖𝐷𝑖.

By Cauchy-Schwarz / Jensen, 𝑖𝑎𝑖2𝑖𝑎𝑖, so:

2𝑆𝑖𝑖𝐷𝑖𝑖2𝑆𝑖𝐷𝑖

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: 𝐷1=12000, 1 = $2
  • Item 2: 𝐷2=6000, 2 = $3
  • Item 3: 𝐷3=3000, 3 = $4

Step 1 — aggregate holding rate

𝑖𝑖𝐷𝑖=212000+36000+43000=24000+18000+12000=54000

Step 2 — common cycle time

𝑇=25054000=100540000.0430years16days

Step 3 — order quantities

𝑄1=𝐷1𝑇=120000.043516units𝑄2=𝐷2𝑇=60000.043258units𝑄3=𝐷3𝑇=30000.043129units

Step 4 — total cost

TC=25054000=54000002324

$/year

Compare to independent EOQs (each item ordered separately with full 𝑆):

  • Item 1: 𝑄1=25012000/2=775, TC1=2501200021549
  • Item 2: 𝑄2=2506000/3447, TC2=250600031342
  • Item 3: 𝑄3=2503000/4274, TC3=250300041095
  • 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%.