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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Two-Phase Simplex Algorithm<br />

(1) Given a problem of the form of the general maximization (or minimization) problem<br />

from Equation 2.1, convert it to standard form:<br />

⎧<br />

⎪⎨ max c<br />

P<br />

⎪⎩<br />

T x<br />

s.t. Ax = b<br />

x ≥ 0<br />

with b ≥ 0.<br />

(2) Introduce auxiliary variables xa and solve the Phase I problem:<br />

⎧<br />

⎪⎨<br />

P1<br />

⎪⎩<br />

min e T xa<br />

s.t. Ax + Imxa = b<br />

x, xa ≥ 0<br />

(3) If x∗ a = 0, then an initial feasible solution has been identified. This solution can be<br />

converted into a basic feasible solution as we discuss below. Otherwise, there is no<br />

solution to Problem P .<br />

(4) Use the Basic Feasible solution identified in Step 3 to start the Simplex Algorithm<br />

(compute the reduced costs given the c vector).<br />

(5) Solve the Phase II problem:<br />

⎧<br />

⎪⎨ max c<br />

P<br />

⎪⎩<br />

T x<br />

s.t. Ax = b<br />

x ≥ 0<br />

Algorithm 7. Two-Phase Simplex Algorithm<br />

When we solve the Phase I problem, if x ∗ a = 0 at optimality, then there is no solution.<br />

If x ∗ a = 0, then there are two possibilities:<br />

(1) The basis consists only of variables in the vector x; i.e., no auxiliary variable is in<br />

the basis.<br />

(2) There is some auxiliary variable xai = 0 and this variable is in the basis; i.e., the<br />

solution is degenerate and the degeneracy is expressed in an auxiliary variable.<br />

2.1. Case I: xa = 0 and is out of the basis. If xa = 0 and there are not elements of<br />

the vector xa in the basis, then we have identified a basic feasible solution x = [xB xN] T .<br />

Simply allow the non-zero basic elements (in x) to be xB and the remainder of the elements<br />

(not in xa) are in xN. We can then begin Phase II using this basic feasible solution.<br />

2.2. Case II: xa = 0 and is not out of the basis. If xa = 0 and there is at least one<br />

artificial variable still in the basis, then we have identified a degenerate solution to the Phase<br />

I problem. Theoretically we could proceed directly to Phase II, assigning 0 coefficients to<br />

the artificial variables as long as we ensure that no artificial variable ever becomes positive<br />

again. [BJS04] notes that this can be accomplished by selective pivoting, however it is often<br />

more efficient and simpler to remove the artificial variables completely from the basis before<br />

proceeding to Phase II.<br />

96

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

Saved successfully!

Ooh no, something went wrong!