Mat Lineaarinen ohjelmointi

Samankaltaiset tiedostot
Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Mat Lineaarinen ohjelmointi

Lineaarinen optimointitehtävä

Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi.

Demo 1: Simplex-menetelmä

Gaussin ja Jordanin eliminointimenetelmä

Luento 3: Simplex-menetelmä

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Insinöörimatematiikka D

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min!

2.5. Matriisin avaruudet ja tunnusluvut

Johdatus verkkoteoriaan luento Netspace

Vektoreiden virittämä aliavaruus

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

Mat Lineaarinen ohjelmointi

Kokonaislukuoptiomointi Leikkaustasomenetelmät

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Luento 4: Lineaarisen tehtävän duaali

Lineaarinen yhtälöryhmä

1 Matriisit ja lineaariset yhtälöryhmät

Malliratkaisut Demot

Mat Lineaarinen ohjelmointi

Ennakkotehtävän ratkaisu

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

3 Simplex-menetelmä. c T x = min! Ax = b (x R n ) (3.1) x 0. Tarvittaessa sarakkeiden järjestystä voidaan vaihtaa, joten voidaan oletetaan, että

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

Malliratkaisut Demot

Matematiikka B2 - TUDI

Jälki- ja herkkyysanalyysi. Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi

s = 11 7 t = = 2 7 Sijoittamalla keskimmäiseen yhtälöön saadaan: k ( 2) = 0 2k = 8 k = 4

Ratkaisuehdotukset LH 7 / vko 47

Matriisilaskenta. Harjoitusten 3 ratkaisut (Kevät 2019) 1. Olkoot AB = ja 2. Osoitetaan, että matriisi B on matriisin A käänteismatriisi.

1 Rajoittamaton optimointi

5 Lineaariset yhtälöryhmät

Insinöörimatematiikka D

Kokonaislukuoptimointi

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

Käänteismatriisin ominaisuuksia

Piiri K 1 K 2 K 3 K 4 R R

Determinantti 1 / 30

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Optimaalisuusehdot. Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0

Matematiikka B2 - Avoin yliopisto

Lineaariset yhtälöryhmät ja matriisit

2.8. Kannanvaihto R n :ssä

Matriisien tulo. Matriisit ja lineaarinen yhtälöryhmä

Insinöörimatematiikka D

Insinöörimatematiikka D

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Insinöörimatematiikka D

MS-C1340 Lineaarialgebra ja

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Numeeriset menetelmät

Lineaarialgebra II, MATH.1240 Matti laaksonen, Lassi Lilleberg

802118P Lineaarialgebra I (4 op)

Malliratkaisut Demot 6,

Harjoitus 3 ( )

Lineaarialgebra ja matriisilaskenta I

Kaksirivisen matriisin determinantille käytämme myös merkintää. a 11 a 12 a 21 a 22. = a 11a 22 a 12 a 21. (5.1) kaksirivine

Harjoitus 3 ( )

Liittomatriisi. Liittomatriisi. Määritelmä 16 Olkoon A 2 M(n, n). Matriisin A liittomatriisi on cof A 2 M(n, n), missä. 1) i+j det A ij.

Numeeriset menetelmät

Neliömatriisin adjungaatti, L24

Ville Turunen: Mat Matematiikan peruskurssi P1 1. välikokeen alueen teoriatiivistelmä 2007

4.6 Matriisin kääntäminen rivioperaatioilla

Osittaistuenta Gaussin algoritmissa: Etsitään 1. sarakkeen itseisarvoltaan suurin alkio ja vaihdetaan tämä tukialkioiksi (eli ko. rivi 1. riviksi).

Talousmatematiikan perusteet: Luento 9. Matriisien peruskäsitteet Yksinkertaiset laskutoimitukset Transponointi Matriisitulo

Insinöörimatematiikka D

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

