Malliratkaisut Demo 4 1. tehtävä a) () = 2+1. Funktio on lineaarinen, joten se on unimodaalinen sekä maksimoinnin että minimoinnin suhteen. Funktio on konveksi ja konkaavi. b) () = (suurin kokonaisluku ). Funktion arvo paloittain vakio. Pienillä askelilla ei parannusta! Ei-unimodaalinen minimoinnin eikä maksimoinnin suhteen. Funktio on myös epäkonveksi ja epäkonkaavi. Kuva 1: () = c) () = sin + a, a > 0 ja () = cos + a. a 1 0 a 1 a 1 Kuva 2: () = sin + a, a > 0 a > 1: Nyt () > 0. Unimodaalinen sekä minimoinnin että maksimoinnin suhteen. Ei konveksi eikä konkaavi. Ei ääriarvoja. (Konveksin unktion epigraai on konveksi) 0 < a < 1: Ei unimodaalinen minimoinnin eikä maksimoinnin suhteen. Ei konveksi eikä konkaavi. a = 1: Nyt () = 0, kun = π. Kyseessä on satulapiste. Funktio ei kuitenkaan ole vakio tässä pisteessä ja sen välittömässä läheisyydessä = pienikin askel tuottaa parannusta. Unimodaalinen sekä minimoinnin että maksimoinnin suhteen. Ei konveksi eikä konkaavi. 1
d) () =. Kuva 3: () = Unimodaalinen minimoinnin, mutta ei maksimoinnin suhteen. Epäkonveksi. e) () = ma {a, 2 1 } a 0 0 a 1 a 1 Kuva 4: () = ma {a, 2 1 } a 0: Ei unimodaalinen minimoinnin eikä maksimoinnin suhteen. Epäkonveksi. 0 < a < 1: Ei unimodaalinen minimoinnin eikä maksimoinnin suhteen. Epäkonveksi. a = 1 tai a 1: Unimodaalinen minimoinnin suhteen, mutta ei maksimoinnin suhteen. Konveksi. 2. tehtävä Päätösmuuttujiksi voidaan valita i : päivänä i aloittavien poliisien määrä (1:maanantai, 2:tiistai,...). Jos poliisi aloittaa töissä päivänä i, hän on töissä myös seuraavat 4 päivää. Minimoidaan poliisien kokonaismäärää eli sitä kuinka monta poliisia minäkin päivänä aloittaa. Tällöin optimointitehtäväksi saadaan min 1 + 2 + 3 + 4 + 5 + 6 + 7 s. t. 1 + 4 + 5 + 6 + 7 6 1 + 2 + 5 + 6 + 7 6 1 + 2 + 3 + 6 + 7 6 1 + 2 + 3 + 4 + 7 6 1 + 2 + 3 + 4 + 5 10 2 + 3 + 4 + 5 + 6 10 3 + 4 + 5 + 6 + 7 8 i 0, i = 1,..., 7. i {0, 1, 2,...}, i = 1,..., 7. 2
Ratkaisuksi saadaan 1 = 1, 2 = 2, 3 = 2, 4 = 2, 5 = 3, 6 = 1 ja 7 = 0. Lingossa muuttuja voidaan pakottaa kokonaislukumuuttujaksi kirjoittamalla mallin sisään rivi @GIN();. Jos poliisien ei oleteta olevan kokonaisia, ratkaisuksi saadaan 1 = 0.67, 2 = 2, 3 = 2.67, 4 = 2, 5 = 2.67, 6 = 0.67 ja 7 = 0. Pyöristettynä kokonaisiksi poliiseiksi siis 1 = 1, 2 = 2, 3 = 3, 4 = 2, 5 = 3, 6 = 1 ja 7 = 0, missä siis keskiviikkona työt aloittaa yksi poliisi enemmän kuin, jos tehtävä ratkaistaan kokonaislukumuuttujilla. 3. tehtävä Puusepällä on käytössä 50 kpl 6.5 m lautaa 200 kpl 4 m lautaa ja tavoitteena on tehdä mahdollisimman monta 2 2m + 1 1.25m hyllyä. Ensiksi pitää määrätä kaikki eripituisten lautojen erilaiset sahaustavat, joiksi saadaan Nyt voidaan päätösmuuttujiksi valita laudan pituus 2 m palat 1.25 m palat tapa 6.5 m 3 1 2 2 2 1 3 3 5 4 4 m 2 5 1 1 6 3 7 i : tavalla i sahattu lauta z : valmistuneiden hyllyjen lukumäärä. Koska maksimoidaan valmistuneiden hyllyjen lukumäärä { } 31 + 2 2 + 3 + 2 5 + 6 z = min, 2 2 + 3 3 + 5 4 + 6 + 3 7, 2 on kyseessä mamin-tyyppinen optimointitehtävä. Se voidaan kirjoittaa muotoon ma z s. t. 3 1 + 2 2 + 3 + 2 5 + 6 2z 2 2 + 3 3 + 5 4 + 6 + 3 7 z 1 + 2 + 3 + 4 50 5 + 6 + 7 200 i N +, i = 1,..., 7. 3
4. tehtävä Tarkastellaan ylimääriteltyä yhtälöryhmää 2 y = 1 2 + 3y = 18 + y = 5. Kertoimien perusteella saadaan matriisi A ja vektori b seuraavasti: 2 1 1 A = 2 3 R 3 2 b = 18. 1 1 5 Yhtälöryhmä ratkaistaan minimoimalla residuaalia A b = r, toisin sanoen kohdeunktiona on min A b. a) Muodostetaan ensin optimointitehtävä 1 -normia käyttäen. Merkitsemällä seuraavassa 1 = ja 2 = y saadaan min 3 2 1 2 a ij j b i = 2 {}}{{}}{ y 1 + 2 + 3y 18 + + y 5 i=1 j=1 s. t., y R. b) Muodostetaan sitten optimointitehtävä -normia käyttäen seuraavasti: min 2 ma i=1,...,3 j=1 a ij j b i = min ma{ 2 y 1, 2 + 3y 18, + y 5 } s. t., y R. Tehtävien linearisoimiseksi otetaan käyttöön apumuuttujat s + i = itseisarvon i sisällä olevan lausekkeen positiiviosa, i = 1, 2, 3 s i = itseisarvon i sisällä olevan lausekkeen negatiiviosa, i = 1, 2, 3. a) Normia 1 käyttäen laadittu tehtävä muuttuu näiden avulla muotoon min s + 1 + s 1 + s + 2 + s 2 + s + 3 + s 3 s. t. 2 y 1 = s + 1 s 1 2 + 3y 18 = s + 2 s 2 + y 5 = s + 3 s 3 s + i 0, s i 0, i = 1, 2, 3. Tehtävän numeeriseksi ratkaisuksi saadaan = 2.625 y = 4.25 = 1.875. 4
b) Normia käyttäen laaditussa tehtävässä korvataan ensin itseisarvolausekkeet summilla, jolloin tehtävä saa muodon min ma {s + 1 + s 1, s + 2 + s 2, s + 3 + s 3 } s. t. 2 y 1 = s + 1 s 1 2 + 3y 18 = s + 2 s 2 + y 5 = s + 3 s 3 s + i 0, s i 0, i = 1, 2, 3. Korvataan vielä kohdeunktion min ma-lauseke merkinnällä ja lisätään uusi rajoite, jolloin tehtävä on linearisoitu muotoon min s. t. s + i + s i, i = 1, 2, 3 2 y 1 = s + 1 s 1 2 + 3y 18 = s + 2 s 2 + y 5 = s + 3 s 3. Tehtävän numeeriseksi ratkaisuksi saadaan = 2 y = 4.25 = 1.25. 5. tehtävä Valmisohjelmistolla voidaan ratkaista tehtävä ma c T s. t. A b 0, missä, c ja b R n ja A R m n. Muunnetaan tehtävä min 10 1 + 30 2 + 20 3 + 40 4 s. t. 2 1 3 2 + 3 + 5 4 8 1 10 1 + 2 2 + 3 3 + 4 4 = 0 1, 4 0, 2 0, 3 R sellaiseksi, että sen voi ratkaista kyseisellä ohjelmistolla. Lisäksi määrätään luvut n ja m, vektorit c ja b sekä matriisi A. Muutetaan ensin minimointi maksimoinniksi kertomalla luvulla ( 1), jolloin saadaan ma 10 1 30 2 20 3 40 4. Käännetään sitten ensimmäisen ja toisen rajoitteen epäyhtälöt kertomalla luvulla ( 1), jolloin 2 1 + 3 2 3 5 4 8 ja 1 10 5
Yhtälörajoite voidaan korvata kahdella epäyhtälörajoitteella 1 + 2 2 + 3 3 + 4 4 0 1 2 2 3 3 4 4 0. Lopuksi korvataan rajoittamaton muuttuja 3 kahden ei-negatiivisen muuttujan erotuksella 3 = + 3 3, missä + 3, 3 0 ja epäpositiivinen muuttuja 2 = 2, missä 2 0. Edellisten muutosten jälkeen optimointitehtävä saa muodon ma 10 1 + 30 2 20 + 3 + 20 3 40 4 s. t. 2 1 3 2 + 3 + 3 5 4 8 1 10 1 2 2 + 3 + 3 3 3 + 4 4 0 1 + 2 2 3 + 3 + 3 3 4 4 0 1, 2, + 3, 3, 4 0. Merkitään sitten = ( 1, 2, + 3, 3, 4 ) T, jolloin n = 5 ja m = 4. Pyydetyt vektorit ja matriisi ovat nyt 10 8 2 3 1 1 5 30 c = 20 10, b = 0, A = 1 0 0 0 0 1 2 3 3 4. 20 0 1 2 3 3 4 40 6