Continuous optimization sensitivity workshop / 7 MIN READ
Keep a capacity marginal inside the model range it describes
A useful local sensitivity can become a misleading expansion forecast.
AI-assisted research and analysis for the SNS Creative Fieldbook
Sources checked 2026-11-07
An optimization result answers a specified mathematical question. Preserve the scope of that answer before using it to justify a larger operating change.
What you will leave with: A constraint-sensitivity record with a sign check, an independently verified optimum and a failed extrapolation.
Use this when
- An analyst multiplies a reported capacity value by a large proposed increase.
- A solver’s negative sensitivity appears to contradict an improving business objective.
Not an integer project-selection rule, a purchase recommendation or evidence that the production model matches real operations.
Name the objective and the variable that changes
SciPy linprog minimizes its supplied objective. Its inequality marginals describe sensitivity to constraint right-hand sides. If a maximization is implemented by negating the objective, interpret the reported sensitivity in that same sign convention before translating it back.
Ask the analyst to state the objective in ordinary units and identify the exact capacity under discussion. Keep a resource quantity separate from its financial cost. A mathematical improvement in an invented score does not establish how much an organization should pay for it. The owner must explain what the score represents before a commercial recommendation can follow.
Write down what remains unchanged in the proposed comparison. A new process that also changes quality, setup time or achievable output is not merely a larger value in the same input cell. Preserve the original specification and ask the analyst whether the model still describes the alternative being considered.
Reconstruct a small continuous planning problem
Let x and y be nonnegative, divisible production quantities with scores three and two per unit. Maximize 3x + 2y, subject to x + y ≤ b and 2x + y ≤ 8. Initially b = 6. The first capacity has its own units; the second is a separate resource. All coefficients are invented.
Boyd and Vandenberghe’s duality treatment motivates checking an attainable objective against a valid bound. The optimum is x = 2, y = 4, score 14. A direct bound verifies it: 3x + 2y = (x + y) + (2x + y) ≤ 6 + 8 = 14. The proposed point meets both limits and attains that bound. This establishes the fixture optimum without relying solely on solver status.
Use the complete model record when reproducing the result, including the nonnegative variable bounds. A default that changes the permitted domain can change the question. The quantities in this exercise are deliberately divisible; do not silently round a solution and assume it remains the best feasible plan for indivisible jobs.
Run a known-answer fixture before connecting a complex report to its receiving workflow. A small calculation gives the reviewer a way to trace coefficients, resource labels and output direction. Keep the fixture separate from production evidence and avoid presenting the invented score as currency, revenue or measured customer value.
Test the change beyond its comfortable neighborhood
MIT’s sensitivity tutorial explains that a right-hand-side shadow price has a validity range while the relevant solution remains feasible. It also corrects the shortcut that equates a derivative with every one-unit change: the proposed change must fit the applicable range.
With all other inputs fixed, b = 7 gives (x, y) = (1, 6) and score 15; b = 8 gives (0, 8) and score 16. At b = 9, the optimum remains (0, 8), score 16. Extending the initial one-point gain across all three added units would predict 17 incorrectly.
For b between 4 and 8, the intersection is x = 8 − b and y = 2b − 8, with score b + 8. Past 8, that continuation makes x negative. The old solution formula is no longer feasible; the change at the boundary matters.
The executed SciPy 1.17.0 minimization used coefficients (−3, −2). At b = 6, the first reported marginal was −1; a change to 6.01 improved the maximized score from 14 to 14.01. At b = 9, that marginal was zero. No unique derivative is asserted at the b = 8 corner.
Keep the recommendation separate from the sensitivity
Prepare a before-and-after record with the changed input, retained assumptions, complete feasible plan and correctly signed objective. Explain where the earlier extrapolation stopped matching the recomputed result. Do not hide the boundary by displaying only the total capacity purchased or the larger number of available resource units.
Ask the analyst to assess the actual proposed scenario rather than stacking several isolated sensitivities into one forecast without review. If the model or assumptions change, request the appropriate new analysis. The decision owner should know which result was recomputed and which statement is merely a tentative extension of an earlier calculation.
Have the responsible production and commercial owners evaluate the real option’s costs, constraints and evidence. A mathematical score does not authorize a booking, resource purchase or workflow change. The lesson tests continuous-model arithmetic and interpretation only, with no supplier quote, real budget or performance improvement supplied.
Retain the initial output and the failed extrapolation as a regression case for future reports. When a reporting template changes its wording or sign display, rerun the same bounded comparison. Close the review only when the receiving explanation preserves what was calculated and what still requires a real-world decision.
Make the reasoning concrete.
A fictional content-production team receives a sensitivity number and uses it to justify a larger proposed expansion. The receiving slide has lost the original model range and objective sign.
Scale the headline
Opening: Multiply the first reported gain across the whole proposal.
Hypothesis: The case for expansion appears straightforward.
Risk: The extrapolation may not describe a feasible plan.
Review the complete comparison
Opening: Recompute the proposed scenario and preserve the model assumptions beside its result.
Hypothesis: The owner can evaluate the actual question.
Risk: A verified calculation still does not establish commercial value.
The team corrects the unsupported extrapolation and requests an authorized business assessment before acting.
Take the questions into your next brief.
Use these prompts in your own notes. Nothing is submitted from this page.
Objective
What units and sign does the supplied result use?
Change
Which exact input changes while the others remain fixed?
Feasibility
Does the proposed plan satisfy every stated bound?
Range
Where does the earlier interpretation stop matching a recomputed scenario?
Decision
Which costs and real-world assumptions remain outside the arithmetic check?
Watch for the wrong conclusion.
- Reading a minimization marginal as if the objective had not been negated.
- Treating a local result as an unrestricted expansion rule.
- Rounding a continuous plan into indivisible jobs without solving the changed problem.
Your next action
Reproduce the initial and expanded fixtures, then identify the statement that the arithmetic does not support.
Sources & scope
Original fictional model and independently checked numerical examples. Primary references support the solver interpretation and bounded sensitivity method. No actual production plan, resource purchase, financial return or commercial authorization is supplied.
- SciPy: linprog, HiGHS method →Primary solver documentation · Supports: Supports minimization, continuous bounds and marginal semantics.
- MIT: Sensitivity analysis in two dimensions →Primary university tutorial · Supports: Supports a bounded right-hand-side sensitivity interpretation.
- Boyd and Vandenberghe: Convex Optimization →Primary optimization textbook · Supports: Supports the objective-bound verification principle, section5.1.3.