You are on page 1of 44

Appendix

Appendix: Linear Programming Solution Methods

Introduction Simplex Method Simplex Maximization Solutions Simplex Minimization Solutions Interpreting Simplex Solutions Postoptimality Analysis Unusual Features of Some LP Problems Transportation Method Characteristics of Transportation Problems Solution Procedures of the Transportation Method

Unbalanced Problems Degeneracy Assignment Method Review and Discussion Questions Problems Computer Solutions Selected Bibliography Answers to Odd-Numbered Problems

Although the graphical solution method that was presented in Chapter 8 is a useful learning device for those with limited knowledge of linear programming (LP), other methods are used daily in the worlds of business and government to solve real LP problems. Preeminent among these are the simplex, transportation, and assignment methods.

SIMPLEX METHOD
Simplex does not mean simple. Nevertheless, the simplex method is used term after term by thousands of students just like you, and you can do it too. The main thing is to keep your eye on the big picture: Understand the overall procedures of the simplex method because it is easy to get bogged down in the nitty-gritty details and lose sight of the general process. Pay attention to the small details; this is necessary. But also constantly keep in mind the overall process. The best way to learn the simplex method is to use it to work LP problems. Experience is the best teacher certainly applies here.

Simplex Maximization Solutions


Table 1 presents the steps in the simplex method. Read them carefully, and dont worry too much about being confused. Remember, get the big picture. Working through an example will demonstrate the meaning of each of these steps. Example 1 uses the simplex method to solve Problem LP-1 from Chapter 8 while methodically following the steps of the simplex method. Work through every step in this example meticulously; this is absolutely necessary to an understanding of the method. Notice that the step numbers in this example correspond to the step numbers in Table 1. You will not need a calculator, because calculators compute in decimals that require rounding or truncating. These sources of error are unacceptable in the simplex method, and therefore all calculations are carried out in fractions.
1

Appendix: Linear Programming Solution Methods

Table 1

Steps in the Simplex Solution Method


1. 2. 3. 4. 5. 6. 7. 8. 9. Formulate the objective and constraint functions. Add slack variables to convert each constraint to an equality (). Add artificial variables to constraints that were originally or to produce a starting solution. Set up the first tableau, starting solution. Check solution for optimality. If optimal, stop. If not, continue. Select a variable to enter to improve the solution. Select a variable to leave the solution. Perform row operations to complete the new solution. Return to Step 5 and continue until optimality is achieved.

Example 1

Simplex Solution of LP-1, a Maximization Problem

As part of its strategic planning process, the Precision Manufacturing Company must determine the mix of its products to be manufactured next year. The company produces two principal product lines for the commercial construction industry, a line of powerful portable circular saws and a line of precision table saws. The two product lines share the same production capacity and are sold through the same sales channels. Although some product variety does exist within each product line, the average profit is $900 for each circular saw and $600 for each table saw. The production capacity is constrained in two ways, fabrication and assembly capacity. A maximum of 4,000 hours of fabrication capacity is available per month, and each circular saw requires two hours and each table saw requires one hour. A maximum of 5,000 hours of assembly capacity is available per month, and each circular saw requires one hour and each table saw requires two hours. The marketing department estimates that there is a maximum market demand next year of a total of 3,500 saws per month for both product lines combined. How many circular saws and how many table saws should be produced monthly next year to maximize profits? 1. Formulate the objective and constraint functions. LP-1 was formulated in Chapter 8 as: Max Z 900X1 600X2 2X1 X1 X1 where: X1 number of circular saws to be manufactured per month X2 number of table saws to be manufactured per month 2. Add slack variables to convert each constraint to an equality (): a. 2X1 X2 4,000 (fabricationhours) Note that the left-hand side of the expression is less than or equal to the right-hand side (RHS). If the expression is to be an equality (), something must be added to the lefthand side to increase its value up to the level of the RHS. We shall add a slack variable S1 to take up the slack between the value of the left-hand side and the RHS. S1 will take X2 4,000 (fabricationhours) 2X2 5,000 (assemblyhours) X2 3,500 (marketsaws)

Appendix: Linear Programming Solution Methods

on the value of zero if the left-hand side exactly equals 4,000 and a value of 4,000 if X1 and X2 equal zero. When X1 and X2 take on values larger than zero, the value of S1 will decrease accordingly so that the left-hand side of the expression exactly equals 4,000: 2X1 X2 S1 4,000 Note the subscript 1 in S1 denotes that S1 is the slack variable for the first constraint. When we proceed with and complete the simplex solution, and S1 takes on some specific value at the end, we shall automatically know that S1 belongs to the first constraintunused fabrication hours. Similarly, S2 will belong to the second constraintunused assembly hours. The second constraint is converted to an equality by adding a slack variable S2 to the left-hand side: X1 2X2 S2 5,000 (assemblyhours) c. The third constraint is converted to an equality by adding a slack variable S3 to the lefthand side: X1 X2 S3 3,500 (marketsaws) We now have this LP problem: Max Z 900X1 600X2 2X1 X1 X1 X2 S1 2X2 X2 S2 4,000 5,000 S3 3,500

b.

3. Add artificial variables to constraints that were originally or to produce a starting solution. Since the constraints in this problem were all , no artificial variables are required. 4. Set up the first tableau, starting solution. A tableau simply means a table. Each solution will be a tableau. a. First, let all variables appear in the objective function and constraint functions. This is achieved by assigning zero coefficients to all variables not appearing in these expressions: Max Z 900X1 600X2 0S1 0S2 0S3 2X1 X1 X1 b. X2 S1 0S2 0S3 4,000 2X2 0S1 S2 0S3 5,000 X2 0S1 0S2 S3 3,500

Now put the problem above into the tableau format. The format is achieved by entering the set of coefficients for all the variables into the framework below:
First Tableau C SOL 0 0 0 S1 S2 S3 Z RHS 4,000 5,000 3,500 0 (C Z) 900 X1 2 1 1 0 900 600 X2 1 2 1 0 600 0 S1 1 0 0 0 0 0 S2 0 1 0 0 0 0 S3 0 0 1 0 0

Appendix: Linear Programming Solution Methods

c. d. e.

Constraints. The RHS value of each constraint is placed in the RHS column, and the coefficients of the variables in the constraint are placed under the variable columns. Objective function. The coefficients of the variables in the objective function are placed in Row C above the appropriate variable columns. SOL column. Note that the shaded matrix under the S1, S2, and S3 columns is an identity matrix, a NW to SE diagonal of ones with all other elements zero. The variables over the columns of the identity matrix are always in the SOL column.
SOL S1 S2 S3 S1 1 0 0 S2 0 1 0 S3 0 0 1

f.

g.

This condition will always hold: A variable found in the SOL column will have a one at the intersection of its row and column, and all other elements in its column will be zero. This condition holds for all tableaus. The variables in the SOL column are referred to as the basic variables for that particular tableau. The number of basic variables is always equal to the number of constraints. All of the variables not listed in the SOL column are referred to as the nonbasic variables for that particular tableau. Exactly which variables are basic and which variables are nonbasic will change with each different solution (tableau) as the simplex method proceeds. C column. The zeros in the C column and opposite S1, S2, and S3 are taken from Row C elements above S1, S2, and S3. This condition will always hold: The values in the C column are the coefficients in the objective function that correspond to the variables found in the SOL column of the tableau (i.e., the basic variables). Row Z. The elements in Row Z are all computed. Since the elements in the C column were zero, all the elements in Row Z were zero; however, the elements in the C column will not always be zero. Each element in Row Z is computed as follows: ZRHS (0)(4,000) (0)(5,000) (0)(3,500) 0 ZX1 ZX2 ZS1 ZS2 ZS3 (0)(2) (0)(1) (0)(1) (0)(0) (0)(0) (0)(1) (0)(2) (0)(0) (0)(1) (0)(0) (0)(1) 0 (0)(1) 0 (0)(0) 0 (0)(0) 0 (0)(1) 0

h.

This step will become clearer in subsequent tableaus. Row (C Z). These values are computed by subtracting each element in Row Z from its counterpart in Row C: (C Z)X1 900 0 900 (C Z)X2 600 0 600 (C Z)S1 (C Z)S2 (C Z)S3 00 00 00 0 0 0

i.

The starting solution. This completes the explanation of the first tableau. The solution of the first tableau is: X1 X2 0 circular saws to be manufactured per month 0 table saws to be manufactured per month

Appendix: Linear Programming Solution Methods

S1 4,000 unused fabrication hours per month S2 5,000 unused assembly hours per month S3 3,500 unsatisfied market demand for saws per month Z $0 profits per month

To read the solution from the simplex tableau you need only look at the SOL and RHS columns. The variables in the SOL column (basic variables) are equal to the corresponding values in the RHS column. All other variables (nonbasic variables) are equal to zero. Therefore, from the SOL and RHS columns, S1 4,000, S2 5,000, S3 3,500, and Z 0. Because X1 and X2 are not listed in the SOL column (i.e., they are nonbasic variables in this tableau), X1 0 and X2 0. 5. Check solution for optimality. If optimal, stop. If not, continue. Solutions are optimal when all the values in Row (C Z) are either zero or negative. When any of the values in this row are nonzero positive numbers, the solution can be improved by continuing and the solution is not optimal. In our first tableau of LP-1, both X1 and X2 have Row (C Z) elements that are nonzero and positive. It is therefore not optimal, and we must continue to the next tableau. 6. Select a variable to enter to improve the solution. Select the variable to enter that has the largest positive element in Row (C Z). X1 will enter since its Row (C Z) element is the largest positive value in Row (C Z). 7. Select a variable to leave the solution:
First Tableau (Continued) C SOL 0 0 0 S1 S2 S3 Z RHS 4,000 5,000 3,500 0 (C Z) 900 X1 2 1 1 0 900 600 X2 1 2 1 0 600 0 S1 1 0 0 0 0 0 S2 0 1 0 0 0 0 S3 0 0 1 0 0

4,000/2 2,000 , Leaving Variable 5,000/1 5,000 (smallest nonnegative) 3,500/1 3,500

+ Entering Variable (largest positive)

The variable to leave this starting solution is determined by entering the column of the entering variable, X1, dividing the number of each row into its RHS value, and recording this value in the column to the right. The leaving variable has the smallest nonnegative value. If zero values or ties occur in the column, do not worry. In the case of a tie, arbitrarily select one of the tying variables to leave, and in the case of a zero, let that variable leave. (Remember that division by zero is undefined.) 8. Perform row operations to complete the new solution. This is perhaps the most confusing point in the simplex method. Table 2 lists the steps in performing row operations. These steps will be followed to construct the second tableau. a. Identify the pivot element. It is found at the intersection of the entering-variable column (X1) and the leaving-variable row (S1): The pivot element is 2 . b. Divide the pivot row, element by element, by the pivot element. Enter this new row in the next tableau: The first constraint row (4,000 2 1 1 0 0) is divided by 2, and the result is entered in the second tableau in the first-row position. The variable in the SOL column in this row is the new entering variable X1, and its coefficient (900) in Row C is entered in Column C.

Appendix: Linear Programming Solution Methods Second Tableau C SOL 900 0 0 X1 S2 S3 Z (C Z) RHS 2,000 900 X1 1 600 X2
12

0 S1
12

0 S2 0

0 S3 0

c.

Convert the other elements in the pivot column (X1) to zero. Transform the second row in the first tableau (5,000 1 2 0 1 0) by multiplying the new row in the second tableau (2,000 1 1/2 1/2 0 0) by 1 (the negative of the second rows pivot column value) and adding this transitional row to the second row of the first tableau: Multiply the row first entered in the second tableau by 1: 1(2,000) This gives values of 2,000 5,000 to get values of 3,000 0
32

1(1) 1 1

1(1/2) 1(1/2) 1(0) 1/2 2 / 1/2 0 1/2 0 1 1

1(0) 0 0 0

which are added to the row being transformed

The third row in the first tableau (3,500 1 1 0 0 1) is now transformed by multiplying the row first entered in the new tableau (2,000 1 1/2 1/2 0 0) by 1 (the negative of the third rows pivot column value) and adding this transitional row to the third row of the first tableau: Multiply the row first entered in the second tableau by 1: 1(2,000) This gives values of 2,000 3,500 to get values of 1,500 d. 0
12

1(1) 1 1

1(1/2) 1(1/2) 1(0) 1/2 1 / 1/2 0 1/2 0 0 0

1(0) 0 1 1

which are added to the row being transformed

These rows are entered into the second tableau in the second- and third-row positions. The variables in the SOL column for these rows do not change:
Second Tableau (Continued) C SOL 900 0 0 X1 S2 S3 Z RHS 2,000 3,000 1,500 1,800,000 (C Z) 900 X1 1 0 0 900 0 600 X2 / / 1/2
12 32

0 S1 / 1/2 1/2
12

0 S2 0 1 0 0 0

0 S3 0 0 1 0 0

450 150

450 450

Appendix: Linear Programming Solution Methods

e.

Row Z for each column is computed by summing the products of values in Column C and that column as follows: ZRHS (900)(2,000) 0(3,000) 0(1,500) 1,800,000 ZX1 ZX2 ZS1 ZS2 ZS3 (900)(1) (900)(1/2) (900)(0) (900)(0) (0)(0) (0)(3/2) (0)(1) (0)(0) (0)(0) (0)(1/2) (0)(0) (0)(1) 900 450 450 0 0

(900)(1/2) (0)(1/2) (0)(1/2)

f.

Row (C Z) is again computed by subtracting each element in Row Z from its counterpart in Row C. The solution to the second tableau is: X1 X2 S1 S2 S3 2,000 circular saws to be manufactured per month 0 table saws to be manufactured per month 0 unused fabrication hours per month 3,000 unused assembly hours per month 1,500 unsatisfied market demand for saws per month

Z $1,800,000 profits per month The values of X1, S2, S3 (basic variables), and Z are found in column RHS of the second tableau. X2 and S1 are not in the SOL column (they are nonbasic variables); therefore they both equal zero. Does this solution look familiar? It should, because it is identical to Point C in Example 8.4 of the graphical method. 9. Return to Step 5 and continue until optimality is achieved: Steps 5, 6, and 7. Check solution for optimality. If optimal, stop. If not, continue. Select a variable to enter the solution. Select a variable to leave the solution:
Second Tableau (Continued) C SOL 900 0 0 X1 S2 S3 Z RHS 2,000 3,000 1,500 1,800,000 (C Z) 900 X1 1 0 0 900 0 600 X2 / 3/2 1/2
12

0 S1 / 1/2 1/2
12

0 S2 0 1 0 0 0

0 S3 0 0 1 0 0

2,000/1/2 4,000 3,000/3/2 2,000 , Leaving Variable 1,500/1/2 3,000 (smallest nonnegative)

450 150

450 450

+ Entering Variable (largest positive)

The second tableau is not optimal since all Row (C Z) elements are not zero or negative. X2 enters and, because the value for the second row is the smallest nonnegative, S2 leaves. 10. Perform row operations to complete the solution. (See Table 2.) a. The pivot element is 3/2 because that element is at the intersection of the entering-variable column and the leaving-variable row. b. Divide the pivot row (second constraint row) of the second tableau through by the pivot element (3/2). Enter this new row into the third tableau in the same second-row position:

Appendix: Linear Programming Solution Methods Third Tableau C SOL 900 600 0 X1 X2 S3 Z (C Z) RHS 2,000 900 X1 0 600 X2 1 0 S1 1/3 0 S2
23

0 S3 0

c.

Multiply this new row by a negative 1/2 to transform the first constraint row in the second tableau: 1/2(2,000) 1/2(0) 1/2(1) 1/2(1/3) 1/2(2/3) 1/2(0) This gives values of 1,000 0 1/2
16

1/3

which are added to the first constraint row of the second tableau 2,000 1
12

12

0 1/3

to give the new first constraint row of the third tableau 1,000 1 0
23

Multiply the first row entered in the third tableau by 1/2: 1/2(2,000) 1/2(0) 1/2(1) 1/2(1/3) 1/2(2/3) 1/2(0) This gives values of 1,000 0 1/2
16

1/3

which are added to the third constraint row of the second tableau 1,500 0
12

1/2 1/3

0 1/3

to give the new third constraint row of the third tableau 500 d. 0 0 1

These rows are now entered into the first- and third-row positions of the third tableau:
Third Tableau (Continued) C SOL 900 600 0 X1 X2 S3 Z RHS 1,000 2,000 500 2,100,000 (C Z) 900 X1 1 0 0 900 0 600 X2 0 1 0 600 0 0 S1 / 1/3 1/3
23

0 S2 / 2/3 1 /3
13

0 S3 0 0 1 0 0

400 400

100 100

e.

Compute Rows Z and (C Z) to complete the third tableau. Row Z is computed as follows: ZRHS (900)(1,000) (600)(2,000) (0)(500) 2,100,000 ZX1 (900)(1) (600)(0) (0)(1) 900

Appendix: Linear Programming Solution Methods

ZX2 (900)(0) ZS1 (900)(2/3)


13

(600)(1)

(0)(0)

600 400 100 0

(600)(1/3) (0)(1/3) (600)( / ) (0)( / )


23 13

ZS2 (900)( / ) ZS3 (900)(0)

(600)(0)

(0)(1)

f.

Row (C Z) is again computed by subtracting each element in Row Z from its counterpart in Row C. The solution to the third tableau is: X1 X2 S1 S2 S3 1,000 circular saws to be manufactured per month 2,000 table saws to be manufactured per month 0 unused fabrication hours per month 0 unused assembly hours per month 500 unsatisfied market demand for saws per month

Z $2,100,000 profits per month Does this solution look familiar? It should, because it is identical to Point B in Example 8.4 of the graphical method. 11. Return to Step 5 and continue until optimality is achieved. Check solution for optimality. If optimal, stop. If not, continue. The third tableau is optimal because all the elements in Row (C Z) are either negative or zero.

The graphical solution of maximization Problem LP-1, Example 8.4, identified three solution pointsA, B, and C. Each of these solutions was first identified as an intersection of the constraints, and then each was substituted into the objective function to

Table 2

Steps in Performing Row Operations


1. Identify the pivot element in the present tableau, which is found at the intersection of the column of the entering variable and the row of the leaving variable. Circle this element. Row operations convert the pivot column in this present tableau, element by element, to a new column in the new tableau. This new column always has these features: The element that is the pivot element in the present tableau will be a one in the new tableau, and all other elements in that column in the new tableau will be zero. 2. Convert the pivot element in the present tableau to a one in the new tableau by dividing the entire pivot row in the present tableau by the pivot element (element by element). This new row with a one in the pivot element is entered into the new tableau in the same row position as the pivot row of the present tableau. 3. Next, convert all other elements in the pivot column of the present tableau to zero in the new tableau. This is done by performing a separate operation on each remaining row of the present tableau. This operation involves the development of a special transitional row that is added to each remaining row in the present tableau. Each row in the present tableau for which we wish to convert its pivot column element to zero requires its own unique transitional row. This transitional row is developed by first determining the value of the element that we want to transform to zero. We then take the negative of the value of this element and multiply it by the new row obtained in Step 2 above, element by element. When this transitional row is added to the row of the present tableau, a new row results that has a zero in the pivot column. This row is entered in the new tableau in the same row position as it occupied in the present tableau before it was transformed.

10

Appendix: Linear Programming Solution Methods

determine a value of Z. Finally, the optimal solution (maximum profit) was selected. The simplex method solution to LP-1 follows this same general process with one exception. The first tableau begins with Z 0, and each subsequent tableau methodically exhibits higher values of Z. You can be assured that each tableau will exhibit progressively higher profits. This progression to better and better solutions is the only conceptual departure of the simplex method from the general process of the graphical method.

Simplex Minimization Solutions


The graphical solution of minimization Problem LP-2, Example 8.5, identified three solution pointsA, B, and C. The optimal solution to the problem was then determined by investigating Points A, B, and C. The simplex solution to this problem begins the first tableau with a very large value of Z. Subsequent tableaus exhibit progressively lower values for Z until optimality is achieved. This progression from high to low values of Z is characteristic of the simplex solution of minimization LP problems. There are only two basic differences between maximization and minimization LP problem solutions with the simplex method: 1. Minimization LP problems are more likely to have and constraints, although the procedures for treating them apply to both minimization and maximization LP problems. Minimization LP problems have different objective functions; Z is minimized.

2.

In either minimization or maximization problems, and constraints are accommodated by adding artificial variables to these constraints. For example, in the case of constraints: 1. X1 2X2 2. X1 2X2 3. X1 2X2 4. X1 2X2 A1 500 500 S1 S1 500 S1 500

Note that in Step 2 above a slack variable (S1) is added to the right-hand side, which must always be less than or equal to the left-hand side. The addition of S1 to the smaller side of the expression allows us to convert the to . In Step 3 the S1 is moved to the left-hand side by subtracting S1 from both sides. In Step 4 an artificial variable (A1) is added to the left-hand side. Why do we do this? The only reason is to get a starting simplex solution. Remember when we said earlier that a requirement for each tableau was that the variable with a column which has a one in the first row and zeros for all other elements in its column is the variable that must go in the SOL column in the first row? What happens if no variable exists that has a column meeting this requirement? This is exactly the situation we have with or constraints. A constraint has a 1 coefficient for S1, and this does not meet the requirement. Similarly, an constraint does not have a slack variable (as we shall soon see); therefore we shall not be able to meet the requirement here either. When such conditions exist, we must add an artificial variable to or rows to meet the requirement and obtain a starting solution (complete the first tableau). The artificial variables appear in the SOL column of the first tableau and are then methodically driven from the solution in subsequent tableaus. The artificial variables have absolutely no meaning, and we shall not be concerned with them again. When constraints occur, an artificial variable must also be added. For example: 3X1 2X2 1,000 3X1 2X2 A2 1,000

Appendix: Linear Programming Solution Methods

11

Again, the purpose of A2 is to achieve a starting simplex solution; A2 will have no subsequent meaning. The second basic difference is accommodated by converting objective functions from the min to the max form. For example: Min Z 5X1 3X2 becomes Max Z 5X1 3X2 This is achieved by multiplying each term of the Min Z objective function by a 1. Minimization LP problems, after this conversion, are then solved as maximization problems. The exact same tableau procedures apply. After this conversion, slack variables and artificial variables are added to the objective function as required. Slack variables are assigned zero coefficients in the objective function as before. But what about the artificial variables? What coefficients should be assigned to the artificial variables? Would you believe a M, where the M is a very large number? Now, what the M actually represents is subject to speculation, but legend has it that Harvey Wagner first used the big M method in LP studies at the Mercury Motors Division of the Ford Motor Company many years ago. Regardless of its origin, each artificial variable is always assigned a M coefficient in the objective function in either max or min LP problems when the objective function conversion described above is used.1 This M in Row C of the simplex tableau avoids an artificial variable entering back into the solution, since (C Z) will always be zero or negative because the C value is M . . . , a negative very large number, say, minus infinity. Since whatever is subtracted from minus infinity is either negative or zero, the artificial variable will never reenter the solution. Example 2 solves Problem LP-2 from Chapter 8, a minimization problem, using the simplex method.
1

If this conversion of the objective function is not used, the objective function is left in its original form and the rule for the entering variable for minimization problems becomes: The entering variable is the one with the most negative number in Row (C Z). The artificial variables must then be assigned M coefficients in the objective function. All other procedures remain the same as in maximization problems. We prefer the conversion described above because the procedures are all exactly the same for both maximization and minimization problems, and we shall follow this convention throughout.

Example 2

Simplex Solution of LP-2, a Minimization Problem

The Gulf Coast Foundry is developing a long-range strategic plan for buying scrap metal for its foundry operations. The foundry can buy scrap metal in unlimited quantities from two sources, Atlanta (A) and Birmingham (B), and it receives the scrap daily in railroad cars. The scrap is melted down, and lead and copper are extracted for use in the foundry processes. Each railroad car of scrap from Source A yields 1 ton of copper and 1 ton of lead and costs $10,000. Each railroad car of scrap from Source B yields 1 ton of copper and 2 tons of lead and costs $15,000. If the foundry needs at least 21/2 tons of copper and at least 4 tons of lead per day for the foreseeable future, how many railroad cars of scrap should be purchased per day from Source A and Source B to minimize the long-range scrap metal cost? LP-2 was formulated in Chapter 8 as: Min Z 10,000X1 15,000X2 X1 X1 where: X1 carloads of scrap purchased from Source A per day X2 carloads of scrap purchased from Source B per day 2X2 4 (leadtons)
12

