Sekalukuoptimointi. Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, Tietojenkäsittelytieteen laitos Helsingin Yliopisto

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

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Mat Lineaarinen ohjelmointi

Harjoitus 6 ( )

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Kimppu-suodatus-menetelmä

Luento 4: Lineaarisen tehtävän duaali

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Malliratkaisut Demot

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Osakesalkun optimointi

Harjoitus 6 ( )

Search space traversal using metaheuristics

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

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

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

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!

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

Mat Lineaarinen ohjelmointi

Harjoitus 4: Matlab - Optimization Toolbox

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Piiri K 1 K 2 K 3 K 4 R R

73125 MATEMAATTINEN OPTIMOINTITEORIA 2

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

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Mat Lineaarinen ohjelmointi

Demo 1: Simplex-menetelmä

Gradient Sampling-Algoritmi

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

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

Optimoinnin sovellukset

Lineaarinen optimointitehtävä

3.4 Peruutus (backtracking)

Pisteen x lähistö koostuu kaikista ratkaisuista, jotka on saatu x:stä tekemällä siihen yksi siirto:

Kombinatorinen optimointi

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

Matemaattinen optimointi I -kurssin johdantoluento Prof. Marko M. Mäkelä Turun yliopisto Matematiikan ja tilastotieteen laitos

Demo 1: Branch & Bound

Johdatus verkkoteoriaan 4. luento

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

Operatioanalyysi 2011, Harjoitus 3, viikko 39

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

Este- ja sakkofunktiomenetelmät

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

Johdatus verkkoteoriaan luento Netspace

Algoritmit 2. Luento 12 To Timo Männikkö

Tietorakenteet ja algoritmit

Algoritmit 2. Luento 11 Ti Timo Männikkö

Monitavoiteoptimointi

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

Luento 6: Monitavoitteinen optimointi

. 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

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

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

Lineaaristen monitavoiteoptimointitehtävien

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

Luento 7: Kokonaislukuoptimointi

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

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

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

Muita rekisteriallokaatiomenetelmiä

Algoritmit 1. Luento 12 Ti Timo Männikkö

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Algoritmit 2. Luento 6 To Timo Männikkö

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

Diskreettiaikainen dynaaminen optimointi

Esteet, hyppyprosessit ja dynaaminen ohjelmointi

Mat Lineaarinen ohjelmointi

Algoritmit 1. Luento 12 Ke Timo Männikkö

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Lineaarisen ohjelman määritelmä. Joonas Vanninen

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Harjoitus 3 ( )

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

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

Harjoitus 3 ( )

Numeeriset menetelmät

Työvuorosuunnittelun optimointi (valmiin työn esittely)

PARITUS KAKSIJAKOISESSA

Optimointi. Etsitään parasta mahdollista ratkaisua annetuissa olosuhteissa. Ongelman mallintaminen. Mallin ratkaiseminen. Ratkaisun analysointi

Mat Lineaarinen ohjelmointi

monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.

Algoritmit 1. Luento 2 Ke Timo Männikkö

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

TIES483 Epälineaarinen optimointi

Kirjallisuuskatsaus sisäpistemenetelmiin ja niiden soveltamiseen eri optimointiluokille (valmiin työn esittely)

MS-C1340 Lineaarialgebra ja

TIEA382 Lineaarinen ja diskreetti optimointi

Algoritmit 2. Luento 6 Ke Timo Männikkö

Geneettiset algoritmit

Edellä on tarkasteltu luettelointimenetelmiä, jotka ainakin periaatteessa

Algoritmit 2. Luento 4 To Timo Männikkö

T Informaatiotekniikan seminaari: Kombinatorinen Optimointi

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Transkriptio:

Sekalukuoptimointi Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, 2000-10-11 Tietojenkäsittelytieteen laitos Helsingin Yliopisto 1

