Learn
Lesson · Networks: Flows, Paths and Assignments · The transportation tableau

Potentials and the Stepping-Stone Cycle

Solve uᵢ + vⱼ = cᵢⱼ on the occupied cells and every empty cell gets a reduced cost. A negative one means an improvement, and taking it means finding the unique cycle that cell closes in the basis and alternating plus and minus round it. The potentials are the dual solution, the reduced costs are the dual constraints, and the method is the simplex method with the tableau drawn differently.

uᵢ + vⱼ = cᵢⱼ on every BASIC cell m + n − 1 equations, m + n unknowns fix one potential — any one — and the rest follow; the reduced costs do not move reduced cost of an empty cell c̄ᵢⱼ = cᵢⱼ − uᵢ − vⱼ all c̄ᵢⱼ ≥ 0 ⟺ optimal a negative one is an improving direction the entering cell closes ONE cycle in the basis; alternate + and − round it θ = the smallest allocation on a minus cell, and that cell leaves the basis
The dual on the left, the pivot on the right

Core ideas

What this lesson establishes

Two of these are the simplex method in disguise. The third is the one readers get wrong on paper, because the shape they expect is not always the shape they get.

1

The potentials are the dual, and one of them is free

There are m + n potentials and only m + n − 1 equations, so the system is under-determined by exactly one degree of freedom. Fixing u₁ = 0 is a normalisation, not a fact: fix any other potential instead and every u and every v moves, while not one reduced cost changes. The lab recomputes the entire reduced-cost table under any normalisation you choose, so this is watched rather than asserted.

2

A reduced cost is what a route would save, per unit

c̄ᵢⱼ = cᵢⱼ − uᵢ − vⱼ is the difference between shipping through cell (i, j) and shipping the same unit round the basis. Negative means the route is cheaper than the current plan by that much per unit; zero on every empty cell means no route is cheaper, which is optimality. This is the dual-feasibility test from the duality course, written for a tableau.

3

The cycle is a cycle, and it is not always a rectangle

Adding one cell to a spanning tree creates exactly one cycle, and that cycle is what the flow moves round. Readers reach for a rectangle — along the row, down the column, back — and on the lab's default start the very first pivot has a six-cornered staircase instead, with the rectangle's fourth corner falling on an empty cell. A cycle may cross an empty cell; it may only turn at an occupied one.

The material

Pricing the empty cells, and moving flow round the cycle that follows

The potentials and what they are, then the reduced costs, then the pivot in full on a table where the obvious shape fails.

Definition · Potentials and reduced costs

Given a basis of m + n − 1 occupied cells, the potentials uᵢ and vⱼ are the solution of uᵢ + vⱼ = cᵢⱼ over those cells, with one potential fixed arbitrarily. The reduced cost of any cell is c̄ᵢⱼ = cᵢⱼ − uᵢ − vⱼ.

Basic cells have reduced cost zero by construction. If every empty cell has c̄ᵢⱼ ≥ 0 the current plan is optimal; otherwise a cell with c̄ᵢⱼ < 0 enters.

The system is solvable exactly when the occupied cells form a spanning tree, which is why the count mattered so much in “The Transportation Problem”. Connected gives every potential a value; acyclic stops two equations from disagreeing about one of them. Solve it by starting anywhere and walking the tree: each basic cell hands a known u to an unknown v or the other way round.

the north-west start on the three-plant table, basis in bold D1 D2 D3 D4 u A [5] [10] . . 0 B . [5] [15] [5] 5 C . . . [10] 3 v 10 2 4 15 check u_A + v_D1 = 0 + 10 = 10 = c ok u_B + v_D3 = 5 + 4 = 9 = c ok reduced costs c - u - v on every cell D1 D2 D3 D4 A 0 0 16 -4 B -3 0 0 0 C -9 9 9 0 most negative: (C, D1) at -9 Dantzig's rule first negative: (A, D4) at -4 Bland's rule

Fix u_A = 0 and the potentials are u = (0, 5, 3), v = (10, 2, 4, 15). Fix v_D1 = 0 instead and they become u = (10, 15, 13), v = (0, −8, −6, 5) — every one of the seven has moved, by 10. Not one of the twelve reduced costs changes, because each is cᵢⱼ − uᵢ − vⱼ and the shift cancels. The lab has a control for each of the seven and reports the shift each produces: 0, 5, 3, −10, −2, −4, −15.

