Water Resources Development and Management Optimization (Linear Programming) CVEN 5393 Feb 25, 2013 Acknowledgements • Dr. Yicheng Wang (Visiting Researcher, CADSWES during Fall 2009 – early Spring 2010) for slides from his Optimization course during Fall 2009 • Introduction to Operations Research by Hillier and Lieberman, McGraw Hill Today’s Lecture • Simplex Method – Recap of algebraic form – Simplex Method in Tabular form • Simplex Method for other forms – Equality Constraints – Minimization Problems (Big M and Twophase methods) • Sensitivity / Shadow Prices • R-resources / demonstration (2) Setting Up the Simplex Method Original Form of the Model Augmented Form of the Model SIMPLEX METHOD (TABULAR FORM) The Simplex Method in Tabular Form The tabular form is more convenient form for performing the required calculations. The logic for the tabular form is identical to that for the algebraic form. Summary of the Simplex Method in Tabular Form TABLE 4.3b The Initial Simplex Tableau TABLE 4.3b The Initial Simplex Tableau Iteration1 Iteration2 Step1: Choose the entering basic variable to be x1 Step2: Choose the leaving basic variable to be x5 Step3: Solve for the new BF solution. The new BF solution is (2,6,2,0,0) with Z =36 Optimality test: The solution (2,6,2,0,0) is optimal. Tie Breaking in the Simplex Method Tie for the Entering Basic Variable The answer is that the selection between these contenders may be made arbitrarily. The optimal solution will be reached eventually, regardless of the tied variable chosen. Tie for the Leaving Basci Variable-Degeneracy If two or more basic variables tie for being the leaving basic variable, choose any one of the tied basic variables to be the leaving basic variable. One or more tied basic variables not chosen to be the leaving basic variable will have a value of zero. If a basic variable has a value of zero, it is called degenerate. For a degenerate problem, a perpetual loop in computation is theoretically possible, but it has rarely been known to occur in practical problems. If a loop were to occur, one could always get out of it by changing the choice of the leaving basic variable. No Leaving Basic Variable – Unbounded Z If every coefficient in the pivot column of the simplex tableau is either negative or zero, there is no leaving basic variable. This case has an unbound objective function Z If a problem has an unbounded objective function, the model probably has been misformulated, or a computational mistake may have occurred. Multiple Optimal Solution In this example, Points C and D are two CPF Solutions, both of which are optimal. So every point on the line segment CD is optimal. Therefore, all optimal solutions are a weighted average of these two optimal CPF solutions. Fig. 3.5 The Wyndor Glass Co. problem would have multiple optimal solutions if the objective function were changed to Z = 3x1 + 2x2 C (2,6) E (4,3) Multiple Optimal Solution Any linear programming problem with multiple optimal solutions has at least two CPF solutions that are optimal. All optimal solutions are a weighted average of these two optimal CPF solutions. Consequently, in augmented form, any linear programming problem with multiple optimal solutions has at least two BF solutions that are optimal. All optimal solutions are a weighted average of these two optimal BF solutions. Multiple Optimal Solution These two are the only BF solutions that are optimal, and all other optimal solutions are a convex combination of these . SENSITIVITY (SHADOW PRICES & SIGNIFICANCE) Shadow Prices (0) (1) (2) (3) Resource bi = production time available in Plant i for the new products. How will the objective function value change if any bi is increased by 1 ? b2: from 12 to 13 Z: from 36 to 37.5 △Z=3/2 b1: from 4 to 5 Z: from 36 to 36 △Z=0 b3: from 18 to 19 Z: from 36 to 37 △Z=1 indicates that adding 1 more hour of production time in Plant 2 for the two new products would increase the total profit by $1,500. The constraint on resource 1 is not binding on the optimal solution, so there is a surplus of this resource. Such resources are called free goods The constraints on resources 2 and 3 are binding constraints. Such resources are called scarce goods. H(0,9) Sensitivity Analysis Maximize b, c, and a are parameters whose values will not be known exactly until the alternative given by linear programming is implemented in the future. The main purpose of sensitivity analysis is to identify the sensitive parameters. A parameter is called a sensitive parameter if the optimal solution changes with the parameter. How are the sensitive parameters identified? In the case of bi , the shadow price is used to determine if a parameter is a sensitive one. For example, if > 0 , the optimal solution changes with the bi. However, if = 0 , the optimal solution is not sensitive to at least small changes in bi. For c2 =5, we have c1 =3 can be changed to any other value from 0 to 7.5 without affecting the optimal solution (2,6) Parametric Linear Programming Sensitivity analysis involves changing one parameter at a time in the original model to check its effect on the optimal solution. By contrast, parametric linear programming involves the systematic study of how the optimal solution changes as many of the parameters change simultaneously over some range. ADAPTING SIMPLEX TO OTHER FORMS (MINIMIZATION, EQUALITY AND GREATER THAN EQUAL CONSTRAINTS, ) Adapting to Other Model Forms Original Form of the Model Augmented Form of the Model Artificial-Variable Technique The purpose of artificial-variable technique is to obtain an initial BF solution. The procedure is to construct an artificial problem that has the same optimal solution as the real problem by making two modifications of the real problem. Augmented Form of the Artificial Problem Initial Form of the Artificial Problem The Real Problem The feasible region of the Real Problem The feasible region of the Artificial Problem Converting Equation (0) to Proper Form The system of equations after the artificial problem is augmented is To algebraically eliminate from Eq. (0), we need to subtract from Eq. (0) the product, M times Eq. (3) Application of the Simplex Method The new Eq. (0) gives Z in terms of just the nonbasic variables (x1, x2) The coefficient can be expressed as a linear function aM+b, where a is called multiplicative factor and b is called additive term. When multiplicative factors a’s are not equal, use just multiplicative factors to conduct the optimality test and choose the entering basic variable. When multiplicative factors are equal, use the additive term to conduct the optimality test and choose the entering basic variable. M only appears in Eq. (0), so there’s no need to take into account M when conducting the minimum ratio test for the leaving basic variable. Solution to the Artificial Problem Functional Constraints in ≥ Form The Big M method is applied to solve the following artificial problem (in augmented form) The minimization problem is converted to the maximization problem by Solving the Example The simplex method is applied to solve the following example. The following operation shows how Row 0 in the simplex tableau is obtained. The Real Problem The Artificial Problem The Two-Phase Method Since the first two coefficients are negligible compared to M, the two-phase method is able to drop M by using the following two objectives. The optimal solution of Phase 1 is a BF solution for the real problem, which is used as the initial BF solution. Summary of the Two-Phase Method Example: Phase 1 Problem (The above example) Phase2 Problem Solving Phase 1 Problem Preparing to Begin Phase 2 Solving Phase 2 Problem How to identify the problem with no feasible solutons The artificial-variable technique and two-phase method are used to find the initial BF solution for the real problem. If a problem has no feasible solutions, there is no way to find an initial BF solution. The artificial-variable technique or two-phrase method can provide the information to identify the problems with no feasible solutions. To illustrate, let us change the first constraint in the last example as follows. The solution to the revised example is shown as follows.