X2 2 / (coppertons)

12

Appendix: Linear Programming Solution Methods

1.

Add slack variables to constraints to convert from to : Min Z 10,000X1 15,000X2 X1 2X2 S1 4 X1 X2 S2 21/2

2.

Multiply objective function by 1 to convert to a maximization problem: Max Z 10,000X1 15,000X2 X1 2X2 S1 4 X1 X2 S2 21/2

3.

Add artificial variables to constraints to obtain a starting solution, and include all variables in all functions: Max Z 10,000X1 15,000X2 MA1 MA2 0S1 0S2 X1 2X2 A1 0A2 S1 0S2 4 X1 X2 0A1 A2 0S1 S2 21/2

4.

Place in first tableau and solve:


10,000 SOL RHS 4 21/2 61/2M (C Z) X1 1 1 2M 2M 10,000 A1 A2 Z 15,000 X2 2 1 3M 3M 15,000 M A1 1 0 M 0 M A2 0 1 M 0

First Tableau C M M 0 S1 1 0 M M 0 S2 0 1 M M

4/2 2 21/2/1 21/2

Leaving , Variable (smallest nonnegative)

+ Entering Variable (largest nonnegative)

2 1/2 1 1/2 0 1/2 0 21/2 1 1 0 1 0 1 1/2 1/2 0 1/2 1 1/2 1


Second Tableau C SOL 15,000 M X2 A2 Z RHS 2 1/2 1/2M 30,000 (C Z) 10,000 X1 / 1/2
12

15,000 X2 1 0 15,000 0

M A1 / 1/2
12

M A2 0 1 M 0

0 S1 1/2 1/2 1/2M 7,500 /M 7,500


12

0 S2 0 1 M M

2/1/2 4 1/2/1/2 1

1/2M 7,500 /M 2,500


12

/M 7,500
12

Leaving Variable , (smallest nonnegative)

/M 7,500
32

+ Entering Variable (largest nonnegative)

1/2 1/2 0 1/2 2 1 1 1 /2 0 1

12

12

/ 1 1/2 1 / 0 1/2 0 1 1 1 1

Appendix: Linear Programming Solution Methods Third Tableau C SOL 15,000 10,000 X2 X1 Z RHS 1/ 1
12

13

10,000 X1 0 1 10,000 0

15,000 X2 1 0 15,000 0

M A1 1 1 5,000 M 5,000

M A2 1 2 5,000 M 5,000

0 S1 1 1 5,000 5,000

0 S2 1 2 5,000 5,000

32,500 (C Z)

5.

The third tableau is optimal because all elements in Row (C Z) are zero or negative. Interpret the solution: The solution is deduced from the SOL and RHS columns of the last tableau. All variables that do not appear in the SOL column are equal to zero: X1 1 X2 11/2 S1 0 S2 0 Z 32,500

The Gulf Coast Foundry should purchase 1 carload of scrap per day from Source A and 11/2 carloads of scrap per day from Source B. The total daily scrap cost will be $32,500, and no excess lead or copper above the minimum requirements will result. Note that the simplex method does not guarantee whole number (integer) answers. This is ordinarily not a serious difficulty. In this problem, for example, an average of 11/2 carloads of scrap from Source B could be accommodated by either 3 carloads one day and none the next or two carloads one day and one the next.

Pay particular attention to the conversion of constraints to the first tableau form by adding artificial variables and subtracting slack variables. Note also that the subscripts of the artificial and slack variables correspond to the order of the constraints. A1 and S1 belong to the first constraint, and A2 and S2 belong to the second. The key complication in minimization problems is the more frequent inclusion of artificial variables. Negative Ms, negative very large numbers, appear in the C row and column and consequently in Row Z and Row (C Z). If these Ms are treated as any other very large number and are added, subtracted, and multiplied while the appropriate signs are observed, the minimization problems are as straightforward to solve as the maximization problems.

Interpreting Simplex Solutions


Example 1 used the simplex method to solve Problem LP-1. Let us now examine LP-1 and the last tableau from this example to determine what information is available to POM decision makers. LP-1 was formulated as: Max Z 900X1 600X2 2X1 X1 X1 X2 S1 2X2 X2 S2 4,000 (fabricationhours) 5,000 (assemblyhours) S3 3,500 (marketsaws)

14

Appendix: Linear Programming Solution Methods

where: X1 X2 S1 S2 S3 Z number of circular saws to be manufactured per month number of table saws to be manufactured per month unused fabrication hours per month unused assembly hours per month unsatisfied market demand for saws per month profits per month

The last tableau in the simplex solution to LP-1 in Example 1 was:


Third Tableau C SOL 900 600 0 X1 X2 S3 Z RHS 1,000 2,000 500 2,100,000 (C Z) 900 X1 1 0 0 900 0 600 X2 0 1 0 600 0 0 S1 / 1/3 1/3
23

0 S2 / 2/3 1/3
13

0 S3 0 0 1 0 0

400 400

100 100

The solution to LP-1 is deduced as follows: X1, X2, S3 (all basic variables), and Z are in the SOL column, and their values are shown in the RHS column. Because S1 and S2 are not found in the SOL column (nonbasic variables), their values are zero. This solution indicates that management should manufacture 1,000 circular saws and 2,000 table saws per month for a monthly profit of $2,100,000. All fabrication and assembly production capacity would be used, and 500 additional saws could be sold to the market. To check this, lets examine the constraints of LP-1: 2X1 X2 S1 4,000 (fabricationhours) 2(1,000) 2,000 S1 4,000 2,000 2,000 S1 4,000 S1 4,000 2,000 2,000 S1 0 The fabrication of circular saws (X1) and table saws (X2) has used up all the available fabrication hours per month; therefore S1 0. X1 1,000 2X2 S2 5,000 (assemblyhours) 4,000 S2 5,000 S2 5,000 1,000 4,000 S2 0 The manufacture of circular saws and table saws has used up all the available assembly capacity per month; therefore S2 0. X1 X2 S3 3,500 (marketsaws) S3 3,500 1,000 2,000 S3 3,500 1,000 2,000 S3 3,500 1,000 2(2,000) S2 5,000

Appendix: Linear Programming Solution Methods

15

The sales of circular and table saws have fallen 500 saws short of completely satisfying the maximum monthly demand for saws; therefore S3 500. This explains the solution to LP-1. There is, however, some additional information in the last tableau that can be useful to operations managers. This information is called shadow prices and is found in Row (C Z): (C Z) X1 0 X2 0 S1 400 S2 100 S3 0

The zeros appear in the X1 and X2 columns because these variables are in the solution column SOL in the last tableau. When nonzero shadow prices appear under X variables in Row (C Z), these values indicate the change in Z as a result of forcing one unit of an X variable into the solution. In maximization problems, the shadow prices under X variables indicate how much Z would be reduced by the introduction of one unit of the X variable into the solution. In minimization problems, the shadow prices under X variables indicate how much Z would be increased by the introduction of one unit of the X variable into the solution. The value under an S variable in Row (C Z) represents the change in Z from a one-unit change in a constraints RHS. S1 refers to the first constraint because its subscript is 1 and represents fabrication hours. Since S1 is not in the SOL column, S1 0, which means that all the monthly fabrication capacity is used. For example, assume that management wanted to know the following information: 1. 2. How much would monthly profits (Z) increase if we could find one more hour of fabrication capacity per month (4,001 versus 4,000)? How much would monthly profits (Z) decrease if we had one less hour of fabrication capacity per month (3,999 versus 4,000)?

The answer to both of these questions is found in Row (C Z) and the S1 column: $400. The new monthly profits would be $2,100,400 and $2,099,600, respectively. The element in Row (C Z) and the S2 column indicates the change in Z if the RHS of the second constraint changes by one unit: 1. 2. How much would monthly profits (Z) change if we could find one more hour of assembly capacity per month (5,001 versus 5,000)? How much would monthly profits (Z) decrease if we had one less hour of assembly capacity per month (4,999 versus 5,000)?

The answer to both of these questions is $100; the new monthly profits would be $2,100,100 and $2,099,900, respectively. How much would we be willing to pay to expand the market for our saw product lines through advertising or promotion? The answer to this questionnothingcan be found in Row (C Z) and the S3 column. This answer is also obvious from the solution to Problem LP-1. If we could sell 500 more saws in the market than we are presently selling, we would not pay anything for more market demand. An understanding of the shadow prices in Row (C Z) is valuable to management. This information allows managers to evaluate whether resources (production capacity and market demand in this example) should be shifted from other products or projects. If the cost of getting one unit of a resource is less than its shadow price, the resource should be acquired. Interpreting simplex solutions of LP minimization problems is essentially the same as interpreting those of maximization problems. To demonstrate this similarity, let us examine Row (C Z) from the optimal tableau of Problem LP-2, a minimization problem:

16

Appendix: Linear Programming Solution Methods

(C Z)

X1 0

X2 0

A1 M 5,000

A2 M 5,000

S1 5,000

S2 5,000

The zeros appear under X1 and X2 because both X1 and X2 are in the solution. The values under A1 and A2 have no meaning. The 5,000 under S1 means that if the lead requirement is raised or lowered one unit (1 ton per day), Z will change by $5,000. If the RHS of the first constraint were increased from 4 to 5, Z would increase from $32,500 to $37,500. If the RHS were decreased from 4 to 3, Z would decrease from $32,500 to $27,500. The meaning of the 5,000 under S2 is similarly the marginal impact of 1 ton of copper on Z. The minimization and maximization LP problems are interpreted exactly the same way. It is usually helpful to have the original problem formulated and in front of you when the last tableau is interpreted. The meanings of the variables in the solution and the shadow prices are then easier to understand. Now, to further develop your ability to interpret simplex solutions, let us move on to a more realistic LP problem. Remember the Oklahoma Crude ingredient mix problem, Example 8.7, from Chapter 8. Example 3 presents this problem and its simplex solution and fully interprets the meaning of the solution. Carefully reread the earlier problem before you begin this example.

Example 3

Interpreting Simplex Solutions: The Oklahoma Crude Oil Company Ingredient Mix Problem

The variable definitions of the Oklahoma Crude Oil Company problem are: X1 thousands of gallons of Oklahoma crude to be purchased per month X2 thousands of gallons of Texas crude to be purchased per month X3 thousands of gallons of Kansas crude to be purchased per month X4 thousands of gallons of New Mexico crude to be purchased per month X5 thousands of gallons of Colorado crude to be purchased per month S1 excess regular gasoline over minimum market requirement in thousands of gallons S2 excess premium gasoline over minimum market requirement in thousands of gallons S3 excess low-lead gasoline over minimum market requirement in thousands of gallons S4 excess diesel fuel over minimum market requirement in thousands of gallons S5 excess heating oil over minimum market requirement in thousands of gallons S6 excess lubricating oil base over minimum market requirement in thousands of gallons S7 unused Oklahoma crude supply in thousands of gallons S8 unused Texas crude supply in thousands of gallons S9 unused Kansas crude supply in thousands of gallons S10 unused New Mexico crude supply in thousands of gallons S11 unused Colorado crude supply in thousands of gallons A1, A2, A3, A4, A5, and A6 no meaning

Appendix: Linear Programming Solution Methods

17

Min Z 200X1 140X2 150X3 180X4 120X5 0.4X1 0.3X2 0.3X3 0.2X4 0.3X5 5,000 (regular gasoline market requirement)* 0.2X1 0.3X2 0.4X3 0.3X4 0.2X5 3,000 (premium gasoline market requirement) 0.2X1 0.1X2 0.3X4 0.1X5 3,000 (low-lead gasoline market requirement) 0.2X5 2,000 (diesel fuel market requirement)

0.1X1 0.1X2 0.1X3

0.1X2 0.1X3 0.2X4 0.1X5 1,000 (heating oil market requirement) 0.1X1 0.1X2 0.1X3 X1 X2 X3 X4 0.1X5 2,000 (lubricating oil base market requirement) 8,000 (Oklahoma crude supply) 4,000 (Texas crude supply) 5,000 (Kansas crude supply) 3,000 (New Mexico crude supply) X5 6,000 (Colorado crude supply)
*All requirements and supplies are in thousands of gallons.

