Module 4 of 6 · Lesson 3 of 6

Canonical Form for a Basis

Rewriting the program for a basis, so the basic solution, the objective value and the reduced costs are coefficients rather than calculations.

What you will be able to do

Given a standard-form program and a basis, the learner can partition the columns, solve for the basic variables, express the objective in the nonbasic variables alone, and read the basic solution, the objective value and the reduced costs off the result, stating whether the basis is optimal and why.

Orientation

A basic solution sits at a corner with the nonbasic variables held at zero. Raising one of them moves off that corner, and the objective changes by an amount the original program does not state anywhere.

It does not state it because raising x j forces the basic variables to move in compensation, and their costs are part of the answer. Working that out for one variable is a short calculation. Working it out for every nonbasic variable, at every corner the method visits, is the calculation the canonical form does once and then reads off.

After the rewrite the program carries its own answers: the basic solution and the objective value appear as constants, and each nonbasic variable carries the net rate at which it changes the objective. Deciding optimality becomes a matter of reading signs.

This unit assumes standard form, what a basis is, and the column reading of A .

Intuition

What the rewrite makes possible

At a basic solution the nonbasic variables sit at zero. The only moves available are to raise one of them, and the question that decides the next step is what each such move does to the objective.

The original program does not answer that. Raising x j by one unit breaks A x = b unless the basic variables move to compensate, and the cost of that compensation is part of the answer. So the full accounting has three parts: what the new variable costs directly, how far the basic variables must move, and what their movement costs.

The substitution does that accounting once, for every nonbasic variable simultaneously. What survives is one number per variable:

c ¯ j = c j ⏟ direct − c B T A B − 1 A j ⏟ compensation .

After the rewrite the program states its own situation. The constant is where the objective stands. Each coefficient is the rate at which one available move changes it. Nothing further needs computing to decide what to do next.

Why the constant plays no part in the decision. Every nonbasic variable is at zero and can only increase, so a negative coefficient is an available improvement and a nonnegative one is not. That comparison is between the coefficient and zero. The constant shifts z up or down equally whatever move is chosen, so it cannot distinguish between them. A basis with an excellent objective value and a negative coefficient is not optimal; a basis with a poor value and no negative coefficient is.

Why it must be redone each iteration. The compensation term depends on A B − 1 , so it is a fact about the current basis rather than about the program. Change the basis and every coefficient changes. That recomputation is not overhead attached to the method; it is the method.

Definition

The parts, and what each is called

Four objects come out of the rewrite, and the later material refers to each by name.

ObjectExpressionWhat it is
Basic solution A B − 1 b the values of the basic variables when x N = 0
Objective value z 0 = c B T A B − 1 b the objective at that point
Dual vector y T = c B T A B − 1 the prices the current basis puts on the constraints
Reduced costs c ¯ N T = c N T − y T A N the objective coefficients of the nonbasic variables

On y . Writing the compensation term as y T A j rather than c B T A B − 1 A j is the same quantity grouped differently, and it is worth the change: y is computed once per basis, after which each reduced cost costs one dot product. The revised simplex method is built on exactly that regrouping.

Feasibility is separate. The derivation needs A B invertible and nothing more. A basis whose A B − 1 b has a negative entry still has a canonical form; what it does not have is a basic feasible solution. Deriving the form and checking A B − 1 b ≥ 0 are two steps, and only the second decides feasibility.

Optimality is a statement about signs. For a minimisation in standard form, the basis is optimal when every c ¯ j ≥ 0 . For a maximisation converted by negating c , the test applies to the converted program; applying a minimisation test to an unconverted maximisation reverses the verdict.

The form is not unique to a point. At a degenerate basic feasible solution several bases describe the same point, each with its own canonical form and its own reduced costs. Two of them can disagree about whether an improving direction exists, which is why degeneracy is treated as its own topic rather than as an edge case of this one.

Derivation

Where the reduced costs come from

Start from the standard-form program and a basis B of m independent columns.

Split the constraints. Every column belongs to the basis or not, so A x = b separates into

A B x B + A N x N = b .

Nothing has changed yet; the terms have only been grouped.

Solve for the basic variables. A B has m independent columns and is square, so it is invertible:

