441. Capacity-Constrained

Relax one dimension from basic EOQ: capacity is no longer unlimited. A shared resource — warehouse space, working-capital budget, or shelf footprint — caps the total inventory you can hold at any moment. Multiple items compete for the same budget.

441.0.1. Setup

𝑛 items indexed 𝑖=1,,𝑛:

Constraint (peak inventory after a fresh order arrives):

𝑖=1𝑛𝑣𝑖𝑄𝑖𝑉

If individual EOQs already satisfy the constraint, the constraint is not binding — use them directly. The interesting case is when 𝑖𝑣𝑖𝑄𝑖basic>𝑉.

441.0.2. Lagrangian formulation

Minimize total cost subject to the capacity constraint:

min𝑄1,,𝑄𝑛𝑖[𝑆𝑖(𝐷𝑖/𝑄𝑖)+𝑖(𝑄𝑖/2)]s.t.𝑖𝑣𝑖𝑄𝑖𝑉

Introduce Lagrange multiplier 𝜆0 for the constraint:

𝐿(𝑄1,,𝑄𝑛,𝜆)=𝑖[𝑆𝑖(𝐷𝑖/𝑄𝑖)+𝑖(𝑄𝑖/2)]+𝜆(𝑖𝑣𝑖𝑄𝑖𝑉)

441.0.3. KKT / FOC in 𝑄𝑖

For each 𝑖, 𝜕𝐿/𝜕𝑄𝑖=0:

𝑆𝑖𝐷𝑖𝑄𝑖2+𝑖2+𝜆𝑣𝑖=0𝑆𝑖𝐷𝑖𝑄𝑖2=𝑖2+𝜆𝑣𝑖=𝑖+2𝜆𝑣𝑖2𝑄𝑖(𝜆)=2𝑆𝑖𝐷𝑖𝑖+2𝜆𝑣𝑖

This is basic EOQ with an inflated holding cost 𝑖+2𝜆𝑣𝑖. The Lagrange multiplier 𝜆 raises the effective holding cost on every item in proportion to its capacity consumption 𝑣𝑖 — items that hog more capacity get penalized more, shrinking their 𝑄𝑖.

441.0.4. Find 𝜆 from the constraint

If the constraint binds, 𝑖𝑣𝑖𝑄𝑖(𝜆)=𝑉. This is one equation in one unknown 𝜆 — solve numerically (or in closed form for some special cases).

Special case: budget constraint with proportional holding. If 𝑣𝑖=𝑐𝑖 (capacity is dollars), 𝑖=𝑖𝑐𝑖 (carrying-rate model), and we substitute into 𝑄𝑖(𝜆):

𝑄𝑖=2𝑆𝑖𝐷𝑖𝑖𝑐𝑖+2𝜆𝑐𝑖=2𝑆𝑖𝐷𝑖𝑐𝑖1𝑖+2𝜆

Then 𝑣𝑖𝑄𝑖=𝑐𝑖𝑄𝑖=2𝑆𝑖𝐷𝑖𝑐𝑖/𝑖+2𝜆. Sum:

𝑖𝑣𝑖𝑄𝑖=(1𝑖+2𝜆)𝑖2𝑆𝑖𝐷𝑖𝑐𝑖=𝑉

Solve for 𝜆:

𝑖+2𝜆=𝑖2𝑆𝑖𝐷𝑖𝑐𝑖𝑉𝜆=12[(𝑖2𝑆𝑖𝐷𝑖𝑐𝑖𝑉)2𝑖]

For other constraint forms, 𝜆 comes out of a 1-D root-finding pass over 𝑖𝑣𝑖𝑄𝑖(𝜆)𝑉=0 (monotone decreasing in 𝜆, so bisection works).

441.0.5. Algorithm

  1. Compute unconstrained 𝑄𝑖basic=2𝑆𝑖𝐷𝑖/𝑖 for each 𝑖.
  2. Check 𝑖𝑣𝑖𝑄𝑖basic𝑉. If yes, done — constraint not binding.
  3. Else, solve for 𝜆 (closed form above, or numerical).
  4. Each 𝑄𝑖=2𝑆𝑖𝐷𝑖/(𝑖+2𝜆𝑣𝑖).

441.0.6. Final formulas

𝑄𝑖(𝜆)=2𝑆𝑖𝐷𝑖𝑖+2𝜆𝑣𝑖where𝜆0satisfies𝑖𝑣𝑖𝑄𝑖(𝜆)=𝑉

Sanity check: if 𝑉 (no constraint), 𝜆0 and 𝑄𝑖2𝑆𝑖𝐷𝑖/𝑖 — basic EOQs ✓.

Example

Given (2 items sharing a budget-constrained warehouse):

  • Item 1: 𝐷1=12000, 𝑆1 = $50, 𝑐1 = $10, 𝑖=0.201=2
  • Item 2: 𝐷2=6000, 𝑆2 = $50, 𝑐2 = $20, 𝑖=0.202=4
  • Constraint: peak inventory value 𝑖𝑐𝑖𝑄𝑖𝑉 where 𝑉 = $10,000

Step 1 — unconstrained EOQs and constraint check

𝑄1basic=250120002=775𝑄2basic=25060004=387

Peak inventory value =10775+20387=7750+7740=15490. Exceeds the $10,000 budget — constraint binds.

Step 2 — find 𝜆 via the closed-form

𝑖2𝑆𝑖𝐷𝑖𝑐𝑖=2501200010+250600020=12000000+120000003464+3464=6928𝑖+2𝜆=692810000=0.6928𝑖+2𝜆=0.482𝜆=0.480.20=0.28𝜆=0.14

Step 3 — constrained order quantities

Effective holding cost per item: 𝑖+2𝜆𝑣𝑖=𝑖+0.28𝑐𝑖:

  • Item 1: 1eff=2+0.2810=4.8
  • Item 2: 2eff=4+0.2820=9.6
𝑄1=250120004.8=250000=500𝑄2=25060009.6=62500=250

Step 4 — verify the constraint

10500+20250=5000+5000=10000 ✓ exactly hits the budget.

Step 5 — total cost and comparison to basic EOQ

  • Item 1 cost: 5012000/500+2500/2=1200+500=1700
  • Item 2 cost: 506000/250+4250/2=1200+500=1700
  • Total constrained: $3400

Unconstrained (basic EOQ for each):

  • Item 1: 2501200021549
  • Item 2: 250600041549
  • Total unconstrained: $3098

Capacity penalty: $302/year (about 10% over unconstrained). The Lagrange multiplier 𝜆=0.14 acts as a shadow price — each $ of additional warehouse budget would save approximately 𝜆 × marginal value per year.