Quantitative Methods

Linear Programming and Reading the Shadow Price

Solve for the best use of the capacity you actually have — then read the one number the solver hands back that prices an extra hour of it, and learn the range over which that price stays true.

  • Advanced
  • 12 min total
  • 14 chapters

What decision this helps you make: What product mix to run against a fixed set of constraints, and the highest price you should pay for one more unit of whatever is holding you back.

What this topic is

Linear programming finds the best achievable value of a linear objective — contribution, cost, tonnage — subject to linear constraints on the resources you have. It is the oldest and most heavily used optimization method in business, and it comes with a free second answer: for every constraint, the solver returns a shadow price, which is the rate at which the objective would improve if that constraint were relaxed by one unit.

Why it matters

Most capacity decisions are argued in adjectives. Someone says the plant is tight, someone else says the bottleneck is really labour, and the overtime budget gets set by whoever spoke last. A linear program replaces that with two numbers per constraint: whether it is binding at all, and what one more unit of it is worth. That converts "should we authorise overtime" into a comparison of the overtime premium against the shadow price of an hour, which is a question with an answer.

Who should learn it

Operators who allocate a fixed resource across competing uses — plant managers, media buyers, logistics planners, blenders, schedulers, anyone running a portfolio against a budget or a rig against a calendar.

What you will understand

  • How to state a real allocation problem as an objective, decision variables, and constraints
  • What a shadow price is, what it is the price of, and the range over which it holds
  • Why a non-binding constraint has a shadow price of exactly zero, and what that tells you not to buy
  • Which assumptions linear programming makes, and what to switch to when each one fails

Prerequisites

Common misconception

"The shadow price of machine time is $10, so buying 500 more machine-hours is worth $5,000." It is not. A shadow price is a derivative, not a price list. It is the improvement from the next unit, and it holds only while the same set of constraints stays binding. Push the resource far enough and something else becomes the limit, at which point the shadow price of the thing you were buying collapses — often to zero — and every additional unit you bought is worth nothing at all. The solver will tell you where that happens if you ask for the right-hand-side ranging. Almost nobody asks.