Learn
Lesson · Duality and Sensitivity Analysis · What the tableau knows

Pricing a New Activity, Adding a Constraint

A column that is not in the model is priced by what it earns less what it would consume at the prices you already have, and a row that is not in the model is tested by evaluating it at the plan you already have. Both questions are answered from the final tableau, and only a favourable price or a broken rule costs anything further. A profitable product can still be the wrong thing to make, and that is the point of the lesson.

new column cₙₑw − yᵀaₙₑw with the prices already in the tableau positive ⟹ it enters, and ONE pivot is the re-optimisation new row evaluate it at the current plan satisfied ⟹ nothing follows; broken ⟹ restore feasibility workshop y = (0, 3/2, 1), plan (2, 6), z* = 36: a = (1, 1, 1) earning 4: 4 − 5/2 = 3/2 > 0, enters, 36 → 39 a = (1, 2, 3) earning 4: 4 − 6 = −2, profitable and still wrong rule x1 + x2 ≤ 5 reads 8: broken by 3. x1 + x2 ≤ 10 reads 8: 2 spare
Two questions, one tableau, and no re-solve unless the answer says so

Core ideas

What this lesson establishes

One hard idea, which is that profit is not the test. The second panel is the same trick applied to a row instead of a column.

1

A column is priced against what it would displace

The prices already say what each resource is worth in the plan you have. A new activity consuming aₙₑw would take yᵀaₙₑw worth of that out of other activities, so the only figure that matters is cₙₑw − yᵀaₙₑw. Positive means it pays for what it displaces; negative means making it would lower the total, however profitable it looks on its own.

2

A row is tested by substitution, and usually does nothing

A proposed constraint either the current plan satisfies or it does not. If it does, the plan is still feasible and still optimal — adding the rule changes nothing, costs nothing and needs no arithmetic beyond the substitution. If it does not, the current basis is still a basis of the new problem and only feasibility has to be restored.

3

Neither answer costs a re-solve by itself

Both questions are one dot product against numbers already computed. The work only begins when a column prices favourably — one pivot — or a row is broken, which is the next lesson. Deciding cheaply whether to do any work is most of what sensitivity analysis is for.

The material

What a product you have never made is worth, and whether a new rule matters

The pricing formula and the two ways it comes out, the substitution test for a row, and why a rule can only ever cost.

Definition · The reduced cost of a column not in the model

For 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 uses

The 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 column

Propose 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 not

The 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.

Interactive

Price a column, test a row, re-solve neither

what a product you have never made is worth, and whether a new rule matters

Two questions the final tableau answerswhat a product you have never made would be worth, and whether a new rule matters
what it earnswhat it uses, at these pricesworth doingnot worth doing, or broken

Method

Deciding about something not in the model

Take the prices and the plan off the tableau first. Both questions are then one line each.

1

Write the proposal as a column or as a row, and say which

A new product, machine or contract that consumes resources is a column, with one entry per existing constraint. A new rule, limit or requirement is a row, with one entry per existing activity. They are answered by different tests and confusing them is the first thing to rule out.

2

For a column, value what it consumes at the prices you have

yᵀaₙₑw, one product per row, added up. Then subtract that from what it earns. Positive for a maximisation means it enters; zero means it is exactly break-even and the plan you have is still optimal.

3

For a row, evaluate it at the plan you have

Substitute and compare with the proposed right-hand side. Satisfied means nothing follows at all, and that is the answer rather than a step towards one. Broken means the plan has to change, and the shortfall is not the size of the change in the objective.

4

Do the work only if one of the two answers demands it

A favourable column costs one pivot, performed from the tableau you already have. A broken row costs a dual simplex run from the same tableau. Neither costs a fresh solve, and most proposals cost nothing at all.

Price it, test it, or leave it alone

Score 0 / 0

Two products and two rules, priced against one tableau

Everything below comes from a single finished solve of the workshop. Nothing is re-solved until the last two lines, and those are one pivot and two pivots respectively.