Determinantit. Kaksirivinen determinantti. Aiheet. Kaksirivinen determinantti. Kaksirivinen determinantti. Kolmirivinen determinantti

Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita.

Numeeriset menetelmät TIEA381. Luento 3. Kirsi Valjus. Jyväskylän yliopisto. Luento 3 () Numeeriset menetelmät / 45

Mat Dynaaminen optimointi, mallivastaukset, kierros 1

10 Matriisit ja yhtälöryhmät

v AB q(t) = q(t) v AB p(t) v B V B ṗ(t) = q(t) v AB Φ(t, τ) = e A(t τ). e A = I + A + A2 2! + A3 = exp(a D (t τ)) (I + A N (t τ)), A N = =

Luento 5: Suurten lineaaristen yhtälöryhmien ratkaiseminen iteratiivisilla menetelmillä

Aiheet. Kvadraattinen yhtälöryhmä. Kvadraattinen homogeeninen YR. Vapaa tai sidottu matriisi. Vapauden tutkiminen. Yhteenvetoa.

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

9 Matriisit. 9.1 Matriisien laskutoimituksia

Avaruuden R n aliavaruus

Ortogonaalinen ja ortonormaali kanta

MS-C1340 Lineaarialgebra ja

Malliratkaisut Demot

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

Käänteismatriisin. Aiheet. Käänteismatriisin ominaisuuksia. Rivioperaatiot matriisitulona. Matriisin kääntäminen rivioperaatioiden avulla

Kirjallisuuskatsaus sisäpistemenetelmiin ja niiden soveltamiseen eri optimointiluokille (valmiin työn esittely)

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Lineaariset kongruenssiyhtälöryhmät

Transkriptio:

Mat-2.34 Lineaarinen ohjelmointi..27 Luento 5 Simplexin implementaatioita (kirja 3.2-3.5) Lineaarinen ohjelmointi - Syksy 27 /

Luentorunko (/2) Simplexin implementaatiot Naiivi Revised Full tableau Syklisyys Degeneroituvuuden vaikutus Leksikograafinen sääntö landin sääntö Lineaarinen ohjelmointi - Syksy 27 / 2

Luentorunko (2/2) Lähtöratkaisun löytäminen Aputehtävä Kaksivaiheinen Simplex Iso M -menetelmä Lineaarinen ohjelmointi - Syksy 27 / 3

Simplexin implementaatiot Muistin virkistykseksi: Redusoitu kustannus: Kantasuunta: c d c c j j A j ' A j Askelpituus: θ* x { } i min i d i di < Lineaarinen ohjelmointi - Syksy 27 / 4

Simplexin implementaatiot Erot implementaatioissa: Kuinka A j lasketaan Informaation säilytys iteraatiolta toiselle vaikutus laskentatehokkuuteen Lineaarinen ohjelmointi - Syksy 27 / 5

Simplexin implementaatiot: Naiivi Edellisellä luennolla esitetty Ei iteraatiolta toiselle säilytettävää informaatiota: Redusoidut kustannukset ja kerta alusta asti uudelleen Laskenta-aika O ( m 3 + mn ) lasketaan joka Sopii kuitenkin hyvin tehtäville, joilla erikoisrakenne (esim. verkkotehtävät) Lineaarinen ohjelmointi - Syksy 27 / 6

Simplexin implementaatiot: Revised (/5) Peräkkäisten iteraatioiden kantamatriisit ovat yhtä saraketta vaille samat [ A... A ] ( ) ( m) + [ A... A A A,... A ] ( ) ( l ) j ( l ) ( m) Käytetään :tä hyödyksi :n laskemisessa Lineaarinen ohjelmointi - Syksy 27 / 7

Simplexin implementaatiot: Revised (2/5) Yksinkertainen rivioperaatio (elementary row operation) matriisille: Lisätään rivin j β-monikerta riviin i Ekvivalenttia matriisilla Q kertomisen kanssa s.e. Q I+ D, [ D [ D Usea rivioperaatio kerrotaan vasemmalta matriisilla ] β, ij kl ij ], ij kl Q Q Q k jos k i ja l j muuten Q Q k L 2 Lineaarinen ohjelmointi - Syksy 27 / 8

