Harjoitus 6 ( )

Samankaltaiset tiedostot
Harjoitus 6 ( )

Malliratkaisut Demot

Harjoitus 3 ( )

Harjoitus 3 ( )

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

Malliratkaisut Demot

KKT: log p i v 1 + v 2 x i = 0, i = 1,...,n.

Malliratkaisut Demot

Malliratkaisut Demot

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

Malliratkaisut Demot

Mat Lineaarinen ohjelmointi

Harjoitus 1 ( )

Malliratkaisut Demot 6,

Luento 9: Yhtälörajoitukset optimoinnissa

Harjoitus 5 ( )

Harjoitus 5 ( )

Malliratkaisut Demo 1

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

Malliratkaisut Demot

Mat Lineaarinen ohjelmointi

Malliratkaisut Demo 4

Mat Lineaarinen ohjelmointi

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

min x x2 2 x 1 + x 2 1 = 0 (1) 2x1 1, h = f = 4x 2 2x1 + v = 0 4x 2 + v = 0 min x x3 2 x1 = ± v/3 = ±a x 2 = ± v/3 = ±a, a > 0 0 6x 2

Harjoitus 1 ( )

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!

Malliratkaisut Demot

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

Piiri K 1 K 2 K 3 K 4 R R

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

Kokonaislukuoptimointi

Luento 4: Lineaarisen tehtävän duaali

Malliratkaisut Demot

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

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

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

Demo 1: Branch & Bound

1 Rajoitettu optimointi I

Johdatus verkkoteoriaan 4. luento

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

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Lineaarinen optimointitehtävä

