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.

Remark 8.9. The expressions:<br />

∗<br />

Ax ≤ b<br />

Primal Feasibility<br />

x ∗ (8.37)<br />

≥ 0<br />

⎧<br />

⎪⎨<br />

w<br />

Dual Feasibility<br />

⎪⎩<br />

∗ A − v ∗ = c<br />

w ∗ ≥ 0<br />

v ∗ (8.38)<br />

≥ 0<br />

∗ ∗<br />

w (Ax − b) = 0<br />

(8.39) Complementary Slackness<br />

v ∗ x ∗ = 0<br />

are called the Karush-Kuhn-Tucker (KKT) conditions of optimality. Note there is one element<br />

in w for each row of the constraints Ax ≤ b and one element in the vector v for each<br />

constraint of the form x ≥ 0. The vectors w and v are sometimes called dual variables and<br />

sometimes called Lagrange Multipliers.<br />

We can think of dual feasibility as expressing the following interesting fact: at optimality,<br />

the gradient of the objective function c can be expressed as a positive combination of the<br />

gradients of the binding constraints written as less-than-or-equal-to inequalities. That is,<br />

the gradient of the constraint Ai·x ≤ bi is Ai· and the gradient of the constraint −xj ≤ 0 is<br />

−ej. More specifically, the vector c is in the cone generated by the binding constraints at<br />

optimality.<br />

Example 8.10. Consider the Toy Maker Problem (Equation 2.8) with Dual Variables<br />

(Lagrange Multipliers) listed next to their corresponding constraints:<br />

⎧<br />

max z(x1, x2) = 7x1 + 6x2 Dual Variable<br />

s.t. 3x1 + x2 ≤ 120 (w1)<br />

⎪⎨ x1 + 2x2 ≤ 160 (w1)<br />

⎪⎩<br />

x1 ≤ 35 (w3)<br />

x1 ≥ 0 (v1)<br />

x2 ≥ 0 (v2)<br />

In this problem we have:<br />

⎡<br />

3<br />

A = ⎣1 ⎤<br />

1<br />

2⎦<br />

⎡<br />

b = ⎣<br />

1 0<br />

120<br />

⎤<br />

160⎦<br />

c =<br />

35<br />

7 6 <br />

Then the KKT conditions can be written as:<br />

⎧ ⎡ ⎤ ⎡<br />

3 1 <br />

x1<br />

⎪⎨<br />

⎣1 2⎦<br />

≤ ⎣<br />

x2<br />

Primal Feasibility 1 0<br />

⎪⎩<br />

120<br />

⎤<br />

160⎦<br />

35<br />

<br />

x1 0<br />

≥<br />

0<br />

x2<br />

128

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

Saved successfully!

Ooh no, something went wrong!