Simplexin implementaatiot: Revised (3/5) I [ A,.., A,.., A ] ( ) j ( m) Koska ja, pätee: e Le u e l l+ Le m e i, missä on i:s yksikkövektori ja u A j ( d ) Lineaarinen ohjelmointi - Syksy 27 / 9

Simplexin implementaatiot: Revised (4/5) Muutetaan :n sarake u sarakkeeksi yksinkertaisilla rivioperaatioilla u / u Jos Jaa l. rivi :lla lisää l. rivi -kertaisena i. riviin Merkitään tätä operaatiojonoa Q:lla Tällöin: i l u l i l e l Q I - Q Käänteismatriisin päivitys saadaan siis hoideltua em. yksinkertaisin rivioperaatioin Lineaarinen ohjelmointi - Syksy 27 /

Simplexin implementaatiot: Revised (5/5) Revised Simplex: Sama kuin naiivi, mutta lisätään 6. askel ( :n päivitys): 6. Muodostetaan m x (m+)-matriisi [ u], ja muunnetaan sen viimeinen sarake rivioperaatioin vektoriksi e l. Tuloksen ensimmäiset m saraketta ovat matriisi. Muisti + laskenta-aika 2 O ( m + mn) Lineaarinen ohjelmointi - Syksy 27 /

Simplexin implementaatiot: Full tableau (/8) Ylläpidetään ja päivitetään täyttä taulukkoa Muisti + laskenta-aika O ( mn+ mn) -Kustannus ko. kannalla Redusoidut kustannukset Nollas rivi m riviä - c ' - b - b c' c ' - A - A Kantamuuttujat Kantasuunnat u - d Lineaarinen ohjelmointi - Syksy 27 / 2

Simplexin implementaatiot: Full tableau (2/8) Taulukon päivitys tapahtuu samalla tavalla kuin Revised Simplexissä Muuten selkeä, ks. nollannen rivin tapaus kirjasta (s. 99-) Terminologiaa: Pivot-sarake vastaa kantaan astuvaa muuttujaa Pivot-rivi vastaa kannasta poistuvaa muuttujaa Pivot-alkio on pivot-sarakkeen ja -rivin kiinnittämä alkio Lineaarinen ohjelmointi - Syksy 27 / 3

Simplexin implementaatiot: Full tableau (3/8). Taulukko vastaten kantaa ja ratkaisua x 2. Redusoidut kustannukset nollannella rivillä Jos kaikki ei-negatiivisia, ollaan optimissa. Muuten valitaan pivot-sarake j s.e. 3. Tarkastellaan pivot-sarakkeen alkioita Jos mikään niistä ei positiivinen, optimikustannus on -. 4. Valitaan pivot-rivi pivot-sarakkeen positiivisista alkioista Valitaan rivi l jolle suhde x / u, u > on pienin ( l ) 5. Lisätään jokaiseen taulukon riviin l. rivin sellainen monikerta, että pivot-sarake muuntuu l. yksikkövektoriksi c j ( l ) < ( l ) Lineaarinen ohjelmointi - Syksy 27 / 4

Simplexin implementaatiot: Kirjan esimerkki 3.5: Full tableau (4/8) min s.e. x x 2x 2 2 x + 2x + 2x 2 3 2x + x + 2x 2 3 2x + 2x + x 2 3 x x, x, 2 3 3 2 2 2 s.e. min x x 2x 2 2 x + 2x + 2x + x 2 3 4 2x + x + 2x + x 2 3 5 2x + 2x + x + x 2 3 6 x,..., x 6 3 2 2 2 Aloitusratkaisuksi x(,,,2,2,2) eli c c ' x ja c c x ( x, x, x ) 4 5 6 Lineaarinen ohjelmointi - Syksy 27 / 5