Keskeiset tulokset heikko duaalisuus (duaaliaukko, 6.2.1) vahva duaalisuus (6.2.4) satulapisteominaisuus (6.2.5) yhteys KKT ehtoihin (6.2.

Luento 7: Kokonaislukuoptimointi

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

Kimppu-suodatus-menetelmä

Harjoitus 7: vastausvihjeet

Luento 7: Kokonaislukuoptimointi

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

Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita.

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

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

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

Malliratkaisut Demo 4

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

TIEA382 Lineaarinen ja diskreetti optimointi

Matematiikan peruskurssi (MATY020) Harjoitus 10 to

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

Harjoitus 2 ( )

Este- ja sakkofunktiomenetelmät

Algebra I, harjoitus 5,

1 Rajoittamaton optimointi

Algoritmit 2. Luento 11 Ti Timo Männikkö

1. Etsi seuraavien funktioiden kriittiset pisteet ja tutki niiden laatu: (a.) f(x,y) = 20x 2 +10xy +5y 2 (b.) f(x,y) = 4x 2 2y 2 xy +x+2y +100

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

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

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

Matemaattisen analyysin tukikurssi

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Harjoitus 4 ( )

Malliratkaisut Demot

Datatähti 2019 loppu

Demo 1: Simplex-menetelmä

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

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

Matematiikan tukikurssi, kurssikerta 3

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

Harjoitus 2 ( )

1 Määrittelyjä ja aputuloksia

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2018

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Kokonaislukuoptimointi hissiryhmän ohjauksessa

Harjoitus 4: Matlab - Optimization Toolbox

1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot

Luento 2: Optimointitehtävän graafinen ratkaiseminen. LP-malli.

Stabilointi. Marja Hassinen. p.1/48

Algoritmit 2. Luento 6 To Timo Männikkö

Kombinatorinen optimointi

Matematiikan tukikurssi

Algoritmit 2. Luento 13 Ti Timo Männikkö

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

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

Trimmitysongelman LP-relaksaation ratkaiseminen sarakkeita generoivalla algoritmilla ja brute-force-menetelmällä

x j x k Tällöin L j (x k ) = 0, kun k j, ja L j (x j ) = 1. Alkuperäiselle interpolaatio-ongelmalle saadaan nyt ratkaisu

Ratkaisuehdotukset LH 7 / vko 47

Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja

Transkriptio:

Harjoitus 6 (30.4.2014) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on max θ(u,v) s.t. u 0, (2) missä θ(u,v) = inf x X {f(x)+ut g(x)+v T h(x)}. (3) Tarkastellaan ensin optimointitehtävää min c T x s.t. Ax = b x 0. (4) Tämä on muotoa (1) oleva tehtävä, jossa f(x) = c T x h(x) = b Ax X = {x R n x 0}. Nyt määritelmän (3) ja vektorien x X alkioiden ei-negatiivisuuden nojalla saadaan θ(v) = inf x X {ct x+v T (b Ax)} = inf x X {vt b+(c T v T A)x} v T b, kun c T v T A 0 eli A T v c =, kun c T v T A 0. (5) Koska tehtävässä (4) ei ole epäyhtälörajoitteita, duaalitehtävän kohdefunktio ei riipu muuttujasta u. Ylläolevan nojalla asetamme duaalitehtävälle rajoitteen A T v c, koska jos tämä ehto ei ole voimassa niin θ(v) = eikä v siis voi olla duaalitehtävän ratkaisu. Sijoittamalla yllä saatu funktion θ lauseke sekä rajoite A T v c duaalitehtävään (2) saadaan vaadittua muotoa max v T b s.t. A T v c 1

oleva optimointitehtävä. Tarkastellaan sitten optimointitehtävää min c T x s.t. Ax b x 0. Tämä on muotoa (1) oleva tehtävä, jossa f(x) = c T x g(x) = b Ax X = {x R n x 0}. Samoin perusteluin kuin johdettaessa lauseketta (5) saamme duaalitehtävän kohdefunktioksi θ(u) = u T b (erona on että nyt kohdefunktio riippuu vain epäyhtälörajoitetta vastaavasta duaalimuuttujasta u). Sijoittamalla funktion θ lauseke duaalitehtävään (2) ja ottamalla huomioon että epäyhtälörajoitetta vastaavan duaalimuuttujan u on oltava einegatiivinen saadaan vaadittua muotoa max u T b s.t. A T u c u 0 oleva optimointitehtävä. Tehtävä 2 Tarkastellaan optimointitehtävää min 3x 11 +6x 12 +5x 21 +2x 22 +250y 1 +300y 2 s.t. 30x 11 +20x 12 50y 1 30x 21 +20x 22 50y 2 x 11 +x 21 = 1 (6) x 12 +x 22 = 1 y i {0,1}. Suoritetaan ensin täydellinen luettelointi seuraavan taulukon mukaisesti: y 1 y 2 x 11 x 12 x 21 x 22 f 0 0 0 1 0 0 1 1 307 1 0 1 1 0 0 259 1 1 1 0 0 1 555 2

Taulukossa on kullakin muuttujien y 1 ja y 2 sallitulla yhdistelmällä ratkaistu optimaaliset x-muuttujat sekä laskettu kohdefunktion arvo. Taulukossa olevat viivat tarkoittavat, ettei sallittua ratkaisua ole olemassa. Tehtävän optimiratkaisu on siis x 11 = x 12 = 1 x 21 = x 22 = 0 y 1 = 1, y 2 = 0, ja kohdefunktio saa tällöin arvon 259. Sovelletaan Lagrangen relaksaatiota dualisoimalla kolmas ja neljäs rajoite. Tällöin saadaan tehtävä min 3x 11 +6x 12 +5x 21 +2x 22 +250y 1 +300y 2 + v 1 (1 x 11 x 21 )+v 2 (1 x 12 x 22 ) s.t. 30x 11 +20x 12 50y 1 30x 21 +20x 22 50y 2 y i {0,1}. (7) Relaksoitu tehtävä on helpompi ratkaista, sillä rajoituksia on vähemmän ja jokainen muuttuja esiintyy tarkalleen yhdessä rajoitteessa. Tehtävä voidaan nyt jakaa kahdeksi riippumattomaksi osatehtäväksi, joista ensimmäisessä on muuttujat x 11, x 12 ja y 1 ja toisessa muuttujat x 21, x 22 ja y 2. Osatehtävät ovat min (3 v 1 )x 11 +(6 v 2 )x 12 +250y 1 s.t. 30x 11 +20x 12 50y 1 y 1 {0,1} ja min (5 v 1 )x 21 +(2 v 2 )x 22 +300y 2 s.t. 30x 21 +20x 22 50y 2 y 2 {0,1}. Ratkaisemalla osatehtävät tehtäväpaperissa annetuilla muuttujien v 1 ja v 2 arvoilla saamme optimaaliset x-muuttujien arvot sekä vastaavat tehtävän (7) kohdefunktion arvot v 1 v 2 x 11 x 12 x 21 x 22 y 1 y 2 f 0 0 0 0 0 0 0 0 0 100 100 0 0 0 0 0 0 200 153 106 1 1 0 0 1 0 259 3

Havaitsemme että relaksoidun tehtävän (7) optimiratkaisun kohdefunktion arvo antaa alarajan alkuperäisen optimointitehtävän (6) kohdefunktion optimiarvolle. Tiukin alaraja saadaan ylläolevan taulukon suurimmasta kohdefunktion arvosta. Tämä alaraja on 259, joka on sama kuin alkuperäisen tehtävän (6) kohdefunktion optimiarvo. Tavallisella relaksaatiolla (jossa korvataanrajoitteet y i {0,1}rajoitteilla 0 y i 1) saadaan x 11 = x 12 = y 1 = 1 ja x 21 = x 22 = y 2 = 0. Tällöin kohdefunktion arvoksi tulee 259, eli sattumalta saamme saman ratkaisun kuin täydellisellä luetteloinnilla sekä Lagrangen relaksaatiolla. Tehtävä 3 Ratkaistaan harjoitusten 2 tehtävän 5 selkäreppuformulaatio (joka tehtiin harjoitusten 4 tehtävässä 2) Branch and Bound -menetelmällä. Kyseinen optimointitehtävä oli max 40x 1 +15x 2 +20x 3 +10x 4 s.t. 4x 1 +2x 2 +3x 3 +x 4 7 x 1,x 2,x 3,x 4 {0,1}. Relaksoidaan tehtävä ensin muuttamalla päätösmuuttujat binäärisistä jatkuviksi. Toisin sanoen, korvaamme neljä viimeistä rajoitetta rajoitteilla 0 x i 1, i = 1,2,...,4. Alkusolmuksi 0 valitaan relaksoidun tehtävän optimiratkaisu joka on (1, 1, 0, 1) optimiarvolla 65, eli valitaan x (0) = (1,1,0,1) ṽ = 65 ˆv =. Havaitsemme, että ratkaisussa on vain kokonaislukuja, joten alkusolmu on loppuunkäsitelty. Koska käsiteltäviä haaroja ei ole, päättyy branch and bound -algoritmin suoritus jo alkusolmuun. Koska relaksoidusta tehtävästä saatu ratkaisu on myös alkuperäisen tehtävän sallittu ratkaisu, olemme ratkaisseet alkuperäisen tehtävän. Tehtävä 4 Ratkaistaan Branch and Bound -menetelmällä tehtävä max 3x 1 +3x 2 +13x 3 s.t. 3x 1 +6x 2 +7x 3 8 (8) 6x 1 3x 2 +7x 3 8 x i {0,1,2,...}. Koska tässä tehtävässä on binääristen rajoitteiden sijaan kokonaislukurajoitteet, ei luentomonisteessa esitetty branch and bound -menetelmä ole sellaisenaan sovellettavissa. Kokonaislukutehtäville soveltuvan menetelmän saamme muuttamalla haarautumisehtoja. Muunnetussa menetelmässä kunkin solmun t vasempaan alipuuhun tulee rajoite 4

x p x (t) p ja oikeaan alipuuhun rajoite x p x (t) p +1, missä p on solmun t ratkaisuvektorin x (t) käsiteltäväksi valittavanei-kokonaislukukomponentin indeksi ja x (t) p tarkoittaa alaspäin pyöristystä. Käytetään syvyyshakua. Toisin sanoen, kullakin askeleella valitaan tutkittavaksi solmuksi se joka on käsittelemättömistä solmuista syvimmällä puussa. Haarautumista lukuunottamatta algoritmi on sama kuin luentomonisteessa esitetty algoritmi 4.10. Algoritmin toimintaa esittävä puu on piirretty kuvaan 1, ja siinä olevat merkinnät ovat samat kuin luentomonisteessa. Käsiteltäväksi valittava vektorin x (t) komponentti kussakin solmussa t on alleviivattu. Tehtävän ratkaisu saadaan solmusta 8, ja se on x (8) = (0,0,1) ṽ = 13. Selkeyden vuoksi kaikkia algoritmin läpikäymiä alipuita ei ole piirretty kuvaan 1: Puusta puuttuu solmun 0 alipuu joka vastaa vektorin x (0) toista komponenttia. Tämän alipuun paras ratkaisu on sama kuin solmussa 8 saatu. Solmusta 5 on valittu käsiteltäväksi alipuu joka vastaa vektorin x (5) toista komponenttia. Ensimmäistä komponenttia vastaavaa alipuuta ei ole piirretty näkyviin. Tämän alipuun paras ratkaisu on sama kuin solmussa 8 saatu. Jotta varmistumme siitä että solmussa 8 saatu ratkaisu on optimaalinen, on kaikki alipuut tietenkin käytävä läpi. Algoritmin toimintaperiaate selvinnee kuitenkin kuvan 1 puusta. Periaatteessa branch and bound -algoritmin toimintaa voi tehostaa pyöristämällä kussakin käsiteltävässä solmussa t relaksaatiosta saadun ratkaisun x (t) komponentit alaspäin lähimpiin kokonaislukuarvoihin. Jos pyöristetystä ratkaisusta käytetään merkintää x (t), niin pyöristyksiä käyttävä menetelmä eroaa luentomonisteen algoritmissa 4.10. esitetystä menetelmästä kahdella tavalla: Askeleella 4 verrataan pyöristetyllä ratkaisulla x (t) laskettua kohdefunktion arvoa parhaaseen tunnettuun kohdefunktion arvoon ˆv. Koska x (t) onkussakin solmussa t sallittu, voidaan parasta tunnettua kohdefunktion arvoa ˆv päivittää myös välisolmuissa eikä vain päätesolmuissa kuten alkuperäisessä algoritmissa (ks. luentomonisteen kuva 43). Usein pyöristysten käyttö antaa parempia rajoja kohdefunktion optimiarvolle, mutta ainakaan tässä tehtävässä siitä ei ole merkittävää hyötyä. Pyöristyksiä käyttävän algoritmin etenemispuuta ei ole piirretty tähän. Tehtävä 5 Sorvin alustusajat ovat epäsymmetriset. Jotta aloitusajat saadaan mukaan, lisätään taulukkoon tuote 0, jolloin taulukoksi tulee 5

0 1 2 5 3 4 6 11 7 10 8 9 Kuva 1: Optimointitehtävän (8) ratkaisu branch and bound-menetelmällä. 6

c ij 0 1 2 3 4 5 0 3 4 7 8 5 1 0 7 12 10 9 2 0 6 10 14 11 3 0 10 11 12 10 4 0 7 8 15 7 5 0 12 9 8 16 Ajatellaan tehtävää kuuden kaupungin epäsymmetrisenä kauppamatkustajaongelmana. Lähdetään liikkeelle reitistä 0 5 4 3 2 1 0, jolloin reitin pituus (tai pikemminkin kesto) on 53 minuuttia. Etsitään lokaali optimi parittaisilla vaihdoilla, joita tarvitaan n n 1 = 6 5 2 2 = 15 kappaletta. Tuloksista saadaan seuraava taulukko: 1 vaihdetut reitti vaihdon jälkeen pituus (1,2) 5 0 4 3 2 1 49 (1,3) 4 5 0 3 2 1 41 (1,4) 3 5 4 0 2 1 48 (1,5) 2 5 4 3 0 1 52 (1,6) 1 5 4 3 2 0 54 (2,3) 0 4 5 3 2 1 40 (2,4) 0 3 4 5 2 1 41 (2,5) 0 2 4 3 5 1 55 (2,6) 0 1 4 3 2 5 50 (3,4) 0 5 3 4 2 1 39 (3,5) 0 5 2 3 4 1 43 (3,6) 0 5 1 3 2 4 54 (4,5) 0 5 4 2 3 1 49 (4,6) 0 5 4 1 2 3 46 (5,6) 0 5 4 3 1 2 53 Ylläolevassa taulukossa vaihdot on tehty alkuperäiseen reittiin 0 5 4 3 2 1 0. Vaihdetut alkiot on selkeyden vuoksi alleviivattu. Tulos 39 minuuttia ei enää parane vaihdoilla, joten se on lokaali optimi. Yllä saatu optimi ei tietenkään ole paras mahdollinen, koska parittaiset vaihdot kattavat vain pienen osan koko hakuavaruudesta. Paras reitti eli globaali optimi 0 2 1 4 5 3 0 saadaan käymällä kaikki sallitut kombinaatiot läpi, jolloin reitin pituus on 4+6+10+7+8+0 = 35 minuuttia. 1 Taulukon merkinnät tarkoittavat suljettuja reittejä joissa oikeanpuolimmaisesta alkiosta palataan vasemmanpuolimmaiseen. Esimerkiksi rivin 1 reitti kulkee alkiosta 1 alkioon 5. 7