x B = A B − 1 b − A B − 1 A N x N .

This is the step that makes the form useful. The basic variables are no longer unknowns to be solved for later; they are stated as a function of the nonbasic ones, so a choice of x N determines the whole point.

Substitute into the objective. With c T x = c B T x B + c N T x N , replacing x B gives

z = c B T ( A B − 1 b − A B − 1 A N x N ) + c N T x N = c B T A B − 1 b + ( c N T − c B T A B − 1 A N ) x N .

Name the parts. The first term is a constant, z 0 = c B T A B − 1 b . The bracket is a row vector with one entry per nonbasic variable,

c ¯ N T = c N T − c B T A B − 1 A N ,

and entry j is the reduced cost of x j .

Read what the algebra says. Each term c j − c B T A B − 1 A j has two parts. The first is what a unit of x j costs directly. The second is what it costs indirectly: A B − 1 A j is how much each basic variable must move to absorb one unit of x j while keeping A x = b , and c B T prices that movement. The reduced cost is the direct cost net of the compensation, which is why raising a variable with c ¯ j < 0 lowers the objective.

Why a basic variable has reduced cost zero. Apply the same expression to a basic column: A B − 1 A j is then a unit vector, and c B T times it returns c j exactly, leaving c j − c j = 0 . A variable already in the basis has no unexploited effect on the objective, so the optimality test concerns the nonbasic variables only.

Worked example

Two bases, two canonical forms

The program.

min − 3 x 1 − 2 x 2 subject to 2 x 1 + x 2 + x 3 = 12 , x 1 + 2 x 2 + x 4 = 12 , x 1 , x 2 , x 3 , x 4 ≥ 0 .

So c = ( − 3 , − 2 , 0 , 0 ) T and

A = ( 2 1 1 0 1 2 0 1 ) , b = ( 12 12 ) .

---

Basis B = { 3 , 4 } .

A B = I , so A B − 1 = I and the partition is immediate:

x B = ( x 3 x 4 ) = ( 12 12 ) − ( 2 1 1 2 ) ( x 1 x 2 ) .

With c B = ( 0 , 0 ) T the constant is z 0 = 0 and the reduced costs are the cost coefficients themselves:

c ¯ N T = ( − 3 , − 2 ) − ( 0 , 0 ) ( 2 1 1 2 ) = ( − 3 , − 2 ) .

The canonical form is

z = 0 − 3 x 1 − 2 x 2 .

Reading it. The basic solution is x = ( 0 , 0 , 12 , 12 ) T , feasible because A B − 1 b = ( 12 , 12 ) T ≥ 0 , with objective 0 . Both nonbasic coefficients are negative, so this basis is not optimal and either variable improves. Taking the most negative, x 1 enters.

The step. The direction is u = A B − 1 A 1 = ( 2 , 1 ) T , and the ratio test over positive components gives 12 / 2 = 6 and 12 / 1 = 12 . The minimum is 6 , so θ = 6 and x 3 leaves.

---

Basis B = { 1 , 4 } .

Now

A B = ( 2 0 1 1 ) , A B − 1 = ( 0.5 0 − 0.5 1 ) ,

which checks: A B A B − 1 = I .

x B = ( x 1 x 4 ) = A B − 1 b = ( 6 6 ) ,

so the basic solution is x = ( 6 , 0 , 0 , 6 ) T , again feasible. With c B = ( − 3 , 0 ) T ,

z 0 = c B T A B − 1 b = − 3 ( 6 ) + 0 ( 6 ) = − 18 ,

and y T = c B T A B − 1 = ( − 1.5 , 0 ) . The nonbasic columns are A 3 = ( 1 , 0 ) T and A 2 = ( 1 , 2 ) T , giving

c ¯ 3 = 0 − ( − 1.5 ) ( 1 ) − 0 ( 0 ) = 1.5 , c ¯ 2 = − 2 − ( − 1.5 ) ( 1 ) − 0 ( 2 ) = − 0.5 .

The canonical form is

z = − 18 + 1.5 x 3 − 0.5 x 2 .

