Water Resources Development and Management Optimization (Linear Programming) CVEN 5393 Mar 7, 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 Simplex Method for other forms 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,
To multiply a matrix by a number (denote this number by k ) 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, 19
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 xB = B-1b Z = cB B-1b BxB + NxN = b BxB = b - NxN xB = B-1b – B-1NxN xB = B-1b
Example xB = B-1b Z = cB B-1b xB = x = I-1b = b Z = cB I-1b = cB b
Matrix Form of the Set of Equations in the Simplex Tableau For the original set of equations, the matrix form is xB = B-1b Z = cB B-1b For any iteration,
Example For Iteration 2
Summary of the Revised Simplex Method 1. Initialization (Iteration 0) Optimality test:
Step 1: Determine the entering basic variable 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
The nonbasic variables are x1 and x4. 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: y* = S* = B-1 =
For iteration 2: y* = S* = B-1 =
Dual Simplex
Hughes-McMakee-notes\chapter-05.pdf
Duality Theory and Sensitivity Analysis
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 C D B A E G Dual Problem F A E F D B C G H
Neither feasible nor superoptimal Suboptimal Superptimal Optimal Optimal Superoptimal Suboptimal
Adapting to Other Primal Forms
subject to subject to subject to (1) (2) : dual variables corresponding to (1) : dual variables corresponding to (2) subject to : unconstrained in sign
subject to subject to : dual variables corresponding to (2) 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 C The solution remains feasible only if
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 for the revised model. We can observe that the changes lead to a single revised constraint for the dual problem.
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