Big-M Method (Edexcel A Level Further Maths: Decision Maths 1)

Revision Note

Test yourself
Paul

Author

Paul

Last updated

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
  • M is an arbitrarily large positive number
    • This is so expressions such as 1 minus M are definitely negative and M minus 12 will definitely be positive
    • M 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 M A from the objective function, where
    • A is the sum of the artificial variables (a subscript 1 plus a subscript 2 plus...)
    • M is an arbitrarily large, positive number

Worked example

The linear programming problem formulated below is to be solved using the Big-M method.

Maximise

P equals 3 x plus 2 y

subject to

table row cell x minus y end cell less or equal than 4 row cell x plus 2 y end cell less or equal than 16 row cell 2 x plus 3 y end cell greater or equal than 18 row cell 2 x minus y end cell greater or equal than 0 row cell x comma space y end cell greater or equal than 0 end table

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
    x minus y less or equal than 4 requires a slack variable

bold italic x bold minus bold italic y bold plus bold italic s subscript bold 1 bold equals bold 4

x plus 2 y less or equal than 16 requires a slack variable

bold italic x bold plus bold 2 bold italic y bold plus bold italic s subscript bold 2 bold equals bold 16

2 x plus 3 y greater or equal than 18 requires a surplus and an artificial variable

bold 2 bold italic x bold plus bold 3 bold italic y bold minus bold italic s subscript bold 3 bold plus bold italic a subscript bold 1 bold equals bold 18

2 x minus y greater or equal than 0 requires a surplus and an artificial variable

bold 2 bold italic x bold minus bold italic y bold minus bold italic s subscript bold 4 bold plus bold italic a subscript bold 2 bold equals bold 2

(s subscript 1 comma space s subscript 2 comma space s subscript 3 comma space s subscript 4 comma space a subscript 1 comma space a subscript 2 greater or equal than 0)

  • STEP 2
    Rearrange each constraint containing an artificial variable

table row cell a subscript 1 end cell equals cell 18 minus 2 x minus 3 y plus s subscript 3 end cell row cell a subscript 2 end cell equals cell 2 minus 2 x plus y plus s subscript 4 end cell end table

  • STEP 3
    Subtract M A from P (find A first)

table row A equals cell 18 minus 2 x minus 3 y plus s subscript 3 plus 2 minus 2 x plus y plus s subscript 4 end cell row A equals cell 20 minus 4 x minus 2 y plus s subscript 3 plus s subscript 4 end cell end table

and so

table attributes columnalign right center left columnspacing 0px end attributes row P equals cell 3 x plus 2 y minus A M end cell row P equals cell 3 x plus 2 y minus M open parentheses 20 minus 4 x minus 2 y plus s subscript 3 plus s subscript 4 close parentheses end cell end table

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 M
  • 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 M
    • As previously, use apostrophes to indicate 'old rows' in the row operations column

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.

table attributes columnalign right center left columnspacing 0px end attributes row cell x minus y plus s subscript 1 end cell equals 4 row cell x plus 2 y plus s subscript 2 end cell equals 16 row cell 2 x plus 3 y minus s subscript 3 plus a subscript 1 end cell equals 18 row cell 2 x minus y minus s subscript 4 plus a subscript 2 end cell equals 2 end table

P minus open parentheses 4 M plus 3 close parentheses x minus open parentheses 2 M plus 2 close parentheses y plus M s subscript 3 plus M s subscript 4 equals negative 20 M

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. x y s subscript 1 s subscript 2 s subscript 3 s subscript 4 a subscript 1 a subscript 2 Value
s subscript 1 1 -1 1 0 0 0 0 0 4
s subscript 2 1 2 0 1 0 0 0 0 16
a subscript 1 2 3 0 0 -1 0 1 0 18
a subscript 2 2 -1 0 0 0 -1 0 1 2
P negative open parentheses 4 M plus 3 close parentheses negative open parentheses 2 M plus 2 close parentheses 0 0 M M 0 0 negative 20 M

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
negative open parentheses 4 M plus 3 close parentheses is the most negative

C1 is the pivot column; the theta-values are

table row cell theta subscript 1 end cell equals cell 4 divided by 1 equals 4 end cell row cell theta subscript 2 end cell equals cell 16 divided by 1 equals 16 end cell row cell theta subscript 3 end cell equals cell 18 divided by 2 equals 9 end cell row cell theta subscript 4 end cell equals cell 2 divided by 2 equals 1 end cell end table

theta subscript 4 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. x y s subscript 1 s subscript 2 s subscript 3 s subscript 4 a subscript 1 a subscript 2 Value Row Op.
s subscript 1 0 -0.5 1 0 0 0.5 0 -0.5 3 apostrophe straight R 1 apostrophe minus straight R 4
s subscript 2 0 2.5 0 1 0 0.5 0 -0.5 15 apostrophe straight R 2 apostrophe minus straight R 4
a subscript 1 0 4 0 0 -1 1 1 -1 16 apostrophe straight R 3 apostrophe minus 2 straight R 4
x 1 -0.5 0 0 0 -0.5 0 0.5 1 0.5 apostrophe straight R 4 apostrophe
P 0 negative open parentheses 4 M plus 3.5 close parentheses 0 0 M negative open parentheses M plus 1.5 close parentheses 0 2 M plus 1.5 3 minus 16 M apostrophe straight R 5 apostrophe plus open parentheses 4 M plus 3 close parentheses straight R 4

There is a negative entry in the objective row, so apply a second iteration
negative open parentheses 4 M plus 3.5 close parentheses is the most negative

C2 is the pivot column; the theta-values are