A computer solution (last tableau) is presented in Table 3. a. What should management do? In other words, to management decision makers, what is the complete meaning of the values of the decision variables, slack variables, artificial variables, and Z in the optimal solution? What is the meaning of each element in Row (C Z)? Solution a. What should management do? What is the complete meaning of the values of the variables? X1 X2 X3 X5 S2 S3 S4 S5 8,000 (buy 8 million gallons of crude oil per month from Oklahoma) 4,000 (buy 4 million gallons of crude oil per month from Texas) 2,000 (buy 2 million gallons of crude oil per month from Kansas) 6,000 (buy 6 million gallons of crude oil per month from Colorado)

b.

X4 1,3331/3 (buy 11/3 million gallons of crude oil per month from New Mexico) S1 2,0662/3 (2,066,667 gallons of excess regular gasoline will be supplied monthly) 2,200 (2,200,000 gallons of excess premium gasoline will be supplied monthly) 0 (no excess low-lead gasoline will be supplied monthly) 600 (600,000 gallons of excess diesel fuel will be supplied monthly) 4662/3 (466,667 gallons of excess heating oil will be supplied monthly)

18

Table 3
C 200 X1 120 180 0 150 0 140 200 0 0 0 0 X5 X4 S5 X3 S2 X2 X1 S9 S4 S10 S1 Z 6,000 1,333.33 466.67 2,000 2,200 4,000 8,000 3,000 600 1,666.67 2,066.67 3,420,000 (C Z) 0 0 0 0 0 0 1 0 0 0 0 200 0

Optimal Tableau from Ingredient Mix Problem: Oklahoma Crude Oil Company
Appendix: Linear Programming Solution Methods
140 X2 0 0 0 0 0 1 0 0 0 0 0 140 0 150 X3 0 0 0 1 0 0 0 0 0 0 0 150 0 180 X4 0 1 0 0 0 0 0 0 0 0 0 180 0 120 X5 1 0 0 0 0 0 0 0 0 0 0 120 0 0 S1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 S2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 S3 0 3.33 0.67 0 1 0 0 0 0 3.33 0.67 600 600 0 S4 0 0 0 0 0 0 0 0 1 0 0 0 0 0 S5 0 0 1 0 0 0 0 0 0 0 0 0 0 0 S6 0 0 1 10 4 0 0 10 1 0 3 1,500 1,500 M A1 0 0 0 0 0 0 0 0 0 0 1 0 M M A2 0 0 0 0 1 0 0 0 0 0 0 0 M M A3 0 3.33 0.67 0 1 0 0 0 0 3.33 0.67 600 M 600 M A4 0 0 0 0 0 0 0 0 1 0 0 0 M M A5 0 0 1 0 0 0 0 0 0 0 0 0 M M A6 0 0 1 10 4 0 0 10 1 0 3 1,500 M 1,500 0 S7 0 0.67 0.23 1 0.4 0 1 1 0 0.67 0.03 70 70 0 S8 0 0.33 0.07 1 0.2 1 0 1 0 0.33 0.07 70 70 0 S9 0 0 0 0 0 0 0 1 0 0 0 0 0 0 S10 0 0 0 0 0 0 0 0 0 1 0 0 0 0 S11 1 0.33 0.07 1 0.3 0 0 1 0.1 0.33 0 90 90

Appendix: Linear Programming Solution Methods

19

S6 S7 S8

0 (no excess lubricating oil base will be supplied monthly) 0 (all Oklahoma crude oil available will be purchased monthly) 0 (all Texas crude oil available will be purchased monthly)

S9 3,000 (3,000,000 gallons of Kansas crude oil will be available and not purchased monthly) S10 1,6662/3 (1,666,667 gallons of New Mexico crude oil will be available and not purchased monthly) S11 0 (all Colorado crude oil available will be purchased monthly) A4, A5, and A6 no meaning Z 3,420,000 ($3,420,000 crude oil cost per month will result) b. Interpret Row (C Z): 1. The values in the A1, A2, A3, A4, A5, and A6 columns have no meaning. 2. The zeros in the X1, X2, X3, X4, and X5 columns because all of these variables are in the solution. 3. The zeros in the S1, S2, S4, S5, S9, and S10 columns mean that a 1,000-gallon change in the RHS of these constraints will not affect the monthly crude oil cost (Z), because each of these slack variables is in the solution. For example, S1 2,0662/3 means that 2,066,667 gallons more than the 5,000,000 RHS of the regular gasoline minimum market requirement is supplied. Therefore, raising or lowering the RHS a small amount will not affect Z.
Row (C Z) 600 1,500 70 70 90 Interpretation If the low-lead gasoline monthly market requirement were increased by 1,000 gallons, Z would increase $600. If the lubricating oil base monthly market requirement were increased by 1,000 gallons, Z would increase $1,500. If the amount of Oklahoma crude available each month were increased by 1,000 gallons, Z would decrease by $70. If the amount of Texas crude available each month were increased by 1,000 gallons, Z would decrease by $70. If the amount of Colorado crude available each month were increased by 1,000 gallons, Z would decrease by $90. S3 S6 S7 S8 S11

Column

Postoptimality Analysis
Postoptimality analysis, or sensitivity analysis as it is often called, manipulates the elements of the last tableau of the simplex procedure to determine the sensitivity of the solution to changes in the original problem. Here are some of the questions that this analysis seeks to answer: 1. How will Z change if the RHS of any constraint changes? This question was addressed earlier in this section. The values in Row (C Z) under the slack variables provide this information. If a decision variable is not in the optimal solution (equals zero), how will Z change if one unit of the decision variable is forced into the solution (Xi 1)? This question was also addressed earlier in this appendix. The values in Row (C Z) under the decision variables provide this information. Over what range can the RHS change and the shadow prices in Row (C Z) remain valid?

2.

3.

20

Appendix: Linear Programming Solution Methods

4. 5.

How will Z change if one of the coefficients of a decision variable in the objective function changes by one unit? How will Z change if one of the coefficients of a decision variable in a constraint changes by one unit?

These and other postoptimality questions are deduced from the optimal tableau, but the methods of analysis required to answer Questions 3, 4, and 5 are beyond the scope of this book. These questions assume that all other parts of the original problem remain unchanged and that only the singular change under consideration occurs. Although this is a popular topic with operations researchers, one rather obvious method for answering these and other postoptimality questions exists: Make the desired changes in the original problem, input the new problem to the computer, and interpret the new results.

Unusual Features of Some LP Problems


Two linear programming situations deserve special attention: degeneracy and alternate optimal solutions. Degeneracy is a condition in which there is a tie between two or more leaving variables in any maximization or minimization simplex tableau. For example, consider this problem: Max Z 5X1 10X2 X1 3X2 6 2X1 2X2 4
First Tableau C SOL 0 0 S1 S2 Z RHS 6 4 0 (C Z) 5 X1 1 2 0 5 10 X2 3 2 0 10 + Entering Variable 0 S1 1 0 0 0 0 S2 0 1 0 0
63 43

/ 2 / 2

In the first tableau, a tie for the leaving variable exists. Therefore, a condition of degeneracy is present. Why is this a problem? It usually poses absolutely no problem at all in arriving at an optimal solution. One of the variables is arbitrarily selected to leave, and the simplex method is continued. In rare instances, however, looping can occur. In other words, in the example above, if S2 is selected to leave the first tableau, S1 and X2 are in the SOL column of the second tableau. S1 could leave and S2 could reenter the third tableau, and S2 and X2 would be in the SOL column. S2 could leave and S1 reenter the fourth tableau, and S1 and X2 would be in the fourth tableau. This switching could conceivably continue endlessly, thus prohibiting an optimal solution. Looping situations almost never happen in nontrivial real LP problems in POM. When they do, a simple solution is to add or subtract an infinitesimally small amount to either the RHS or coefficient in the ratio to break the tie. For example, the original problem could be modified as follows: Max Z 5X1 10X2 X1 3X2 6.0001 2X1 2X2 4

Appendix: Linear Programming Solution Methods

21

This slight modification breaks the tie of leaving variables and removes the degeneracy condition. Alternate optimal solutions exist when an element under a variable in Row (C Z) is zero and that variable is not in the solution. For example, consider this problem: Max Z X1 7X2 X1 7X2 14 7X1 X2 14
Second Tableau C SOL 7 0 X2 S2 Z RHS 2 12 14 (C Z) 1 X1
17 48 7

7 X2 1 0 7 0

0 S1 / 1/7 1 1
17

0 S2 0 1 0 0
17

2/ / 14 Leaving 12/48/7 13/4 , Variable

/ /

1 0

+ Entering Variable

Note that the zero under X1 in Row (C Z) of this optimal tableau indicates that X1 can enter the solution (X2 2, X1 0, Z 14) with no change in Z. Let X1 enter to check this out, X1 enters and S2 leaves: 1/7(13/4) 1/4 2 13/4 1/7(1) 1/7 1/7 0 1/7(0) 0 1 1 1/7(1/48) 1/336 1/7 49/336 1/7(7/48) 7/336 0 7/336

or

A new alternate optimal solution emerges in the third tableau where X1 13/4, X2 13/4, and Z 14. Z has not changed. Note that the zero in Row (C Z) under S2 in the third tableau indicates also that an alternate optimal solution exists, the one in the second tableau.
Third Tableau C SOL 7 1 X2 X1 Z RHS 1/ 13/4
34

1 X1 0 1 1 0

7 X2 1 0 7 0

0 S1 / 1/48
49 336

0 S2 / 7/48 0 0
7 336

14 (C Z)

1 1

We should always examine Row (C Z) to inspect for alternate optimal solutions. Why? Because these alternatives offer management the ultimate in flexibilityalternatives with the same profits or costs. Now let us turn to a solution method designed to solve a special type of LP problemthe transportation problem.

22

Appendix: Linear Programming Solution Methods

TRANSPORTATION METHOD
In Chapter 8, we discussed selecting a set of shipments from sources to destinations that minimized period transportation costs. These problems can be analyzed by either the simplex method or the transportation method. We present the essential elements of the transportation method here.

Characteristics of Transportation Problems


Transportation problems have these characteristics: A finite and homogeneous set of discrete units must be shipped from several sources to several destinations in a particular time period. Each source has a precise number of units that must be shipped in the time period. Each destination has a precise number of units that must be received in the time period. Each discrete unit to be shipped has a specific transportation cost from each source to each destination. The objective is to minimize the total transportation costs for the time period. The decision variables represent the number of units to be shipped from each source to each destination during the time period.

Such problems were first formulated in the 1940s, and the solution procedures that will be presented in this section were developed in the 1950s. Although the characteristics listed above accurately depict the problems as they were originally formulated and solved, later formulations and solutions allow a much broader range of problems. As we shall see later in this section, problems with and constraints, maximization objectives, demands greater than supply, and other characteristics are now routinely described as transportation problems. Solution procedures that constitute the transportation method also are used routinely to solve such expanded problems.

Solution Procedures of the Transportation Method


The procedures of the transportation method are exhibited in Table 4. To demonstrate these procedures, Example 4 analyzes a problem of a manufacturing company that must select a new location for a factory to produce computer peripheral units. Notice in Steps 2 and 3 of Table 4 that two alternative ways can be used to either test a solution for optimality or obtain a starting solution. Example 4 uses only the northwest corner rule and the stepping-stone method so that you can get the overall picture of how the transportation method works. Later the same problem will be worked with the MODI and VAM methods so that you can appreciate the relationships among the methods.

Table 4

Procedures of the Transportation Method


1. Formulate the problem in a transportation table. 2. Use the northwest corner rule or VAM to obtain a feasible starting solution. 3. Test the optimality of the solution by using the stepping-stone or MODI method. If the solution is optimal, stop. If not, continue to the next step. 4. Develop a new transportation table that is an improved solution. Go back to Step 3.

Appendix: Linear Programming Solution Methods

23

Example 4

The Northwest Corner Rule and the Stepping-Stone Method

