Malliratkaisut Demot

Samankaltaiset tiedostot
Malliratkaisut Demot

Malliratkaisut Demot 5,

Malliratkaisut Demo 4

Malliratkaisut Demo 4

Malliratkaisut Demot

Malliratkaisut Demot 6,

Lineaarinen optimointitehtävä

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Demo 1: Simplex-menetelmä

JYVÄSKYLÄN YLIOPISTO. 3. Luennon sisältö

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Malliratkaisut Demot

Miten osoitetaan joukot samoiksi?

Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi.

Malliratkaisut Demot

Ominaisvektoreiden lineaarinen riippumattomuus

Malliratkaisut Demo 1

Malliratkaisut Demot

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

Optimaalisuusehdot. Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0

Harjoitus 5 ( )

Lineaarinen optimointitehtävä

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Luento 3: Simplex-menetelmä

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min!

Harjoitus 5 ( )

Lineaarinen yhtälöryhmä

Avaruuden R n aliavaruus

Jälki- ja herkkyysanalyysi. Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun

Luento 9: Yhtälörajoitukset optimoinnissa

3 Simplex-menetelmä. c T x = min! Ax = b (x R n ) (3.1) x 0. Tarvittaessa sarakkeiden järjestystä voidaan vaihtaa, joten voidaan oletetaan, että

Determinantti 1 / 30

Harjoitus 3 ( )

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:

Harjoitus 3 ( )

Gaussin ja Jordanin eliminointimenetelmä

Lineaarikuvauksen R n R m matriisi

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

10 Matriisit ja yhtälöryhmät

Diofantoksen yhtälön ratkaisut

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Mat Lineaarinen ohjelmointi

Numeeriset menetelmät

1 Lineaariavaruus eli Vektoriavaruus

b 1. b m ) + ( 2b Ax) + (b b)

Harjoitus 7: vastausvihjeet

5 Lineaariset yhtälöryhmät

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Mat Lineaarinen ohjelmointi

2 Konveksisuus ja ratkaisun olemassaolo

w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1.

Ennakkotehtävän ratkaisu

MS-A0004/MS-A0006 Matriisilaskenta Laskuharjoitus 6 / vko 42

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

802320A LINEAARIALGEBRA OSA I

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Matriisilaskenta Laskuharjoitus 5 - Ratkaisut / vko 41

Käänteismatriisi 1 / 14

Malliratkaisut Demot

12. Hessen matriisi. Ääriarvoteoriaa

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Talousmatematiikan perusteet: Luento 14. Rajoitettu optimointi Lagrangen menetelmä: yksi yhtälörajoitus Lagrangen menetelmä: monta yhtälörajoitusta

Vektorit, suorat ja tasot

1 Johdanto LP tehtävän luonteen tarkastelua Johdanto herkkyysanalyysiin Optimiarvon funktio ja marginaalihinta

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0.

Luento 8: Epälineaarinen optimointi

Talousmatematiikan perusteet: Luento 15. Rajoitettu optimointi Lagrangen menetelmä Lagrangen kerroin ja varjohinta

Malliratkaisut Demot

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Lineaarialgebra ja matriisilaskenta I. LM1, Kesä /218

Johdatus verkkoteoriaan luento Netspace

Johdatus matemaattiseen päättelyyn

Osakesalkun optimointi

1 Rajoitettu optimointi I

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Piiri K 1 K 2 K 3 K 4 R R

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

TEKNILLINEN TIEDEKUNTA, MATEMATIIKAN JAOS

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Mat Lineaarinen ohjelmointi

Päättelyn voisi aloittaa myös edellisen loppupuolelta ja näyttää kuten alkupuolella, että välttämättä dim W < R 1 R 1

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

5.1. Normi ja suppeneminen Vektoriavaruus V on normiavaruus, jos siinä on määritelty normi : V R + = [0, ) jolla on ominaisuudet:

Luento 8: Epälineaarinen optimointi

8. Ensimmäisen käyvän kantaratkaisun haku

7 Vapaus. 7.1 Vapauden määritelmä

Numeeriset menetelmät

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Malliratkaisut Demot

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

Harjoitus 6 ( )

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

Transkriptio:

Malliratkaisut Demot 3.2.27 Tehtävä. Valmisohjelmistolla voidaan ratkaista tehtävä min c T x s. t. Ax b x, missä x, c ja b R n ja A R m n. Muunnetaan tehtävä max x + 2x 2 + 3x 3 + x s. t. x + 3x 2 + 2x 3 + x 8 x + 2x 2 + 3x 3 + x = x, x 2, x, x 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. Yhtälörajoitteen perusteella nähdään, että x 3. Muutetaan ensin maksimointi minimoinniksi kertomalla luvulla ( ), jolloin saadaan min x 2x 2 3x 3 x. Käännetään sitten ensimmäisen rajoitteen epäyhtälö kertomalla luvulla ( ), jolloin x 3x 2 2x 3 x 8. Yhtälörajoite voidaan korvata kahdella epäyhtälörajoitteella x + 2x 2 + 3x 3 + x x 2x 2 3x 3 x. Lopuksi korvataan rajoittamaton muuttuja x 3 kahden ei-negatiivisen muuttujan erotuksella x 3 = x + 3 x 3, missä x + 3, x 3. Edellisten muutosten jälkeen optimointitehtävä saa muodon min x 2x 2 3x + 3 + 3x 3 x s. t. x 3x 2 2x + 3 + 2x 3 x 8 x + 2x 2 + 3x + 3 3x 3 + x x 2x 2 3x + 3 + 3x 3 x x, x 2, x + 3, x 3, x. Merkitään sitten x = (x, x 2, x + 3, x 3, x ) T, jolloin n = 5. Lisäksi m = 3. Pyydetyt vektorit ja matriisi ovat nyt 2 8 3 2 2 c = 3, b =, A = 2 3 3. 3 2 3 3

Tehtävä 2. Tarkastellaan ylimääriteltyä yhtälöryhmää x 2y = 5 x + y = 8 x + y = 5. Kertoimien perusteella saadaan matriisi A ja vektori b seuraavasti: 2 5 A = R 3 2 b = 8. 5 Yhtälöryhmä ratkaistaan minimoimalla residuaalia Ax b = r, toisin sanoen kohdefunktiona on min Ax b. a) Muodostetaan ensin optimointitehtävä -normia käyttäen. Merkitsemällä seuraavassa x = x ja x 2 = y saadaan min 3 2 x x 2 a ij x j b i = {}}{{}}{ x 2 y +5 + x + y 8 + x + y 5 i= j= s. t. x, y R. b) Muodostetaan sitten optimointitehtävä -normia käyttäen seuraavasti: min 2 max i=,2,3 j= a ij x j b i = min max{ x 2y + 5, x + y 8, x + y 5 } s. t. x, y R. Tehtävän linearisoimiseksi otetaan käyttöön apumuuttujat s + i = itseisarvon i sisällä olevan lausekkeen positiiviosa, i =, 2, 3 s i = itseisarvon i sisällä olevan lausekkeen negatiiviosa, i =, 2, 3. a) Normia käyttäen laadittu tehtävä muuttuu näiden avulla muotoon min s + + s + s + 2 + s 2 + s + 3 + s 3 s. t. x 2y + 5 = s + s x + y 8 = s + 2 s 2 x + y 5 = s + 3 s 3 s + i, s i, i =, 2, 3. Tehtävän numeeriseksi ratkaisuksi saadaan x = 2. ja y = 2.6. Kohdefunktion arvo on 2.2. Lisäksi s + = 2.2 ja s = s + 2 = s 2 = s + 3 = s 3 =. 2

