Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

The Simplex Solution Method, Study notes of Linear Programming

Module A The Simplex Solution Method. The simplex method, is a general mathematical solution technique for solving linear programming problems.

Typology: Study notes

2021/2022

Uploaded on 08/01/2022

hal_s95
hal_s95 🇵🇭

4.4

(620)

8.6K documents

1 / 41

Toggle sidebar

Related documents


Partial preview of the text

Download The Simplex Solution Method and more Study notes Linear Programming in PDF only on Docsity! 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 (x1) and mugs (x2) from labor and clay. The linear pro- gramming model is formulated as maximize Z  $40x1  50x2 (profit) subject to x1  2x2  40 (labor, hr) 4x1  3x2  120 (clay, lb) x1, x2  0 We convert this model into standard form by adding slack variables to each constraint as follows. maximize Z  40x1  50x2  0s1  0s2 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. The Simplex Method A-5 The Simplex Method Finally, consider an example where s1  0 and s2  0. These values result in the follow- ing set of equations. x1  2x2  s1  40 4x1  3x2  s2  120 and x1  2x2  0  40 4x1  3x2  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 4x1  8x2  160 and then subtract the second equation: 4x1  8x2  160 4x1  3x2  120 5x2  40 x2  8 Next, substitute this value of x2 into either one of the constraints. x1  2(8)  40 x1  24 This solution corresponds to point B on the graph, where x1  24, x2  8, s1  0, and s2  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. 1. In each example, how was it known which variables to set equal to zero? 2. How is the optimal solution identified? 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  $40x1  50x2  0s1  0s2 subject to x1  2x2  s1  40 hr 4x1  3x2  s2  120 lb x1, x2, s1, s2  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 first step in filling in Table A-1 is to record the model variables along the second row from the top. The two decision variables are listed first, in order of their subscript magni- tude, followed by the slack variables, also listed in order of their subscript magnitude. This step produces the row with x1, x2, s1, and s2 in Table A-1. The next step is to determine a basic feasible solution. In other words, which two vari- ables will form the basic feasible solution and which will be assigned a value of zero? Instead of arbitrarily selecting a point (as we did with points A, B, and C in the previous section), the simplex method selects the origin as the initial basic feasible solution because the values of the decision variables at the origin are always known in all linear programming problems. At that point x1  0 and x2  0; thus, the variables in the basic feasible solution are s1 and s2. x1  2x2  s1  40 0  2(0)  s1  40 s1  40 hr and 4x1  3x2  s2  120 4(0)  3(0)  s2  120 s2  120 lb In other words, at the origin, where there is no production, all resources are slack, or unused. The variables s1 and s2, which form the initial basic feasible solution, are listed in Table A-2 under the column “Basic Variables,” and their respective values, 40 and 120, are listed under the column “Quantity.” A-6 Module A The Simplex Solution Method Basic cj Variables Quantity x1 x2 s1 s2 s1 40 s2 120 zj cj  zj Table A-2 The Basic Feasible Solution Basic cj Variables Quantity x1 x2 s1 s2 zj cj  zj Table A-1 The Simplex Tableau The initial simplex tableau for this model, with the various column and row headings, is shown in Table A-1. The basic feasible solution in the initial simplex tableau is the origin where all decision variables equal zero. At the initial basic feasible solution at the origin, only slack variables have a value greater than zero. The Simplex Method A-7 Basic 40 50 0 0 cj Variables Quantity x1 x2 s1 s2 0 s1 40 0 s2 120 zj cj  zj Table A-3 The Simplex Tableau with cj Values Basic 40 50 0 0 cj Variables Quantity x1 x2 s1 s2 0 s1 40 1 2 1 0 0 s2 120 4 3 0 1 zj cj  zj Table A-4 The Simplex Tableau with Model Constraint Coefficients The initial simplex tableau always begins with the solution at the origin, where x1 and x2 equal zero. Thus, the basic variables at the origin are the slack variables, s1 and s2. 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 s1 and s2. (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 x1, x2, s1, and s2. The next step is to fill in the cj values, which are the objective function coefficients, representing the contribution to profit (or cost) for each variable xj or sj in the objective function. Across the top row the cj 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 cj on the left side of the tableau are the contributions to profit of only those variables in the basic feasible solution, in this case s1 and s2. 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., x1, x2, s1, and s2) are filled in with the coefficients of the decision variables and slack variables in the model constraint equations. The s1 row represents the first model constraint; thus, the coefficient for x1 is 1, the coefficient for x2 is 2, the coefficient for s1 is 1, and the coefficient for s2 is 0. The values in the s2 row are the second constraint equation coefficients, 4, 3, 0, and 1, as shown in Table A-4. The cj values are the contribution to profit (or cost) for each variable. Basic 40 50 0 0 cj Variables Quantity x1 x2 s1 s2 0 s1 40 1 2 1 0 0 s2 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-7 Selection of the Entering Basic Variable Figure A-2 Selection of which item to produce — the entering basic variable 10 10 0 x1 x2 20 30 40 20 30 40 A B C P ro du ce m ug s 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 x2 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 x2 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 x1 axis or the x2 axis in order to seek a better solution. Because an increase in x2 will result in a greater profit, we choose x2. 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, s1 or s2, will have to leave the solution and become zero. Since we have decided to produce mugs (x2), 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-11 Figure A-3 Determination of the basic feasible solution point 10 10 0 x1 x2 20 30 40 20 30 40 A B C $5 0 pr of it $40 profit R the labor to make mugs (because no bowls are to be produced, x1  0; and because we will use all the labor possible and s1  unused labor resources, s1  0 also). 1x1  2x2  s1  40 hr 1(0)  2x2  0  40 x2   20 mugs In other words, enough labor is available to produce 20 mugs. Next, perform the same analysis on the constraint for clay. 4x1  3x2  s2  120 lb 4(0)  3x2  0  120 x2   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 x2 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 x2 s1 40 ÷ 2  20, the leaving basic variable s2 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. A-12 Module A The Simplex Solution Method Table A-8 Pivot Column, Pivot Row, and Pivot Number Basic 40 50 0 0 cj Variables Quantity x1 x2 s1 s2 50 x2 0 s2 zj cj  zj Table A-9 The Basic Variables and cj Values for the Second Simplex Tableau The leaving basic variable is the variable that corresponds to the minimum nonneg- ative quotient, which in this case is 20. (Note that a value of zero would qualify as the minimum quotient and would be the choice for the leaving variable.) Therefore, s1 is the leaving variable. (At point A in Figure A-3, s1 equals zero because all the labor is used to make the 20 mugs.) The s1 row, highlighted in Table A-8, is also referred to as the pivot row. The value of 2 at the intersection of the pivot row and the pivot column is called the pivot number. The pivot number, row, and column are all instrumental in developing the next tableau. We are now ready to proceed to the second simplex tableau and a better solution. Table A-9 shows the second simplex tableau with the new basic feasible solution variables of x2 and s2 and their corresponding cj values. The pivot row is the row corresponding to the leaving variable. The pivot number is the number at the intersection of the pivot column and row. Developing a New Tableau Computing the new tableau pivot row values. The various row values in the second tableau are computed using several simplex for- mulas. First, the x2 row, called the new tableau pivot row, is computed by dividing every value in the pivot row of the first (old) tableau by the pivot number. The formula for these computations is new tableau pivot row values  The new row values are shown in Table A-10. To compute all remaining row values (in this case there is only one other row), another formula is used. old tableau pivot row values pivot number Computing all remaining row values. Basic 40 50 0 0 cj Variables Quantity x1 x2 s1 s2 0 s1 40 1 2 1 0 0 s2 120 4 3 0 1 zj 0 0 0 0 0 cj  zj 40 50 0 0 The Simplex Method A-15 Table A-14 The Pivot Row, Pivot Column, and Pivot Number Quantity 20  (1/2  24)  8 x1 1/2  (1/2  1)  0 x2 1  (1/2  0)  1 s1 1/2  (1/2  3/5)  4/5 s2 0  (1/2  2/5)  1/5 Column Old Tableau Row Value  Corresponding Coefficients in Pivot Column  New Tableau Pivot Row Value   New Tableau Row Value Table A-15 Computation of the x2 Row for the Third Simplex Tableau Basic 40 50 0 0 cj Variables Quantity x1 x2 s1 s2 50 x2 8 0 1 4/5 1/5 40 x1 24 1 0 3/5 2/5 zj 1,360 40 50 16 6 cj  zj 0 0 16 6 Table A-16 The Completed Third Simplex Tableau The new tableau pivot row (x1) in the third simplex tableau is computed using the same formula used previously. Thus, all old pivot row values are divided through by 5/2, the pivot number. These values are shown in Table A-16. The values for the other row (x2) are computed as shown in Table A-15. These new row values, as well as the new zj row and cj  zj row, are shown in the com- pleted third simplex tableau in Table A-16. Observing the cj  zj row to determine the entering variable, we see that a nonbasic vari- able would not result in a positive net increase in profit, as all values in the cj  zj row are zero or negative. This means that the optimal solution has been reached. The solution is x1  24 bowls x2  8 mugs Z  $1,360 profit The solution is optimal when all cj  zj values  0. Basic 40 50 0 0 cj Variables Quantity x1 x2 s1 s2 50 x2 20 1/2 1 1/2 0 0 s2 60 5/2 0 3/2 1 zj 1,000 25 50 25 0 cj  zj 15 0 25 0 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. 1. Transform the model constraint inequalities into equations. 2. Set up the initial tableau for the basic feasible solution at the origin and compute the zj and cj  zj row values. 3. Determine the pivot column (entering nonbasic solution variable) by selecting the column with the highest positive value in the cj  zj row. 4. Determine the pivot row (leaving basic solution variable) by dividing the quantity column values by the pivot column values and selecting the row with the minimum nonnegative quotient. 5. Compute the new pivot row values using the formula 6. Compute all other row values using the formula 7. Compute the new zj and cj  zj rows. 8. Determine whether or not the new solution is optimal by checking the cj  zj row. If all cj  zj row values are zero or negative, the solution is optimal. If a positive value exists, return to step 3 and repeat the simplex steps. new tableau row values  old tableau row values  corresponding coefficients in pivot Column  corresponding new tableau pivot row values 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-17 Figure A-4 Graph of the fertilizer example 2 4 6 8 10 12 2 0 4 6 8 10 12 x1 x2 x1 = 0 x2 = 0 s1 = –16 A B C Standard Form of a Minimization Model Consider the following linear programming model for a farmer purchasing fertilizer. minimize Z  $6x1  3x2 subject to 2x1  4x2  16 lb of nitrogen 4x1  3x2  24 lb of phosphate where x1  bags of Super-gro fertilizer x2  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  6x1  3x2  0s1  0s2 subject to 2x1  4x2  s1  16 4x1  3x2  s1  24 x1, x2, s1, s2  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 x1  0 and x2  0. Testing these solution values, we have 2x1  4x2  s1  16 2(0)  4(0)  s1  16 s1  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. A-20 Module A The Simplex Solution Method Basic 6 3 0 0 cj Variables Quantity x1 x2 s1 s2 3 x2 8 4/3 1 0 1/3 0 s1 16 10/3 0 1 4/3 zj 24 4 3 0 1 zj  cj 2 0 0 1 Table A-20 Optimal Simplex Tableau Table A-19 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 x2 row was not considered because the mini- mum positive value or zero is selected. Selecting the x2 row would result in a negative quan- tity value for s1 in the fourth tableau, which is not feasible. The fourth simplex tableau, with s1 replacing x1, 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 x1  0 bags of Super-gro s1  16 extra lb of nitrogen x2  8 bags of Crop-quick s2  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: 1. Transform all  constraints to equations by subtracting a surplus variable and adding an artificial variable. 2. Assign a cj value of M to each artificial variable in the objective function. 3. Change the cj  zj row to zj  cj. 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 x1 x2 s1 s2 3 x2 8/5 0 1 2/5 1/5 6 x1 24/5 1 0 3/10 2/5 zj 168/5 6 3 3/5 9/5 zj  cj 0 0 3/5 9/5 A Mixed Constraint Problem A-21 A Mixed Constraint Problem A mixed constraint problem includes a combination of , , and  constraints. So far we have discussed maximization problems with all  constraints and minimization problems with all  constraints. However, we have yet to solve a problem with a mix- ture of , , and  constraints. Furthermore, we have not yet looked at a maximization problem with a  constraint. The following is a maximization problem with , , and  constraints. A leather shop makes custom-designed, hand-tooled briefcases and luggage. The shop makes a $400 profit from each briefcase and a $200 profit from each piece of luggage. (The profit for briefcases is higher because briefcases require more hand tooling.) The shop has a contract to provide a store with exactly 30 items per month. A tannery supplies the shop with at least 80 square yards of leather per month. The shop must use at least this amount but can order more. Each briefcase requires 2 square yards of leather; each piece of luggage requires 8 square yards of leather. From past performance, the shop owners know they can- not make more than 20 briefcases per month. They want to know the number of briefcases and pieces of luggage to produce in order to maximize profit. This problem is formulated as maximize Z  $400x1  200x2 subject to x1  x2  30 contracted items 2x1  8x2  80 yd2 of leather x1  20 briefcases x1, x2  0 where x1  briefcases and x2  pieces of luggage. The first step in the simplex method is to transform the inequalities into equations. The first constraint for the contracted items is already an equation; therefore, it is not necessary to add a slack variable. There can be no slack in the contract with the store because exactly 30 items must be delivered. Even though this equation already appears to be in the neces- sary form for simplex solution, let us test it at the origin to see if it meets the starting requirements. x1  x2  30 0  0  30 0  30 Because zero does not equal 30, the constraint is not feasible in this form. Recall that a  constraint did not work at the origin either in an earlier problem. Therefore, an artificial variable was added. The same thing can be done here. x1  x2  A1  30 Now at the origin, where x1  0 and x2  0, 0  0  A1  30 A1  30 Any time a constraint is initially an equation, an artificial variable is added. However, the artificial variable cannot be assigned a value of M in the objective function of a maximiza- tion problem. Because the objective is to maximize profit, a positive M value would repre- sent a large positive profit that would definitely end up in the final solution. Because an arti- ficial variable has no real meaning and is inserted into the model merely to create an initial An artificial variable is added to an equality () constraint for standard form. A-22 Module A The Simplex Solution Method Table A-21 The Initial Simplex Tableau Table A-22 The Second Simplex Tableau solution at the origin, its existence in the final solution would render the solution mean- ingless. To prevent this from happening, we must give the artificial variable a large cost con- tribution, or M. The constraint for leather is a  inequality. It is converted to equation form by subtract- ing a surplus variable and adding an artificial variable: 2x1  8x2  s1  A2  80 As in the equality constraint, the artificial variable in this constraint must be assigned an objective function coefficient of M. The final constraint is a  inequality and is transformed by adding a slack variable: x1  s2  20 The completely transformed linear programming problem is as follows: maximize Z  400x1  200x2  0s1  0s2  MA1  MA2 subject to x1  x2  A1  30 2x1  8x2  s1  A2  80 x1  s2  20 x1, x2, s1, s2, A1, A2  0 The initial simplex tableau for this model is shown in Table A-21. Notice that the basic solution variables are a mix of artificial and slack variables. Note also that the third-row quotient for determining the pivot row (20  0) is an undefined value, or . Therefore, this row would never be considered as a candidate for the pivot row. The second, third, and optimal tableaus for this problem are shown in Tables A-22, A-23, and A-24. An artificial variable in a maximization problem is given a large cost contribution to drive it out of the problem. Basic 400 200 0 0 M cj Variables Quantity x1 x2 s1 s2 A1 M A1 20 3/4 0 1/8 0 1 200 x2 10 1/4 1 1/8 0 0 0 s2 20 1 0 0 1 0 zj 2,000  20M 50  3M/4 200 25  M/8 0 M cj  zj 350  3M/4 0 25  M/8 0 0 Basic 400 200 0 0 M M cj Variables Quantity x1 x2 s1 s2 A1 A2 M A1 30 1 1 0 0 1 0 M A2 80 2 8 1 0 0 1 0 s2 20 1 0 0 1 0 0 zj 110M 3M 9M M 0 M M cj  zj 400  3M 200  9M M 0 0 0 To determine the alternate endpoint solution, let x2 be the entering variable (pivot column) and select the pivot row as usual. This selection results in the s1 row being the pivot row. The alternate solution corresponding to point B in Figure A-5 is shown in Table A-26. Irregular Types of Linear Programming Problems A-25 Basic 40 50 0 0 cj Variables Quantity x1 x2 s1 s2 0 s1 10 0 5/4 1 1/4 40 x1 30 1 3/4 0 1/4 zj 1,200 40 30 0 10 cj  zj 0 0 0 10 Table A-25 The Optimal Simplex Tableau Basic 40 50 0 0 cj Variables Quantity x1 x2 s1 s2 40 x2 8 0 1 4/5 1/5 30 x1 24 1 0 3/5 2/5 zj 1,200 40 30 0 10 cj  zj 0 0 0 10 Table A-26 The Alternative Optimal Tableau not part of the basic feasible solution. This means that if some mugs (x2) were produced, we would have a new product mix but the same total profit. Thus, a multiple optimal solu- tion is indicated by a cj  zj (or zj  cj) row value of zero for a nonbasic variable. An alternate optimal solution is determined by selecting the non- basic variable with cj  zj  0 as the entering variable. An Infeasible Problem An infeasible problem does not have a feasible solution space. Another linear programming irregularity is the case where a problem has no feasible solu- tion area; thus, there is no basic feasible solution to the problem. An example of an infeasible problem is formulated next and depicted graphically in Figure A-6. maximize Z  5x1  3x2 subject to 4x1  2x2  8 x1  4 x2  6 x1, x2  0 The three constraints do not overlap to form a feasible solution area. Because no point satisfies all three constraints simultaneously, there is no solution to the problem. The final simplex tableau for this problem is shown in Table A-27. The tableau in Table A-27 has all zero or negative values in the cj  zj row, indicating that it is optimal. However, the solution is x2  4, A1  4, and A2  2. Because the existence of artificial variables in the final solution makes the solution meaningless, this is not a real An infeasible problem has an artificial variable in the final simplex tableau. A-26 Module A The Simplex Solution Method Basic 5 3 0 0 0 M M cj Variables Quantity x1 x2 s1 s2 s3 A1 A2 3 x2 4 2 1 1/2 0 0 0 0 M A1 4 1 0 0 1 0 1 0 M A2 2 2 0 1/2 0 1 0 1 zj 12  6M 6  M 3 3/2  M/2 M M M M cj  zj 1  M 0 3/2  M/2 M M 0 0 Table A-27 The Final Simplex Tableau for an Infeasible Problem 2 4 6 8 10 12 2 0 4 6 8 10 12 x1 x2 B C A x1 = 4 x2 = 6 4x1 + 2x2 = 8 Figure A-6 Graph of an infeasible problem An Unbounded Problem solution. In general, any time the cj  zj (or zj  cj) row indicates that the solution is opti- mal but there are artificial variables in the solution, the solution is infeasible. Infeasible problems do not typically occur, but when they do they are usually a result of errors in defining the problem or in formulating the linear programming model. In some problems the feasible solution area formed by the model constraints is not closed. In these cases it is possible for the objective function to increase indefinitely without ever reaching a maximum value because it never reaches the boundary of the feasible solution area. An example of this type of problem is formulated next and shown graphically in Figure A-7. maximize Z  4x1  2x2 subject to x1  4 x2  2 x1, x2  0 In an unbounded problem the objective function can increase indefinitely because the solution space is not closed. Irregular Types of Linear Programming Problems A-27 2 4 6 8 10 12 2 0 4 6 8 10 12 x1 x2 Z = 4x 1 + 2x 2 Figure A-7 An unbounded problem Basic 4 2 0 0 cj Variables Quantity x1 x2 s1 s2 4 x1 4 0 0 1 0 4 ÷ –1  4 0 s2 2 1 1 0 1 2 ÷ 0  ∞ zj 16 4 0 4 0 cj  zj 0 2 4 0 Table A-28 The Second Simplex Tableau In Figure A-7 the objective function is shown to increase without bound; thus, a solution is never reached. The second tableau for this problem is shown in Table A-28. In this simplex tableau, s1 is chosen as the entering nonbasic variable and pivot column. However, there is no pivot row or leaving basic variable. One row value is 4 and the other is undefined. This indicates that a “most constrained” point does not exist and that the solution is unbounded. In gen- eral, a solution is unbounded if the row value ratios are all negative or undefined. A pivot row cannot be selected for an unbounded problem. Tie for the Pivot Column A tie for the pivot column is broken arbitrarily. Unlimited profits are not possible in the real world; an unbounded solution, like an infeasible solution, typically reflects an error in defining the problem or in formulating the model. Sometimes when selecting the pivot column, you may notice that the greatest positive cj  zj (or zj  cj) row values are the same; thus, there is a tie for the pivot column. When this happens, one of the two tied columns should be selected arbitrarily. Even though one choice may require fewer subsequent iterations than the other, there is no way of knowing this beforehand. It is also possible to have a tie for the pivot row (i.e., two rows may have identical lowest nonnegative values). Like a tie for a pivot column, a tie for a pivot row should be broken arbitrarily. However, after the tie is broken, the basic variable that was the other choice for Tie for the Pivot Row—Degeneracy A-30 Module A The Simplex Solution Method The Dual Now the model constraint is in proper form to be transformed into an equation and solved by the simplex method. Multiple optimal solutions are identified by cj  zj (or zj  cj)  0 for a nonbasic variable. To determine the alternate solution(s), enter the nonbasic variable(s) with a cj  zj value equal to zero. An infeasible problem is identified in the simplex procedure when an optimal solution is achieved (i.e., when all cj  zj  0) and one or more of the basic variables are artificial. An unbounded problem is identified in the simplex procedure when it is not possible to select a pivot row—that is, when the values obtained by dividing the quantity values by the corresponding pivot column values are negative or undefined. Summary of Simplex Irregularities The original linear programming model is called the primal, and the alternative form is the dual. Every linear programming model has two forms: the primal and the dual. The original form of a linear programming model is called the primal. All the examples in this module are primal models. The dual is an alternative model form derived completely from the pri- mal. The dual is useful because it provides the decision maker with an alternative way of looking at a problem. Whereas the primal gives solution results in terms of the amount of profit gained from producing products, the dual provides information on the value of the constrained resources in achieving that profit. The following example will demonstrate how the dual form of a model is derived and what it means. The Hickory Furniture Company produces tables and chairs on a daily basis. Each table produced results in $160 in profit; each chair results in $200 in profit. The production of tables and chairs is dependent on the availability of limited resources— labor, wood, and storage space. The resource requirements for the production of tables and chairs and the total resources available are as follows. Resource Requirements Resource Table Chair Total Available per Day Labor (hr) 2 4 40 Wood (bd ft) 18 18 216 Storage (ft2) 24 12 240 The company wants to know the number of tables and chairs to produce per day to maximize profit. The model for this problem is formulated as follows. maximize Z  $160x1  200x2 subject to 2x1  4x2  40 hr of labor 18x1  18x2  216 bd ft of wood 24x1  12x2  240 ft2 of storage space x1, x2  0 The dual solution variables provide the value of the resources, that is, shadow prices. The Dual A-31 The dual is formulated entirely from the primal. A primal maximization model with  constraints converts to a dual minimization model with  constraints, and vice versa. where x1  number of tables produced x2  number of chairs produced This model represents the primal form. For a primal maximization model, the dual form is a minimization model. The dual form of this example model is minimize Z  40y1  216y2  240y3 subject to 2y1  18y2  24y3  160 4y1  18y2  12y3  200 y1, y2, y3  0 The specific relationships between the primal and the dual demonstrated in this example are as follows. 1. The dual variables, y1, y2, and y3, correspond to the model constraints in the primal. For every constraint in the primal there will be a variable in the dual. For example, in this case the primal has three constraints; therefore, the dual has three decision variables. 2. The quantity values on the right-hand side of the primal inequality constraints are the objective function coefficients in the dual. The constraint quantity values in the primal, 40, 216, and 240, form the dual objective function: Z  40y1  216y2  240y3. 3. The model constraint coefficients in the primal are the decision variable coefficients in the dual. For example, the labor constraint in the primal has the coefficients 2 and 4. These values are the y1 variable coefficients in the model constraints of the dual: 2y1 and 4y1. 4. The objective function coefficients in the primal, 160 and 200, represent the model constraint requirements (quantity values on the right-hand side of the constraint) in the dual. 5. Whereas the maximization primal model has  constraints, the minimization dual model has  constraints. The primal – dual relationships can be observed by comparing the two model forms shown in Figure A-9. Now that we have developed the dual form of the model, the next step is determining what the dual means. In other words, what do the decision variables y1, y2, and y3 mean, what do the  model constraints mean, and what is being minimized in the dual objective function? The dual model can be interpreted by observing the simplex solution to the primal form of the model. The simplex solution to the primal model is shown in Table A-32. Interpreting this primal solution, we have x1  4 tables x2  8 chairs s3  48 ft2 of storage space Z  $2,240 profit Interpreting the Dual Model A-32 Module A The Simplex Solution Method Basic 160 200 0 0 0 cj Variables Quantity x1 x2 s1 s2 s3 200 x2 8 0 1 1 2 1 18 0 160 x1 4 1 0 1 2 1 9 0 0 s3 48 0 0 6 2 1 zj 2,240 160 200 20 20 3 0 cj zj 0 0 20 20 3 0 Table A-32 The Optimal Simplex Solution for the Primal Model cj qi 160 200 160 200 40 216 240 40 216 240 4 18 12 2 18 24 2y1 + 18y2 + 24y3 4y1 + 18y2 + 12y3 x2  x2  x2  y1, y2, y3 0 subject to: subject to: Primal Dual minimize Zd = y1 + y2 + y3maximize Zp = x1 + x2 x1 + x1 + x1 +   x1, x2 0 Figure A-9 The primal – dual relationships This optimal primal tableau also contains information about the dual. In the cj  zj row of Table A-32, the negative values of 20 and 20/3 under the s1 and s2 columns indicate that if one unit of either s1 or s2 were entered into the solution, profit would decrease by $20 or $6.67 (i.e., 20/3), respectively. Recall that s1 represents unused labor and s2 represents unused wood. In the present solution s1 and s2 are not basic variables, so they both equal zero. This means that all of the material and labor are being used to make tables and chairs, and there are no excess (slack) labor hours or board feet of material left over. Thus, if we enter s1 or s2 into the solution, then s1 or s2 no longer equals zero, we would be decreasing the use of labor or wood. If, for example, one unit of s1 is entered into the solution, then one unit of labor previously used is not used, and profit is reduced by $20. Let us assume that one unit of s1 has been entered into the solution so that we have one hour of unused labor (s1  1). Now let us remove this unused hour of labor from the solu- tion so that all labor is again being used. We previously noted that profit was decreased by $20 by entering one hour of unused labor; thus, it can be expected that if we take this hour back (and use it again), profit will be increased by $20. This is analogous to saying that if we could get one more hour of labor, we could increase profit by $20. Therefore, if we could purchase one hour of labor, we would be willing to pay up to $20 for it because that is the amount by which it would increase profit. Sensitivity Analysis A-35 Figure A-10 A change in c1 5 5 0 x1 x2 10 15 20 10 15 20 A B C D c1 = 250 c1 = 160 Basic 160 200 0 0 0 cj Variables Quantity x1 x2 s1 s2 s3 200 x2 8 0 1 1 2 1 18 0 160 x1 4 1 0 1 2 1 9 0 0 s3 48 0 0 6 2 1 zj 2,240 160 200 20 20 3 0 cj  zj 0 0 20 20 3 0 Table A-33 The Optimal Simplex Tableau The coefficients in the objective function will be represented symbolically as cj (the same notation used in the simplex tableau). Thus, c1  160 and c2  200. Now, let us consider a change in one of the cj values by an amount . For example, let us change c1  160 by  90. In other words, we are changing c1 from $160 to $250. The effect of this change on the solution of this model is shown graphically in Figure A-10. Originally, the solution to this problem was located at point B in Figure A-10, where x1  4 and x2  8. However, increasing c1 from $160 to $250 shifts the slope of the objec- tive function so that point C (x1  8, x2  4) becomes the optimal solution. This demon- strates that a change in one of the coefficients of the objective function can change the opti- mal solution. Therefore, sensitivity analysis is performed to determine the range over which cj can be changed without altering the optimal solution. The range of cj that will maintain the optimal solution can be determined directly from the optimal simplex tableau. The optimal simplex tableau for our furniture company example is shown in Table A-33. The sensitivity range for a cj value is the range of values over which the current optimal solution will remain optimal. First, consider a change for c1. This will change the c1 value from c1  160 to c1  160  , as shown in Table A-34. Notice that when c1 is changed to 160  , the new value is included not only in the top cj row but also in the left-hand cj column. This is because x1 is a basic solution variable. Since 160  is in the left-hand column, it becomes is added to cj in the optimal simplex tableau. A-36 Module A The Simplex Solution Method Basic 160   200 0 0 0 cj Variables Quantity x1 x2 s1 s2 s3 200 x2 8 0 1 1 2 1 18 0 160  x1 4 1 0 1 2 1 9 0 0 s3 48 0 0 6 2 1 zj 2,240  4 160  200 20  2 20 3  9 0 cj  zj 0 0 20  2 20 3  9 0 Table A-34 The Optimal Simplex Tableau with c1  160 + a multiple of the column values when the new zj row values and the subsequent cj  zj row values, also shown in Table A-34, are computed. The solution shown in Table A-34 will remain optimal as long as the cj  zj row values remain negative. (If cj  zj becomes positive, the product mix will change, and if it becomes zero, there will be an alternative solution.) Thus, for the solution to remain optimal, 20  2  0 and 20 3  9  0 Both of these inequalities must be solved for . 20  2  0 2  20  40 and 20/3  9  0  9  20 3   60  60 Thus,  40 and  60. Now recall that c1  160  ; therefore,  c1  160. Substituting the amount c1160 for in these inequalities,  40 c1  160  40 c1  200 and  60 c1  160  60 c1  100 Therefore, the range of values for c1 over which the solution basis will remain optimal (although the value of the objective function may change) is 100  c1  200 Next, consider a change in c2 so that c2  200  . The effect of this change in the final simplex tableau is shown in Table A-35. For the solution to remain optimal all values in the cj  zj row must be  0. Sensitivity Analysis A-37 Basic 160 200   0 0 0 cj Variables Quantity x1 x2 s1 s2 s3 200  x2 8 0 1 1 2 1 18 0 160 x1 4 1 0 1 2 1 9 0 0 s3 48 0 0 6 2 1 zj 2,240  8 160 200  20  2 20 3  18 0 cj  zj 0 0 20  2 20 3  18 0 Table A-35 The Optimal Simplex Tableau with c2  200  As before, the solution shown in Table A-35 will remain optimal as long as the cj  zj row values remain negative or zero. Thus, for the solution to remain optimal, we must have 20  2  0 and 20 3  18  0 Solving these inequalities for gives 20  2  0  2  20  40 and 20 3  18  0 18  20 3  120 Thus,  40 and  120. Since c2  200  , we have  c2  200. Substituting this value for in the inequalities yields  40 c2 200  40 c2  160 and  120 c2 200  120 c2  320 Therefore, the range of values for c2 over which the solution will remain optimal is 160  c2  320 The ranges for both objective function coefficients are as follows. 100  c1  200 160  c2  320 However, these ranges reflect a possible change in either c1 or c2, not simultaneous changes in both c1 and c2. Both of the objective function coefficients in this example were for basic solution variables. Determining the cj sensitivity range for a decision variable that is not basic is much simpler. Because it is not in the basic variable column, the change A-40 Module A The Simplex Solution Method Basic 160 200 0 0 0 cj Variables Quantity x1 x2 s1 s2 s3 200 x2 8  /2 0 1 1/2 1/18 0 160 x1 4  /2 1 0 1/2 1/9 0 0 s3 48  6 0 0 6 2 1 zj 2,240  20 160 200 20 20/3 0 cj  zj 0 0 20 20/3 0 Table A-37 The Final Simplex Tableau 8  2  0 4  2  0 48  6  0 are solved for : 8  2  0 2  8  16 and 4  2  0  2  4  8 and 48  6  0 6  48  8 Since q1  40  then  q1 40 These values are substituted into the inequalities  16,  8, and  8 as follows.  16 q1 40  16 q1  24  8 q1 40  8 q1  48  8 q1 40  8 q1  32 Summarizing these inequalities, we have 24  32  q1  48 Sensitivity Analysis A-41 The value of 24 can be eliminated, since q1 must be greater than 32; thus, 32  q1  48 As long as q1 remains in this range, the present basic solution variables will remain the same and feasible. However, the quantity values of those basic variables may change. In other words, although the variables in the basis remain the same, their values can change. To determine the range for q2 (where q2  216  ), the s2 column values are used to develop the inequalities. 8  18  0 4  9  0 48  2  0 The inequalities are solved as follows. 8  18  0  18  8  144 4  9  0 9  4  36 48  2  0 2  48  24 Since q2  216  we have  q2  216 Substituting this value into the inequalities  144,  36, and  24 gives a range of possible values for q2:  144 q2216  144 q2  360  36 q2216  36 q2  180  24 q2216  24 q2  240 That is, 180  q2  240  360
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved