18
Lineaarisen ohjelman määritelmä Joonas Vanninen

Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

  • Upload
    dominh

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Lineaarisen ohjelman määritelmä

Joonas Vanninen

Page 2: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Sisältö

● Yleinen optimointitehtävä● Kombinatorinen tehtävä● Optimointiongelman tapaus● Naapurusto● Paikallinen ja globaali optimi● Konveksi optimointitehtävä● Lineaarinen tehtävä● Yleinen muoto● Standardimuoto

Page 3: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Yleinen optimointitehtävä● Yleinen epälineaarinen optimointitehtävä:

Minimoi f x kun g i x ≥0, i=1, ... ,m

h j x =0, j=1,... , p

x∈ℝn

Page 4: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Yleinen optimointitehtäväMinimoi f xkun g i x ≥0, i=1, ... ,m

h j x =0, j=1, ... , p● Kun f konveksi, g konkaavi ja h lineaarinen ->Konveksi ohjelmointitehtävä

● Kun f, g ja h lineaarisia -> lineaarinen ohjelmointitehtävä

● Rajoitetaan x kokonaislukuihin -> kokonaislukuohjelmointitehtävä

Page 5: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Kombinatorinen tehtävä

● Ongelma on luonteeltaan kombinatorinen, jos sen ratkaisu löytyy äärellisestä tai numeroituvasti äärettömästä joukosta vaihtoehtoja

● Esimerkkinä diskreetit muuttujat● Myös lineaarinen ohjelmointitehtävä on

kombinatorinen

Page 6: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Optimointiongelman tapaus (instance)

● Optimointiongelman tapaus on pari (F,c), missä– F on mahdollisten pisteiden joukko– C on kustannusfunktio– Tarkoituksena on löytää minimipiste joukosta F

● Tapausten joukkoa sanotaan ongelmaksi– Ongelmat muodostuvat yleensä samankaltaisista

tapauksista eri lähtöarvoilla

Page 7: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Naapurusto

● Joukko pisteitä valitun pisteen läheisyydessä● Naapurusto määritellään kuvauksena

mahdollisista pisteistä pistejoukkoihin● Kuvaus riippuu ongelmasta● Esimerkki, taso:

Page 8: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Paikallinen ja globaali optimi

● Paikallisen optimin löytäminen on yleensä helpompaa kuin globaalin

● Paikallinen optimi on piste, jonka naapurustosta ei löydy parempia pisteitä

● Mikäli paikallinen optimi on naapurustossa N aina myös globaali, sanotaan naapurustoa eksaktiksi

Page 9: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Konveksit joukot ja funktiot

● Konveksi joukko sisältää kaikki konveksikombi-naationsa

● Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden konveksikombinaatiolla

Page 10: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Konveksi optimointitehtävä

● Konveksissa optimointitehtävässä minimoidaan konveksin funktion arvoa konveksissa joukossa– Muodostuu konveksista arvofunktiosta ja

konkaaveista rajoitusfunktioista● Euklidinen naapurusto on eksakti

– Paikalliset optimit ovat myös globaaleja optimeja● Lineaarinen funktio on sekä konveksi että

konkaavi– Lineaarinen tehtävä on konveksin tehtävän

erikoistapaus

Page 11: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Lineaarinen tehtävä, esimerkki

● Leipomo valmistaa sämpylöitä ja patonkeja. Sämpylöiden kysyntä on 10 kappaletta päivässä ja niistä saa voittoa euron kappaleelta. Patonkia taas myydään enintään 6 kappaletta päivässä ja niistä saa voittoa 2 euroa kappaleelta. Jauhoja on käytettävissä kilo, sämpylään kuluu 100 g ja patonkiin 150g. Kuinka leipomo saa eniten voittoa?

Page 12: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Lineaarinen tehtävä, esimerkki

Maksimoi f x =x12 x2

kun x1≤10x2≤60,1 x10,15 x2≤1x1, x2≥0

Page 13: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Lineaarinen tehtävä

● Yleisen lineaarisen tehtävän rajoitusehdot saattavat olla– Epäyhtälöitä– Yhtälöitä

● Muuttujat saattavat olla– Rajoitettuja– Rajoittamattomia

● Tehtävä voi olla– Maksimointitehtävä– Minimointitehtävä

Page 14: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Yleinen muoto (kanoninen)

● Kaikki lineaariset tehtävät voidaan muuttaa yleiseen muotoon

min cT xA x≥rx≥0

● Kertomalla maksimoitava funktio -1:llä● Kertomalla vääränsuuntaiset epäyhtälöt -1:llä● Muuttamalla yhtälörajoite kahdeksi

epäyhtälörajoitteeksi● Korvaamalla rajoittamattomat muuttujat

kahden positiivisen muuttujan erotuksella

Page 15: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Yleinen muoto, esimerkki

Minimoi−x1−2 x2

kun−x1≥−10−x2≥−6−0,1 x1−0,15 x2≥−1x1, x2≥0

Maksimoi f x =x12 x2

kun x1≤10x2≤60,1 x10,15 x2≤1x1, x2≥0

Page 16: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Standardimuoto

● Mikä hyvänsä LP-ongelma voidaan muuttaa standardimuotoon– Kertomalla maksimoitava funktio -1:llä– Korvaamalla rajoittamattomat muuttujat kahden

ei-negatiivisen muuttujan erotuksella– Muuttamalla epäyhtälörajoitukset yhtälöiksi

slack- ja surplus-muuttujien avulla● Standardimuotoa tarvitaan esimerkiksi

simplex-algoritmin käyttöön

min cT xA x=rx≥0

Page 17: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Standardimuoto, esimerkki

Minimoi−x1−2 x2

kun−x1≥−10−x2≥−6−0,1 x1−0,15 x2≥−1x1, x2≥0

Minimoi−x1−2 x2

kun−x1−s1=−10−x2−s2=−6−0,1 x1−0,15 x2−s3=−1x1, x2, s1, s2, s3≥0

Page 18: Lineaarisen ohjelman määritelmä - Laboratory of Computer and … · 2008-02-05 · Funktio on konveksi, jos sen arvojen konveksikombinaatio on suurempi kuin funktion arvo lähtöpisteiden

Kysymyksiä?