Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla
|
|
- Ilona Siitonen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Aalto-yliopisto Perustieteiden korkeakoulu Teknillisen fysiikan ja matematiikan tutkinto-ohjelma Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla kandidaatintyö Juho Andelmin Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki oikeudet pidätetään.
2 AALTO-YLIOPISTO PERUSTIETEIDEN KORKEAKOULU PL 11000, Aalto KANDIDAATINTYÖN TIIVISTELMÄ Tekijä: Juho Andelmin Työn nimi: Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla Tutkinto-ohjelma: Teknillisen fysiikan ja matematiikan tutkinto-ohjelma Pääaine: Systeemitieteet Vastuuopettaja: Prof. Raimo P. Hämäläinen Työn ohjaaja: TkT Juuso Liesiö Tiivistelmä: Pääaineen koodi: F3010 Lineaarisessa monitavoiteoptimointitehtävässä (MOLP, Multiple Objective Linear Programming) on useita lineaarisia kohdefunktioita, joita optimoidaan lineaaristen yhtälö- ja epäyhtälörajoitteiden vallitessa. MOLP-tehtävällä ei tavallisesti ole yksikäsitteistä optimiratkaisua, joka optimoisi kaikki kohdefunktiot samanaikaisesti. Sen sijaan tehtävän ratkaisujoukko koostuu tehokkaista pisteistä, eli niistä käyvistä päätösavaruuden pisteistä (päätösmuuttujien arvoista), joista siirtyminen mihin tahansa toiseen käypään pisteeseen huonontaa vähintään yhden kohdefunktion arvoa. Tunnetuin algoritmi tehokkaiden pisteiden tunnistamiseen on päätösavaruudessa operoiva monitavoite-simplex, jonka laskenta-aika kasvaa eksponentiaalisesti päätösmuuttujien lukumäärän suhteen. Tässä työssä tarkastellaan Bensonin algoritmia, joka ratkaisee MOLP-tehtävät suoraan tavoiteavaruudessa päätösavaruuden sijaan. Algoritmin soveltuvuutta käytännön ongelmiin tutkitaan resurssien allokointitehtävän avulla. Resurssien allokointitehtävässä käytetään hyväksi tehokkuusanalyysiä (DEA, Data Envelopment Analysis), jonka pohjalta muodostetaan kaksi MOLP-tehtävää erilaisilla oletuksilla. Lisäksi Bensonin algoritmin tuloksia verrataan monitavoite-simplexillä saatuihin tuloksiin. Tulosten perusteella Bensonin algoritmi ratkaisee molemmat resurssien allokointitehtävät alle kymmenessä sekunnissa, kun taas monitavoite-simplexillä ensimmäisen tehtävän ratkaisemiseen kuluu useita päiviä ja toinen osoittautuu liian suureksi ratkaistavaksi järkevässä ajassa. Käytännön ongelmissa kohdefunktioita on usein huomattavasti vähemmän kuin päätösmuuttujia, jolloin myös tavoiteavaruuden dimensio on merkittävästi pienempi kuin päätösavaruuden dimensio. Näin ollen Bensonin algoritmi vaikuttaa erittäin lupaavalta vaihtoehdolta sovelluksissa vastaantulevien MOLP-tehtävien ratkaisemiseen. Päivämäärä: Kieli: suomi Sivumäärä: 25 Avainsanat: optimointi, monitavoiteoptimointi, lineaarinen, Benson, MOLP, tehokkuusanalyysi, DEA, resurssien allokointi
3 Sisältö 1 Johdanto 1 2 Lineaarinen monitavoiteoptimointi Lineaarinen monitavoiteoptimointitehtävä MOLP-tehtävän skalarisointi Bensonin algoritmi MOLP-tehtävien ratkaisemiseen tavoiteavaruudessa Päätösavaruudessa ratkaisemisen haasteet Bensonin algoritmi Bensonin algoritmin testaaminen Numeerinen esimerkki Sovellus: Resurssien tehokas allokointi Allokointi yksiköiden suhteellisella skaalauksella Allokointi yksiköiden muuttumattomilla tehokkuuksilla 20 5 Yhteenveto 23
4 Lista käytetyistä merkeistä ja lyhennyksistä Λ P X X E Sallittujen painovektorien joukko Laajennettu kuvajoukko P = P (X ) + R p Päätösavaruuden käypä joukko R p > {y R p : y > 0} R p {y R p : y 0} bdp conv(s) intp P R p n P (X ) P (X E ) x R n y I DEA LP MOLP Päätösavaruuden käyvän joukon tehokkaat pisteet Joukon P reunapisteet Joukon S konveksi peite Joukon P sisäpisteet MOLP-tehtävän kohdefunktioiden kerroinmatriisi Tavoiteavaruuden käypä joukko Tavoiteavaruuden käyvän joukon ei-dominoidut pisteet Päätösmuuttujien vektori MOLP-tehtävän ideaalipiste Data Envelopment Analysis, tehokkuusanalyysi Linear Programming, lineaarinen optimointi Multiple Objective Linear Programming, lineaarinen monitavoiteoptimointi
5 1 Johdanto Lineaarinen monitavoiteoptimointi (MOLP, Multiple Objective Linear Programming) on kahden tai useamman lineaarisen kohdefunktion samanaikaista optimointia lineaaristen yhtälö- ja epäyhtälörajoitteiden määräämässä käyvässä alueessa. Lineaariset rajoitteet muodostuvat MOLP-tehtävän päätösmuuttujille asetetuista ehdoista. MOLP-tehtävissä on tavallisesti erilaisia tai jopa ristiriitaisia tavoitteita; esimerkiksi syöpäkasvaimen sädehoidon lineaarisessa optimointimallissa pyritään maksimoimaan kasvaimeen kohdistettua säteilyannosta ja toisaalta minimoimaan terveeseen kudokseen ja kriittisiin elimiin osuvan säteilyn määrää (Ehrgott, 2005). MOLP-tehtävälle ei tavallisesti löydy yksikäsitteistä optimiratkaisua, missä jokainen kohdefunktio saavuttaisi optimiarvonsa. Optimiratkaisun sijasta MOLP-tehtävän ratkaisujoukko koostuu tehokkaista eli Pareto-optimaalisista pisteistä. Nämä ovat päätösavaruuden käypiä pisteitä (eli päätösmuuttujien arvoja), joista siirtyminen mihin tahansa toiseen käypään pisteeseen huonontaa vähintään yhden kohdefunktion arvoa. MOLP-tehtävä saadaan ratkaistua laskemalla tehokkaat pisteet ja esittämällä ne päätöksentekijälle (DM, Decision Maker), joka valitsee lopullisen ratkaisun preferenssiensä perusteella (Benson, 1998). MOLP-tehtävien tehokkaiden pisteiden laskemisessa käytetyt metodit perustuvat pääosin yhden kohdefunktion lineaaristen optimointitehtävien ratkaisemiseen kehitettyyn Simplex-algoritmiin, jonka laskenta-aika on pahimmassa tapauksessa eksponentiaalinen (Ehrgott and Wiecek, 2005). Lisäksi tehokkaiden pisteiden lukumäärä kasvaa eksponentiaalisesti tehtävän koon mukaan (Steuer, 1986), joten monitavoitteiset Simplex-algoritmit muuttuvat tehottomiksi isoissa tehtävissä. Tämä on motivoinut tutkijoita kehittämään vaihtoehtoisia lähestymistapoja suurten MOLP-tehtävien ratkaisemiseksi. Benson (1998) esittää artikkelissaan algoritmin MOLP-tehtävien ratkaisemiseen tavoiteavaruudessa päätösavaruuden sijaan. Tavoiteavaruuden dimensio on käytännön sovelluksissa usein huomattavasti pienempi kuin päätösavaruuden dimensio; tällöin voidaan olettaa, että tehtävän ratkaiseminen tavoiteavaruudessa ei ole yhtä työlästä verrattuna päätösavaruudessa ratkaisemiseen. On myös todettu, että päätöksentekijä valitsee tehtävän ratkaisun usein mieluummin tavoitearvojen kuin niihin johtaneiden päätösten perusteella (Benson and Sayin, 1997).
6 2 Tässä työssä esitetään Bensonin algoritmin toimintaperiaate MOLP-tehtävien ratkaisemiseen tavoiteavaruudessa. Lisäksi tutkitaan Bensonin algoritmin tehokkuutta ja soveltuvuutta käytännön ongelmiin, ja verrataan tuloksia monitavoite-simplexillä saatuihin tuloksiin. Kappaleessa 2 tutustutaan lineaarisen monitavoiteoptimoinnin käsitteisiin ja MOLP-tehtävien ratkaisujen karakterisointiin. Kappaleessa 3 pohditaan päätösavaruudessa ratkaisemisen haasteita, sekä esitetään Bensonin algoritmi tehtävien ratkaisemiseen tavoiteavaruudessa. Kappaleessa 4 tutkitaan Bensonin algoritmin tehokkuutta ensin numeerisella esimerkillä ja tämän jälkeen käytännön sovelluksessa, sekä verrataan tuloksia monitavoite-simplexillä saatuihin tuloksiin. Yhteenveto työstä on esitetty kappaleessa 5. 2 Lineaarinen monitavoiteoptimointi 2.1 Lineaarinen monitavoiteoptimointitehtävä MOLP-tehtävä voidaan esittää optimointitehtävänä, missä tavoitteena on minimoida p lineaarista kohdefunktiota P i : R n R, i = 1... p, lineaaristen rajoitusehtojen määrittelemässä alueessa X = {x R n : Ax = b, x 0}, missä A R m n, b R m ja tavoitevektorit P i muodostavat kohdefunktioiden kerroinmatriisin P R p n rivit. Vektorin x R n alkioita kutsutaan päätösmuuttujiksi. MOLP-tehtävä on tällöin muotoa v-min x X P (X ), X = {x Rn : Ax = b, x 0}, (1) missä P (X ) = {P x : x X } on tehtävän tavoiteavaruuden käypä joukko ja X = {x R n : Ax = b, x 0} muodostaa päätösavaruuden käyvän joukon; molemmat X ja P (X ) ovat konvekseja ja suljettuja (Ehrgott, 2005). Tehtävällä (1) ei tavallisesti ole yksikäsitteistä optimiratkaisua, vaan sen sijasta tehtävän ratkaisujoukko koostuu päätösavaruuden käyvän alueen tehokkaista pisteistä X E, joita kutsutaan myös Pareto-optimaalisiksi pisteiksi. Määritelmä 1. Piste ˆx X on tehokas, jos ei ole olemassa x X siten, että P x P ˆx ja P x P ˆx; tällöin merkitään ˆx X E. Tehokkaat pisteet ovat optimaalisia siinä mielessä, että siirtyminen tehokkaasta pisteestä mihin tahansa toiseen käypään pisteeseen huonontaa vähintään yhden kohdefunktion arvoa.
7 3 Vastaavasti määritellään tehtävän tavoiteavaruuden käyvän alueen tehokkaat pisteet, joita kutsutaan yleisemmin ei-dominoiduiksi pisteiksi. Määritelmä 2. Piste ŷ P (X ) on ei-dominoitu, jos ei ole olemassa y P (X ) siten, että y ŷ ja y ŷ; tällöin merkitään ŷ P (X E ). Tehokkaiden pisteiden joukko X E muodostaa tehtävän (1) mahdolliset ratkaisut päätösavaruudessa. Tavoitteena on tavallisesti ratkaista kaikki tehokkaat pisteet ja esittää ne päätöksentekijälle, joka valitsee lopullisen ratkaisun preferenssiensä perusteella. Ei-dominoidut pisteet saadaan tällöin laskettua suoraan tehokkaista pisteistä: P (X E ) = {P x : x X E }. Vaihtoehtoisesti voidaan laskea ei-dominoitujen pisteiden joukko P (X E ) suoraan tavoiteavaruudessa ja esittää se päätöksentekijälle tehokkaan joukon X E sijasta. Lisäksi voidaan määritellä heikosti tehokkaat pisteet X W E ja näitä vastaavat heikosti ei-dominoidut pisteet P (X W E ). Määritelmä 3. Piste ˆx X on heikosti tehokas, jos ei ole olemassa x X siten, että P x < P ˆx; tällöin merkitään ˆx X W E ja vastaava tavoiteavaruuden piste ŷ = P ˆx P (X W E ) on heikosti ei-dominoitu. Määritelmien perusteella kaikki tehokkaat pisteet ovat myös heikosti tehokkaita. Käytännössä ollaan kiinnostuneita tehokkaista pisteistä, mutta heikosti tehokkaiden pisteiden avulla voidaan karakterisoida monitavoiteoptimointitehtävien ratkaisuja. Erityisesti jos jokin ehto pätee heikosti tehokkaille pisteille X W E, pätee se myös tehokkaille pisteille X E, sillä X E X W E. Vastaavanlainen yhteys on myös heikosti ei-dominoitujen pisteiden ja eidominoitujen pisteiden välillä. 2.2 MOLP-tehtävän skalarisointi Monitavoiteoptimointitehtävä voidaan skalarisoida yhden kohdefunktion optimointitehtäväksi, jonka ratkaisulla on yhteys alkuperäiseen tehtävään. Tästä on usein hyötyä, sillä skalarisoitujen tehtävien avulla voidaan esimerkiksi karakterisoida tai laskea alkuperäisen tehtävän ratkaisuja. MOLP-tehtävä (1) voidaan muuttaa yhden kohdefunktion LP-tehtäväksi (Linear Programming) painottamalla kohdefunktioita ei-negatiivisella painovektorilla λ R p, λ 0 ja minimoimalla niiden summaa, jolloin saadaan skalarisoitu LP-tehtävä min x X λt P x, X = {x R n : Ax = b, x 0}. (2)
8 4 Painovektori λ voidaan normalisoida määrittelemällä p i=1 λ i = 1. Jos jokin painoista λ i = 0, ei vastaavalla kohdefunktiolla P i ole vaikutusta lopputulokseen; tämän takia onkin usein tarpeellista olettaa kaikkien painojen olevan positiivisia. Seuraava lause yhdistää MOLP-tehtävän (1) tehokkaan pisteen ja skalarisoidun LP-tehtävän (2) optimiratkaisun. Lause 1. (Isermann, 1974) Piste ˆx X on tehokas ratkaisu tehtävälle (1) jos ja vain jos on olemassa λ R p > siten, että λ T P ˆx λ T P x, x X. (3) Lauseen 1 perusteella jokaisella MOLP-tehtävän (1) tehokkaalla pisteellä ˆx X E on olemassa positiivinen painovektori λ R p >, joka vastaa skalarisoidun LP-tehtävän (2) optimiratkaisua. MOLP-tehtävän ratkaisuja voidaan täten laskea generoimalla positiivisia painovektoreita λ R p > ja ratkaisemalla niitä vastaavat tehtävän (2) optimiratkaisut. Muodostetaan tehtävän (2) duaali: max u U bt u, U = {u R m : A T u P T λ}. (4) Vahvan duaalisuuden perusteella tehtävien (2) ja (4) optimiratkaisut yhtyvät, mikäli kyseiset ratkaisut ovat olemassa. Toinen tapa skalarisoida MOLP-tehtävä (1) on määritellä kohdefunktioille P i, i = 1,..., p yhteinen referenssimuuttuja z R ja kiinnittää piste y R p siten, että P 1 x y 1 + z P 2 x y 2 + z... P p x y p + z. (5) Määrittelemällä vektori e = (1,..., 1) T R p saadaan (5) kirjoitettua muotoon P x y + ez. Minimoimalla referenssimuuttujan z arvoa saadaan jokaiselle y R p skalarisoitu LP-tehtävä (P 2 (y)) (Löhne, 2011). (P 2 (y)) min (x,z) S z, S = {(x, z) R n R : Ax = b, P x ez y, x 0}.
9 5 Tehtävän duaaliksi saadaan (D 2 (y)). (D 2 (y)) max (u,λ) T bt u y T λ, T = {(u, λ) R m R p : A T u P T λ, e T λ = 1, λ 0}. Seuraava lause muodostaa yhteyden tehtävän (1) heikosti tehokkaiden pisteiden X W E ja skalarisoidun LP-tehtävän (P 2 (y)) optimiratkaisujen välille. Lause 2. (Löhne, 2011) Piste ˆx X on heikosti tehokas jos ja vain jos on olemassa y R p siten, että (ˆx, 0) on optimiratkaisu tehtävälle (P 2 (y)). Lause 3 yhdistää tehtävän (1) heikosti ei-dominoidut pisteet P (X W E ) ja tehtävän (P 2 (y)) optimiratkaisut. Lause 3. (Löhne, 2011) Piste ŷ P (X ) on heikosti ei-dominoitu jos ja vain jos on olemassa x R n siten, että (x, 0) on optimiratkaisu tehtävälle (P 2 (ŷ)). Vahvan duaalisuuden perusteella tehtävien (P 2 (y)) ja (D 2 (y)) optimiratkaisut yhtyvät, mikäli ne ovat olemassa: jos piste ŷ on heikosti ei-dominoitu, saadaan tehtävän (D 2 (ŷ)) optimiratkaisuksi b T u = ŷ T λ. Lauseiden 2 ja 3 perusteella voidaan päätellä, että heikosti ei-dominoidulle pisteelle ŷ P (X W E ) saadaan tehtävän (P 2 (ŷ)) optimiratkaisuna heikosti tehokas piste ˆx X W E siten, että ŷ = P ˆx. Luonnollisesti tämä pätee myös tehokkaille ja ei-dominoiduille pisteille, sillä X E X W E ja P (X E ) P (X W E ). Tästä on hyötyä, jos ratkaistaan MOLP-tehtäviä suoraan tavoiteavaruudessa ja ollaan kiinnostuneita päätösmuuttujien arvoista; tehtävän (P 2 (y)) avulla saadaan laskettua ei-dominoituja pisteitä P (X E ) vastaavat tehokkaat pisteet X E. 3 Bensonin algoritmi MOLP-tehtävien ratkaisemiseen tavoiteavaruudessa 3.1 Päätösavaruudessa ratkaisemisen haasteet Lineaarinen monitavoiteoptimointitehtävä (1) voidaan ratkaista päätösavaruudessa laskemalla tehokkaiden pisteiden joukko X E ja esittämällä se päätöksentekijälle, joka valitsee parhaan vaihtoehdon preferenssiensä perusteella.
10 6 Käytännössä X E kasvaa usein kuitenkin niin suureksi, että päätöksentekijän on vaikea valita mieleisensä ratkaisu tehokkaiden pisteiden joukosta. On myös havaittu, että päätöksentekijä valitsee tehtävän ratkaisun mieluummin tavoitearvojen kuin niihin johtaneiden päätösten perusteella (Benson and Sayin, 1997). Tarvittaessa ei-dominoidut tavoitearvot saadaan laskettua suoraan tehokkaista pisteistä: P (X E ) = {P ˆx : ˆx X E }. Päätösavaruudessa ratkaisemisen suurimmaksi haasteeksi osoittautuu laskennallinen tehokkuus. Tehokkaiden pisteiden lukumäärä kasvaa eksponentiaalisesti tehtävän koon mukaan (Benson, 1998), ja käytännön ongelmissa päätösavaruuden dimensio on usein merkittävästi suurempi kuin tavoiteavaruuden dimensio. Lisäksi on havaittu, että tavallisesti monta eri tehokasta pistettä kuvautuu samaksi ei-dominoiduksi pisteeksi aiheuttaen suuren määrän turhia laskutoimituksia (Dauer, 1987). Tällöin voidaan olettaa, että MOLPtehtävän ratkaiseminen päätösavaruudessa on paljon työläämpää verrattuna tavoiteavaruuden ei-dominoitujen pisteiden P (X E ) suoraan laskemiseen. Tästä huolimatta useimmat kirjallisuudessa esitetyt metodit MOLP-tehtävien ratkaisemiseen operoivat päätösavaruudessa laskien tehokkaiden pisteiden joukon X E. Nämä metodit perustuvat usein Simplex-algoritmin laajennuksiin tai sisäpistemenetelmiin (Steuer, 1986; Ehrgott, 2005), jotka muuttuvat varsin tehottomiksi tehtävän koon kasvaessa. 3.2 Bensonin algoritmi Benson (1998) esittää artikkelissaan algoritmin (Benson s Outer Approximation Algorithm), joka ratkaisee MOLP-tehtävän (1) ei-dominoitujen pisteiden joukon P (X E ) suoraan tavoiteavaruudessa. Englanninkielisestä nimestään huolimatta Bensonin algoritmi ratkaisee kaikki ei-dominoidut pisteet tarkasti; algoritmista on tosin kehitetty myös variantti, joka ratkaisee eidominoitujen pisteiden arvot likimääräisesti mutta tehokkaammin (Shao and Ehrgott, 2008). Tässä työssä tutkitaan Bensonin algoritmin variaatiota, johon on tehty parannuksia (Löhne, 2011). Toisin kuin alkuperäisessä algoritmissa, päätösavaruuden käyvän joukon X ei tarvitse olla rajoitettu; riittää, että X ei ole tyhjä joukko. Lisäksi paranneltu algoritmi tuottaa pelkästään (heikosti) eidominoituja pisteitä, joten jokaisen pisteen tarkistaminen algoritmin ajon jälkeen ei ole tarpeellista.
11 7 Merkitään kahden joukon S 1 ja S 2 summaa seuraavasti: S 1 + S 2 = {s 1 + s 2 : s 1 S 1, s 2 S 2 }. (6) Määritellään MOLP-tehtävän (1) tavoiteavaruuden käyvän joukon P (X ) laajennettu kuvajoukko P = P (X ) + R p. Lause 4. (Löhne, 2011) Laajennettu kuvajoukko P = P (X ) + R p on polyhedri, jonka jokainen reunapiste on heikosti ei-dominoitu. Merkitään P E = {y P : ei ole olemassa y P s.e. y y}. P E on määritelmän 2 mukaisesti joukon P ei-dominoitujen pisteiden joukko. Lause 5. (Ehrgott, 2005) Olkoon P (X E ) joukon P (X ) ei-dominoitujen pisteiden joukko. Tällöin P (X E ) = P E. Lauseen 5 perusteella joukkojen P (X ) ja P ei-dominoidut pisteet yhtyvät, josta voidaan päätellä, että R p lisääminen tehtävän (1) tavoiteavaruuden käypään joukkoon ei muuta ei-dominoitujen pisteiden joukkoa. Tämä on tärkeä ominaisuus, jota käytetään hyväksi Bensonin algoritmissa. Oletetaan, että tehtävän (1) laajennettu kuvajoukko P = P (X ) + R p on alhaalta rajoitettu, eli on olemassa piste ŷ R p siten, että ŷ y kaikille y P. Määritellään tehtävän ideaalipiste y I, joka antaa tiukan alarajan tavoiteavaruuden käyvälle joukolle. Määritelmä 4. Piste y I = (y I 1,..., y I p), y I k = min{y k : y P} on MOLPtehtävän (1) ideaalipiste. Bensonin algoritmin idea on esitetty kuvassa 1. Algoritmi etsii aluksi laajennetun kuvajoukon sisäpisteen ˆp intp ja muodostaa polyhedraalin joukon S 0 = {y I } + R p, jolle pätee P S0. Iteraation k aikana algoritmi valitsee jonkin kulmapisteen s k S k 1, s k / P, ja etsii reunapisteen y k bdp, joka sijaitsee sisäpisteen ˆp ja kulmapisteen s k välisellä janalla. Tämän jälkeen algoritmi muodostaa kannattelevan hypertason joukolle P pisteeseen y k skalarisoidun LP-tehtävän (D 2 (y k )) optimiratkaisun avulla. Lause 6. (Löhne, 2011) Olkoon piste ŷ bdp. Tällöin tehtävän (D 2 (ŷ)) optimiratkaisu (ū, λ) T on olemassa ja H(ū, λ) = {y R p : λ T y = b T ū}, ŷ H(ū, λ), on kannatteleva hypertaso joukolle P. Uusi polyhedri S k saadaan polyhedrin S k 1 ja hypertason H(u k, λ k ) rajaaman, joukon P sisältävän, puoliavaruuden leikkauksena: S k = S k 1 {y R p : λ T y b T u}. Algoritmi suorittaa äärellisen määrän iterointeja, kunnes jonkin iteraation k aikana ei löydy sellaista kulmapistettä s k S k 1, joka
12 8 Kuva 1: Bensonin algoritmin toimintaperiaate. Vasemmassa kuvassa polyhedrin S 0 = {y I } + R p kulmapiste s1 / P vastaa ideaalipistettä y I. Algoritmi muodostaa janan pisteiden s 1 ja ˆp välille ja etsii reunapisteen y 1 bdp. Oikeassa kuvassa on muodostettu hypertaso H(u 1, λ 1 ) ratkaisemalla skalarisoitu LP-tehtävä (D 2 (y 1 )) ja tehty leikkaus S 1 = S 0 {H(u 1, λ 1 ) 0}. Lisäksi kuvassa on havainnollistettu seuraavaa iteraatiota etsimällä polyhedrin S 1 kulmapiste s 2 / P ja tätä vastaava reunapiste y 2 bdp. ei kuulu joukkoon P. Tästä seuraa, että S k 1 = P, ja algoritmi palauttaa joukon P kulmapisteet, jotka ovat seuraavan lauseen mukaan ei-dominoituja. Lause 7. (Löhne, 2011) Laajennetun kuvajoukon P = P (X )+R p jokainen kulmapiste on ei-dominoitu. Lause 8. (Löhne, 2011) Olkoon piste y R p ja S k 1 R p polyhedraali konveksi joukko siten, että P S k 1 {y} + R p = S0. Olkoon E k 1 joukon S k 1 kulmapisteiden joukko; tällöin S k 1 = conv(e k 1 + R p ). Lauseen 8 mukaan algoritmissa muodostetut kuvajoukon P approksimaatiot S 0,..., S k 1 saadaan konstruoitua suoraan niiden kulmapisteiden joukkojen E 0,..., E k 1 ja joukon R p summien konvekseina peitteinä, sillä approksimaatioiden ekstreemisuunnat ovat aina yksikkövektorit e k R p. Koska algoritmin päätyttyä S k 1 = P, saadaan P konstruoitua suoraan algoritmin palauttamien kulmapisteiden avulla. Bensonin algoritmin englanninkieliseen nimeen (Benson s Outer Approximation Algorithm) viitaten voidaan ajatella, että alussa muodostettu polyhedri S 0 approksimoi kuvajoukkoa P ulkopuolelta, ja tavoitteena on tarkentaa tätä approksimaatiota iteraatioiden aikana muodostamalla uusia polyhedrejä S 0 S 1 S k 1, kunnes lopulta S k 1 = P.
13 9 Kuva 2: Esimerkki tilanteesta, joka voi johtaa degeneroituneeseen yhtälöesitykseen joukon P reunasta. Piste y 1 on joukon P kulmapiste, ja ratkaisemalla skalarisoitu LP-tehtävä (D 2 (y 1 )) voidaan päätyä kuvan tilanteeseen, missä ratkaisua vastaava hypertaso H(u 1, λ 1 ) tukee joukkoa P ainoastaan pisteessä y 1. Algoritmi tallentaa polyhedrin S k 1 esityksen iteraation k aikana kahdella eri tavalla: äärellisellä määrällä yhtälörajoituksia ja piste-esityksenä. Polyhedrin S k 1 piste-esitys on tarkka kuvaus joukon P kulmapisteistä algoritmin päätyttyä, mutta iteraatioiden aikana saattaa tulla vastaan redundantteja yhtälörajoituksia, jolloin yhtälöesitys joukon P reunasta on degeneroitunut. Esimerkki yhtälörajoitusten degeneroituvuudesta on esitetty kuvassa 2. Degeneroituvuus ei vaikuta tässä työssä tutkittavan algoritmin tuloksiin, mutta saattaa hidastaa algoritmin suoritusaikaa. Tätä voidaan tutkia jatkossa muodostamalla tehtäviä, joissa päädytään degeneroituneeseen yhtälöesitykseen joukon P reunasta tietyllä sisäpisteen ˆp arvolla; muuttamalla pisteen ˆp arvoa sopivasti ja suorittamalla algoritmi uudestaan päästään eroon degeneroituvuudesta, ja vertailemalla suoritusaikoja voidaan estimoida, miten yhtälöesityksen degeneroituvuus vaikuttaa algoritmin tehokkuuteen. Bensonin algoritmi on esitetty kaaviossa 1. Alustuksen kohdassa 1 sisäpiste ˆp P saadaan laskettua etsimällä jokin päätösavaruuden käypä piste x X ja valitsemalla jokin α > 0 siten, että ˆp = P x+αe, missä e = (1,..., 1) R p. Kohdassa 2 ideaalipiste y I voidaan ratkaista myös duaalitehtävän (4) avulla; ideaalipisteen olemassaolon takaa oletus, että kuvajoukko P on alhaalta rajoitettu. Kohdassa 3 muodostetulle joukolle S 0 pätee ideaalipisteen määritelmän (4) perusteella P S 0. Iteraatiovaiheen kohdassa 4 voidaan tarkistaa kuuluuko jokin kulmapiste s k S 0 joukkoon P laskemalla skalarisoidun LP-tehtävän (P 2 (s k )), tai sen
14 10 Kaavio 1 Bensonin Algoritmi (Löhne, 2011) Syöte: Tehtävän (1) matriisit Palauttaa: Kaikki tehtävän (1) ei-dominoidut kulmapisteet ja niiden väliset tahkot Alustus: 1: Etsi jokin joukon P = P (X) + R p sisäpiste ˆp intp. 2: Laske ideaalipiste y I skalarisoidun LP-tehtävän (2) avulla sijoittamalla yksikkövektorit e k, k = 1,..., p vuorotellen tehtävän painovektoriksi λ. 3: Muodosta polyhedraali joukko S 0 = {y I } + R p. Tallenna joukko S0 sekä piste-esityksenä joukon kulmapisteistä että yhtälöesityksenä joukon reunoista. Aseta k = 1. Iteraatiovaihe: 4: Jos kaikki joukon S k 1 kulmapisteet kuuluvat joukkoon P, siiry kohtaan 8. Muuten valitse jokin kulmapiste s k S k 1, joka ei kuulu joukkoon P. 5: Laske α k (0, 1) siten, että kulmapisteen s k ja sisäpisteen ˆp välisellä janalla oleva piste y k = α k s k + (1 α k )ˆp on joukon P reunapiste. 6: Laske skalarisoidun LP-tehtävän (D 2 (y k )) optimiratkaisu (u k, λ k ) ja muodosta kannatteleva hypertaso H(u k, λ k ) = {y R p : λ kt y = b T u k } joukolle P reunapisteeseen y k. 7: Muodosta S k tekemällä leikkaus S k = S k 1 {H(u k, λ k ) 0}, aseta k = k + 1 ja palaa kohtaan 4. Tulokset: 8: S k 1 sisältää tehtävän (1) ei-dominoidut kulmapisteet ja (mahdollisesti degeneroituneen) yhtälöesityksen joukon P reunasta.
15 11 duaalin (D 2 (s k )), optimiarvo µ ; lauseiden 2 ja 3 perusteella s k P jos ja vain jos µ = 0. Kohdassa 5 määritelty α k saadaan laskettua LP-tehtävästä α k = max{α : αs k + (1 α)ˆp P x, x X }. (7) Selvästi jokaiselle x X, α = 0 on käypä ratkaisu tehtävälle (7). Lisäksi X ei ole tyhjä joukko, joten tehtävälle on olemassa optimiratkaisu. Koska kulmapiste s k ei kuulu joukkoon P ja piste ˆp on joukon P sisäpiste, voidaan päätellä, että optimiratkaisua α k vastaava piste y k = α k s k + (1 α k )ˆp on joukon P reunapiste. Iteraatiovaiheen kohdassa 6 piste y k on joukon P reunapiste, joten lauseen 6 perusteella skalarisoidun LP-tehtävän (D 2 (y k )) optimiratkaisu on olemassa ja H(u k, λ k ) = {y R p : λ kt y = b T u k }, y k H(u k, λ k ) on kannatteleva hypertaso joukolle P. Kohdassa 7 uusi polyhedri S k saadaan muodostettua hypertason H(u k, λ k ) rajaaman, joukon P sisältävän, puoliavaruuden ja polyhedrin S k 1 leikkauksena. Tämän perusteella P S k S k 1, joten jokainen iteraatio tarkentaa joukon P approksimaatiota S k. Algoritmi päättyy, kun kaikki joukon S k 1 kulmapisteet kuuluvat joukkoon P jolloin S k 1 = P. Algoritmi palauttaa siis joukon P kulmapisteet, jotka ovat lauseen 7 mukaan ei-dominoituja; lisäksi lauseen 8 perusteella P saadaan konstruoitua algoritmin palauttamien kulmapisteiden avulla. Lauseen 5 mukaan tehtävän (1) ei-dominoitujen pisteiden joukko on identtinen kuvajoukon P ei-dominoitujen pisteiden kanssa, joten algoritmi ratkaisee tehtävän (1) tavoiteavaruuden käyvän joukon ei-dominoidut ekstreemipisteet (kulmapisteet). Lisäksi algoritmi palauttaa joukon P reunan yhtälöesityksenä, josta saadaan ratkaistua tehtävän ei-dominoitujen kulmapisteiden väliset tahkot. Kuten kappaleen 2.2 lopussa todettiin, jos ollaan kiinnostuneita ei-dominoituja pisteitä vastaavista päätösavaruuden tehokkaista pisteistä, saadaan eidominoitua pistettä ŷ P (X E ) vastaava tehokas piste ˆx X E laskettua skalarisoidun LP-tehtävän (P 2 (ŷ)) optimiarvosta (ˆx, 0): tällöin P ˆx = ŷ. Koska päätösavaruuden dimensio on käytännön ongelmissa usein suuri, on päätöksentekijän vaikea vertailla kaikkia ratkaisuja keskenään. Vertailua voidaan helpottaa esittämällä päätöksentekijälle tehokkaiden pisteiden minimija maksimiarvot, joista saadaan käsitys kyseisten arvojen vaihteluväleistä.
16 12 4 Bensonin algoritmin testaaminen Tässä kappaleessa tutkitaan Bensonin algoritmin tehokkuutta, ja vertaillaan saatuja tuloksia monitavoite-simplexillä (Ehrgott, 2005) laskettuihin tuloksiin. Vertailussa käytetään Löhnen (2011; 2012) ohjelmoimaa Bensonin algoritmin toteutusta, ja tuloksia vertaillaan Nummenpalon (2012) ohjelmoiman monitavoite-simplex algoritmin tuloksiin. Jotta laskenta-ajat olisivat vertailukelpoisia, ratkaistaan Bensonin algoritmissa ei-dominoitujen pisteiden lisäksi myös vastaavat tehokkaat pisteet, ja monitavoite-simplexissä tehokkaita pisteitä vastaavat ei-dominoidut pisteet. Bensonin algoritmin eri vaiheissa ratkaistaan yhden kohdefunktion LP-tehtäviä. Löhnen toteuttamassa Bensonin algoritmin variaatiossa on mukana kolme LP-ratkaisijaa välivaiheiden laskemiseksi, joista tässä käytetään avoimen lähdekoodin GLPK (GNU Linear Programming Kit) pakettia (Makhorin, 2006). Nummenpalon ohjelmoiman monitavoite-simplex algoritmin toteutuksessa käytetään lp_solve pakettia (Berkelaar et al., 2004), jonka tehokkuuden on raportoitu olevan samaa luokkaa kuin GLPK:n LP-ratkaisijan (Meindl and Templ, 2012). 4.1 Numeerinen esimerkki Tutkitaan aluksi algoritmin tehokkuutta yksinkertaisella esimerkillä, missä päätösavaruuden käypä joukko X muodostaa hyperkuution avaruudessa R n eli X = [0, 1] n, ja tavoitteina on minimoida muuttujia x i ja x i, i = 1,..., n (Ehrgott, 2005). Tehtävä on tällöin muotoa min x i, i = 1,..., n min x i, i = 1,..., n s.e. x i 1, i = 1,..., n x i 1, i = 1,..., n. (8) Tehtävässä (8) on n kappaletta päätösmuuttujia ja 2n kappaletta sekä rajoitteita että kohdefunktioita. Tehtävän rajoitteiden muodostaman hyperkuution jokainen kulmapiste on tehokas, joten päätösavaruuden tehokkaiden pisteiden lukumäärä on 2 n. Lisäksi jokaista tehokasta pistettä vastaavat kohdefunktioiden arvot ovat yksilöllisiä, joten myös tavoiteavaruuden eidominoitujen pisteiden lukumäärä on 2 n.
17 13 Taulukko 1: Bensonin algoritmin ja monitavoite-simplexin 10 ajon keskimääräiset suoritusajat sekunteina tehtävälle (8) parametrin n eri arvoilla. n Bensonin algoritmi Monitavoite-Simplex Käytännön ongelmissa kohdefunktioiden lukumäärä on tavallisesti merkittävästi pienempi kuin rajoitteiden ja päätösmuuttujien lukumäärä; usein jopa kertaluokkaa tai enemmän (Benson, 1998). Yksi Bensonin algoritmin merkittävimmistä eduista monitavoite-simplexiin nähden on juuri kohdefunktioiden pieni lukumäärä päätösmuuttujien ja rajoitteiden lukumäärään verrattuna, joten on mielenkiintoista vertailla algoritmien tehokkuuksia tehtävän (8) parametrin n eri arvoilla. Taulukossa 1 on esitetty Bensonin algoritmin ja monitavoite-simplexin suoritusajat sekunteina tehtävälle (8) parametrin n eri arvoilla. Suoritusajat on laskettu 10 ajon keskiarvona ja testaaminen on suoritettu 3.4 GHz neliydinprosessorilla ja 8 GB keskusmuistilla varustetulla tietokoneella. Taulukosta 1 nähdään, että Bensonin algoritmi muuttuu nopeasti tehottomaksi tehtävälle (8): algoritmin suoritusaika yli kolminkertaistuu kasvattamalla parametrin n arvoa yhdellä. Tämä voidaan selittää katsomalla kaaviota 1, jossa algoritmin iteraatiovaiheissa 4, 5 ja 6 lasketaan yhden kohdefunktion LP-tehtävät, joiden lukumäärä on verrannollinen ei-dominoitujen kulmapisteiden lukumäärään; lisäksi jokaiselle ei-dominoidulle kulmapisteelle ŷ P (X E ) lasketaan vastaavat tehokkaat pisteet LP-tehtävän (P 2 (ŷ)) avulla. Parametrin n kasvaessa yhdellä algoritmissa suoritettavien LP-tehtävien koko kasvaa ja määrä kaksinkertaistuu, mikä vaikuttaa algoritmin suoritusaikaan huomattavasti. Taulukon 1 perusteella monitavoite-simplex ratkaisee tehtävän (8) huomattavasti tehokkaammin kuin Bensonin algoritmi, mutta tästä ei voida vielä muodostaa johtopäätöksiä algoritmien tehokkuuksista käytännössä. Tavallisesti käytännön ongelmissa tavoiteavaruuden dimensio on huomattavasti pienempi kuin päätösavaruuden dimensio, ja lisäksi monta eri tehokasta pistettä vastaa usein yhtä ei-dominoitua pistettä (Dauer, 1987). Tehtävä (8) on siis todella epäedullinen Bensonin algoritmin kannalta, mutta se on epäedullinen myös monitavoite-simplexin kannalta tehokkaiden pisteiden lukumäärän takia, joten tuloksista näkee hyvin, miten algoritmien tehokkuudet vaihtelevat huonolla syötteellä.
18 Sovellus: Resurssien tehokas allokointi Tutkitaan Bensonin algoritmin tehokkuutta käytännön sovelluksessa ja verrataan tuloksia monitavoite-simplexillä saatuihin tuloksiin. Esimerkkisovelluksena käytetään resurssien allokointitehtävää, missä tarkastellaan erään suomalaisen kauppaketjun 25 eri kaupan olemassa olevien resurssien ja lisäresurssien allokointia kauppojen välillä (Korhonen and Syrjänen, 2004). Resurssien allokointimallissa käytetään apuna tehokkuusanalyysiä (DEA, Data Envelopment Analysis; Charnes et al., 1978), minkä pohjalta saadaan rakennettua MOLP-tehtävä resurssien järkevään allokointiin päätöksentekoyksiköiden, tässä tapauksessa kauppaketjun kauppojen, tehokkuuksien perusteella. Oletetaan, että päätöksentekoyksiköitä on n kappaletta, ja jokaisella yksiköllä on m kappaletta panoksia ja p kappaletta tuotoksia. Merkitään kaikkien yksiköiden panosten havaitut arvot matriisiin X R m n > ja tuotosten havaitut arvot matriisiin Y R p n > siten, että matriisin X sarakevektori x i vastaa päätöksentekoyksikön i panosten lukumääriä ja matriisin Y sarakevektori y i yksikön i tuotosten lukumääriä. Määritellään tuotantomahdollisuusjoukko T, joka koostuu päätöksentekoyksiköiden havaituista arvoista ja niiden semipositiivisista ( 0) lineaarikombinaatioista painovektoreilla λ Λ: T = {(x, y) R m+p : x Xλ, y Y λ, λ Λ}. (9) Λ on lineaarikombinaatioiden sallittujen painovektorien joukko. Tuotantomahdollisuusjoukko T muodostaa käyvän alueen virtuaalisille päätöksentekoyksiköille. Oletetaan, että tavoitteena on minimoida kaikki panokset ja samalla maksimoida kaikki tuotokset tuotantomahdollisuusjoukon määräämässä alueessa. Tämä voidaan esittää MOLP-tehtävänä v-min (x,y) T (x, y). (10) MOLP-tehtävän (10) päätösavaruuden tehokkaat pisteet muodostavat tuotantomahdollisuusjoukon T tehokkaan rintaman. Päätöksentekoyksikön i tuotospainotteinen tehokkuus θ i saadaan laskettua LP-tehtävän optimiarvosta Θ i : tällöin θ i = 1/Θ i. max{θ i : (x i, Θ i y i ) T } (11)
19 15 Tehokkaalla rintamalla olevan päätöksentekoyksikön tuotospainotteinen tehokkuus saavuttaa arvon 1, ja tehottoman yksikön tuotospainotteinen tehokkuus riippuu sen etäisyydestä tehokkaaseen rintamaan. Tuotantomahdollisuusjoukkoa tutkimalla voidaan päätellä, mitä muutoksia tehoton yksikkö voi suorittaa päästäkseen lähemmäs tehokasta rintamaa ja parantaakseen täten tehokkuuttaan. Tässä työssä tarkastellaan kahta eri tapaa määritellä painovektorien joukko Λ tuotantomahdollisuusjoukolle T, jotka johtavat kahteen eri DEA-malliin. CCR-malli (Charnes et al., 1978) saadaan, kun valitaan Λ = R n >; mallissa tuotantomahdollisuusjoukolle pätee vakioskaalatuotto-oletus: jos (x, y) T, myös (tx, ty) T kaikilla t R. BCC-mallissa (Banker et al., 1984) painovektorien joukko on puolestaan Λ = {λ R n > : n i=1 λ i = 1}. Tällöin tuotantomahdollisuusjoukon T tehokas rintama on paloittain lineaarinen ja muodostuu tehokkaiden päätöksentekoyksiköiden konvekseista kombinaatioista. Tehokkaan rintaman eri palojen pisteillä on erisuuret marginaalituottavuudet, joten BCC-mallissa on muuttuva skaalatuotto. Jos oletetaan, että panokset x R m ovat allokoitavia resursseja ja tuotokset y R p maksimoitavia kohdefunktioita, saadaan yleinen resurssien allokointitehtävä formuloitua seuraavasti (Korhonen and Syrjänen, 2004): v-max y = y y n (12) y i, x i,λ i s.e. y i + y i Y λ i, i = 1,..., n (13) x i + x i Xλ i, i = 1,..., n (14) λ i Λ, i = 1,..., n (15) α i x i β i, i = 1,..., n (16) x x n r. (17) Tehtävä (12) - (17) on MOLP-tehtävä, jossa maksimoidaan päätöksentekoyksiköiden tuotosten muutoksien summaa y siten, että allokoinnin jälkeiset resurssien ja tuotosten arvot (x i + x i, y i + y i ), i = 1,..., n, on rajoitettu tuotantomahdollisuusjoukon (9) sisälle. Lisäksi resurssien muutokset x i, i = 1,..., n, on rajoitettu välille [α i, β i ], ja budjettirajoitteen r avulla voidaan säätää resurssien kokonaismuutosta joko vähentämällä resursseja (r < 0), kasvattamalla niitä (r > 0) tai olla muuttamatta niiden määrää (r = 0). Jos r = 0, ei tehtävään tule lisäresursseja ulkopuolelta, ja saadaan resurssien uudelleenallokointitehtävä päätöksentekoyksiköiden kesken.
20 16 Taulukossa 2 on esitetty suomalaisen kauppaketjun 25 kaupan olemassa olevat resurssit ja havaitut tuotokset (Korhonen and Syrjänen, 2004). Alkuperäistä mallia on yksinkertaistettu ottamalla huomioon ainoastaan kaksi resurssia, henkilötyötunnit ja kaupan koko, ja kaksi tuotosta, myynti ja voitto. Nyt kaupat ovat päätöksentekoyksiköitä, ja päätöksentekijänä on kauppaketjun johto, joka pyrkii allokoimaan vapaat resurssit mahdollisimman tehokkaasti kauppojen kesken siten, että kokonaismyynti ja voitot maksimoituvat. Oletetaan, että yksittäisen kaupan resurssit voivat laskea enintään 10% ja nousta 30%, jolloin tehtävän (12) - (17) resurssien muutosten x i rajoitteet ovat α i = 0.1x i ja β i = 0.3x i, i = 1,..., n. Oletetaan lisäksi, että resurssien kokonaismäärä voi kasvaa enintään 1%, jolloin tehtävän budjettirajoitteeksi saadaan r = 0.01 n i=i x i. Kauppaketjun tuotokset maksimoivat resurssien allokointistrategiat saadaan ratkaistua laskemalla tehtävän (12) - (17) ei-dominoituja pisteitä vastaavat resurssien muutokset x i, i = 1,..., n Allokointi yksiköiden suhteellisella skaalauksella Oletetaan aluksi, että päätöksentekoyksiköt voivat muuttaa toimintaansa ainoastaan olemassa olevien resurssien ja havaittujen tuotosten suhteellisella skaalauksella, ja että tuotantomahdollisuusjoukko (9) perustuu CCR-malliin, jolloin Λ = R n >. Oletetaan lisäksi, että resurssit ja tuotokset muuttuvat samassa suhteessa, minkä ansiosta yksiköiden CCR-tehokkuudet eivät muutu resurssien allokoinnin aikana. Tämän perusteella riittää tutkia ainoastaan resurssien ja tuotosten suhteellisia muutoksia, ja allokointitehtäväksi saadaan tehtävä (12) - (17), jonka rajoitteet (13) - (15) korvataan rajoitteilla y i δ i y i, i = 1,..., n x i δ i x i, i = 1,..., n. (18) Bensonin algoritmi ratkaisee tehtävän noin 0.1 sekunnissa 3.4 GHz neliydinprosessorilla ja 8 GB keskusmuistilla varustetulla tietokoneella. Algoritmi palauttaa 9 ei-dominoitua pistettä, jotka maksimoivat kokonaismyynnin ja voitot, ja laskemalla ei-dominoituja pisteitä vastaavat päätösavaruuden tehokkaat pisteet saadaan 11 tehokasta resurssien allokointistrategiaa. Kuvassa 3 on esitetty ei-dominoitujen tuotosparien arvot ja vertailun vuoksi tuotosten arvo 1% kokonaisresurssien lisäyksellä ilman allokointia. Tuloksista nähdään, että resurssien tehokas allokointi parantaa sekä kokonaismyyntiä että voittoa huomattavasti verrattuna pelkkään resurssien kasvattamiseen.
21 17 Taulukko 2: Suomalaisen kauppaketjun 25 kaupan resurssit, tuotokset ja suhteelliset DEA-tehokkuudet (Korhonen and Syrjänen, 2004) Kauppa Henkilötyötunnit Koko Myynti Voitto CCR- BCC- (10 3 h) (10 3 m 2 ) (10 6 Mk) (10 6 Mk) tehokkuus tehokkuus i x 1i x 2i y 1i y 2i θ i θ i Yhteensä
22 18 Kuva 3: Resurssien allokointitehtävän ratkaisut tavoiteavaruudessa, kun kokonaisresurssit kasvavat 1%. Lisäksi kuvassa on esitetty tuotosten arvot 1% resurssien lisäyksellä ilman allokointia. Tulosten perusteella kauppaketjun johto voi halutessaan parantaa kokonaismyyntiä noin 2.3%, voittoa 8.4% tai molempia tasaisesti preferenssiensä perusteella. Ei-dominoituja pisteitä vastaavista tehokkaista pisteistä saadaan selville resurssien muutosten arvot, joiden avulla kauppaketjun johto voi tutkia eri ratkaisujen vaikutuksia yksittäisten kauppojen toimintaan. Rajoitusten (18) ansiosta molemmat resurssit muuttuvat samassa suhteessa. Kuvassa 4 on esitetty molempien resurssien suhteellisten muutosten, x 1i /x 1i ja x 2i /x 2i, i = 1,..., 25, vaihteluvälit tehtävän ratkaisuille. Kuvasta nähdään, että useimmista kaupoista poistetaan aina maksimimäärä resursseja tehokkaampien kauppojen käyttöön. Tehokkaisiin kauppoihin 3, 10 ja 23 lisätään aina suurin sallittu määrä resursseja. Kaupoista 6 ja 21 poistetaan resursseja vaihtelevasti jokaisessa ratkaisussa. Toisaalta kauppojen 4, 7, 16, 17, 22, 24 ja 25 resurssit voivat joko kasvaa tai laskea; resurssien muutokset riippuvat siitä, panostetaanko enemmän kokonaismyyntiin vai voittoon. Yllättäen monitavoite-simplexillä tehtävän ratkaisemiseen kuluu useita päiviä, joten algoritmien suoritusaikojen välinen ero on uskomattoman suuri. Tämä voidaan selittää tutkimalla tehtävän päätös- ja tavoiteavaruuden dimensioita sekä rajoitteiden lukumäärää. Tehtävässä on 125 päätösmuuttu-
23 19 Kuva 4: Resurssien x 1i (henkilötyötunnit) ja x 2i (kaupan koko) suhteelliset muutokset x 1i /x 1i ja x 2i /x 2i, i = 1,..., 25, tehtävän ratkaisuille jaa ja kaksi kohdefunktiota, joten päätösavaruuden dimensio on yli 50 kertaa suurempi kuin tavoiteavaruuden dimensio. Lisäksi tehtävän epäyhtälörajoitteiden lukumäärä on yli 200. Päätösavaruuden tehokkaiden pisteiden lukumäärä kasvaa eksponentiaalisesti suhteessa päätösmuuttujien ja rajoitteiden lukumäärään, joten tehokkaita pisteitä on huomattavasti enemmän kuin ei-dominoituja pisteitä, joiden lukumäärä puolestaan riippuu pääosin tavoiteavaruuden dimensiosta (Benson, 1998; Dauer, 1987). Koska useimmat tehokkaat pisteet kuvautuvat samoiksi ei-dominoiduiksi pisteiksi, tekee monitavoite-simplex todella paljon turhaa työtä.
24 Allokointi yksiköiden muuttumattomilla tehokkuuksilla Oletetaan seuraavaksi, että yksiköt eivät voi parantaa tehokkuuksiaan resurssien allokoinnin aikana, ja että tuotantomahdollisuusjoukko (9) perustuu BCC-malliin, jolloin Λ = {λ R n > : n i=1 λ i = 1}. Taulukossa 2 on esitetty LP-tehtävän (11) avulla lasketut kauppojen tuotospainotteiset BCCtehokkuudet θ i, i = 1,..., n. Tehokkuusrajoitukset saadaan tuotua resurssien allokointimalliin kertomalla tehtävän (12) - (17) rajoitteen (13) oikea puoli tehokkuusluvulla θ i, jolloin vastaavaksi rajoitteeksi saadaan y i + y i θ i Y λ i, i = 1,..., n. (19) Lisäksi, koska tuotantomahdollisuusjoukko perustuu BCC-malliin, tehtävän (12) - (17) rajoite (15) kirjoitetaan muotoon e T λ i = 1, λ i 0, i = 1,..., n i = 1,..., n (20) missä e = (1,..., 1) R n. Nyt tehtävän päätösmuuttujina ovat resurssien muutosten x i lisäksi painovektorien λ i komponentit, joita on yhteensä 25 2 = 625 kappaletta. Päätösavaruuden dimensio siis kasvaa huomattavasti verrattuna edelliseen esimerkkiin, ja kuten saattaa arvata, on tehtävää lähes mahdotonta ratkaista monitavoite-simplexillä tehokkaiden pisteiden huiman lukumäärän takia. Toisaalta Bensonin algoritmi ratkaisee tehtävän alle 10 sekunnissa, mikä vahvistaa ajatusta algoritmin paremmuudesta monitavoite-simplexiin verrattuna isoissa käytännön ongelmissa. Tämä tukee myös oletusta, jonka mukaan Bensonin algoritmin ratkaisutehokkuus ei riipu merkittävästi päätösmuuttujien ja rajoitteiden lukumäärästä vaan enemmänkin tavoiteavaruuden dimensiosta. Oletusta voitaisiin tutkia generoimalla satunnaisia tehtäviä erilaisilla tavoitefunktioiden lukumäärillä ja vertailemalla algoritmin suoritusaikoja. Algoritmi palauttaa 58 ei-dominoitua pistettä, ja laskemalla vastaavat päätösavaruuden tehokkaat pisteet saadaan yhteensä 150 tehokasta resurssien allokointistrategiaa. Kuvassa 5 on esitetty ei-dominoitujen tuotosparien arvot sekä tuotosten arvo 1% kokonaisresurssien lisäyksellä ilman allokointia. Samoin kuin edellisessä esimerkissä, resurssien tehokas allokointi parantaa sekä kokonaismyyntiä että voittoa merkittävästi verrattuna pelkkään resurssien
25 21 Kuva 5: Resurssien allokointitehtävän ratkaisut tavoiteavaruudessa, kun kokonaisresurssit kasvavat 1%. Lisäksi kuvassa on esitetty tuotosten arvot 1% resurssien lisäyksellä ilman allokointia. kasvattamiseen. Nyt kauppaketjun johto voi halutessaan parantaa kokonaismyyntiä 14.4%, voittoa jopa 115.9% tai molempia tasaisesti preferenssiensä perusteella. Malli tosin olettaa kauppojen pystyvän muuttamaan kokoaan vaivattomasti, mikä ei käytännössä ole välttämättä mahdollista. Koko voitaisiinkin korvata jollain toisella resurssilla tai poistaa mallista kokonaan, mutta se sopii kuitenkin mallin havainnollistamiseen. Kuvissa 6 ja 7 on esitetty tehokkaita resurssien allokointistrategioita vastaavat resurssien suhteelliset muutokset. Kuvassa 6 on esitetty resurssin x 1 (henkilötyötunnit) suhteellisten muutosten x 1i /x 1i, i = 1,..., 25 vaihteluvälit ja kuvassa 7 resurssin x 2 (kaupan koko) suhteellisten muutosten x 2i /x 2i, i = 1,..., 25 vaihteluvälit tehtävän ratkaisuille. Kuvien perusteella yhteenkään kauppaan ei lisätä aina maksimimäärää (30%) molempia resursseja, ja ainoastaan kaupasta 13 poistetaan aina suurin sallittu määrä (10%) molempia resursseja. Muutoin resursseja liikutellaan paljon vapaammin verrattuna edellisen tehtävän ratkaisuihin: esimerkiksi kauppaan 15 lisätään aina maksimimäärä henkilötyötunteja, ja toisaalta siitä vähennetään aina suurin sallittu määrä kaupan pinta-alaa.
26 Kuva 6: Resurssien x 1i (henkilötyötunnit) ja x 2i (kaupan koko) suhteelliset muutokset x 1i /x 1i ja x 2i /x 2i, i = 1,..., 25, tehtävän ratkaisuille 22
27 23 5 Yhteenveto Työssä tarkasteltiin lineaarisen monitavoiteoptimointitehtävän ratkaisukäsitteitä, ja tutkittiin MOLP-tehtävien ratkaisemista päätös- ja tavoiteavaruudessa. Erityisesti työssä pohdittiin päätösavaruudessa ratkaisemisen haasteita ja esiteltiin Bensonin algoritmi MOLP-tehtävien ratkaisemiseen tavoiteavaruudessa. Algoritmin toimintaa tutkittiin ensin numeerisella esimerkillä, ja sen soveltuvuutta käytännön ongelmien ratkaisemiseen kahden resurssien allokointitehtävän avulla (Korhonen and Syrjänen, 2004). Lisäksi Bensonin algoritmia verrattiin kirjallisuudessa usein mainittuun monitavoite-simplex -algoritmiin (Ehrgott, 2005) vertailemalla algoritmien suoritusaikoja. Bensonin algoritmi osoittautui tehottomaksi monitavoite-simplexiin verrattuna esimerkkitehtävässä, missä kohdefunktioita on saman verran kuin päätösmuuttujia, ja jokaista tehokasta pistettä vastaa yksi ei-dominoitu piste. Käytännön ongelmissa on kuitenkin tavallisesti erilainen rakenne; ensinnäkin kohdefunktioita on normaalisti huomattavasti vähemmän kuin päätösmuuttujia, ja toiseksi usein monta tehokasta pistettä kuvautuu samaksi eidominoiduksi pisteeksi (Benson, 1998; Dauer, 1987). Nämä kaksi tulosta pitävät paikkansa työssä tarkastelluissa resurssien allokointitehtävissä, ja niiden vaikutus Bensonin algoritmin tehokkuuteen osoittautui yllättävän suureksi. Bensonin algoritmi ratkaisi molemmat allokointitehtävät vaivattomasti sekunneissa; toisaalta monitavoite-simplexillä ensimmäinen tehtävä ratkesi vasta useiden päivien ajon jälkeen, ja toinen tehtävä osoittautui liian suureksi ratkaistavaksi järkevässä ajassa. Tulosten perusteella Bensonin algoritmi soveltuu erinomaisesti isojen käytännön ongelmien ratkaisemiseen, joissa on vähän kohdefunktioita verrattuna päätösmuuttujien lukumäärään. Käytännössä kohdefunktioita onkin tavallisesti vähän, mutta väite algoritmin tehokkuudesta yleisesti isoissa käytännön ongelmissa vaatii lisätutkimuksia.
28 24 Viitteet Banker, R. D., Charnes, A., and Cooper, W. W. (1984). Some models for estimating technical and scale inefficiencies in data envelopment analysis. Management science, 30(9): Benson, H. (1998). An outer approximation algorithm for generating all efficient extreme points in the outcome set of a multiple objective linear programming problem. Journal of Global Optimization, 13:1 24. Benson, H. P. and Sayin, S. (1997). Towards finding global representations of the efficient set in multiple objective mathematical programming. Naval Research Logistics (NRL), 44(1): Berkelaar, M., Eikland, K., and Notebaert, P. (2004). lp_solve 5.5, Open source (Mixed-Integer) Linear Programming system. sourceforge.net/5.5/. Accessed: 01/12/2012. Charnes, A., Cooper, W. W., and Rhodes, E. (1978). Measuring the efficiency of decision making units. European journal of operational research, 2(6): Dauer, J. P. (1987). Analysis of the objective space in multiple objective linear programming. Journal of Mathematical Analysis and Applications, 126(2): Ehrgott, M. (2005). Multicriteria Optimization. Springer Berlin, second edition. Ehrgott, M. and Wiecek, M. (2005). Mutiobjective programming. In Multiple Criteria Decision Analysis: State of the Art Surveys, pages Springer New York. Isermann, H. (1974). Proper efficiency and the linear vector maximum problem. Operations Research, 22(1): Korhonen, P. and Syrjänen, M. (2004). Resource allocation based on efficiency analysis. Management Science, 50(8): Löhne, A. (2011). Vector Optimization with Infimum and Supremum. Springer Heidelberg, Dordrecht, London, Newyork, first edition. Löhne, A. (2012). bensolve-1.2. Matlab implementation of Benson s algorithm to solve linear vector optimization problems. mathematik.uni-halle.de/~loehne/page_en/downloads.php. Accessed: 03/01/2013.
29 25 Makhorin, A. (2006). GLPK (GNU Linear Programming Kit). gnu.org/software/glpk/. Accessed: 05/02/2013. Meindl, B. and Templ, M. (2012). Analysis of commercial and free and open source solvers for linear optimization problems. Nummenpalo, J. (2012). Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen. Kandidaatintyö, Aalto-yliopisto. Shao, L. and Ehrgott, M. (2008). Approximating the nondominated set of an molp by approximately solving its dual problem. Mathematical Methods of Operations Research, 68: Steuer, R. (1986). Multiple Criteria Optimization: Theory, Computation, and Application. John Wiley and Sons, New York.
Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla
Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla Juho Andelmin 21.1.213 Ohjaaja: TkT Juuso Liesiö Valvoja: Prof. Raimo P. Hämäläinen Työn saa tallentaa ja julkistaa Aalto-yliopiston
Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla
Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla Juho Andelmin 21.01.2013 Ohjaaja: TkT Juuso Liesiö Valvoja: Prof. Raimo P. Hämäläinen Työn saa tallentaa ja julkistaa Aalto-yliopiston
Lineaaristen monitavoiteoptimointitehtävien
Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Jerri Nummenpalo 17.09.2012 Ohjaaja: TkT Juuso Liesiö Valvoja: Prof. Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla.
Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen
Aalto-yliopisto Perustieteiden korkeakoulu Teknillisen fysiikan ja matematiikan tutkinto-ohjelma Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Kandidaatintyö 22. marraskuuta 2012 Jerri Nummenpalo
Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio
Ellipsoidimenetelmä Kokonaislukuoptimointi Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 1 Sisällys Ellipsoidimenetelmän geometrinen perusta ja menetelmän idea Formaali ellipsoidimenetelmä
Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla
Talousmatematiikan perusteet: Luento 12 Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla Esimerkki Esim. Yritys tekee kahta elintarviketeollisuuden käyttämää puolivalmistetta,
Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki
Duaalisuus kokonaislukuoptimoinnissa Mat-2.4191, Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Sisältö Duaalisuus binäärisissä optimointitehtävissä Lagrangen duaalisuus Lagrangen
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!
Lineaarinen optimointi Harjoitus 6-7, 016. 1. Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän c T x = min! (T) Ax b x 0 duaalitehtävän duaali on tehtävä (T). Ratkaisu. (P) c T x = min! Ax b x
Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla
Talousmatematiikan perusteet: Luento 11 Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla Esimerkki Esim. Yritys tekee kahta elintarviketeollisuuden käyttämää puolivalmistetta,
Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016
Osakesalkun optimointi Anni Halkola Turun yliopisto 2016 Artikkeli Gleb Beliakov & Adil Bagirov (2006) Non-smooth optimization methods for computation of the Conditional Value-at-risk and portfolio optimization.
Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu
Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu Merkintöjä := vasen puoli määritellään oikean puolen lausekkeella s.e. ehdolla; siten että (engl. subject to, s.t.) vasemman puolen
1. Lineaarinen optimointi
0 1. Lineaarinen optimointi 1. Lineaarinen optimointi 1.1 Johdatteleva esimerkki Esimerkki 1.1.1 Giapetto s Woodcarving inc. valmistaa kahdenlaisia puuleluja: sotilaita ja junia. Sotilaan myyntihinta on
Monitavoiteoptimointi
Monitavoiteoptimointi Useita erilaisia tavoitteita, eli useita objektifunktioita Tavoitteet yleensä ristiriitaisia ja yhteismitattomia Optimaalisuus tarkoittaa yleensä eri asiaa kuin yksitavoitteisessa
Luento 6: Monitavoiteoptimointi
Luento 6: Monitavoiteoptimointi Monitavoiteoptimointitehtävässä on useita optimoitavia kohdefunktioita eli ns kriteereitä: f 1,, f m Esimerkiksi opiskelija haluaa oppia mahdollisimman hyvin ja paljon mahdollisimman
Luento 11: Rajoitusehdot. Ulkopistemenetelmät
Luento 11: Rajoitusehdot. Ulkopistemenetelmät ja sisäpistemenetelmät Lagrangen välttämättömien ehtojen ratkaiseminen Newtonin menetelmällä Jos tehtävässä on vain yhtälörajoituksia, voidaan minimipistekandidaatteja
Malliratkaisut Demot
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
Data Envelopment Analysis (DEA) - menetelmät + CCR-DEA-menetelmä
Data Envelopment Analysis (DEA) - menetelmät + CCR-DEA-menetelmä Mat-2.4142 Optimointiopin seminaari kevät 2011 Esityksen rakenne I osa Tehokkuudesta yleisesti DEA-mallin perusajatus CCR-painotus II osa
2 Konveksisuus ja ratkaisun olemassaolo
2 Konveksisuus ja ratkaisun olemassaolo Ratkaisun olemassaolon tutkimiseen tarvitaan perustietoja konvekseista joukoista ja lineaarialgebrasta. Niitä tarvitaan myös ratkaisualgoritmin ymmärtämiseen. Tutkitaan
Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus
Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus 1 / 51 Lineaarikombinaatio Johdattelua seuraavaan asiaan (ei tarkkoja määritelmiä): Millaisen kuvan muodostaa joukko {λv λ R, v R 3 }? Millaisen
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
TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-39 Optimointioppi Kimmo Berg 6 harjoitus - ratkaisut min x + x x + x = () x f = 4x, h = x 4x + v = { { x + v = 4x + v = x = v/ x = v/4 () v/ v/4
Kokonaislukuoptiomointi Leikkaustasomenetelmät
Kokonaislukuoptiomointi Leikkaustasomenetelmät Systeemianalyysin Laboratorio 19.3.2008 Sisällys Leikkaustasomenetelmät yleisesti Leikkaustasomenetelmät generoivilla kokonaislukujoukoilla Gomoryn leikkaavat
Kirjallisuuskatsaus sisäpistemenetelmiin ja niiden soveltamiseen eri optimointiluokille (valmiin työn esittely)
Kirjallisuuskatsaus sisäpistemenetelmiin ja niiden soveltamiseen eri optimointiluokille (valmiin työn esittely) Ilari Vähä-Pietilä 28.04.2014 Ohjaaja: TkT Kimmo Berg Valvoja: Prof. Harri Ehtamo Työn saa
Luento 3: Simplex-menetelmä
Luento 3: Simplex-menetelmä Kuten graafinen tarkastelu osoittaa, LP-tehtävän ratkaisu on aina käyvän alueen kulmapisteessä, eli ekstreemipisteessä (extreme point). Simplex-menetelmässä ekstreemipisteitä,
Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.
Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi. Konveksisuus Muista x + αd, α 0, on pisteestä x R n alkava puolisuora, joka on vektorin d suuntainen. Samoin
Mat Lineaarinen ohjelmointi
Mat-2.3140 Lineaarinen ohjelmointi 4.10.2007 Luento 4 Ekstreemipisteiden optimaalisuus ja Simplex (kirja 2.4-2.6, 3.1-3.2) Lineaarinen ohjelmointi - Syksy 2007 / 1 Luentorunko Degeneroituvuus Ekstreemipisteiden
Mat Lineaarinen ohjelmointi
Mat-.4 Lineaarinen ohjelmointi..7 Luento 7 Duaalisimple ja herkkyysanalyysi (kirja 4.5, 5., 5.5-5.6) Lineaarinen ohjelmointi - Syksy 7 / Duaalisimple Herkkyysanalyysi Luentorunko Parametrinen ohjelmointi
Osakesalkun optimointi
Osakesalkun optimointi Anni Halkola Epäsileä optimointi Turun yliopisto Huhtikuu 2016 Sisältö 1 Johdanto 1 2 Taustatietoja 2 3 Laskumetodit 3 3.1 Optimointiongelmat........................ 4 4 Epäsileän
b 1. b m ) + ( 2b Ax) + (b b)
TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-9 Optimointioppi Kimmo Berg 5 harjoitus - ratkaisut min Ax b (vertaa PNS-tehtävät) a x + + a n x n a) Ax b = a m x + + a mn x n = x a a m }{{}
4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen
4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen Käypä kantaratkaisu löytyy helposti, esimerkiksi tapauksessa Ax b, b 0 x 0 jolloin sen määräävät puutemuuttujat. Tällöin simplex-menetelmän alustus
Aihioiden priorisointi ja portfolioanalyysi ennakoinnissa (valmiin työn esittely)
Aihioiden priorisointi ja portfolioanalyysi ennakoinnissa (valmiin työn esittely) Juha Kännö 23..22 Ohjaajat: TkL Antti Punkka, DI Eeva Vilkkumaa Valvoja: Prof. Ahti Salo Työn saa tallentaa ja julkistaa
1 Kertaus. Lineaarinen optimointitehtävä on muotoa:
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
Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.
Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi. Konveksisuus Muista. + αd, α 0, on pisteessä R n alkava puolisuora, joka on vektorin d suuntainen. Samoin 2
Luento 4: Lineaarisen tehtävän duaali
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
Harjoitus 8: Excel - Optimointi
Harjoitus 8: Excel - Optimointi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Lineaarisen optimointimallin muodostaminen
KKT: log p i v 1 + v 2 x i = 0, i = 1,...,n.
TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-2.139 Optimointioppi Kimmo Berg 7. harjoitus - ratkaisut 1. Oletetaan aluksi, että epäyhtälöt eivät ole aktiivisia p i > 0. Tässä tapauksess KKTehdot
73125 MATEMAATTINEN OPTIMOINTITEORIA 2
73125 MATEMAATTINEN OPTIMOINTITEORIA 2 Risto Silvennoinen Tampereen teknillinen yliopisto, kevät 2004 1. Peruskäsitteet Optimointiteoria on sovelletun matematiikan osa-alue, jossa tutkitaan funktioiden
Luento 6: Monitavoitteinen optimointi
Luento 6: Monitavoitteinen optimointi Monitavoitteisessa optimointitehtävässä on useita optimoitavia kohdefunktioita eli ns kriteereitä: f,,f m Esimerkki ortfolion eli arvopaperijoukon optimoinnissa: f
Malliratkaisut Demot
Malliratkaisut Demot 2.2.217 Tehtävä 1 Edellisten demojen tehtävä oli muotoa max 3x 1 + 4x 2 s.t. 7x 1 + 3x 2 24 : v 1 x 1 + 4x 2 17 : v 2 x 2 3 : v 3 x 1, x 2. Kohdefunktio voitiin kirjoittaa myös muotoon
Mat Lineaarinen ohjelmointi
Mat-2.34 Lineaarinen ohjelmointi..27 Luento 5 Simplexin implementaatioita (kirja 3.2-3.5) Lineaarinen ohjelmointi - Syksy 27 / Luentorunko (/2) Simplexin implementaatiot Naiivi Revised Full tableau Syklisyys
Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu
Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu Merkintöjä := vasen puoli määritellään oikean puolen lausekkeella s.e. ehdolla; siten että (engl. subject to, s.t.) on voimassa
Trimmitysongelman LP-relaksaation ratkaiseminen sarakkeita generoivalla algoritmilla ja brute-force-menetelmällä
Trimmitysongelman LP-relaksaation ratkaiseminen sarakkeita generoivalla algoritmilla ja brute-force-menetelmällä Vesa Husgafvel 19.11.2012 Ohjaaja: DI Mirko Ruokokoski Valvoja: Prof. Harri Ehtamo Työn
Piiri K 1 K 2 K 3 K 4 R R
Lineaarinen optimointi vastaus, harj 1, Syksy 2016. 1. Teollisuuslaitos valmistaa piirejä R 1 ja R 2, joissa on neljää eri komponenttia seuraavat määrät: Piiri K 1 K 2 K 3 K 4 R 1 3 1 2 2 R 2 4 2 3 0 Päivittäistä
12. Hessen matriisi. Ääriarvoteoriaa
179 12. Hessen matriisi. Ääriarvoteoriaa Tarkastelemme tässä luvussa useamman muuttujan (eli vektorimuuttujan) n reaaliarvoisia unktioita : R R. Edellisessä luvussa todettiin, että riittävän säännöllisellä
. 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
TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-.39 Optimointioppi Kimmo Berg 8. harjoitus - ratkaisut. a)huomataan ensinnäkin että kummankin jonon raja-arvo r on nolla. Oletetaan lisäksi että
Harjoitus 6 ( )
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,
Aki Taanila LINEAARINEN OPTIMOINTI
Aki Taanila LINEAARINEN OPTIMOINTI 26.4.2011 JOHDANTO Tässä monisteessa esitetään lineaarisen optimoinnin alkeet. Moniste sisältää tarvittavat Excel ohjeet. Viimeisin versio tästä monisteesta ja siihen
Malliratkaisut Demot
Malliratkaisut Demot 5 2.2.28 Tehtävä a) Tehtävä voidaan sieventää muotoon max 5x + 9x 2 + x 3 s. t. 2x + x 2 + x 3 x 3 x 2 3 x 3 3 x, x 2, x 3 Tämä on tehtävän kanoninen muoto, n = 3 ja m =. b) Otetaan
Mat Optimointiopin seminaari
Lähde: Preferenssi-informaatio DEA-malleissa: Value Efficiency Analysis (VEA) -menetelmä Mat-2.4142 Optimointiopin seminaari 23.3.2011 Halme, M., Joro, T., Korhonen, P., Wallenius, J., 1999. A Value Efficiency
Epätäydellisen preferenssi-informaation huomioon ottavien päätöksenteon tukimenetelmien vertailu (aihe-esittely)
Epätäydellisen preferenssi-informaation huomioon ottavien päätöksenteon tukimenetelmien vertailu (aihe-esittely) Vilma Virasjoki 23.01.2012 Ohjaaja: Jouni Pousi Valvoja: Raimo P. Hämäläinen Työn saa tallentaa
Operatioanalyysi 2011, Harjoitus 3, viikko 39
Operatioanalyysi 2011, Harjoitus 3, viikko 39 H3t1, Exercise 3.1. H3t2, Exercise 3.2. H3t3, Exercise 3.3. H3t4, Exercise 3.4. H3t5 (Exercise 3.1.) 1 3.1. Find the (a) standard form, (b) slack form of the
MS-C1340 Lineaarialgebra ja
MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Vektoriavaruudet Riikka Kangaslampi kevät 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Idea Lineaarisen systeemin ratkaiseminen Olkoon
Lineaariset kongruenssiyhtälöryhmät
Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................
MS-A0004/A0006 Matriisilaskenta
4. MS-A4/A6 Matriisilaskenta 4. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto..25 Tarkastellaan neliömatriiseja. Kun matriisilla kerrotaan vektoria, vektorin
Monitavoitteiseen optimointiin soveltuvan evoluutioalgoritmin tarkastelu
Monitavoitteiseen optimointiin soveltuvan evoluutioalgoritmin tarkastelu (Valmiin työn esittely) 11.4.2011 Ohjaaja: Ville Mattila Valvoja: Raimo Hämäläinen Työn tavoite Tutkia evoluutioalgoritmia (Lee
monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.
Epätäydellisen preferenssiinformaation hyödyntäminen monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi 15.1.2018 Ohjaaja: Prof. Kai Virtanen Valvoja: Prof. Kai Virtanen Tausta Päätöspuu
Jälki- ja herkkyysanalyysi. Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun
Jälki- ja herkkyysanalyysi Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun 1 Hinnat ja varjohinnat Objektifunktio c T x = Kerroin c j ilmoittaa, paljonko
Malliratkaisut Demot 6,
Malliratkaisut Demot 6, 19.2.21 Tehtävä 1 Edellisten demojen tehtävä oli muotoa max 3x 1 + 4x 2 s.t. 7x 1 + 3x 2 24 : v 1 x 1 + 4x 2 17 : v 2 x 2 3 : v 3 x 1, x 2. Kohdefunktio voitiin kirjoittaa myös
Harjoitus 4: Matlab - Optimization Toolbox
Harjoitus 4: Matlab - Optimization Toolbox Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Optimointimallin muodostaminen
Optimaalisuusehdot. Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0
Optimaalisuusehdot Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0 i = 1,..., m j = 1,..., l missä f : R n R, g i : R n R kaikilla i = 1,..., m, ja h j : R n R kaikilla j = 1,..., l
Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35
Numeeriset menetelmät TIEA381 Luento 8 Kirsi Valjus Jyväskylän yliopisto Luento 8 () Numeeriset menetelmät 11.4.2013 1 / 35 Luennon 8 sisältö Interpolointi ja approksimointi Funktion approksimointi Tasainen
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016
Demo 1: Simplex-menetelmä
MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x
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.
Vapaus Määritelmä Oletetaan, että v 1, v 2,..., v k R n, missä n {1, 2,... }. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee: jos c 1 v 1 + c 2 v 2 +
4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä
JYVÄSKYLÄN YLIOPISTO 4. Luennon sisältö Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä kevät 2012 TIEA382 Lineaarinen ja diskreetti optimointi Lineaarinen optimointitehtävä Minimointitehtävä
Kimppu-suodatus-menetelmä
Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.
3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset
31 MS-A0004/A0006 Matriisilaskenta 3 Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2292015 Lineaariset yhtälöt ovat vektoreille luonnollisia yhtälöitä, joita
Lineaarinen optimointitehtävä
Lineaarinen optimointitehtävä Minimointitehtävä yhtälörajoittein: min kun n j=1 n j=1 c j x j a ij x j = b i x j 0 j = 1,..., n i = 1,..., m Merkitään: z = alkuperäisen objektifunktion arvo käsiteltävänä
1 Lineaariavaruus eli Vektoriavaruus
1 Lineaariavaruus eli Vektoriavaruus 1.1 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä V epätyhjä joukko. Oletetaan, että joukossa V on määritelty laskutoimitus
Taustatietoja ja perusteita
Taustatietoja ja perusteita Vektorit: x R n pystyvektoreita, transpoosi x T Sisätulo: x T y = n i=1 x i y i Normi: x = x T x = ni=1 x 2 i Etäisyys: Kahden R n :n vektorin välinen etäisyys x y 1 Avoin pallo:
Numeeriset menetelmät
Numeeriset menetelmät Luento 5 Ti 20.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 5 Ti 20.9.2011 p. 1/40 p. 1/40 Choleskyn menetelmä Positiivisesti definiiteillä matriiseilla kolmiohajotelma
TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010
TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010 Optimaalisuus: objektiavaruus f 2 min Z = f(s) Parhaat arvot alhaalla ja vasemmalla
Portfoliolähestymistapa CO2 - kiilapelin analysoinnissa (valmiin työn esittely) Tuomas Lahtinen
Portfoliolähestymistapa CO2 - kiilapelin analysoinnissa (valmiin työn esittely) Tuomas Lahtinen 07.05.2012 Ohjaaja: Raimo Hämäläinen Valvoja: Raimo Hämäläinen Työn saa tallentaa ja julkistaa Aalto-yliopiston
Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:
8 Kanta Tässä luvussa tarkastellaan aliavaruuden virittäjävektoreita, jotka muodostavat lineaarisesti riippumattoman jonon. Merkintöjen helpottamiseksi oletetaan luvussa koko ajan, että W on vektoreiden
Avaruuden R n aliavaruus
Avaruuden R n aliavaruus 1 / 41 Aliavaruus Esimerkki 1 Kuva: Suora on suljettu yhteenlaskun ja skalaarilla kertomisen suhteen. 2 / 41 Esimerkki 2 Kuva: Suora ei ole suljettu yhteenlaskun ja skalaarilla
Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.
2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =
Lentotiedustelutietoon perustuva tykistön tulenkäytön optimointi (valmiin työn esittely)
Lentotiedustelutietoon perustuva tykistön tulenkäytön optimointi (valmiin työn esittely) Tuukka Stewen 1.9.2017 Ohjaaja: DI Juho Roponen Valvoja: prof. Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston
Preference Programming viitekehys: epätäydellisen preferenssi-informaation elisitointi ja mallintaminen, dominanssi
Preference Programming viitekehys: epätäydellisen preferenssi-informaation elisitointi ja mallintaminen, dominanssi Mat-2.4142 Optimointiopin seminaari 9.2.2011 Lähteet: Salo, A. & Hämäläinen, R. P., 2010.
Päättelyn voisi aloittaa myös edellisen loppupuolelta ja näyttää kuten alkupuolella, että välttämättä dim W < R 1 R 1
Lineaarialgebran kertaustehtävien b ratkaisuista. Määritä jokin kanta sille reaalikertoimisten polynomien lineaariavaruuden P aliavaruudelle, jonka virittää polynomijoukko {x, x+, x x }. Ratkaisu. Olkoon
802320A LINEAARIALGEBRA OSA I
802320A LINEAARIALGEBRA OSA I Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LINEAARIALGEBRA 1 / 72 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä
1 Johdanto LP tehtävän luonteen tarkastelua Johdanto herkkyysanalyysiin Optimiarvon funktio ja marginaalihinta
Sisältö Johdanto 2 LP tehtävän luonteen tarkastelua 3 Johdanto herkkyysanalyysiin 5 2 Optimiarvon funktio ja marginaalihinta 5 3 Johdanto duaaliteoriaan 6 2 LP-tehtävän standardimuoto 9 Johdanto Optimoinnista
Malliratkaisut Demot
Malliratkaisut Demot 1 23.1.2017 1. Päätösmuuttujiksi voidaan valita x 1 : tehtyjen peruspöytin lukumäärä x 2 : tehtyjen luxuspöytien lukumäärä. Optimointitehtäväksi tulee max 200x 1 + 350x 2 s. t. 5x
Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen
Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen Jos sallittuja kokonaislukuratkaisuja ei ole kovin paljon, ne voidaan käydä kaikki läpi yksitellen Käytännössä tämä ei kuitenkaan ole yleensä mahdollista
Johdatus verkkoteoriaan luento Netspace
Johdatus verkkoteoriaan luento 3.4.18 Netspace Matriisioperaatio suunnatuissa verkoissa Taustoitusta verkkoteorian ulkopuolelta ennen kuljetusalgoritmia LP-ongelma yleisesti LP = linear programming =
9. Lineaaristen differentiaaliyhtälöiden ratkaisuavaruuksista
29 9 Lineaaristen differentiaaliyhtälöiden ratkaisuavaruuksista Tarkastelemme kertalukua n olevia lineaarisia differentiaaliyhtälöitä y ( x) + a ( x) y ( x) + + a ( x) y( x) + a ( x) y= b( x) ( n) ( n
Vektoreiden virittämä aliavaruus
Vektoreiden virittämä aliavaruus Määritelmä Oletetaan, että v 1, v 2,... v k R n. Näiden vektoreiden virittämä aliavaruus span( v 1, v 2,... v k ) tarkoittaa kyseisten vektoreiden kaikkien lineaarikombinaatioiden
MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt
MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Vektoriavaruudet Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2015 1 / 17 R. Kangaslampi Vektoriavaruudet Vektoriavaruus
Gaussin ja Jordanin eliminointimenetelmä
1 / 25 : Se on menetelmä lineaarisen yhtälöryhmän ratkaisemiseksi. Sitä käytetään myöhemmin myös käänteismatriisin määräämisessä. Ideana on tiettyjä rivioperaatioita käyttäen muokata yhtälöryhmää niin,
Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi.
5..0 Tehtävä Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi. (c) (d) Arvostelu Kanta on degeneroitunut jos ja vain jos sitä vastaava kantamatriisi on singulaarinen. Optimissa muuttujan
6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa
JYVÄSKYLÄN YLIOPISTO 6. Luennon sisältö Lineaarisen optimoinnin duaaliteoriaa työkalu ratkaisun analysointiin Jälki- ja herkkyysanalyysiä mitä tapahtuu optimiratkaisulle, jos tehtävän vakiot hieman muuttuvat
Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.
2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2
Ennakkotehtävän ratkaisu
Ennakkotehtävän ratkaisu Ratkaisu [ ] [ ] 1 3 4 3 A = ja B =. 1 4 1 1 [ ] [ ] 4 3 12 12 1 0 a) BA = =. 1 + 1 3 + 4 0 1 [ ] [ ] [ ] 1 0 x1 x1 b) (BA)x = =. 0 1 x 2 x [ ] [ ] [ 2 ] [ ] 4 3 1 4 9 5 c) Bb
Malliratkaisut Demo 4
Malliratkaisut Demo 4 1. tehtävä a) f(x) = 2x + 21. Funktio on lineaarinen, joten se on unimodaalinen sekä maksimoinnin että imoinnin suhteen. Funktio on konveksi ja konkaavi. b) f(x) = x (pienin kokonaisluku
JYVÄSKYLÄN YLIOPISTO. 3. Luennon sisältö
JYVÄSKYLÄN YLIOPISTO 3. Luennon sisältö Lineaarisen optimointitehtävän sallittu alue Optimointitehtävien muunnoksia Lineaarisen yhtälöryhmän perusmuoto ja perusratkaisut Lineaarisen optimointitehtävän
Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala
Simplex-algoritmi T-6.5 Informaatiotekniikan seminaari..8, Susanna Moisala Sisältö Simplex-algoritmi Lähtökohdat Miten ongelmasta muodostetaan ns. Simplextaulukko Miten haetaan käypä aloitusratkaisu Mitä
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14
Kandidaatintyön esittely: Epätäydellisen preferenssi-informaation huomioon ottavien päätöksenteon tukimenetelmien vertailu
Kandidaatintyön esittely: Epätäydellisen preferenssi-informaation huomioon ottavien päätöksenteon tukimenetelmien vertailu Vilma Virasjoki 19.11.2012 Ohjaaja: DI Jouni Pousi Valvoja: Professori Raimo P.
1 Rajoitettu optimointi I
Taloustieteen mat.menetelmät 2017 materiaali II-1 1 Rajoitettu optimointi I 1.1 Tarvittavaa osaamista Matriisit ja vektorit, matriisien de niittisyys Derivointi (mm. ketjusääntö, Taylorin kehitelmä) Implisiittifunktiolause
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016 Antti Rasila
6 Vektoriavaruus R n. 6.1 Lineaarikombinaatio
6 Vektoriavaruus R n 6.1 Lineaarikombinaatio Määritelmä 19. Vektori x œ R n on vektorien v 1,...,v k œ R n lineaarikombinaatio, jos on olemassa sellaiset 1,..., k œ R, että x = i v i. i=1 Esimerkki 30.
Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen
Hävittäjälentokoneen reitin suunnittelussa käytettävän dynaamisen ja monitavoitteisen verkko-optimointitehtävän ratkaiseminen A*-algoritmilla (valmiin työn esittely) Joonas Haapala 8.6.2015 Ohjaaja: DI