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.

Simplex Algorithm in Algebraic Form<br />

(1) Given Problem P in standard form with cost vector c, coefficient matrix A and right<br />

hand side b, identify an initial basic feasible solution xB and xN by any means. Let J<br />

be the set of indices of non-basic variables. If no basic feasible solution can be found,<br />

STOP, the problem has no solution.<br />

(2) Compute the row vector c T B B−1 N − c T N . This vector contains zj − cj for j ∈ J .<br />

(3) If zj − cj ≥ 0 for all j ∈ J , STOP, the current basic feasible solution is optimal.<br />

Otherwise, Goto 4.<br />

(4) Choose a non-basic variable xj with zj − cj < 0. Select aj from B −1 N. If aj ≤ 0, then<br />

the problem is unbounded, STOP. Otherwise Goto 5.<br />

(5) Let b = B −1 b. Find the index i solving:<br />

min bi/aji : i = 1, . . . , m and aji ≥ 0<br />

(6) Set xBi = 0 and xj = bi/aji .<br />

(7) Update J and GOTO Step 2<br />

Algorithm 6. The Matrix form of the Simplex Algorithm<br />

Exercise 53. <strong>State</strong> the simplex algorithm in Tableau Form. [Hint: Most of the simplex<br />

algorithm is the same, simply add in the row-operations executed to compute the new reduced<br />

costs and B −1 N.]<br />

Theorem 5.17. If the feasible region of Problem P has no degenerate extreme points,<br />

then the simplex algorithm will terminate in a finite number of steps with an optimal solution<br />

to the linear programming problem.<br />

Sketch of Proof. In the absence of degeneracy, the value of the objective function<br />

improves (increases in the case of a maximization problem) each time we exchange a basic<br />

variable and non-basic variable. This is ensured by the fact that the entering variable<br />

always has a negative reduced cost. There are a finite number of extreme points for each<br />

polyhedral set, as shown in Lemma 4.41. Thus, the process of moving from extreme point<br />

to extreme point of X, the polyhedral set in Problem P must terminate with the largest<br />

possible objective function value. <br />

Remark 5.18. The correct proof that the simplex algorithm converges to a point of<br />

optimality is actually proved by showing that the algorithm terminates with something<br />

called a Karush-Kuhn-Tucker (KKT) point. Unfortunately, we will not study the Karush-<br />

Kuhn-Tucker conditions until later. There are a few proofs that do not rely on showing<br />

that the point of optimality is a KKT point (see [Dan60] for example), but most rely on<br />

some intimate knowledge or assumptions on polyhedral sets and are not satisfying. Thus,<br />

for students who are not as concerned with the intricate details of the proof, the previous<br />

proof sketch is more than sufficient to convince you that the simplex algorithm is correct.<br />

For those students who prefer the rigorous detail, please see Chapter 8.<br />

89

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

Saved successfully!

Ooh no, something went wrong!