Taking the cell, and the cycle it closes

The basis is a spanning tree of the rows and columns. Adding one more cell to a spanning tree creates exactly one cycle, and that cycle alternates between moving along a row and moving down a column. Put a plus on the entering cell, then alternate signs round the cycle. Every plus cell gains θ, every minus cell loses it, and the row and column sums are unchanged for every θ.

Example · The staircase, on the first pivot

(C, D1) enters with a reduced cost of −9. The cycle the lab computes has six corners: (C,D1)+ (C,D4)− (B,D4)+ (B,D2)− (A,D2)+ (A,D1)−. The rectangle a reader guesses — along row C, up column D1 — would need to turn at (B, D1), and (B, D1) is empty, so the guess is refused and the walk goes further.

θ is the smallest allocation on a minus cell: the minus cells carry 10, 5 and 5, so θ = 5 and (B, D2) leaves. The cost falls from 520 to 475, which is 9 × 5 less.

The lab draws the guess alongside the computed cycle and names the corner that breaks it. On the second pivot of the same run the guess closes and the two agree; on the third, the entering cell's column holds no other occupied cell at all, so there is no rectangle to draw. The guess is not always wrong, which is exactly why it has to be checked.

Degeneracy, and what it does to the cost

Example · A pivot that changes the basis and not the bill

The second pivot of the default run brings (A, D4) in, and the smallest allocation on a minus cell is 0 — the zero at (A, D1). So θ = 0: the cell enters, (A, D1) leaves, the basis is different, and the cost stands still at 475.

The run's costs are 520 → 475 → 475 → 435, and an implementation asserting that every iteration is strictly cheaper would fail on the shipped example. Non-increasing is the claim. This is the degeneracy of the simplex course, arriving in a tableau that looks nothing like a simplex tableau.

Three pivots from the north-west start, one from the least-cost start, and both land on 435 at the same plan. The entering rule moves the path and not the destination: on the surplus table, Dantzig's rule takes three pivots from either start while Bland's takes four from one and six from the other, all four finishing at 605.

And the dummy question from “The Transportation Problem” can now be settled with a number. Price the dummy column at ten times the dearest real route — 160 rather than 0 — and re-solve the surplus table. The real shipping bill is 605 either way. Every feasible plan sends the same 10 units to the dummy, so the penalty adds a constant of 1600 to every plan and the cheapest one cannot move. What does move is the least-cost start, from 665 to 635, because that rule reads the cost table; the north-west start does not move at all, because it never reads one.

Interactive

The simplex, rewritten for a tableau

u and v price the empty cells, and a closed path of ±θ does the pivot

One iteration, and the cycle it turns onu + v on the occupied cells, c − u − v on the rest, and a closed path of ±θ
the stepping-stone cycleentering cellleaving cella negative reduced cost

Method

One iteration, start to finish

Potentials, prices, entering cell, cycle, theta, leaving cell. Then do it again; there is nothing else in the method.

1

Solve the potentials on the occupied cells

Fix one — any one — and walk the tree, each basic cell determining one new potential from one already known. If you get stuck with potentials still unknown, the basis is disconnected and the repair from “The Transportation Problem” is needed.

2

Price every empty cell, and check the basic ones came out zero

c̄ᵢⱼ = cᵢⱼ − uᵢ − vⱼ. The basic cells must all price at zero; if one does not, the potentials are wrong and there is no point going on. All non-negative on the empty cells means you have finished.

3

Choose the entering cell by a stated rule

Most negative, or first negative in row order. Say which you are using: they pick different cells on the very first tableau of the worked example, and they take different numbers of pivots to the same answer.

4

Trace the cycle, turning only where something is allocated

From the entering cell, alternate row moves and column moves back to where you started. Every corner after the first must be an occupied cell. You may cross an empty cell in passing; you may not turn at one, and the cycle is unique so there is nothing to choose.

5

Move θ round it and update

θ is the smallest allocation on a minus corner. Add it to the plus corners, take it off the minus corners, and remove exactly one cell that hit zero — if two did, keep one as a basic zero, or the count breaks.

Potentials, prices and the cycle

Score 0 / 0

The default table, from the north-west start to the optimum

