500 likes | 530 Views
高等作業研究 ( 一 ). Chapter 3 Linear Programming Methods (II). When the original model contains "greater than or equal to" inequalities or equations, a BFS is not immediately available.
E N D
高等作業研究(一) Chapter 3 Linear Programming Methods (II)
When the original model contains "greater than or equal to" inequalities or equations, a BFS is not immediately available. We now show how to find an initial solution by solving an augmented linear program as the first phase of a two-phase procedure. The second phase involves solving the original problem using the BFS obtained in the first phase as the starting point. Initial BFS
(artificial variables: ) Note: The optimal objective value in phase 1 is w*=0.
-3 7
We say that the basis for the tableau is primal feasible if all elements of the right-hand side are nonnegative. Alternatively, when some of the elements are negative, we say that the basis is primal infeasible. Up to this point, we have always been concerned with primal feasible bases. DUAL SIMPLEX ALGORITHM
For the primal simplex algorithm, some elements in row 0 will be negative until the final iteration when the optimality conditions are satisfied. In the event that all elements of row 0 are nonnegative, we say that the associated basis is dual feasible. Alternatively, if some of the elements of row 0 are negative, we have a dual infeasible basis.
The primal simplex method works with primal feasible but dual infeasible (nonoptimal) bases. At the final (optimal) solution, the basis is both primal and dual feasible. Throughout the process, we maintain primal feasibility and drive toward dual feasibility.
For the dual simplex method, until the final iteration, each basis examined is primal infeasible (there are some negative values on the right-hand side) and dual feasible (all elements in row 0 are nonnegative). At the final (optimal) iteration, the solution is both primal and dual feasible. Throughout the process, we maintain dual feasibility and drive toward primal feasibility.
The dual simplex algorithm is best suited for problems in which an initial dual feasible solution is easily available. It is particularly useful for reoptimizing a problem after a constraint has been added or some parameters have been changed so that the previously optimal basis is no longer feasible.
Max s.t. Example
Leaving variable: the basic variable with most negative value.( ) Entering variable: min. ratio test
Changing the RHS constants will change only the entries in the last column of the tableau. In particular, if we change from 35 to 20 and from 20 to 26 in the original problem statement, the RHS vector in the tableau shown in Table 3.29 for the current basis B becomes
Why? The inverse matrix B-1 records the operations that have been done to the system of equations.
Using the preceding problem, we now add the constraint . The solution in the optimal tableau, = 20 and = 5, does not satisfy this constraint, so action must be taken to incorporate it into the tableau. First we subtract a slack variable to get the equality and then multiply it by -1 to achieve the correct form. Adding a Constraint
Decision variables: Objective coefficients: Right-hand-side constants: SIMPLEX METHOD USING MATRIX NOTATION
Suppose we now assume that the n variables are permuted so that the basic variables are the first m components of x. Then we can write x = ( ), where and refer to the basic and nonbasic variables, respectively. The matrix A can also be partitioned similarly into A = (B, N), where B is the m × m basis matrix and N is m×(n - m). The equation Ax = b can thus be written as
we introduce the n-dimensional row vector of dual variables,π, and define it as , so currently z =πb and xB=B-1b.
Max s.t. Example
we see that the objective function value for a given basis can be written as => The objective value as a function of alone is
Reduced cost of Optimality condition: (Q=set of nonbasic variables)
For a particular basis B, we have When we set all the nonbasic variables equal to zero except xk, this expression becomes
Note For the example problem, we start with the basic solution
Allowing to enter the basis, we compute The minimum ratio is θ= 6 for the first equation, so , must leave the basis.
The initial and later simplex tableau Performing elementary row operations to a system of equations is equivalent to pre-multiply the system of equations by a certain matrix.
This method does not update and store the entire tableau but only those data elements needed to construct the current basis inverse and to reproduce the matrices describing the original problem. REVISED SIMPLEX METHOD
Commercial codes do not store as an m × m matrix but use an implicit approach such as LUdecomposition to reconstruct it as needed. In this approach, the B-matrix is decomposed into an upper triangular matrix, U, and a lower triangular matrix, L, such that B = LU.
Inverse Update formula Suppose that xk is the entering variable and the rth basic variable is the leaving variable. The new basis inverse is: where E is an identity matrix except that its rth column is replaced by Ex: