Arte SheetsLearn. Try. Understand.

Operations & Supply Chain

Wagner-Whitin Dynamic Lot-Sizing Forward DP Formula vs Silver-Meal

Implement Wagner and Whitin’s (1958) zero-inventory regeneration dynamic programming recurrence F_t in Excel and Arte Sheets and expose where myopic Silver-Meal overpays.

Trace by hand a 4-period schedule where Silver-Meal misses the global optimum

Wagner and Whitin (1958) proved the Zero-Inventory Property: an optimal production schedule only places a setup order in period j when entering inventory I_{j-1} = 0, so each order covers an integer block of periods j..t. Forward DP evaluates F_t = MIN_{1 <= j <= t}(F_{j-1} + S + h * SUM_{k=j+1..t}(k - j)*D_k) with F_0 = 0.

Test setup cost S = 100 (B2), holding cost h = 1 (B3), and lumpy demands D1 = 40, D2 = 80, D3 = 30, D4 = 120 in B5:E5. Myopic Silver-Meal sees average cost per period fall across P1 (100), P1..P2 (90), and P1..P3 (240 / 3 = 80) before jumping at P4 (600 / 4 = 150), locking in [P1..P3] + [P4] = 240 + 100 = 340! Exact Wagner-Whitin DP computes F_1 = 100, F_2 = MIN(180, 200) = 180, F_3 = MIN(240, F_1 + 100 + 30, F_2 + 100) = MIN(240, 230, 280) = 230 (placing a fresh setup at P2 to cover P2..P3!), and F_4 = MIN(600, 470, 400, 330) = 330 — beating Silver-Meal by 10!

Horizon StepWagner-Whitin DP Candidates (j = 1..t)Optimal F_t
Period 1 (D1 = 40)j=1: 0 + 100F_1 = 100
Period 2 (D2 = 80)MIN(j=1: 180, j=2: 100 + 100)F_2 = 180
Period 3 (D3 = 30)MIN(j=1: 240, j=2: 100 + 130, j=3: 180 + 100)F_3 = 230 (Splits at P2!)
Period 4 (D4 = 120)MIN(j=1: 600, j=2: 470, j=3: 400, j=4: 230 + 100)F_4 = 330 (vs 340 Silver-Meal)

Wagner-Whitin Period-3 Regeneration Cost F_3 Formula

Evaluate all three zero-inventory regeneration origins j = 1, 2, 3 via MIN inside row 6 so you can see j = 2 (230) beat the P1..P3 single batch (240).

=MIN($B$2 + $B$3 * (C5 + 2 * D5), B6 + $B$2 + $B$3 * D5, C6 + $B$2)

4-Period Optimal Cost F_4 & Silver-Meal Gap Check

Evaluate F_4 across all four regeneration origins j = 1..4. If you practise with the in-app Pro assistant, ask: “Give me a hint on why starting a new order in Period 2 saves money by Period 3 even though F_2 was cheaper without a Period-2 setup.” Now raise setup cost S in B2 from 100 to 150: F_3 flips to a single P1..P3 batch (290 vs 330) and F_4 equals 440, matching Silver-Meal.

=IF(OR(B2 < 0, B3 < 0), "Invalid Cost Input", MIN(B2 + B3 * (C5 + 2 * D5 + 3 * E5), B6 + B2 + B3 * (D5 + 2 * E5), C6 + B2 + B3 * E5, D6 + B2))

Try the example

Use the original values or change them to test your understanding.

Further reading