Simplexin implementaatiot: Full tableau (5/8) x 3 A(,,) (,,) 2/2 2/ 2 x 4 x 5 x 6 2 2 2 x x 2 x 3 - - 2-2 2 2 2 2 2 2 x 4 x 5 x 6 *- *-.5 *5 /2 D(,,) E(4,4,4) C(,,) 2/2 x x 2 x 2 Lineaarinen ohjelmointi - Syksy 27 / 6

Simplexin implementaatiot: Full tableau (6/8) x 3 A(,,) (,,) x 4 x x 6 x x 2-7.5.5 x 3-2 - x 4 x 5 5 -.5.5 - x 6 D(,,) E(4,4,4) C(,,) x x 2 Lineaarinen ohjelmointi - Syksy 27 / 7

Simplexin implementaatiot: Full tableau (7/8) x 3 A(,,) (,,) x 3 x x 6 2 x x 2-4.5-2.5 x 3 x 4 2 - x 5 4 -.5 -.5 x 6 D(,,) E(4,4,4) C(,,) x x 2 Lineaarinen ohjelmointi - Syksy 27 / 8

Simplexin implementaatiot: Full tableau (8/8) x 3 A(,,) (,,) x 3 x x 2 36 4 4 4 x x 2 x 3 x 4 3.6.4 -.6.4 x 5.6.4.4 -.6 x 6.6 -.6.4.4 D(,,) E(4,4,4) C(,,) x x 2 Lineaarinen ohjelmointi - Syksy 27 / 9

Syklisyys: Degeneroituvuuden vaikutus (/2) Degeneroitunut ratkaisu: yksi tai useampi kantamuuttuja nollassa liikaa rajoitteita aktiivisina Sopiva kantaan astuvan muuttujan valinta -> nollaa suuremmalla askeleella ulos alueesta d x x 6 x 4 x 5 x 3 Kantamuuttujat ja x x 6 Valitaan kantaan astuvaksi -> nollaa suurempi askel vastaavaan suuntaan d johtaa välittömästi ulos alueesta x S x 2 ysteemianalyysin Lineaarinen ohjelmointi - Syksy 27 / 2

Syklisyys: Degeneroituvuuden vaikutus (2/2) Tyydytään nolla-askeleeseen: ratkaisu pysyy samana mutta kanta vaihtuu Kannan vaihdoksilla saatetaan kuitenkin päätyä alkuperäiseen ratkaisuun, eli algoritmi jää pyörimään paikoillaan Ilmiötä kutsutaan syklisyydeksi Ilmiö voidaan estää valitsemalla kantaan astuva ja siitä poistuva muuttuja sopivasti Lineaarinen ohjelmointi - Syksy 27 / 2

Syklisyys: Leksikograafinen sääntö Sanotaan, että u on leksikograafisesti pienempi kuin v ( u< L v), jos vektorin v-u ensimmäinen nollasta poikkeava komponentti on positiivinen (,3,5,7) < L (,4,,) Leksikograafinen sääntö: pivot-rivi l valitaan siten, että se on kandidaateista ( x / u, u > l l l minimissä) leksikograafisesti pienin Lineaarinen ohjelmointi - Syksy 27 / 22

Syklisyys: landin sääntö landin sääntö eli pienimmän indeksin sääntö: Valitaan kantaan astuva muuttuja kandidaateista ( c j < ) siten, että muuttujan indeksi on pienin (eniten vasemmalla) Valitaan kannasta poistuva muuttuja kandidaateista ( x / u, u > l l l minimissä) siten, että muuttujan indeksi on pienin (ylimpänä) Lineaarinen ohjelmointi - Syksy 27 / 23