The Plain View Manufacturing Company presently has two factories at Amarillo and Waco, Texas, and three warehouses at Dallas, San Antonio, and Houston, Texas. In recent months, Plain View has been unable to produce and ship enough of its computer peripheral units to satisfy the market demand at the warehouses. A new factory at Huntsville, Texas, is proposed to increase factory capacity. Bill Mayer, Plain Views president, wants to determine what Plain Views monthly shipping costs will be with the new factory located at Huntsville. The monthly capacities of the old and new factories, the monthly warehouse requirements, and the transportation costs per unit from each factory to each warehouse are:
Monthly Warehouse Requirement (units) 300 900 800 2,000 Transportation Costs Warehouse Factory Amarillo Waco Huntsville San Antonio $31 20 23 Dallas $21 21 20 Houston $42 30 15

Factory Amarillo Waco Huntsville Total

Monthly Capacity (units) 400 1,000 600 2,000

Warehouse San Antonio Dallas Houston Total

a. Use the transportation method to determine the total monthly transportation costs if the new factory is located at Huntsville. b. How many units per month should be shipped from each factory to each warehouse after the new factory is built? Follow the steps in Table 4 for the transportation method. These steps are illustrated in Figure 1.

Solution 1. and 2. Formulate the problem in a transportation table, and use the northwest corner rule to obtain a starting solution. Note that the monthly factory capacities are placed on the right-hand side of the table opposite the appropriate factory row. Similarly, warehouse requirements are placed along the bottom of the table under the appropriate warehouse column. The per-unit shipping cost is shown in a box within each factorywarehouse cell. Note also that the total capacity for all factories equals the total warehouse requirements. This starting solution shows how many units are shipped from each factory to each warehouse. When a cell is empty, zero units are to be shipped. The initial solution is obtained by beginning in the northwest cell (AmarilloSan Antonio) and allocating as many units as possible to this cell and proceeding likewise from left to right and downward. Only 300 units are possible in the AmarilloSan Antonio cell because this amount satisfies the San Antonio warehouse requirement. Moving to the right, we can allocate only 100 units to the AmarilloDallas cell because this completes the Amarillo factory capacity of 400 units. Next, we move downward and allocate 800 units to the WacoDallas cell, move right and allocate 200 units to the WacoHouston cell, and so on until all 2,000 units have been allocated. Test the optimality of the solution by using the stepping-stone method. This step requires systematically evaluating each of the empty cells in Transportation Table #1 to determine if monthly transportation costs can be reduced by moving any units into the empty cells. The stepping-stone evaluation method involves the procedures in Table 5. As shown in Figure 1, Transportation Table #1 is not optimal because we have a negative circuit cost for the WacoSan Antonio cell and we can reduce monthly transportation costs by moving some units into this empty cell.

3.

24

Appendix: Linear Programming Solution Methods

Figure 1

Transportation Tables of Example 4


Steps 1 and 2: Starting Solution Using the Northwest Corner Rule To From Amarillo 400 Waco 1,000 Huntsville 600 2,000 2,000 Warehouse Totals To From 300 San Antonio 300 X 31 20 23 900 Dallas 100 800 X 21 X 21 20 200 600 800 Houston 42 X 30 X 15 Factory Totals 400 1,000 600 2,000 2,000 Factory Totals 400 1,000 600 2,000 2,000

Step 3a: First evaluate the AmarilloHouston empty cell: Circuit cost 42 30 21 21 12. Place this cost in a circle. To From Amarillo Waco Huntsville Warehouse Totals 300 San Antonio 300 31 20 23 900 Dallas 100 21 21 20
() ()

Houston 12 42 30 15
() ()

Factory Totals

800

200

600 800

Step 4: Transportation Table #1 San Antonio 300 11 7 300 31 20 23 Dallas 100 800 14 900 21 21 20 Houston 12 200 600 800 42 30 15

Step 3b: Next, evaluate the WacoSan Antonio empty cell: Circuit cost 20 31 21 21 11. Place this cost in a circle. Factory To Dallas Houston San Antonio From Totals 21 42 31 400 Amarillo 300 100
() () () ()

Amarillo Waco Huntsville Warehouse Totals

Waco Huntsville Warehouse Totals

11

20 23

800

21 20

200 600 800

30 15

1,000 600 2,000 2,000

300

900

Factory Amarillo Amarillo Waco Waco Huntsville

The monthly costs of Transportation Table #1 are: Monthly Units to Transportation Be Shipped Warehouse Costs per Month San Antonio Dallas Dallas Houston Houston Totals 300 100 800 200 600 2,000 $ 9,300 2,100 16,800 6,000 9,000 $43,200 Factory Totals 400 1,000 600 2,000 2,000

Step 3c: Next, evaluate the HuntsvilleSan Antonio empty cell: Circuit cost 23 31 21 21 30 15 7. Place this cost in a circle. Factory To Dallas Houston San Antonio From Totals 31 21 42 400 300 100 Amarillo
() () ()

Step 5: Transportation Table #2 To From Amarillo Waco Huntsville San Antonio 11 300 18 300 31 20 23 Dallas 400 500 14 900 21 21 20 Houston 12 200 600 800 42 30 15

Waco Huntsville Warehouse Totals 7


()

20 23

800

21 20

200

30 15

() ()

1,000 600 2,000 2,000

600 800

300

900

Step 3d: Next, evaluate the HuntsvilleDallas empty cell: Circuit cost 20 21 30 15 14. Place this cost in a circle. Factory To Dallas Houston San Antonio From Totals 31 21 42 400 Amarillo 300 100 Waco Huntsville Warehouse Totals 300 20 23 800 14 900 21 20
() ()

Warehouse Totals

Factory Amarillo Waco Waco Waco Huntsville

The monthly costs of Transportation Table #2 are: Monthly Units to Transportation Be Shipped Warehouse Costs per Month Dallas San Antonio Dallas Houston Houston Totals 400 300 500 200 600 2,000 $ 8,400 6,000 10,500 6,000 9,000 $39,900

200

30 15

() ()

1,000 600 2,000 2,000

600 800

Appendix: Linear Programming Solution Methods

25

Table 5

Stepping-Stone Method

Logic of the Stepping-Stones In this procedure, we want to determine if the present transportation table is optimal and, if it is not, which variable should enter the solution. Each unfilled cell (a variable not in the solution) is investigated to determine if period costs would be reduced if units were moved from a filled cell (a variable in the solution) to an unfilled cell. The stepping-stone circuit is simply a logical way of determining the per-unit change in period costs if units are moved into an unfilled cell. This is analogous to examining the Row (C Z) in the simplex method to determine the entering variable. Steps of the Stepping-Stone Method 1. Select an empty cell from the transportation table. 2. Draw a closed circuit between the empty cell and other stones (occupied cells) by using only straight vertical or horizontal lines. The circuit may skip over stones or other empty cells, but the corners of the circuit may occur only at stones (occupied cells) and the empty cell that is being evaluated. 3. Beginning at the empty cell being evaluated, move clockwise and alternatively assign positive () and negative () signs to the costs of the cells at the corners of the circuit from Step 2. 4. Total the per-unit costs of the cells at the corners of the circuit. The circuit total corresponds to the Row (C Z) values of the simplex method, and these values mean the amount of change in total shipping costs that can be realized by moving one unit to the empty cell under examination. Positive values mean costs will rise; negative values mean costs will fall. 5. Return to Step 1 and continue until all empty cells have been evaluated. The new cell to enter the solution is the cell whose circuit has the most negative circuit total cost. 6. If all the circuit totals are positive or zero, the solution is optimal. If negative circuit totals exist, develop an improved solution. Determining the New Solution Once we determine that period costs would be reduced if some units were moved into an unfilled cell, how many units should be moved? We should move as many as possible. The change in the solution is determined by examining the stepping-stone circuit with the most negative total circuit cost. In this circuit, among the filled cells with negative costs, locate the filled cell with the smallest number of units to be shipped. Subtract the number of units from all filled cells with negative costs and add this number to all filled cells with positive costs on that stepping-stone circuit. This is analogous to determining the value of the entering variable in the simplex method.

4.

Develop a new transportation table that is an improved solution. An improved solution is obtained by moving as many units as possible into the empty cell of the last transportation table with the most negative circuit cost. But how many units can be moved into the WacoSan Antonio cell, which had a negative circuit cost in Step 3? Let us again examine the stepping-stone circuit for this cell. The maximum number of units that can be moved into the WacoSan Antonio empty cell is 300the smallest number of units in a negative cell on the WacoSan Antonio steppingstone circuit. To complete the improved solution, subtract the smallest number of units in negative cells, 300, from all negative cells and add this same number of units to the positive cells of the circuit. All other cells not on this circuit remain unchanged. This new solution is shown in Transportation Table #2 of Figure 1.

This solution is an improved one$43,200 in Transportation Table #1 versus $39,900 in Transportation Table #2but is it optimal? Optimality can be determined once again by following the stepping-stone procedures. The stepping-stone circuit costs of the empty cells are shown in circles in Transportation Table #2 of Figure 1. Because all stepping-stone circuit costs are either positive or zero, the solution in Transportation Table #2 is optimal. Now let us answer the questions of Plain Views location problem:

26

Appendix: Linear Programming Solution Methods

a. b.

If the factory is located at Huntsville, Plain Views total monthly transportation costs will be $39,900. Plain View should make these monthly shipments:
Factory Amarillo Waco Waco Waco Huntsville Total Warehouse Dallas San Antonio Dallas Houston Houston Number of Units 400 300 500 200 600 2,000

Example 4 uses the well-known stepping-stone method to determine optimality and to develop improved solutions. A newer and more frequently used method is the MODI method (modified distribution method). This procedure is similar to the stepping-stone method, but it is more efficient in computing the improvement costs (circuit costs in the stepping-stone method) for the empty cells. Example 5 uses the MODI method to test Transportation Table #1 in Figure 1 for optimality. Before you begin this example, however, perhaps it would be helpful if you would do two things. First, review the procedures of the transportation method from Table 4 to get the overall view of the procedure again. Notice that the only way that the MODI method affects the procedures of the transportation method is in testing each transportation table for optimality. Everything else in the procedure stays the same formulating the transportation tables, using either the northwest corner rule or VAM to obtain a starting solution, and developing new transportation tables that are improved solutions. Next, review Step 3 in Figure 1. This step uses the stepping-stone method to check the optimality.

Example 5

MODI Method of Testing Transportation Tables for Optimality

Transportation Table #1 Kj Ri To From R1 0 R2 0 R3 15 Amarillo Waco Huntsville Warehouse Totals K1 31 San Antonio 300 11 7 31 20 23 K2 21 K3 30 Factory Totals 42 30 15 400 1,000 600 2,000 300 900 800 2,000

Dallas 100 800 14 21 21 20

Houston 12 200 600

Appendix: Linear Programming Solution Methods Calculating Ri and Kj for Filled Cells Ri Kj Cij, where Cij represents the transportation cost of the ij cell R1 0 R1 K1 C11 0 K1 31, K1 31 R1 K2 C12 0 K2 21, K2 21 R2 K2 C22 R2 21 21, R2 0 R2 K3 C23 0 K3 30, K3 30 R3 K3 C33 R3 30 15, R3 15 Calculating Circuit Costs for Unfilled Cells Cij Ri Kj AmarilloHouston C13 R1 K3 42 0 30 12 WacoSan Antonio C21 R2 K1 20 0 31 11 HuntsvilleSan Antonio C31 R3 K1 23 (15) 31 7 HuntsvilleDallas C32 R3 K2 20 (15) 21 14

27

