Linear Programming Lecture Notes - Penn State Personal Web Server
Linear Programming Lecture Notes - Penn State Personal Web Server
Linear Programming Lecture Notes - Penn State Personal Web Server
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
For the sake of space, we will provide the dual simplex algorithm for a maximization<br />
problem:<br />
⎧<br />
⎪⎨<br />
max cx<br />
P<br />
⎪⎩<br />
s.t. Ax = b<br />
x ≥ 0<br />
We will then shown how to adjust the dual simplex algorithm for minimization problems.<br />
Dual Simplex Algorithm in Algebraic Form<br />
(1) Choose an initial basic solution xB and corresponding basis matrix B so that wA·j−cj ≥<br />
0 for all j ∈ J , where J is the set of non-basic variables and w = cBB −1 .<br />
(2) Construct a simplex tableau using this initial solution.<br />
(3) If b = B −1 b ≥ 0, then an optimal solution has been achieved; STOP. Otherwise, the<br />
dual problem is feasible (since zj − cj ≥ 0). GOTO STEP 4.<br />
(4) Choose a leaving variable (row) xBi = bi so that bi < 0.<br />
(5) Choose the index of the entering variable (column) xj (j ∈ J ) using the following<br />
minimum ratio test:<br />
zj − cj<br />
aji<br />
= min<br />
zk − ck<br />
|aki |<br />
: k ∈ J , aki<br />
<br />
< 0<br />
(6) If no entering variable can be selected (aki ≥ 0 for all k ∈ K) then the dual problem is<br />
unbounded and the primal problem is infeasible. STOP.<br />
(7) Using a standard simplex pivot, pivot on element aji , thus causing xBi to become 0<br />
(and thus feasible) and causing xj to enter the basis. GOTO STEP 3.<br />
Algorithm 9. The Matrix form of the Dual Simplex Algorithm<br />
The pivoting step works because we choose the entering variable specifically so that the<br />
reduced costs will remain positive. Just as we chose the leaving variable in the standard<br />
simplex algorithm using a minimum ratio test to ensure that B −1 b remains positive, here<br />
we use it to ensure that zj − cj remains non-negative for all j ∈ J and thus we assure dual<br />
feasibility is maintained.<br />
The convergence of the dual simplex algorithm is outside of the scope of this course.<br />
However, it suffices to understand that we are essentially solving the dual problem in the<br />
primal simplex tableau using the simplex algorithm applied to the dual problem. Therefore<br />
under appropriate cycle prevention rules, the dual simplex does in fact converge to the<br />
optimal (primal) solution.<br />
Theorem 9.16. In the absence of degeneracy, or when using an appropriate cycling<br />
prevention rule, the dual simplex algorithm converges and is correct.<br />
Example 9.17. Consider the following linear programming problem:<br />
max − x1 − x2<br />
s.t. 2x1 + x2 ≥ 4<br />
x1 + 2x2 ≥ 2<br />
x1, x2 ≥ 0<br />
154