Big M
Big M
Big M
We’re stuck! Remember the very first step in the Simplex Procedure was “Get an initial basic feasible
solution.”
The way we get around this problem is to “expand the feasible region” by embedding it into a higher
dimensional space. This is done by introducing one or more Artificial Variables – these come from new,
additional dimensions that are purely figments of our imagination. We introduce one such variable for
every constraint that causes us difficulty.
In the present case, the “problem constraint” is the first one, x1 + 2x2 > 10; so we introduce the artificial
variable A1, changing the constraint to
Let’s try to solve this using the Simplex Method. Convert to standard form (introduce e1 and s2); and then
set up our data table. We get
z x1 x2 A1 e1 s2 RHS
1 -4 -5 0 0 0 0
0 1 2 1 -1 0 10
0 2 3 0 0 1 60
This is a “proper Simplex Tableau”: the two basic variables are A1 and s2. Moreover, since the goal is to
MINIMIZE z, this appears to be an optimal solution. The solution is x1 = x2 = 0; A1 =10, e1 = 0 (it’s
non-basic) and s2 = 60. Here, z = 0.
The only problem with this is that it is not TRULY a feasible solution. The point where x1 = x2 = 0 is not
part of the feasible region for our “real problem”.
What’s gone wrong? It is this: we have introduced this artificial dimension, and we know that when A1 = 0,
we are in the “real feasible region”. However, our stated goal of minimizing 4x1 + 5x2 includes NO
INCENTIVE for us to make A1 equal to zero. There is no reason, in this “expanded problem”, for us to try
to get to the back wall ( the real feasible region).
The way we will deal with this is to provide an incentive for A1 to be zero. Or, to be more precise, we’ll
levy a tax, a PENALTY, if we are at a place where A1 is non-negative. The more non- negativc A1 is, the
bigger the penalty will be.
Math 236: Big M method page 3
We revise the objective function, so our goal becomes
where M represents a “Monstrously Large Positive Number”. How big will M be? Think of how many
hamburgers MacDonald’s has made. Think of the deficit of the USA. Multiply the two – if we took M to
be that value, it should be big enough to make us want A1 equal to zero. If not, we’ll take M to be even
bigger.
We don’t need to specify in advance what the value of M is: just think of it as a “Monstrously Large
Positive Number”.
Note: we want to make sure the penalty for having A1 not zero is truly a penalty and not a reward.
Therefore, we must MAKE SURE THE PENALTY TERM works opposite to the goal we seek.
For example, if the problem had been to MAXIMIZE z = 4x1 + 5x2 , we don’t want to add MA1 , we’d
want to subtract it making our revised goal
Maximize z = 4x1 + 5x2 - MA1
As usual, we would put it in standard form (introduce excess, slack variables as needed); then set up the
initial data table. This is what we get ....
z x1 x2 A1 e1 s2 RHS Note that this is not a “Proper
Simplex tableau”. We want A1 and
1 -4 -5 -M 0 0 0 s2 to be basic variables, so we need a
0 1 2 1 -1 0 10 zero in the z-row, in each of these
columns. To get this, we ...
0 2 3 0 0 1 60
adjust the z row: Add multiples of the CONSTRAINT rows to the z-row to get 0 in the A1 column.
0 1 2 1 -1 0 10 same
0 2 3 0 0 1 60 same
Math 236: Big M method page 4
This is not optimal (we are minimizing), so we pivot. The pivot column is the x2 column; (remember
that M = BIG POSITIVE number). The row ratios are 10/2 and 60/3; the pivot row is Row 1.
This is optimal. The basic variables here are x2 and s2 . The optimal solution to our problem is
x1 = 0 (non basic); x2 = 5; A1 = e1 = 0 (non-basic); and s2 = 45. The minimum attainable z-value is
z= 25.
Check your work!! Are these numbers consistent with the original equations?
(1) Is x1 + 2x2 + A1- e1 = 10? LHS = 0+ 2(5) + 0 - 0 = 10 = RHS. Good!
(2) 2x1 + 3x2 +s2 = 60 ? LHS = 2(0) + 3(5) + 45 = 60 = RHS. Good again!
Finally, does the z-value work out? At this point, z = 4x1 + 5x2 - MA1 = 4(0) + 5(5)-M(0) = 25.
If these had NOT worked out, we’d know we’d made an error somewhere.
Of course, we’d need to add a penalty term to z, the objective function, for each artificial variable. For
example:
Maximizing: new z = (old z) minus (penalty term) = (old z) - MA1 - MA2 - ....
Minimizing: new z = (old z) plus (penalty term) = (old z) + MA1 + MA2 + ....
Math 236: Big M method page 5
Summary of the Big M Method (compare with page 174, Winston)
introduce a new artificial variable for each > constraint and each equality constraint. Make sure
ALL these new variables are nonnegative, too;
modify the objective function to include the right kind of penalty term for each artificial variable
introduced;
convert the (revised) problem to standard form; then set up the initial data table;
in your initial simplex tableau, EACH artificial variable will be basic. (Some others may be basic,
too.)
DON’T FORGET to adjust the z-row to get 0 in the z-row in each column coming from an
artificial variable.
NOTE - initially all the artificial variables will be basic. Most of the time, the initial pivots will (one by
one) choose an artificial variable as the pivot column. After pivoting, this artificial variable will become
non-basic (and so have the value = zero at the current BF solution).
Once an artificial variable becomes non-basic, there should NEVER be a reason to bring it back into the
basis. THEREFORE, it will never become non-zero again. We can forget about it. ONCE AN
ARTIFICIAL VARIABLE LEAVES THE BASIS IT IS SAFE TO DELETE THAT VARIABLE FROM
THE PROBLEM. Just cross out the column for that variable.
Math 236: Big M method page 6
Computational Note for Hand Calculations
As we saw in the example above, hand calculations get messy when the objective row has “M-terms”. A
way to make the work less cumbersome is to split the z-row into two parts: a non-M part and an M-part,
and work with each part separately.
Here’s how to re-do the calculations this way. Our first data table is
z x1 x2 A1 e1 s2 RHS We could just leave the 0M terms
blank
1 -4 -5 0 0 0 0
Again, this is not a “Proper Simplex
+0M +0M +0M -M +0M +0M +0M
tableau”. We want A1 and s2 to be
0 1 2 1 -1 0 10 basic variables, so we need a zero in
the z-row, in each of these columns.
0 2 3 0 0 1 60 To get this, we ...
Adjust the z row: Add multiples of the CONSTRAINT rows to the z-row to get 0 in the A1 column.
1 -4 -5 0 0 Row 0
+M +2M -M 10 M + M(Row 1)
0 1 2 1 -1 0 10 same
0 2 3 0 0 1 60 same
This is not optimal (we are minimizing), so we pivot. The pivot column is the x2 column; (remember
that M = BIG POSITIVE number); The row ratios are 10/2 and 60/3; the pivot row is Row 1.
The boxed element the pivot element. Now we pivot. The operations we perform are:
-M ... -M(Row 1)
Again, this is optimal (since M>>0). The solution is x1 = 0 (non basic); x2 = 5, and the optmal z-value is z=
25. The other variables have values e1 = 0 (non-basic); s2 = 45 and A1 = 0 . Because A1 is zero, this
solution is “truly feasible”.
Math 236: Big M method page 7
Worked Example: The Bevco Problem ( Pages 172-177, Winston text.)
Our first data table. We can avoid having to recopy the constraint rows.
z x1 x2 s1 e2 A2 A3 RHS
1 -2 -3 0 0 0 0 0 Original Row 0
-M -M
0 1/2 1/4 1 0 0 0 4
0 1 3** 0 -1 1 0 20
0 1 1 0 0 0 1 10
This isn’t optimal. (Why not?)
The pivot column is the Column.
- (4/3)M Row 2
(1/3) Row 2
continued ....
Math 236: Big M method page 8
1 -1 + 0 0 -1 1 0 20
The pivot col is the ______________ column. (We are minimizing so we want the most POSITIVE /
NEGATIVE z-row coefficient. )
1 0 0 0 -1/2 ½ -M 3/2 -M 25
All the z-row coefficients (except z’s) are negative or zero, so we are at an optimal solution.
The optimal z-value is 25, and it is attained at the place where x1 = 5 and x2 = 5.