In Example 5, we first compute the Ri and Kj for the table. R1 is always set equal to zero; this allows us to compute all other values of Ri and Kj for filled cells. After we know these values, we can directly calculate the circuit costs for the empty cells of the transportation table, but without the necessity of drawing the stepping-stone circuits for all of these cells as in the stepping-stone method. Next, if there are any negative circuit costs, we would draw the stepping-stone circuit for the empty cell that has the most negative circuit cost, just as we did in Figure 1, and develop a new transportation table with an improved solution as before. Although the Ri and Kj must be recomputed for each transportation table, the MODI method is more efficient than the stepping-stone method and tends to be used more frequently in practice. The northwest corner rule provides a starting solution to transportation problems, but one that is arbitrary. In most problems, this results in too many transportation tables. This source of inefficiency may not seem too important to you now after having worked through Example 4 in just two transportation tables, but in problems of more realistic proportions, say 25 sources and 40 destinations, many tables would be required if we used the northwest corner rule to obtain a starting solution. Vogels approximation method (VAM) was developed to obtain a more efficient starting solution. In fact, in many problems the starting solution is optimal. Although the VAM method is more complicated than the northwest corner rule, in realistic problems, VAM is a more practical way to obtain starting solutions. Example 6 develops a starting solution to the transportation problem of our previous example. In working through the procedures of the VAM method, refer to Table 6, which explains the steps of the method that are applied in Example 6. In Step 1 from Table 6, in the example the D1 row and column are first completed. These values represent the difference between the lowest unit cost and next lowest unit cost for each row and column. In Step 2, the Houston column has the largest difference on the first iteration and it is selected. In Step 3, the HuntsvilleHouston cell has the lowest unit cost within the Houston column, and we therefore allocate 600 units to that cell, the most possible. Because all of the Huntsville row has been allocated, you may draw a line all the way through this row to eliminate it from further consideration. This completes the first iteration.

28

Appendix: Linear Programming Solution Methods

Example 6

Starting Solutions with Vogels Approximation Method (VAM)

To From

San Antonio 31

Dallas (4) 400 21

Houston 42

Factory Totals

D1 400 10

D2 10

D3 10

D4

Amarillo (3) Waco 300 23 Huntsville Warehouse Totals D1 D2 D3 D4 20

(4) 500

21

(2) 200

30 1,000 15 600 2,000 5 1 1 1

20

(1) 600

300 3 11 11

900 1 0 0 0

800 15 12

2,000

Di Column Calculations D1 23 20 3, 21 20 1, 30 15 15 D2 31 20 11, 21 21 0, 42 30 12 D3 31 20 11 , 21 21 0 D4 21 21 0

Di Row Calculations 31 21 10, 21 20 1, 20 15 5 31 21 10, 21 20 1 31 21 10, 21 20 1

Units Allocated at Iteration (i) (1) 600/HuntsvilleHouston

(2) 200/WacoHouston (3) 300/WacoSan Antonio (4) 500/WacoDallas 400/AmarilloDallas

Next, we begin the second iteration in the D2 row and column. The Houston column has the largest difference and is selected, and 200 units are allocated to the WacoHouston cell within the Houston column because this cell has the lowest remaining unit cost. This allocation exhausts the Houston column and a line may be drawn through the column. This completes the second iteration. The third and fourth iterations are similarly completed. The starting solution obtained in this example is the same optimal solution obtained in Figure 1 of Example 4. This is not always the case and although the VAM method does yield an efficient starting solution when compared to the northwest corner method, it still must be considered only a starting solution and all the steps of the transportation method listed in Table 4 must be followed. In other words, in Example 6, after the last iteration we would need to use either the stepping-stone or the MODI method to test the solution for optimality and proceed with the entire transportation method.

Appendix: Linear Programming Solution Methods

29

Table 6

Steps of the VAM Method


1. For each row and column of the transportation table, compute the difference between the lowest unit cost and the next lowest unit cost and record this difference. Place the row differences in a column to the right of the table under a heading of Di and the column differences in a row across the bottom of the table with a heading of Di, where i represents the number of times you have done this step. 2. Select either the row or column with the largest difference. If ties occur, arbitrarily select among tying elements. 3. Allocate as many units as possible to the cell with the lowest cost in the row or column selected in Step 2. 4. If the units in a row or column have been exhausted in Step 3, that row or column may be eliminated from further consideration in subsequent calculations by drawing a line through it. 5. When differences cannot be calculated in Step 1 because only one row or one column remains, this is not an unusual occurrence as we near the end of the process. Calculate the differences that are possible and continue. 6. Return to Step 1 and continue until the units in all the rows and columns have been allocated.

The reason that the VAM method yields better starting solutions than the northwest corner rule is that the northwest corner rule does not consider any cost information when the starting solution is determinedunits are arbitrarily allocated on a northwest diagonal regardless of the costs. In the VAM method, an opportunity cost principle is applied. At each iteration, the difference between the lowest unit cost and the next lowest unit cost is the opportunity cost of not allocating units to a row or a column. By selecting the largest difference, the largest opportunity cost is avoided. By taking into account the costs of alternative allocations, the VAM method yields very good starting solutions that are sometimes optimal, particularly in simple problems.

Unbalanced Problems
Example 4 involved a problem where the total number of units to be shipped from sources exactly equaled the number of units required at destinations. This is called a balanced transportation problem. It is not unusual to have an unbalanced transportation problem, where the number of units that can be shipped from sources exceeds the number required at destinations, or vice versa. Figure 2 is the optimal transportation table of such an unbalanced transportation problem. A dummy destination column is entered into the table to account for the difference between destination requirements and source shipments. Note that the shipping cost from any source to the dummy destination is zero. The only function of the fictitious destination is to balance the problem. The interpretation of the 2,000 units in the Source Cdummy destination cell is that 2,000 units of the capacity at Source C will not be shipped. The dummy destination column therefore serves the same purpose as slack variables in the simplex method. All other solution procedures (the northwest corner rule, VAM, the stepping-stone method, or the MODI method) discussed earlier are followed to solve unbalanced transportation problems. The interpretation of the final solution is exactly the same in either balanced or unbalanced problems, with the exception of the dummy row or column interpretation.

30

Appendix: Linear Programming Solution Methods

Figure 2

An Unbalanced Transportation Problem

To From A B C Destination Totals 1,000 1 3.5 4.0 2.0 1,000 2,000 1,000 2 2.0 2.5 3.0 3,000 3 4.0 1.5 3.0

Dummy Destination 0 0 2,000 0

Source Totals 1,000 5,000 4,000 10,000

1,000

4,000

3,000

2,000

10,000

Degeneracy
Degeneracy is another complication that can be encountered in transportation problems. The number of occupied cells in a transportation table must equal the number of sources plus the number of destinations minus 1. Thus, in Example 4 all transportation tables always had 5 occupied cells (3 sources 3 destinations 1 5). Degeneracy is present when less than this minimum number of occupied cells occurs. Degeneracy, if present, interferes with the drawing of stepping-stone circuits when the stepping-stone method is used, or it makes it impossible to compute the Ri and Kj if the MODI method is used to check for optimality of transportation tables. Therefore, special procedures are necessary to solve these problems successfully. If degeneracy occurs in the initial transportation table solution after employing either the VAM method or the northwest corner rule, a zero is assigned to one of the empty cells. The empty cell selected is usually one that creates an unbroken chain of occupied cells from NW to SE across the transportation table. The zero cell is treated as an occupied cell with zero units occupying the cell when stepping-stone circuits are drawn or Ri or Kj is calculated. This is analogous to having a variable in the solution, but with a zero value as in the simplex method. This manipulation allows us to complete our check for optimality without changing the nature of the transportation problem. When degeneracy occurs in transportation tables beyond the initial solution, a slightly different procedure is used. Figure 3 shows Transportation Tables #1 and #2 of a transportation problem where degeneracy exists. Notice that the initial solution to this transportation problem has 6 occupied cells, exactly the required minimum (3 sources 4 destinations 1 6). The stepping-stone circuit of the San DiegoSeattle cell (superimposed on Transportation Table #1) has the most negative circuit cost of any empty cell in this table, and an improved solution must be developed from this circuit. Remember that we first identify the smallest number of units in the negative cells (5,000 units) and then subtract this number from all negative cells and add it to all positive cells on the circuit. Ordinarily, this procedure makes one occupied cell go to zero units, but in this circuit both the MiamiSeattle and ChicagoDenver cells go to zero. That is what causes

Appendix: Linear Programming Solution Methods

31

Figure 3

A Degenerate Transportation Table

Transportation Table #1 To From Miami Seattle 5,000 () 1.2 Denver 5,000 () 5,000 () 0.7 New Orleans 0.5 New York 0.6 Factory Totals 10,000

Chicago

0.7

0.5

10,000

0.5

5,000 () 15,000 () 20,000

0.6

20,000

San Diego () Warehouse Totals 5,000

0.5

0.7

0.8

1.2

15,000 45,000

10,000

10,000

45,000

Transportation Table #2 To From Miami Chicago San Diego Warehouse Totals 5,000 5,000 Seattle 0 1.2 0.7 0.5 Denver 10,000 0.7 0.5 0.7 10,000 New Orleans 0.5 0.5 0.8 10,000 10,000 20,000 New York 0.6 0.6 1.2 Factory Totals 10,000 20,000 15,000 45,000 10,000 10,000 45,000

the solution in Transportation Table #2 to be degenerate, a condition comparable to a tie for leaving variables in the simplex method. We handle this degenerate situation in the transportation method by assigning a zero number of units to either one of the cells reduced to zero units. In Figure 3, the zero is assigned to either the MiamiSeattle cell or the ChicagoDenver cell. The zero is then treated as an occupied cell, but with zero units, when applying either the stepping-stone or the MODI method of checking subsequent transportation tables for optimality. All other procedures of the transportation method are followed as before. When more than two occupied cells are eliminated, more than one zero must be assigned to these cells to overcome the condition of degeneracy. Add enough zero cells so that the number of occupied cells equals the number of sources plus the number of destinations minus 1. These problems are otherwise solved as before, with standard transportation method procedures.

32

Appendix: Linear Programming Solution Methods

ASSIGNMENT METHOD
The assignment method is another method for solving LP problems. Like the transportation method, the assignment method is easier to work than the simplex method, but it can be used only on LP problems with special characteristics. These characteristics are even more restrictive than those of LP problems using the transportation method: 1. 2. 3. 4. n objects must be assigned to n destinations. Each object must be assigned to some destination. Each destination must be assigned an object. The objective is to minimize the total cost of the assignments.

These problems can be solved by the transportation method where the units to be shipped is 1 for all rows and columns and the number of rows equals the number of columns. In this formulation, the sources are the objects to be assigned. Although this formulation is straightforward, its solution with the transportation method can become difficult owing to extreme cases of degeneracy. Because of this complication, the assignment method offers computational advantages for solving assignment problems. Example 7 demonstrates the procedures of the assignment method. In this example, the Mercury Electric Motor Company needs to assign five motor overhaul jobs to five motor rewinding centers. The assignment method is a simple and efficient method for solving such problems because it guarantees assignments that result in minimum processing cost, maximum profit, or minimum processing time for all the jobs. Example 7 demonstrates the minimization algorithm that is appropriate for minimizing costs or processing times. If we wished to maximize profits, we would multiply all the profits in the first table by minus 1 (1) and then follow the same procedures as in the minimization case. Regardless of whether the problem is of the maximization or minimization type, the optimal job assignmentor job assignments, since multiple optimal solutions are possibleresults from the use of the assignment method.

Example 7

Using the Assignment Method to Assign n Jobs to n Work Centers

The Mercury Electric Motor Company overhauls very large electric motors used in industrial plants in its region. Bill Tobey has just received five electric motor overhaul jobs and is trying to decide to which rewinding work centers the jobs should be assigned. Because some of the work centers specialize in certain types of jobs, the cost for processing each job varies from work center to work center. Bill has estimated the processing costs for the five jobs at five rewinding work centers, and he uses the assignment method to make a minimum cost assignment of the jobs to work centers by following this procedure: 1. 2. 3. 4. Place the cost information for assigning the jobs to work centers in an assignment table format. This is shown in Step 1 in Figure 4. Subtract the smallest cost in each row from all other costs in that row. The resulting table is shown in Step 2 in Figure 4. Subtract the smallest cost in each column from all other costs in that column. See Step 3 in Figure 4. Draw the least number of vertical or horizontal straight lines to cover the zero cells. See Step

Appendix: Linear Programming Solution Methods

33

5.

4 in Figure 4. Note that several different schemes may be possible, but the same number of minimum lines should result. If n lines (five in this example) were the minimum number of lines to cover the zero cells, the optimal solution would have been reached. If that were the case, the optimal job assignments would be found at the zero cells. Because less than n or only four lines were required, we must perform a modification to the table in Step 4 in Figure 4. Select the smallest cost not covered by lines in the table in Step 4 in Figure 4 (the smallest cost is 50). Subtract this cost from all uncovered costs and add this cost to cells at the intersections of lines in Step 4. Then transfer these new costs and the costs that are unchanged in Step 4 to a new table in Step 5. Redraw the lines to cover the zero cells. Because five lines are required in Step 5, the solution is optimal. If fewer than five lines had been required, Step 5 would have to be repeated.

