5 Lineaarinen optimointi T 055403 Yleist Optimoinnissa pyritn

  • Slides: 24
Download presentation
5. Lineaarinen optimointi T 055403

5. Lineaarinen optimointi T 055403

Yleistä Optimoinnissa pyritään löytämään joko maksimi tai minimiarvo. n Aikaisemmin on perehdytty rajoittamattomaan optimointiin

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

Seuraavassa epälineaarisiin optimointitehtäviin ei puututa, mutta tarkastellaan lineaarista optimointitehtävää. n Käytännön ratkaisun kannalta on

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

Lineaarinen optimointi Jos sekä kohdefunktio että rajoitteet ovat lineaarisia, on kyseessä lineaarisen optimoinnin tehtävä

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

Kun muuttujia on useita, ei havainnollistusta voida tehdä. Tehtävän ratkaisuun tarvitaan ns. Simplex-algoritmi, jonka

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). n Simplex-algoritmin matriisimuodon käsittely sivuutetaan. n Seuraavan yksinkertaisen ongelman avulla on helppo kuvat lineaariseen optimointiin liittyviä peruskäsitteitä. n T 055403

n Esimerkki. min -3 x 1 – x 2 ehdoilla x 1 – 2

n Esimerkki. min -3 x 1 – x 2 ehdoilla x 1 – 2 x 2 ≤ 4 2 x 1 + x 2 ≤ 18 x 2 ≤ 10 x 1, x 2 ≥ 0 T 055403

Jokaista epäyhtälöä vastaa tietty puoliavaruus. Käypä joukko on rajoiteepäyhtälöiden muodostama joukko, jossa kaikki ehdot

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

Optimointitehtävässä pyritään löytämään optimaalista ratkaisua, joka saavutetaan tiettyjen ehtojen vallitessa. n Matemaattisesti voidaan osoittaa,

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

n LP-optimointitehtävät voidaan esittää standardimuodossa subject to T 055403

n LP-optimointitehtävät voidaan esittää standardimuodossa subject to T 055403

n Usein käytännössä rajoiteyhtälöiden sijasta ainakin osa on epäyhtälömuotoisia. T 055403

n Usein käytännössä rajoiteyhtälöiden sijasta ainakin osa on epäyhtälömuotoisia. T 055403

T 055403

T 055403

T 055403

T 055403

Tällöin joko lisäämällä pelivara (slack) - tai ylijäämämuuttujia(surplus), muutetaan tehtävä standardimuotoon. n Tarkastellaan ensin

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

T 055403

T 055403

n Kaikki epäyhtälöt muutetaan pelivara- eli slack-muuttujien avulla (yj ≥ 0), j = 1,

n 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ää. T 055403

n Tarkastellaan seuraavaksi tehtävää T 055403

n Tarkastellaan seuraavaksi tehtävää T 055403

n Ottamalla käyttöön pelivara- l. surplus muuttujat (wj ≥ 0), j = 1, …,

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

n 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ä

n 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. T 055403

Simplex-algoritmi taulukoiden avulla n Algoritmi 1. 1. Etsi rivin z eniten negatiivinen alkio, ja

Simplex-algoritmi taulukoiden avulla n Algoritmi 1. 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 T 055403

3. Korvaa xn+j muuttujalla xi vasemmassa sarakkeessa. 4. Rivillä j korvaa 5. Suorita eliminointiaskel

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. T 055403

n Esimerkki. Ratkaise LP-tehtävä max 5 x 1 + 9 x 2 ehdoilla 3

n Esimerkki. Ratkaise LP-tehtävä max 5 x 1 + 9 x 2 ehdoilla 3 x 1 + 4 x 2 ≤ 2400 x 1 + 2 x 2 ≤ 900 2 x 1 + 3 x 2 ≤ 1600 x 2 ≤ 1200 x 1, x 2 ≥ 0 T 055403

n Algoritmi 2. Vaihe I. 1. Määrittele pelivara- ja ylijäämämuuttujat. 2. Ota mukaan keinotekoiset

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

5. Sovelletaan algoritmia I kunnes z~ =0 ja keinotekoiset muuttujat ovat poistuneet ensimmäisestä sarakkesta.

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. T 055403

n Esimerkki. Ratkaise LP-tehtävä max 5 x 1 + 9 x 2 ehdoilla -x

n Esimerkki. Ratkaise LP-tehtävä max 5 x 1 + 9 x 2 ehdoilla -x 1 + 2 x 2 ≤ 6 x 1 ≤ 4 2 x 1 + x 2 ≥ 4 x 1, x 2 ≥ 0 T 055403