workshop max 3x1 + 5x2 cutting x1 ≤ 4 glazing 2x2 ≤ 12 assembly 3x1+2x2 ≤ 18 in hand plan (2, 6) z* = 36 y = (0, 3/2, 1) COLUMN A one hour of each resource, earning 4 consumes (0)(1) + (3/2)(1) + (1)(1) = 5/2 earns 4 reduced 4 − 5/2 = 3/2 > 0 so it enters one pivot z* goes from 36 to 39, and the new product is made COLUMN B (1, 2, 3) hours, also earning 4 consumes (0)(1) + (3/2)(2) + (1)(3) = 0 + 3 + 3 = 6 earns 4 reduced 4 − 6 = −2 ≤ 0 so leave it out the plan (2, 6) is STILL OPTIMAL with this column in the model break-even for column A's shape is earnings of 5/2 exactly: reduced = 5/2 − 5/2 = 0, and it does not enter ROW P x1 + x2 ≤ 5 reads 2 + 6 = 8 slack 5 − 8 = −3 BROKEN by 3 restoring two dual pivots from the tableau in hand, 36 → 25 at (0, 5) ROW Q x1 + x2 ≤ 10 reads 2 + 6 = 8 slack 10 − 8 = 2 satisfied, 2 to spare nothing follows: no pivot, same plan, same total 36 check a column can only help: 36 → 39, never down a row can only cost: 36 → 25, never up

Column B is the one to keep. It earns money, it earns the same money as column A, and it is the wrong thing to make — because it displaces 6 worth of glazing and assembly to produce 4. Nothing about the model changed between A and B except the recipe.

Notice too that the row test gives no estimate of the damage. Row P is short by 3 and the objective falls by 11. Those two numbers are not related by anything simple, and the lesson's answer to how far it falls is the next lesson's method.

For a faded rehearsal, use the three-activity programme, whose prices are y = (3, 2, 0) and whose plan is (2, 6, 0) at 46. The supplied move is that a proposed fourth activity taking one unit of each resource consumes 3 + 2 + 0 = 5. Decide whether it is worth making if it earns 6, if it earns 5, and if it earns 4; then propose the rule x1 + x2 + x3 ≤ 7 and say whether it bites before you check.

Common mistakes

1
Believing a product with positive profit is worth makingThis is the misconception the lesson is built on. A product earning 4 that consumes 6 worth of glazing and assembly makes the plan worse by 2 a unit, and every unit of it displaces work that was earning more. The test is cₙₑw − yᵀaₙₑw, and the prices needed for it are already printed in the tableau you finished with.
2
Reading a broken row's shortfall as the damage to the objectiveThe rule x1 + x2 ≤ 5 is short by 3 at the workshop's plan, and the objective falls by 11. The shortfall is a statement about feasibility; the fall is the result of a re-optimisation, and finding it is the next lesson's method. Quoting one as the other produces a confident number that is wrong by a factor of nearly four.
3
Testing a proposed column as though it were a row, or the reverseA proposal that consumes resources is a column and gets priced against y; a proposal that limits activity is a row and gets evaluated at x. The two tests use different halves of the tableau and produce answers with different units, so swapping them gives a number that cannot be interpreted at all. Say which shape the proposal is before touching any arithmetic.

Check your understanding

✓
Finish when you can answer both questions about something not in the model with the tableau you already have.

You should be able to price a proposed activity against the current prices and decide, evaluate a proposed rule at the current plan and decide, say what each answer costs — nothing, one pivot, or a dual simplex run — and state without checking which direction the objective can move in each case.

Note: When a proposed rule is broken, the work that follows is “The Dual Simplex Method”: the current basis is still a basis of the enlarged problem, so only feasibility has to be restored, and doing it from the tableau in hand is what makes the whole family of these questions cheap. That method is also why Integer Programming can afford a search tree with hundreds of nodes.

Kept in this browser only, for you. Nothing is sent anywhere and nothing checks it. Carry it to another device.

Feedback and recommendations

Something to change about this lesson? Write it down, tick it off when it is handled, and export the list when you want to act on it. Kept in this browser only: nothing is sent anywhere, and nobody is notified.

No recommendations yet for this lesson.