AL12, AL13 - The simplex method
Build, pivot and interpret simplex tableaux for a maximisation problem in augmented form. Connect the algebra to movement between feasible vertices, and distinguish optimality, degeneracy and other possible outcomes.
Setting up an initial tableau
How does a table of coefficients know which corner of a feasible region to try next?
Its equations describe one basic feasible solution, and its objective row shows which changes may improve the objective. A pivot changes the description to a neighbouring feasible corner.
You already know
Convert upper-bound inequalities into equalities using non-negative slack variables. A bounded LP has an optimal vertex. Integer restrictions are a separate issue; ordinary simplex solves the continuous LP.
Use the objective equation , so an initial maximisation row contains the negative profit coefficients. Columns record variables and the right-hand side, labelled RHS.
Basic and non-basic variables
In a canonical tableau, the basic-variable columns form unit columns in the constraint rows, and their objective-row entries are zero. Set the non-basic variables to zero to read the current basic solution from RHS. It is feasible when every variable value is non-negative.
For the usual initial slack basis, the decision variables are zero and each slack equals its constraint's RHS. These RHS values must be non-negative for that starting solution to be feasible.
Worked example 1: a ready-to-start slack basis
Question. Set up the initial tableau for
Plan. Add slacks, move the objective terms to the left and copy coefficients into columns.
| RHS | |||||
|---|---|---|---|---|---|
Why this step? The slack unit columns supply a basic solution without solving simultaneous equations.
Answer. The displayed tableau has basic variables , non-basic variables , and .
Check. At , both slacks are , so the starting vertex is the feasible origin.
Change only the profit coefficients.
Worked example 2: the objective row changes
Question. Use the same constraints but maximise . Set up the initial tableau.
Plan. Retain the resource rows and replace the objective equation.
| RHS | |||||
|---|---|---|---|---|---|
Why this step? The feasible region stays the same; only the incentive for leaving the origin changes.
Answer. The displayed initial tableau again represents , , .
Check. The basic unit columns and all constraint RHS values are unchanged.
The tableau is a compact system of equations, not a new set of approximate measurements. Keep fractions exact during pivots.
Watch out
Wrong: put in the first objective row for the convention used here. Right: write the equation before copying coefficients.
Use a new objective with the same resources.
Choosing an entering variable and pivot
With this maximisation convention, a negative objective-row coefficient identifies a possible entering variable. Unless directed otherwise, choosing the most negative one is a usual rule.
The leaving variable is limited by feasibility. In the entering column, use only positive constraint entries and calculate RHS divided by that entry. Choose the smallest non-negative ratio, including zero if it occurs. Ignore zero and negative column entries.
The ratio test
For entering variable , a row with positive coefficient gives the bound
when the other non-basic variables stay zero. The tightest such bound identifies a pivot row; the pivot is its entering-column entry.
Not in the formula booklet: learn it.
A tie permits more than one limiting row; it can produce a degenerate solution. If a question prescribes the entering column, follow it rather than applying a different preference.
Worked example 3: x enters
Question. Choose a pivot for the initial tableau of Example 1.
Plan. Select the most negative objective entry, then compare the positive-column ratios.
Why this step? Increasing with reaches first, so that resource must leave the slack basis first.
Answer. Pivot on the entry in the first constraint row and column; enters and leaves.
Check. The proposed new point is , with .
Change only the objective to Example 2's coefficients.
Worked example 4: y enters instead
Question. Choose a pivot for Example 2's initial tableau.
Plan. Choose the most negative entry in the new objective row and compare its column ratios.
Why this step? The changed objective favours increasing , and the second resource limits that movement.
Answer. Pivot on in the second constraint row and column; enters and leaves.
Check. The resulting vertex will be , with first slack .
The ratio test is not a comparison of the RHS values alone: the entering-column coefficients determine the rate at which each slack is consumed.
Watch out
Wrong: include a negative or zero column entry in the ratio comparison, or choose the largest ratio. Right: positive entries give upper bounds; use the smallest permitted ratio.
Choose the first pivot for a fresh objective.
Transforming the tableau
Divide the pivot row by the pivot to make its entry . Then use that new row to make every other entry in its column zero, including the objective row.
These are row operations on equations, so they preserve the underlying LP while changing its basic-variable description.
Worked example 5: the first iteration
Question. For Example 1, pivot on in the first constraint row and column.
Plan. Normalise the first constraint row, then remove from the objective and second constraint.
With the objective and the constraint rows:
| RHS | |||||
|---|---|---|---|---|---|
Why this step? Every elimination uses the normalised row, not the old pivot row.
Answer. The new basic solution is , with and .
Check. The column is a unit column; substituting in gives .
Now change the entering variable at the next vertex: the remaining negative objective entry is in the column.
Continue this lesson.
You’re previewing NovaLearn without an account. Create a free account to read the rest.
Create free account