Lecture (Mar 4)
Download
Report
Transcript Lecture (Mar 4)
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