Learn
Course · Operations Research

Duality and Sensitivity Analysis

Every linear programme carries a second one whose variables are prices, and the simplex method has been solving both of them the whole time. That single fact is a tool: a final tableau will price a resource, bound the change that price survives, price a column that is not in the model yet, and reject a new constraint without a re-solve. The course ends where duality stops being bookkeeping — a Pareto front traced by one parameter, and a zero-sum game whose minimax theorem is strong duality with different nouns.

primal max cᵀx, Ax ≤ b, x ≥ 0 dual min bᵀy, Aᵀy ≥ c, y ≥ 0 (= ↔ free, one y per row) weak cᵀx ≤ yᵀAx ≤ bᵀy for every feasible pair strong cᵀx* = bᵀy*, y* = c_BᵀB⁻¹ read off the final tableau CS yᵢ > 0 ⟹ row i tight; xⱼ > 0 ⟹ dual column j tight yᵢ = Δz* per unit of bᵢ, over a range from a ratio test — not a derivative
What this course is about
Subject
Operations Research
Lessons
10
Format
Interactive

Overview

What you will be able to do

By the end you can write the dual of anything, prove a bound without solving, certify or refute a claimed optimum without solving, read four different sensitivity answers off one final tableau, re-optimise after a change, and recognise strong duality when it turns up wearing a different name.

1

Write the dual and interpret it

One dual variable per constraint, one dual constraint per variable, the direction and sign rules applied correctly to a mixed-form problem — and each dual variable given units of objective per unit of right-hand side.

2

Certify a bound and certify an optimum

Weak duality from any feasible pair, with the two sign restrictions that produce it; and complementary slackness used to confirm or refute a claimed primal optimum without running the algorithm.

3

Read the dual solution off a final tableau

y = c_BᵀB⁻¹ from the columns that started as the identity, checked for dual feasibility column by column and for bᵀy = z* exactly.

4

Compute every range the solution is valid over

A shadow price with its right-hand-side range, an objective coefficient's range for a basic and for a nonbasic variable, and the statement of which of the solution and its value changes in each case.

5

Decide about something not in the model

Price a proposed new activity by cₙₑw − yᵀaₙₑw and test a proposed new constraint at the current optimum — and re-optimise by the dual simplex only when one of them says you must.

6

Recognise duality elsewhere

Trace a two-objective Pareto front by one parameter with exact breakpoints, and solve a zero-sum game as a pair of dual linear programmes whose common value is the value of the game.

Lessons

10 lessons

Construction, then the two theorems, then the four things a final tableau will tell you, then the two ways to use them on a problem that has changed, and last two places where duality is the content rather than the method.

The Dual ProblemWrite the dual of a mixed-form programme with units on every price, and take the dual of the dual back to the primal.Not marked
Weak Duality and CertificatesCheck a pair of points, compute the chain, and state exactly what the gap proves and what it does not.Not marked
Strong Duality from the Final TableauRead the prices off a final tableau and verify dual feasibility column by column and bᵀy = z* exactly.Not marked
Complementary SlacknessTurn a claimed optimum into a small linear system, solve it for prices, and certify or refute the claim without pivoting.Not marked
Shadow Prices and Right-Hand-Side RangingCompute each price with the range it survives, predict the optimum inside that range, and watch the prediction fail outside it.Not marked
Objective Coefficient RangingRange one coefficient that is being made and one that is not, and say for a given change whether the plan moves or only the total.Not marked
Pricing a New Activity, Adding a ConstraintPrice a product that is not in the model and test a rule that is not, both from the tableau you already have.Not marked
The Dual Simplex MethodRestore feasibility while keeping optimality, one dual ratio test at a time, from the tableau you already have.Not marked
Parametric Objectives and the Pareto FrontCompute the exact weights at which the answer changes, and list the corners no feasible point beats in both objectives at once.Not marked
Zero-Sum Games and the Minimax TheoremWrite both players' linear programmes, solve them, and verify the value and both mixtures by complementary slackness.Not marked

Recommended background

Linear programming models and the simplex method from this path, in particular the final tableau read as the inverse of the basis times the original data, plus inverse matrices, matrix arithmetic, gaussian elimination, piecewise functions, interval and set-builder notation and linear inequalities from algebra, and nothing at all from discrete mathematics, which is what makes this the last course an algebra-only reader can take and a complete story on its own.

Practice suggestions

Put units on every dual variable the moment you write it. A dual variable whose units you cannot state is a dual variable you have paired with the wrong constraint, and the check costs ten seconds.

Never quote a shadow price without its range. The lab prints them together and this course never separates them; a price outside its range is not approximately right, it is a different number.

Before running the dual simplex, try to say which basis the answer will end up in. You are usually wrong, and being wrong deliberately is how the ratio test on the objective row stops being a rule and starts being a reason.

Do “Complementary Slackness” with a degenerate instance as well as a clean one. It is where degeneracy first bites, and a reader who has only seen the conditions behave will assert the converse for years.

What it does not cover

Farkas' lemma and the theorems of the alternative as a topic. Strong duality is obtained constructively from the final tableau, which is the version a reader can execute; the separating-hyperplane route is named and declined.

Lagrangian duality, and duality for anything non-linear. Both need machinery this path refuses.

Parametric analysis of the constraint matrix A. Ranging here is on b and on c; changing A changes the basis matrix itself and is a different subject.

Degeneracy's full effect on sensitivity. This course says what goes wrong — a tight constraint can have a zero price, and a range can end at the value the right-hand side already has — and does not develop the theory of the multiple dual solutions that cause it.

Interpreting a shadow price as a market price. The course says repeatedly what it is (a rate of change over a range, inside this model) and declines the economics.