OMBA 102 · Unit 7 · Lesson 5 of 5
Interpreting Solver Results and Stress-Testing Recommendations
Optimization and Managerial Modeling
Lesson
The optimum is a local truth about global assumptions
Solver returns numbers: production quantities, maximum contribution, sometimes a Sensitivity Report with shadow prices and reduced costs. Treating those as permanent policy is how plants end up running last month's mix when electricity prices doubled, a supplier failed, and the sales team promised a promo on the SKU the model zeroed out.
Static mix on a dynamic floor creates predictable failures. Shadow prices turn binding constraints into prices managers can compare to real market costs. Reduced costs explain why a SKU is zeroed despite positive margin. Stress tests show when a Downside demand story flips the mix. This lesson is the operational bridge between Solver output and Monday morning decisions.
This capstone lesson connects Solver output to managerial action: read binding constraints, translate shadow prices (marginal value of relaxing a constraint by one unit, also called *dual values) into dollars-per-hour or dollars-per-unit capacity, use reduced costs to explain why variables are zero, and stress-test RHS and objective coefficients before recommendations hit the floor (Unit 6 Lessons 2 and 5). Unit 7 opened with objectives and variables; it closes with governance of optimized plans.
Managers fail when they report objective value without feasibility checks, when they misread shadow price range validity, or when they ignore integer rounding effects. Analysts fail when sensitivity stays in a hidden tab. This lesson makes interpretation as disciplined as setup.
Solver answered how much to make. Lesson 5 answers why that mix wins, what resource is scarce, and what happens when assumptions move. Shadow prices connect optimization to capital budgeting: if one hour is worth $5 at the margin and a new line adds 200 hours for $500k, you have a quantified starting point for ROI conversation (not the final word).
Reading the optimal solution and slack
After Solve, record:
- Objective value (optimal contribution or cost)
- Decision variables (quantities)
- Slack / surplus on each constraint (Lesson 2)
Slack zero → constraint binds. Positive slack → unused capacity or non-binding minimum.
Example FreshPack optimum (Lesson 3): S=400, E=120, D=30; contribution $1,920; hours used 149, slack 11.
Operational translation:
- Salad at demand cap → marketing lever if want more Salad
- 11 idle hours → optional overtime not needed; or schedule maintenance
- Contract minimum 550 units met with slack above 350
Always recompute objective and LHS constraints in a checklist row. Solver rounding can differ in 1e-6; large gaps signal formula error.
For minimization, objective is minimum cost; slack interpretation identical.
Build a standard post-solve checklist table every model uses:
| Check | Formula | Pass? |
|---|---|---|
| Objective recomputed | Σ contrib × qty | ✓ |
| Hours LHS | 0.20S+0.50E+0.30D ≤ 160 | ✓ |
| Contract min | S+E+D ≥ 350 | ✓ |
Shadow prices: the dollar value of one more unit of capacity
In a maximization LP, the shadow price of constraint i is the rate of change in optimal objective value if RHS b_i increases by 1, holding other data fixed, within the allowable increase/decrease range reported by Solver.
Plain language: "One additional machine hour is worth $X in contribution at the margin."
FreshPack hours constraint shadow price example (illustrative if hours bind in alternate scenario): if shadow price = $4.50 per hour, adding 10 overtime hours worth $45 increases objective by roughly $45 only if shadow price stable over that range.
Rules:
- Shadow price > 0 on ≤ constraint → scarce resource; relaxing helps objective.
- Shadow price = 0 → slack exists; extra capacity worthless now.
- For ≥ constraints, sign interpretation flips with convention; read Excel note carefully (often reported as dual with sign adjustment).
Allowable range: shadow $4.50 may apply for hours RHS 160 to 172 only. Outside range, mix changes; shadow price jumps. Stress tests beyond range require re-solve.
Do not extrapolate shadow price to +500 hours without re-optimizing.
Communicate shadow prices to ops (overtime worth it?) and finance (capacitate vs buy equipment?).
Compare shadow price to market price of capacity: if overtime costs $6/hour and shadow $4.50, overtime destroys value at margin.
Shadow price waterfall for executives: list binding constraints in plain English with $/unit of RHS. Example: "Hours: $5/hour (binds); Salad cap: $0 (20 units slack); Contract min: $0 (200 units surplus)."
Reduced costs and why variables are zero
Reduced cost (for variables at zero) estimates how much objective coefficient must improve before that variable enters the solution.
For maximization, if Dessert reduced cost is $0.80, contribution per Dessert unit must rise by $0.80 (or equivalent combo) before Dessert production becomes positive in optimal basis.
Zero reduced cost for positive variables (within bounds) → small coefficient changes may not alter quantity until range exceeded.
Use reduced costs in pricing dialogs: "We need $0.80 higher margin to justify Dessert line time."
Do not confuse reduced cost with shadow price; different concepts (objective coefficient vs constraint RHS).
Allowable increase/decrease on objective coefficients (from Sensitivity Report) shows stability of mix. If Entree contribution can fall $0.75 before mix changes, commodity hedging focus follows.
Stress-testing and linking to Unit 6 communication
Stress-testing re-solves or uses sensitivity to shock inputs:
| Shock | Tool |
|---|---|
| Demand −20% | Change RHS caps, re-solve |
| Contribution −10% commodity cost | Change objective coeffs |
| Hours −15% outage | Shrink RHS |
| Minimum contract +10% | Increase ≥ RHS |
Compare objective delta and mix shifts. Document trigger when shadow price of hours exceeds overtime cost (Unit 6 triggers).
Scenario bundles (Unit 6 Lesson 2): Downside may combine demand drop and margin compression; re-optimize, do not only shrink one cap.
Communication memo (Unit 6 Lesson 5):
- Recommend mix and expected contribution
- List binding constraints and top shadow prices in plain English
- State assumption ledger and stress Downside mix
- Pre-mortem: supplier loss zeroes SKU C coefficient
For integer models, shadow prices from LP relaxation approximate; re-solve integer for material decisions.
Archive Sensitivity Report PDF with model version ID.
Stress test log template:
| Scenario | Z | Mix shift | Binding change |
|---|---|---|---|
| Base | $1,920 | S400 E120 D30 | S cap |
| Downside demand | $1,680 | E down 40 | hours bind |
Capital decisions and shadow prices
Shadow prices support short-run overtime and medium-run bottleneck relief. They do not alone justify new plant NPV. Use shadow × capacity gain as annual benefit input to a DCF (discounted cash flow) model with capex and fixed cost increase.
If shadow price is zero, capacity expansion this period is worthless at margin; wait until demand caps bind.
Governance cadence
Weekly ops: publish mix, slack, top shadow price. Monthly finance: update contributions, re-solve. Quarterly board: stress Downside scenario mix per Unit 6 Lesson 5 memo format.
Reading Excel Sensitivity Report columns
Typical Constraints section columns:
| Column | Meaning |
|---|---|
| Final Value | LHS at optimum |
| Shadow Price | Dual value (maximization ≤) |
| Constraint R.H. Side | RHS |
| Allowable Increase | RHS can rise this much before dual changes |
| Allowable Decrease | RHS can fall this much before dual changes |
Variables section: Reduced Cost, Allowable Increase/Decrease on objective coefficient.
Copy report to PDF; do not rely on live links that break when rows move.
Full stress example: FreshPack hours outage
Base: Z=$1,920, hours slack 11.
Stress: hours RHS 160 → 136 (−15% outage).
Re-solve representative outcome: S=380, E=100, D=25, Z≈$1,740, hours bind (slack 0), shadow price on hours positive.
Memo sentence: "Fifteen percent outage cuts contribution $180; Entree down 20 units; consider overtime if shadow $5/hr > $4 cost."
Check: 0.20(380)+0.50(100)+0.30(25)=76+50+7.5=133.5 ≤ 136 ✓
Rounding continuous LP to integer production
If Solver returns S=399.7, round to 400 and verify constraints still hold. If rounding violates hours, use integer Solver or manual adjustment on one SKU. Report optimality gap if integer Z < continuous Z.
Shadow price numerical walkthrough
Max 3S+5E, hours 0.20S+0.50E ≤ 160, optimum (400,160), Z=2000, hours bind.
Increase RHS to 161 (one hour). New optimum roughly (400,162) if E cap allows... hours: 80+81=161. Z=3(400)+5(162)=1200+810=2010. ΔZ=10 per hour → shadow ≈ $10/hour within range.
Decrease RHS to 150: optimum shifts; ΔZ negative magnitude estimates shadow from below.
Compare $10 to overtime $4 → accept OT (Lesson 5 decision).
Check: 0.20(400)+0.50(162)=80+81=161 ✓
Reduced cost numerical example
At FreshPack optimum with D=30 positive, C reduced cost irrelevant. If D=0 in alternate optimum, reduced cost on D shows needed contribution increase to enter. Suppose reduced cost $0.75 on D: need contribution ≥ 4.75 to produce D.
Binding constraint management meeting agenda
- Review slack table (5 min).
- Shadow prices vs real costs (10 min).
- Stress one Downside re-solve (10 min).
- Triggers for re-solve next week (5 min).
Standing agenda links Solver to ops rhythm.
When to distrust sensitivity report
If model scaled poorly, dual values may be misleading until rescale. If degenerate corner (multiple binds), duals may be non-unique. Re-solve after small perturbation; stable shadow indicates reliable marginal value.
Integration with Unit 6 decision tree
Capacity plan from LP feeds launch tree payoffs: if hours shadow high, expansion capex enters tree as investment branch with improved contribution payoffs. Optimization and decision analysis chain rather than compete.
Complete FreshPack post-solve report template
| Item | Value |
|---|---|
| Objective Z | $1,920 |
| S | 400 |
| E | 120 |
| D | 30 |
| Hours slack | 11 |
| Min total surplus | 200 |
| Salad cap slack | 0 (binds) |
| Hours shadow | $0 (non-bind) |
| Dessert reduced cost | n/a if D>0 |
Narrative paragraph for execs follows table (Unit 6 Lesson 5).
Stress grid: two shocks at once
| Case | Demand caps | Contribution | Z |
|---|---|---|---|
| Base | 400/200/300 | 3/5/4 | 1920 |
| Downside | −15% all | −10% all | ~1580 |
| Supply | same | Salad −0.5 | ~1750 |
Re-solve each; describe qualitative mix shift in memo bullet.
Overtime decision extended
If hours shadow $5 and OT costs $4/hour for 8 hours max, incremental profit ≈ 8×(5−4)=$8 if allowable range includes 8. If allowable increase only 3 hours, take 3 only. Never quote unlimited OT benefit from one shadow price.
Reduced cost and pricing negotiation script
"We need contribution per Dessert unit to rise $0.80 before the model schedules Dessert given current hours and caps." Sales uses reduced cost in customer promotion decisions: temporary price lift may justify production.
Integer vs LP relaxation gap example
LP solution E=120.3; integer E=120. Check Z difference. If <0.5% of Z, round; else integer Solver.
Board-level stress narrative
"Downside demand −15% and margin −10% together reduce contribution 18% and force 30% Entree hour reduction; contract minimum on total units binds, raising implicit cost of minimum per shadow price table."
Unit 7 integration summary
Lesson 1 defined problem. Lesson 2 defined feasible region. Lesson 3 solved in Excel. Lesson 4 templated mix. Lesson 5 interprets duals and stress. Revisit any weak link before claiming optimization competency.
Deep dive: Sensitivity Report constraints section
Each row shows Final Value (LHS at optimum), Shadow Price (dual), RHS, Allowable Increase, Allowable Decrease. Positive shadow on ≤ constraint in maximization: relaxing RHS increases objective. Zero shadow: slack positive. Compare shadow to real resource price before buying more capacity.
Deep dive: reduced cost for zeroed SKUs
Dessert at zero with reduced cost $0.75: contribution must rise $0.75 before Dessert enters optimal basis. Sales temporary promo raising Dessert margin $1 may flip mix positive for Dessert without capacity expansion.
Deep dive: stress test documentation template
Filename FreshPack_Stress_2026-07-01.pdf contains: base mix, Downside mix, delta Z, binding constraint changes, recommended ops actions, model version.
Deep dive: overtime go/no-go
If shadow $5/hour, OT cost $4/hour, allowable increase 10 hours: max OT profit ≈ 10×(5−4)=$10 unless mix changes inside range. Re-solve with hours ≤ 170 to confirm linear segment.
Weekly executive one-liner template
"Contribution $1,920; Salad cap binds; hours slack 11; no overtime; Downside stress −12% contribution if demand −15%."
Auditor questions and answers
Q: How do you know Solver is right? A: Manual corner check on two-variable slice matches three-variable optimum logic; checklist recomputes Z and constraints.
Q: Why zero Dessert? A: Reduced cost positive; hours better used on Salad and Entree at caps.
Interpreting Solver output completes Unit 7: the numbers on the screen become prices on scarcity, warnings on fragility, and triggers for stress. Carry shadow price language into Unit 6 memos so finance and operations share one vocabulary.
Supplemental narrative: overtime go/no-go Friday
Friday 4 p.m.: hours shadow $5, OT cost $4, allowable increase 10 hours. Ops requests 8 hours OT. Finance multiplies 8×(5−4)=$8 incremental contribution, approves OT, archives re-solve with hours ≤ 168. Monday mix shifts 6 Entree units up; Z rises $8 as predicted within linear segment. Trust compounds because prediction matched arithmetic.
Supplemental narrative: Downside stress Monday
Demand caps −15%, contributions −10%. Re-solve cuts Z 12%, contract minimum binds, shadow on minimum positive. Memo to board uses Unit 6 Lesson 5 template: recommend hold expansion capex until Downside mix stabilizes with pilot demand data. Stress test changed decision, not only number.
Supplemental narrative: auditor walkthrough
Auditor asks for proof FreshPack optimum respects constraints. Analyst shows post-solve checklist: Z recomputed $1,920, hours 149≤160, units 550≥350, sensitivity PDF dated. Auditor satisfied because checks are procedural habit, not heroic one-off.
Supplemental reduced cost memo sentence
"Solver zeros Dessert because contribution per hour ranks below Entree and Salad at current caps; reduced cost $0.75 means temporary $1 promo could re-enter Dessert without adding hours." Sales acts on sentence; analytics does not defend zero in meeting without reduced cost translation.
Supplemental allowable range caution
Memo footnote: "Shadow $5/hour valid for hours 160–172 only; do not extrapolate 50 hours OT benefit." Prevents CFO quoting $250 OT gain from misapplied dual.
Closing standards
Recompute Z and constraints after every Solve. Report binding constraints and top shadow prices in plain English. Stress with coherent scenarios. Compare shadow to real capacity prices. Archive sensitivity with memo version ID.
Extended review: shadow prices and stress as management system
Post-solve: copy slack table, shadow prices, reduced costs into memo. Compare shadow on hours to OT wage. If shadow exceeds wage within allowable range, approve OT hours stated explicitly. If shadow zero, reject OT.
Stress Downside: edit caps −15%, contributions −10%, re-solve, record delta Z and mix shift. If delta Z worse than −10%, escalate per Unit 6 trigger policy.
Reduced cost guides promotions: temporary margin lifts that exceed reduced cost may enter zeroed SKUs profitably.
Integer rounding check when floor requires whole batches.
Auditor checklist: recomputed Z, constraints, archived sensitivity, version ID match.
Unit 7 ends when optimization is not a project but a weekly rhythm tied to Unit 6 communication standards.
Shadow price discipline prevents both under-investment (ignoring positive shadow) and over-investment (extrapolating shadow beyond allowable range).
Integration narrative: CFO and COO joint read
CFO asks: "Is overtime worth it?" COO asks: "Which cap binds?" Joint read of Lesson 5 output: hours shadow $5, OT $4, allowable 10 hours, approve 8 hours; Salad cap binds, not hours, so overtime solves different bottleneck next week if Entree rises. Downside stress shows contract minimum may bind under demand loss, raising implicit cost of shelf commitment. CFO and COO align on language; analytics is translator, not referee.
Weekly rhythm: solve, interpret shadow, stress if triggers hit, memo, archive. Monthly: contribution refresh audit. Quarterly: Downside scenario for board.
Additional examples: interpreting dual values in meetings
Question: "Should we buy Saturday shift?" Answer: "Only if hours shadow exceeds $4 OT cost within allowable range; today shadow is $0 because 11 hours slack remain." Question: "Why zero C?" Answer: "Reduced cost $0.80; need margin lift or cap change." Question: "Stress test?" Answer: "Demand −15% and margin −10% cuts Z 12%; minimum may bind; see stress PDF v1.3." Short answers tied to sensitivity report build executive trust.
Stress tests belong in the same PDF as the base recommendation, not in a follow-up email after the vote.
Interpretation lesson goal: any manager reads sensitivity PDF and states binding constraints, top shadow price, and one stress outcome without analyst present.
Lesson 5 mastery check: given FreshPack sensitivity excerpt, decide overtime go/no-go, explain zero Dessert via reduced cost, and draft Downside stress paragraph for board memo.
Shadow prices are temporary truths: they hold inside allowable ranges, change when mix pivots, and must never justify capital projects without NPV wrap from Unit 6.
Unit 7 bridge paragraph
Unit 7 closes the loop from managerial sentence to weekly operating rhythm. Lesson 5 without Unit 6 communication produces correct math nobody acts on. Pair every interpretation memo with triggers, stress, and version ID so Solver output survives the meeting that approved it.
When shadow and reduced cost disagree with intuition, trust reconciliation arithmetic first, then challenge data, then challenge structure.
Archive base and stress sensitivity PDFs in the same folder with immutable date stamps.
Overtime go/no-go, zero SKU stories, and Downside stress paragraphs are the three sentences executives should hear every week from Lesson 5 output.
Compare shadow price to supplier quote, overtime wage, and temp labor agency rate before approving spend.
Lesson 5 completes when the weekly ops memo states overtime decision, zero-SKU rationale, and one coherent Downside stress in plain English.
Unit 7 technical foundation ends with managers who can act on shadow prices Monday morning without waiting for another study.
Shadow price, reduced cost, slack, stress: four words that should appear in every weekly operations review slide.
Stress Downside before capital approvals; base optimum alone is never sufficient for budget votes.
Reduced cost explains promotions; shadow price explains capacity; slack explains idle assets; stress explains fragility.
Archive sensitivity with the memo; future you will need both files in the same email thread. If allowable range is narrow, say so in the memo footer before ops extrapolates overtime hours.
When reduced cost suggests a zero SKU could enter the mix after a small margin increase, pair that finding with a pricing test before committing line time. Optimization identifies opportunity; market response confirms it.
Stress tests should report mix deltas, not only objective deltas. Executives care that Downside demand cuts Entree 40% while Salad holds contract minimum, not only that contribution fell 12%. Table old versus new quantities beside Z change.
Archive the Sensitivity Report in the same folder as the board memo PDF so legal discovery or internal audit can reconstruct the capacity story without reopening a laptop Solver session.
Weekly interpretation cadence: Monday mix memo, Wednesday stress check if demand signal moves, Friday shadow price review before overtime approval. Treat that cadence as production infrastructure, not optional analytics polish.
Worked example: FreshPack sensitivity read (illustrative report)
Assume alternate optimum where hours bind at 160 h, mix S=380, E=140, D=40, Z=$1,940.
Part A: Slack table
| Constraint | Slack | Shadow price |
|---|---|---|
| Hours | 0 | $5.00 / hour |
| S cap | 20 | 0 |
| E cap | 60 | 0 |
| D cap | 260 | 0 |
| Min total | 70 surplus | 0 |
Check: shadow positive only on binding hours ✓
Part B: Overtime decision
Overtime available 10 h at $4.00 / hour cost (contribution foregone elsewhere net). Shadow $5.00 > $4.00 → accept overtime up to allowable range; re-solve with hours ≤ 170.
New Z ≈ 1940 + 10×(5−4) = $1950 if linear segment holds.
Part C: Allowable range note
If report says shadow $5 valid for hours 155–168, 10 h OK; 50 h not.
Part D: Managerial read
Ops should schedule overtime before asking marketing to raise Salad cap; Salad cap non-binding with slack 20.
Worked example: Stress Downside on Apex mix (Lesson 4)
Demand caps cut 15%; contributions fall $0.50 on B.
Re-solve: B hours drop; A mins may force low-margin fill. Objective falls 12%; shadow of contract minimum becomes positive (binding), forcing C or D into mix.
Memo trigger: if B contribution < $5.50, rerun model weekly.
Check: stress scenario documented with two shocks consistent (Unit 6 scenario coherence).
Common mistakes beginners make
| Mistake | Reality |
|---|---|
| Using shadow price outside allowable range | Re-solve for large RHS changes |
| Confusing shadow price with reduced cost | Shadow = constraint RHS; reduced = objective coefficient |
| Ignoring sign on ≥ constraints | Read Solver convention carefully |
| Accepting LP optimum as integer plan without check | Round or use integer Solver |
| Reporting Z without slack table | Binding status explains levers |
| Skipping stress when recommending capital spend | Shadow price justifies small overtime, not new plant alone |
Practice problem
Max 3x+4y s.t. x+y≤10 (shadow price 2 at optimum), x≤6, y≤8, x,y≥0.
Optimum (6,4), Z=34.
- If RHS of x+y increases to 11, predict new Z within linear range.
- Is x cap binding?
Solution
1. ΔZ ≈ shadow × ΔRHS = 2×1 = $2 → Z ≈ 36 (verify re-solve).
2. x=6 at cap, binding (slack 0 on x≤6).
Check: 6+4=10 ✓
Practice problem 2
Shadow price of hours is $0. Overtime costs $5/hour. Should you add overtime?
Solution
No for margin improvement: zero shadow means hours not scarce at optimum; extra hours do not increase objective (within range). Overtime would waste $5/hour unless non-LP reason (catch-up inventory next period). Re-solve if model excludes demand later.
Synthesis: shadow prices as management prices
Treat shadow prices like temporary internal prices on scarce resources. Post weekly: hour shadow, warehouse shadow, budget shadow. Ops compares to overtime, warehousing, and spot purchase costs.
When shadow zero, do not buy more of that resource for this objective this period.
Reduced costs support pricing and product rationalization: zeroed SKUs need margin lift equal to reduced cost to re-enter.
Stress tests mandatory before capacity capex justified by shadow price alone; capex adds fixed cost not in short-run LP.
Integer rounding check on every material recommendation.
Archive Sensitivity Report with memo (Unit 6 Lesson 5).
Unit 7 complete when you can: build model, solve, read slack and shadow, stress Downside, communicate in one page.
Extended shadow price exercise (full)
Max 4S+5E hours S+2E ≤ 100, S ≤ 60, E ≤ 40. Optimum (60,20) Z=340, hours bind slack 0.
Shadow on hours ≈ $1 per hour additional (solve RHS 101 → Z≈341).
Overtime cost $0.75/hour → accept 1 hour OT.
Reduced cost on E if zero: N/A at optimum E positive.
Stress E cap 40 → 35: re-solve; Z falls; shadow on E cap may turn positive.
Check: 60+40=100 ✓
FreshPack Downside communication paragraph (model answer)
"Downside demand −15% lowers caps; re-solved mix cuts Entree 18 units, raises minimum-contract filler Dessert 8 units; contribution −12%. Hours remain non-binding; Salad cap still binds. Recommend hold overtime; revisit if hours shadow turns positive under further demand loss."
Key takeaways
- Always report optimal mix, objective value, slack, and manual feasibility checks.
- Shadow prices value scarce constraints at the margin; compare to real cost of capacity.
- Reduced costs explain zero variables and support pricing conversations.
- Respect allowable ranges; large shocks require full re-solve and scenario coherence.
- Communicate Solver results with triggers, stress tests, and assumption ledgers (Unit 6).
After this lesson
- Paste a Sensitivity Report from your FreshPack-style model; interpret one shadow price in plain English.
- Run one Downside stress (demand −15%) and describe mix changes.
- Return to the unit page for Optimization and Managerial Modeling assessments.
Lesson exercise
40 minApply: Interpreting Solver Results and Stress-Testing Recommendations
Deliverable
One-page workbook entry or memo section filed under OMBA 102 Unit materials.
Rubric
- • Decision frame is specific and time-bound
- • Framework applied with auditable steps
- • Downside case is plausible, not strawman
- • Guardrail metric defined with owner
- • Recommendation links to evidence quality label