Big-M Method
What is the Big-M method?
- The Big-M method is an adaption of the simplex algorithm
- It is an alternative to the two-stage simplex method
- The Big-M method can be used to
- solve problems involving constraints that contain ≥
- solve minimisation (as well as maximisation) linear programming problems
- The Big-M method has the advantage of not requiring two stages
- Each tableau requires just one objective row
- The big-M method has the disadvantage that some of the algebra can get awkward to track and follow
- is an arbitrarily large positive number
- This is so expressions such as are definitely negative and will definitely be positive
- is never actually assigned a value, nor would it need to be calculated
How do I rewrite the constraints and objective function for the Big-M method?
- STEP 1
Use slack, surplus and artificial variables to convert the constraints of a linear programming problem into equations
- STEP 2
Rearrange each constraint containing an artificial variable such that the artificial variable is the subject
- STEP 3
Subtract from the objective function, where- is the sum of the artificial variables ()
- is an arbitrarily large, positive number
Worked example
The linear programming problem formulated below is to be solved using the Big-M method.
Maximise
subject to
Rewrite the constraints and objective function such that the initial tableau for the Big-M method can be produced.
(You do not need to produce the initial tableau.)
- STEP 1
requires a slack variable
requires a slack variable
requires a surplus and an artificial variable
requires a surplus and an artificial variable
()
- STEP 2
Rearrange each constraint containing an artificial variable
- STEP 3
Subtract from (find first)
and so
How do I apply the Big-M method?
- Once the constraints and objective function and rewritten the initial tableau for the Big-M method can be produced
- (Some of) the entries in the objective line will be algebraic - in terms of
- Apply the simplex algorithm as usual to solve the problem
- A tableau is optimal when there are no negative entries in the objective row
- Big-M makes negative entries easy to spot!
- The row operations for the objective row are a little harder as they involve adding or subtracting algebraic terms that are in terms of
- As previously, use apostrophes to indicate 'old rows' in the row operations column
- A tableau is optimal when there are no negative entries in the objective row
Examiner Tip
- If a question doesn't specify, it is a good idea to write down the values of all variables as the final answer
- the decision variables, and any slack, surplus and artificial variables
- only the basic variables take their values from the final tableau
- non-basic variables always have the value zero
- Remember to also state the objective function value, stating whether it is a maximum or minimum
Worked example
A maximisation linear programming problem has been formulated so it is ready to be solved using the Big-M adaption of the simplex algorithm.
Form the initial tableau and apply the simplex algorithm to find the optimal solution to the problem.
The initial tableau is formed from the rearranged constraints and objective function
b.v. | Value | ||||||||
1 | -1 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | |
1 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 16 | |
2 | 3 | 0 | 0 | -1 | 0 | 1 | 0 | 18 | |
2 | -1 | 0 | 0 | 0 | -1 | 0 | 1 | 2 | |
0 | 0 | 0 | 0 |
There is at least one negative entry in the objective line so the tableau is not yet optimal
Apply an iteration of the simplex algorithm
is the most negative
C1 is the pivot column; the -values are
is the least positive so R4 is the pivot row
The pivot element is in cell R4C1
Pivot is 2
The pivot (R4C1) needs to be changed to 1 through a row operation
Every other entry in C1 should be changed to 0 through row operations
b.v. | Value | Row Op. | ||||||||
0 | -0.5 | 1 | 0 | 0 | 0.5 | 0 | -0.5 | 3 | ||
0 | 2.5 | 0 | 1 | 0 | 0.5 | 0 | -0.5 | 15 | ||
0 | 4 | 0 | 0 | -1 | 1 | 1 | -1 | 16 | ||
1 | -0.5 | 0 | 0 | 0 | -0.5 | 0 | 0.5 | 1 | ||
0 | 0 | 0 | 0 |
There is a negative entry in the objective row, so apply a second iteration
is the most negative
C2 is the pivot column; the -values are
is the least positive so R3 is the pivot row
The pivot element is in cell R3C2
Pivot is 4
Apply the appropriate row operations, starting with the pivot row, R3
b.v. | Value | Row Op. | ||||||||
0 | 0 | 1 | 0 | -0.125 | 0.625 | 0.125 | -0.625 | 5 | 'R1' + 0.5R3 | |
0 | 0 | 0 | 1 | 0.625 | -0.125 | -0.625 | 0.125 | 5 | 'R2' - 2.5R3 | |
0 | 1 | 0 | 0 | -0.25 | 0.25 | 0.25 | -0.25 | 4 | 0.25'R3' | |
1 | 0 | 0 | 0 | -0.125 | -0.375 | 0.125 | 0.375 | 3 | 'R4' + 0.5R3 | |
0 | 0 | 0 | 0 | -0.875 | -0.625 | 17 |
There is a negative entry in the objective row, so apply a third iteration
-0.875 is the most negative
C5 is the pivot column; the -values are
is the least positive so R2 is the pivot row
The pivot element is in cell R2C5
Pivot is 0.625
Apply the appropriate row operations, starting with the pivot row, R2
b.v. | Value | Row Op. | ||||||||
0 | 0 | 1 | 0.2 | 0 | 0.6 | 0 | -0.6 | 6 | ||
0 | 0 | 0 | 1.6 | 1 | -0.2 | -1 | 0.2 | 8 | ||
0 | 1 | 0 | 0.4 | 0 | 0.2 | 0 | -0.2 | 6 | ||
1 | 0 | 0 | 0.2 | 0 | -0.4 | 0 | 0.4 | 4 | ||
0 | 0 | 0 | 1.4 | 0 | -0.8 | 24 |
There is a negative entry in the objective row, so apply a fourth iteration
-0.8 is the most negative
C6 is the pivot column; the -values are
is the least positive so R1 is the pivot row
The pivot element is in cell R1C6
Pivot is 0.6
Apply the appropriate row operations, starting with the pivot row, R1
b.v. | Value | Row Op. | ||||||||
0 | 0 | 5/3 | 1/3 | 0 | 1 | 0 | -1 | 10 | ||
0 | 0 | 1/3 | 5/3 | 1 | 0 | -1 | 0 | 10 | ||
0 | 1 | -1/3 | 1/3 | 0 | 0 | 0 | 0 | 4 | ||
1 | 0 | 2/3 | 1/3 | 0 | 0 | 0 | 0 | 8 | ||
0 | 0 | 4/3 | 5/3 | 0 | 0 | 32 |
There are no negative entries in the objective row so the tableau is optimal
are the basic variables and so their values are read from the table
are the non-basic variables and so their values are all zero
is maximised when and at
How do I use the Big-M method for minimisation problems?
- To use the Big-M method for minimising the objective function
- Introduce a new objective function, , say, such that
- After finding in the required form for tableau entry, write in the same way
- Use as the objective row in the simplex algorithm
- Introduce a new objective function, , say, such that
- Maximising is the same as minimising
- Make sure to interpret the final tableau correctly in light of this adaption!
- i.e.
How do I know when the Big-M method is complete or optimal?
- A Big-M method tableau provides an optimal solution when there are no negative entries in the objective row
- Remember that is an (arbitrarily) large positive number
- For example, will be positive, would be negative
- Remember that is an (arbitrarily) large positive number
- Questions may ask for an interpretation of a tableau after any iteration of the Big-M method