4. Lineaarinen optimointi

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

makramee-tekniikalla
Copyright  Hannu Laine Bittitason-operaatiot Hannu Laine.
Yhtälön ratkaiseminen
Kuluttajan e-lasku Lyhyt tietopaketti kuluttajalle
Robust LQR Control for PWM Converters: An LMI Approach
Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1
Aggregaattifunktiot (1)
22. Taulukot.
Lisämuotoiluja: Tässä esityksessä tutustutaan Wordin lisämuotoiluihin, kuten sarkaimiin, sivunumerointiin, ylä- ja alatunnisteisiin sekä palstoituksen.
Rakenteinen ohjelmointi
Johdetun luokan määrittely tMyn1 Johdetun luokan määrittely •Kun johdettu luokka periytetään kantaluokasta, saadaan kantaluokan jäsenet enemmän tai vähemmän.
Duaali Teemu Myllynen.
KANTATAAJUINEN BINÄÄRINEN SIIRTOJÄRJESTELMÄ AWGN-KANAVASSA
AS Automaation signaalinkäsittelymenetelmät
AS Automaation signaalinkäsittelymenetelmät
Tekstin muotoilu Wordilla:
Taylor polynomi usean muuttujan funktiolle
Kombinatoriset huutokaupat Osa 2 S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Atso Suopajärvi Optimointiopin seminaari - Kevät 2005 / (1)
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
1.1. Itseisarvo * luvun etäisyys nollasta E.2. Poista itseisarvot
TAULUKKO YKSIULOTTEINEN TAULUKKO. TAULUKKO  Taulukon tarkoitus Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia Näitä.
Syksy 2001Johdatus bioinformatiikkaan / T. Pasanen 1 7. Monirinnastus Geeni perhe: ryhmä läheisiä toisilleen sukua olevia geenejä, jotka koodaavat samankaltaisia.
2. Vuokaaviot.
m0 M7 Maksimitermi Minimitermi Boole A = A A · 0 = 0 SOP De Morgan POS
© Jukka Harju, Jukka Juslin
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Antti Levo Systeemitieteiden kandidaattiseminaari – Kevät 2010 Monitavoitteiseen optimointiin soveltuvan.
Esittäytyminen Vastaa esitettyihin kysymyksiin omalta kohdaltasi lyhyesti. Korvaa kysymykset omilla vastauksillasi. Kiitos!
Miksi tämä on vaikeaa? Ilman minkäänlaisia rajoitteita ongelmat ei ole vaikeita ratkaista. Siihen löytyy jopa valmis ”kaava”. Valitettavasti jokaisessa.
Tietotyypit Tietotyyppi määrittää muuttujan sisältämän datan luonnetta, muistista tarvittavaa tilaa ja sitä, millaisia operaatioita siihen voidaan kohdistaa.
Aikasarja-analyysin perusteet
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
Toimisto-ohjelmat TVT osana Sädettä. Tehdään kyselylomake joko tekstinkäsittely- tai taulukkolaskentaohjelmalla. Pilvipalveluita käytettäessä saadaan.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
PARAABELI (2. ASTEEN FUNKTION KUVAAJIA)
Muuttujien riippuvuus
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Esitelmä # - Esitelmöijän nimi Optimointiopin seminaari - Syksy 2010 Lineaarinen.
5. Lineaarinen optimointi
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä # - Esitelmöijän nimi Optimointiopin seminaari - Syksy 2009 Projektien suunnittelu ja skedulointi.
4. Optimointia T
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 4 – Jussi Kangaspunta Optimointiopin seminaari - Kevät 2007 Kaksiulotteiset kuvaukset 2/2.
Diffie-Hellman Antti Junttila. Mitä tarkoittaa? Kaksi osapuolta voivat sopia yhteisestä salaisuudesta turvattoman tietoliikenneyhteyden ylitse. Tämän.
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Esitelmä 17 – Tuomas Nummelin Optimointiopin seminaari - Syksy 2010 Tukivektorikoneet.
Kontrollirakenteet laajemmin
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 2 - Jirka Poropudas Optimointiopin seminaari - Kevät 2005 / 1 Bayes-verkoista s
Visual Basic -ohjelmointi
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä 5 - Henri Tokola Optimointiopin seminaari - Syksy 2009 Työpajan skedulointi rajoiteohjelmoinnilla.
S ystems Analysis Laboratory Helsinki University of Technology SNOPT - yleistä Soveltuu sekä lineaaristen että epälineaaristen ongelmien ratkaisemiseen.
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Ohjaamaton oppiminen– Heikki Vesterinen Optimointiopin seminaari - Syksy 2010 Ohjaamaton.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
5. Fourier’n sarjat T
15. Ohjelmoinnin tekniikkaa
Neperin luku e ja funktio y = ex
Valintarakenne valintarakenne alkaa aina kysymyksellä eli ehdolla ehto tarkoittaa, että muuttujan sisältöä verrataan toisen muuttujan sisältöön tai vakioon.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä # - Esitelmöijän nimi Optimointiopin seminaari - Syksy 2000 / 1 Potentiaalien kertaus ja.
Oppimisryhmien kuulumisia. Oppimisryhmät Ryhmä 5 Tehotytöt Team Trinity Rämmät JASS Team 75% Integrointi-pantterit.
21. Rekursio.
Sovellettu matematiikka 3 Jarkko Hurme1 3.3Kohti todellista tilannetta.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Y56 Luvut 24 & 25 Monopoli & Hintadiskriminaatio
Yhden bitin asettaminen Javalla
Y56 Luku 20 Yrityksen teoria: Kustannusten minimointi
16. Ohjelmoinnin tekniikkaa
14. Hyvä ohjelmointitapa.
Kontrollirakenteet laajemmin
5. Lisää sovellettavuutta
Kertausta FUNKTIOISTA MAB5-kurssin jälkeen (Beta 2.0)
16. Ohjelmoinnin tekniikkaa
Etsi lyhyin reitti This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement.
Esityksen transkriptio:

