Learn
Lesson · The Simplex Method · The walk

Adjacent Corners and the Simplex Idea

Every corner of a feasible region is named by a set of columns called a basis. Two corners are joined by an edge exactly when their bases differ in one column, and one step of the simplex method is one such exchange. So the method never enters the interior and never tries every corner: it walks a path along the boundary, uphill, and stops at the first corner with no improving edge leaving it.

basis m columns of [A | b]; every other variable sits at zero corner the point that basis reads off the right-hand column adjacent two bases differing in EXACTLY one column edge the segment joining two adjacent corners one pivot one column in, one column out = one edge stop no improving edge leaves this corner ⟹ it is optimal
A basis, a corner, and what counts as one step

Core ideas

What this lesson establishes

“Standard Form, Slack and Surplus” wrote the programme as equations and “Basic Solutions and Corners” paired a choice of columns with a point. One idea is new here, and it is what makes a step mean something.

1

A basis names the corner

Choose m of the columns of the m-row system and set every other variable to zero; solving the m remaining equations gives one point. The chosen columns are the basis, their variables are basic, and when all of them come out at or above zero the point is a corner of the feasible region. The region of maximise 3x₁ + 5x₂ under x₁ ≤ 4, 2x₂ ≤ 12, 3x₁ + 2x₂ ≤ 18 has five corners, and five bases to match.

2

Adjacent means one column different

A basis is a set, so the distance between two of them is the size of their difference. {s₁, s₂, s₃} and {s₁, x₂, s₃} differ in one member: x₂ in, s₂ out. That is one edge of the region and one pivot of the method. {s₁, s₂, s₃} and {x₁, s₂, x₂} differ in two, and no single pivot goes there however short the line looks on the picture.

3

The method walks a path, not a census

On the five-corner region above, the method starting from the origin reaches the optimum after two pivots, standing at three corners and never looking at the other two. Corner-counting and work are different quantities, which is why a region with a thousand corners is not a thousand times the work of one with ten.

The material

Corners, bases, and the one exchange that is a step

Which point a basis names, when two of them are one edge apart, and what licences the method to stop walking.

Definition · Basis, basic solution, basic feasible solution

For a standard-form system with m equations and n ≥ m columns, a basis is a choice of m columns whose matrix is invertible. Setting the other n - m variables to zero and solving for the basic ones gives the basic solution belonging to that basis. If every basic variable comes out at or above zero it is a basic feasible solution, and it is a corner of the feasible region.

Nothing in that definition mentions the objective. A basis is a choice of columns, the point follows from the choice, and the objective only decides which of these points you want. Two different bases can even name the same point — which is degeneracy, and “Degeneracy, Cycling and Bland’s Rule” is where it matters.

Example · The five corners of one small region, and their bases

Take maximise 3x₁ + 5x₂ subject to x₁ ≤ 4 (plant A hours), 2x₂ ≤ 12 (plant B hours) and 3x₁ + 2x₂ ≤ 18 (plant C hours), with one slack per row. Every column is one of x₁, x₂, s₁, s₂, s₃, three of them are basic, and the region has five corners.

(0, 0) stands on {s₁, s₂, s₃} at z = 0; (0, 6) on {s₁, x₂, s₃} at 30; (2, 6) on {s₁, x₂, x₁} at 36; (4, 0) on {x₁, s₂, s₃} at 12; (4, 3) on {x₁, s₂, x₂} at 27. The basis at the origin is the three slacks, which is what makes the origin the free starting corner of a programme with only ≤ rows.

Definition · Adjacent bases, and an edge

Two bases are adjacent when they differ in exactly one column. The corners they name are then the two ends of one edge of the feasible region, and one pivot of the simplex method moves between them: one column enters the basis and one leaves.

Read the two verdicts off the sets rather than off the drawing. From {s₁, s₂, s₃} at the origin, {s₁, x₂, s₃} is one exchange away and so is {x₁, s₂, s₃} — the two edges of the region that leave the origin. {x₁, s₂, x₂} at (4, 3) needs s₁ and s₃ out and x₁ and x₂ in: two changes at once, so no pivot goes there. The lab refuses that move and prints the two columns that would have had to change together.

The walk, and the licence to stop

From the origin the method takes the edge to (0, 6), raising z from 0 to 30, then the edge to (2, 6), raising it to 36. At (2, 6) every edge leaving the corner lowers z, so it stops. Two pivots, three corners visited, two corners never examined.

Theorem · Why a corner with no improving edge is the best corner anywhere

A linear objective on a convex feasible region has no local maximum that is not a global maximum. Convexity, and Why a Local Optimum Is Global proves this, and it is the whole licence for stopping: the method checks the edges at one corner and concludes something about every point of the region.

That licence is what separates this from hill climbing. A method that walks uphill on an arbitrary surface can only report a local summit; here the surface is a plane and the region has no dents in it, so a corner that beats its neighbours beats everything. Without that theorem the method would be a heuristic.

It also explains why the number of corners is not the amount of work. A programme with n columns and m rows has at most n choose m bases, which grows ferociously, and the region above has ten possible choices of three columns from five, of which five are corners. The method visited three. Termination and the Klee–Minty Cube is where the honest count lives, and the news there is mixed.

