24.03.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!