Recipe
Find the allowable range for one LP coefficient, cost or resource
Use when: you know an LP's optimal vertex and need the exact interval ONE cost coefficient, or ONE resource (right-hand-side) value, can move through before today's optimal vertex changes
Goal: the exact interval that coefficient or resource level can move through while today's optimal vertex -- and its shadow price -- stays valid
Taught in Sensitivity to resource changes · extends Find the allowable range for one cost coefficient
Quick recipe
-
1
Write the value you're ranging as its current value plus an unknown shift, \Delta. Everything else -- every other coefficient, every other constraint -- holds still.
Example
Ranging Meadowbrook's protein requirement b_1=10: write it as 10+\Delta, holding b_2=15 and both costs fixed.
- ranging a cost coefficient c_j — the feasible region itself never moves; only which vertex is cheapest can change (Section 6's own case).
- ranging a resource level b_i — the feasible region's own boundary moves, carrying the optimal vertex along the intersection of the SAME two constraints.
Why: isolating one unknown, with everything else fixed, is what turns "how far can this move" into a single answerable question.
-
2
For a cost coefficient, substitute into the objective at every candidate vertex (Section 6, Step 2). For a resource level, substitute the shifted right-hand side into the SAME two constraints that are tight at the optimum, and solve that pair of equations for the vertex's coordinates as functions of \Delta.
Example
x_1+2x_2=10+\Delta, 3x_1+x_2=15. From the second, x_2=15-3x_1; substituting: x_1+2(15-3x_1)=10+\Delta \Rightarrow -5x_1=\Delta-20 \Rightarrow x_1=4-\tfrac{\Delta}{5}, then x_2=3+\tfrac{3\Delta}{5}.
Why: the same two boundary lines stay tight until one of the vertex's own coordinates is forced out of the feasible region, so re-solving that pair as functions of \Delta tracks the vertex exactly as it slides.
-
3
For a cost coefficient, impose that the current vertex's cost stays at or below every other vertex's cost (Section 6, Step 3). For a resource level, impose that every coordinate of the SLIDING vertex stays nonnegative -- each coordinate's own formula in \Delta gives one inequality.
Example
x_1=4-\tfrac{\Delta}{5}\ge0 \Rightarrow \Delta\le20. x_2=3+\tfrac{3\Delta}{5}\ge0 \Rightarrow \Delta\ge-5.
- a coordinate's own coefficient on \Delta is negative — increasing \Delta eventually drives it to 0, setting the UPPER edge.
- a coordinate's own coefficient on \Delta is positive — decreasing \Delta eventually drives it to 0, setting the LOWER edge.
Why: the vertex stops being a genuine basic feasible solution the moment either coordinate would need to go negative -- Chapter 7's own feasibility requirement, applied to a moving point instead of a fixed one.
-
4
Keep the tightest lower bound and the tightest upper bound among every inequality found, then add the original value back to convert the \Delta-range into the actual allowable range.
Example
\Delta\in[-5,20]; adding back b_1=10: b_1\in[10-5,\ 10+20]=[5,\ 30].
Why: the question was about b_1 itself, not about the bookkeeping shift used to answer it.
Common mistakes
- Trying to hold the vertex's coordinates fixed while only the constraint moves -- the whole point is that the vertex itself slides.
- Forgetting to re-derive which two constraints stay tight; the recipe assumes the SAME two stay active, which is true only within the allowable range, not automatically forever.
- Mixing up the cost case and the resource case mid-calculation -- a resource shift never touches the objective, and a cost shift never touches a constraint's right-hand side.
- Stopping at the \Delta-range and reporting it as if it were the resource level itself.