table row cell theta subscript 1 end cell equals cell 3 divided by open parentheses negative 0.5 close parentheses equals negative 6 end cell row cell theta subscript 2 end cell equals cell 15 divided by 2.5 equals 6 end cell row cell theta subscript 3 end cell equals cell 16 divided by 4 equals 4 end cell row cell theta subscript 4 end cell equals cell 1 divided by open parentheses negative 0.5 close parentheses equals negative 2 end cell end table

theta subscript 3 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. x y s subscript 1 s subscript 2 s subscript 3 s subscript 4 a subscript 1 a subscript 2 Value Row Op.
s subscript 1 0 0 1 0 -0.125 0.625 0.125 -0.625 5 'R1' + 0.5R3
s subscript 2 0 0 0 1 0.625 -0.125 -0.625 0.125 5 'R2' - 2.5R3
y 0 1 0 0 -0.25 0.25 0.25 -0.25 4 0.25'R3'
x 1 0 0 0 -0.125 -0.375 0.125 0.375 3 'R4' + 0.5R3
P 0 0 0 0 -0.875 -0.625 M plus 0.875 M plus 0.625 17 apostrophe straight R 5 apostrophe plus open parentheses 4 M plus 3.5 close parentheses straight R 3

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 theta-values are

table row cell theta subscript 1 end cell equals cell 5 divided by open parentheses negative 0.125 close parentheses equals negative 40 end cell row cell theta subscript 2 end cell equals cell 5 divided by 0.625 equals 8 end cell row cell theta subscript 3 end cell equals cell 4 divided by open parentheses negative 0.25 close parentheses equals negative 16 end cell row cell theta subscript 4 end cell equals cell 3 divided by open parentheses negative 0.125 close parentheses equals negative 24 end cell end table

theta subscript 2 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. x y s subscript 1 s subscript 2 s subscript 3 s subscript 4 a subscript 1 a subscript 2 Value Row Op.
s subscript 1 0 0 1 0.2 0 0.6 0 -0.6 6 apostrophe straight R 1 apostrophe plus 0.125 straight R 2
s subscript 3 0 0 0 1.6 1 -0.2 -1 0.2 8 1.6 apostrophe straight R 2 apostrophe
y 0 1 0 0.4 0 0.2 0 -0.2 6 apostrophe straight R 3 apostrophe plus 0.25 straight R 2
x 1 0 0 0.2 0 -0.4 0 0.4 4 apostrophe straight R 4 apostrophe plus 0.125 straight R 2
P 0 0 0 1.4 0 -0.8 M M plus 0.8 24 apostrophe straight R 5 apostrophe plus 0.875 straight R 2

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 theta-values are

table row cell theta subscript 1 end cell equals cell 6 divided by 0.6 equals 10 end cell row cell theta subscript 2 end cell equals cell 8 divided by open parentheses negative 0.2 close parentheses equals negative 40 end cell row cell theta subscript 3 end cell equals cell 6 divided by 0.2 equals 30 end cell row cell theta subscript 4 end cell equals cell 4 divided by open parentheses negative 0.4 close parentheses equals negative 10 end cell end table

theta subscript 1 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. x y s subscript 1 s subscript 2 s subscript 3 s subscript 4 a subscript 1 a subscript 2 Value Row Op.
s subscript 4 0 0 5/3 1/3 0 1 0 -1 10 bevelled 5 over 3 apostrophe straight R 1 apostrophe
s subscript 3 0 0 1/3 5/3 1 0 -1 0 10 apostrophe straight R 2 apostrophe plus 0.2 straight R 1
y 0 1 -1/3 1/3 0 0 0 0 4 apostrophe straight R 3 apostrophe minus 0.2 straight R 1
x 1 0 2/3 1/3 0 0 0 0 8 apostrophe straight R 4 apostrophe plus 0.4 straight R 1
P 0 0 4/3 5/3 0 0 M M 32 apostrophe straight R 5 apostrophe plus 0.8 straight R 1

There are no negative entries in the objective row so the tableau is optimal

x comma space y comma space s subscript 3 comma space s subscript 4 are the basic variables and so their values are read from the table
s subscript 1 comma space s subscript 2 comma space a subscript 1 comma space a subscript 2 are the non-basic variables and so their values are all zero

bold italic P bold equals bold 3 bold italic x bold plus bold 2 bold italic y is maximised when bold italic x bold equals bold 8 and bold italic y bold equals bold 4 at bold italic P bold equals bold 32

bold italic s subscript bold 3 bold equals bold 10 bold comma bold space bold italic s subscript bold 4 bold equals bold 10
bold italic s subscript bold 1 bold equals bold italic s subscript bold 2 bold equals bold italic a subscript bold 1 bold equals bold italic a subscript bold 2 bold equals bold 0

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, Q, say, such that
      Q equals negative P
    • After finding P in the required form for tableau entry, write Q in the same way
    • Use Q as the objective row in the simplex algorithm
  • Maximising Q is the same as minimising P
  • Make sure to interpret the final tableau correctly in light of this adaption!
    • i.e.  P subscript m i n end subscript equals negative Q subscript m a x end subscript

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 M is an (arbitrarily) large positive number
      • For example, M minus 7 will be positive, 7 minus Mwould be negative
  • Questions may ask for an interpretation of a tableau after any iteration of the Big-M method

You've read 0 of your 5 free revision notes this week

Sign up now. It’s free!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Did this page help you?

Paul

Author: Paul

Expertise: Maths

Paul has taught mathematics for 20 years and has been an examiner for Edexcel for over a decade. GCSE, A level, pure, mechanics, statistics, discrete – if it’s in a Maths exam, Paul will know about it. Paul is a passionate fan of clear and colourful notes with fascinating diagrams – one of the many reasons he is excited to be a member of the SME team.