59
1 3. Simpleks metoda Autor G. Dantzig

Simpleks metoda1.ppt

Embed Size (px)

Citation preview

  • *3. Simpleks metodaAutor G. Dantzig

  • *Simpleks metoda rjeava problem linearnog programiranja (LP)LP je problem u kojem traimo max ili min linearne funkcije na skupu rjeenja sustava linearnih nejednadbi ili (i) jednadbi.

  • *Standardni problem maksimuma max cx Ax A0 x 0

  • *Kanonski problem maksimumamax cx Ax = A0 x 0

  • *Standardni problem minimumamin cx Ax A0 x 0

  • *Kanonski problem minimumamin cx Ax = A0 x 0

  • *Terminologija za standardni problem maksimuma x je mogue rjeenje (dopustivo) ako zadovoljava ogranienja Ax A0, x 0.S={x: Ax A0, x 0} je skup moguih rjeenja. z(x)=cx je funkcija cilja. x* S za koji vrijedi z(x*) z(x) za svako x S naziva se optimalno rjeenje.

  • *Primjer max (2x1 + x2) x1 + x2 5 x1 3 x2 3 x1,x2 0Da li je x=(1,4) mogue rjeenje?Da li je x=(2,3) mogue rjeenje?

  • *Terminologija za ostale probleme Mogue rjeenje zadovoljava ogranienja.Funkcija cilja je z(x)=cx kojoj traimo najveu ili najmanju vrijednost.Optimalno rjeenje je mogue rjeenje u kojem funkcija cilja dostie min ili max.Optimalna vrijednost funkcije cilja je njena najmanja ili najvea vrijednost na skupu.

  • *Malo matematikeOsnovni pojmoviSkup moguih rjeenja S je konveksan poliedar.Poliedar- ima konaan broj vrhova i bridova.Skup je konveksan ako sadri pravocrtnu spojnicu bilo koje svoje dvije toke.Pravocrtna spojnica je konveksna kombinacija dviju toaka x* i x, odnosno x()=(1-)x* +x, 0 1.

  • *Jo maloOptimalno rjeenje, ako postoji, nalazi se u barem jednom vrhu. Ako su dva rjeenja optimalna, onda je svaka toka njihove pravocrtne spojnice takoer optimalno rjeenje.

  • *Ideja simpleks metodeMetoda generira samo kandidate, dakle vrhove.Prva faza je generiranje jednog vrha.Druga faza je hod po vrhovima.Iz vrha u kojem se trenutno nalazi prelazi u bolji, susjedni vrh. Ako rjeavamo problem max-bolji vrh ima veu vrijednost funkcije cilja. Ako rjeavamo problem min-bolji vrh ima manju vrijednost funkcije cilja. (Ovo vrijedi ako rjeenje nije degenerirano).Dva su vrha susjedna ako su spojena bridom.Postupak se zaustavlja u optimalnom vrhu ili u vrhu iz kojeg vidi da optimalno rjeenje ne postoji.

  • *Kako generirati vrh?Problem LP zapisujemo u kanonskom obliku.Dobivamo sustav jednadbi s uvjetima nenegativnosti na varijable.U dobivenom sustavu traimo BMR-bazino mogue rjeenje.

    VRH

    BMR

  • *Kanonski oblikU sustav linearnih nejednadbi Ax A0, x 0 uvode se dodatne varijable u 0, on prelazi u sustav jednadbi s uvjetima nenegativnosti na sve varijable odnosno max cxAx+u= A0x 0, u 0 .Varijable x zovemo strukturne, u dodatne.Primijetimo da koeficijenti u funkciji cilja uz dodatne varijable su nula.

  • Kanonski oblik imam jednadbin+m varijabli, n strukturnih varijabli x, m dodatnih varijabli uUvjete ne negativnosti na sve varijable.

  • *Primjer Standardni problem maksimuma max (2x1 + x2) x1 + x2 5 x1 3 x2 3 x1,x2 0

    Kanonski oblik max (2x1 + x2) x1 + x2 + u1 = 5 x1 + u2 = 3 x2 + u3 = 3 x1,x2 0,u1,u2,u3 0

  • *Poetna simpleks tablicaRHS 0Iz kanonskog oblika zapisujemo tablicu.Poetna baza je skup jedininih vektora u tablici (matrici koeficijenata sustava). Ako je desna strana ogranienja A0 nenegativna, bazu tvore vektori uz dodatne varijable i poetno rjeenje je x=0, u=A0Ako u tablici kanonskog oblika nema svih jedininih vektora uvodi se umjetna baza.

  • *Bazino mogue rjeenjeBazino mogue rjeenje odgovara jednom vrhu u skupu moguih rjeenja S, odnosno strukturne varijable x su komponente vrha.Bazu u Rm tvore m linearno nezavisnih vektora.Svaki vektor prostora Rm moe se na jedinstven nain prikazati kao linearna kombinacija vektora baze.Bazu biramo iz stupaca matrice koeficijenata linearnog sustava kojem je desna strana nenegativna.

  • *Ako je A0 0 nenegativna kombinacija vektora baze onda je rjeenje bazino i mogue.U svakoj simpleks tablici je jedna baza (gledamo koji vektori su jedinini).Varijable koje pripadaju bazi zovemo bazine varijable i njihove vrijednosti itamo iz tablice.Preostale varijable zovemo nebazine varijable i sve imaju vrijednost 0.

  • *Primjer Kanonski oblik max (2x1 + x2) x1 + x2 + u1 = 5 x1 + u2 = 3 x2 + u3 = 3 x1,x2 0,u1,u2,u3 0

    Provjera Da li je RHS 0 ?RHS=A0

  • *Tablica

    x1x2u1u2u3RHSA0110101100010001533

  • *Gdje smo?Imamo 5 varijabli i 3 ogranienja.Broj bazinih varijabli=broju ogranienja=3Bazine varijable su u1,u2,u3.Nebazine varijable su x1 i x2, pa je x1=0,x2=0.Vrijednosti bazinih varijabli itamo iz tablice u1= 5, u2=3, u3=3.

  • *Dobiveno je BMRVrijednosti strukturnih varijabli (x1,x2)=(0,0) su komponente jednog vrha skupa moguih rjeenja.Funkcija cilja z(x)=2x1+x2 u dobivenom vrhu je z(0,0)=0.

  • *Bazu u R3 biramo iz skupa vektoraA ={A1,A2,U1,U2,U3} gdje je

  • *Jedan zapis linearnog sustava je A0 =x1A1 +x2A2 +u1U1 +u2U2 +u3U3 odnosno vektor A0 je linearna kombinacija skupa vektora A. Ako vektor A0 prikaemo kao linearnu kombinaciju vektora jedne baze dvije od 5 varijabli imati e vrijednost 0.

  • *Vektor A0 prikazan je kao linearnakombinacija jedininih vektora (jedne baze)Imamo A0=5U1 +3U2 +3U3 A0 je nenegativna kombinacija vektora baze pa je dobiveno rjeenje bazino mogue.

  • *PitanjaDa li je skup vektora {A1,A2, U3} jedna baza prostora R3 ?Ako je, prikaite vektor A0 kao linearnu kombinaciju vektora baze.Da li je dobiveno rjeenje bazino mogue?Ako je, odredite komponente vrha.

  • *Odgovori

    Da, jer je skup vektora linearno nezavisan i ima ih 3.A0=3A1 +2A2 +U3Linearna kombinacija je nenegativna pa je dobiveno rjeenje (x,u)=(3,2,0,0,1) bazino mogue x=(3,2) je vrh u S.

  • *Ovaj dio pokazuje gdje smo i pitamo se daljeDa li je dobiveni vrh optimalan?Ako je, da li je on jedino optimalno rjeenje?Ako dobiveni vrh nije optimalan, kako postupiti dalje?

  • *Smjer kretanjaU dodatni redak tablice upisuje se i rauna c(j)-z(j)Ako je c(j)-z(j)>0 ulazom vektora j u bazu vrijednost funkcije cilja raste.Ako je c(j)-z(j)
  • *U primjeru dobivamoc(1)-z(1)=2>0 pa je aktiviranje varijable x1 po bridu poliedra iz vrha (0,0) smjer rasta funkcije cilja. Interpretacija : ako varijabla x1 s vrijednosti 0 naraste na vrijednost 1 na bridu funkcija cilja s vrijednosti 0 naraste na vrijednost 2.

  • *c(2)-z(2)=1>0 pa je aktiviranje varijable x2 po bridu poliedra iz vrha (0,0) smjer rasta funkcije cilja. Interpretacija : ako varijabla x2 s vrijednosti 0 naraste na vrijednost 1 funkcija cilja s vrijednosti 0 naraste na vrijednost 1.

  • *Ocjena z(j)-c(j) bazinih varijabli je 0. Dakle imamo ocjena varijable u1 je c(3)-z(3)=0ocjena varijable u2 je c(4)-z(4)=0ocjena varijable u3 je c(5)-z(5)=0

  • *Dobiveni vrh nije optimalan jer postoji vea vrijednost funkcije cilja od vrijednosti 0.Bira se najbri smjer rasta po bridu iz vrha (0,0) radi dobivanja boljeg vrha.Kriterij ulaza vektora u bazu je max{c(j)-z(j): c(j)-z(j)>0, j=1,2} Dakle imamo max{2,1}=2, pa u slijedeoj tablici varijabla x1 biti e bazina. Kljuni element bira se u stupcu x1.

  • *Kriterij zaustavljanjaZa problem maksimuma c(j)-z(j) 0 j=1,,n+m odnosno nalazimo se u vrhu iz kojeg niti jedan brid nije smjer rasta.Za problem minimuma c(j)-z(j) 0 j=1,,n+m odnosno nalazimo se u vrhu iz kojeg niti jedan brid nije smjer pada.

  • *Pivotiranje ili izbor kljunog elementa, izbor vektora koji izlazi iz baze Kljuni element moe biti samo pozitivan broj za koji je najmanji kvocijent, (odnosno desna strana RHS podijeli se() s kandidatom za kljuni element). Oznaimo kljuni element. Provodi se Gauss-Jordanov postupak. Dobiva se nova tablica koja generira bolji vrh .

  • *Za primjer dan je niz tablica simpleks metode za primjer proizvodnje (fosfati).U stupcu koji ima max {c(j)-z(j):c(j)-z(j)>0} odnosno najbri smjer rasta bira se kljuni element.

  • Fosfati

  • *

  • *

  • *

  • *

  • Postojanje vie optimalnih rjeenjaAko u optimalnoj tablici barem jedan nebazini vektor (varijabla) ima ocjenu c(j)-z(j)=0 onda ulazom tog vektora u bazu dobivamo alternativno optimalno bazino rjeenje, susjedni optimalni vrh. Konveksna kombinacija dva vrha je brid koji ih spaja i sve toke brida su optimalna rjeenja.

  • Maksimalno iskoritenje raspoloivih sirovina

  • Matematiki model

    max (4x1 + 2x2)2x1+ x2 1500 x1+ x2 1200 x1 500 x1 0, x2 0

  • Optimalno rjeenje Ovaj problem ima dva optimalna vrha x* =(300,900) i x =(500,500). Optimalna vrijednost funkcije cilja je z* =3000. Skup optimalnih rjeenja su sve toke brida x()=(1- )(300,900)+ (500,500), 0 1.

  • *Tehnika umjetne bazeSimpleks metodom rijeiti emo dual problema proizvodnje fosfatamin(1500y1+1200y2+500y3)2y1+ y2+y3 15 y1+ y2 10 y1,y2,y3 0

  • *Kanonski oblik standardnog problema minimumaUvode se dodatne varijable v1 i v2 pa imamomin(1500y1+1200y2+500y3)2y1+ y2+ y3 - v1 = 15 y1+ y2 - v2 = 10 y1,y2,y3 0

  • *Kako je RHS0, trai se baza jedininih vektora u kanonskom obliku. Uvodi se umjetna baza jedininih vektora. Koeficijenti u funkciji cilja uz umjetne varijable su veliko M (Big M), veliki pozitivan broj za problem minimuma, -M, mali negativan broj za problem maksimuma.

  • Big MDefinira se kao velik pozitivan broj.

  • *Metoda sada ima dvije fazePrva faza je niz tablica u kojima bar jedan bazini vektor je vektor umjetne baze. Dobivena rjeenja nisu mogua rjeenja, odnosno ne zadovoljavaju ogranienja dana u problemu.Nizom tablica prve faze nastoji se doi do vrha skupa moguih rjeenje.

  • *Druga fazaDruga faza poinje kada je dobivena tablica u kojoj bazu tvore samo vektori uz strukturne ili dodatne varijable kanonskog oblika problema. Dobiveno rjeenje je vrh skupa moguih rjeenje.Nakon to je generiran poetni mogui vrh, put se nastavlja po boljim moguim vrhovima dok ne doemo u optimalno rjeenje.

  • *Problem nema optimalno rjeenje u dva sluajaPrvi sluajSkup moguih rjeenja je prazan jer su ogranienja kontradiktorna, odnosno sustav nejednadbi nema rjeenje.

    Postupak staje u prvoj fazi.Drugi sluajSkup moguih rjeenje je neogranien.Funkcija cilja neogranieno raste na S u problemu maksimuma ili neogranieno pada na S u problemu minimuma. Kaemo da problem nema optimalno rjeenje u konanosti.

  • *Dualni problem

  • *

  • *

  • *

  • *Kraj

  • *()()