Two-stage Simplex Method (Edexcel A Level Further Maths): Revision Note
Exam code: 9FM0
Introduction to Two-Stage Simplex Method
What is the two-stage simplex method?
The simplex algorithm solves maximisation linear programming problems where all (non-negativity) constraints involve ≤
The two-stage simplex method adapts the simplex algorithm to solve linear programming problems
involving constraints with ≥
where the objective function is to be minimised
In both cases the simplex algorithm cannot be used directly
it is based on the basic feasible region containing the basic feasible solution of the origin
The two-stage simplex method is two applications of the simplex algorithm
The first stage of the two-stage simplex method finds a basic feasible solution (if one exists)
If a basic feasible solution is found the second stage applies the simplex algorithm as usual
Surplus & Artificial Variables
What are surplus variables?
Surplus variables are used to turn inequalities involving ≥ into equations
A surplus variable, as the name implies, takes up the excess (surplus) that a function has in "greater than or equal to" constraints
A surplus variable will be subtracted from (the left hand side of) each constraint so will be non-negative
The number of surplus variables required in a problem will be the same as the number of (non-negativity) constraints that contain ≥
Any inequalities involving ≤ will still require slack variables
Whenever a surplus variable is introduced, an artificial variable will also be needed
What are artificial variables?
Artificial variables are used to ensure each constraint with a surplus variable contains a basic variable
A surplus variable is subtracted, so will have a coefficient of -1
basic variables have a coefficient of 1
Artificial variables will always start with a coefficient of 1
Examiner Tips and Tricks
You need to be able to recognise when the simplex algorithm cannot (directly) be used to solve a linear programming problem
This is due to the presence of constraints involving ≥ (or a mixture of ≤ and ≥)
Worked Example
The following linear programming problem is to be solved using the two-stage simplex method.
Maximise
subject to
Use slack, surplus and artificial variables as necessary to write the constraints (except the non-negativity constraint) of the linear programming problem as equations.
Use and
as surplus and artificial variables in the first constraint as it involves ≥
The second constraint involves ≥ too so will also need a surplus and artificial variable
The third constraint involves ≤ so requires a slack variable
The constraints as equations using slack, surplus and artificial variables are
How do I set up the initial tableau for the two-stage simplex method?
To set up the initial tableau, the equations derived from the inequalities (constraints) are needed along with
a rearrangement of the objective function such that zero is on one side
e.g.
becomes
a new objective function,
. which is the negative sum of the artificial variables
e.g. where two artificial variables
and
have been introduced,
In general,
for
artificial variables
artificial variables should be written in terms of the decision and surplus variables before being substituted into
is then rearranged such that all variables are on one side and a constant is on the other
The initial tableau can then be constructed with two objective rows
one for
, one for
Worked Example
Construct the initial tableau for the two-stage simplex method for the objective function
and equations (constraints)
Introduce (
is already in the required form)
Rewrite and
in terms of
and
(
is a slack variable)
Substitute into
Rearrange so all variables are on the same side as (positive) and a constant on the other
Set up the initial tableau two objective rows for and
b.v. | Value | ||||||||
1 | 1 | 1 | -1 | 0 | 0 | 1 | 0 | 20 | |
2 | -1 | 2 | 0 | -1 | 0 | 0 | 1 | 25 | |
2 | 3 | 4 | 0 | 0 | 1 | 0 | 0 | 80 | |
-2 | -4 | -3 | 0 | 0 | 0 | 0 | 0 | 0 | |
-3 | 0 | 3 | 1 | 1 | 0 | 0 | 0 | -45 |
Maximising Problems
How do I apply the first-stage of the two-stage simplex method to maximising problems?
In the first-stage,
will be maximised
the maximum
can be is 0
this is when each artificial variable equals 0
artificial variables cannot be negative
At the end of the first-stage
if
then a basic feasible region does not exist and the linear programming problem cannot be solved
there will be no need (or point) in progressing to the second-stage
if
then a basic feasible region does exist
the objective row
and the artificial variable columns can be removed from the tableau before commencing the second stage
Worked Example
The initial tableau for using the two-stage simplex method is given below.
Apply the first-stage of the two-stage simplex method to maximise .
Give your final answer as the tableau with and
removed.
b.v. | Value | ||||||||
1 | 1 | 1 | -1 | 0 | 0 | 1 | 0 | 20 | |
2 | -1 | 2 | 0 | -1 | 0 | 0 | 1 | 25 | |
2 | 3 | 4 | 0 | 0 | 1 | 0 | 0 | 80 | |
-2 | -4 | -3 | 0 | 0 | 0 | 0 | 0 | 0 | |
-3 | 0 | 3 | 1 | 1 | 0 | 0 | 0 | -45 |
Apply the simplex algorithm to maximise
There is a negative entry in the () objective row -3 is the most negative
C1 is the pivot column, the -values are
is the least positive so R2 is the pivot row
The pivot element is in cell R2C1 (highlighted in tableau above)
Pivot is 2
Apply the appropriate row operations, starting with the pivot row, R2
b.v. | Value | Row Op. | ||||||||
0 | 1.5 | 0 | -1 | 0.5 | 0 | 1 | -0.5 | 7.5 | ||
1 | -0.5 | 1 | 0 | -0.5 | 0 | 0 | 0.5 | 12.5 | ||
0 | 4 | 2 | 0 | 1 | 1 | 0 | -1 | 55 | ||
0 | -5 | -1 | 0 | -1 | 0 | 0 | 1 | 25 | ||
0 | -1.5 | 0 | 1 | -0.5 | 0 | 0 | 1.5 | -7.5 |
There is a negative entry in the () objective row -1.5 is the most negative
C2 is the pivot column, the -values are
is the least positive so R1 is the pivot row
The pivot element is in cell R1C2
Pivot is 1.5
Apply the appropriate row operations, starting with the pivot row, R1
b.v. | Value | Row Op. | ||||||||
0 | 1 | 0 | -2/3 | 1/3 | 0 | 2/3 | -1/3 | 5 | ||
1 | 0 | 1 | -1/3 | -1/3 | 0 | 1/3 | 1/3 | 15 | ||
0 | 0 | 2 | 8/3 | -1/3 | 1 | -8/3 | 1/3 | 35 | ||
0 | 0 | -1 | -10/3 | 2/3 | 0 | 10/3 | -2/3 | 50 | ||
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
There are no negative values in the () objective row so
has been maximised and the first-stage of the method is complete
Reading from the tableau, we see that neither nor
are basic variables so both have the value 0, and the value of
is 0
The final answer is required as the tableau with and
removed
b.v. | Value | ||||||
0 | 1 | 0 | -2/3 | 1/3 | 0 | 5 | |
1 | 0 | 1 | -1/3 | -1/3 | 0 | 15 | |
0 | 0 | 2 | 8/3 | -1/3 | 1 | 35 | |
0 | 0 | -1 | -10/3 | 2/3 | 0 | 50 |
How do I apply the second-stage of the two-stage simplex method to maximising problems?
After the first-stage, the value of
should be zero
If it is not then a feasible region does not exist and the linear programming problem cannot be solved
In the second-stage, the simplex algorithm is applied as usual to maximise the objective function
Worked Example
After the first-stage of the two-stage simplex method has been applied to a linear programming problem the following tableau is formed. Apply the second-stage of the two-stage simplex method to find the optimal solution.
b.v. | Value | ||||||
0 | 1 | 0 | -2/3 | 1/3 | 0 | 5 | |
1 | 0 | 1 | -1/3 | -1/3 | 0 | 15 | |
0 | 0 | 2 | 8/3 | -1/3 | 1 | 35 | |
0 | 0 | -1 | -10/3 | 2/3 | 0 | 50 |
The second-stage of the two stage simplex method is to apply the simplex algorithm
There is a negative entry in the objective row -10/3 is the most negative
C4 is the pivot column, the -values are
is the least positive so R3 is the pivot row The pivot element is in cell R3C4 (highlighted in tableau above)
Pivot is 8/3
Apply the appropriate row operations, starting with the pivot row, R3
b.v. | Value | Row Op. | ||||||
0 | 1 | 0.5 | 0 | 0.25 | 0.25 | 13.75 | ||
1 | 0 | 1.25 | 0 | -0.375 | 0.125 | 18.375 | ||
0 | 0 | 0.75 | 1 | -0.125 | 0.375 | 13.126 | ||
0 | 0 | 1.5 | 0 | 0.25 | 1.25 | 93.75 |
There are no negative values in the objective row so the algorithm is complete and the optimal solution can be read from the final tableau are basic variables,
are non-basic
has a maximum value of 93.75
Minimising Problems
How do I apply the two-stage simplex method to minimising problems?
Minimising the objective function is the same as maximising the negative of the objective function
So in minimisation problems, we maximise the negative of the objective function
e.g. Minimising
is the same as maximising
The two-stage simplex method for minimisation problems is otherwise the same as for maximisation problems
The first-stage maximises the (new) objective function,
where
is the negative sum of the artificial variables
At the end of the first-stage, if
a feasible region exists
the tableau can have the row for
and the columns for the artificial variable removed
the second-stage of applying the simplex algorithm will then maximise
For minimisation problems, the maximum
will need interpreting as the minimum for
is often used as 'costs' require minimising (
is often for profit)
Worked Example
Solve the following linear programming problem using the two-stage simplex method.
Minimise
subject to
Minimising is the same as maximising
, where
will need rewriting in the correct form for the initial tableau
Use slack, surplus and artificial variables to rewrite the constraints as equations
Introduce, find and write in the correct format for the initial tableau
Let
Construct the initial tableau
b.v. | Value | |||||||
1 | 8 | -1 | 0 | 0 | 1 | 0 | 9 | |
1 | 1 | 0 | 1 | 0 | 0 | 0 | 9 | |
6 | -1 | 0 | 0 | -1 | 0 | 1 | 5 | |
4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | |
-7 | -7 | 1 | 0 | 1 | 0 | 0 | -14 |
Apply the simplex algorithm to maximise
There is a negative entry in the () objective row -7 is the most negative (either can be chosen, we're choosing the first)
C1 is the pivot column, the -values are
is the least positive so R3 is the pivot row
The pivot element is in cell R3C1
Pivot is 6
Apply the appropriate row operations, starting with the pivot row, R3
b.v. | Value | Row Op. | |||||||
0 | 49/6 | -1 | 0 | 1/6 | 1 | -1/6 | 49/6 | ||
0 | 7/6 | 0 | 1 | 1/6 | 0 | -1/6 | 49/6 | ||
1 | -1/6 | 0 | 0 | -1/6 | 0 | 1/6 | 5/6 | ||
0 | 8/3 | 0 | 0 | 2/3 | 0 | -2/3 | -10/3 | ||
0 | -49/6 | 1 | 0 | -1/6 | 0 | -7/6 | -49/6 |
There is a negative entry in the () objective row -49/6 is the most negative
C2 is the pivot column, the -values are
is the least positive so R1 is the pivot row
The pivot element is in cell R1C2
Pivot is 49/6
Apply the appropriate row operations, starting with the pivot row, R1
b.v. | Value | Row Op. | |||||||
0 | 1 | -6/49 | 0 | 1/49 | 6/49 | -1/49 | 1 | ||
0 | 0 | 1/7 | 1 | 1/7 | -1/7 | -1/7 | 7 | ||
1 | 0 | -1/49 | 0 | -8/49 | 1/49 | 8/49 | 1 | ||
0 | 0 | 16/49 | 0 | 30/49 | -16/49 | -30/49 | -6 | ||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
There are no negative entries in the () objective row so the first-stage is complete,
Remove from the tableau to complete the first-stage
b.v. | Value | |||||
0 | 1 | -6/49 | 0 | 1/49 | 1 | |
0 | 0 | 1/7 | 1 | 1/7 | 7 | |
1 | 0 | -1/49 | 0 | -8/49 | 1 | |
0 | 0 | 16/49 | 0 | 30/49 | -6 |
There are no negative values in the objective row so the method is complete (no second-stage required) and the optimal solution can be read from the final tableau
are basic variables,
are non-basic
Change from maximising to minimising
The solution to the linear programming problem is with
minimised at
(
)
You've read 0 of your 5 free revision notes this week
Unlock more, it's free!
Did this page help you?