Reading it. The objective has fallen from 0 to − 18 , as the step promised. Re-entering x 3 would raise the objective by 1.5 per unit, which is why the method does not undo its own move. But c ¯ 2 = − 0.5 < 0 , so this basis is not optimal either and x 2 enters next.

What changed between the two forms. The program did not. The constant, the coefficients and the verdict all did, because all three are properties of the basis rather than of the program. The same point can be described by more than one canonical form, and every iteration of the simplex method installs the next one.

Check your understanding

Derive one form, with the steps fading

The worked example carried out every step. Here the support is removed a piece at a time. Work on

min − x 1 − 4 x 2 subject to x 1 + x 2 + x 3 = 8 , x 1 + 3 x 2 + x 4 = 18 , x ≥ 0 .

First, with the steps named. Take B = { 3 , 4 } .

  1. Write A B and A N , with the nonbasic columns in the order ( x 1 , x 2 ) .
  2. A B is the identity here, so A B − 1 b is immediate. What is the basic solution, and is it feasible?
  3. c B = ( 0 , 0 ) T , so what is z 0 , and what does that make c ¯ N T ?
  4. Write z in the form z 0 + c ¯ N T x N . Is this basis optimal? If not, which variable would you bring in, and why that one?

Then, with the steps only implied. Take B = { 2 , 4 } in the same program.

Derive the canonical form. You will need A B − 1 for a matrix that is not the identity; multiply it back against A B before using it. Report the basic solution, whether it is feasible, the objective value, and the reduced costs. State the optimality verdict and name the quantity that decides it.

Last, with nothing named. Still the same program, B = { 1 , 2 } .

Put the program in canonical form for this basis and say what the result tells you about the point it describes.

---

Checks you can run without the answers. A B A B − 1 must be the identity. Every basic variable must have reduced cost zero, compute one and confirm it. The constant z 0 must equal c T x evaluated at the basic solution you reported; if the two disagree, the substitution went wrong rather than the arithmetic.

Contrast

Three things the form reports, and what each decides

The rewrite produces three readings, and they answer different questions. Treating one as an answer to another is the recurring error.

ReadingQuantityDecidesDoes not decide
Where the point is A B − 1 b feasibility, via A B − 1 b ≥ 0 whether the point is any good
What it is worth z 0 = c B T A B − 1 b the objective value herewhether a better point exists
Which way to move c ¯ N optimality, and the entering variablehow far the move can go

Feasibility and optimality are independent. A basis can be infeasible and have every reduced cost nonnegative; it can be feasible with a strongly negative one. The first is not an optimum of anything, because the point is not in the feasible set. The second is a perfectly good corner with a better neighbour.

A low objective value is not optimality. In the worked example the second basis reaches z 0 = − 18 and is still not optimal: c ¯ 2 = − 0.5 says another move lowers the objective further. A learner comparing constants across bases is answering "which of these corners is better" when the method is asking "is there anything better than this corner".

The reduced costs say which way, not how far. c ¯ j < 0 makes x j worth raising, and says nothing about the limit. That limit comes from A B − 1 b and A B − 1 A j through the ratio test, which is a different reading of the same form. An answer that names the entering variable and stops has done half the step.

What all three share. Each is computed from A B − 1 and is therefore a fact about the basis. None of them is a property of the program, and none survives a basis change unexamined.

Next step

Practice Canonical Form for a Basis

Practice records what support you used, so the evidence reflects how you actually performed.

Practice this lessonSkip to Extreme Points and Basic Feasible Solutions

Results update as you type. Use the up and down arrow keys to move between results, Enter to open one, and Escape to close.

Type to search.

Settings

Appearance

Interface density

Your record

Your progress is stored in this browser and nowhere else: an identifier, the answers you have given, the mastery states and review schedule derived from them, and the lesson you last opened. Clearing it makes you a new learner on this device. It cannot be undone, and it will not affect your appearance or density settings.

Focus timer

Focus--minutes remaining

Phase

Kept in this browser only, and used to label the session in your own history.

Today

Nothing recorded yet. Finish a focus session and it will appear here.

Settings

Focus sessions between long breaks.

Sessions you are aiming for in a day.

Notifications

Your history

Sessions are stored in this browser and nowhere else. They are not evidence and never reach your mastery record.