

































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Module A The Simplex Solution Method. The simplex method, is a general mathematical solution technique for solving linear programming problems.
Typology: Study notes
1 / 41
This page cannot be seen from the preview
Don't miss anything!


































The Simplex
Solution Method
Converting the Model into Standard Form
The first step in solving a linear programming model manually with the simplex method is to convert the model into standard form. At the Beaver Creek Pottery Company Native American artisans produce bowls ( x 1 ) and mugs ( x 2 ) from labor and clay. The linear pro- gramming model is formulated as
maximize Z $40 x 1 50 x 2 (profit)
subject to
x 1 2 x 2 40 (labor, hr) 4 x 1 3 x 2 120 (clay, lb) x 1 , x 2 0
We convert this model into standard form by adding slack variables to each constraint as follows.
maximize Z 40 x 1 50 x 2 0 s 1 0 s 2
A-2 Module A The Simplex Solution Method
T
he simplex method, is a general mathematical solution technique for solving linear programming problems. In the simplex method, the model is put into the form of a table, and then a number of mathematical steps are performed on the table. These mathematical steps in effect replicate the process in graphical analysis of moving from one extreme point on the solution boundary to another. However, unlike the graphical method, in which we could simply search through all the solution points to find the best one, the simplex method moves from one better solution to another until the best one is found, and then it stops. The manual solution of a linear programming model using the simplex method can be a lengthy and tedious process. Years ago, manual application of the simplex method was the only means for solving a linear programming problem. Now computer solution is certainly preferred. However, knowledge of the simplex method can greatly enhance one’s under- standing of linear programming. Computer software programs like QM for Windows or Excel spreadsheets provide solutions to linear programming problems, but they do not convey an in-depth understanding of how those solutions are derived. To a certain extent, graphical analysis provides an understanding of the solution process, and knowledge of the simplex method further expands on that understanding. In fact, computer solutions are usually derived using the simplex method. As a result, much of the terminology and nota- tion used in computer software comes from the simplex method. Thus, for those students of management science who desire a more in-depth knowledge of linear programming, it is beneficial to study the simplex solution method as provided here.
A-4 Module A The Simplex Solution Method
Figure A- Solutions at points A, B, and C
10
10 0 x (^1)
x (^2)
20 30 40
20
30
40
A
B
C
4 x 1 + 3x 2 +s 2 = 120
x 1 + 2 x (^2) + s (^1) = 40 x 1 = 30 x 2 = 0 s 1 = 10 s 2 = 0
x 1 = 0 x 2 = 20 s 1 = 0 s 2 = 60
x 1 = 24 x 2 = 8 s 1 = 0 s 2 = 0
Then, solve for s 2 in the second equation:
3 x 2 s 2 120 3(20) s 2 120 s 2 60
This solution corresponds with point A in Figure A-1. The graph in Figure A-1 shows that at point A , x 1 0, x 2 20, s 1 0, and s 2 60, the exact solution obtained by solving simultaneous equations. This solution is referred to as a basic feasible solution. A feasible solution is any solution that satisfies the constraints. A basic feasible solution satisfies the constraints and contains as many variables with nonnegative values as there are model con- straints—that is, m variables with nonnegative values and n m values set equal to zero. Typically, the m variables have positive nonzero solution values; however, when one of the m variables equals zero, the basic feasible solution is said to be degenerate. (The topic of degeneracy will be discussed at a later point in this module.)
Consider a second example where x 2 0 and s 2 0. These values result in the follow- ing set of equations.
x 1 2 x 2 s 1 40 4 x 1 3 x 2 s 2 120
and x 1 0 s 1 40 4 x 1 0 0 120
Solve for x 1 : 4 x 1 120 x 1 30 Then solve for s 1 :
30 s 1 40 s 1 10
This basic feasible solution corresponds to point C in Figure A-1, where x 1 30, x 2 0, s 1 10, and s 2 0.
A basic feasible solution satisfies the model constraints and has the same number of variables with non-negative values as there are constraints.
The Simplex Method A-
The Simplex Method
Finally, consider an example where s 1 0 and s 2 0. These values result in the follow- ing set of equations.
x 1 2 x 2 s 1 40 4 x 1 3 x 2 s 2 120
and
x 1 2 x 2 0 40 4 x 1 3 x 2 0 120
These equations can be solved using row operations. In row operations, the equations can be multiplied by constant values and then added or subtracted from each other with- out changing the values of the decision variables. First, multiply the top equation by 4 to get
4 x 1 8 x 2 160
and then subtract the second equation:
4 x 1 8 x 2 160 4 x 1 3 x 2 120 5 x 2 40 x 2 8
Next, substitute this value of x 2 into either one of the constraints.
x 1 2(8) 40 x 1 24
This solution corresponds to point B on the graph, where x 1 24, x 2 8, s 1 0, and s 2 0, which is the optimal solution point. All three of these example solutions meet our definition of basic feasible solutions. However, two specific questions are raised by the identification of these solutions.
The answers to both of these questions can be found by using the simplex method. The simplex method is a set of mathematical steps that determines at each step which variables should equal zero and when an optimal solution has been reached.
Row operations are used to solve simultaneous equations where equations are multiplied by con- stants and added or subtracted from each other.
The steps of the simplex method are carried out within the framework of a table, or tableau. The tableau organizes the model into a form that makes applying the mathemat- ical steps easier. The Beaver Creek Pottery Company example will be used again to demon- strate the simplex tableau and method.
maximize Z $40 x 1 50 x 2 0 s 1 0 s 2
subject to
x 1 2 x 2 s 1 40 hr 4 x 1 3 x 2 s 2 120 lb x 1 , x 2 , s 1 , s 2 0
The simplex method is a set of mathematical steps for solving a linear programming problem carried out in a table called a simplex tableau.
The Simplex Method A-
Basic 40 50 0 0 cj Variables Quantity x 1 x 2 s 1 s 2 0 s 1 40 0 s 2 120 zj cj zj
Table A- The Simplex Tableau with cj Values
Basic 40 50 0 0 cj Variables Quantity x 1 x 2 s 1 s 2 0 s 1 40 1 2 1 0 0 s 2 120 4 3 0 1 zj cj zj
Table A- The Simplex Tableau with Model Constraint Coefficients
The initial simplex tableau always begins with the solution at the origin, where x 1 and x 2 equal zero. Thus, the basic variables at the origin are the slack variables, s 1 and s 2. Since the quantity values in the initial solution always appear as the right-hand-side values of the constraint equations, they can be read directly from the original constraint equations. The top two rows and bottom two rows are standard for all tableaus; however, the num- ber of middle rows is equivalent to the number of constraints in the model. For example, this problem has two constraints; therefore, it has two middle rows corresponding to s 1 and s 2. (Recall that n variables minus m constraints equals the number of variables in the prob- lem with values of zero. This also means that the number of basic variables with values other than zero will be equal to m constraints.) Similarly, the three columns on the left side of the tableau are standard, and the remain- ing columns are equivalent to the number of variables. Since there are four variables in this model, there are four columns on the right of the tableau, corresponding to x 1 , x 2 , s 1 , and s 2. The next step is to fill in the c (^) j values, which are the objective function coefficients, representing the contribution to profit (or cost) for each variable x (^) j or s (^) j in the objective function. Across the top row the c (^) j values 40, 50, 0, and 0 are inserted for each variable in the model, as shown in Table A-3.
The quantity column values are the solution values for the vari- ables in the basic feasible solution.
The number of rows in a tableau is equal to the number of constraints plus four.
The number of columns in a tableau is equal to the number of variables (including slacks, etc.) plus three.
The values for c (^) j on the left side of the tableau are the contributions to profit of only those variables in the basic feasible solution, in this case s 1 and s 2. These values are inserted at this location in the tableau so that they can be used later to compute the values in the zj row. The columns under each variable (i.e., x 1 , x 2 , s 1 , and s 2 ) are filled in with the coefficients of the decision variables and slack variables in the model constraint equations. The s 1 row represents the first model constraint; thus, the coefficient for x 1 is 1, the coefficient for x 2 is 2, the coefficient for s 1 is 1, and the coefficient for s 2 is 0. The values in the s 2 row are the second constraint equation coefficients, 4, 3, 0, and 1, as shown in Table A-4.
The c (^) j values are the contribution to profit (or cost) for each variable.
A-8 Module A The Simplex Solution Method
Basic 40 50 0 0 cj Variables Quantity x 1 x 2 s 1 s 2 0 s 1 40 1 2 1 0 0 s 2 120 4 3 0 1
zj 0 0 0 0 0 cj zj
Table A- The Simplex Tableau with zj Row Values
This completes the process of filling in the initial simplex tableau. The remaining values in the zj and cj zj rows, as well as subsequent tableau values, are computed mathemat- ically using simplex formulas. The following list summarizes the steps of the simplex method (for a maximization model) that have been presented so far.
So far the simplex tableau has been set up using values taken directly from the model. From this point on the values are determined by computation. First, the values in the zj row are computed by multiplying each c (^) j column value (on the left side) by each column value under Quantity, x 1 , x 2 , s 1 , and s 2 and then summing each of these sets of values. The z (^) j values are shown in Table A-5.
Computing the zj and c (^) j zj Rows The zj row values are computed by multiplying the cj column values by the variable column values and summing.
For example, the value in the zj row under the quantity column is found as follows. cj Quantity 0 40 0 0 120 0 zq 0
The value in the zj row under the x 1 column is found similarly. cj x 1 0 1 0 0 4 0 zj 0 All of the other zj row values for this tableau will be zero when they are computed using this formula. Now the cj zj row is computed by subtracting the zj row values from the cj (top) row values. For example, in the x 1 column the cj zj row value is computed as 40 0 40.
The simplex method works by moving from one solution (extreme) point to an adjacent point until it locates the best solution.
Basic 40 50 0 0 cj Variables Quantity x 1 x 2 s 1 s 2 0 s 1 40 1 2 1 0 0 s 2 120 4 3 0 1 zj 0 0 0 0 0 cj zj 40 50 0 0
A-10 Module A The Simplex Solution Method
Table A- Selection of the Entering Basic Variable
Figure A- Selection of which item to produce — the entering basic variable
10
10
0 x (^1)
x (^2)
20 30 40
20
30
40
A
B
C
Produce mugs
Produce bowls
variable into the basic solution. Naturally, we want to make as much money as possible, because the objective is to maximize profit. Therefore, we enter the variable that will give the greatest net increase in profit per unit. From Table A-7, we select variable x 2 as the entering basic variable because it has the greatest net increase in profit per unit, $50 — the highest positive value in the cj zj row.
The x 2 column, highlighted in Table A-7, is referred to as the pivot column. (The opera- tions used to solve simultaneous equations are often referred to in mathematical termin- ology as pivot operations .) The selection of the entering basic variable is also demonstrated by the graph in Figure A-2. At the origin nothing is produced. In the simplex method we move from one solution point to an adjacent point (i.e., one variable in the basic feasible solution is replaced with a variable that was previously zero). In Figure A-2 we can move along either the x 1 axis or the x 2 axis in order to seek a better solution. Because an increase in x 2 will result in a greater profit, we choose x 2.
The pivot column is the column corresponding to the entering variable.
Since each basic feasible solution contains only two variables with nonzero values, one of the two basic variables present, s 1 or s 2 , will have to leave the solution and become zero. Since we have decided to produce mugs ( x 2 ), we want to produce as many as possible or, in other words, as many as our resources will allow. First, in the labor constraint we will use all
The Leaving Basic Variable
The Simplex Method A-
Figure A- Determination of the basic feasible solution point
10
10 0 x (^1)
x (^2)
20 30 40
20
30
40
A
B
C
$50 profit
$40 profit
R
the labor to make mugs (because no bowls are to be produced, x 1 0; and because we will use all the labor possible and s 1 unused labor resources, s 1 0 also). 1 x 1 2 x 2 s 1 40 hr 1(0) 2 x 2 0 40
x 2
20 mugs
In other words, enough labor is available to produce 20 mugs. Next, perform the same analysis on the constraint for clay.
4 x 1 3 x 2 s 2 120 lb 4(0) 3 x 2 0 120
x 2
40 mugs
This indicates that there is enough clay to produce 40 mugs. But there is enough labor to pro- duce only 20 mugs. We are limited to the production of only 20 mugs because we do not have enough labor to produce any more than that. This analysis is shown graphically in Figure A-3.
120 lb 3 lb/mug
40 hr 2 hr/mug
Because we are moving out the x 2 axis, we can move from the origin to either point A or point R. We select point A because it is the most constrained and thus feasible, whereas point R is infeasible. This analysis is performed in the simplex method by dividing the quantity values of the basic solution variables by the pivot column values. For this tableau, Basic Variables Quantity x 2 s 1 40 ÷ 2 20, the leaving basic variable s 2 120 ÷ 3 40
The leaving variable is determined by dividing the quantity values by the pivot column values and selecting the minimum possible value or zero.
The Simplex Method A-
Basic 40 50 0 0 cj Variables Quantity x 1 x 2 s 1 s 2 50 x 2 20 1/2 1 1/2 0 0 s 2 zj cj zj
Table A- Computation of the New Pivot Row Values
Quantity 120 (3 20) 60 x 1 4 (3 1/2) 5/ x 2 3 (3 1) 0 s 1 0 (3 1/2) 3/ s 2 1 (3 0) 1
Column
Old Tableau Row Value
Corresponding Coefficients in Pivot Column
New Tableau Pivot
New Tableau Row Value
Table A- Computation of New s 2 Row Values
Basic 40 50 0 0 cj Variables Quantity x 1 x 2 s 1 s 2 50 x 2 20 1/2 1 1/2 0 0 s 2 60 5/2 0 3/2 1 zj cj zj
Table A- The Second Simplex Tableau with Row Values
Thus, this formula requires the use of both the old tableau and the new one. The s 2 row values are computed in Table A-11.
new tableau row values ^
old tableau row values
corresponding coefficients in pivot column
corresponding new tableau
These values have been inserted in the simplex tableau in Table A-12. This solution corresponds to point A in the graph of this model in Figure A-3. The solu- tion at this point is x 1 0, x 2 20, s 1 0, s 2 60. In other words, 20 mugs are produced and 60 pounds of clay are left unused. No bowls are produced and no labor hours remain unused.
The second simplex tableau is completed by computing the zj and cj zj row values the same way they were computed in the first tableau. The zj row is computed by summing the products of the cj column and all other column values.
A-14 Module A The Simplex Solution Method
After developing the simplex method for solving linear pro- gramming problems, George Dantzig needed a good problem to test it on. The problem he selected was the “diet problem” formulated in 1945 by Nobel economist George Stigler. This problem was to determine an adequate nutritional diet at min- imum cost (which was an important military and civilian issue during World War II). Formulated as a linear programming
model, the diet problem consisted of 77 unknowns and 9 equa- tions. It took 9 clerks using hand-operated (mechanical) desk calculators 120 man-days to obtain the optimal simplex solu- tion: a diet consisting primarily of wheat flour, cabbage, and dried navy beans that cost $39.69 per year (in 1939 prices). The solution developed by Stigler using his own numerical method was only 24 cents more than the optimal solution.
Time Out for George B. Dantzig
Basic 40 50 0 0 cj Variables Quantity x 1 x 2 s 1 s 2 50 x 2 20 1/2 1 1/2 0 0 s 2 60 5/2 0 3/2 1 zj 1,000 25 50 25 0 cj zj 15 0 25 0
Table A- The Completed Second Simplex Tableau
Column Quantity zj (50) (20) (0) (60) 1000 x 1 z 1 (50) (1/2) (0) (5/2) 25 x 2 z 2 (50) (1) (0) (0) 50 s 1 z 3 (50) (1/2) (0) (3/2) 25 s 2 z 4 (50) (0) (0) (1) 0
The zj row values and the cj zj row values are added to the tableau to give the com- pleted second simplex tableau shown in Table A-13. The value of 1,000 in the zj row is the value of the objective function (profit) for this basic feasible solution.
Each tableau is the same as per- forming row operations for a set of simultaneous equations.
The computational steps that we followed to derive the second tableau in effect accom- plish the same thing as row operations in the solution of simultaneous equations. These same steps are used to derive each subsequent tableau, called iterations.
The steps that we followed to derive the second simplex tableau are repeated to develop the third tableau. First, the pivot column or entering basic variable is determined. Because 15 in the cj zj row represents the greatest positive net increase in profit, x 1 becomes the entering nonbasic variable. Dividing the pivot column values into the values in the quantity column indicates that s 2 is the leaving basic variable and corresponds to the pivot row. The pivot row, pivot column, and pivot number are indicated in Table A-14. At this point you might be wondering why the net increase in profit per bowl ( x 1 ) is $ rather than the original profit of $40. It is because the production of bowls ( x 1 ) will require some of the resources previously used to produce mugs ( x 2 ) only. Producing some bowls means not producing as many mugs; thus, we are giving up some of the profit gained from producing mugs to gain even more by producing bowls. This difference is the net increase of $15.
The Optimal Simplex Tableau
A-16 Module A The Simplex Solution Method
Simplex Solution of a Minimization Problem
Summary of the Simplex Method
which corresponds to point B in Figure A-1. An additional comment should be made regarding simplex solutions in general. Although this solution resulted in integer values for the variables (i.e., 24 and 8), it is pos- sible to get a fractional solution for decision variables even though the variables reflect items that should be integers, such as airplanes, television sets, bowls, and mugs. To apply the simplex method, one must accept this limitation.
The simplex method demonstrated in the previous section consists of the following steps.
new tableau row values old tableau row values
corresponding coefficients in pivot Column
corresponding new tableau
new tableau pivot row values
old tableau pivot row values pivot number
In the previous section the simplex method for solving linear programming problems was demonstrated for a maximization problem. In general, the steps of the simplex method outlined at the end of this section are used for any type of linear programming problem. However, a minimization problem requires a few changes in the normal simplex process, which we will discuss in this section. In addition, several exceptions to the typical linear programming problem will be pre- sented later in this module. These include problems with mixed constraints (, , and ); problems with more than one optimal solution, no feasible solution, or an unbounded solution; problems with a tie for the pivot column; problems with a tie for the pivot row; and problems with constraints with negative quantity values. None of these kinds of problems require changes in the simplex method. They are basically unusual results in individual simplex tableaus that the reader should know how to interpret and work with.
The simplex method does not guarantee integer solutions.
Simplex Solution of a Minimization Problem A-
Figure A- Graph of the fertilizer example
2
4
6
8
10
12
2
0 4 6 8 10 12 x (^1)
x (^2)
x 1 = 0 x 2 = 0 s 1 = –
A
B C
Standard Form of a Minimization Model
Consider the following linear programming model for a farmer purchasing fertilizer.
minimize Z $6 x 1 3 x 2
subject to 2 x 1 4 x 2 16 lb of nitrogen 4 x 1 3 x 2 24 lb of phosphate where x 1 bags of Super-gro fertilizer x 2 bags of Crop-quick fertilizer Z farmer’s total cost ($) of purchasing fertilizer This model is transformed into standard form by subtracting surplus variables from the two constraints as follows. minimize Z 6 x 1 3 x 2 0 s 1 0 s 2 subject to 2 x 1 4 x 2 s 1 16 4 x 1 3 x 2 s 1 24 x 1 , x 2 , s 1 , s 2 0 The surplus variables represent the extra amount of nitrogen and phosphate that exceeded the minimum requirements specified in the constraints. However, the simplex method requires that the initial basic feasible solution be at the origin, where x 1 0 and x 2 0. Testing these solution values, we have
2 x 1 4 x 2 s 1 16 2(0) 4(0) s 1 16 s 1 16
The idea of “negative excess pounds of nitrogen” is illogical and violates the nonnegativ- ity restriction of linear programming. The reason the surplus variable does not work is shown in Figure A-4. The solution at the origin is outside the feasible solution space.
Transforming a model into standard form by subtracting surplus variables will not work in the simplex method.
Simplex Solution of a Minimization Problem A-
Table A- The Initial Simplex Tableau
Table A- The Second Simplex Tableau
The initial simplex tableau for a minimization model is developed the same way as one for a maximization model, except for one small difference. Rather than computing cj zj in the bottom row of the tableau, we compute z (^) j c (^) j , which represents the net per unit decrease in cost , and the largest positive value is selected as the entering variable and pivot column. (An alternative would be to leave the bottom row as cj zj and select the largest negative value as the pivot column. However, to maintain a consistent rule for selecting the pivot column, we will use zj cj .) The initial simplex tableau for this model is shown in Table A-17. Notice that A 1 and A 2 form the initial solution at the origin, because that was the reason for inserting them in the first place — to get a solution at the origin. This is not a basic feasible solution, since the origin is not in the feasible solution area, as shown in Figure A-4. As indicated previously, it is an artificially created solution. However, the simplex process will move toward feasibility in subsequent tableaus. Note that across the top the decision variables are listed first, then surplus variables, and finally artificial variables.
In Table A-17 the x 2 column was selected as the pivot column because 7 M 3 is the largest positive value in the zj cj row. A 1 was selected as the leaving basic variable (and pivot row) because the quotient of 4 for this row was the minimum positive row value. The second simplex tableau is developed using the simplex formulas presented earlier. It is shown in Table A-18. Notice that the A 1 column has been eliminated in the second simplex tableau. Once an artificial variable leaves the basic feasible solution, it will never return because of its high cost, M. Thus, like the booster rocket, it can be eliminated from the tableau. However, artificial variables are the only variables that can be treated this way.
The Simplex Tableau for a Minimization Problem
The cj zj row is changed to zj cj in the simplex tableau for a minimization problem.
Artificial variables are always included as part of the initial basic feasible solution when they exist.
The third simplex tableau, with x 1 replacing A 2 , is shown in Table A-19. Both the A 1 and A 2 columns have been eliminated because both variables have left the solution. The x 1 row
Once an artificial variable is selected as the leaving variable, it will never reenter the tableau, so it can be eliminated.
Basic 6 3 0 0 M M cj Variables Quantity x 1 x 2 s 1 s 2 A 1 A 2 M A 1 16 2 4 1 0 1 0 M A 2 24 4 3 0 1 0 1 zj 40 M 6 M 7 M M M M M zj cj 6 M 6 7 M 3 M M 0 0
Basic 6 3 0 0 M cj Variables Quantity x 1 x 2 s 1 s 2 A 1 3 x 2 4 1/2 1 1/4 0 0 M A 2 12 5/2 0 3/4 1 1 zj 12 M 12 5 M /2 3/2 3 3/4 3/ M 4 M M zj cj 5 M /2 9/2 0 3/4 3/ M 4 M 0
A-20 Module A The Simplex Solution Method
Basic 6 3 0 0 cj Variables Quantity x 1 x 2 s 1 s 2 3 x 2 8 4/3 1 0 1/ 0 s 1 16 10/3 0 1 4/ zj 24 4 3 0 1 zj cj 2 0 0 1
Table A- Optimal Simplex Tableau
Table A- The Third Simplex Tableau
is selected as the pivot row because it corresponds to the minimum positive ratio of 16. In selecting the pivot row, the 4 value for the x 2 row was not considered because the mini- mum positive value or zero is selected. Selecting the x 2 row would result in a negative quan- tity value for s 1 in the fourth tableau, which is not feasible.
The fourth simplex tableau, with s 1 replacing x 1 , is shown in Table A-20. Table A-20 is the optimal simplex tableau because the zj cj row contains no positive values. The opti- mal solution is
x 1 0 bags of Super-gro s 1 16 extra lb of nitrogen x 2 8 bags of Crop-quick s 2 0 extra lb of phosphate Z $24, total cost of purchasing fertilizer
To summarize, the adjustments necessary to apply the simplex method to a minimization problem are as follows:
Although the fertilizer example model we just used included only constraints, it is possible for a minimization problem to have and constraints in addition to con- straints. Similarly, it is possible for a maximization problem to have and constraints in addition to constraints. Problems that contain a combination of different types of inequality constraints are referred to as mixed constraint problems.
Simplex Adjustments for a Minimization Problem
Basic 6 3 0 0 cj Variables Quantity x 1 x 2 s 1 s 2 3 x 2 8/5 0 1 2/5 1/ 6 x 1 24/5 1 0 3/10 2/ zj 168/5 6 3 3/5 9/ zj cj 0 0 3/5 9/