Three pivots. Everything below is what the lab reports at each step, including the degenerate one and the two occasions on which the rectangle guess fails.

START north-west, cost 520 basis (1,1)=5 (1,2)=10 (2,2)=5 (2,3)=15 (2,4)=5 (3,4)=10 PIVOT 1 u = (0, 5, 3) v = (10, 2, 4, 15) reduced 0 0 16 -4 / -3 0 0 0 / -9 9 9 0 enters (3,1) at -9 Dantzig guess rectangle turns at (2,1), which is EMPTY REFUSED cycle (3,1)+ (3,4)- (2,4)+ (2,2)- (1,2)+ (1,1)- six corners theta min(10, 5, 5) = 5, and (2,2) leaves cost 520 - 9(5) = 475 PIVOT 2 u = (0, -4, -6) v = (10, 2, 13, 24) enters (1,4) at -13 guess (1,4) (1,1) (3,1) (3,4) closes on four occupied corners cycle the same four theta 0, and (1,1) leaves DEGENERATE cost 475 - 13(0) = 475 unchanged PIVOT 3 u = (0, 9, 7) v = (-3, 2, 0, 11) enters (2,2) at -4 guess no rectangle: column 3 holds no other occupied cell cycle (2,2)+ (2,4)- (1,4)+ (1,2)- theta 10, and (2,4) leaves cost 475 - 4(10) = 435 STOP u = (0, 5, 7) v = (-3, 2, 4, 11) reduced 13 0 16 0 / 10 0 0 4 / 0 5 5 0 none negative, so 435 is optimal plan 0 5 0 10 / 0 10 15 0 / 5 0 0 5 from the LEAST-COST start the same table needs ONE pivot, to the same 435

Pivot 2 is the one to sit with. A cell enters, a cell leaves, the plan does not move an ounce of anything, and the cost is identical. That is not a bug and it is not a waste: the basis has changed, and the next tableau prices the cells differently because of it, which is how pivot 3 becomes available.

For a rehearsal, run the same table from the least-cost start. It opens at 475 and one pivot takes it to 435. Then ask which start you would rather have: the cheaper opening took fewer pivots here, and on the surplus table it takes more under one of the two entering rules. There is no theorem in this neighbourhood, which is worth knowing.

The harder rehearsal: switch the entering rule to Bland's and run the default table again. The first cell to enter is now (1,4) at −4 rather than (3,1) at −9, and the path is different all the way down. Both finish at 435. A pivot rule is a policy about the route, not about the destination.

Common mistakes

1
Believing u₁ = 0 is part of the methodIt is one arbitrary choice out of m + n, made so that a solvable system has a unique answer. Readers who think the potentials are determined go looking for an error when someone else's u and v differ from theirs by a constant, and sometimes recompute a whole tableau over it. Check the reduced costs instead: those really are determined, and they are what the method uses.
2
Looking for a rectangle instead of tracing the cycleOn the lab's very first pivot the cycle has six corners, and the rectangle a reader draws needs to turn on an empty cell. The habit survives because rectangles are common — the second pivot of the same run is one — which makes it worse, not better. Trace the path: alternate row and column moves, turn only where something is allocated, and stop when you are back at the start.
3
Removing two cells when two of them hit zero togetherIf θ is attained on more than one minus corner, exactly one of them leaves and the others stay in the basis carrying zero. Removing both drops the count below m + n − 1, the basis stops being a spanning tree, and the next set of potentials cannot be solved for — with the cause now several steps behind you.

Check your understanding

✓
Finish when you can run a full iteration by hand and produce the cycle without guessing its shape.

You should be able to solve the potentials from any normalisation, price every empty cell, state the entering rule you are using and apply it, trace the unique cycle turning only at occupied cells, compute θ over the minus corners, and say which cell leaves — including when θ is zero.

Note: Both the transportation optima on this lesson came out in whole units, and so did every intermediate plan, and nothing in the method ever mentioned integrality: θ was the smallest of a set of whole allocations, so it was whole, so every updated allocation was whole. That argument only works because the cycle has coefficients of plus and minus one, which is a property of the matrix. The next lesson, “Total Unimodularity and Integer Corners”, is where that property gets a name and a proof — and where a matrix that does not have it produces a corner made of halves.

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.