Water Resources Development and Management Optimization (Linear Programming) CVEN 5393 Mar 4, 2011 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 • • • Simplex Method in Matrix form – Basics of Matrix Algebra – Revised Simplex Dual Simplex R-resources / demonstration SIMPLEX METHOD (MATRIX FORM) MATRIX ALGEBRA BASICS REVISED SIMPLEX Matrices and Matrix Operations A matrix is a rectangular array of numbers. For example is a 3x2 matrix (matrices are denoted by Boldface Capital Letters) In more general terms, Matrix Operations Let and be two matrices having the same number of rows and the same number of columns. To multiply a matrix by a number (denote this number by k ) To add two matrices A and B For example, Subtraction of two matrices Matrix multiplication Matrix division is not defined Matrix operations satisfy the following laws. The relative sizes of these matrices are such that the indicated operations are defined. Transpose operations This operation involves nothing more than interchanging the rows and columns of the matrix. Special kinds of matrices Identity matrix The identity matrix I is a square matrix whose elements are 0s except for 1s along the main diagonal. ( A square matrix is one in which the number of rows is equal to the number of columns). where I is assigned the appropriate number of rows and columns in each case for the multiplication operation to be defined. Null matrix The null matrix 0 is a matrix of any size whose elements are all 0s . Inverse of matrix Vectors (We use boldface lowercase letters to represent vectors) Partitioning of matrices Up to this point, matrices have been rectangular arrays of elements, each of which is a number. However, the notation and results are also valid if each element is itself a matrix. For example, the matrix Example : Calculate AB, given Matrix Form of Linear Programming Original Form of the Model Augmented Form of the Model Solving for a Basic Feasible Solution For initialization, For any iteration, Solving for a Basic Feasible Solution For initialization, xB = x = I-1b = b Z = cB I-1b = cB b For any iteration, Z = cB xB + cNxN = cB xB = cB B-1b BxB + NxN = b BxB = b - NxN xB = B-1b – B-1NxN xB = B-1b xB = B-1b Z = cB B-1b Example xB = x = I-1b = b Z = cB I-1b = cB b xB = B-1b Z = cB B-1b Matrix Form of the Set of Equations in the Simplex Tableau For the original set of equations, the matrix form is For any iteration, xB = B-1b Z = cB B-1b Example For Iteration 2 Summary of the Revised Simplex Method 1. Initialization (Iteration 0) Optimality test: 2. Iteration 1 Step 1: Determine the entering basic variable So x2 is chosen to be the entering variable. Step 2: Determine the leaving basic variable So the number of the pivot row r =2 Thus, x4 is chosen to be the entering variable. Step 3: Determine the new BF solution The new set of basic variables is To obtain the new B-1, So the new B-1 is Optimality test: The nonbasic variables are x1 and x4. 3. Iteration 2 Step 1: Determine the entering basic variable x1 is chosen to be the entering variable. Step 2: Determine the leaving basic variable The ratio 4/1 > 6/3 indicate that x5 is the leaving basic variable Step 3: Determine the new BF solution The new set of basic variables is Therefore, the new B-1 is Optimality test: The nonbasic variables are x4 and x5. Relationship between the initial and final simplex tableaux For iteration 1: S* = B-1 = y* = For iteration 2: S* = B-1 = y* = DUAL SIMPLEX HUGHES-MCMAKEENOTES\CHAPTER-05.PDF Duality Theory and Sensitivity Analysis Duality Theory is the surplus variable for the functional constraints in the dual problem. If a solution for the primal problem and its corresponding solution for the dual problem are both feasible, the value of the objective function is optimal. If a solution for the primal problem is feasible and the value of the objective function is not optimal (for this example, not maximum), the corresponding dual solution is infeasible. Summary of Primal-Dual Relationships Summary of Primal-Dual Relationships Primal Problem H B C G D Dual Problem A E F D B C G H A E F Neither feasible nor superoptimal Neither feasible nor superoptimal Suboptimal Superptimal Optimal Optimal Superoptimal Suboptimal Adapting to Other Primal Forms subject to subject to (1) (2) : dual variables corresponding to (1) : dual variables corresponding to (2) subject to : unconstrained in sign subject to : dual variables corresponding to (2) subject to subject to Dual Simplex Method Suboptimal Superptimal Optimal Optimal Superoptimal Suboptimal Simplex Method : Keep the solution in any iteration suboptimal ( not satisfying the condition for optimality, but the condition for feasibility). Dual Simplex Method : Keep the solution in any iteration superoptimal ( not satisfying the condition for feasibility, but the condition for optimality). If a solution satisfies the condition for optimality, the coefficients in row (0) of the simplex tableau must nonnegative. If a solution does not satisfy the condition for feasibility, one or more of the values of b in the right-side of simplex tableau must be negative. Summary of Dual Simplex Method subject to Sensitivity Analysis Case 1 : Changes in bi Incremental analysis The dual simplex method now can be applied to find the new optimal solution. The allowable range of bi to stay feasible The solution remains feasible only if C A B Case 2a : Changes in the coefficients of a nonbasic variable Consider a particular variable xj (fixed j) that is a nonbaic variable in the optimal solution shown by the final simplex tableau. is the vector of column j in the matrix A . We have We can observe that the changes lead to a single revised constraint for the dual problem. for the revised model. The allowable range of the coefficient ci of a nonbasic variable Case 2b : Introduction of a new variable Case 3 : Changes in the coefficients of a basic variable The allowable range of the coefficient ci of a basic variable Case 4 : Introduction of a new constraint Parametric Linear Programming Systematic Changes in the cj Parameters The objective function of the ordinary linear programming model is For the case where the parameters are being changed, the objective function of the ordinary linear programming model is replaced by where q is a parameter and aj are given input constants representing the relative rates at which the coefficients are to be changed. Example: To illustrate the solution procedure, suppose a1=2 and a2 = -1 for the original Wyndor Glass Co. problem, so that Beginning with the final simplex tableau for q = 0, we see that its Eq. (0) If q ≠ 0, we have Because both x1 and x2 are basic variables, they both need to be eliminated algebraically from Eq. (0) The optimality test says that the current BF solution will remain optimal as long as these coefficients of the nonbasic variables remain nonnegative: Summary of the Parametric Linear Programming Procedure for Systematic Changes the cj Parameters Systematic Changes in the bi Parameters For the case where the bi parameters change systematically, the one modification made in the original linear programming model is that is replaced by, for i = 1, 2, …, m, where the ai are given input constants. Thus the problem becomes subject to The goal is to identify the optimal solution as a function of q Example: subject to Suppose that a1=2 and a2 = -1 so that the functional constraints become This problem with q = 0 has already been solved in the table, so we begin with the final tableau given there. Using the sensitivity procedure, we find that the entries in the right side column of the tableau change to the values given below Therefore, the two basic variables in this tableau Remain nonnegative for Summary of the Parametric Linear Programming Procedure for Systematic Changes the bi Parameters