Figure 4
Step 1

Tables of the Assignment Method in Example 7


Step 2 Work Centers Work Centers 4 $350 300 200 250 375 5 $250 250 150 200 260 Jobs A B C D E Step 4 Work Centers Work Centers 4 100 0 0 50 125 5 50 0 0 50 60 Jobs A B C D E 1 0 100 50 200 0 2 150 0 0 0 200 3 75 200 0 100 80 4 100 0 0 50 125 5 50 0 0 50 60 1 0 100 50 200 0 2 150 0 0 0 200 3 75 200 0 100 80 4 200 100 100 150 225 5 100 50 50 100 110

1 A Jobs B C D E Step 3 1 A Jobs B C D E Step 5 0 100 50 200 0 $150 300 150 300 150

2 $300 200 100 100 350

3 $225 400 100 200 230

2 150 0 0 0 200

3 75 200 0 100 80

Work Centers 1 A Jobs B C D E 0 150 100 250 0 2 100 0 0 0 150 3 25 200 0 100 30 4 50 0 0 50 75 5 0 0 0 50 10

34

Appendix: Linear Programming Solution Methods

Once the optimal table has been obtained, as in Step 5, you are ready to read the optimal solution from this table. To do so, select any row or column with only one zero in the optimal table. In this example, you could choose either Column 3 or Row D or E. Suppose you choose Row D. Make the assignment at the cell with a zero in Row D: D2. Eliminate Row D and Column 2 from further consideration by drawing a line through this row and column. Now only consider the 4 4 matrix with Rows A, B, C, and E and Columns 1, 3, 4, and 5. Select any row or column with just one zero in this new matrix. Make that assignment, eliminate that row and column from further consideration, and repeat this process until all assignments have been made. The optimal solution in this example is A5, B4, C3, D2, and E1, giving a total cost of $250 300 100 100 150 $900.

REVIEW AND DISCUSSION QUESTIONS


1. Where in the optimal simplex tableau is the LP solution found? 2. Where are the shadow prices in the optimal simplex tableau? 3. What are shadow prices? What information do they provide managers? 4. Why must row operations be performed in the simplex method? 5. What purpose do artificial variables serve? 6. What are slack variables? What purpose do they serve? 7. What determines the subscripts for artificial and slack variables? 8. What are the characteristics of transportation problems? 9. What are the procedures of the transportation method? 10. What are the procedures of the northwest corner rule? Why is it used? 11. What methods may be used to test a transportation table for optimality? 12. What advantage does the MODI method have over the stepping-stone method? Explain. 13. What advantage does the VAM method have over the northwest corner rule? Explain. 14. What is an unbalanced transportation problem? What modifications are necessary in our ordinary transportation method when working unbalanced problems? 15. Why is degeneracy a difficulty in the transportation method? What specific difficulties are encountered in the northwest corner rule, stepping-stone method, and the MODI method? 16. What are the characteristics of assignment problems? 17. Describe the procedures of the assignment method.

PROBLEMS
Simplex Method 1. Perform row operations on this second tableau, and complete the third tableau. Is the third tableau optimal? If not, which variables will enter and leave the third tableau?
Second Tableau C SOL 75 0 X2 S2 Z RHS 75 50 5,625 (C Z) 40 X1
12

75 X2 1 0 75 0

0 S1 / 1/2
14 75 4

0 S2 0 1 0 0

/ 4 / /

75 2 52

75/4

Appendix: Linear Programming Solution Methods

35

2. Perform row operations on this second tableau, and complete the third tableau. Is the third tableau optimal? If not, which variables will enter and leave the third tableau?
Second Tableau C SOL 70 0 0 X3 S2 S3 Z RHS 100 0 400 7,000 (C Z) 50 X1 0 2 4 0 50 60 X2 / 1/2 1/2
14 35 2 85 2

70 X3 1 0 0 70 0

0 S1 / 1/2 1/2
14 35 2

0 S2 0 1 0 0 0

0 S3 0 0 1 0 0

/ /

35/2

3. Perform row operations on this second tableau. Complete the third tableau. Is the third tableau optimal? If not, which variables will enter and leave the third tableau?
Second Tableau C SOL 40 M 0 X2 A2 S3 Z RHS 30 50 20 50M 1,200 (C Z) 30 X1 / 3/2 3/2
12

40 X2 1 0 0 40 0

M A1 / 5/2 1/2
12 5/2M 20

M A2 0 1 0 M 0

0 S1 1/2 5/2 1/2 5/2M 20 /M 20


52

0 S2 0 1 0 M M

0 S3 0 0 1 0 0

3/2M 20 /M 10
32

7/2M 20

(LP-A, B, C, D, E, F, G, H, I, and J problems are found at the end of Chapter 8.) 4. Formulate Problem LP-A. Develop the initial simplex tableau. 5. Solve LP-B using the simplex method. What is the optimal solution? 6. Solve LP-C using the simplex method. What is the optimal solution? 7. Solve LP-D using the simplex method. What is the optimal solution? 8. Solve LP-E using the simplex method. What is the optimal solution? (Hint: Convert the objective function to cents.) 9. Solve LP-G using the simplex method. What is the optimal solution? 10. Solve LP-H using the simplex method. What is the optimal solution? 11. Solve LP-I using the simplex method. What is the optimal solution? Fully interpret the meaning of the solution. 12. Below are the variable definitions and the last (optimal) tableau for Problem LP-A. a. What should management do? In other words, to management decision makers, what is the complete meaning of the values of X1, X2, S1, S2, S3, S4, A3, A4, and Z in the optimal tableau? b. What is the meaning of each element in Row (C Z)?

36

Appendix: Linear Programming Solution Methods

X1 number of chairs to produce per week X2 number of bookshelf units to produce per week S1 excess labor hours unused per week S2 excess wood unused per week (board-feet) S3 number of chairs above minimum per week S4 number of bookshelf units above minimum per week Z dollars of profit per week
Optimal Tableau C SOL 0 0 15 21 S1 S3 X1 X2 Z RHS 20 50 150 100 4,350 (C Z) 15 X1 0 0 1 0 15 0 21 X2 0 0 0 1 21 0 0 S1 1 0 0 0 0 0 0 S2 / 1/8 1/8 0
12 15 8

0 S3 0 1 0 0 0 0

0 S4 3 3/2 3/2 1
32

M A3 0 1 0 0 0 M

M A4 3 3/2 3/2 1 3/2 M 3/2

15/8

3/2

13. Below are the variable definitions and the last (optimal) tableau for Problem LP-B. a. What should management do? In other words, to management decision makers, what is the complete meaning of the values of X1, X2, S1, S2, and Z in the optimal solution? b. What is the meaning of each element in Row (C Z)? X1 hundreds of gallons of premium ice cream to produce per week X2 hundreds of gallons of light ice cream to produce per week S1 unused mixing machine hours S2 unused gallons of milk Z dollars of profit per year
Optimal Tableau C SOL 100 100 X2 X1 Z RHS 175 175 35,000 (C Z) 100 X1 0 1 100 0 100 X2 1 0 100 0 0 S1 / 35/12 83.33
30 8

0 S2 / 1/48 0.833
1 80

83.33

0.833

14. Below are the variable definitions and the last (optimal) tableau for Problem LP-C. a. What should management do? In other words, to management decision makers, what is the complete meaning of the values of X1, X2, S1, S2, S3, and Z in the optimal solution? b. What is the meaning of each element in Row (C Z)?

Appendix: Linear Programming Solution Methods

37

X1 X2 S1 S2 S3 Z
Optimal Tableau C SOL 0 250 200 S1 X1 X2 Z

cases of relays per quarter cases of capacitors per quarter unused labor-hours unused stamping machine hours unused testing machine hours dollars of profit per year
250 200 X2 0 0 1 200 0 0 S1 1 0 0 0 0 0 S2 / 5/14 3/14
275 7

0 S3 / 1/7 2/7
100 7

RHS 4285.7 142.86 314.286 98,572 (C Z)

X1 0 1 0 250 0

46.429 46.429

21.429 21.429

15. Below are the variable definitions and the last (optimal) tableau for Problem LP-D. a. What should management do? In other words, to management decision makers, what is the complete meaning of the values of X1, X2, S2, S3, and Z in the optimal solution? b. What is the meaning of each element in Row (C Z)? X1 X2 S2 S3 Z
Optimal Tableau C SOL 0 6 8 S3 X1 X2 Z RHS 100 800 700 10,400 (C Z) 6 X1 0 1 0 6 0 8 X2 0 0 1 8 0 M A1 1 0 1 8 M8 M A3 1 0 0 0 M 0 S2 1 1 1 2 2 0 S3 1 0 0 0 0

tons of sand per day tons of gravel per day below maximum sand limit above minimum gravel limit $ cost of sand and gravel per day

16. Below are the variable definitions and the last (optimal) tableau for Problem LP-E: a. What should management do? In other words, to management decision makers, what is the complete meaning of the values of X1, X2, S1, S2, S3, and Z in the optimal tableau? b. What is the meaning of each element in Row (C Z)? X1 X2 S1 S2 S3 Z pounds of oats fed to each hog each day pounds of corn fed to each hog each day excess mineral units per hog per day excess calories per hog per day excess vitamin units per hog per day daily cents of feed cost per day

38

Appendix: Linear Programming Solution Methods Fourth Tableau C SOL 12 0 7 X1 S3 X2 Z RHS / 250 5
25 2

12 X1 1 0 0 12 0

7 X2 0 0 1 7 0

0 S1 / 1/4 1/200 /
3 400

0 S2 / 3/4 1/200
1 400 1 200

0 S3 0 1 0 0 0

M A1 / 1/4 1/200
3 400

M A2 / 3/4 1/200
1 400

M A3 0 1 0 0 M

185 (C Z)

11 200

11/200 M 11/200

1/200 M 1/200

11/200

1/200

17. The computer solution to Problem LP-F from the POM Software Library follows. Min Z 7.9 X1 4.7 X2 3.2 X3 8.3 X4 6.1 X5 8.7 X6 4.5 X7 7.6 X8 5.4 X9 6.6 X10 7.1 X11 5 X12 ST (1) 1 X1 1 X2 1 X3 1 X4 32000 (2) 1 X5 1 X6 1 X7 1 X8 40000 (3) 1 X9 1 X10 1 X11 1 X12 25000 (4) 1 X1 1 X5 1 X9 30000 (5) 1 X2 1 X6 1 X10 18000 (6) 1 X3 1 X7 1 X11 22000 (7) 1 X4 1 X8 1 X12 27000 SOLUTION:
VARIABLE MIX X3 X5 X7 X2 Slack 2 X12 X8 Z SOLUTION 14000.000 30000.000 8000.000 18000.000 0.000 25000.000 2000.000 488600.000

SENSITIVITY ANALYSIS: CONSTRAINTS:


CONSTRAINT NUMBER 1 2 3 4 5 6 7 TYPE OF CONSTRAINT SHADOW PRICE 1.300 0.000 2.600 6.100 6.000 4.500 7.600 RANGE OF RHS FOR WHICH SHADOW PRICE IS VALID 32000. 40000. 25000. 0. 10000. 14000. 25000. 40000. INF 27000. 30000. 18000. 22000. 27000.

Appendix: Linear Programming Solution Methods NOTE:

39

THE SHADOW PRICE REPRESENTS THE AMOUNT Z WOULD CHANGE IF A CONSTRAINTS RHS CHANGED ONE UNIT.

DECISION VARIABLES:
NONBASIC VARIABLE X1 X4 X6 X9 X10 X11 AMOUNT Z IS REDUCED (MAX) OR INCREASED (MIN) FOR ONE UNIT OF X IN THE SOLUTION 3.1 2. 2.7 1.9 3.2 5.2

a. What should management do? In other words, to management decision makers, what is the complete meaning of the values of the decision variables, slack variables, and Z in the optimal solution? What is the meaning of each value in the sensitivity analysis section of the solution?

b.

