How to use it
- 1. Set the modelEdit objective profits and the two resource constraints plus a demand cap with the +/− steppers.
- 2. Read the geometryThe optimum is always a corner of the shaded region; the dashed iso-profit line rests on it.
- 3. Find what bindsBinding constraints are flagged red - they, and only they, have a non-zero shadow price.
- 4. Test the rangeThe RHS range tells you how far you can move a resource before its shadow price changes.
Interactive studio
Objective - maximise profit
Resource A - e.g. assembly hours
Resource B - e.g. machine hours
Demand cap
Swipe the chart sideways to see all of it.
The shaded area is every feasible plan. The optimum (starred) sits where the sweeping dashed iso-profit line last touches the region.
Constraints - binding status & shadow price
| Constraint | Status | Used / RHS | Shadow price | RHS range (valid) |
|---|
Swipe the table sideways to see shadow prices and ranges.
A shadow price is the extra profit from one more unit of that resource. It is zero for any resource you are not fully using, and stays constant only within the RHS range shown.
Try these experiments
- Make Resource B non-binding (raise its available hours) and watch its shadow price drop to $0.
- Slowly raise the profit of X2 until the optimum jumps to another corner - at the switch point both corners are optimal (alternate optima).
- Set both resource "Hours / X2" to 0 to remove every cap on X2 - the studio should report an unbounded problem, not crash.
About this tool
The concept
Linear programming maximises a linear objective over a polygon of linear constraints. The best plan is always at a corner (extreme point).
How it works
We enumerate every corner where two boundaries cross, keep the feasible ones, and pick the highest-profit corner - exact for two variables.
Sensitivity
Shadow prices and RHS ranges come from re-solving with the right-hand side nudged, showing how the optimum reacts to more (or less) resource.