b) Normia käyttäen laaditussa tehtävässä korvataan ensin itseisarvolausekkeet summilla, jolloin tehtävä saa muodon min max {s + + s, s + 2 + s 2, s + 3 + s 3 } s. t. x 2y + 5 = s + s x + y 8 = s + 2 s 2 x + y 5 = s + 3 s 3 s + i, s i, i =, 2, 3. Korvataan vielä kohdefunktio päätösmuuttujalla z ja lisätään uusia rajoiteita, jolloin tehtävä on linearisoitu muotoon min z s. t. z s + i + s i, i =, 2, 3 x 2y + 5 = s + s x + y 8 = s + 2 s 2 x + y 5 = s + 3 s 3 s + i, s i, i =, 2, 3. Tehtävän numeeriseksi ratkaisuksi saadaan x =.3 ja y = 2.6. Kohdefunktion arvo on.. Lisäksi z = s + = s + 2 = s 3 =. ja s = s 2 = s + 3 =. Tehtävä 3. Tarkastellaan optimointitehtävää max c T x s. t. Ax = b x. a) Väite: Optimointitehtävän sallittujen ratkaisujen joukko S := {x R n Ax = b, x } on konveksi. Todistus. Oletetaan, että x, x 2 S ja λ [, ], jolloin Ax = Ax 2 = b, missä x, x 2. Nyt ja A(λx + ( λ)x 2 ) = λax + ( λ)ax 2 = λb + ( λ)b = b }{{} λ }{{} x + ( λ) }{{} }{{} x 2 eli λx + ( λ)x 2 S. Tästä seuraa, että joukko S on konveksi. Huom! Täällä voitaisiin myös määritellä λ (, ) ja vast. yhtäsuuruudet pois ylläolevista yhtälöistä. 3

b) Oletus. Optimointitehtävällä on yksikäsitteinen ratkaisu pisteessä x. Väite: Piste x on kärkipiste. Todistus. Tehdään vastaoletus, että x ei ole kärkipiste. Silloin on olemassa x, x 2 S ja λ (, ) siten, että x x 2 ja x = λx + ( λ)x 2. Oletuksen nojalla c T x > cx kaikilla x S. Nyt c T x = c T (λx + ( λ)x 2 ) = λ c} T {{ x } +( λ) c} T {{ x 2 } <c T x <c T x < λc T x + ( λ)c T x = c T x, mikä on ristiriita. Siis vastaoletus on väärin ja väite oikein. Tehtävä. Simplex-algoritmissa käytetään merkintöjä B : = {i x i on kantamuuttuja} N : = {i x i ei ole kantamuuttuja}. Nyt x = x + λ x, missä x on Simplex-suunta eli, i = j N x i =, i N, i j, missä puolestaan j on uusi kantamuuttuja. Lisäksi A x = ja askelpituus { } x λ = min i x i <, i B. ( ) x i Olkoon jälleen S := {x R n Ax = b, x } optimointitehtävän sallittujen ratkaisujen joukko. Oletus: Piste x on edellisen tehtävän sallittu kantaratkaisu. Väite: Simplex-algoritmilla tuotettu uusi kärkipiste x on sallittu. Todistus. Oletuksen nojalla x S eli Ax = b, x. Väitteen osoittamiseksi on näytettävä, että x S. Ensinnäkin Ax = A(x + λ x) = Ax }{{ } =b +λ A x }{{} = b. = Toiseksi on vielä on osoitettava, että x. Tarkastellaan ensin tapausta, jossa kyseessä on ei-kantamuuttuja eli i N. Silloin x i = x i + }{{}}{{} λ x i ja x i kaikilla i N, josta seuraa x i kaikilla i N. Tarkastellaan sitten tapausta, jossa kyseessä on kantamuuttuja eli i B. Silloin x i = x i + λ x i > kaikilla i B, joilla x i. Jos i B siten, että x i <, niin x i = x i + λ }{{} x }{{} i ( ) x i + < x i x i x i = x i x i =. Tästä seuraa, että x S.

Tehtävä 5. Tarkastellaan seuraavaa Simplex-taulukkoa. x x 2 x 3 x min c 8 5 b A 3 2 3 7 N N B B Taulukon mukaan kanta B = {3, }, josta seuraa 3x 3 + x = 7 x = = x 3 = 2 x =. Nyt x = x 2 =, jolloin aloituspiste (ensimmäinen sallittu kantaratkaisu) x = (,, 2, ) T. Jos valitaan x kantaan, niin x = x 2 =, jolloin suunta x = (,, x 3, x ) T. Ratkaisemalla yhtälöpari A x 3 + 2 + 3 x 3 + x = = + + x 3 x = saadaan suunta x = (,, 3, ) T. Jos valitaan x 2 kantaan, niin x = x 2 =, = jolloin suunta x 2 = (,, x 3, x ) T. Ratkaisemalla yhtälöpari A x 2 3 + 2 + 3 x 3 + x = = + + x 3 x = saadaan suunta x 2 = (,,, ) T. Redusoidut kustannukset näissä kahdessa suunnassa ovat c = c T x = (8, 5,, ) 3 = 8 = > c 2 = c T x 2 = (8, 5,, ) = 5 + = < (parantava). = x 3 = 3 x =, x 3 = x =, (ei parantava, koska minimoidaan) 5

Kun kantaan on valittu x, niin suurin sallittu askelpituus ja seuraava kantaratkaisu ovat { 2 λ = min 3, = } (x poistuu kannasta) x = x + λ x = (,, 2, ) T + ( (,, 3, )T =,, 5 ) T,. Vastaavasti kun kantaan on valittu x 2, niin suurin sallittu askelpituus ja seuraava kantaratkaisu ovat { 2 λ 2 = min = 2 (x 3 poistuu kannasta) } x 2 = x + λ 2 x 2 = (,, 2, ) T + 2(,,, ) T = (, 2,, 3) T Kohdefunktion arvo aloituspisteessä on c T x = (8, 5,, ) 2 =. Valitsemalla kantaan x saadaan kohdefunktion arvoksi c T x = (8, 5,, ) 5 = 2. Jos taas valitaan kantaan x 2, niin kohdefunktion arvoksi tulee c T x 2 2 = (8, 5,, ) = 7. 3 Tehtävä 6. Valitaan päätösmuuttujiksi x = Mox (litraa) x 2 = Mux (litraa) jolloin optimointitehtäväksi saadaan max 3x + x 2 s. t. 7x + 3x 2 2 5x + x 2 7 x 2 3 x, x 2. 6

Simplex-algoritmia varten kirjoitetaan tehtävä ensin standardimuotoon. Kohdefunktio voidaan skaalata (jakamalla tuhannella). Otetaan käyttöön apumuuttujat x 3, x ja x 5. max 3x + x 2 s. t. 7x + 3x 2 + x 3 = 2 5x + x 2 + x = 7 x 2 + x 5 = 3 x, x 2, x 3, x, x 5. Ratkaistaan tehtävä Simplex-algoritmilla ja laaditaan taulukko algoritmin vaiheista. x x 2 x 3 x x 5 max c 3 b 7 3 2 A 5 7 3 t = N N B B B x 2 7 3 c T x = x : x 7 5 c = 3 x : x 2 3 c 2 = 2 7 3 ( 3) ( ) ( ) λ = 3 t = N B B B N x 3 5 5 c T x = 2 x : x 7 5 c = 3 x : x 5 3 c 2 = 5 5 ( 7) ( 5) λ = t = 2 B B B N N x 2 3 8 c T x = 5 x : x 5 7 5 c = 3 5 x : x 5 5 3 5 c 2 = 8 5 Vaiheessa t = 2 redusoidut kustannukset ovat negatiivisia molemmissa suunnissa. Koska kyseessä on maksimointitehtävä, kumpikaan suunta ei ole parantava. Eli lopetetaan algoritmi. Löydettiin maksimi, joka saavutetaan pisteessä x 2 = (, 3) T. Kohdefunktio saa arvon 5kJ. Kyseessä on globaali yksikäsitteinen maksimi. 7

Kun rahaa on käytettävissä kaksinkertainen määrä, tehtävä muuttuu muotoon max 3x + x 2 s. t. 7x + 3x 2 + x 3 = 8 5x + x 2 + x = 7 x 2 + x 5 = 3 x, x 2, x 3, x, x 5. Huomataan, että apumuuttuja x 3 kuuluu kantaan, kun Simplex-algoritmi pysähtyy edellä. Rahaa vastaava epäyhtälö ei siis ole aktiivinen. Toisin sanoen, raha ei ole rajoittava tekijä, vaan rajoittavia ovat Muxin saatavuus sekä lisäaineelle annettu maksimimäärä. Näin ollen, tehtävän ratkaisu ei muutu, vaikka rahaa olisi käytettävissä enemmän. Simplex-algoritmilla laskettaessa käytettyjä aputuloksia: Vaihe t = Valitsemalla kantaan x saadaan suunta x = (,, x 3, x, x 5 ) T, joka toteuttaa yhtälön (yhtälöryhmän) A x = 7 + 3 + x 3 = A x = 5 + + x = = x 3 = 7, x = 5, x 5 = + x 5 = Yhtälöryhmän ratkaisu antaa suunnan x = (,, 7, 5, ) T. Redusoitu kustannus on tällöin c = c T x = (3,,,, ) 7 = 3. 5 Jos kantaan valitaan x 2, niin saadaan suunta joka toteuttaa yhtälöryhmän 7 + 3 + x 3 = A x = 5 + + x = + x 5 = x = (,, x 3, x, x 5 ) T, = x 3 = 3, x =, x 5 = Ratkaisemisen jälkeen suunta x = (,, 3,, ) T. Redusoitu kustannus on tällöin c 2 = c T x = (3,,,, ) 3 = 8

Valitaan kantaan x 2. Tällöin λ = min { 2 poistuu kannasta. Seuraava kantaratkaisu on, 7, 3 ( 3) ( ) ( )} = 3 ja apumuuttuja x5 x = x + λ x = (,, 2, 7, 3) T + 3 (,, 3,, ) T = (, 3, 5, 5, ) T. Vaiheet t = ja t = 2 lasketaan samaan tapaan. Algoritmi päättyy, kun parantavia suuntia ei enää löydy. 9