73125 MATEMAATTINEN OPTIMOINTITEORIA 2 Risto Silvennoinen Tampereen teknillinen yliopisto, kevät 2004 1. Peruskäsitteet Optimointiteoria on sovelletun matematiikan osa-alue, jossa tutkitaan funktioiden suurimpien ja pienimpien arvojen hakua rajoitusehtojen sitomien muuttujien joukosta. Tämä sisältää klassisen differentiaalilaskennan ääriarvoteorian, mutta on huomattavasti laajempi. Optimoinnin teoria käsittelee mm. optimaalisuusehtoja, algoritmien kehittelyä ja olemassaolotarkasteluja. Sovellusten kannalta on oleellista mallin muodostaminen, jossa ilmiö (systeemi, tuote, komponentti, suunnitelma, ) kuvataan matemaattisesti niin, että optimointimenetelmiä voidaan käyttää. Tällä kurssilla mallien muodostamista harjoitellaan lukuisilla standardimalleilla, joita aikojen kuluessa on kehitetty ja jotka analogioiden kautta ovat osoittautuneet hyödyllisiksi alkuperäistä aluettaan laajemmaltikin. Optimointiprobleema on matemaattinen malli, jossa mallin muuttujia sitovat analyyttiset yhtälöt tai epäyhtälöt. Näitä kutsutaan rajoitusyhtälöiksi tai rajoitusepäyhtälöiksi, yhteiseltä nimeltään rajoitusehdot tai rajoitteet. Kaikki muuttujien arvot, jotka toteuttavat rajoitusehdot, ovat mallin käypiä ratkaisuja. Näiden keskinäinen vertailu tapahtuu kriteerien avulla, esimerkiksi minimoimalla kustannus, maksimoimalla luotettavuus jne. Perusmallissa optimoidaan yhden kriteerin suhteen kerrallaan, jolloin maksimoitava tai minimoitava kriteeri on optimointitehtävän kohdefunktio. Monitavoitteisessa optimoinnissa kohdefunktio on vektori, jonka komponentteina ovat optimoitavat kriteerit. Optimointiprobleemat luokitellaan muuttujien tyyppien ja rajoitefunktioiden tyyppien mukaan. Muuttujien mukaan jaettuna mallit ovat jatkuvia, kokonaislukumalleja tai sekalukumalleja. Jatkuvan mallin muuttujat ovat reaalilukuja, kokonaislukumallin kokonaislukuja ja sekalukumallissa on mukana molempia tyyppejä. Puhutaan myös diskreetistä optimoinnista, kun muuttujat saavat vain tietyn diskreetin joukon arvoja (ei välttämättä kokonaislukuja), mutta nämä voidaan aina muuntaa kokonaislukumalleiksi. Termiä diskreetti esiintyy myös muunnettaessa ääretönulotteisia tehtäviä äärellisulotteisiksi (esim. FEM), joka on eri asia. Jatkuvien muuttujien tehtävien ratkaiseminen on yleensä helpompaa ja laskennallisesti vähemmän vaativaa kuin kokonais- tai sekalukuprobleemoiden. Käytännössä kuitenkin useat mallit sisältävät ainakin osana kokonaislukumuuttujia, joita tarvitaan esimerkiksi loogisia ehtoja mallinnettaessa. Toinen jakoperuste on esiintyvien funktioiden tyyppi. Jos kaikki mallin funktiot ovat muotoa lineaarinen + vakio (affiini funktio), kyseessä on lineaarisen optimoinnin
2 probleema. Englanninkielinen termi on Linear Programming, josta on vakiintunut yleinen lyhenne LP. Lineaarisella optimoinnilla on tärkeydessään erityisasema optimoinnissa, mm. sen takia, että sille on olemassa muihin luokkiin verrattuna ylivoimaisen tehokkaita ratkaisualgoritmeja. Jos mukana on epälineaarisia funktioita, kyseessä on epälineaarisen optimoinnin probleema (Nonlinear Programming, NLP). Tämä voidaan edelleen jakaa osaluokkiin, kuten konveksi ja kvadraattinen optimointi. Kun molemmat luokittelut yhdistetään, saadaan esimerkiksi sovellusten kannalta kattavimmat lineaarinen sekalukuoptimointi (Mixed Integer Linear Programming, MILP) ja epälineaarinen sekalukuoptimointi (MINLP). Pelkästään kokonaislukuja sisältävä lineaarinen optimointi esiintyy myös nimellä Integer Programming (IP), ja jos nämä kokonaisluvut ovat erityisesti kaikki binäärilukuja, kyseessä on binäärioptimointi eli Binary Integer Programming (BIP). Tarkassa puhetavassa voidaan erottaa toisistaan probleema ja sen konkreettisilla numeroarvoilla esitetty tapaus (instanssi). Tässä kurssissa Matemaattinen optimointiteoria 2 käsitellään probleematyyppejä MINLP, MILP, IP ja BIP, kun taas LP ja NLP ovat kurssin 1 aihepiirinä. Jos nämä merkinnät kuvaavat kyseisten probleemoiden luokkia, niin on voimassa aitojen inkluusioiden ketjut MINLP NLP LP & MINLP MILP IP BIP. Yleisin optimointiprobleema tässä esityksessä on siis MINLP, jonka muoto on min f(x,y) h i (x,y)=0, i=1,,r g j (x,y) 0, j=1,,s x Z n, y R q Funktio f on tässä (skalaariarvoinen) kohdefunktio, funktiot h i ja g j ovat rajoitefunktioita ja muuttujavektori [x T,y T ] T kuuluu muuttuja-avaruuteen Z n R q (myös tilanteesta riippuen päätösavaruus tai suunnitteluavaruus). Joukko S = {[x T,y T ] T Z n R q h i (x,y)=0, i=1,,r; g j (x,y) 0, j=1,,s } on käypä joukko, jonka pisteet ovat optimointitehtävän käyvät ratkaisut. Tehtävän optimiratkaisu on sellainen käypä ratkaisu, joka antaa kohdefunktiolle pienimmän arvon. Minimoinnin sijasta voidaan f:ää maksimoida, tai käyttää yhteyttä max f(x) = - min (-f(x))
3 2. Kokonaislukuprobleemoiden muotoilusta Tarkastellaan puhdasta lineaarista kokonaislukuprobleemaa IP tai sen alalajia binääristä lineaarisen optimoinnin probleemaa BIP. Ne ovat standardissa epäyhtälömuodossaan max c T x (1) x P = {x R n Ax b} missä muuttuja x Z n,, x 0 (IP) tai x B n, B = {0,1} (BIP). Lähtökohtana on useimmiten alkuperäisestä ongelmasta saatu malli, jonka muoto on implisiittisempi: (2) max c T x x S Z n + (tai x S B n ) missä käypä joukko S on tehtävänannon kautta määritelty. Sen esitystä lineaaristen epäyhtälöiden avulla ei välttämättä tunneta. Jos on voimassa, että probleemoilla (2) ja (1) on samat käyvät joukot, niin sanotaan, että (1) on (2):n (IP/BIP-)muotoilu eli formulointi. Silloin siis pätee tai S = {x Z n Ax b, x 0}= P Z n + S = {x B n Ax b, x 0} = P B n. Kokonaislukuoptimoinnille on tyypillistä, että samalla tehtävällä on yleensä useita eri muotoiluja. Eri formuloinnit voivat erota paljonkin ratkaisemisen vaikeuden kannalta. Mitä suppeampi formuloinnissa esiintyvä joukko P on, sitä parempi muotoilu se on. Eli jos P 1 ja P 2 ovat probleemassa (1) esiintyviä epäyhtälöillä määriteltyjä joukkoja P ja P 1 P 2, niin P 1 :n kautta määritelty muotoilu (1) on parempi kuin P 2 :n avulla määritelty. Tehtävän muotoilu voidaan tehdä myös muuttujia lisäämällä, jolloin on kyse laajennetusta muotoilusta. Siinä ei siis muuttuja-avaruus pysy samana kuin alkuperäisessä probleemanasettelussa.
4 Esimerkkinä hahmottele piirtämällä kolme eri muotoilua probleemalle max x 1 + x 2 S ={(1,1), (2,1), (3,1), (1,2), (2,2), (3,2), (2,3)}. Äärellisen monen lineaarisen epäyhtälön avulla määritelty joukko R n :ssä on (konveksi) monitahokas. (Tasossa se on monikulmio.) Muotoilussa (1) esiintyvä joukko P on täten myös monitahokas. Kyse on siis sellaisten monitahokkaiden löytämisestä, jotka sisältävät probleeman käyvät pisteet, mutta eivät muita kokonaislukukomponenttisia pisteitä. Tätä kautta päästään käyttämään hyväksi lineaarista optimointia (joka tunnetusti on lineaarisen kohdefunktion optimointia monitahokkaassa). 3. Monitahokkaiden teoriaa Kuten edellä todettiin, monitahokkailla on merkittävä rooli kokonaislukuoptimoinnissa. Olkoon monitahokas (polyhedron) P määritelty mxnmatriisilla A ja vektorilla b R m : P = {x R n Ax b}. Monitahokas P on rationaalinen, jos A ja b voidaan valita rationaalikertoimisiksi. Tässä kurssissa oletamme, että P on aina rationaalinen. P on rajoitettu, jos se on R n :n joukkona rajoitettu, eli sisältyy äärellissäteiseen palloon tai äärellissivuiseen kuutioon. (Englanninkielessä rajoitettu monitahokas on polytope, tosin joissakin kirjoissa asia on päinvastoin, eli polyhedron on rajoitettu ja polytope yleinen monitahokas.) Monitahokas on konveksi joukko. (Joskus määritellään yleisempi käsite monitahokkaaksi, jolloin meidän käsitteemme on konveksi monitahokas.) Pisteiden x i (i=1,,r) lineaarikombinaatio x = c 1 x 1 + +c r x r on konveksi kombinaatio, jos kertoimet c i ovat ei-negatiivisia ja niiden summa = 1. Joukon S R n konveksi verho co(s) on S:n pisteiden kaikkien konveksien kombinaatioiden muodostama joukko. Se on suppein konveksi joukko, joka sisältää S:n. Osoittautuu, että kaikki rajoitetut monitahokkaat ovat äärellisten pistejoukkojen konvekseja verhoja.
5 Pisteet x i (i=1,,k) ovat affiinisti riippumattomia, jos ehdoista c 1 x 1 + +c k x k = 0 & c 1 + + c k = 0 seuraa c 1 = = c k = 0. Yhtäpitävää tämän kanssa on, että vektorit x 2 -x 1, x k -x 1 ovat lineaarisesti riippumattomia. Edelleen yhtäpitävää affiinille riippumattomuudelle on, että R n+1 :n vektorit [x i T,-1] T (i=1,,k) ovat lineaarisesti riippumattomia. Näistä nähdään, että enimmillään R n :n affiinisti riippumattomassa pistejoukossa voi olla n+1 pistettä (siis dimensio plus yksi). Yhtälöryhmällä Ax = b on korkeintaan n+1-rank(a) affiinisti riippumatonta ratkaisua. (A ja b ovat kuten P:n määritelmässä). Monitahokkaan P dimensio eli ulottuvuus on k, jos suurin määrä affiinisti riippumattomia pisteitä P:ssä on k+1. Monitahokkaan P R n ulottuvuus on täysi, jos dim(p)=n. Monitahokkaan P määritelmässä Ax b on m lineaarista epäyhtälöä A i x b i (i=1,,m), missä A i on A:n i:s vaakarivi. Osa näistä voi toteutua yhtälönä koko P:ssä. Merkitään A = :llä sitä matriisin A osaa, joka koostuu tällaisista riveistä, ja loppuja A < :llä. Vastaavasti vektorille b. Siis Ax b jakautuu kahteen osaan, A = x b = ja A < x b <. Monitahokkaiden dimensiolause on silloin: dim(p) + rank([a =,b = ]) = n. Tästä seuraa, että monitahokkaan dimensio on täysi, jos ja vain jos sillä on sisäpisteitä.
6 Monitahokkaan P = {x R n Ax b} esityksessä voi olla "tarpeettomiakin" epäyhtälöitä. Epäyhtälöä α T x β sanotaan voimassa-olevaksi epäyhtälöksi (valid inequality), jos P:n kaikki pisteet toteuttavat sen. Silloin P sijaitsee kyseisen epäyhtälön määräämässä puoliavaruudessa, jonka reunana on (hyper)taso α T x = β. Jos epäyhtälö ei toteudu yhtälönä yhdessäkään P:n pisteessä, se voidaan jättää P:n määrittelystä pois. Ne epäyhtälöt, jotka toteutuvat osassa P:tä yhtälönä, tukevat P:tä ja niiden määräämää tasoa sanotaan P:n tukitasoksi. Monitahokkaan tahkoja (face) ovat kaikki tukitasojen ja P:n leikkaukset. Tahko F on siis muotoa F = {x R n α T x = β} P jollakin monitahokkaan P voimassaolevalla epäyhtälöllä α T x β. Yhtälö tai geometrisesti sanottuna taso α T x = β on silloin tahkon esitys. Tahko on aito, jos se ei ole tyhjä eikä koko P. Tahkot ovat itsekin monitahokkaita, ja niitä voidaan luokitella P:n tahkoina dimensioidensa mukaan seuraavasti: - F on kärki(piste), jos dim(f) = 0 - F on särmä, jos dim(f) = 1 - F on viiste, jos dim(f) = dim(p)-1. Englanninkieliset termit ovat extreme point, edge ja facet. (Suomenkieliset nimitykset eivät kaikki ole vakiintuneita.) Kolmiulotteissa avaruudessa olevalla täysulotteisella monitahokkaalla on vain kärkiä, särmiä ja viisteitä tahkoina, mutta korkeampiulotteisissa avaruuksissa monitahokkailla voi olla tahkoja, joiden dimensio on välillä [2, dim(p)-2] ja jotka eivät ole mitään edellä mainituista tyypeistä. Viisteen tapauksessa on aina olemassa ryhmään A < x b < kuuluva epäyhtälö, joka toteutuu viisteessä yhtälönä. Silloin monitahokkaaseen jää myös pisteitä, joissa kyseinen epäyhtälö toteutuu aitona. Osoittautuu, että monitahokkaan määräämiseksi riittää ottaa ryhmästä A < x b < viisteiden esitykset, alempiulotteisten tahkojen esitykset ovat redundantteja. Ja jokaiselle viisteelle riittää yksi esitys, joka on skalaarikertolaskua vaille yksikäsitteinen. Jos monitahokkaalla P = {x R n Ax b} on rank(a) = n-k, niin P:n dimensioltaan alhaisin tahko on k-ulotteinen. Jos siis rank(a) = n, niin P:llä on kärkipisteitä. Kärkipistettä karakterisoi myös ominaisuus, että se ei ole minkään kahden muun P:n pisteen välissä aidosti eli se on P:n ääripiste. Vektori d 0 on monitahokkaan säde (äärettömyyssuunta), jos jokaisella x P pisteet x + td kuuluvat P:hen kaikilla t>0. Äärisäde on sellainen säde, joka ei ole P:n kahden muun säteen välissä aidosti. Silloin nähdään, että d on P:n äärisäde, jos ja vain jos {td t>0} on P:n yksiulotteinen tahko. Monitahokkaan voi "rakentaa" sen kärkipisteistä ja äärisäteistä:
7 Monitahokkaiden esityslause (Minkowski) Olkoon P = {x R n Ax b} epätyhjä monitahokas, jolla rank(a)=n. Silloin P={x x = c 1 x 1 + c N x N + t 1 d 1 + t K d K c 1 +c 2 + c N =1, c i 0, t j 0 }, missä pisteet x i ovat P:n kärkipisteet ja vektorit d j P:n äärisäteet. (Todistukset tässä pykälässä esitettyihin tuloksiin, ks. Nemhauser-Wolsey, luku I.4.)