You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
The graphical method is elegant but trapped in two dimensions — three products, four resources, or any realistic problem cannot be drawn. The Simplex algorithm, devised by George Dantzig in 1947, is the algebraic engine that breaks free. It encodes the linear programme as a tableau of numbers and then "walks" from one vertex of the feasible region to a neighbouring vertex that is at least as good, repeating until no improving move remains. Geometrically it is a tour of the corners of a high-dimensional polytope; arithmetically it is disciplined Gaussian elimination steered by a profit row. This lesson builds the method from slack variables to the optimality test, with two fully worked tableau traces.
This is the algebraic climax of the linear-programming strand of the Paper 3 Discrete option (7367/3D) (Paper 3: 2 h, 100 marks, 33⅓%; AO1 40% / AO2 25% / AO3 35%). Carrying out the pivot procedure accurately is AO1; interpreting a tableau as a basic feasible solution, recognising the optimality condition, and reading off the answer are AO2. AQA typically asks for the setup and one or two iterations, so accuracy in a single pivot is worth securing completely.
The Simplex algorithm requires the LP in standard form:
maximise subject to P=c1x1+c2x2+⋯+cnxnai1x1+⋯+ainxn≤bi(bi≥0)xj≥0 for all j.Each "≤" inequality becomes an equation by adding a non-negative slack variable si that absorbs the unused capacity:
ai1x1+⋯+ainxn+si=bi,si≥0.
If si>0 the ith resource is not fully used; if si=0 the constraint is binding (active). The objective is written with everything on the left, P−c1x1−⋯−cnxn=0, which is why its tableau row holds the negatives −cj.
A basic feasible solution (BFS) sets the n non-basic variables to 0 and reads the basic ones from the right-hand column — this is exactly a vertex of the feasible region. The Simplex algorithm hops from BFS to BFS, i.e. vertex to vertex.
It helps to see why the slack trick works. With m constraints and n decision variables we now have n+m variables but only m equations, so the system is underdetermined — there are infinitely many solutions, one for each choice of which variables are "free". Setting n of the variables to zero leaves a square m×m system that pins down the remaining m (the basic variables) uniquely; if those values are all ≥0 the point is feasible, and it is a corner of the region precisely because n constraints (the zeroed variables, or original inequalities turned binding) are active at once. Each Simplex pivot swaps one variable into the basis and one out, which geometrically slides you along an edge from one corner to the next. So the bookkeeping of "entering" and "leaving" variables is not arbitrary ritual — it is the algebra of moving between adjacent vertices.
Lay the system out as a tableau, one row per constraint plus the objective (P) row:
| basis | x1 | x2 | s1 | s2 | RHS |
|---|---|---|---|---|---|
| s1 | a11 | a12 | 1 | 0 | b1 |
| s2 | a21 | a22 | 0 | 1 | b2 |
| P | −c1 | −c2 | 0 | 0 | 0 |
The starting BFS is x1=x2=0, s1=b1, s2=b2, P=0 — the origin.
One iteration:
Exam tip. The pivot column is chosen from the P row (most negative); the pivot row from the ratio test (smallest ratio). Mixing these up is the single most common structural error. Show your ratios explicitly — they carry method marks.
Maximise P=5x+4y subject to 6x+4y≤24, x+2y≤6, x,y≥0.
Add slacks: 6x+4y+s1=24, x+2y+s2=6.
Initial tableau.
| basis | x | y | s1 | s2 | RHS |
|---|---|---|---|---|---|
| s1 | 6 | 4 | 1 | 0 | 24 |
| s2 | 1 | 2 | 0 | 1 | 6 |
| P | −5 | −4 | 0 | 0 | 0 |
Iteration 1. Most negative P-entry: −5 (column x). Ratios 24/6=4 and 6/1=6; smallest is 4 (row s1), so pivot on the 6. (M1 for the correct pivot via most-negative + ratio test.)
R1R2P→61R1=[1, 32, 61, 0 ∣ 4],→R2−R1new=[0, 34, −61, 1 ∣ 2],→P+5R1new=[0, −32, 65, 0 ∣ 20].| basis | x | y | s1 | s2 | RHS |
|---|---|---|---|---|---|
| x | 1 | 32 | 61 | 0 | 4 |
| s2 | 0 | 34 | −61 | 1 | 2 |
| P | 0 | −32 | 65 | 0 | 20 |
(A1 for a correct tableau after iteration 1; the BFS here is x=4, y=0, P=20.)
Iteration 2. Most negative: −32 (column y). Ratios 4÷32=6 and 2÷34=23; smallest is 23 (row s2), pivot on 34.
R2R1P→43R2=[0, 1, −81, 43 ∣ 23],→R1−32R2new=[1, 0, 41, −21 ∣ 3],→P+32R2new=[0, 0, 43, 21 ∣ 21].| basis | x | y | s1 | s2 | RHS |
|---|---|---|---|---|---|
| x | 1 | 0 | 41 | −21 | 3 |
| y | 0 | 1 | −81 | 43 | 23 |
| P | 0 | 0 | 43 | 21 | 21 |
No negative P-row entries, so this is optimal: x=3, y=23, P=21. (A1.) Check: 6(3)+4(23)=24 ✓ and 3+2(23)=6 ✓ — both constraints binding, and P=15+6=21. (A1 for verifying against the original constraints.)
Track the vertices the algorithm visited: it started at the origin (0,0) with P=0, stepped to (4,0) with P=20, and finished at (3,23) with P=21 — three corners of the feasible quadrilateral, each better than the last. That is the Simplex idea made visible: an uphill walk along the edges of the polygon.
The graphical method cannot touch this — there is no two-dimensional picture of a three-variable region.
Maximise P=5x1+4x2+3x3 subject to 2x1+3x2+x3≤5,4x1+x2+2x3≤11,3x1+4x2+2x3≤8,xj≥0.
Add slacks w1,w2,w3.
| basis | x1 | x2 | x3 | w1 | w2 | w3 | RHS |
|---|---|---|---|---|---|---|---|
| w1 | 2 | 3 | 1 | 1 | 0 | 0 | 5 |
| w2 | 4 | 1 | 2 | 0 | 1 | 0 | 11 |
| w3 | 3 | 4 | 2 | 0 | 0 | 1 | 8 |
| P | −5 | −4 | −3 | 0 | 0 | 0 | 0 |
Iteration 1. Most negative: −5 (x1). Ratios 5/2=2.5, 11/4=2.75, 8/3≈2.67; smallest is 2.5, pivot on the 2 in row w1.
R1R2R3P→21R1=[1, 23, 21, 21, 0, 0 ∣ 25],→R2−4R1new=[0, −5, 0, −2, 1, 0 ∣ 1],→R3−3R1new=[0, −21, 21, −23, 0, 1 ∣ 21],→P+5R1new=[0, 27, −21, 25, 0, 0 ∣ 225].Iteration 2. The only negative P-entry is −21 (x3). Ratios use positive x3-entries: row x1 gives 25÷21=5; row w2 has entry 0 (skip); row w3 gives 21÷21=1. Smallest is 1, pivot on the 21 in row w3.
R3R1P→2R3=[0, −1, 1, −3, 0, 2 ∣ 1],→R1−21R3new=[1, 2, 0, 2, 0, −1 ∣ 2],→P+21R3new=[0, 3, 0, 1, 0, 1 ∣ 13].(R2 is unchanged since its x3-entry was 0.) The P row is now [0,3,0,1,0,1∣13] — all non-negative, so optimal: x1=2, x2=0, x3=1, P=13. Check: 2(2)+3(0)+1=5 ✓, 4(2)+0+2=10≤11, 3(2)+0+2=8 ✓; P=10+0+3=13 ✓.
A finished tableau carries more than the optimum:
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.