optimo inti

Upload: heikki-aalto

Post on 15-Feb-2018

242 views

Category:

Documents


0 download

TRANSCRIPT

  • 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