1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n b m x 1, x 2, x n 0, missä x j :t ovat muuttujia ja c j :t b i :t ja a ij :t ovat reaalisia vaikioita Lineaarinen optimointitehtävä (11) voidaan kirjoittaa myös muodossa min kun n c j x j n a ij x j b i, x j 0, j = 1, 2,, n i = 1, 2,, m (12) tai matriisinotaatiolla min c T x kun Ax b x 0, (13) missä c 1 x 1 b 1 a 11 a 12 a 1n c 2 c =, x = x 2, b = b 2 ja A = a 21 a 22 a 2n c n x n b n a m1 a m2 a mn 1
2 Lineaarisen yhtälöryhmän perusmuoto Tässä luvussa luomme valmisteluja ja työkaluja Simplex-algoritmiin, jolla voidaan ratkaista lineaarisia optimointitehtäviä Luvun pääteemat ovat lineaarisen yhtälöryhmän ja lineaarisen optimointitehtävän perusmuodot ja sallitut perusratkaisut Määritelmä 21 Lineaarinen yhtälöryhmä a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2 a m1 x 1 + a m2 x 2 + + a mn x n = b m (21) on perusmuodossa, jos jokaisessa yhtälössä on yksi muuttuja, jonka kerroin kyseisessä yhtälössä on tasan 1 ja kaikissa muissa yhtälöissä 0 Tällaista muuttujaa kutsutaan perusmuuttujaksi Olkoon B lineaarisen yhtälöryhmän (21) perusmuuttujien indeksijoukko Toisin sanoen, jos muuttuja x i on lineaarisen yhtälöryhmän (21) perusmuuttuja, niin i B Lineaarisen yhtälöryhmän (21) ratkaisua x = ( x 1, x 2,, x n ) T kutsutaan perusratkaisuksi, jos ei-perusmuuttujien (muuttuja ei ole perusmuuttuja) arvot ovat nollia Huomautus 22 Olkoon lineaarisessa yhtälöryhmässä m riviä ja n muuttujaa Oletetaan vielä, että m < n Tällöin yhtälöryhmällä on m perusmuuttujaa Esimerkki 23 Lineaarinen yhtälöryhmä { x1 + 2x 2 + 4x 3 + x 4 = 5 2x 1 + x 2 x 3 + 8x 4 = 10 (22) ei ole perusmuodossa: Valittiinpa mikä tahansa muuttuja ensimmäisestä yhtälöstä, niin sen kerroin ei ole yksi tai jos on niin toisessa yhtälössä sen kerroin on nollasta eroava Yleensä lineaariset yhtälöryhmät eivät suoraan ole perusmuodossa kuten yhtälöryhmä (22) Muokataan seuraavaksi yhtälöryhmä (22) perusmuotoon valitsemalla perusmuuttujiksi x 1 ja x 2 Toisin sanoen B = {1, 2} Lisätään ensin ensimmäinen rivi kerrottuna 2 toiseen riviin, jolloin yhtälöryhmä (22) saadaan muotoon { x1 + 2x 2 + 4x 3 + x 4 = 5 (23) 3x 2 + 9x 3 + 6x 4 = 0 Jakamalla luvulla 3 toinen rivi yhtälöryhmässä (23) ja tämän jälkeen lisäämällä se kerrottuna luvulla 2 ensimmäiseen riviin saadaan yhtälöryhmä (23) muotoon { x1 + 2x 3 3x 4 = 5 (24) x 2 + 3x 3 2x 4 = 0, joka on perusmuoto indeksijoukon B suhteen Etsitään seuraavaksi indeksijoukkoa B vastaava perusratkaisu Perusratkaisussa vaadittiin, että Ei-perusmuuttujien arvot ovat nollia Toisin sanoen muuttujien x 3 ja x 4 arvot ovat nollia Täten yhtälöryhmä 24 sievenee muotoon { x1 = 5 (25) x 2 = 0, 2
josta voidaan suoraan lukea muuttujien x 1 ja x 2 arvot Toisin sanoen indeksijoukkoa B vastaava perusratkaisu on (5, 0, 0, 0) T Vastaavanlaisella menettelyllä saadaan perusmuuttujille x 1 ja x 3 perusratkaisuksi (5, 0, 0, 0) T ja perusmuuttujille x 2 ja x 3 (0, 15/2, 5/2, 0) T Esimerkistä 23 huomaamme, että perusmuuttujat x 1 ja x 2 voidaan lausua muodossa x 1 = 5 2x 3 + 3x 4 (26) x 2 = 0 3x 3 + 2x 4, (27) joka on lineaarisen yhtälöryhmän (21) eräs perusmuoto Toisin sanoen jokainen perusmuuttuja on lausuttavissa vakioluvun ja Ei-perusmuuttujien avulla Tästä havainnosta lähdemme muodostamaan lineaariselle yhtälöryhmälle perusmuodon (211) ja perusratkaisun (212) indeksijoukon B avulla Yhtälöryhmän (21) j:s rivi on muotoa n a jk x k = b j (28) k=1 Edelleen summaus voidaan muodostaa indeksijoukon B avulla seuraavasti: a jk x k = b j, (29) josta edelleen k B a jk x k + k B k B a jk x k = b j k B a jk x k (210) Muodostamalla yhtälöryhmä kaavan (210) avulla indeksien j B suhteen ja ratkaisemalla siitä perusmuuttujat, saadaan yhtälöryhmä (21) perusmuotoon: x j = b j ājk x k, j B k B (211) Edelleen perusratkaisu on x j = b j j B x j = 0 j B (212) Huomautus 24 Lineaarisen optimointitehtävän perusmuodossa (211) b j riippuu ainoastaan indeksi joukosta B (vastaavasti ā jk ) Toisin sanoen, kun B on kiinnitetty on b j aina vakio (vastaavasti ā jk ) Yleensä b j b j ja ā jk a jk Muotoilussa (211) summa j B āijx j on oleellinen Tarvitsemme tätä muotoa, kun johdamme lineaarisen optimointitehtävän perusmuodon Seuraavaksi johdamme lineaarisen optimointitehtävän (11) perusmuodon (214) Suorittamalla tuttuja muunnoksia, saadaan lineaarinen optimointiteh- 3
tävä (11) muotoon min kun n c j x j n a ij x j = b i, x j 0, j = 1, 2,, n i = 1, 2,, m (213) Seuraava muunnos koskee yhtälörajoitteita Toisin sanoen muunnetaan yhtälörajoitteet perusmuotoon: x j = b k B ā jk x k, j B Tämän jälkeen eliminoidaan perusmuuttujat objektifunktiosta n c j x j = c j x j + c j x j j B = c j bj ā jk x k + c j x j k B j B = c j bj c j ā jk x k + c j x j k B j B = c j bj c j ā jk x k + c k x k k B k B = c j bj + c k c j ā jk x k k B = c j bj + c k x k k B = c j bj + c j x j j B Tästä saadaan lineaarinen optimointitehtävä perusmuotoonsa: min j B c j bj + j B cj x j kun x j = b x j 0 ājk x k, j B k B j = 1, 2,, n (214) Huomautus 25 Lineaarisen optimointitehtävän perusmuodon (214) c j riippuu ainoastaan indeksijoukosta B Toisin sanoen, kun B on kiinnitetty on c j aina vakio 4
Perusmuodosta (214) näemme, että muuttujien x j täytyy olla ei-negatiivisia Esimerkin 23 perusmuuttujia x 2 ja x 3 vastaava perusratkaisu on (0, 15/2, 5/2, 0) T Jos Esimerkin 23 lineaarinen yhtälöryhmä olisi jonkin lineaarisen optimointitehtävän rajoitteena, niin perusratkaisu (0, 15/2, 5/2, 0) T ei olisi sallittu Määritelmä 26 Lineaarisen optimointitehtävän (214) perusratkaisua kutsutaan sallituksi perusratkaisuksi, jos ratkaisun jokainen komponentti on ei-negatiivinen, ei-sallituksi perusratkaisuksi, jos ratkaisun jokin komponentti on negatiivinen Tämän luvun viimeisenä asiana todistamme pikku tuloksen, jota hyödynnetään simplex-algoritmissa Tätä ennen määrittelemme konveksin monitahokkaan kärkipisteet Määritelmä 27 Olkoon C avaruuden R n konveksi monitahokas Piste x C on monitahokkaan C kärkipiste, jos ei ole olemassa pisteitä u C ja v C siten, että x = u + v 2 ja u v Lemma 28 Olkoon C lineaarisen optimointitehtävän (213) rajoitteiden määräämä konveksi monitahokas Tällöin sallittu perusratkaisu on alueen C kärkipiste Todistus Antiteesi: Onkin olemassa sallitturatkaisu x = (x 1, x 2,, x n ) siten, että se ei ole sallitun alueen C kärkipiste Tällöin on olemassa u, v C siten, että x = (u + v)/2 ja u v Osoitetaan seuraavaksi, että indekseillä j B komponentit u j ja v j ovat nollia Koska pisteet u ja v ovat sallitun alueen C pisteitä, niin u j, v j 0 Koska j B, niin 0 = x j = u j + v j 2 Täten u j = v j = 0 Osoitetaan vielä, että u j = v j = b, kun j B Koska u C, niin jokaiselle i = 1, 2,, m pätee b i = n a ij u j = a ij u j + a ij u j j B = a ij u j Toisin sanoen, jokaiselle i = 1, 2,, m pätee b i = a ij u j 5
Tämä on mahdollista vain silloin, kun u j = x j kaikilla j B Vastaavasti v j = x j = b, kun j B Olemme siis osoittaneet, että u j = v j = 0, kun j B ja u j = v j = b, kun j B Toisin sanoen u = v Tämä on ristiriita, joten väite on totta Lause 29 Olkoon x lineaarisen optimointitehtävän (213) perusratkaisu Jos bj 0 jokaisella j B ja c j 0 jokaisella j B, niin x on sallittu perusratkaisu ja optimointitehtävän (213) ratkaisu Todistus Koska jokaisella j B on b j 0 ja x on perusratkaisu, on x triviaalisti sallittu perusratkaisu Osoitetaan seuraavaksi, että x on optimointitehtävän ratkaisu Olkoon x C eri piste kuin x Saattamalla optimointitehtävä perusmuotoon saamme objektifunktioksi c j x j c j bj + j B Täten objektifunktion arvo pisteessä x on c j bj (= vakio) Objektifunktion arvo pisteessä x on c j bj + j B c j x j Koska x C, niin x j 0 Oletuksesta c j 0 jokaisella j B seuraa, että c j x j 0 Näin ollen j B c j bj + j B c j x j c j bj Toisin sanoen objektifunktion arvo pisteessä x on vähintään objektifunktion arvo pisteessä x Edelleen koska x on mielivaltainen alueen C piste, on x tehtävän ratkaisu Korollaari 210 Jos lineaariselle optimointitehtävälle (213) löytyy perusratkaisu siten, että b j 0 jokaisella j B ja c j 0 jokaisella j B, niin perusratkaisu on sallittu perusratkaisu, optimointitehtävän (213) ratkaisu ja sallitun alueen kärkipiste Todistus Lause 29 ja Lemma 28 Huomautus 211 Lause 29 ei sano, että lineaarisella optimointi tehtävällä olisi aina tasan yksi ratkaisu Tämä nähdään seuraavasti: min x 1 x 2 kun x 1 + x 2 1 x 1, x 2 0 (215) Kaikki pisteet muotoa (1 t, t), t [0, 1] ovat sallittuja ja antavat objektifunktion minimin 6