Luento 4: Lineaarisen tehtävän duaali Käsittelemme seuraavaksi lineaarisen optimoinnin duaaliteoriaa. Kuten luennossa 2 esitettiin, kohdefunktion optimiarvon herkkyys z, kun rajoitusyhtälön i, 1 i m, oikea puoli b i muuttuu määrällä b i, määriteltiin ns. duaalimuuttujalla y i : y i := z/ b i, missä b i on kyllin pieni. Määrittelemme nyt alkuperäisen LP-tehtävän, eli ns. primaali-lp:n, duaali-lp:n, jonka ratkaisuna saadaan ko. duaalikertoimet y i. Kanooninen primaali-duaalipari -LP max z = c 1 x 1 + +c n x n s.e. a 11 x 1 + +a 1n x n b 1. a m1 x 1 + +a mn x n b m x 1,, x n 0 eli max z = c T x s.e. Ax b x 0 missä A on m n-matriisi A ij := a ij, b := [b 1,...,b m ] T, ja x 0 x i 0 i; 1 i m, 1 j n. Duaali-LP min w = b 1 y 1 + +b m y m s.e. a 11 y 1 + +a m1 y m c 1. a 1n y 1 + +a mn y m c n y 1,, y m 0 eli min w = b T y s.e. A T y c y 0 1
Standardimuotoinen primaali-duaalipari -LP max(min) z = c T x s.e. Ax = b x 0 Yllä epäyhtälörajoitukset on muutettu yhtälörajoituksiksi lisäämällä tarvittavat slack- ja ylijäämämuuttujat. Lisäksi muuttujat x j on korvattu positiivisilla muuttujilla x + j, x j. Standardimuodossa oletetaan lisäksi, että b i, 1 i m, on ei-negatiivinen, eli 0, mikä saadaan aikaan, kun yhtälö kerrotaan tarvittaessa -1:llä. Duaali-LP min(max) w = s.e. b T y A T y ( ) c y rajoittamaton Kun siis primaalissa on max, niin duaalissa on min ja ; ja kun primaalissa on min, niin duaalissa on max ja. Huomioita: Duaali-LP on lineaarinen optimointitehtävä, joka voidaan ratkaista simplexmenetelmällä, tai erityisellä ns. duaalisimplex-menetelmällä. Kun primaalissa on n muuttujaa ja m rajoitusehtoa, niin duaalissa on m muuttujaa ja n rajoitusehtoa. Jokaista primaalin rajoitusehtoa i kohden on olemassa duaalimuuttuja y i, 1 i m. Duaalissa y i :n kerroin kohdefunktiossa on primaalin rajoitusehdon i oikean puolen arvo b i. Jokaista primaalin muuttujaa x j, 1 j n, kohden on olemassa duaalin rajoitusehto j, jonka oikean puolen arvo on x j :n kerroin c j primaalin kohdefunktiossa. 2
Duaalin muodostamisen muistisäännöt A on siis m n-matriisi. Merkitään A:n rivejä a T i, 1 i m, ja sarakkeita a j, 1 j n. Muistisäännöt saadaan seuraavasta taulukosta: Kohdefunktio Duaali max n j=1 c jx j min m i=1 b iy i Rajoitusehdot a T i x b i y i 0 Muuttujat a T i x b i y i 0 a T i x = b i y i vapaa Muuttujat x j 0 y T a j c j Rajoitusehdot x j 0 y T a j c j x j vapaa y T a j = c j Esimerkki 1 Standardi primaali max z = 5x 1 +12x 2 +4x 3 max z = 5x 1 +12x 2 +4x 3 +0x 4 s.e. x 1 +2x 2 +x 3 10 s.e. x 1 +2x 2 +x 3 +x 4 = 10 2x 1 x 2 +3x 3 = 8 2x 1 x 2 +3x 3 +0x 4 = 8 x 1, x 2, x 3 0 x 1, x 2, x 3, x 4 0 Esimerkki 2 Duaali min w = 10y 1 +8y 2 s.e. y 1 +2y 2 5 2y 1 y 2 12 y 1 +3y 2 4 y 1 + 0y 2 0 y 1,y 2 rajoittamaton } (y 1 0, y 2 rajoittamaton) Standardi primaali min z = 15x 1 +12x 2 min z = 15x 1 +12x 2 +0x 3 +0x 4 s.e. x 1 +2x 2 3 s.e. x 1 +2x 2 x 3 = 3 2x 1 4x 2 5 2x 1 4x 2 +x 4 = 5 x 1, x 2 0 x 1, x 2, x 3, x 4 0 3
Duaali max w = 3y 1 +5y 2 s.e. y 1 +2y 2 15 2y 1 4y 2 12 y 1 0 (tai y 1 0) y 2 0 y 1, y 2 rajoittamattomia (redundantteja) Esimerkki 3 Standardi primaali max z = 5x 1 +6x 2 max z = 5x + 1 5x 1 +6x 2 s.e. x 1 +2x 2 = 5 s.e. x + 1 x 1 +2x 2 = 3 x 1 +5x 2 3 x + 1 +x 1 +5x 2 x 3 = 3 4x 1 +7x 2 8 4x + 1 4x 1 +7x 2 +x 4 = 8 x 2 0 x + 1, x 1, x 2, 0 rajoittamaton x 1 Duaali min w = 5y 1 +3y 2 +8y 3 s.e. y 1 y 2 +4y 3 5 y 1 +y 2 4y 3 5 } (y 1 y 2 + 4y 3 = 5) 2y 1 +5y 2 +7y 3 6 y 2 0 (y 2 0) y 3 0 y 1 y 2, y 3 rajoittamaton rajoittamattomia (redundantteja) Ensimmäisestä ja toisesta rajoituksesta seuraa yhtälö. Jokaista rajoittamatonta primaalin muuttujaa vastaa aina yhtälömuotoinen duaalin rajoitus, ja päinvastoin. 4
n ja duaalin ominaisuuksia Ominaisuus (a) Duaalin duaali on primaali. Ominaisuus (b) Jos primaalilla ei ole käypää pistettä, on duaalin optimiarvo, ja päinvastoin. Ominaisuus (c) n ja duaalin simplex-iteraatioille on voimassa: n simplex-iteraatiolla muuttujan j kerroin simplex taulukon z- rivillä = duaalitehtävän rajoituksen j vasen puoli miinus oikea puoli. Ajatellaan ominaisuuden (c) sovelluksena tehtävää, jossa on 100 muuttujaa ja 500 rajoitusta. Tällöin on helpompaa ensin ratkoa ko. tehtävän duaali, jossa on 500 muuttujaa ja 100 rajoitusta. Alkuperäisen tehtävän ratkaisu saadaan suoraan ominaisuuden (c) perusteella. Esimerkki 4 Lasketaan Esimerkin 1 simplex-iteraatiot primaalitehtävälle. Käyvän aloitusratkaisun löytämiseksi lisäämme yhtälörajoitukseen keinomuuttujan R; kohdefunktioon lisäämme termin M R (max-tehtävä), missä M on riittävän iso luku. Saamme seuraavat iteraatiot: kanta x 1 x 2 x 3 x 4 R ratkaisu Iteraatio 0: z 5 2M 12 + M 4 3M 0 0 8M x 4 1 2 1 1 0 10 R 2 1 3 0 1 8 Iteraatio 1: z 7/3 40/3 0 0 4/3 + M 32/3 x 4 1/3 7/3 0 1 1/3 22/3 x 3 2/3 1/3 1 0 1/3 8/3 Iteraatio 2: z 3/7 0 0 40/7 4/7 + M 368/7 x 2 1/7 1 0 3/7 1/7 22/7 x 3 5/7 0 1 1/7 2/7 26/7 Iteraatio 3: z 0 0 3/5 29/5 2/5 + M 274/5 x 2 0 1 1/5 2/5 1/5 12/5 x 1 1 0 7/5 1/5 2/5 26/5 Kun ominaisuutta (c) sovelletaan optimitaulukkoon, eli iteraation 3 muuttujiin x 4 ja R, saamme: 5
Muuttujat x 4 R z-yhtälön kerroin (iteraatio 3) 29/5 2/5 + M Vastaava duaalirajoitus y 1 0 y 2 M Ominaisuudesta (c) seuraa: y 1 0 = 29/5 y 2 ( M) = 2/5 + M Soveltamalla ominaisuutta (c) iteraation 3 x 1 - ja x 3 -sarakkeisiin, saamme yhtälöt: { y1 +2y 2 5 = 0 y 1 +3y 2 4 = 3/5 Tästä saamme edelleen saman ratkaisun: y 1 = 29/5 ja y 2 = -2/5. Ominaisuus (d) Jos x on primaalitehtävän (kun maksimoidaan) käypä piste ja y on duaalitehtävän käypä piste, niin c T x b T y. Jos lisäksi c T x = b T y, niin x ja y ovat optimaalisia ratkaisuja. Ominaisuus (e) Jos s i on primaalin i:nnen rajoitusehdon slack-muuttuja, ja y i on vastaava duaalimuuttuja, niin optimissa on voimassa ns. komplementaarinen slackness-ehto: s i y i = 0. Sama pätee duaalin j:nnen rajoitusehdon slack-muuttujalle v j ja primaalimuuttujalle x j : v j x j = 0. Duaalitehtävän taloudellinen tulkinta -LP: max z = s.e. n j=1 c jx j n j=1 a ijx j = b i 1 i m x j 0 1 j n Duaali-LP: min w = s.e. m j=1 b iy i m j=1 a ijy j c j 1 j n y i rajoittamaton, 1 i m -LP:n tulkinta: 6
Olkoon n agenttia eli tuotantoyksikköä, eli aktiviteettia (activity), ja m resurssia. Agentti j tuottaa tuotetta j määrän x j. c j on agentin j yksikkötuotto (E/tuotteen j yksikkö). z on kaikkien agenttien kokonaistuotto (E). a ij on se määrä resurssia i, jonka agentti j käyttää yhden yksikön valmistamiseen tuotetta j. Duaali-LP:n tulkinta: Ominaisuus (d) z = n c j x j j=1 m b i y i = w käyvälle x R n, y R m. Yhtäsuuruus voimassa, kun x ja y optimaalisia. Käytetään dimensioanalyysia yhtälöön z = w: i=1 kok.tuotto E = m (resurssin i yksikkö) (? ) i=1 y i :n dimensio on E/resurssin i yksikkö, eli y i on resurssin i yksikköarvo. y i :tä kutsutaan resurssin i duaali- tai varjohinnaksi (dual price, shadow price). Ei optimaaliselle käyvälle pisteelle z < w, eli kok.tuotto < resurssien todellinen arvo. Siis niin kauan, kun resurssia ei täysin hyödynnetä, tuotto ei voi olla optimaalinen. LP-malli voidaan siis tulkita input-output, eli panos-tuotos mallina, missä resurssi vastaa input-muuttujaa ja tuotto output-muuttujaa. Systeemi on epästabiili niin kauan, kuin input > output. Kun input = output, niin systeemi on stabiili. Eo. sanasto on peräisin taloustieteen Nobelin palkinnon saajilta venäläiseltä Kantorowictzilta ja hollantilaiselta Koopmansilta, jotka sovelsivat LP:n duaaliteoriaa kansantalouden input-output kuvaukseen. 7