Syklisyys Leksikograafinen ja landin sääntö estävät syklisyyden ja terminoivat algoritmin äärellisessä ajassa Muita sääntöjä: Kantaan astuvaksi muuttujaksi se, jolla pienin redusoitu kustannus Kantaan astuvaksi muuttujaksi se, joka vaikuttaa kustannusmuutokseen eniten (askelpituus huomioidaan) Ei takuita terminoitumisesta Lineaarinen ohjelmointi - Syksy 27 / 24

Lähtöratkaisun löytäminen Simplex vaatii lähtötilanteeksi käyvän kantaratkaisun Tehtävän rajoitteet muodossa Ax b, b Ax + s b x, s b min s.e. x 5x x x + s 2 x + s 3 2 2 + x + s 4 2 3 x, s, 2, 2, 3 2 ( x, x ) 2 s, s, s ) ( 2 3 (,) (2,3,4) Lineaarinen ohjelmointi - Syksy 27 / 25

Lähtöratkaisun löytäminen: Aputehtävä (/3) Rajoitteet standardimuodossa ( b ) -> aputehtävä keinotekoisilla muuttujilla y y, y,..., y )' min c x s.e Axb x ( 2 m min y + y +... + 2 s.e. Ax+yb x y Jos aputehtävän optimikustannus on nolla, pätee y -> vastaava x käypä ratkaisu alkuperäiselle tehtävälle! Jos kannassa vain x-muuttujia, tiputetaan taulukosta y-muuttujia vastaavat sarakkeet ja käytetään kantaa alkuperäisen tehtävän alustukseen y m Lineaarinen ohjelmointi - Syksy 27 / 26

Lähtöratkaisun löytäminen: Aputehtävä (2/3) Kantaan saattaa jäädä y-muuttujia, vaikka niiden arvo onkin degeneroitunut ratkaisu Tarkastellaan matriisin A täysiasteisuutta: - A Jos matriisin (alkuperäisiä muuttujia vastaavat sarakkeet) rivin l alkiot ovat kaikki nollia, on ko. rajoite lineaarisesti riippuvainen muista eli redundantti Redundantti rajoite ja vastaava kantamuuttuja voidaan turhina poistaa Lineaarinen ohjelmointi - Syksy 27 / 27

Lähtöratkaisun löytäminen: Aputehtävä (3/3) Jos nollariviä ei löydy, on matriisi A täysiasteinen Tällöin siirrytään kannanvaihdoksilla y:istä x- muuttujiin Täysiasteisesta m x n matriisista A, m n, löytyy m kpl lineaarisesti riippumattomia vektoreita kanta u l Kantaa vaihdettaessa voi olla negatiivinen, sillä degeneroituvuuden takia askelpituus θ * on joka tapauksessa nolla Menettelyllä ajetaan keinotekoiset muuttujat ulos kannasta Lineaarinen ohjelmointi - Syksy 27 / 28

Vaihe Lähtöratkaisun löytäminen: Kaksivaiheinen Simplex (/8). Rajoitteet muodossa Ax b, x ( b ) 2. Tarvittaessa ratkaistaan aputehtävä keinotekoisin muuttujin y 3. Aputehtävän optimikustannus positiivinen -> alkuperäinen tehtävä ei käypä 4. Kustannus nolla: Jos kannassa vain alkuperäisiä muuttujia, poistetaan taulukosta y-muuttujat ja niitä vastaavat sarakkeet ja siirrytään alkuperäiseen tehtävään 5. Kannassa y-muuttujia: tutkitaan matriisia A. Jos rivin l alkiot nollia, poistetaan rivi ja vastaava kantamuuttuja. Jos alkio j poikkeaa nollasta, tuodaan x j kantaan korvaamaan. Jatketaan kunnes kannassa enää x-muuttujia. y (l ) Lineaarinen ohjelmointi - Syksy 27 / 29