4. Lineaarinen optimointi

Yleistä Optimoinnissa pyritään löytämään joko maksimi tai minimiarvo. Aikaisemmin on perehdytty rajoittamattomaan optimointiin ja minimin hakuun käyttäen Newtonin menetelmää. On mahdollista asettaa ns. rajoiteyhtälöitä, ja tilanteesta riippuen nämä ovat joko lineaarisia tai epälineaarisia. T051403

Seuraavassa epälineaarisiin optimointitehtäviin ei puututa, mutta tarkastellaan lineaarista optimointitehtävää. Käytännön ratkaisun kannalta on tärkeää, että ongelma voidaan saattaa matemaattiseen muotoon, jossa kohdefunktiolle l. objektiivifunktiolle haetaan joko maksimi- tai minimiarvoa. T051403

Lineaarinen optimointi Jos sekä kohdefunktio että rajoitteet ovat lineaarisia, on kyseessä lineaarisen optimoinnin tehtävä (Linear Programming). Kun optimointitehtävässä on vain kaksi muuttujaa, ongelmaa voidaan havainnollistaa helposti xy-koordinaatistossa. T051403

Simplex-algoritmin matriisimuodon käsittely sivuutetaan. Kun muuttujia on useita, ei havainnollistusta voida tehdä. Tehtävän ratkaisuun tarvitaan ns. Simplex-algoritmi, jonka eräs muoto voidaan esittää ns. Simplex-taulujen avulla (tableaus). Simplex-algoritmin matriisimuodon käsittely sivuutetaan. Seuraavan yksinkertaisen ongelman avulla on helppo kuvat lineaariseen optimointiin liittyviä peruskäsitteitä. T051403

Esimerkki. min -3x1 – x2 ehdoilla x1 – 2x2 ≤ 4 2x1 + x2 ≤ 18 x2 ≤ 10 T051403

x on ratkaisu, jos se toteuttaa standardimuotoisen tehtävän. Jokaista epäyhtälöä vastaa tietty puoliavaruus. Käypä joukko on rajoite-epäyhtälöiden muodostama joukko, jossa kaikki ehdot toteutuvat. x on ratkaisu, jos se toteuttaa standardimuotoisen tehtävän. x on käypä ratkaisu, jos edellisen lisäksi x ≥ 0. x on optimaalinen käypä ratkaisu, jos se edellisten lisäksi minimoi kustannusfunktion. T051403

Optimointitehtävässä pyritään löytämään optimaalista ratkaisua, joka saavutetaan tiettyjen ehtojen vallitessa. Matemaattisesti voidaan osoittaa, että LP-ongelman optimiratkaisu löytyy käyvän joukon reunapisteistä. Itseasiassa riittää määrittää käyvän joukon ääripisteet (eli 2 ul. tehtävissä nurkkapisteet) T051403

Katsotaan vielä esimerkki Maplen help-sivustolta. Monissa yksinkertaisissa käsin laskettavissa tehtävissä viimeisen esimerkin tapa käsitellä on havainnollinen, kun muuttujia on vain kaksi ja rajoitteita sopivan vähän. Siksi pyritään tehtävien ratkaisuun matriisien avulla. T051403

