Definition · The reduced cost of a column not in the modelFor a proposed activity with column aₙₑw and objective coefficient cₙₑw, its reduced cost at the current optimum is cₙₑw − yᵀaₙₑw, where y is the price vector already in the final tableau. For a maximisation the activity is worth introducing exactly when that number is positive.
Nothing about this formula requires the column to have been in the model when it was solved. The prices are properties of the basis, and any column at all can be valued against them.
That is the same expression as the objective-row entry over a column that is in the model, which is why this lesson needs no new machinery. What is new is the use: a product nobody has ever made, a machine nobody has bought, a contract nobody has signed — all of them can be valued before anything is committed, from numbers a single solve already produced.
Example · A product that pays for what it usesThe workshop's prices are y = (0, 3/2, 1): cutting is worth nothing, glazing 3/2 an hour, assembly 1 an hour. Propose a third product taking one hour of each and earning 4.
It would consume (0)(1) + (3/2)(1) + (1)(1) = 5/2 worth of what the plan is already short of, and it earns 4, so its reduced cost is 4 − 5/2 = 3/2 a unit. It enters, and a single pivot — not a re-solve — takes the total from 36 to 39.
A profitable product that makes the plan worse
Example · The same earnings, a heavier columnPropose instead a product taking one hour of cutting, two of glazing and three of assembly, also earning 4. Now it consumes (0)(1) + (3/2)(2) + (1)(3) = 6, and its reduced cost is 4 − 6 = −2.
Making it would cost 2 a unit. Every unit of it would displace work worth 6 to make 4, and the plan you already have is still optimal with this column present in the model. Profit is not the test. Profit beyond what the ingredients are already worth is the test, and the break-even point for this column's lighter cousin is at earnings of exactly 5/2, where the reduced cost is zero and the lab reports that it does not enter.
The reason this is the misconception worth naming is that the wrong answer is the one a reader arrives at by a perfectly sound-sounding argument: the product makes money, so make it. It does make money, and it makes less money than what it would have to stop making. The prices are what convert that sentence into arithmetic, and they are already on the screen.
A row that is not in the model
The second question has a shorter answer. A proposed constraint is a statement about plans, so evaluate it at the plan you have. If it holds, nothing at all follows: the plan is still feasible for the enlarged problem and still optimal, since adding a constraint cannot create a better plan. If it fails, the plan is no longer feasible, and the work of restoring feasibility is the next lesson's.
Example · One rule that bites and one that does notThe workshop's plan is (2, 6). The proposed rule x1 + x2 ≤ 5 reads 8 there, so it is broken by 3, and something has to change; the lab reports that restoring feasibility from the tableau in hand takes two pivots and lands at 25.
The proposed rule x1 + x2 ≤ 10 also reads 8, which leaves 2 spare. It is satisfied, so it changes nothing whatever: no pivot, no re-solve, and the same plan and the same total. That is a real answer to a real question, arrived at by one substitution.
And a rule can only ever cost. A constraint removes points from the feasible region and never adds any, so the new optimum is at most the old one: 36 becomes 25 in the first case and stays 36 in the second. If a proposed constraint appears to raise the objective, the arithmetic is wrong. That is a useful check, and it is the mirror image of the one for a new column, which can only ever help.
PRICE A COLUMN TEST A ROW
y from the final tableau x from the final tableau
reduced = c_new − y'a_new reads = a'x, slack = b − reads
reduced > 0 it enters slack ≥ 0 nothing follows
one pivot, and z* goes UP same plan, same total
reduced ≤ 0 leave it out slack < 0 the plan is broken
same plan, same total restore feasibility, z* goes DOWN
workshop, y = (0, 3/2, 1), plan (2, 6), z* = 36
(1,1,1) at 4: 4 − 5/2 = 3/2 enters x1+x2 ≤ 5: 8, short by 3
(1,2,3) at 4: 4 − 6 = −2 no x1+x2 ≤ 10: 8, 2 to spare
three activities, (1,1,1) at 6:
6 − 5 = 1 enters, and 46 → 48
One warning about the row test. It says whether the plan you have is still feasible, and that is all. A satisfied rule is genuinely free; a broken rule tells you that work is needed but not how much, and the amount by which it is broken is not the amount the objective will fall. On the workshop the rule is short by 3 and the objective falls by 11.