Vaihe 2: Lähtöratkaisun löytäminen: Kaksivaiheinen Simplex (2/8). Alkuperäinen kanta ja taulukko vaiheen lopputilanteesta 2. Lasketaan redusoidut kustannukset kannalle käyttäen alkuperäisen tehtävän kustannuksia 3. Sovelletaan Simplexiä alkuperäiseen tehtävään Lineaarinen ohjelmointi - Syksy 27 / 3

Tehtävä: min 2x Lähtöratkaisun löytäminen: Kaksivaiheinen Simplex (3/8) + 3x + 3x + x 2 2 3 4 x + 3x + 4x + x 2 4 5 x + x 3x + x 2 2 4 5 x 4x + 3x 2 3 x,..., x 5 x 2 2 5 Aputehtävä: min x 4x + 3x + y 2 3 3 Käypä ratkaisu aputehtävälle x(,,,,,2,2,), x c (,,) c ' x 5, c (,, 3,, 2,,,) y + y + 2 x + 3x + 4x + x + y 2 4 5 x + x 3x + x + y 2 2 4 5 2 y 3 2 2 x i, y i ( y, y, y ) 2 3 Lineaarinen ohjelmointi - Syksy 27 / 3

Lähtöratkaisun löytäminen: Kaksivaiheinen Simplex (4/8) y y 2 y 3-5 2 2 x x x 2 3 4 - - -3 x 5 x y - -2 3 4 2-3 - -4 3 y y 2 3 /3 Lineaarinen ohjelmointi - Syksy 27 / 32

Lähtöratkaisun löytäminen: Kaksivaiheinen Simplex (5/8) y y 2 x 3-4 2 2 /3 x x x x 2 3 4 5 x y -2-5 - -2 3 4 2-3 -/3-4/3 y y 2 3 /3 *2 *(-) Lineaarinen ohjelmointi - Syksy 27 / 33

Lähtöratkaisun löytäminen: Kaksivaiheinen Simplex (6/8) Kustannus nolla, mutta kannassa -> ajetaan pois tuomalla kantaan x 5 y 2 x 3 2 /3 x 4 x x x y 3 x x 2 4 5 -/3 3 - -4/3 /3 Huomaa: askelpituus nolla, joten :n sallittua olla negatiivinen y 2 7 4-7 u l 2 - y y 2 3 *(4/7) /(-7) Lineaarinen ohjelmointi - Syksy 27 / 34

x 5 x 4 x 3 2 /3 x x x y 2 3 x x 4 5 7/7 3/7 /7 /7 -/3-4/3 y2 y3 4/7 -/7 /3 Kannassa enää x-muuttujia! Alkuperäistä tehtävää voidaan alkaa ratkaista tiputtamalla yo. taulukosta y-muuttujia vastaavat sarakkeet Lisäksi tulee laskea alkuperäistä kustannusfunktiota vastaavat redusoidut kustannukset Lineaarinen ohjelmointi - Syksy 27 / 35

tehtävän optimi! Lähtöratkaisun löytäminen: Kaksivaiheinen Simplex (8/8) x 5 x 4 x 3 Kustannus c ' c' c 3 2 /3 x x x x 2 3 x4 5 3 -/3 82/7 7/7 /7-4/3 Red. kustannukset ei-negatiivisia -> myös alkuperäisen c' (2,3,3,, 2) c ' ' A (3,82/ 7,,,) ( 2,,3) Lineaarinen ohjelmointi - Syksy 27 / 36

Lähtöratkaisun löytäminen: Iso M -menetelmä Vaiheet voidaan yhdistää käyttämällä kustannusfunktiota c' x+ M missä M aina suurempi kuin siihen verrattava luku Ratkaistaan tehtävä Simplexillä tavalliseen tapaan; lähtöratkaisu (x,y)(,b) Jos alkuperäisellä tehtävällä on käypä ratkaisu, y:t menevät nollaan -> kustannusfunktio palautuu c x:ksi m i y i, Lineaarinen ohjelmointi - Syksy 27 / 37