LP-optimointitehtävät voidaan esittää standardimuodossa subject to T051403

Now matrix A is size m x n and vectors

Now the standard form of the LP-problem can be stated as min cTx subject to Ax = b x ≥ 0 T051403

Usein käytännössä rajoiteyhtälöiden sijasta ainakin osa on epäyhtälömuotoisia, ja ne muutetaan käsinlaskennassa yhtälömuotoisiksi. Maplella laskettaessa riittää esittää vain tehtävän vaatima matriisimuoto. T051403

T051403

T051403

Tällöin joko lisäämällä pelivara (slack) - tai ylijäämämuuttujia(surplus), muutetaan tehtävä standardimuotoon. Tarkastellaan ensin tilannetta, jossa rajoite-epäyhtälöt ovat tyyppiä ≤. T051403

T051403

jolloin päästään käsittelemään standardimuotoista tehtävää. Kaikki epäyhtälöt muutetaan pelivara- eli slack-muuttujien avulla (yj ≥ 0), j = 1, …, m muotoon jolloin päästään käsittelemään standardimuotoista tehtävää. T051403

Tarkastellaan seuraavaksi tehtävää

Tämä on siis jälleen standardimuotoinen esitys. Ottamalla käyttöön pelivara- l. surplus -muuttujat (wj ≥ 0), j = 1, …, m, saadaan kukin epäyhtälöistä esitettyä muodossa Tämä on siis jälleen standardimuotoinen esitys. T051403

Käytännössä harvat tehtävät ovat puhtaasti jommankumman tyyppisiä epäyhtälömuotoisia rajoitteita sisältäviä, vaan samassa tehtävässä esiintyy molemmanlaisia rajoitteita ja lisäksi osa rajoitteista voi olla myös suoraan yhtälömuotoisia. T051403

Simplex-algoritmi taulukoiden avulla 1. Etsi rivin z eniten negatiivinen alkio, ja olkoon se ci. Jos kaikki ci ≥ 0 algoritmi päättyy. 2. Laske tarkistettavan sarakkeen alkioille aki >0 jaokset bi/aki 1 ≤ k ≤ m. Valitse näistä luvuista pienin ja sitä vastaava indeksi j T051403

3. Korvaa xn+j muuttujalla xi vasemmassa sarakkeessa . 4. Rivillä j korvaa 5. Suorita eliminointiaskel niin, että kaikki sarakkeen i alkiot nollautuvat. 6. Palaa kohtaan 1. T051403

Esimerkki. Ratkaise LP-tehtävä max 5x1 + 9x2 ehdoilla 3x1 + 4x2 ≤ 2400

1. Määrittele pelivara- ja ylijäämämuuttujat. Algoritmi 2. Vaihe I. 1. Määrittele pelivara- ja ylijäämämuuttujat. 2. Ota mukaan keinotekoiset muuttujat liittyen ylijäämämuuttujiin. 3. Aseta keinoteeoisten muuttujien avulla keinotekoinen kohdefunktio z~. 4. Vähennä keinotekoisia muuttujia sisältävät rivit keinotekoisen kohdefunktiosta z~. T051403

5. Sovelletaan algoritmia I kunnes z~ =0 ja keinotekoiset muuttujat ovat poistuneet ensimmäisestä sarakkesta. Vaihe II 1. Poista taulukosta rivi z~ ja keinotekoisia muuttujia vastaavat sarakkeet. 2. Sovella algoritmia I. T051403

Esimerkki. Ratkaise LP-tehtävä max 5x1 + 9x2 ehdoilla -x1 + 2x2 ≤ 6

Ratkaisualgoritmeista Yksi suosituimpia on Simplex-algoritmi, jollaisen saa ainakin vielä simplex-paketilla havainnollistettua. LPSolve-komento käyttää ns. branch and bound tekniikkaa. Matriisimuotoinen esitys on laskennallisesti tehokas. T051403

Tarkastellaan esimerkkiä.

Aeq:=Matrix([[1,2,3,-1,1,0],[2,1,1,0,0,1]]); beq:=Vector([2,5]); c:=Vector([4,0.5,1,0,0,0]); Aeq:=Matrix([[1,2,3,-1,1,0],[2,1,1,0,0,1]]); beq:=Vector([2,5]); LPSolve(c, [NoUserValue, NoUserValue, Aeq, beq],assume = nonnegative,maximize); T051403