06.08.2013 Views

Putting an LP in Standard Form for Karmarkar's Method

Putting an LP in Standard Form for Karmarkar's Method

Putting an LP in Standard Form for Karmarkar's Method

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.

604 CHAPTER 10 Adv<strong>an</strong>ced Topics <strong>in</strong> L<strong>in</strong>ear Programm<strong>in</strong>g<br />

f (x k ) f (x k1 ) (41)<br />

Inequality (41) states that each iteration of Karmarkar’s method decreases the potential<br />

function by <strong>an</strong> amount bounded away from 0. Karmarkar shows that if the potential<br />

function evaluated at x k is small enough, then z cx k will be near 0. Because f (x k ) is decreased<br />

by at least per iteration, it follows that by choos<strong>in</strong>g k sufficiently large, we c<strong>an</strong><br />

ensure that the z-value <strong>for</strong> x k is less th<strong>an</strong> .<br />

<strong>Putt<strong>in</strong>g</strong> <strong>an</strong> <strong>LP</strong> <strong>in</strong> St<strong>an</strong>dard <strong>Form</strong> <strong>for</strong> Karmarkar’s <strong>Method</strong><br />

We now show how to convert <strong>an</strong>y <strong>LP</strong> to the <strong>for</strong>m def<strong>in</strong>ed by (31)–(33). To illustrate, we<br />

show how to tr<strong>an</strong>s<strong>for</strong>m the follow<strong>in</strong>g <strong>LP</strong><br />

max z 3x1 x2 s.t.<br />

s.t.<br />

2x1 x2 2<br />

2x1 2x2 5<br />

(42)<br />

s.t.<br />

<strong>in</strong>to the <strong>for</strong>m def<strong>in</strong>ed by (31)–(33).<br />

We beg<strong>in</strong> by f<strong>in</strong>d<strong>in</strong>g the dual of (42).<br />

2x1 x1, x2 0<br />

m<strong>in</strong> w 2y1 5y2 s.t.<br />

s.t.<br />

2y1 y2 3<br />

y1 2y2 1<br />

(42)<br />

s.t. 2y1y1, y2 0<br />

From the Dual Theorem (Theorem 1 of Chapter 6), we know that if (x1, x2) is feasible <strong>in</strong><br />

(42), (y1, y2) is feasible <strong>in</strong> (42), <strong>an</strong>d the z-value <strong>for</strong> (x1, x2) <strong>in</strong> (42) equals the w-value <strong>for</strong><br />

(y1, y2) <strong>in</strong> (42), then (x1, x2) is optimal <strong>for</strong> (42). This me<strong>an</strong>s that <strong>an</strong>y feasible solution to<br />

the follow<strong>in</strong>g set of constra<strong>in</strong>ts will yield the optimal solution to (42):<br />

3x1 x2 2y1 5y2 0<br />

2x1 x2 2y1 5y2 2<br />

x1 2x2 2y1 5y2 5<br />

3x1 x2 2y1 y2 3<br />

(43)<br />

3x1 x2 y1 2y2 1<br />

3x1 x2 All variables 0<br />

Insert<strong>in</strong>g slack <strong>an</strong>d excess variables <strong>in</strong>to (43) yields<br />

3x1 x2 2y1 5y2 s1 0<br />

2x1 x2 2y1 5y2 s1 2<br />

x1 2x2 2y1 5y2 s2 5<br />

3x1 x2 2y1 y2 e1 3<br />

(44)<br />

3x1 x2 y1 2y2 e2 1<br />

3x1 x2 All variables 0<br />

We now f<strong>in</strong>d a number M such that <strong>an</strong>y feasible solution to (44) will satisfy<br />

sum of all variables <strong>in</strong> (44) M (45)<br />

<strong>an</strong>d add constra<strong>in</strong>t (45) to (44). Be<strong>in</strong>g conservative, we c<strong>an</strong> see that <strong>an</strong>y values of the vari-


ables that yield <strong>an</strong> optimal primal solution to (42) <strong>an</strong>d <strong>an</strong> optimal dual solution to (42)<br />

will have no variable exceed<strong>in</strong>g 10. This would yield M 10(8) 80. We then add a<br />

slack variable (dummy variable d1) to (45). Our new goal is then to f<strong>in</strong>d a feasible solution<br />

to<br />

3x1 x2 2y1 5y2 s1 0<br />

2x1 x2 2y1 5y2 s1 2<br />

x1 2x2 2y1 5y2 s2 5<br />

3x1 x2 2y1 y2 e1 3 (46)<br />

3x 1 x 2 y 1 2y 2 <br />

e 2 1<br />

x 1 x 2 y 1 y 2 s 1 <br />

s 2 e 1 e 2 d 1 80<br />

All variables 0<br />

We now def<strong>in</strong>e a new<br />

dummy variable d2; d2 1.<br />

We c<strong>an</strong> use this new variable<br />

to “homogenize” the constra<strong>in</strong>ts<br />

<strong>in</strong> (46), which have<br />

SUMMARY The Revised Simplex <strong>Method</strong> <strong>an</strong>d the Product <strong>Form</strong><br />

of the Inverse<br />

Step 0 Note the columns from which the current B 1 will be read. Initially B 1 I.<br />

Step 1 For the current tableau, compute c BVB 1 .<br />

Step 2 Price out all nonbasic variables <strong>in</strong> the current tableau. If (<strong>for</strong> a max problem) each<br />

nonbasic variable prices out nonnegative, the current basis is optimal. If the current basis<br />

is not optimal, enter <strong>in</strong>to the basis the nonbasic variable with the most negative coefficient<br />

<strong>in</strong> row 0. Call this variable x k.<br />

Step 3 To determ<strong>in</strong>e the row <strong>in</strong> which x k enters the basis, compute x k’s column <strong>in</strong> the<br />

current tableau (B 1 a k) <strong>an</strong>d compute the right-h<strong>an</strong>d side of the current tableau (B 1 b).<br />

Then use the ratio test to determ<strong>in</strong>e the row <strong>in</strong> which x k should enter the basis. We now<br />

know the set of basic variables (BV) <strong>for</strong> the new tableau.<br />

Step 4 Use the column <strong>for</strong> x k <strong>in</strong> the current tableau to determ<strong>in</strong>e the EROs needed to enter x k<br />

<strong>in</strong>to the basis. Per<strong>for</strong>m these EROs on the current B 1 to yield the new B 1 . Return to step 1.<br />

Alternatively, we may use the product <strong>for</strong>m of the <strong>in</strong>verse to update B 1 . Suppose we have<br />

found that x k should enter the basis <strong>in</strong> row r. Let the column <strong>for</strong> x k <strong>in</strong> the current tableau be<br />

a 1k <br />

a 2k<br />

<br />

a mk<br />

nonzero right-h<strong>an</strong>d sides. To<br />

do this, we add the appropriate<br />

multiple of the constra<strong>in</strong>t<br />

d 2 1 to each constra<strong>in</strong>t <strong>in</strong><br />

(46) (except the last constra<strong>in</strong>t)<br />

hav<strong>in</strong>g a nonzero<br />

right-h<strong>an</strong>d side. For example<br />

we add 2(d 2 1) to the<br />

constra<strong>in</strong>t 2x 1 x 2 s 1 2.<br />

We also replace the last constra<strong>in</strong>t<br />

<strong>in</strong> (46) by the follow<strong>in</strong>g<br />

two constra<strong>in</strong>ts:<br />

(a) Add d 2 1 to the last<br />

constra<strong>in</strong>t<br />

10.1 Summary 605

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

Saved successfully!

Ooh no, something went wrong!