7/23/2019 Optimo Inti
1/127
Luento 1: Optimointimallin muodostaminen;
optimointitehtavien luokittelu
Merkintoja
:= vasen puoli maaritellaan oikean puolen lausekkeellas.e. ehdolla; siten etta (engl. subject to, s.t.) vasemman puolen lausekkeesta seuraa oikean puolen lauseke vasemman puolen lauseke on yhta pitava oikean puolen lausekkeen kanssa on voimassa jokaisella on olemassa ei ole olemassa
AT matriisin A transpoosi
Optimointimallin muodostaminen
Esimerkki. Paatoksenteko-ongelma. Sinulla on viiden viikon tyosopimus Jy-vaskylassa ja asut Helsingissa. Lennat Jyvaskylaan maanantaina ja palaatHelsinkiin keskiviikkona. Lentolippuvaihtoehtoja: meno-paluu lippu 100 e;
jos meno- ja paluupaivan valiin jaa viikonloppu 20 %:n alennus; pelkkamenolippu (paluulippu) 70 e. Kuinka ostaa liput?
Optimointimallissamaaritellaan tehtavan
(1) pa at osvaihtoehdot eli optimointimuuttujat(2) rajoitusehdot(3) kohdefunktio vaihtoehtojen arvioimiseksi
Paatosvaihtoehdot ovat tassa erilaisia lippuvaihtoehtoja:
A: 5 meno-paluu lippua Helsinki-Jyvaskyla-Helsinki
B: 1 Helsinki-Jyvaskyla; 4 Jyvaskyla-Helsinki-Jyvaskyla yli viikonlopun;1 Jyvaskyla-Helsinki
C: 1 Helsinki-Jyvaskyla-Helsinki (1. maanantai, 5. keskiviikko); 4 Jyvaskyla-Helsinki-Jyvaskyla yli viikonlopun
1
7/23/2019 Optimo Inti
2/127
Rajoitusehdot: yllaolevissa lippuvaihtoehdoissa on jo huomioitu rajoitus, jon-
ka mukaan kunakin viikkona lahdetaan Helsingista maanantaina ja palataankeskiviikkona.
Kohdefunktio: vaihtoehdon kustannus.Paras vaihtoehto pienin kustannus
vaihtoehto A: kustannus = 5 100 e = 500 evaihtoehto B: kustannus = 70 e+ 4 0,8 100 e + 70 e = 460 evaihtoehto C: kustannus = 5 (0,8 100 e) = 400 e
Vaihtoehto C on siis optimaalinen vaihtoehto ja 400 e on tata vastaava op-
timikustannus.
Optimointimalli muodostuu paatosvaihtoehtojen eli optimointimuuttujien jou-kosta, naita koskevista rajoituksista ja kohdefunktiosta. Mallin ratkaisu an-taa sen paatosmuuttujan arvon, jokaoptimoi(maksimoitaiminimoi) kohde-funktion arvon ja toteuttaa rajoitukset. Sanomme, etta optimointimuuttujaon k aypa, kun se toteuttaa rajoitusehdot.
Esimerkki. Optimaalinen suunnittelu (optimal design): L pituisesta rauta-langasta on vaannettava suorakaide, jonka pinta-ala on suurin mahdollinen.
(1) optimointimuuttujat (paatosvaihtoehdot):
x:= leveysy:= korkeus
(2) rajoitukset:
2(x+y) =Lx, y 0
(3) kohdefunktio:
f(x, y) :=xy
Optimointimalli:
maksimoi xyehdolla 2(x+y) = L (yhtalorajoitus)
x, y 0 (epayhtalorajoitus)
2
7/23/2019 Optimo Inti
3/127
Kirjoitetaan muotoon:
maxx,y
f(x, y) := xy
s.e. 2(x+y) = Lx, y 0
Tehtavan ratkaisu: x= y =L/4.
Optimointitehtavien luokittelu
Lineaarinen tehtava (ks. MS-E2140 Linear Programming)
Kohdefunktio ja rajoitukset lineaarisia
min cTx =n
i=1cixis.e. Ax = b
x 0
missaxi:t ovat optimointimuuttujia, x:=
x1...xn
, ja x 0 (merkinta tarkoittaa, etta
xi 0 i); c:=
c1...cn
, b:=
b1...bm
ja mn matriisi Aovat vakioita.
Epalineaarinen tehtava (ks. MS-E2139 Nonlinear Programming)
Kohdefunktio ja rajoitukset epalineaarisia
min f(x)
st. gi(x) 0, i = 1,...,mhi(x) = 0, i = 1,...,l
x X
missa X Rn sisaltaa muotoa ai xi bi i olevia rajoituksia ja f, gi jahi mahdollisesti epalineaarisia funktioita R
n R.
Epalineaarisen tehtavan erikoistapauksena on konveksi optimointitehtava,jossa f ja gi:t ovat konvekseja ja hi:t lineaarisia.
3
7/23/2019 Optimo Inti
4/127
Monitavoitetehtava (ks. MS-E2153 Multiple Criteria Optimization)
Optimoitavana on samanaikaisesti monta kohdefunktiota.
Esimerkki: Portfolion eli arvopaperieni= 1, . . . , noptimointi. Olkoon ci sa-tunnaismuuttuja, joka kuvaa arvopaperinituottoa per sijoitettu rahayksikkoko. aikavalilla. Olkoon E(ci) sen odotusarvo, ja E(c)
T := [E(c1), . . . , E (cn)].Olkoon V satunnaisvektori c:n kovarianssimatriisi.
Nyt voidaan maksimoida hyodyn odotusarvoa f1(x) :=E(c)Tx, missa xi on
kohteeseen i sijoitettu rahamaara, i = 1, . . . , n; tai minimoida pelkastaanci:den varianssista aiheutuvaa riskiaf2(x) :=x
TVx; tai voidaan samanaikai-
sesti yrittaa seka maksimoida hyotya, etta minimoida riskia, jolloin saadaanmonitavoitetehtava. Monitavoiteoptimointia kasitellaan luennossa 6, ja port-folion optimointia laskuharjoituksessa 12.
Kokonaislukutehtava (ks. MS-E2146 Integer Programming)
Talloin osa optimointimuuttujista vai saada vain kokonaislukuarvoja, esim.xion on-off muuttujaxi {0, 1}. Kokonaislukutehtavia kasitellaan luennossa7.
Verkkotehtava (ks. MS-E2143 Network Optimization)
Tyypillisesti tehtava on samaa muotoa kuin lineaarinen tehtava. Lisaksi onmukana yleensa kokonaislukumuuttujia. Perinteisia verkkotehtavia syntyy,kun tiettyja paikkoja linkitetaan optimaalisesti joihinkin toisiin paikkoihin;maarataan kahden kaupungin valinen lyhin reitti tieverkostossa; tai maksimi-virtaus putkiverkostossa; tai tuotteiden minimikustannuskuljetukset tehtais-ta kauppoihin. Verkkotehtavia ratkaistaan eri tehtavatyyppeihin kehitetyillaverkkoalgoritmeilla.
Dynaaminen tehtava (ks. MS-E2148 Dynamic Optimization)
Esimerkki: Maaraa L pituisen koyden x(s) rajoittama maksimipinta-ala s.e.koyden paat ovat pisteissa a ja b, x(a) =x(b) = 0.
Tama on Tyyrian prinsessa Didon ongelma. Kerrotaan, etta prinsessa ratkaisiongelman ja sai eraalta heimopaallikolta Pohjois-Afrikan rannikolta maapals-tan, jolla oli ko. maksimipinta-alaominaisuus. Nain syntyi muinainen Kart-hago eli nykyinen Tunisia.
4
7/23/2019 Optimo Inti
5/127
Optimointitehtavat ratkaistaan numeerisesti iteroimalla
xk+1= f(xk, xk1, . . .).
Historiallisista syista tiettyja numeerisia ratkaisumenetelmia kutsutaan oh-jelmoinniksi. Lineaarisella ohjelmoinnillatarkoitettiin alunperin lineaarisenoptimoinnin simplex-menetelmaa. Nykyaan lineaarinen ohjelmointi ja line-aarinen optimointi ovat synonyymeja. Dynaamisella ohjelmoinnilla tarkoi-tetaan dynaamisen optimointitehtavan ratkaisemista rekursiolla siten, ettajokaisessa vaiheessa ns. Bellmannin optimaalisuusperiaate toteutuu.
Yleensa teknillistaloudellisiin jarjestelmiin liittyvat suuret optimointimallit
muodostetaan yhdessa OR-asiantuntijan ja asiakkaan valisena vuorovaikut-teisena prosessina (OR := Operations Research = Operaatiotutkimus).
Optimointimallia, mutta myos muita matemaattisia malleja, muodostettaes-sa on hyva pitaa mielessa ainakin seuraavat mallinrakennuksen vaiheet:
(1) Tehtavan sanallinen maarittely(2) Mallin muodostaminen matematiikan ja laskennan kielelle(3) Mallin numeerinen ratkaiseminen(4) Validointi(5) Ratkaisun kayttoonotto
Vaiheet (1), (2) ja (5) muodostavat mallinrakennuksen ns. art -osan. Tallai-nen osaaminen tulee yleensa vain kokemuksen myota. Vaiheet (3) ja (4) vaati-vat melko suoraviivaista science osaamista, jota opitaan mm. talla kurssilla.
5
7/23/2019 Optimo Inti
6/127
Luento 2: Optimointitehtavan graafinenratkaiseminen. LP-malli.
LP-malli
Esimerkki. Maalitehdas valmistaa ulko- ja sisamaalia raaka-aineista M1 jaM2. Sisamaalin maksimikysynta on 2 tonnia/paiva. Sisamaalin kysynta onlisaksi korkeintaan 1 tonni/paiva suurempi kuin ulkomaalin kysynta. Maali-tehdas maksimoi kokonaistuottoaan.
raaka-aine (tonni)/maali (tonni)ulkomaali sisamaali paivittainen saatavuus
raaka-aine M1 6 4 24raaka-aine M2 1 2 6
tuotto (1000 e/tonni) 5 4
Muuttujat:
x1 = valmistettu ulkomaali tonnia/paiva
x2 = valmistettu sisamaali tonnia/paiva
Kohdefunktio: maksimoi paivittainen kokonaistuotto maksimoidaan funk-tiota
z= 5x1+ 4x2
Rajoitukset. Ensin raaka-ainerajoitukset:
M1: 6x1+ 4x2 24M2: x1+ 2x2 6
Kysyntarajoitukset: x2 x1+ 1
x2 2
1
7/23/2019 Optimo Inti
7/127
Ei-negatiivisuusrajoitukset (nonnegativity constraints):
x1, x2 0
Maalitehtaan optimointimalli.
max z= 5x1+ 4x2st. 6x1+ 4x2 24 (1)
x1+ 2x2 6 (2)x1+x2 1 (3)
x2 2 (4)
x1, x2 0
Kyseessa on lineaarinen optimointitehtava, eli lineaarisen ohjelmoinnin teh-tava, eli LP-tehtava (LP = Linear Programming).
Graafinen ratkaisu
Kuva 1: Optimointitehtavan kaypien pisteiden joukko.
Kuvassa 1 on esitetty maalitehtaan optimointimallin kaypien pisteiden jouk-ko. Kaypaan joukkoon kuuluvat ne pisteet, joissa kaikki rajoitusehdot toteu-tuvat.
2
7/23/2019 Optimo Inti
8/127
Kohdefunktion zgradientti z := [z/x1,z/x2]T = [5, 4]T on kohtisuo-
rassa suoraaz= 5x1+4x2=vakiovastaan ja ilmaisee funktionznoususuun-nan. Katso kuva 2.
Kuva 2: Optimointitehtavan graafinen ratkaisu
Kuvasta 2 nahdaan, etta optimiratkaisu on pisteessa C, eli rajoitussuorien(1) ja (2) leikkauspisteessa.
6x1+ 4x2 = 24 (1)x1+ 2x2 = 6 (2)
x1 = 3 tnx2 = 1.5 tn z= 21000
e
Kun kohdefunktiota maksimoidaan haetaan vakiokayrallez=vakio mak-simiarvo kayvalla alueella kulkemalla gradientin suuntaan. Kuvassa 3 koh-defunktiota z = x1 + 4x2 minimoidaan, jolloin z:aa pienennetaan z:nsuuntaan. Muista myos, etta
min z := x1+ 4x2 max -z := x1 4x2
3
7/23/2019 Optimo Inti
9/127
Kuva 3: Optimiratkaisu silloin, kun kohdefunktiota zminimoidaan.
Slack-, ylijaama- ja rajoittamattomat muuttujat
Slack-muuttuja, tai alijaamamuuttuja (slack-variable)Lisataan tyyppia () olevaan rajoitukseen.
Ajatellaan, etta tuotantoyksikko (activity) 1 tuottaa ulkomaalia maaran x1ja tuotantoyksikko 2 sisamaalia maaran x2, ja
6x1+ 4x2 24.
Talloin resurssia jaa kayttamatta slack-muuttujan s1 verran:
6x1+ 4x2+s1= 24, s1 0.
Ylijaamamuuttuja (surplus-variable)Lisataan tyyppia () olevaan rajoitukseen.
Tehtavassa voisi lisaksi esiintya paivittainen minimituotantorajoitus
x1+x2 2.
4
7/23/2019 Optimo Inti
10/127
Talloin tuotantotasollax1, x2minimituotantomaara ylitetaan ylijaamamuut-
tujan s2 ilmoittamalla maaralla
x1+x2 s2= 2, s2 0.
Rajoittamaton muuttuja (unrestricted variable)
Jokainen muuttuja x R voidaan esittaa kahden ei-negatiivisen luvun ero-tuksena, esitys ei ole yksikasitteinen:
x R x= x+ x, x+, x 0.
Esimerkiksi,
5 =x+ x, x+ = 0, x = 5;5 =x+ x, x+ = 5, x = 0.
Graafinen herkkyysanalyysi
Esimerkki. Kuinka paljon kohdefunktionzkertoimet voivat muuttua ilman,etta ratkaisu muuttuu?
z=c1x1+c2x2
c2/c1 on gradientin kulmakerroin, ja c1/c2 on suoran z=vakio kulmaker-roin.
Kuvan 4 mukaan ratkaisu ei muutu, jos suoranz=vakiokulmakerroin pysyyrajoitussuorien (1) ja (2) kulmakertoimien valissa, eli jos
4
6
c2c1
2
1 , c1 = 0
tai1
2
c1c2
6
4, c2 = 0
Esimerkki. Mika on resurssiyksikon arvo optimiratkaisussa? Eli, kuinka pal-jon esimerkiksi 1 tonnin muutos resurssin paivittaisessa saatavuudessa muut-taa optimiarvoa? Merkitaan M1 = 6x1+ 4x2. Katso kuva 5.
5
7/23/2019 Optimo Inti
11/127
y1= zM1
= z: n muutos D GM1:n muutos D G
D= (2, 2), G= (6, 0)
z = z(D) z(G)= 5 2 + 4 2 (5 6 + 4 0)= 12000 e
M1 = M1(D)M1(G)= 20 36= 16 tn
y1= 12000 e16 tn
=3000 e4 tn
= 750 etn
1 tonnin muutos M1:ssa, alueella 20 M1 36, aiheuttaaz:n optimiarvoonmuutoksen 750 e. Ko. alueen maaritelmassa on oleellista, etta tehtavan rat-kaisu pysyy pisteessa C, eli suorien (1) ja (2) leikkauspisteessa vaikka raaka-aineen M1 arvo muuttuu.
Kuva 4: Ekstreemipiste C sailyy optimina, kun z:n kulmakerroin pysyy pis-teessa C leikkaavien rajoitussuorien kulmakertoimien valissa
6
7/23/2019 Optimo Inti
12/127
Kuva 5: Kun raaka-aineen M1 saatavuus vaihtelee valilla 20 tn - 36 tn, liukuuoptimiratkaisu C pitkin janaa DG. Mikali M1:n saatavuus ei ole ko. valilla,piste C (rajoitussuorien (1) ja (2) leikkauspiste) ei kuulu kaypaan joukkoon.
Resurssin M2 = x1+ 2x2 yhden yksikon arvoksi optimipisteessa C saadaan
samaan tapaan:
y2= z
M2=
z(H) z(B)
M2(H)M2(B)= 500
e
tn
Tama on voimassa alueella 4 M2 20/3, ks. kuva 6. Sen sijaany3, . . . , y6= 0, mika tarkoittaa, etta rajoitukset (3) (6) eivat ole aktiivisia.
Esimerkiksi rajoitussuoran 3 oikea puoli voi vaihdella valilla [32
,], vaikut-tamatta kohdefunktion zarvoon.
Muista. Kertoimia yi kutsutaan ko. tehtavan duaalimuuttujiksi. Myohem-min osoitetaan lisaksi, ettayi on rajoitusehtoai vastaava Lagrangen kerroin.
7
7/23/2019 Optimo Inti
13/127
Kuva 6: Kun resurssi 2 vaihtelee valilla M2, liukuu optimiratkaisu C pitkinjanaa HB.
8
7/23/2019 Optimo Inti
14/127
Luento 3: Simplex-menetelma
Kuten graafinen tarkastelu osoittaa, LP-tehtavan ratkaisu on aina kulmapis-teessa, eliekstreemipisteess a(extreme point). Simplex-menetelmassa ekstree-mipisteita, ja tehtavan ratkaisua, etsitaan algebrallisesti Gaussin eliminoin-tia kayttaen. Lahtokohtana on LP-tehtava standardimuodossa (standard LPform), joka saadaan seuraavasti:
(1) Kaikki muuttujat muutetaan positiivisiksi: Jos xi:ta ei ole tehtavassarajoitettu s.e. xi 0, maaritellaan xi=x
+i x
i , missa x+
i , x
i 0.
(2) Jokainen epayhtalorajoitus (paitsi muuttujien positiivisuusrajoitukset)muutetaan yhtalorajoitukseksi lisaamalla tarvittavat alijaama- tai yli-jaamamuuttujat. Jokaisen rajoitusyhtalon oikean puolen taytyy olla po-sitiivinen. Jos nain ei ole, yhtalo kerrotaan -1:lla.
(3) Kohdefunktiota voidaan joko maksimoida tai minimoida.Muista: max f(x1, . . . , xn) = min f(x1, . . . , xn)
Standardia LP-tehtavaa vastaavan yhtaloryhman, eli ns. simplex-taulukon,kayvat kantaratkaisut (basic feasible solutions) vastaavat kayvan alueen eks-
treemipisteita.
Kantaratkaisujen laskeminen
Simplex-taulukossa on m lineaarista yhtaloa ja n tuntematonta, m < n. Va-litaan (n-m):n muuttujan arvoksi nolla, ns. nollamuuttujat ja ratkaistaanyhtaloryhma m:n muuttujan suhteen, ns. kantamuuttujat. Jos ratkaisu onyksikasitteinen, ko. ratkaisua kutsutaan kantaratkaisuksi.
Jos kantaratkaisun jokainen komponentti 0, sanomme etta ratkaisu on
k aypa(vastaa geometrista ekstreemipistetta); muuten sanomme etta ratkaisuei ole kaypa, tai on ei-k aypa.
Kantaratkaisujen maksimilukumaara on
n
m
=
n!
m!(nm)!
1
7/23/2019 Optimo Inti
15/127
Esimerkki.
x1 + x2 + 4x3 + 2x4 + 3x5 = 84x1 + 2x2 + 2x3 + x4 + 6x5 = 4
m = 2, n = 5 korkeintaan 5!3!2!
= 10 kantaratkaisua.
Tapaus 1. Kaypa kantaratkaisu. Valitaan nollamuuttujat (x2, x4, x5).
Yhtalot ovat
x1 + 4x3= 84x1 + 2x3= 4
Ratkaisu: Yksikasitteinen x1 = 0, x3 = 2
Tapaus 2. Ei-kaypa kantaratkaisu. Nollamuuttujat: (x3, x4, x5)
Yhtalot ovat
x1 + x2= 84x1 + 2x2= 4
Ratkaisu: Yksikasitteinen x1 = -6, x2 = 14
Tapaus 3. Aareton maara ratkaisuja. Nollamuuttujat: (x1, x2, x5)
Yhtalot:
4x3 + 2x4 = 82x3 + x4 = 4
Ratkaisu: Ei yksikasitteista ratkaisua, koska yhtalot ovat lineaarisesti riippu-via.
Tapaus 4. Ei ratkaisua. Nollamuuttujat: (x1, x3, x4)
Yhtalot:
x2 + 3x5 = 82x2 + 6x5 = 4
Ratkaisu: Ratkaisua ei ole, silla yhtalot ovat ristiriitaiset.
2
7/23/2019 Optimo Inti
16/127
Gaussin eliminointi
Y1 : ax + by= e | a1
Y2 : cx + dy = f
1 x + a1by= a1e
cx + dy= f | +(c) Y1
1 x + a1by= a1e0 x + (d ca1b)y = f ca1e | (d ca1b)1
1 x + a1by= a1e | +(a1b) Y20 x + 1 y= (d ca1b)1(f ca1e)
1 x + 0 y = a1e a1b(d ca1b)1(f ca1e)
0 x + 1 y = (d ca1b)1(f ca1e)
1 x + 0 y = (ad bc)1[de bf]0 x + 1 y = (ad bc)1[ce+af]
I
xy
= (ad bc)1
d bc a
ef
A=
a bc d
; det A= ad bc
A1 = (det A)1
d bc a
Gaussin eliminointi: Ax= b I x= A1b
Optimointitehtavan ratkaiseminen Simplex-menetelmalla
Maalifirman optimointimallin standardimuoto:
max z = 5x1 + 4x2s.e. 6x1 + 4x2 + s1 = 24x1 + 2x2 + s2 = 6x1 + x2 + s3 = 1
x2 + s4 = 2x1, x2, s1, s2, s3, s4 0
3
7/23/2019 Optimo Inti
17/127
Aloitus simplex-taulukko:
kanta z x1 x2 s1 s2 s3 s4 ratkaisu
z 1 -5 -4 0 0 0 0 0 z-rivi
s1 0 6 4 1 0 0 0 24 s1-rivis2 0 1 2 0 1 0 0 6 s2-rivis3 0 -1 1 0 0 1 0 1 s3-rivis4 0 0 1 0 0 0 1 2 s4-rivi
Huomaa: Kohdefunktiota, eli z-rivia, vastaa yhtalo z 5x1 4x2 = 0.
Aloituskantaratkaisu. Valitaan x1 ja x2 nollamuuttujiksi, x1 = 0, x2 = 0,jolloin taulukosta voi suoraan lukea kayvan kantaratkaisun s1 = 24, s2 =6, s3 = 1, s4 = 2. Geometrisesti ratkaisu vastaa origoa ja vastaava kohde-funktion z arvo on 0.
Ratkaisu ei ole optimiratkaisu, koska z:n arvoa voidaan kasvattaa liikkumallapositiiviseen suuntaan pitkinx1-akselia tai pitkin x2-akselia.
Valitaan uudeksi kantamuuttujaksi, ns. tuleva muuttuja (entering variable),x1, koska z kasvaa jyrkimminx1:n suuntaan. Saanto on, etta tuleva muuttuja
on se, jolla on z-rivilla pienin negatiivinen kerroin: z 5x1 4x2= 0 x1on tuleva muuttuja.
4
7/23/2019 Optimo Inti
18/127
Kuva 1: Simplex-iteraation eteneminen optimointitehtavassa: ABC
Kuvan 1 mukaanx1:n arvoa voidaan kasvattaa siirtymalla pisteesta A = (0,0)pisteeseen B = (4,0).
Algebrallisesti piste B saadaan jakamalla ratkaisusarakkeen luvut vastaavillax1-sarakkeen luvuilla, jolloin saadaan rajoitussuorien ja x1-akselin leikkaus-
pisteiden koordinaatit.
kanta x1 ratkaisu suhde
s1 6 24 24/6 = 4 (minimi)s2 1 6 6/1 = 6s3 -1 1 1/(-1) = -1 (ei-kaypa)s4 0 2 2/0 = (ei-kaypa)
5
7/23/2019 Optimo Inti
19/127
Ainoastaan pienin positiivinen suhde vastaa kaypaa pistetta, eli pistetta B =
(4,0). Kohdefunktion arvo kasvaa 5 4 :lla yksikolla, kun siirrytaan origostapisteeseen B.
Maarataan seuraavaksi kannasta lahteva muuttuja, eli ns. l ahtev a muuttuja(leaving variable), joka saa arvon nolla, kun x1:sta tulee uusi kantamuuttu-ja. Koskas1 = 0 vastaa pieninta positiivista suhdetta, eli pistetta B, on s1lahteva muuttuja. Uusi kantaratkaisu on siis (x1, s2, s3, s4) ja se lasketaansoveltaen Gaussin eliminointia aloitustaulukkoon.
Maaritellaan pivot-sarake, pivot-rivi ja pivot-alkio ao. taulukosta:
kanta z x1 x2 s1 s2 s3 s4 ratkaisu
z 1 -5 -4 0 0 0 0 0
s1 0 6 4 1 0 0 0 24 pivot-rivis2 0 1 2 0 1 0 0 6s3 0 -1 1 0 0 1 0 1s4 0 0 1 0 0 0 1 2
pivot-sarake
Pivot-sarake on tulevaa muuttujaa vastaava sarake ja pivot-rivi lahtevaamuuttujaa vastaava rivi. Pivot-alkio on alkio jossa pivot-sarake ja pivot-rivileikkaavat, eli tassa tapauksessa 6.
Uusi kantaratkaisu saadaan soveltamalla Gaussin eliminointia tekemalla seu-raavat laskut
1. Pivot-rivi:uusi pivot-rivi = (nykyinen pivot-rivi) / (pivot-alkio)
2. Muut rivit:uusi rivi = (nykyinen rivi) - (rivin pivot-sarakkeen alkio) (uusi pivot-rivi)
Kun laskut suoritetaan ensimmaisen kerran, paadytaan taulukkoon, jossatuleva muuttujax1 korvaa lahtevan muuttujans1. Seuraava taulukko vastaasiis kantaratkaisua (x1, s2, s3, s4):
6
7/23/2019 Optimo Inti
20/127
kanta z x1 x2 s1 s2 s3 s4 ratkaisu
z 1 0 2/3 5/6 0 0 0 20
x1 0 1 2/3 1/6 0 0 0 4s2 0 0 4/3 1/6 1 0 0 2s3 0 0 5/3 1/6 0 1 0 5s4 0 0 1 0 0 0 1 2
Samoin kuin aloituskantaratkaisu luettiin aloitustaulukosta, voidaan uusi kan-taratkaisu nyt lukea uudesta taulukosta, kun nollamuuttujat saavat arvon 0,
x2 =s1 = 0. Uusi kantaratkaisu on x1 = 4, s2 = 2, s3 = 5, s4 = 2, ja uusi z:narvo on 20.
Uusi taulukko ei viela anna optimiratkaisua, koska nollamuuttujan x2 ker-roin z-rivilla on negatiivinen. Kirjoitetaan z-rivi muotoonz= 2
3x2
5
6s1 +20,
jolloin nahdaan etta lisaamalla x2:n arvoa sen nykyisesta arvosta nolla, voi-daan z:n arvoa kasvattaa.x2on siis uusi tuleva muuttuja. Lasketaan seuraavasimplex-taulukko samaan tapaan kuin edellinen taulukko laskettiin aloitus-taulukosta. s2 on uusi lahteva muuttuja, silla sita vastaa pienin positiivinensuhde (3
2) ao. taulukossa. Kohdefunktion z arvo kasvaa maaralla 2
3 3
2 = 1,
jolloin uusi z:n arvo on z = 20 + 1 = 21.
kanta x2 ratkaisu suhde
x1 2/3 4 6s2 4/3 2 3/2 (minimi)s3 5/3 5 3s4 1 2 2
Pivot-rivi on s2-rivi ja pivot-sarake on x2-sarake. Pivot-alkio on 4
3.
Gaussin eliminointi tuottaa nyt seuraavan taulukon:
kanta z x1 x2 s1 s2 s3 s4 ratkaisu
z 1 0 0 3/4 1/2 0 0 21
x1 0 1 0 1/4 1/2 0 0 3x2 0 0 1 1/8 3/4 0 0 3/2s3 0 0 0 3/8 5/4 1 0 5/2s4 0 0 0 1/8 3/4 0 1 1/2
7
7/23/2019 Optimo Inti
21/127
Koska kummankaan nollamuuttujans1, s2 rivinzkerroin ei ole negatiivinen,
z:n arvoa ei enaa voida kasvattaa. Taulukko vastaa siis optimiratkaisua.Optimiratkaisu on x1 = 3, x2 =
3
2, z = 21.
Slack-muuttujien optimiarvot ovat s1 = 0, s2 = 0, s3 = 5
2, s4 =
1
2. Naiden
tulkinta on seuraava. Raaka-aineet M1 ja M2 kaytetaan optimituotannossakokonaan. Sanotaan, etta ko. resurssit ovat niukkoja (scarce resource). Sensijaan kysyntarajoituksissa slack-muuttujat ovat positiivisia. Sanotaan, ettaresurssi on runsas(abundant resource) naiden rajoitusten suhteen.
Huomaa. Optimointitehtavassa kohdefunktiota z maksimoitiin. Jos z:aa mi-nimoidaan, muuttuu simplex-menetelma seuraavasti. Koska min z = max (-
z), uusi tuleva muuttuja on aina se nollamuuttuja, jonka z-rivin kerroin onsuurin positiivinen luku. Taulukko vastaa optimiratkaisua, kun kaikki z-rivinkertoimet ovat 0.
Saantoja, joilla uusi tuleva- ja lahteva muuttuja valitaan, sanotaan optimaa-lisuus- ja kaypyysehdoiksi.
Optimaalisuusehto. Kun kohdefunktiota maksimoidaan (minimoidaan) uusituleva muuttuja on se, jolla on pienin negatiivinen (suurin positiivinen) ker-roin. Taulukko vastaa optimiratkaisua, kun jokainen z-rivin kerroin 0 (0).
K aypyysehto. Kun kohdefunktiota maksimoidaan tai minimoidaan, uusi lah-teva muuttuja on se, jota vastaava suhde on pienin ei-negatiivinen luku.
Menetelma. Yleiskuvaus.
0. Valitaan kaypa aloituskantaratkaisu.
1. Valitaan tuleva muuttuja kayttaen optimaalisuusehtoa. Lopeta, jos tu-levaa muuttujaa ei ole.
2. Valitaan lahteva muuttuja kayttaen kaypyysehtoa.
3. Lasketaan uusi kantaratkaisu Gaussin eliminointia kayttaen. Siirrytaanvaiheeseen 1.
8
7/23/2019 Optimo Inti
22/127
Uusi simplex-taulukko muodostetaan kayttaen aina samoja laskuja ja saan-
toja. Simplex-menetelma on siis iteratiivinen menetelm a ja perakkaisia tau-lukoita kutsutaan Simplex-iteraatioiksi.
Kuvasta 1 nahdaan, etta iteraatiot alkavat ekstreemipisteesta A ja jatkuvatekstreemipisteen B kautta ekstreemipisteeseen C. Simplex-iteraatiot kulke-vat aina kayvan alueen ekstreemipisteiden kautta. Simplex-menetelma ei siistuota iteraation aikana kayvan alueen sisapisteita, kuten ns. sis apistemene-telm a, josta puhutaan luennolla 11.
M-menetelma
Kun LP-tehtavan kaikki rajoitukset ovat muotoa () ja rajoitusehtojen oi-keat puolet ovat ei-negatiivisia, loytyy kaypa aloituskantaratkaisu helpostislack-muuttujien kannasta (xi = 0, si 0). Kun alkuperainen tehtava sisal-taa myos (=) ja/tai () rajoituksia, standardimuodossa ei ole kayvan aloitus-kantaratkaisun maarittamiseen tarvittavia slack-muuttujia. Nain ollen tehta-vaan lisataan keinotekoisia muuttujia ajamaan tarvittavien slack-muuttujienasiaa ensimmaisissa iteraatiossa. Tata samaa periaatetta hyodyntavat hiukaneri tavoin M-menetelm a ja kaksivaihemenetelm a.
M-menetelman toiminta on esitetty seuraavan esimerkin avulla:Olkoon LP-tehtava muotoa:
min z = 4x1 + x2s.e. 3x1 + x2 = 3
4x1 + 3x2 6x1 + 2x2 4
x1, x2 0
Tehtava muutetaan standardimuotoon lisaamalla ylijaamamuuttuja (surplus-variable)s1 ja alijaamamuuttuja (slack-variable) s2:
min z = 4x1 + x2s.e. 3x1 + x2 = 3
4x1 + 3x2 s1 = 6x1 + 2x2 + s2 = 4
x2, x1, s2, s1 0
9
7/23/2019 Optimo Inti
23/127
Toisin kuin maalitehtaan optimointitehtavassa, tasta standardimuodosta ei
suoraan saada kaypaa aloituskantaratkaisua, koska ensimmaisessa ja toisessarajoitusyhtalossa ei ole slack-muuttujia, joiden kannasta ratkaisu loytyisi.Nain ollen rajoitusyhtaloihin on lisattava keinotekoiset muuttujat R1 ja R2,ajamaan slack-muuttujien asiaa.
Koska keinomuuttujat ovat kuitenkin alkuperaisen tehtavan kannalta lisa-muuttujia, toisin kuin ali- ja ylijaamamuuttujat, jotka eivat muuta alkupe-raisen tehtavan ratkaisua, halutaan varmistaa, etta niiden arvo iteroinninpaattyessa on nolla. Tama tehdaan siten, etta kohdefunktioon lisataan (va-hennetaan, kun maksimoidaan)sakkotermiM Ri kutakin keinomuuttujaaRikohti. Tassa M on riittavan suuri luku, jotta sakkotermi toimii. Toisaaltaliian suuri M saattaa aiheuttaa numeerisissa laskuissa hankaluuksia, pyoris-tysvirheiden takia.
Nain saadaan LP-tehtava:
min z= 4x1 + x2 + MR1 + MR2s.e. 3x1 + x2 + R1 = 3
4x1 + 3x2 s1 + R2 = 6x1 + 2x2 + s2 = 4
x1, x2, s1, s2, R1, R2 0
Nyt kaypa aloituskantaratkaisu loytyy kannasta R1, R2, s2, eli pisteesta[x1, x2, s1, R1, R2, s2] = [0,0,0,3,6,4]. Tehtava on kirjoitettu alla olevaan simplex-taulukkoon. z-sarake on jatetty pois taulukosta, koska sen arvot eivat muutuiteraatioissa.
kanta x1 x2 s1 R1 R2 s2 ratkaisu
z 4 1 0 M M 0 0
R1 3 1 0 1 0 0 3R2 4 3 1 0 1 0 6
s2 1 2 0 0 0 1 4
Taulukon z-rivin ratkaisu-sarakkeen mukaan kohdefunktion arvo pisteessa[0,0,0,3,6,4] on 0. Sijoittamalla muuttujien arvot kohdefunktioon huomataankuitenkin, etta z:n oikea arvo pisteessa on 9M. Tama epajohdonmukaisuusjohtuu siita, etta osalla kantamuuttujista on z-rivilla nollasta poikkeava ker-roin. Ongelma poistuu, kun suoritetaan seuraava laskutoimitus.
Uusi z-rivi = vanha z-rivi + (M R1-rivi + M R2-rivi)
10
7/23/2019 Optimo Inti
24/127
Talla operaatiolla eo. taulukko muuttuu muotoon
kanta x1 x2 s1 R1 R2 s2 ratkaisu
z 4 + 7M 1 + 4M M 0 0 0 9M
R1 3 1 0 1 0 0 3R2 4 3 1 0 1 0 6s2 1 2 0 0 0 1 4
Nyt iteraatio etenee normaalin simplex-menetelman tapaan, kunnes z-rivillaei ole enaa positiivisia kertoimia (minimointi). On tarkeaa huomata, etta M
on suuri positiivinen luku. Nain ollen esim. eo. taulukosta tulevaksi muut-tujaksi valitaan x1, silla 4 + 7Mon z-rivin kertoimista suurin positiivinenluku. Ensimmainen iteraatio johtaa taulukkoon
kanta x1 x2 s1 R1 R2 s2 ratkaisu
z 0 (1 + 5M)/3 M (4 7M)/3 0 0 4 + 2M
x1 1 1/3 0 1/3 0 0 1R2 0 5/3 1 4/3 1 0 2s2 0 3/5 0 1/3 0 1 3
Seuraavaan iteraatioon valitaan x2 tulevaksi ja R2 lahtevaksi muuttujaksi.Kolmannella iteraatiokierroksella loydetaan optimi x1 = 2/5, x2 = 9/5, z =17/5. Kuten esimerkista huomataan, keinotekoiset muuttujat poistuvat kan-nasta ensimmaisilla iteraatiokierroksilla. Tama johtuu siita, etta niita sako-tettiin suurilla kertoimilla M kohdefunktiossa.
Kaksivaihemenetelma
M-menetelman numeerinen ratkaisu saattaa karsia pyoristysvirheista, jotka
aiheutuvat suurten ja pienten kertoimien yhtaaikaisesta kasittelysta. Tata on-gelmaa ei ole kaytettaessa kaksivaihemenetelmaa, jonka ensimmaisessa vai-heessa etsitaan kaypa aloituskantaratkaisu ja toisessa vaiheessa sovelletaannormaalia simplex-menetelmaa lahtien ensimmaisessa vaiheessa loydetystapisteesta.
Ratkaistaan nyt edellisen kohdan ongelma kaksivaihemenetelmalla.
11
7/23/2019 Optimo Inti
25/127
Vaihe 1. Ensimmaisessa vaiheessa rajoitusehtoihin lisataan keinotekoiset
muuttujat R1 ja R2 samoin kuin M-menetelmassa, mutta nyt minimoidaannaiden keinotekoisten muuttujien summaa. Eli ensimmaisen vaiheen tehtavaon muotoa
min r= R1 + R2s.e. 3x1 + x2 + R1 = 3
4x1 + 3x2 s1 + R2 = 6x1 + 2x2 + s2 = 4
x1, x2, s1, s2, R1, R2 0
Tehtavaa vastaava simplex-taulukko on
kanta x1 x2 s1 R1 R2 s2 ratkaisu
r 0 0 0 1 1 0 0
R1 3 1 0 1 0 0 3R2 4 3 1 0 1 0 6s2 1 2 0 0 0 1 4
Samoin kuin M-menetelman tapauksessa, tassa taulukossa osalla kantamuut-tujista on nollasta poikkeava kerroin r-rivilla. Ongelma poistuu seuraavallalaskutoimituksella.
Uusi r-rivi = vanha r-rivi + (1 R1-rivi + 1 R2-rivi)
Nyt saadaan seuraava taulukko.
kanta x1 x2 s1 R1 R2 s2 ratkaisu
r 7 4 1 0 0 0 9
R1 3 1 0 1 0 0 3R2 4 3 1 0 1 0 6s2 1 2 0 0 0 1 4
Kahden normaalin simplex-iteraation jalkeen paadytaan optimiin ja seuraa-vaan taulukkoon.
kanta x1 x2 s1 R1 R2 s2 ratkaisu
r 0 0 0 1 1 0 0
x1 1 0 1/5 3/5 1/5 0 3/5x2 0 1 3/5 4/5 3/5 0 6/5s2 0 0 1 1 1 1 1
12
7/23/2019 Optimo Inti
26/127
Koska optimissa r = 0, olemme loytaneet kayvan aloituskantaratkaisun (x1
= 3/5, x2 = 6/5, s2 = 1), ja voimme siirtya vaiheeseen 2. Mikali optimi-ratkaisussa patisi r > 0, tarkoittaisi se, etta alkuperaisella tehtavalla ei olekaypaa ratkaisua. Tasta eteenpain keinotekoisille muuttujille (R1, R2) ei oleenaa kayttoa, joten niita vastaavat sarakkeet voidaan jattaa pois seuraavistataulukoista.
Vaihe 2. Lahdetaan siis liikkeelle vaiheessa 1 loydetysta kayvasta aloitus-kantaratkaisusta, mutta kohdefunktion paikalle laitetaan nyt alkuperainenkohdefunktio z. Nain saadaan muodostettua seuraava taulukko.
kanta x1 x2 s1 s2 ratkaisu
z 4 1 0 0 0
x1 1 0 1/5 0 3/5x2 0 1 3/5 0 6/5s2 0 0 1 1 1
Jalleen kantamuuttujien arvot z-rivilla poikkeavat nollasta, joten taytyy teh-da seuraava laskutoimitus.
Uusi z-rivi = vanha z-rivi + (4 x1-rivi + 1 x2-rivi)
Nain saamme muodostettua seuraavan taulukon, josta loydamme alkuperai-sen tehtavan optimin yhdella simplex-iteraatiolla.
kanta x1 x2 s1 s2 ratkaisu
z 0 0 1/5 0 18/5
x1 1 0 1/5 0 3/5x2 0 1 3/5 0 6/5s2 0 0 1 1 1
13
7/23/2019 Optimo Inti
27/127
Luento 4: Lineaarisen tehtavan duaali
Kasittelemme seuraavaksi lineaarisen optimoinnin duaaliteoriaa. Kuten lu-ennossa 2 esitettiin, kohdefunktion optimiarvon herkkyys z, kun rajoitus-yhtalon i, 1 i m, oikea puoli bi muuttuu maaralla bi, maariteltiin ns.duaalimuuttujallayi: yi := z/bi, missa bi on kyllin pieni. Maarittelem-me nyt alkuperaisen LP-tehtavan, eli ns. primaali-LP:n, duaali-LP:n, jonkaratkaisuna saadaan ko. duaalikertoimet yi.
Kanooninen primaali-duaalipari
Primaali-LP
max z= c1x1+ + cnxns.e. a11x1+ + a1nxn b1
...am1x1+ + amnxn bm
x1, , xn 0
eli
max z= cT
xs.e. Ax b
x 0
missa A on m n-matriisiAij :=aij ,b:= [b1, . . . , bm]T, ja x 0
xi 0 i; 1 i m, 1 j n.
Duaali-LP
min w= b1y1+ + bmyms.e. a11y1+ + am1ym c1
...a1ny1+ + amnym cn
y1, , ym 0
elimin w= bTys.e. ATy c
y 0
1
7/23/2019 Optimo Inti
28/127
Standardimuotoinen primaali-duaalipari
Primaali-LP
max(min) z= cTxs.e. Ax = b
x 0
Ylla epayhtalorajoitukset on muutettu yhtalorajoituksiksi lisaamalla tarvit-tavat slack- ja ylijaamamuuttujat. Lisaksi muuttujat xj on tarvittaessa kor-vattu positiivisilla muuttujilla x+j, x
j. Standardimuodossa oletetaan lisaksi,
etta bi, 1 i m, on ei-negatiivinen, eli 0, mika saadaan aikaan, kunyhtalo kerrotaan tarvittaessa -1:lla.
Duaali-LP
min(max) w= bTys.e. ATy () c
y rajoitteeton
Kun siis primaalissa on max, niin duaalissa on min ja ; ja kun primaa-
lissa on min, niin duaalissa on max ja .Huomioita.
Duaali-LP on lineaarinen optimointitehtava, joka voidaan ratkaista simplex-menetelmalla, tai erityisella ns. duaalisimplex-menetelmalla.
Kun primaalissa on n muuttujaa ja m rajoitusehtoa, niin duaalissa on mmuuttujaa jan rajoitusehtoa.
Jokaista primaalin rajoitusehtoaikohden on olemassa duaalimuuttujayi, 1 i m. Duaalissa yi:n kerroin kohdefunktiossa on primaalin rajoitusehdon ioikean puolen arvo b
i.
Jokaista primaalin muuttujaa xj, 1 j n, kohden on olemassa duaalinrajoitusehto j, jonka oikean puolen arvo on xj :n kerroincj primaalin kohde-funktiossa.
2
7/23/2019 Optimo Inti
29/127
Duaalin muodostamisen muistisaannot
A on siis m n-matriisi. Merkitaan A:n riveja aTi, 1 i m, ja sarakkeitaaj, 1 j n. Muistisaannot saadaan seuraavasta taulukosta:
Primaali DuaaliKohdefunktio
maxn
j=1cjxj min
mi=1
biyi
Rajoitusehdot aTix bi yi 0 Muuttujat
a
T
ix
bi yi
0aTix =bi yi rajoitteeton
Muuttujat xj 0 yTaj cj Rajoitusehdot
xj 0 yTaj cj
xj rajoitteeton yTaj = cj
Esimerkki 1
Primaali Standardi primaali
max z= 5x1 +12x2 +4x3 max z= 5x1 +12x2 +4x3 +0x4
s.e. x1 +2x2 +x3 10 s.e. x1 +2x2 +x3 +x4 = 102x1 x2 +3x3 = 8 2x1 x2 +3x3 +0x4 = 8x1, x2, x3 0 x1, x2, x3, x4 0
Duaali
min w= 10y1 +8y2s.e. y1 +2y2 5
2y1 y2 12y1 +3y2 4
y1 + 0 y2 0y1, y2rajoitteeton
(y1 0, y2rajoitteeton)
3
7/23/2019 Optimo Inti
30/127
Esimerkki 2
Primaali Standardi primaali
min z= 15x1 +12x2 min z= 15x1 +12x2 +0x3 +0x4s.e. x1 +2x2 3 s.e. x1 +2x2 x3 = 3
2x1 4x2 5 2x1 4x2 +x4 = 5x1, x2 0 x1, x2, x3, x4 0
Duaali
max w= 3y1 +5y2
s.e. y1 +2y2 152y1 4y2 12
y1 0 (tai y1 0)y2 0
y1, y2 rajoitteettomia (ei merkitysta, silla y1 0, y2 0)
Esimerkki 3
Primaali Standardi primaali
max z= 5x1 +6x2 max z= 5x+
1 5x
1 +6x2
s.e. x1 +2x2 = 5 s.e. x+
1 x
1 +2x2 = 5x1 +5x2 3 x
+
1 +x1 +5x2 x3 = 3
4x1 +7x2 8 4x+1 4x
1 +7x2 +x4= 8x2 0 x
+
1, x
1, x2, x3, x4 0
x1 rajoitteeton
Duaali
min w= 5y1 +3y2 +8y3
s.e. y1 y2 +4y3 5y1 +y2 4y3 5
(y1 y2 + 4y3 = 5)
2y1 +5y2 +7y3 6y2 0 (y2 0)
y3 0
y1 rajoitteetony2, y3 rajoitteettomia (ei merkitysta)
4
7/23/2019 Optimo Inti
31/127
Ensimmaisesta ja toisesta rajoitteesta seuraa yhtalo. Jokaista rajoitteetonta
primaalin muuttujaa vastaa aina yhtalomuotoinen duaalin rajoitus, ja pain-vastoin.
Primaalin ja duaalin ominaisuuksia
Ominaisuus (a) Duaalin duaali on primaali.
Ominaisuus (b) Jos primaalilla ei ole kaypaa pistetta, on duaalin opti-miarvo , ja painvastoin.
Ominaisuus (c) Primaalin ja duaalin simplex-iteraatioille on voimassa:Primaalin simplex-iteraatiolla muuttujan j kerroin simplex taulukon z-rivilla = duaalitehtavan rajoitteen j vasen puoli miinus oikea puoli.
Ajatellaan ominaisuuden (c) sovelluksena tehtavaa, jossa on 100 muuttujaa ja500 rajoitetta. Talloin on helpompaa ensin ratkoa ko. tehtavan duaali, jossaon 500 muuttujaa ja 100 rajoitetta. Alkuperaisen tehtavan ratkaisu saadaansuoraan ominaisuuden (c) perusteella.
Esimerkki 4
Lasketaan Esimerkin 1 simplex-iteraatiot primaalitehtavalle. Kayvan aloi-tusratkaisun loytamiseksi lisaamme yhtalorajoitukseen keinomuuttujan R;kohdefunktioon lisaamme termin MR (max-tehtava), missa M on riitta-van iso luku. Saamme seuraavat iteraatiot:
kanta x1 x2 x3 x4 R ratkaisuIter. 0: z 5 2M 12 +M 4 3M 0 0 8M
x4 1 2 1 1 0 10R 2 1 3 0 1 8
Iter. 1: z 7/3 40/3 0 0 4/3 +M 32/3x4 1/3 7/3 0 1 1/3 22/3
x3 2/3 1/3 1 0 1/3 8/3Iter. 2: z 3/7 0 0 40/7 4/7 +M 368/7
x2 1/7 1 0 3/7 1/7 22/7x3 5/7 0 1 1/7 2/7 26/7
Iter. 3: z 0 0 3/5 29/5 2/5 +M 274/5x2 0 1 1/5 2/5 1/5 12/5x1 1 0 7/5 1/5 2/5 26/5
5
7/23/2019 Optimo Inti
32/127
Kun ominaisuutta (c) sovelletaan optimitaulukkoon, eli iteraation 3 muuttu-
jiinx4 ja R, saamme:
Muuttujat x4 Rz-yhtalon kerroin (iteraatio 3) 29/5 2/5 +MVastaava duaalirajoite y1 0 y2 MOminaisuudesta (c) seuraa: y1 0 = 29/5 y2 (M) = 2/5 +M
Soveltamalla ominaisuutta (c) iteraation 3 x1- ja x3-sarakkeisiin, saammeyhtalot:
y1 +2y2 5 = 0y1 +3y2 4 = 3/5
Tasta saamme edelleen saman ratkaisun: y1 = 29/5 ja y2 = -2/5.
Ominaisuus (d) Jos x on primaalitehtavan (kun maksimoidaan) kaypapiste ja y on duaalitehtavan kaypa piste, niin
cTx bTy.
LisaksicTx= bTy x ja y ovat optimaalisia ratkaisuja.
Ominaisuus (e) Jossion primaalini:nnen rajoitusehdon slack-muuttuja,jayion vastaava duaalimuuttuja, niin optimissa on voimassa ns.komplemen-taarinen slackness-ehto: siyi = 0. Sama patee duaalin j:nnen rajoitusehdonslack-muuttujallevj ja primaalimuuttujalle xj: vjxj = 0.
Duaalitehtavan taloudellinen tulkinta
Primaali-LP:max z=
nj=1
cjxjs.e.
nj=1
aijxj = bi 1 i m
xj 0 1 j n
Duaali-LP:
min w= m
i=1biyi
s.e.m
i=1aijyi cj 1 j n
yi rajoitteeton, 1 i m
6
7/23/2019 Optimo Inti
33/127
Primaali-LP:n tulkinta.
Olkoon n agenttia eli tuotantoyksikkoa, eli aktiviteettia (activity), ja m re-surssia.
Agenttij tuottaa tuotetta j maaran (esim. kilogrammoissa)xj.cj on agentin j yksikkotuotto (esim. e/kg).zon kaikkien agenttien kokonaistuotto (e).aij on se osa resurssia i (resurssi kg/tuote kg), jonka agentti j kayttaa yhdenyksikon valmistamiseen tuotetta j.bi on maara (kg) resurssia i.
Duaali-LP:n tulkinta.
Ominaisuus (d)
z=n
j=1
cjxj
mi=1
biyi=w
kayvalle x Rn, y Rm. Yhtasuuruus voimassa vain, kun x ja y opti-maalisia. Kaytetaan dimensioanalyysia yhtaloon z= w:
kok.tuotto(e) =mi=1
(resurssi i (kg)) ( ? )
yi:n dimensio on e/kg, eli yi on resurssin i yksikk oarvo optimissa.
yi:ta kutsutaan resurssin i duaali- tai varjohinnaksi (dual price, shadowprice).
Ei optimaaliselle kayvalle pisteelle z < w, eli kok.tuotto < resurssien todel-linen arvo. Siis niin kauan, kun resurssia ei taysin hyodynneta, tuotto ei voiolla optimaalinen.
LP-malli voidaan siis tulkita input-output, elipanos-tuotosmallina, missa re-surssi vastaa input-muuttujaa ja tuotto output-muuttujaa. Systeemi on epa-
stabiiliniin kauan, kuin input > output. Kun input = output, niin systeemion stabiili.
Eo. sanasto on peraisin vuoden 1975 taloustieteen Nobelin palkinnon saajil-ta venalaiselta Leonid Kantorovichilta ja hollantilaiselta Tjalling C. Koop-mansilta, jotka sovelsivat LP:n duaaliteoriaa kansantalouden input-outputkuvaukseen.
7
7/23/2019 Optimo Inti
34/127
Luento 5: Peliteoriaa
Tassa kappaleessa tutustutaan lyhyesti peliteoriaan. Peliteorian ratkaisuka-site on Nashin tasapaino, jonka jo Augustin Cournot esitti duopolimallinsaratkaisuna v. 1838.
Cournotn duopolimalli
Tarkastellaan Cournotn duopolimallia. Mallissa on kaksi yritysta, jotka tuot-tavat homogeenista tuotetta samoille markkinoille. Merkitaan yrityksen yksituotantomaaraaq1:lla ja yrityksen kaksi q2:lla. Olkoon kummankin yrityksenyksikkotuotantokustannus c. Tuotteen hinta maaraytyy yleisin ehdoin seu-raavasti: P(q1, q2) = a (q1+ q2), missaaon positiivinen vakio. Hintaan siisvaikuttavat molempien yritysten tuotantomaarat.
Tarkastellaan pelitilannetta, jossa yritykset valitsevat tuotantomaarat sa-manaikaisesti. Merkitaan yritysten saamaa hyotya :lla. Ensimmaisen yri-tyksen saama hyoty on
1(q1, q2) :=q1P(q1, q2)q1c= q1(a(q1+ q2)c) , (1)
ja vastaavasti toiselle yritykselle
2(q1, q2) :=q2(a(q1+ q2)c) . (2)
Yritykset maksimoivat omaa hyotyaan, kun toisen yrityksen tuotantomaaraoletetaan ratkaistavaksi samanlaisesta tehtavasta. Lasketaan
maxq1Q1
1(q1, q2),
missaQ1on yrityksen 1k aypien strategioidenjoukko, esimerkiksiQ1 = [0, a].
Oletataan, etta c < a. Samalla tavalla yritykselle 2.
Eo. tehtavan valttamaton ehto on:
1(q1, q2)
q1= a2q1 q2c= 0
q1 =1
2(aq2c). (3)
1
7/23/2019 Optimo Inti
35/127
Vastaavasti toiselle yritykselle:
2(q1, q2)
q2= 0
q2=1
2(aq1 c). (4)
Lasketut strategiat ovat todella maksimistrategiat, koska molempien hyoty-funktioiden toinen derivaatta on negatiivinen,
2i(q1, q2)q2i
=2< 0.
Yhtaloparin ratkaisu on
q1=q2 =ac
3 . (5)
Tama strategia on siis molemmille yrityksille optimaalinen, kun toinen yri-tys pelaa omaa optimistrategiaansa. Sijoittamalla tulos kaavoihin (1) ja (2)saadaan molempien yritysten hyodyksi
i(q1, q2) =
1
9 (ac)
2
. (6)
Tarkastellaan seuraavaksi tehtavan ratkaisemista graafisesti. Kaava (3) antaaparhaan vasteen(best response), eli reaktion, yritykselle 1 annetulla yrityksen2 tuotantomaaralla; ks. kuva 1.
Reaktiosuorien, q1 = 12
(aq2c) ja q2 = 12
(aq1c) leikkauspiste vastaaNashin tasapainoratkaisua.
Seuraavaksi tarkastelemme tilannetta, missa yritykset tekevat yhteistyota.Kilpailulainsaadanto pyrkii yleensa estamaan tallaisen yhteistyon, eli ns.kar-
tellienmuodostumisen, kovin sakoin. Nyt yritykset valitsevat tuotantomaaratsiten, etta yhteinen hyoty
1(q1, q2) + 2(q1, q2) = 12(q1, q2) =q1(a (q1 + q2)c) + q2(a (q1 + q2)c)
maksimoituu. Taman tehtavan ratkaisu on:
2
7/23/2019 Optimo Inti
36/127
Kuva 1: Reaktiosuorat ja Nashin tasapaino
12(q1, q2)
q1=a2(q1+ q2)c= 0
12(q1, q2)q2
=a2(q1+ q2)c= 0
q1 =q2=ac
4 . (7)
Talla strategialla molempien yritysten tuotoksi saadaan (sijoitus kaavoihin(3) ja (4))
1=2 =1
8(ac)2.
Verrattaessa tata tulosta ensimmaisen tilanteen tulokseen, kaava (6), huo-
mataan, etta tekemalla yhteistyota voidaan saavuttaa suurempi hyoty kuinilman yhteistyota. Siksi kartelleja pyrkii syntymaan. Kartellien muodostumi-nen ei ole kuitenkaan kuluttajan kannalta edullinen, koska talloin tuotteenhinta nousee.
3
7/23/2019 Optimo Inti
37/127
Nashin tasapaino
Strategiapari (qN1 , qN2 ) on Nashin tasapaino, jos
1(qN1 , q
N2 ) (q1, q
N2 ),q1Q1, (8)
2(qN1 , q
N2 ) (q
N1 , q2),q2Q2. (9)
Nashin tasapainostrategia on pelaajan paras strategia silloin, kun toinen pe-laaja pelaa omaa tasapainostrategiaansa.
Vaikka yhteistyotulos on parempi kuin Nashin tasapainotulos, pelaajalla on
houkutus poiketa yhteistyosta omaksi edukseen, koska yhteistyoratkaisu eiyleensa toteuta tasapainoehtoja.
Sekastrategia
Tarkastellaan seuraavaksi kahden pelaajan peleja, joissa pelit esitetaan tu-lostaulukkona. Tama on mahdollista, kun pelaajien strategioita onaarellinenmaara. Taulukon alkio aij on strategiaparin (i, j) tulos. Esimerkiksi peli voisiolla seuraavanlainen:
Pelaaja2
Pelaaja1
L C RT 5,4 4,0 5,3M 4,0 0,4 5,3B 3,5 3,5 6,6
missa pelaajalla 1 on kolme strategiaa T, M, B ja pelaajalla 2 strategiat L, C,R. Nashin tasapaino voidaan maarittaa tulostaulukosta tarkastelemalla stra-tegioita pareittain. Jos pelaaja 2 pelaa strategiaa L, pelaajan 1 paras vaste
on strategia T. Alleviivataan tama tulos taulukkoon. Tehdaan tama operaa-tio molemmille pelaajille kaikilla strategiapareilla. Jos taulukosta loytyy al-kio, jonka molemmat tulokset on alleviivattu, tama strategiapari on Nashintasapaino. Tassa pelissa Nashin tasapainoiksi saadaan (B,R) ja (T,L).
4
7/23/2019 Optimo Inti
38/127
Nollasummapeliss apelaajien intressit ovat vastakkaiset, siis alkion aij tulok-
set summautuvat nollaksi. Esimerkkina kolikkojen sovittamispeli:
Pelaaja2
Pelaaja1
q 1-q
p1-p
Kr KlKr -1,1 1,-1Kl 1,-1 -1,1
Talle pelille ei loydy Nashin tasapainoa puhtailla strategioilla, Kruuna jaKlaava. Tasapaino loytyy kuitenkin ns. sekastrategioilla. Oletetaan, etta
pelaaja 1 pelaa kruunaa todennakoisyydella p ja klaavaa 1 p ja pelaaja2 kruunaa todennokoisyydella q ja klaavaa 1 q. Pelaaajien hyotyjen odo-tusarvot ovat:
E[1] = p [q+ (1q)] + (1p) [q(1q)] =4pq+ 2p+ 2q1
E[2] = 4pq2p2q+ 1.
Voidaan todeta, etta strategiat, missa molemmat pelaajat pelaavat kruunaatodennakoisyydella 0.5 ja klaavaa todennakoisyydella 0.5 on Nashin tasapai-
no, eli ko. strategiat toteuttavat epayhtalot (8) ja (9) hyotyjen odotusarvoille.Puhtaat strategiat ovat sekastrategioiden erikoistapaus, toiseen strategiaanliittyy todennakoisyys 1 ja toiseen 0.
Vangin ongelma
Kasper ja Jesper ovat tehneet kuutamokeikkoja Otaniemen ostarilla ja ovatjaaneet siita kiinni. Poliisilla ei ole riittavasti todisteita pidattaa poikia, elleiainakin toinen heista tunnusta. Poliisi pistaa pojat eri selleihin ja pyytaa
heita tunnustamaan (C), tai sitten ei (N). Poliisi sanoo: Jos kumpikaanteista ei tunnusta, olette molemmat tarkkailtavina putkassa yhden paivan,tulos kummallekin -1. Jos te molemmat tunnustatte, saatte olla putkassa 6paivaa. Jos sen sijaan toinen teista tunnustaa, mutta toinen ei, ensin mainittupaasee vapaaksi ja toinen saa olla putkassa 9 paivaa. Peli, jota Kasper jaJesper pelaavat poliisin valityksella on seuraava:
5
7/23/2019 Optimo Inti
39/127
Jesper
Kasper
N CN -1,-1 -9,0C 0,-9 -6,-6
N : ei tunnustaC : tunnustaa
Pelin rationaalinen ratkaisu on vaajaamatta (C,C), eli kumpikin on putkas-sa 6 paivaa: Pojat jotk ei tulleet hyviks, nyt on jauhettuna jyviks. Tulos
(1,1) ei tule valituksi, koska se ei ole Nashin tasapaino, eli kummankaanpelaajan kannalta rationaalinen ratkaisu, kun pelia pelataan vain kerran. Jospelia sen sijaan toistetaan, myos tama tulos voi tulla kyseeseen, kun pelaajatpelaavat toistettua pelia esim. ns. Tit for Tat-strategialla: pelaa ensimmai-sella kierroksella N; pelaa seuraavissa peleissa aina, kuten vastaustaja pelasiedellisessa pelissa.
Nashin neuvotteluratkaisu
Cournotn duopolimallissa tutustuimme ns. yhteisoptimiin, eli funktion
1+ 2
yhteisoptimiin. Sinansa melkein mika tahansa ns.tehokas, taiPareto-optimaa-linenpiste voisi olla yhteistyoratkaisu. Piste on Pareto-optimaalinen, jos siir-tyminen johonkin toiseen pisteeseen huonontaa aidosti ainakin toisen pe-laajan hyotya. Eli piste ei ole Pareto-optimaalinen, jos molempia hyotyjavoidaan parantaa, ja toista aidosti, siirtymalla johonkin toiseen pisteeseen.Luennolla 6 osoitetaan, etta jokainen Pareto-piste saadaan maksimoimallafunktio
1+ (1)2,
missa painokerroin, 0 1. John Nash esitti v. 1950, etta lukuisista hy-vista yhteistyopisteista voidaan valita yksi ratkaisu ns. neuvotteluratkaisuksi.
Tutkitaan kahden pelaajan valisia, kaypia hyotypareja (u1, u2). Oletetaan,etta nama pisteet kuuluvat kompaktiin ja konveksiin neuvottelujoukkoon S.Olkoon (0,0) ristiriitatulos, tai neuvottelun referenssipiste. Nash oletti neu-votteluratkaisun toteuttavan Pareto-optimaalisuuden lisaksi kolme oikeuden-mukaisuusaksioomaa, ja osoitti, etta nama maaraavat yksikasitteisesti kun-
6
7/23/2019 Optimo Inti
40/127
kin neuvottelujoukonSneuvotteluratkaisunF(S) := (uNB1 , uNB2 ). Ko. aksioo-
mat ovat:
(a) Riippumattomuus yksikoista, joilla hyotyja mitataan: olkoot 1 0 ja2 0 vakioita. Merkitaan S:={(1u1, 2u2)|(u1, u2) S}. TalloinF(S) = (1u
NB1 , 2u
NB2 ).
(b) Fon symmetrinen: jos Son symmetrinen joukko suoran u2 = u1 suh-teen uNB2 =u
NB1 .
(c) Fon riippumaton epaoleellisista vaihtoehdoista: jos S S ja
F(S) S
F(S
) =F(S).
Nash osoitti lisaksi, etta annetulla Sneuvotteluratkaisu (uNB1 , uNB2 ) saadaan
ratkaisemalla optimointitehtava
max(u1,u2)S
u1u2.
7
7/23/2019 Optimo Inti
41/127
Luento 6: Monitavoiteoptimointi
Monitavoiteoptimointitehtavassa on useita optimoitavia kohdefunktioita elins. kriteereit a: f1, . . . , f m. Esimerkiksi opiskelija haluaa oppia mahdollisim-man hyvin ja paljon mahdollisimman lyhyessa ajassa ja saada samalla sivuan-sioista mahdollisimman paljon rahaa siten, etta vapaa-aikaakin jaisi mahdol-lisimman paljon. Optisessa teollisuudessa kameran linssi halutaan tehda mah-dollisimman laadukkaaksi ja edulliseksi. Siltainsinoori haluaa rakentaa sillankestavaksi, halvaksi ja maisemaan sopivaksi. Yhteista kaikille edella maini-tuille ongelmille on se, etta niissa on useita tavoitteita, jotka tulisi saavuttaayhtaaikaisesti ja mahdollisimman hyvin.
Esimerkki. Portfolion eli arvopaperijoukon optimoinnissa:
f1 := tuoton odotusarvo; maksimoidaanf2 := tuoton varianssi; minimoidaan
Lisaksi voisi olla muitakin kriteereita, esimerkiksi:
f3 := sijoitusajanjakson osingot; maksimoidaan
Esimerkki. Vesiston optimaalisessa (vuotuisessa) saannostelyssa kriteereinavoivat olla:
f1 := vesivoiman vuotuinen tuotto; maksimoidaan
f2 := vuotuiset saannostelykustannukset; minimoidaanf3 := veneily- ja muu virkistyskaytto (paivaa/vuosi); maksimoidaanf4 := kalojen kutualueet (hehtaaria); maksimoidaan
Tehtavassa esimerkiksi valtio tai kunta voisi olla paatoksentekija eo. kritee-rein. Voisi myos olla, etta kutakin kriteeria vastaa ao. intressiryhma, esim.kriteeria f3 veneilijat ja mokkeilijat, jolloin kyseessa on neljan paatoksente-kijan monitavoiteoptimointitehtava.
Tehtava 1. Kirjoitetaan monitavoitetehtatava muotoon
max{f1(x), . . . , f m(x)}
s.e. x X Rn,
missa Xon kaypien pa at osvaihtoehtojen joukko.
Huomaa. Yleensa ei ole olemassa x X, joka maksimoisi kaikki funktiotf1, . . . , f m samanaikaisesti. Minkalainen optimiratkaisu edella olevalle teh-tavalle olisi mielekas? Tata tutkimme seuraavassa.
Olkoon aluksi n = 2, m = 2. Alla olevat maaritelmat on helppo yleistaatapaukseen n, m 2.
1
7/23/2019 Optimo Inti
42/127
Kuva 1: Kayvan alueen Pareto-optimaaliset pisteet.
Olkoon x X ja merkitaan z := [z1, z2]T = [f1(x), f2(x)]
T. Joukon Xkuvajoukko F := {(f1(x), f2(x)) |x X} on piirretty kuvaan 1. Otetaanz-karkisen kartion, , jonka sivut ovat koordinaattiakselien suuntaiset, jajoukonF leikkaus. Naissa pisteissa, paitsi z:ssa, f1:n ja f2:n arvot ovat jokoaidostiparempia, tai toinen aidosti parempi ja toinen vahintaan yhta hyva,kuin z:ssa, ellei z P, jolloin ko. alue sisaltaa vain pisteen z. Oletammealuksi, etta joukko F on konveksi, eli F sisaltaa kaikkien pisteidensa z
F, z
F valisen janan, eli joukon
L= { z | z= z + (1 )z; [0, 1]}.
Konveksisuutta kasitellaan lahemmin luennolla 12. Lisaksi oletamme, ettajoukonF reunapisteidenjoukko eli reuna kuuluu joukkoon F.
Siis jos z = [f1(x), f2(x)]T F, z / P, voidaan f1:n ja f2:n arvoja aina
parantaa, ja toista aidosti, siirtymalla johonkin joukon F pisteeseen.
Jos sen sijaan siirrytaan pisteestaz P johonkin toiseenF:n pisteeseen, niinaina ainakin toisen komponentin arvo aidosti huononee.
F:n pisteita z P kutsutaan tehtavan Pareto-optimaalisiksi- tai Pareto-tehokkaiksi pisteiksi, tai vain Pareto-pisteiksi. Vastaavat x:t, eli x:t, joille[f1(x), f2(x)]
T P, ovat Pareto-optimaalisia vaihtoehtoja.
Huomaa. Ajatellaan tehtavaa, missaFon kuten kuvassa 2. Pareto-pisteidenjoukko on P, kun funktioita f1 ja f2 maksimoidaan, ja P
silloin, kun niitaminimoidaan.
Maaritelma. OlkoonX Rn ja f := [f1, . . . , f m]T. Piste xXon Pareto-
optimaalinen, jos ei ole olemassa x X s.e. fi(x) fi(x),1 i m, ja
2
7/23/2019 Optimo Inti
43/127
Kuva 2: Pareto-pisteet P maksimointitehtavassa ja Pareto-pisteet P mini-mointitehtavassa.
ainakin yksi epayhtalo on aito. Kriteerivektoriz Fon Pareto-optimaalinen,eli z P, jos z = [f1(x), . . . , f m(x)]
T jollakin x X, ja x on Pareto-optimaalinen.
Maaritelma. Monitavoiteoptimointitehtavan ratkaisun muodostavat tehta-van Pareto-optimaaliset vaihtoehdot x X.
Maaritellaan viela Pareto-optimaalisuuden rinnalle ns. heikko Pareto-opti-maalisuus.
Maaritelma. Piste x X on heikosti Pareto-optimaalinen, jos ei ole ole-massa toista pistetta x X s.e.fi(x
) fi(x),1 i m. Kriteerivektori z Fon heikosti Pareto-optimaalinen, jos sita vastaava kayvan joukon pistexX on heikosti Pareto-optimaalinen.
Kuvassa 3 on esimerkki heikosti Pareto-optimaalisten kriteerivektoreiden jou-kosta. Huomaa, etta Pareto-optimaalisten kriteerivektoreiden joukko P onheikosti Pareto-optimaalisten pisteiden osajoukko.
Pareto-pisteiden laskeminen
Muista: w= [w1, w2]T on suoran w1z1+w2z2= vakio gradientti ja ilmaisee
funktion wTz kasvusuunnan, kuva 4.
Painokertoimia w1, w2 > 0, w1 +w2 = 1, vastaava Pareto-piste saadaanratkaisemalla tehtava 2.
Huomaa. Jos w1 tai w2 = 0 ja tehtavan ratkaisu yksikasitteinen, kyseessaon myos Pareto-piste.
3
7/23/2019 Optimo Inti
44/127
Kuva 3: Heikosti Pareto-optimaalisten pisteiden joukko.
Kuva 4: Konveksin joukon FPareto-pisteet. Reunimmaiset pisteet saadaanpainokertoimien (w1, w2) arvoilla (1,0) ja (0,1).
4
7/23/2019 Optimo Inti
45/127
Tehtava 2.
max wTzs.e. zF
Edella oletettiin, etta F:n pinta on konveksi. Yleisesti patee: Jos z0 on teh-tavan 2 ratkaisu ja w1, w2 > 0, niin z
0 on Pareto-piste. Katso myos kuva5.
Tutkitaan nyt monitavoitetehtavaa muodossa
maxm
i=1
wifi(x)
s.e. x X Rn,
missa wi 0,m
i=1wi= 1, ovat annettuja painokertoimia.
Menetelman yleisyytta ei heikenna se, etta painot on normeerattu siten, ettaniiden summa on yksi. Tehtava ratkaistaan sopivalla yhden funktion opti-moinnin menetelmalla. Seuraavat lauseet ovat voimassa.
Lause. Olkoon x X tehtavan ratkaisu. Talloin x on heikosti Pareto-optimaalinen.
Lause. Olkoon x tehtavan ratkaisu siten, etta wi >0,1 i m. Talloin xon Pareto-optimaalinen.
Todistus. Vastaoletus: oletetaan, etta x ei ole Pareto-optimaalinen. Tal-loin on olemassa x X siten, etta fi(x
) fi(x),1 i m, ja ainakinyksi epayhtaloista on aito. Koska kaikilla i patee wi > 0, niin wifi(x
) wifi(x), 1 i m, ja jokin epayhtaloista on aito. Talloin
mi=1
wifi(x) >m
i=1wifi(x), mika on ristiriidassa sen kanssa, etta x on painokerrointehta-
van ratkaisu. Siis xon Pareto-optimaalinen. Lause. Tehtavan ratkaisu on Pareto-optimaalinen, jos se on yksikasitteinen.
Lause. Olkoon F konveksi joukko, joka sisaltaa reunansa. Jos x X onPareto-optimaalinen, niin talloin on olemassa painokerroinvektori w, wi 0, 1 i m;
mi=1
wi = 1, siten, etta x on tehtavan ratkaisu.
Tavallisesti matemaatikko ratkaisee monitavoitetehtavan vuorovaikutteises-ti paatoksentekijan kanssa. Talloin seuraavat lahestymistavat ovat yleisestikaytossa:
5
7/23/2019 Optimo Inti
46/127
Kuva 5: Ei-konveksin joukon Pareto-pinta P1 P2 P3. Joukon P2 pisteitaei voida loytaa millaan painokertoimilla.
(a) Paatoksentekija valitsee painokertoimet. Esimerkiksi jos kriteeri f1 on
kaksi kertaa tarkeampi kuin f2, niin kahden kriteerin tehtava on: max2f1 + f2, tai max
2
3f1 +
1
3f2.
(b) Matemaatikko laskee koko P:n, josta paatoksentekija valitsee mielui-simman vaihtoehdon.
Tavoiteoptimointi
Tavoiteoptimoinnissa (Goal programming) pyritaan etsimaan ratkaisu, jokatayttaa tietyt tavoitteet. Mikali kaikkia tavoitteita ei pystyta tayttamaan,minimoidaan poikkeamaa tavoitteista.
Joukko tavoitteita. tavoitteelle i:
s+i 0. Muuttuja kuvaa paljonko tavoitteesta i jaadaan.si 0. Muuttuja kuvaa paljonko tavoite i ylitetaan.
si:t ovat ns. poikkeamamuuttujia.
Painokertoimet kertovat tavoitteiden keskinaisen tarkeyden. Tavoitteita voi-daan ylittaa ja alittaa, esimerkiksi sopivan optimoitavan funktion maaraa-
6
7/23/2019 Optimo Inti
47/127
malla tavalla.
Tavoitetehtava on muotoa:
tavoite 1: cT1 x b1 cT1
x + s+1 s
1 =b1...
... ...
tavoite i: cTi x bi cTi x + s
+
i s
i =bi...
... ...
tavoite j: cTjx = bj cTjx + s
+
j s
j =bj...
... ...
tavoite m: cTmx= bm cTmx + s
+m s
m=bm
missa xS, Son kaypien vaihtoehtojen joukko; s+i , s
i 0.
Minimoidaan poikkeamia tavoitteista tai poikkeamien painotettua summaa,jolloin saadaan tavoiteoptimoinnin tehtava:
minm
i=1
(w+i s+
i + w
i s
i )
s.e. eo. yhtalorajoitukset voimassa,x S; s+i , si 0
missa w+i , w
i 0, ovat painokertoimia.
Erikoistapaus:
tavoite 1: z1=cT1
x= b1tavoite 2: z2=c
T2
x= b2
missa z F ja Fon kuvassa 5 oleva joukko.
Tavoitepiste b = [b1, b2]T on ns. utopiapiste, jota ei voi saavuttaa. Talloin
voidaan valita esimerkiksi sellainen piste z0 F, etta z0 on minimietaisyy-della pisteesta b jonkin sopivan normin suhteen; so. z0 ratkaisee tehtavanminzF
z b.
w+i s
+
i + w
i s
i voidaan tulkita eraaksi tallaiseksi normiksi.
7
7/23/2019 Optimo Inti
48/127
Esimerkki. Euklidinen minimietaisyys :
d= minzF
z b := minzF
(z1 b1)2 + (z2 b2)2
8
7/23/2019 Optimo Inti
49/127
Luento 7: Kokonaislukuoptimointi
Lineaarisessa optimointiteht av ass a(LP) kaikki muuttujat ovat jatkuvia. Ko-konaislukuoptimoinnin(ILP = Integer LP) tehtavassa kaikilla muuttujilla onkokonaislukurajoitus (xi Z, i). Sekalukuteht av ass a kokonaislukurajoituson osalla muuttujista.Bin a ariteht av ass a(BILP) kaikki muuttujat saavat ar-von joko nolla tai yksi.
Yleisimmin kaytetty ja luotettavin menetelma ILP-tehtavan ratkaisuun onbranch-and-bound algoritmi.
Leikkaavien tasojen menetelm at(cutting-plane methods) ovat myos kaytet-tyja, mutta vaikeampia ja epavarmempia. Niiden kaytossa esiintyy myos on-gelmallisia pyoristysvirheita.
Valintamuuttuja
Bin a arimuuttujanyleinen kayttokohde on binaarinen valinta, jossa tehdaanvalinta kahden paatosvaihtoehdon valilla. Tama valinta voidaan mallintaabinaarimuuttujallax
x=
1, paatos 1
0, paatos 2,
eli asetetaan x joko nollaksi tai ykkoseksi riippuen paatosvaihtoehdosta.
Paatosmuuttujien riippuvuuksia
Binaariset paatosvaihtoehdot voivat olla riippuvaisia toisistaan. Rajoitteella(1) voidaan rajata, etta paatosmuuttujistaxienintaanakappaletta saa arvon1. Jos halutaan, etta muutttujista xi tasmalleen a kappaletta saa arvon 1,muutetaan epayhtalo yhtalorajoitteeksi.
ni=1
xi a, a {0, 1,...,n} (1)
1
7/23/2019 Optimo Inti
50/127
Olkoon riippuvuussuhde sellainen, etta joko molemmat tai ei kumpikaan
vaihtoehdoista x ja y voivat tapahtua. Riippuvuussuhde voidaan mallintaarajoitusehdolla (2)
x y = 0 (2)
Toisin sanoen tama on paatosmuuttujien valinen ekvivalenssirelaatio,x y:josx = 0, niin y = 0 ja jos x = 1, niiny = 1. Vastaavasti implikaatio (x y)voidaan mallintaa rajoitusehdolla (3)
x y (3)
Jos x = 0, niin y = 0 tai y = 1, ja jos x = 1, niin y = 1. Olkoon zriippuvainen binaarimuuttujastax:sta siten, etta josx = 0 z= 0, muutoin0 zu, u R. Tama suhde voidaan esittaa seuraavan epayhtaloryhmanavulla
z ux 0z 0
(4)
Esitellaan nyt muutamia kokonaislukuoptimoinnin sovelluksia.
Selkarepun tayttoongelma
Selk arepun t aytt oongelma (Knapsack Problem) kuvaa eramaavaeltajan vai-keutta valita tarpeellisimmat esineet reppuunsa vaellusta varten. Vaeltajavoi kantaa vain Kkilogramman kuorman. Hanen on valittava mukaansa osaesineista kaikkiaan n esineen joukosta, joista jokaisella esineella j on massa
mj ja hyoty cj matkan aikana. Vaeltajan tarkoitus on maksimoida esineistasaatava kokonaishyoty.
Binaarimuuttujaxisaa arvon yksi, jos esinei otetaan mukaan, muuten nolla.Vaeltajan ongelma voidaan esittaa binaaritehtavana muodossa
2
7/23/2019 Optimo Inti
51/127
maxx
nj=1
cjxj (a)
s.e.n
j=1
mjxj K (b)
xj {0, 1} j (c)
(5)
Tyonjako-ongelma
Ty onjako-ongelmassa (AP = Assignment Problem) yhtiolla on n tyotehta-
vaa ja m tyontekijaa tai konetta, missa n m. Jokainen tyo tehdaan yhdentyontekijan voimin ja jokainen tyontekija voi suorittaa korkeintaan yhdentyotehtavan. Kaikki tyotehtavat on suoritettava. Jos tyontekija i tekee tyo-tehtavan j, siita aiheutuu kustannus cij. Tarkoituksena on minimoida koko-naiskustannus.
Binaarimuuttujaxij saa arvon yksi, mikali tyotehtavanj suorittaa tyontekijai, muuten nolla. Tehtava on kokonaisuudessaan muotoa
minx
m
i=1
n
j=1
cijxij (a)
s.e.mi=1
xij = 1 j = 1, . . . , n (b)
nj=1
xij 1 i= 1, . . . , m (c)
xij {0, 1} i, j (d)
(6)
Rajoiteella (b) saadaan varmistettua, etta jokainen tyotehtava j tulee suori-tetuksi ja rajoitteella (c) saadaan huomioitua, etta jokainen tyontekija i voisuorittaa korkeintaa yhden tyotehtavan.
Taydellinen sovitusongelma
Sovitusongelmassa(Perfect Matching Problem) yrityksella on tyontekijoitaparillinen maara 2n ja tehtavana on muodostaa tyontekijoista tyopareja ko-konaistehokkuus maksimoiden. Olkoon cij tyontekijoiden i ja j valinen yh-teistyotehokkuus. ja binaarimuuttujaxij saa arvon yksi, kun tyontekijat i ja
j muodostavat tyoparin, muuten nolla. Tehtava on muotoa
3
7/23/2019 Optimo Inti
52/127
maxx
2n
1i=1
2n
j=i+1
cijxij (a)
s.e.i1k=1
xki+2n
k=i+1
xik = 1 i= 1, ..., 2n (b)
xij {0, 1} i, j (c)
(7)
Rajoitteella (b) saadaan varmistettua, etta jokaisella tyontekijalla on vainyksi pari.
Tehtaan sijoitusongelma
Tehtaan sijoitusongelmassa (Facility Location Problem) on joukko asiak-kaita I = {1, . . . , m} ja joukko mahdollisia tehtaan sijoituspaikkoja J ={1, . . . , n}. Tehtaan sijoittaminen paikkaanj tuottaa kustannuksencj , j J,ja asiakkaani kysynnan tyydyttaminen paikasta j tuottaa kustannuksendij.Tarkoituksena on valita sopivat tehtaiden sijoituspaikat s.e. kokonaiskustan-nus minimoituu.
Binaarimuuttujaxj saa arvon yksi, jos tehdas sijoitetaan paikkaanj , muuten
nolla. Olkoon paikkaanj sijoitetun tehtaan kapasiteetti uj ja asiakkaan i ky-synta bi. Maaritellaan lisaksi jatkuva muuttuja yij, joka osoittaa toimitustenmaaraa paikasta j asiakkaalle i. Tehtava on muotoa
minx,y
nj=1
cjxj+mi=1
nj=1
dijyij (a)
s.e.n
j=1
yij = bi, i I (b)
m
i=1yij ujxj, jJ (c)
yij 0, i, j (d)xj {0, 1} j (e)
(8)
Rajoitteella (b) varmistetaan etta asiakkaiden kysynnat tulee tyyydytettya.Tehtaan kapasiteetin ylittyminen saadaan estettya rajoitteella (c). Se myoskertoo sen, etta jos paikkaan j ei tule tehdasta (xj = 0), tavaravirtaus pai-kasta j on nolla.
4
7/23/2019 Optimo Inti
53/127
Kauppamatkustajan ongelma
Kauppamatkustajan ongelma (TSP = Traveling Salesman Problem) on eh-ka tunnetuin kombinatorinen optimointitehtava. Kauppamatkustaja aloittaamatkustamisen kotipaikkakunnalta, vierailee etukateen maaritellyissa kau-pungeissa ja palaa takaisin lahtopaikkaan. TSP:ssa on tarkoitus loytaa ko-konaiskustannuksen minimoiva reitti siten, etta jokaisessa kaupungissa onvierailtu tasmalleen kerran.
Olkoon kaupunkien joukkoN={1,...,n}jacijkaupunkieni ja j valisen kaa-ren, esimerkiksi tien tai lentoreitin kustannus. Kustannuksena voi olla etai-
syys, raha, aika tai naiden kombinaatio. Jos cij = cji, tehtava on symmetri-nen, muuten ei-symmetrinen. Olkoon binaarimuuttuja xij yksi, jos kauppa-matkustaja jatkaa kaupungista i kaupungiin j, muuten nolla. Olkoon kaup-pamatkustajan kotipaikkakunta kaupunki 1. Tehtavan formulointi on
minx
ni=1
nj=1
cijxij (a)
s.e.ni=1
xij = 1, j = 1,...,n (b)
nj=1
xij = 1, i= 1,...,n (c)i,j(S)
xij |S| 1, S N , S=N , (d)
xij {0, 1} (e)
(9)
Rajoitteilla (b) ja (c) huolehditaan siita, etta jokaiseen kaupunkiin saavu-taan ja sielta poistutaan. Alireittien muodostuminen estetaan rajoitteella (d),missa joukko Son kaupungeista Nvalittu ei-tyhja osajoukko ja itseisarvollatarkoitetaan tassa yhteydessa S:n alkioiden lukumaaraa. (S) maaritellaanseuraavasti:
(S) ={(i, j) |i S, j S} (10)
Jos kaupunkien joukossa S patee (i,j)(S)
xij >|S| 1, on joukossa Skeha,
jolloin on siis muodostunut alireitti. Ilman rajoitetta (d) ratkaisu voisi ollakuvan 1 mukainen.
5
7/23/2019 Optimo Inti
54/127
Kuva 1: Esimerkki kahdesta alireitista 9-kaupungin TSP:ssa.
Joukon peitto-, pakkaus- ja ositustehtavat. Huutokaup-patehtava
Olkoon M ={1, . . . , m} ja N ={1, . . . , n}. Olkoon M1, M2, . . . , M n kokoel-ma joukon Mosajoukkoja. Jokaiselle osajoukolle Mj on liitetty kustannus,tai arvo, cj. Joukon N osajoukko F on peite(cover) M:lle, jos
jFMj =M .
F on
pakkaus (packing), jos
Mj Mk =, j, k F, j= k.
F on M:n ositus(partition), jos se on seka peite etta pakkaus M:lle. Osa-joukonFkokonaiskustannus on
jFcj.
Kuvassa 2 on havainnollistus peitteesta, osituksesta ja pakkauksesta.
Joukon peittoteht av ass a (set-covering problem, SCP) etsitaan kokonaiskus-
tannuksen minimoiva peiteF,pakkausteht av ass a(set-packing problem, SPP)kokonaiskustannuksen maksimoiva pakkaus F ja ositusteht av ass a (set-parti-tioning problem, SPP) kokonaiskustannuksen minimoiva (maksimoiva) ositusF.
Olkoon aij = 1, jos i Mj, ja muuten nolla; ja xj = 1, jos j F. Maaritel-laan vektorit x = (x1, . . . , xn), ja e = (1, . . . , 1), jonka dimensio on m, sekamatriisiA, (A)ij =aij. Fon peite, pakkaus tai ositus jos ja vain jos
Ax e, Ax e, Ax= e.
6
7/23/2019 Optimo Inti
55/127
Kuva 2: Peite, ositus ja pakkaus.
Huutokauppatehtava
Olkoon internetissa toimivalla huutokauppiaalla M tuotetta (esim. jonkinasuinkiinteiston huonekalut). Huutokaupan periaate on seuraava: jokainenasiakas tekee M:n osajoukosta (osajoukoista)Mj tarjouksen tietamatta tois-ten tekemista tarjouksista. Olkoon b(Mj) korkein osajoukolle Mj tehdyistatarjouksista ja N osajoukkojen Mj indeksijoukko. Keille asiakkaille huuto-kauppiaan kannattaa myyda tuotteet tarjouksien jalkeen, jotta voitto mak-
simoituisi? Tama tehtava on joukon pakkaustehtava. Olkoon a
ij = 1, josi Mj, muuten nolla; ja xj = 1, jos osajoukko Mj myydaan. Huutokauppi-aan tehtava on siten:
maxjeN
b(Mj)xj (a)
s.e.jN
aijxj 1 i M (b)
xj {0, 1} j N (c)
(11)
Esimerkkeja
Esimerkki 1Budjetointi. Kylla - ei -rajoitus.
Paaoma budjetoidaan viiteen projektiin, joista kunkin kesto on 3 vuotta.Projektien odotetut tuotot ja kustannukset seka kaytossa oleva paaoma ovatao. taulukossa. Yritys maksimoi kokonaistuottoaan.
7
7/23/2019 Optimo Inti
56/127
kustannukset (ME)/vuosi
projekti 1 2 3 tuotto (ME)
1 5 1 8 202 4 7 10 403 3 9 2 204 7 4 1 155 8 6 10 30
kaytettava paaoma (ME) 25 25 25
Mitka projektit tulisi toteuttaa? Maaritellaan binaarimuuttujat xj seuraa-vasti:
xj =
1, jos projekti j toteutetaan
0, jos projektia j ei toteuteta
Kylla - ei -rajoitus toteutetaan siis 0 tai 1 arvoisilla muuttujilla.
Nyt ILP-tehtava saa muodon
max z = 20x1 + 40x2 + 20x3 + 15x4 + 30x5s.t. 5x1 + 4x2 + 3x3 + 7x4 + 8x5 25
x1 + 7x2 + 9x3 + 4x4 + 6x5 258x1 + 10x2 + 2x3 + x4 + 10x5 25
x1, x2, x3, x4, x5 {0, 1}
Tama tehtava voidaan ratkaista esim. Excelin solverilla. Ratkaisuksi saadaanx1 = x2 = x3 = x4 = 1, x5 = 0 ja kohdefunktiolle arvo z = 95 (milj. E). Eliprojektit 1-4 toteutetaan.
ILP-tehtavan ratkaisua on mielenkiintoista verrata vastaavaan jatkuvien muut-tujien, 0 xj 1,j, LP-tehtavaan. Ratkaisu on tassa tapauksessa x1 =0.5789, x2 = x3 = x4 = 1, x5 = 0.7368, ja z= 108.68. Tulos on merkityk-seton, koska x1 ja x5 ovat desimaalilukuja eivatka nain ollen vastaa kylla -ei kysymykseen. Jos taas koitetaan pyoristysta, saadaanxj = 1 , j, joka eivastaa optimiratkaisua.
Esimerkki 2 Joko - tai -rajoitus. Yritys kayttaa yhta konetta kolmen eri
8
7/23/2019 Optimo Inti
57/127
tyotehtavan suorittamiseen. Tehtavien suoritusajat, erapaivat ja myohasty-
missakot on annettu taulukossa.
tyo suoritusaika (paiva) erapaiva (paiva) myohastymissakko (E/paiva)
1 5 25 192 20 22 123 15 35 34
Tehtavana o n maarittaa toiden suorituksen aloituspaivat s.e. maksettavamyohastymissakko minimoituu.
Kaytetaan seuraavia merkintoja:
pj = tehtavan j suoritusaikadj = tehtavan j erapaiva
Maaritellaan paatosmuuttujat:
xj = tehtavan j aloituspaiva
Tehtavassa tarvitaan kahdenlaisia rajoitusehtoja:
1. On estettava toiden yhtaaikainen suorittaminen.
2. Erapaivarajoitus.
Toita i ja j ei suoriteta yhtaaikaa, jos patee:
jokoxi xj+ pj, tai xj xi+ pi
Matemaattisiin algoritmeihin ei tallaista joko - tai -ehtoa voi tallaisenaan
syottaa. Se on muunnettava kahdeksi aina voimassa olevaksi rajoitukseksi.Tahan tarvitaan seuraavia apumuuttujia:
yij =
1, jos isuoritetaan ennen j:ta
0, jos j suoritetaan ennen i:ta
Nyt voidaan muodostaa rajoitukset
M yij+ (xi xj) pj, ja M(1 yij) + (xj xi) pi,
9
7/23/2019 Optimo Inti
58/127
missa Mon riittavan suuri luku.
Nyt patee: Jos j on ennen i:ta yij = 0, joten xi xj pj; mutta myosM+xj xi pi, kunhan Mon riittavan suuri luku.
Erapaivaa vastaava rajoitus on
xj+ pj+ sj =dj.
Jossj 0, saadaan tyo valmiiksi ennen erapaivaa. Jos taassj 0, joudutaansakkoa maksamaan sj :na paivana.
Muuttujanvaihdolla sj =s+j s
j; s+j , s
j 0
rajoitusehto saadaan muotoon:
xj+ s+j s
j = dj pj.
Koska tavoiteena on minimoida myohastymissakoista muodostuvat kustan-nukset, voidaan muodostaa seuraava ILP-tehtava.
minz
= 19s
1 + 12
s
2 + 34
s
3s.e.
x1 x2 +My12 20x1 x2 My12 5 Mx1 x3 +My13 15x1 +x3 My13 5 M
x2 x3 +My23 15x2 +x3 My23 20 M
x1 +s+1 s
1 = 25 5x2 +s
+2 s
2 = 22 20x3 +s
+3 s
3 = 35 15
x1, x2, x3, s+1, s
1, s+2, s
2, s+3, s
3 0
y12, y13, y23 {0, 1}
Valitsemalla M:n arvoksi esimerkiksi M = 1000, voidaan tehtava ratkaistajollain kokonaislukuohjelmoinnin algoritmilla. Optimiratkaisu on x1 = 20,x2= 0, x3 = 25, eli tyo 2 aloitetaan heti, tyo 1 paivana 20 ja tyo 3 paivana 25.Myohastymissakkoja joudutaan talloin maksamaan 5 34e= 170e.
10
7/23/2019 Optimo Inti
59/127
Branch-and-bound menetelma (B & B - menetelma)
Branch and bound menetelma on luotettava menetelma ILP-tehtavien rat-kaisemiseen. Siina alkuperaisen kokonaislukutehtavan kaypa joukko, joka siismuodostuu kokonaislukuvektoreista, muutetaan jatkumoksi, jolloin saadaanILP:n sisaltava LP-tehtava, ns. ILP:n LP-relaksaatio. Ko. LP-tehtava rat-kaistaan. Jos ratkaisu ei ole kokonaislukuvektori, tehtavaan lisataan erityis-rajoitukset, jolloin LP-tehtava muutetaan kahdeksi uudeksi LP-tehtavaksi,jotka kuitenkin sisaltavat alkuperaisen ILP-tehtavan kayvat kokonaisluku-pisteet. Ko. LP-tehtavat ratkaistaan ja menetelmaa toistetaan kunnes ILP-tehtavan ratkaisu loytyy. Menetelman toiminta kuvataan seuraavan esimer-
kin avulla.
Esimerkki
Olkoon ratkaistava ILP-tehtava
max z= 5x1 +4x2s.t. x1 +x2 5
10x1 +6x2 45x1, x2 Z+
Kuva 3: Alkuperaisen ILP-tehtavan kaypa joukko, seka LP-relaksaation LP0optimiratkaisu.
11
7/23/2019 Optimo Inti
60/127
Kuvaan 3 merkityt pisteet muodostavat ILP-tehtavan kayvan joukon. ILP-
tehtavasta muodostetaan LP-relaksaatio poistamalla kokonaislukurajoituk-set. Olkoon LP0 alkuperaisen tehtavan LP-relaksaatio.
LP0:n ratkaisu onx1= 3.75, x2= 1.25, z= 23.75. Tama ratkaisu ei ole koko-naislukuarvoinen. Valitaan jompikumpi luvuistaxj, joka ei ole kokonaisluku,esimerkiksi x1. Alueella 3 < x1 < 4, LP0:n kayvassa joukossa ei ole yhtaankokonaislukuratkaisua, joten ko. aluetta ei tarvitse huomioida ILP-tehtavanratkaisua haettaessa. Seuraavaksi muodostetaan LP0:sta kaksi alitehtavaaLP1 ja LP2 seuraavasti:
LP1:n rajoituehdot = LP0:n rajoituehdot + (x1 3)LP2:n rajoituehdot = LP0:n rajoituehdot + (x1 4)
LP1:n ja LP2:n kayvat joukot on esitetty kuvassa 4. LP1:ta ja LP2:ta tutki-taan erillisina tehtavina.
Kuva 4: LP0:sta muodostetaan relaksaatiot LP1 ja LP2 lisaamalla rajoituksetx1 3 ja x1 4.
Valitaan sattumanvaraisesti ensin tutkittavaksi LP1. Tehtava on
12
7/23/2019 Optimo Inti
61/127
max z= 5x1 + 4x2s.t. x1 + x2 5
10x1 + 6x2 45x1 3x1, x2 0
Tehtavan ratkaisuksi saadaan x1 = 3, x2 = 2, z= 23, mika tayttaa myos ko-konaislukurajoitukset. Nyt LP1:n kaypaa joukkoa ei enaa tarvitse tutkia, sillasielta ei voi loytya tata parempaa kokonaislukuratkaisua. Emme kuitenkaanvoi viela pitaa loydettya ratkaisua alkuperaisen ILP-tehtavan ratkaisuna, silla
LP2:n kayvasta joukosta saattaa loytya viela parempi kokonaislukuratkaisu.Saatu ratkaisu on kuitenkin eras alaraja (lower bound) ILP-tehtavan kohde-funktion optimiarvolle. Alarajaa paivitetaan algoritmin edetessa sita mukaa,kun parempia kokonaislukuratkaisuja loytyy.
Nyt on tutkittava, loytyyko LP2:n kayvasta joukosta parempaa kokonaislu-kuratkaisua. Havaitaan, etta tehtavan LP0 optimiratkaisussa z=23.75, koh-defunktion kertoimet ovat kokonaislukuja. Nain ollen z=23 on suurin koh-defunktion arvo, mita kokonaislukuratkaisulla voidaan saavuttaa. Voimmesiis todeta, tutkimatta tehtavaa LP2, etta piste x1 = 3, x2 = 2, z= 23 onalkuperaisen ILP-tahtavan ratkaisu.
Jos olisimme alkaneet tutkia LP2:ta ennen LP1:ta, ja jakaneet LP2:ta alion-gelmiin kunnes loytyy kokonaislukuratkaisu ja vastaava alaraja, olisi algorit-mi edennyt kuvassa 5 esitetyn puun mukaan.
B & B-algoritmin vaiheet:
Maksimointitehtava, alaraja alussa (minimoinnissa alaraja korvataanylarajalla, ylaraja alussa ).
1. Muodostetaan ILP-tehtavasta LP-tehtava poistamalla kokonaislukurajoi-
tukset. Siirrytaan vaiheeseen 2.
2. Ratkaistaan tutkittava LP-tehtava.
Mikali ratkaisu on kokonaislukuvektori, on kaksi vaihtoehtoa
1. Jos ratkaisu on parempi kuin voimassa oleva alaraja, korvataan alarajatalla kohdefunktion arvolla.
2. Jos ratkaisu on huonompi kuin voimassa oleva alaraja, sailytetaan van-
13
7/23/2019 Optimo Inti
62/127
Kuva 5: Algoritmin muodostama puu, kun tarkastellaan ensin aliongelmaa
LP2. Numerot laatikoiden ylla kertovat tehtavien ratkaisujarjestyksen.
ha alaraja.
Jos kaikki alitehtavat on tutkittu, on voimassa olevaa alarajaa vastaava pisteILP-tehtavan optimi ja algoritmi paattyy. Jos alitehtavia on viela tutkimatta,valitaan niista yksi tutkittavaksi ja siirrytaan vaiheen 2 alkuun.
Mikali loydetty ratkaisu ei toteuta kokonaislukurajoituksia, on myos kaksivaihtoehtoa
1. Jos ratkaisu on parempi kuin voimassa oleva alaraja, siirrytaan vaihee-seen 3.
2. Jos ratkaisu on huonompi kuin voimassa oleva alaraja, valitaan uusitutkimaton alitehtava ja siirrytaan vaiheen 2 alkuun. Jos kaikki ali-tehtavat on tutkittu, on voimassa olevaa alarajaa vastaava piste ILP-tehtavan optimi ja algoritmi paattyy.
3. Valitaan yksi muuttujaxi, jonka arvo tutkittavan LP-tehtavan optimissa ei
14
7/23/2019 Optimo Inti
63/127
ole kokonaisluku. Muodostetaan LP-tehtavasta kaksi alitehtavaa lisaamalla
tata muuttujaa koskevat rajoitukset
xi a ja xi a+ 1,
missaa Zja muuttujanxiarvolle LP-tehtavan optimissaxi pateea < x
i 0 s.e. f(x) f(x + h) h Rn,||h|| < r.xon globaali minimi, jos f(x)
f(x + h)
h
Rn.
Vastaavasti maaritellaan lokaali- ja globaali maksimi.
Minimi- tai maksimipistetta xsanotaan myos optimipisteeksi.
Funktion arvoaf(x) optimipisteessax sanotaanminimi-tai maksimiarvoksi,tai optimiarvoksi.
Kvadraattinen funktio
Funktiof : Rn
R on lineaarinen, jos f(x) =cTx.
Kvadraattinen funktio f : Rn R on muotoa f(x) = 12
i
jqijxixj +
icixi+d, eli matriisimuodossa
f(x) =1
2xTQx + cTx +d,
missa Q Rnn ja Q on symmetrinen, eli Q=QT.Huomaa Mika tahansa neliomuodon keskella oleva neliomatriisi A voidaanaina muuttaa symmetriseksi matriisiksi Q:
skalaari xTAx= (xTAx)T =xTATx
Siis xTAx= xT1/2(A + AT)x, missa Q= (A + AT) on symmetrinen.
Esimerkki Hae funktion f(x) kvadraattinen esitys.
f(x) = (x1 x2)2 + (x1+ 2x2+ 1)2 8x1x2= 2x21 6x1x2+ 5x22+ 2x1+ 4x2+ 1
2
7/23/2019 Optimo Inti
66/127
Mielivaltainen kahden muuttujan neliomuoto voidaan kirjoittaa seuraavasti:
1
2[x1x2]
x1x2
=
1
2x21+x1x2+
1
2x22
Q=
=
4 66 10
, c=
24
, d= 1.
Q Rnn onpositiivisesti definiitti, jos xTQx > 0 x Rn, x = 0.positiivisesti semidefiniitti, jos xTQx 0 x Rn.negatiivisesti definiitti ja negatiivisesti semidefiniittimaaritellaan vastaavas-ti, mutta < jamerkeilla.Huomaa Q Rnn positiivisesti definiitti Q:n kaikki ominaisarvot > 0.Vastaavasti muille definiittisyyksille ominaisarvot ovat0, < 0,0.Huomaa Qon positiiviseti- tai negatiivisesti definiitti kaanteismatriisiQ1.
Esimerkki Olkoon f(x) = 12
xTQx, ja Q positiivisesti definiitti x = 0on f:n yksikasitteinen globaali minimi. Jos Q on positiivisesti semidefiniitti x= 0 on globaali minimi, mutta ei valttamatta yksikasitteinen.
Differentioituvuus
Maaritelmia:
Olkoon f : Rn R.
f(x) := f/x1(x), , f / xn(x)Tonf:ngradienttipisteessax. Gradientti ajatellaan siis pystyvektorina. Funk-tion f Hessen matriisi pisteessa xon
Hf(x) :=
2f/x21(x) 2f/x1xn(x)...
. . . ...
2f/xnx1(x) 2f/x2n(x)
Rnn.
3
7/23/2019 Optimo Inti
67/127
Huomaa, etta Hf(x)T = Hf(x).
Olkoon f: Rn Rm, f(x) =
f1(x)...
fm(x)
.
Funktion fJacobin matriisi pisteessa x on
Jf(x) :=
f1(x)T
...
fm(x)T
=
f1/x1(x) f1/xn(x)
... . . .
...
fm/x1(x) fm/xn(x)
Rmn .
Funktiof on differentioituva x:ssa, jos
f(x + h) f(x) =f(x)Th + ||h||(x; h) h Rn,
missa funktio (x; ) : Rn R on sellainen, etta limh0(x; h) = 0; kay-tamme raja-arvosta myos merkintaa (x; h) 0, kun h 0.HuomaaVaikkaf:n osittaisderivaatat ovat olemassa pisteessax, sen ei silti
tarvitse olla differentioituva. Kuitenkin patee: jos f:lla on jatkuvat osittais-derivaatat pisteessa x, se on (jatkuvasti) differentioituva x:ssa.
Huomaa Tasta lahtien oletamme aina, etta kaikki osittaisderivaatat ovatjatkuvia ko. tarkastelupisteessa.
Taylorin kaava: Jos fon kahdesti differentioituva x:ssa, on voimassa:
f(x + h) =f(x) + f(x)Th + 12
hTHf(z)h=f(x) + f(x)Th + 1
2hTHf(x)h,
missa x, h
R
n ja z = x+ h, jollekin , 0 < < 1. On likimaarin-
merkinta = tarkoittaa: vasen puoli miinus oikea puoli saadaan mielivaltai-sen pieneksi, kun vain||h|| on riittavan pieni. Tama patee, jos Hf on x:nymparistossa jatkuva.
Optimin valttamattomat- ja riittavat ehdot
Lause Olkoon x funktionf lokaali optimipiste.
4
7/23/2019 Optimo Inti
68/127
f(x) =0;eli valttamattomat ehdot lokaalille optimille ovat: f(x)/xi= 0,i.Todistus Olkoon esimerkiksi x lokaali minimi. Talloinh Rn, >0, onvoimassa:
f(x +h) f(x) =f(x)Th + ||||h||(x, h).
Vastaoletus. Olkoonf(x) = 0. Valitaan hs.e.f(x)Th< 0.
f(x +h) f(x)
= f(x)Th + ||h||(x, h) 0 on riittavan pieni. Talloin f(x +h)< f(x), mika on ristiriita.
Lause Olkoon f : Rn R kahdesti differentioituva x:ssa. Talloin
(a) xon lokaali minimi f(x) = 0 ja Hf(x) on positiivisesti semidefi-niitti.
(b)f(x) = 0 ja Hf(x) positiivisesti definiitti x on yksikasitteinenlokaali minimi.
Vastaavasti lokaalille maksimille: (a)f(x) = 0 ja Hf(x) on negatiivisestisemidefiniitti, (b)f(x) =0 ja Hf(x) negatiivisesti definiitti.
HuomaaEhdon f(x) = 0 toteuttava piste xvoi olla myos ns. satulapiste,tai k a annepiste. Esimerkiksif(x) =x3, x= 0 on kaannepiste.
Esimerkki
f(x) = x1+ 2x3+x2x3 x21 x22 x23
f(x) =0
f/x1(x) = 1 2x1= 0f/x2(x) =x3 2x2= 0f/x3(x) = 2 +x2 2x3 = 0
5
7/23/2019 Optimo Inti
69/127
Yhtaloryhman ratkaisu on x= (1/2, 2/3, 4/3). Onko tama maksimi tai mi-
nimi?
Hf(x) =
2 0 00 2 1
0 1 2
Huomaa Kvadraattiselle f:lle Hf(x) ei riipu x:sta. Jos f:ssa on xi:n kor-keampia potensseja mukana, Hf(x) riippuu yleensa x:sta.
RatkaistaanHf(x):n ominaisarvot:
det(Hf(x) I) =2 0 0
0 2 10 1 2
=(2 +)3 + 2 + =(2 +)[(2 +)2 1] = 0
1 = 2, 2= 3, 3 = 1
Siis Hf(x) on negatiivisesti definiitti, joten kyseessa on lokaali maksimi.
Derivoimissaantoja
f(x) = cTx=n
i=1cixi;
f(x) =
f
x1(x) . . . f
xn(x)
T= [c1, . . . , cn]
T =c.
f(x) = Ax;
A=
aT1...
aTm
Rmn, missa aTi on A:ni:s vaakavektori.
Jf(x) =
[aT1 x]T...
[aTmx]T
=
aT1...
aTm
= A.
6
7/23/2019 Optimo Inti
70/127
f(x) = 12
xTQx;
f(x) = vakio
1
2xTQ x + 1
2xTQ
vakiox
= vakio
1
2xTQ x + 1
2
vakio xTQT x
=1
2QTx +
1
2Qx
= Qx, jos Q on lisaksi symmetrinen.
Huomaa Joissain kirjoissaf(x) maaritellaan vaakavektorina, jolloin:
[cTx] =cT ja [xTQx] =xTQ + xTQT.
Esimerkki
f(x) =1
2
xTQx + cTx +d,
QT =Q, ja Q positiivisesti definiitti, eliQ1 on olemassa.
f(x) = Qx + c= 0 x= Q1c
Nyt Hf(x) =Q on positiivisesti definiitti, joten x= Q1con yksikasittei-nen lokaali, itse asiassa globaali, minimi.
Funktion f : R2 R graafinen esitys
Funktion f vakiok ayr a, tai k ayr a, x1x2-tasossa on niiden pisteiden (x1, x2)joukko, jotka antavat f:lle saman arvon. Siis, kun c R, joukko{(x1, x2) R
2 | f(x1, x2) =c } on f:n arvoon c liittyva kayra.
7
7/23/2019 Optimo Inti
71/127
Lause
f(x) on kohtisuorassa kayran tangenttia vastaan pisteessa x, ja
osoittaa f:n noususuunnan pisteessa x.
Todistus Olkoon x ja x + hsamalla f:n kayralla.
0 =f(x + h) f(x) = f(x)Th + ||h||(x, h) f(x)T h||h|| + (x, h) = 0.
Nyt h/
||h
||on yksikkovektori, joka lahenee kayran tangentin suuntaista yk-
sikkovektoria u, kun||h|| 0. Lisaksi (x, h) 0, kun||h|| 0. Koskamielivaltaisen lahella u:ta on olemassa vektori h/||h||, s.e.f(x)T(h/||h||)saadaan mielivaltaisen pieneksi, on ilmeista, etta
f(x)Tu= 0.
Lisaksi vektorid := f(x) =0 onf:n noususuunta pisteessax. Tama seuraaalla olevista lasku- ja noususuuntia koskevista tarkasteluista.
Maaritelma Rn:ssa vektori don f:n laskusuunta pisteessa x, jos
>0 s.e. f(x +d)< f(x) (0, ).
Lausef(x)Td< 0 don f:n laskusuunta x:ssa.Todistus
f(x +d) f(x)
= f(x)Td + ||d||(x; d)< 0
jokaisella riittavan pienella >0. Koskaf(x)Td ei riipu :sta, ja
(x; d) 0,
kun 0, niinf(x)Td < 0 f(x+ d) < f(x) jokaisella riittavanpienella luvulla , >0.
Vastaavasti,f(x)Td> 0 don f:n noususuunta, eli
8
7/23/2019 Optimo Inti
72/127
>0 s.e. f(x +d)> f(x) (0, ).Josf(x) =0, niin d= f(x) on f:n laskusuunta pisteessa x:
f(x)Td= f(x)Tf(x) = ||f(x)||2
7/23/2019 Optimo Inti
73/127
cc
c
xf(x )
0
x
x2
1
0
12
3
0
tg(x )
Kuva 1: Funktion f kayria: c1 > c2> c3.
2
f(x)
minimi
a
b
x
x
1
Kuva 2: Funktion f(x) = 1/2(x1 a)2 + 1/2(x2 b)2 arvoon c liittyva kayraon (a,b)-keskinen ympyra, sade
2c.
10
7/23/2019 Optimo Inti
74/127
3
2
1
0
1
2
3
3
2
1
0
1
2
3
2
1.5
1
0.5
0
0.5
1
1.5
2
x1
x2
f(x)
Kuva 3: Funktiolla f(x) = 12
x21 12 x22 on satulapiste pisteessa x=0. x1x2-tasossa nakyyf:n vakiokayria satulapisteen ymparistossa.
Kuva 4: Kartan korkeuskayrat ovat maastonkorkeuden h(x, y) vakiokayria,missa h:n arvoon 0 liittyva kayra esittaa merenpinnan tasoa.
11
7/23/2019 Optimo Inti
75/127
Luento 9: Yhtalorajoitukset optimoinnissa
Lagrangen kerroin
Oletetaan aluksi, etta f, g : R2 R. Merkitaan (x1, x2) := (x, y) ja johde-taan Lagrangen kerrointehtavalle
min f(x, y)s.t. g(x, y) = 0
(1)
Olkoon (x, y) tehtavan ratkaisu. Talloin g(x, y) = 0. Ratkaistaan yhtalog(x, y) = 0 muuttujan y suhteen eraassa x:n ymparistossa. Tama voidaantehda, jos g(x, y)/y = 0. Merkitaan ratkaisua y(x):lla. Se on yksika-sitteinen ja derivoituva (muista: luennossa 8 oletimme, etta kaikki tarkas-teltavat osittaisderivaatat ovat jatkuvia; ominaisuus seuraa tasta). Talloing(x, y(x)) = 0 x, x:n ymparistossa, ja y(x) =y.
Nyt tehtavan minx
f(x, y(x)) ratkaisu on myos x.
d
dxf(x, y(x)) =
f
x(x, y) +
f
y(x, y)
dy
dx(x) = 0. (2)
Derivoidaan yhtaloa g(x, y(x)) = 0 puolittain x:n suhteen:
g
x+
g
y
dy
dx=
d0
dx= 0 x,
x:n ymparistossa. Erityisesti
g
x(x, y) +
g
y(x, y)
dy
dx(x) = 0. (3)
Maaritellaan: := (f(x, y)/y)(g(x, y)/y)1, jolloin
f
y(x, y) +
g
y(x, y) = 0. (4)
Saadaan:
f
x(x, y)
(2)=
f
y(x, y)
dy
dx(x)
(4)=
g
y(x, y)
dy
dx(x)
(3)=
g
x(x, y). (5)
1
7/23/2019 Optimo Inti
76/127
Siis: Olkoon (x, y) optimointitehtavan (1) ratkaisu. Talloin on olemassa ns.
Lagrangen kerroin R s.ef/x(x, y) +g/x(x, y) = 0
f/y(x, y) +g/y(x, y) = 0
g(x, y) = 0
Saatiin kolme yhtaloa ja kolme tuntematonta (x,y,) optimipisteen (x, y)maaraamiseksi.
Lagrangen kerroin - yleinen tapaus
Olkoon nytf : Rn R ja g: Rn Rm, m < n. Tutkitaan tehtavaa
minf(x)
s.t. g(x) :=
g1(x)...
gm(x)
= 0
Merkitaan tehtavan minimia x:= (x1, . . . , xn). Talloin on voimassa
Lause Lagrangen v altt am att om at ehdotoptimille. Olkoon xminimi. Talloin Lagrangen kerroin Rm s.e.
f(x) +
mi=1igi(x) =0
g(x) = 0(6)
HuomaaYhtaloryhmassa (6) onn+mepalineaarista algebrallista yhtaloa,joista tuntemattomat xj