Tiivistelmä Seminaarin aihe käsittelee globaalin optimoinnin erästä erikoistapausta, jota kutsutaan sekalukuoptimoinniksi (PL[HGLQWHJHUSURJUDPPLQJ0,3) sekä esitellään kolme yleisintä menetelmää MIP ongelmien ratkaisemiseksi. 2

Sisältö -RKGDQWR %UDQFKDQG%RXQG +\EULGLPHQHWHOPlW <KWHHQYHWR 3

1 Johdanto Epälineaarisen optimoinnin (1/3) kaikista vaikeimpana osa-alueena pidetään globaalia optimointia (*OREDORSWLPL]DWLRQ). Globaalilla optimoinnilla tarkoitetaan yleensä matemaattista ohjelmointia, jossa ei tehdä olettamuksia ongelman ominaisuuksista (QR FRQYH[LW\DVVXPSWLRQV). Tästä johtuen globaali optimointi ongelmat ovat yleensä vaikeita ratkoa tarkasti ja ovat yleensä NP-kovia. Globaalissa optimoinnissa käytetyimpiä menetelmiä ovat Branch and Bound Klusterointi Menetelmät (ei käsitellä) Evoluutio Algoritmit (ei käsitellä) Hybridi Menetelmät Simuloitu Jäähdytys (ei käsitellä) Tilastolliset Menetelmät (ei käsitellä) Tabu Haku (ei käsitellä). Globaalilla optimoinnilla on erikoistapaus, jossa osalla ongelman ratkaisun muuttujien odotetaan saavan sekä jatkuvia- että kokonaislukuarvoja. Nämä ongelmat tunnetaan nimellä sekalukuoptimointi (0L[HG,QWHJHU>1RQOLQHDU@3URJUDPPLQJ0,1/3 tai 0,3)., (1.1) Sekalukuoptimointi esitetään, esimerkiksi minimointi, muodossa min I ( \, [) rajoitteet J ( \, [) = 0 L K ( \, [) < 0 P Q missä \ Ζ [ 5 tällöin puhutaan 0/1-optimoinnista. L ja. Hyvin usein muuttujat \ { 0, ± 1} ja erityisesti jos { 0,1} \, niin Sekalukuoptimointia voidaan käyttää lähes kaikkiin diskreetetihin 2 optimointi ongelmiin. Sitä on käytetty erityisen paljon käytännön ongelmissa niin kuljetus- kuin valmistusteollisuudessa: lentovuorohenkilöstön aikataulusuunnittelussa, ajoneuvojen reitin suunnittelussa, tuotannon suunnittelussa jne. 1 Optimointi ongelma, joka on NP-kova (13KDUG) tarkoittaa, että ongelman ratkaisu on riippuvainen NPtäydellisen (13FRPSOHWH) ongelman ratkaisusta. Niinpä NP-kovat ongelmat ovat vähintään yhtä hankalia, kuin NP-täydelliset ongelmat. NP-täydellisille (13FRPSOHWH) ongelmille ei tunneta polynomisessa ajassa toimivia algoritmeja. 2 Diskreetti tarkoittaa ei-jatkuva. 4

2 Branch and Bound Rajaa ja haaraudu (EUDQFKDQGERXQG) on yleinen hakumenetelmä [1], joka on osoittanut olevansa tehokas käytännön ongelmissa. Lisäksi sillä on etuna kyky ratkoa lineaarisia ongelmia aliongelmina ilman kokonaisluku rajoituksia. Menetelmän kuvaus Branch and bound aloitetaan alkuperäinen ongelman täydellisellä käypällä alueella, jota myös kutsutaan juuriongelmaksi (URRWSUREOHP). Ala- ja yläraja ohjelmia käytetään juuriongelmaan. Jos rajat täsmäävät, niin silloin optimaalinen ratkaisu on löytynyt ja rajausohjelma päättyy. Ellei, niin käypä alue jaetaan kahteen tai useampaan alueeseen, jotka yhdessä kattavat ideaali tapauksessa alkuperäisen käyvän alueen. Nämä aliongelmat ovat alkuperäisen ongelman lapsia ja menetelmää sovelletaan aliongelmiin rekursiivisesti. Näin muodostuu aliongelmien puu. Jos optimaalinen ratkaisu on löytynyt aliongelmassa, niin se on käypä ratkaisu juuriongelmalle, mutta se välttämättä ole globaali ratkaisu. Koska löydetyt ratkaisut ovat käypiä, niin niitä voidaan käyttää etsintäpuun karsimiseen. Jos solmun alaraja ylittää parhaan tunnetun käyvän ratkaisun, niin aliongelman hakupuusta ei voi löytyä globaalia ratkaisua. Näin aliongelma voidaan poistaa hakupuusta. Etsintä jatkuu, kunnes kaikki hakupuun solmut ovat käyty läpi tai karsittu tai kunnes annettu tarkkuus etsinnässä on saavutettu parhaan löydetyn tuloksen ja kaikkien ratkaistujen aliongelmien alarajojen välillä. {0,1,2,3,4} {0,1,2} {3,4} {0,1} {2} {0}.XYD.DUVLWWXHWVLQWlSXX 5

Muunnokset perinteisestä Branch and Bound menetelmästä Perinteistä Branch and bound menetelmää on tutkittu paljonkin ja erityisesti on kehitetty menetelmiä, joilla voidaan tehokkaammin rajoittaa hakupuun kokoa. Näitä paranneltuja menetelmiä ovat mm /HLNNDDMDKDDUDXGX%UDQFKDQG&XW Tässä menetelmässä alaraja saadaan LP:n avulla. Optimaalinen tulos tälle LP ongelmalle on käypän alueen polytoopin kärjessä. Jos optimaalinen ratkaisu ei ole kokonaisluku, niin algoritmi etsii rajoitteen, joka rikkoo saatua tulosta ja joka ei riko ainuttakaan kokonaisluku ratkaisua. Tätä rajoitusta kutsutaan leikkaustasoksi (FXWWLQJSODQH). Kun tämä rajoite lisätään LP ongelmaan, niin alkuperäinen ratkaisu ei enää ole validi ja uusi optimi voi olla erilainen, mahdollisesti paremman alarajan tarjoava. Leikkaustasoja kerätään, kunnes löydetään kokonaisluku ratkaisu tai ei enää löydy leikkaustasoja tai niiden kerääminen käy liian kalliksi. Viimeksi mainitussa tapauksessa perinteinen branch and bound suoritetaan ja leikkaustasojen etsintää jatketaan aliongelmissa. +LQQRLWWHOHMDKDDUDXGX%UDQFKDQG3ULFH Tätä menetelmää voidaan käyttää tapauksiin, joissa on liian monta muuttujaa, jotka määrittelevät ongelman. Menetelmässä käytetään vain osaa muuttujista (DFWLYHVHW) ja uusia otetaan käyttöön tarvittaessa LP ongelman ratkaisua etsittäessä. Tämä menetelmä on hyvin ongelma riippuvainen ja voi olla vuorovaikutuksessa haarautumis päätösten kanssa. Menetelmän rajoitukset Jotta branch and bound algoritmia voitaisiin käyttää täytyy seuraavien ehtojen täyttyä. Ongelmassa täytyy olla mahdollista laskea ongelman osaratkaisuille alaraja. Lisäksi pitää olla mahdollista käyvän rajan jakaminen kahteen tai useampaan alueeseen, Sekä laskea ylärajat ainakin joillekin ratkaisuille. Käytännössä pitää olla myös mahdollista laskea yläraja ei-triviaaleille käyville alueille. Ongelmat Pahin ongelma branch and bound menetelmissä on se, että se voi vaatia suurien määrien NLP aliongelmien ratkaisua. Tämä riippuu kokonaisluku muuttujien lukumäärästä. Ongelman ratkaisun löytyminen vaatii MINLP ongelmalta joitain konveksisuus ominaisuuksia. 6

3 Hybridi menetelmät Ulkoinen approksimaatio (RXWHUDSSUR[LPDWLRQ2$) ja yleistetty Benderin hajotelma (Generalized Benders decomposition, GBD) menetelmät ratkaisevat MINLP ongelmat iteroimalla. Alkuperäinen ongelma on hajotettu NLP aliongelmaksi (kiinteät kokonaisluku arvot) sekä MILP pääongelmaksi (PDVWHUSUREOHP). NLP aliongelma optimoi jatkuvat muuttujat ja antaa ylärajan MINLP ongelmalle. Vastaavasti MILP pääongelma ennakoi alarajan MINLP ongelmalle sekä uudet kokonaisluku muuttujat jokaiselle kierrokselle. Haku päättyy, kun ennustettu alaraja on yhtäsuuri tai suurempi kuin nykyinen yläraja MINLP ongelman määrittely Yläraja NLP aliongelma Alaraja MILP pääongelma Alaraja pienempi kuin yläraja? Kyllä Ei.XYD6HNDOXNXRSWLPRLQWLSURVHVVL2$*%'PHQHWHOPLOOl Suurin ero ulkoisen approksimaation ja yleistetyn Benderin hajotelman välillä on MILP pääongelman määrittelyssä. Yleistetyssä Benderin hajotelmassa MILP pääongelma on annettu duaalina esityksenä jatkuvassa avaruudessa, kun taas ulkoisessa approksimaatiossa se on annettu primäärinä approksimaationa. Yleensä ulkoinen approksimaatio vaatii vähemmän iteraatio kierroksia, ja siten vähemmän NLP aliongelmia, mutta MILP pääongelmat vaativat enemmän laskentaa kuin yleinen Benderin hajotelma. 7

2XWHUDSSUR[LPDWLRQ On julkaistu suurehko joukko kirjallisuutta, joka käsittelee outer approximation menetelmiä, joiden alkuperä voidaan jäljittää leikkaustaso menetelmiin konvekseille ongelmille. Yksinkertaisin esimerkki käsitteellisestä menetelmästä, ongelma esitetään muodossa I ([, \) on jatkuva ja P [ 5 pätee Ω = Ψ ([) max I ([, \) (3.1) \ Ω min max I ([, \), missä (3.2) [ Q 5 \ < P Ω < 5 ovat kompakteja, millä on muoto, missä mille tahansa < ˆ ([) = arg max I ([, \ ). (3.3) \ < Q Data [ 0 5 Askel 0 Aseta L = 0, laske < ˆ( ) \ ja aseta Ω = { } 0 [ 0 + 1 arg minψ ([ Q Ω [ 5 [ L L Askel 1 Laske ) Askel 2 Laske ˆ + 1 < ˆ( [ + 1) Ω =Ω L L L Askel 3 Aseta L =L + 1 ja palaa askeleeseen yksi. 0 \ 0 \ ja aseta { } + 1 ˆ L +1 L \.XYD.lVLWWHHOOLQHQPHQHWHOPl 8

Ensimmäinen iteraatio Ψ([) Ψ([) Toinen iteraatio Ψ([) Kolmas iteraatio.xyd8onrlvhqdssurnvlpddwlrqylvxddolqhqwxonlqwd 9

*HQHUDOL]HG%HQGHUVGHFRPSRVLWLRQ Tarkisteltaessa sekalukuoptimointi ongelmaa min F[ + G\ rajoitteet $[ + %\ E [ 0 ja kokonaisluku \ 0 (3.4) Q Kiinteälle [ = + voidaan sisempi minimointi ongelma kirjoittaa LP muodossa min G\ rajoitteet %\ E $[ \ 0 (3.5) ja sen duaali on max u(b - Ax) rajoitteet ub d (3.6) u 0 Nyt voidaan kirjoittaa kokonaisluku ohjelmana min [, ] ] S rajoitteet ] F[ + X ( E $[ ) S = 1, K, Q S U 0 Y ( E $[ ) U = 1, K, QU, (3.7) [ 0 ja kokonaisluku S missä ] = F[ + max X ( E $[ ), S = 1, K, Q S alueen äärimmäisyys suuntavektorit. S X on käypän alueen äärimmäisyys pisteet ja U Y käypän Ongelmat Ongelman ratkaisun löytyminen vaatii MINLP ongelmalta joitain konveksisuus ominaisuuksia. 10

4 Yhteenveto MINLP menetelmät ovat tehokkaita hyvin isoissakin ongelmissa. Kirjallisuus tuntee tapauksia, joissa on käytetty satoja 0/1 muuttujia, tuhansia jatkuvia muuttujia ja tuhansia rajoitteita. Yksikään edellä kuvatuista metodeista ei ole ylivoimainen kaikissa sovelluksissa. 11

Kirjallisuus viitteet [1] P. Orponen, J. Tarhio ja E. Ukkonen. Algoritmien suunnittelu ja analyysi. Luentomuistiinpanoja. Tietojenkäsittelyopin laitos, Helsingin yliopisto, 1992. [2] S. Järvinen. Optimierungsbasierte Konfigurierung in intelligenten Decision Support Systemen. Technische Universität Helsinki, 1994. [3] E. Polak. Optimization; Algorithms and Consistent Approximations. Applied Mathematical Sciences vol 124. Springer, 1997. [4] J. F. Bard. Nonconvex optimization and its applications: Practical bilevel optimization: Algorithms and applications. Kluwen Academic Publishers, 1998. WWW viitteet http://www-fp.mcs.anl.gov/otc/guide/optweb/index.html (Optimoinnin yleiskatsaus) http://www-unix.mcs.anl.gov/otc/guide/faq/nonlinear-programming-faq.html (NLP FAQ) http://solon.cma.univie.ac.at/~neum/glopt.html (globaali optimointi) http://www.cs.sandia.gov/opt/survey/ (globaali optimointi) http://mat.gsia.cmu.edu/index.html (Michael Trick's Operations Research Page) http://www-fp.mcs.anl.gov/otc/guide/softwareguide/index.html (Optimointi ohjelmistot) http://pore.csc.fi/math_topics/gams/opas/opas.html (GAMS-ohjelmiston pikaopas) 12