18. Below are the variable definitions and the last (optimal) tableau for Problem LP-G: a. What should management do? In other words, to management decision makers, what is the complete meaning of the values of X1, X2, S1, S2, S3, and Z in the optimal tableau? b. What is the meaning of each element in Row (C Z)? X1 number of cases of Product A per week X2 number of cases of Product B per week S1 unused Cutting Department hours per week S2 unused Trimming Department hours per week S3 unused Coating Department hours per week Z dollars of profit per week
Third Tableau C SOL 0 64 87 S1 X1 X2 Z RHS
21 2

64 X1 0 1 0 64 0 / 15 10

87 X2 0 0 1 87 0

0 S1 1 0 0 0 0

0 S2 5/8 1/4 0 16 16

0 S3 39/160 1/16 1/8


55 8

1,830 (C Z)

55 8

Transportation Method 19. a. Use the northwest corner rule and the stepping-stone method to solve the transportation problem below.

40

Appendix: Linear Programming Solution Methods

To From A B C Destination Totals 200 1 $0.80 0.90 0.60 500 2 $0.40 0.50 0.70 300 3 $0.70 0.80 0.60

Source Totals 300 300 400 1,000 1,000

b. c.

What is the optimal solution? Fully interpret the meaning of the solution.

20. The Apex Company produces electric transformers for electric distributors at two factories located in Atlanta and San Jose. Apex has four regional warehouses located in Dallas, Seattle, Philadelphia, and Chicago. The monthly warehouse requirements, monthly factor capacities, and per-unit transportation costs are:
Monthly Factory Capacity (units) 2,000 3,000

Factory Atlanta San Jose

Source Atlanta

Destination Dallas Seattle Philadelphia Chicago Dallas Seattle Philadelphia Chicago

Transportation Cost per Unit $16 40 20 18 30 15 45 33

San Jose

Warehouse Dallas Seattle Philadelphia Chicago

Monthly Warehouse Requirement (units) 1,300 1,200 1,400 1,100

a. b. c. 21. a.

Use the northwest corner rule and the stepping-stone method to solve the transportation problem above. What is the optimal solution? Fully interpret the meaning of the solution. Solve Problem LP-F using the northwest corner rule and the stepping-stone method. What is the optimal solution? Fully interpret the meaning of the solution.

Appendix: Linear Programming Solution Methods

41

b. 22. a. b. 23. a. b.

Solve Problem LP-F using the VAM and MODI methods. What is the optimal solution? Fully interpret the meaning of the solution. Solve Problem LP-J using the northwest corner rule and the stepping-stone method. What is the optimal solution? Fully interpret the meaning of the solution. Solve Problem LP-J using the VAM and MODI methods. What is the optimal solution? Fully interpret the meaning of the solution.

24. Three fabrication departmentsA, B, and Cproduce three slightly different products that are processed further in four assembly departments1, 2, 3, and 4. Each fabrication and assembly department has a unique monthly capacity, and it is desirable that each department operate at capacity. Although any of the three products coming from the three fabrication departments can be processed in any of the four assembly departments, the assembly cost per unit differs among the products. Additionally, the materials-handling costs per unit differ among all the fabrication and assembly departments. The monthly fabrication department capacities, monthly assembly department capacities, and per-unit materials-handling and assembly processing costs are:
Total Materials-Handling and Assembly Cost per Unit $0.60 0.90 0.70 0.50 $1.00 1.10 0.80 0.90 $0.80 0.60 1.20 0.70

Fabrication Department A B C

Monthly Capacity (units) 12,000 8,000 14,000

Fabrication Department A

Assembly Department 1 2 3 4 1 2 3 4 1 2 3 4

Materials-Handling Cost per Unit $0.20 0.25 0.10 0.15 $0.30 0.15 0.15 0.25 $0.10 0.25 0.30 0.15

Assembly Cost per Unit $0.40 0.65 0.60 0.35 $0.70 0.95 0.65 0.65 $0.70 0.35 0.90 0.55

B Assembly Department 1 2 3 4 Monthly Capacity (units) 7,000 11,000 6,000 10,000 C

Develop a monthly production schedule for the three fabrication and four assembly departments. In other words, how many units should be processed in each fabrication department and moved to and processed in each assembly department so that monthly assembly and materials-handling costs are minimized? a. Use the northwest corner rule and the stepping-stone method to solve the problem. What is the optimal solution? Fully interpret the meaning of the solution. b. Use the VAM and MODI methods to solve the problem. What is the optimal solution? Fully interpret the meaning of the solution. 25. Three recycling plantsA, B, and Creceive and process scrap paper and ship paper stock to three regional warehouses1, 2, and 3. The monthly recycling plant capacities, monthly regional warehouse requirements, and the shipping cost per 100 pounds are:

42

Appendix: Linear Programming Solution Methods Monthly Monthly Shipping Recycling Capacity Regional Requirement Recycling Regional Cost per Plant (100 pounds) Warehouse (100 pounds) Plant Warehouse 100 Pounds A B C 800 600 1,100 1 2 3 700 900 600 A 1 2 3 1 2 3 1 2 3 $1 4 2 $2 4 1 $1 3 2

How many pounds of paper stock should be shipped from each recycling plant to each regional warehouse per month to minimize monthly shipping costs? a. Use the northwest corner rule and the stepping-stone method to solve this problem. What is the optimal solution? Fully interpret the meaning of the solution. b. Use the VAM and MODI methods to solve this problem. What is the optimal solution? Fully interpret the meaning of the solution. Assignment Method 26. Four jobs must be assigned to four work centers. Only one job can be assigned to each work center, and all jobs must be processed. The cost of processing each job through each work center is shown below:
Work Centers 1 A Jobs B C D $50 25 30 20 2 $40 25 35 30 3 $70 55 55 75 4 $35 40 60 45

a. b.

Use the assignment method to determine which jobs should be assigned to which work centers to minimize total processing costs. What is the cost of your assignments in Part a?

27. Four employees must be assigned to four projects. Only one employee can be assigned to a project, and all projects must be performed. The costs of the employees performing the projects are:
Projects 1 Employees Ann Ben Cal Dee $400 350 500 600 2 $300 400 350 475 3 $250 275 200 375 4 $300 250 300 425

a. b.

Use the assignment method to assign these employees to these projects. What is the total cost of your assignments in Part a?

Appendix: Linear Programming Solution Methods

43

28. Five customers must be assigned to five stockbrokers in a brokerage house. The estimated profits for the brokerage house for all possible assignments are shown below:
Brokers 1 A Customers B C D E $400 325 450 225 500 2 $400 525 575 450 550 3 $375 400 425 500 475 4 $450 525 550 600 525 5 $400 425 400 450 500

a. b.

Use the assignment method to assign the five customers to the five different brokers to maximize profits for the brokerage house. What are the profits from your assignment in Part a?

COMPUTER SOLUTIONS
Several of the problems at the end of Chapter 8 and some of the problems in this appendix are appropriate for solution with a computer. The three computer problems/cases at the end of Chapter 8Quality Pixels Inc., Integrated Products Corporation (IPC), and Jane Deere Companyare especially intended for solution with the POM Software Library, which accompanies this book. In solving these problems, take care to define the decision variables, determine the solution of the problems using a computer, and fully interpret the meaning of the solution. This means not only determining the value of the decision variables (Xs), slack variables (Ss), and the objective function (Z) but also fully interpreting the meaning of the solution to management. In other words, what would you recommend that management do as a result of your analysis? This interpretation should also include an explanation of the meaning of the shadow prices. Also, you should be aware of unusual features in the solution; for example, you should determine if alternate optimal solutions are present.

SELECTED BIBLIOGRAPHY
Anderson, David R., Dennis J. Sweeney, and Thomas A. Williams. An Introduction to Management Science: Quantitative Approaches to Decision Making, 9th ed. Cincinnati, OH: South-Western College Publishing, 2000. Camm, Jeffrey D., and James R. Evans. Management Science and Decision Technology. Cincinnati, OH: South-Western College Publishing, 2000. Carter, Michael W., and Camille C. Price. Operations Research: A Practical Introduction. Boca Raton, FL: CRC Press, 2001. Hillier, Frederick S., and Gerald J. Lieberman. Introduction to Operations Research, 7th ed. Boston: McGraw-Hill, 2001. Pannell, David J. Introduction to Practical Linear Programming. New York: John Wiley & Sons, 1996. Perry, C., and K. C. Crellin. The Precise Management Meaning of a Shadow Price. Interfaces 12, no. 2 (April 1982): 6163. Walker, Russell C. Introduction to Mathematical Programming. Upper Saddle River, NJ: Prentice Hall, 1999. Winston, Wayne L., and S. Christian Albright. Practical Management Science, 2nd ed. Pacific Grove, CA: Brooks/Cole, 2001.

44

Appendix: Linear Programming Solution Methods

ANSWERS TO ODD-NUMBERED PROBLEMS


(1) Third tableau is optimal; X2 68.75, X1 12.5, Z 5,656.25. (3) Third tableau is not optimal; X1 will enter and S3 will leave. (5) X1 175 hundred gallons of premium ice cream, X2 175 hundred gallons of light ice cream, S1 0 unused mixing capacity, S2 0 unused high-grade milk, Z $35,000 profit next week. (7) X1 800 tons of sand, X2 700 tons of gravel, S2 0 so exactly 40% of the concrete is sand, S3 100 so amount of gravel in the concrete exceeded the 30% requirement by 100 tons, Z $10,400 total cost of sand and gravel each day. (9) X1 15 cases of Product A per week, X2 10 cases of Product B per week, S1 10.5 hours of unused Cutting Department capacity per week, S2 0 hours of unused Trimming Department capacity per week, S3 0 hours of unused Coating Department capacity per week, Z $1,830 total profit per week. (11) X1 500,000 pounds of carrier, X2 100,000 pounds of filler/color, X3 100,000 pounds of adhesive, Z $370,000, S1, S2, and S3 0. (13) a. Make 175 hundred gallons of premium ice cream and 175 hundred gallons of light ice cream per week for a profit of $35,000 per week. All mixing machine capacity and milk available will be used; b. X1 (0), X2 (0), because these variables are in the optimal solution; S1 (83.33) means weekly profit would increase $83.33 for each additional mixing machine hour that could be found; S2 (0.833) means weekly profit would increase $0.833 for each additional gallon of milk that could be found. (15) a. Use 800 tons of sand and 700 tons of gravel per day for a cost of $10,400 per week. Sand will be at the maximum limit, and gravel will be above the minimum limit by 100 tons; b. X1 (0), X2 (0), because these variables are in the optimal solution; S2 (2) means daily cost would decrease $2 for each additional ton increase in the maximum limit of sand; S3 (0) means daily cost would not change if the minimum limit of gravel were lowered. (17) a. From Mill 1 ship 18,000 units to Warehouse B and 14,000 units to Warehouse C; from Mill 2 ship 30,000 units to Warehouse A, 8,000 units to Warehouse C, and 2,000 units to Warehouse D; from Mill 3 ship 25,000 units to Warehouse D; b. The values in the constraints section represent the amount of change in Z for a one-unit change in each constraints RHS. For example, the 2.6 in the third constraint means that if Mill 3s capacity were increased from 25,000 to 25,001, Z would decrease from $488,600 to $488,597.40. The values in the decision variable section represent the amount of change in Z if one unit of a nonbasic variable were forced into the solution. For example, if we were forced to ship one unit from Mill 1 to Warehouse A, Z would be increased from $488,600 to $488,603.10. (19) From Source A ship 200 units to Destination 2 and 100 units to Destination 3; from Source B ship 300 units to Destination 2; from Source C ship 200 units to Destination 1 and 200 units to Destination 3; total shipping cost will be $540. (21) See the answer to Problem 17. (23) Atlanta plant should ship 400 systems to Chicago and 1,200 to New York; El Paso plant should ship 100 systems to Chicago, 1,000 to Dallas, 800 to Denver, and 500 to San Jose; monthly shipping cost will be $191,000. (25) Alternative optimal solutions are available for this problem. One solution: From Plant A ship 70,000 pounds to Warehouse 1; from Plant B ship 60,000 pounds to Warehouse B; from Plant C ship 90,000 pounds to Warehouse 2; monthly shipping cost will be $4,000. (27) Assign Ann to Project 2, Ben to Project 1, Cal to Project 3, and Dee to Project 4; cost of the assignments will be $1,275.

You might also like