Phil Lucht Math & Physics Archive
Home / Math and Physics Files / Math / Math Binder / simplex

bigM

PDF · 8 pages · 54.5 KB
Open PDF file

Handout from a Math 236 course, citing Winston, 4th ed., Section 4.12, and filed in Phil's simplex folder. It explains artificial variables and the large penalty M, using a worked minimization example with tableau pivots and a check of the answer (z = 25). It also covers when artificial variables are needed, a summary of the method, splitting the z-row into M and non-M parts, and a partly worked Bevco exercise.

AI-written summary; may contain errors.

Extracted text (machine-read; may contain errors)
Figure 1Mathematics 236 The Big-M Method: What if you cannot find an initial Basic Feasible Sol ution? (Reference: Winston, fourth ed., Section 4.12) An example to illustrate the difficulty: Suppose we had the linear programming problem of minimizing z = 4x1 + 5x2 subject to the constraints (1) x1 + 2x2 > 10; (2) 2x1 + 3x2 < 60; and x1, x2 both nonnegative. The feasible region is shown in Figure 1. Note that the origin is not in the feasible region. Suppose we start to solve this using the Simplex Algorithm: we would convert the problem to one in standard form, rewriting the constraints as (1) x1 + 2x2 -e1 = 10, and (2) 2x1 + 3x2 +s2 = 60, with all of x1, x2, e1, and s2 nonnegative. Next, we would set up the data table:. z x1 x2e1 s2RHS Note that we cannot get an initial basic feasible solution (because the coefficient of e1 is -1, not +1). If we made it a +1 be multiplying Row 1 (or constraint 1) by -1, the RHS would become -10, and this is no good. (ALL RHS’s must be > 0 for the Simplex Algorithm to work.)1 -4 -5 0 0 0 0 1 2 -1 0 10 0 2 3 0 1 60 We’re stuck! Remember the very first step in the Simpl ex Procedure was “Get an initial basic feasible solution.” The way we get around this problem is to “expand the fea sible 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 f irst one, x1 + 2x2 > 10; so we introduce the artificial variable A1, changing the constraint to (1 revised) x1 + 2x2 + A1 > 10, with A1 > 0 also. After having done this, our (revised) problem is: Math 236: Big M method page 2 Mimimize z = 4x1 + 5x2 , subject to the constraints (1) x1 + 2x2 + A1 > 10; (2) 2x1 + 3x2 < 60; with all of x1, x2 , A1 nonnegative. Figure 2: Expanded Feasible RegionYou can think of our “Expanded Feasible Region” as being in 3-d space. (Figure 2) It is the 3- dimensional region bounded by the two planes coming towards us; the “back wall (where A1 = 0) and the floor (where x2 = 0) . The “Real Feasible Region” is the part of the expanded region that is ON the back wall. Let’s try to solve this using the Simplex Method. Con vert to standard form (introduce e1 and s2); and then set up our data table. We get z x1 x2A1e1 s2RHS 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. Th e 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 th is artificial dimension, and we know that when A1 = 0, we are in the “real feasible region”. However, our st ated 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 Minimize z = 4x1 + 5x2 + (penalty term) = 4x1 + 5x2 + MA1 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 Returning to the problem at hand, it is now Minimize z = 4x1 + 5x2 + MA1 subject to the constraints (1) x1 + 2x2 + A1 > 10; and (2) 2x1 + 3x2 < 60, with all of x1, x2 , A1 nonnegative. Let’s try to solve this problem using the Simplex Algor ithm. As usual, we would put it in standard form (introduce exce ss, slack variables as needed); then set up the initial data table. This is what we get .... z x1 x2A1e1 s2RHS Note that this is not a “Proper Simplex tableau”. We want A1 and s2 to be basic variables, so we need a zero in the z-row, in each of these columns. To get this, we ...1 -4 -5 -M 0 0 0 0 1 2 1 -1 0 10 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. Here, the operation we need to do is Row 0 <------- Row 0 + M(Row 1) 1 -4+M -5+2M 0 -M 0 10 M Adjusted row 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. The boxed element marked is the pivot element. Now we pivot. The operations we have to do are Row 0 <— (Row 0) + (5-2M)/2 (Row 1) (ugghhh !! - but do no t panic!) Row 1 <— (½)(Row 1) Row 2<— (Row 2) - (3/2)(Row 1) z x1 x2A1e1 s2RHS 1 - 3/2* 0 5/2-M - 5/2 0 25* * details: In the x1 column: -4+M +(5-2M)/2 *(1) = -4+M +5/2 - M = (-8+5)/2 = - 3/2 and in the RHS column: 10 M +(5-2M)/2*(10) = 10M +25 - 10M = 250 1/2 1 1/2 -1/2 0 5 0 1/2 0 -3/2 3/2 1 45 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 equati ons? (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. When do we NEED to introduce artificial variables? We need to introduce a new artificial variable or va riables in two cases:whenever we have a > constraint (with nonnegative RHS). As in the example above, we needed to replace x1 + 2x2 > 10 by x1 + 2x2 + A1 > 10.whenever we have an equality constraint. For example, if we had the constraint 7x1 + 8x2 - 6x3 = 16; we’d to replace it by 7x1 + 8x2 - 6x3 + A’ = 16, where A ’is a new artificial variable. 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-r ow in each column coming from an artificial variable. Once all these preparations have been done, proceed as normal. NOTE - initially all the artificial variables will be basic. Most of the time, the initial pivots will (on e 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 s hould 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 variabl e. Math 236: Big M method page 6 Computational Note for Hand Calculations As we saw in the example above, hand calculations get m essy 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 fi rst data table is z x1 x2A1e1 s2RHS We could just leave the 0M terms blank Again, this is not a “Proper Simplex tableau”. We want A1 and s2 to be basic variables, so we need a zero in the z-row, in each of these columns. To get this, we ...1 -4 -5 0 0 0 0 +0M +0M +0M -M +0M +0M +0M 0 1 2 1 -1 0 10 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. Here, the operation we need to do is Row 0 <------- Row 0 + M(Row 1) 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: Row 0 <— (Row 0) + (5/2)(Row 1) -(M)(Row 1) Row 1 <— (½)Row 1 Row 2<— (Row 2) - (3/2)(Row 1) z x1 x2A1e1 s2RHS Work on the separate parts of Row 0: 1 - 3/2 0 5/2 - 5/2 0 25 Row 0 +(5/2) (Row 1) ... -M ... -M(Row 1) 0 1/2 1 1/2 -1/2 0 5 0 3/2 0 -3/2 3/2 1 45 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 t ext.) Your job is to fill in the blank spaces in the tableaux bel ow. Original Problem: Minimize z = 2x1 + 3x2 subject to (1/2) x1 +(1/4) x2 < 4 x1 + 3x2 > 20 x1 + x2 = 10 and x1, x2 nonnegative Revised Problem in Standard Form: Minimize z = 2x1 + 3x2 + MA2 + MA3 subject to (1/2) x1 +(1/4) x2 +s1 = 4 x1 + 3x2 -e2 + A2 = 20 x1 + x2 +A3 = 10 and x1, x2, e2 , A2 , A3 nonnegative Our first data table. We can avoid having to recopy t he constraint rows. z x1x2s1e2A2A3 RHS 1 -2 -3 0 0 0 0 0 Original Row 0 -M -M 1 0 0 0 Revised Row 0 = Row 0 ... ... +M(Row 2) + M(Row 3) 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. And the row ratios are ______, ________, and ______. The pivot row is Row _________________ . After our first pivot, the tableau is ... Row 0 + Row 2 - (4/3)M Row 2 Row 1 -(1/4)(1/3) Row 2 (1/3) Row 2 Row 3 - (1/3) Row 2 continued .... Math 236: Big M method page 8 Your answer should be this: z x1x2s1e2A2A3RHS 1 -1 + 0 0 -1 1 0 20 2/3 M 1/3 M -4/3 M +10/3 M Row Ratios 0 5/12 0 1 1/12 -1/12 0 7/3 0 1/3 1 0 -1/3 1/3 0 20/3 0 2/3 0 0 1/3 -1/3 1 10/3 Note the following.z has improved (decreased) from 30M to 20 + 10/3 M A2 is now a non-basic variable, so we could delete the A2 column. That’s why it’s shaded. This isn’t optimal. Do you see why? The pivot col is the ______________ column. (We are minimizing so we want the most POSITIVE / NEGATIVE z-row coefficient. ) The pivot row is ________________________ Our next tableau is ... 1 -1/2 1/2 Row 0 + 3/2(Row 3) 0 0 - M -M (Row 3) 0 0 0 1 1/8 Row 1 -(5/12)(3/2)Row 3 = Row 1 -5/8 Row 3 0 0 1 0 -1/2 1/2 -1/2 15/3 Row 2 - (½) Row 3 0 1 0 0 1/2 -1/2 3/2 5 (3/2) Row 3 The top row would be read as z x1x2s1e2A2A3 RHS 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 pla ce where x1 = 5 and x2 = 5.