Definition · Reduced costIn a tableau at basis B, the reduced cost of column j is its objective-row entry z_j = c_Bᵀ B⁻¹ A_j - c_j. Every basic column has z_j = 0. For a maximisation, column j is improving when z_j < 0, and the rate at which z rises per unit of x_j is -z_j.
The formula is worth seeing even though you never need it to run the method, because it says where the number comes from: c_j is what one unit of x_j earns directly, and c_Bᵀ B⁻¹ A_j is what the basic variables have to give up to make room for it. The reduced cost is the difference, which is why it can be negative for a profitable column. “The Tableau as a Matrix Product” is where that expression is computed rather than quoted.
In the initial tableau of a ≤-only programme the basis is the slacks, c_B = 0, and the reduced costs are just -c_j. That is the familiar row of negated objective coefficients from The Simplex Tableau, and it is a special case rather than the definition.
Choosing the entering column
Any improving column may enter. The rules in common use are: Dantzig’s rule, take the most negative reduced cost, breaking ties by lowest column index; Bland’s rule, take the lowest-index improving column; and greatest improvement, compute the step for every improving column and take the largest rate times step. Each terminates at the same optimal value when it terminates at all; they differ in the path and in how many pivots it takes.
Example · The steepest column is the wrong oneTake maximise 5x₁ + 9x₂ + 3x₃ subject to 3x₁ + 2x₂ ≤ 20, x₁ + 3x₂ ≤ 12 and 4x₁ + 4x₂ + x₃ ≤ 20. At the origin the three rates are 5, 9 and 3, and the ratio test allows steps of 5, 4 and 20 respectively. So the products are 25, 36 and 60.
x₂ is the steepest column and moves z by 36. x₃ has a third of that rate and moves it by 60, which is the entire optimum of the programme. Dantzig’s rule takes x₂ and needs three pivots; greatest improvement takes x₃ and needs one.
at the origin of max 5x1 + 9x2 + 3x3
column reduced cost rate step rate × step
x1 -5 5 5 25
x2 -9 9 4 36 Dantzig takes this
x3 -3 3 20 60 the whole optimum
pivots to reach z* = 60: Dantzig 3 Bland 4
greatest improvement 1 largest index 1
Dantzig’s rule survives anyway, for a reason worth being honest about: computing the step for every improving column to find the greatest improvement costs a ratio test per column per pivot, and on a real problem that is more arithmetic than the extra pivots it saves. The rule is a cheap approximation to the thing you want, and this page exists so that you know which is which.
Stopping
Theorem · The optimality testIf every reduced cost in a feasible tableau satisfies z_j ≥ 0, the basic feasible solution it reads is an optimal solution of the programme. The test looks only at the current tableau, and its conclusion is about every feasible point.
The two halves of that sentence are worth separating. That no edge leaving this corner improves the objective is arithmetic on one row. That therefore no point of the region improves it is the convexity result from “Convexity, and Why a Local Optimum Is Global”. Quote the second half when you stop; a tableau alone only ever tells you about its own corner.
A minimisation, and the one adjustment it needs
minimise cᵀx is maximise -cᵀx with the answer negated at the end, and that is exactly what the lab does. Take minimise 2x₁ - 3x₂ subject to x₁ + x₂ ≤ 8 and 2x₁ + x₂ ≤ 10. The internal objective is -2x₁ + 3x₂, so the objective row starts at (2, -3) — the original coefficients — and the stopping rule is still “no negative entry”. One pivot brings x₂ in at 8, the tableau reads 24, and the answer to the question asked is -24.
So nothing about the test flips. What flips is the sign of the number you report, and the discipline is to write down which convention you are in before the first pivot rather than to reconstruct it from the answer. A minimisation whose optimum is negative is the case where guessing goes wrong.
One last reading of the row: a zero reduced cost on a column that is not basic satisfies the stopping test and still means something. It says a pivot on that column would move to a different corner at the same objective value, so the optimum is not unique. “Unbounded and Alternative Optima in the Tableau” is where that signature is read.