One warning about reading a basis off a picture: the basis is not “the variables that are not zero”. At a corner where three boundary lines meet, one basic variable is zero as well, and two different bases name that single point. That is the subject of “Degeneracy, Cycling and Bland’s Rule” and it is worth knowing now, because it is the one case where corner and basis stop being the same thing.

Interactive

Adjacent corners, and the column an edge exchanges

Two bases are adjacent when they differ in exactly one column; anything else is not an edge

Corner to adjacent cornerthe basis at every corner, and the single column an edge exchanges
the regionwhere the basis standsthe corner you asked forrefused: two changes at once

Method

Following a simplex walk on a region you can draw

Bases first, objective last. A move that is not an exchange of one column is not a step, whatever it does to the objective.

1

List the columns before looking for corners

Write the programme in standard form and name every column, slacks included. On a three-row problem a basis is three of those names, and you cannot say which corners exist until you know what there is to choose from.

2

Read the point off the basis you are standing on

Set the nonbasic variables to zero and solve for the rest. Check the signs: a negative basic variable means the choice of columns was not a corner of the feasible region at all, only a solution of the equations.

3

Ask which corners are one column away

Compare the sets. One member different is an edge and a candidate for the next pivot; two or more is not reachable in one step, and that is true no matter how close the two corners look.

4

Take an improving edge, and stop when there is none

Move along an edge that raises the objective, then repeat from the new corner. When every edge leaving the corner lowers it, stop and say why: a linear objective on a convex region has no local optimum that is not global.

Bases, edges and the count of work

Score 0 / 0

The walk on two products across three plants

Five corners, five bases, and a path that visits three of them. The objective is 3x₁ + 5x₂ and the three rows are the plant hours.

maximise 3x1 + 5x2 x1 <= 4 plant A hours s1 = 4 - x1 2x2 <= 12 plant B hours s2 = 12 - 2x2 3x1 + 2x2 <= 18 plant C hours s3 = 18 - 3x1 - 2x2 corner basis z one edge from (0, 0)? (0, 0) {s1, s2, s3} 0 standing here (0, 6) {s1, x2, s3} 30 yes: x2 in, s2 out (4, 0) {x1, s2, s3} 12 yes: x1 in, s1 out (2, 6) {s1, x2, x1} 36 no: 2 columns differ (4, 3) {x1, s2, x2} 27 no: 2 columns differ the walk from the slack basis pivot 1 x2 in, s2 out (0, 0) -> (0, 6) z: 0 -> 30 pivot 2 x1 in, s3 out (0, 6) -> (2, 6) z: 30 -> 36 stop: every edge leaving (2, 6) lowers z 5 corners in the region, 3 stood at, 2 pivots

The refusal is the part worth dwelling on. (0, 0) and (4, 3) are not far apart on the drawing, and a reader who thinks of the method as “try corners, keep the best” sees no reason not to go there. But {s₁, s₂, s₃} and {x₁, s₂, x₂} differ in two columns, and one pivot exchanges one column. There is no edge between those two corners, and the method walks the boundary rather than crossing the middle.

For a faded rehearsal, change the objective to 2x₁ + 3x₂ in the lab and predict the walk before running it. The supplied first move is that the corner list and the five bases do not change — they are a property of the constraints. Say which corner is optimal now, how many pivots reach it from the origin, and which corners are skipped, then check all three against the panel.

Then push the objective coefficient on x₁ up to 9. The walk goes the other way round the region, the corner list is still the same five points, and the number of pivots changes. That separation — the region fixes the corners, the objective fixes the path — is what the rest of this course is built on.

Common mistakes

1
Treating the method as a search over all the cornersFive corners were available in the worked example and three were stood at. The method follows one path and the corners off that path are never built, which is the only reason a programme with a hundred rows is solvable at all. “Try every corner and keep the best” is a correct algorithm and a different one, and it is what “Systems of Inequalities and Linear Programming” did on regions small enough to draw.
2
Calling two corners adjacent because they look closeOn a square region cut out by x₁ ≤ 3 and x₂ ≤ 3 the corners (0, 0) and (3, 3) are the diagonal: their bases differ in two columns, so no pivot joins them, while (0, 0) and (0, 3) differ in one and are one step apart. Adjacency is arithmetic on sets of columns and the picture has no vote.
3
Reading the basis as whichever variables are not zeroThat works until three constraint boundaries pass through one corner. Then one basic variable is zero as well, the non-zero variables are too few to fill the basis, and two different bases name the same point. “Degeneracy, Cycling and Bland’s Rule” is about exactly that case, and it is why the basis is defined as the chosen columns rather than as the positive values.

Check your understanding

✓
Finish when you can say which corners are one pivot away without looking at the drawing.

You should be able to write a small programme in standard form, list the basis at each corner, decide adjacency by comparing sets of columns, and state the theorem that lets a check at one corner settle the whole region.

Note: Nothing above needed a tableau: the corners were found by drawing and the bases read off afterwards, which stops working the moment there are more than two decision variables. “The Simplex Tableau” is the bookkeeping that carries one basis and lets the next one be produced by arithmetic instead of by geometry — and the arithmetic is “Gaussian Elimination” from the Algebra path, with one extra row attached.

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.