3 simpleks metoda
Download
1 / 59

3. Simpleks metoda - PowerPoint PPT Presentation


  • 127 Views
  • Uploaded on
  • Presentation posted in: General

3. Simpleks metoda. Autor G. Dantzig. Simpleks metoda rješava problem linearnog programiranja (LP). LP je problem u kojem tražimo max ili min linearne funkcije na skupu rješenja sustava linearnih nejednadžbi ili (i) jednadžbi. Standardni problem maksimuma. max c’x Ax ≤ A 0

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

3. Simpleks metoda

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


3. Simpleks metoda

Autor G. Dantzig


Simpleks metoda rješava problem linearnog programiranja (LP)

LP je problem u kojem tražimo max ili min linearne funkcije na skupu rješenja sustava linearnih nejednadžbi ili (i) jednadžbi.


Standardni problem maksimuma

max c’x

Ax≤ A0

x ≥ 0


Kanonski problem maksimuma

max c’x

Ax = A0

x ≥ 0


Standardni problem minimuma

min c’x

Ax≥A0

x ≥ 0


Kanonski problem minimuma

min c’x

Ax = A0

x ≥ 0


Terminologija za standardni problem maksimuma

x je moguće rješenje (dopustivo) ako zadovoljava ograničenja Ax ≤ A0, x ≥ 0.

S={x: Ax ≤ A0, x ≥ 0} je skup mogućihrješenja.

z(x)=c’x je funkcija cilja.

x*ε S za koji vrijedi

z(x*) ≥ z(x) za svako x ε S naziva se optimalno rješenje.


Primjer…

max (2x1 + x2)

x1 + x2≤ 5

x1 ≤ 3

x2 ≤ 3

x1,x2 ≥ 0

Da li je x=(1,4) moguće rješenje?

Da li je x=(2,3) moguće rješenje?


Terminologija za ostale probleme

Moguće rješenje zadovoljava ograničenja.

Funkcija cilja je z(x)=c’x kojoj tražimo najveću ili najmanju vrijednost.

Optimalno rješenje je moguće rješenje u kojem funkcija cilja dostiže min ili max.

Optimalna vrijednost funkcije cilja je njena najmanja ili najveća vrijednost na skupu.


Malo matematike…Osnovni pojmovi

Skup mogućih rješenja S je konveksan poliedar.

Poliedar- ima konačan broj vrhova i bridova.

Skup je konveksan ako sadrži pravocrtnu spojnicu bilo koje svoje dvije točke.

Pravocrtna spojnica je konveksna kombinacija dviju točaka x* i x’, odnosno

x(α)=(1-α)x* +αx’, 0 ≤α≤1.


Još malo…

Optimalno rješenje, ako postoji, nalazi se u baremjednom vrhu.

Ako su dva rješenja optimalna, onda je svaka točka njihove pravocrtne spojnice također optimalno rješenje.


Ideja simpleks metode

Metoda 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 rješavamo problem max-bolji vrh ima veću vrijednost funkcije cilja.Ako rješavamo problem min-bolji vrh ima manju vrijednost funkcije cilja. (Ovo vrijedi ako rješenje nije degenerirano).

Dva su vrha susjedna ako su spojena bridom.

Postupak se zaustavlja u optimalnom vrhu ili u vrhu iz kojeg ˝vidi˝ da optimalno rješenje ne postoji.


Kako generirati vrh?

Problem LP zapisujemo

u kanonskom obliku.

Dobivamo sustav jednadžbi s uvjetima nenegativnosti na varijable.

U dobivenom sustavutražimo BMR-bazično moguće rješenje.

  • VRH

  • BMR


Kanonski oblik

U sustav linearnih nejednadžbi Ax ≤ A0, x ≥ 0 uvode se dodatne varijable u ≥ 0, on prelazi u sustav jednadžbi s uvjetima nenegativnosti na sve varijable odnosno

max c’x

Ax+u= A0

x ≥ 0, u ≥ 0 .

Varijable x zovemo strukturne, u dodatne.

Primijetimo da koeficijenti u funkciji cilja uz dodatne varijable su nula.


Kanonski oblik ima…

  • m jednadžbi

  • n+m varijabli, n strukturnih varijabli x, m dodatnih varijabli u

  • Uvjete 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


Početna simpleks tablica

RHS ≥0

Iz kanonskog oblika zapisujemo tablicu.

Početna baza je skup jediničnih vektora u tablici (matrici koeficijenata sustava).

Ako je desna strana ograničenja A0nenegativna, bazu tvore vektori uz dodatne varijable i početno rješenje je x=0, u=A0

Ako u tablici kanonskog oblika nema svih jediničnih vektora uvodi se umjetna baza.


Bazično moguće rješenje

Bazično moguće rješenje odgovara jednom vrhu u skupu mogućih rješenja S, odnosno strukturne varijable x su komponente vrha.

Bazu u Rm tvore m linearno nezavisnih vektora.

Svaki vektor prostora Rm može se na jedinstven način 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 rješenje bazično i moguće.

U svakoj simpleks tablici je jedna baza (gledamo koji vektori su jedinični).

Varijable koje pripadaju bazi zovemo bazičnevarijable i njihove vrijednosti čitamo iz tablice.

Preostale varijable zovemo nebazičnevarijable 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


Gdje smo?

Imamo 5 varijabli i 3 ograničenja.

Broj bazičnih varijabli=broju ograničenja=3

Bazične varijable su u1,u2,u3.

Nebazične varijable su x1 i x2, pa je x1=0,x2=0.

Vrijednosti bazičnih varijabli čitamo iz tablice

u1= 5, u2=3, u3=3.


Dobiveno je BMR

Vrijednosti strukturnih varijabli (x1,x2)=(0,0) su komponente jednog vrha skupa mogućih rješenja.

Funkcija cilja z(x)=2x1+x2 u dobivenom vrhu je z(0,0)=0.


Bazu u R3 biramo iz skupa vektora…

A={A1,A2,U1,U2,U3} gdje je


Jedan zapis linearnog sustava je

A0 =x1A1 +x2A2 +u1U1 +u2U2 +u3U3

odnosno vektor A0je linearna kombinacija skupa vektora A.

Ako vektor A0 prikažemo kao linearnu kombinaciju vektora jedne baze dvije od 5 varijabli imati će vrijednost 0.


Vektor A0 prikazan je kao linearnakombinacija jediničnih vektora (jedne baze)

Imamo

A0=5U1 +3U2 +3U3

A0 je nenegativna kombinacija vektora baze pa je dobiveno rješenje bazično moguće.


Pitanja…

Da li je skup vektora {A1,A2, U3} jedna baza prostora R3 ?

Ako je, prikažite vektor A0 kao linearnu kombinaciju vektora baze.

Da li je dobiveno rješenje bazično moguće?

Ako je, odredite komponente vrha.


Odgovori…

Da, jer je skup vektora linearno nezavisan i ima ih 3.

A0=3A1 +2A2 +U3

Linearna kombinacija je nenegativna pa je dobiveno rješenje (x,u)=(3,2,0,0,1) bazično moguće

x=(3,2) je vrh u S.


Ovaj dio pokazuje gdje smo i pitamo se dalje…

Da li je dobiveni vrh optimalan?

Ako je, da li je on jedino optimalno rješenje?

Ako dobiveni vrh nije optimalan, kako postupiti dalje?


Smjer kretanja

U dodatni redak tablice upisuje se i računa 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)<0 ulazom vektora j u bazu vrijednost funkcije cilja pada.

Ako je c(j)-z(j)=0 ulazom vektora j u bazu vrijednost funkcije cilja se ne mijenja.


U primjeru dobivamo

c(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) bazičnih varijabli je 0.

Dakle imamo

ocjena varijable u1 je

c(3)-z(3)=0

ocjena varijable u2je

c(4)-z(4)=0

ocjena varijable u3 je

c(5)-z(5)=0


Dobiveni vrh nije optimalan jer postoji veća vrijednost funkcije cilja od vrijednosti 0.

Bira se ˝najbrži˝ 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 slijedećoj tablici varijabla x1 biti će bazična.

Ključni element bira se u stupcu x1.


Kriterij zaustavljanja

Za 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 ključnog elementa, izbor vektora koji izlazi iz baze

Ključni element može biti samo pozitivan broj za koji je najmanji kvocijent, (odnosno

desna strana RHS podijeli se() s kandidatom za ključni element). Označimo ključni 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 najbrži smjer rasta bira se ključni element.


Fosfati


Postojanje više optimalnih rješenja

  • Ako u optimalnoj tablici barem jedan nebazični vektor (varijabla) ima ocjenu

    c(j)-z(j)=0 onda ulazom tog vektora u bazu dobivamo alternativno optimalno bazično rješenje, susjedni optimalni vrh.

    Konveksna kombinacija dva vrha je brid koji ih spaja i sve točke brida su optimalna rješenja.


Maksimalno iskorištenje raspoloživih sirovina


Matematički model

  • max (4x1 + 2x2)

  • 2x1+ x2 ≤ 1500

  • x1+ x2 ≤ 1200

  • x1 ≤ 500

  • x1 ≥ 0, x2 ≥ 0


Optimalno rješenje

Ovaj problem ima dva optimalna vrha

x*=(300,900) i x’ =(500,500).

Optimalna vrijednost funkcije cilja je

z* =3000.

Skup optimalnih rješenja su sve točke brida

x(α)=(1- α)(300,900)+ α(500,500),

0 ≤ α ≤ 1.


Tehnika umjetne baze

Simpleks metodom riješiti ćemo dual problema proizvodnje fosfata

  • min(1500y1+1200y2+500y3)

  • 2y1+ y2+y3 ≥ 15

  • y1+ y2 ≥ 10

  • y1,y2,y3 ≥0


Kanonski oblik standardnog problema minimuma

Uvode se dodatne varijable v1 i v2 pa imamo

  • min(1500y1+1200y2+500y3)

  • 2y1+ y2+ y3 - v1 = 15

  • y1+ y2 - v2 = 10

  • y1,y2,y3 ≥0


Kako je RHS≥0, traži se baza jediničnih vektora u kanonskom obliku.

Uvodi se umjetna baza jediničnih 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 M

  • Definira se kao velik pozitivan broj.


Metoda sada ima dvije faze…

Prva faza je niz tablica u kojima bar jedan bazični vektor je vektor umjetne baze. Dobivena rješenja nisu mogućarješenja, odnosno ne zadovoljavaju ograničenja dana u problemu.

Nizom tablica prve faze nastoji se doći do vrha skupa mogućih rješenje.


Druga faza…

Druga fazapočinje kada je dobivena tablica u kojoj bazu tvore samo vektori uz strukturne ili dodatne varijable kanonskog oblika problema. Dobiveno rješenje je vrh skupa mogućih rješenje.

Nakon što je generiran početni mogući vrh, put se nastavlja po boljim mogućim vrhovima dok ne dođemo u optimalno rješenje.


Problem nema optimalno rješenje u dva slučaja

Prvi slučaj

Skup mogućih rješenja je prazan

jer su ograničenja kontradiktorna, odnosno sustav nejednadžbi nema rješenje.

Postupak staje u prvoj fazi.

Drugi slučaj

Skup mogućih rješenje je neograničen.

Funkcija ciljaneograničeno raste na S u problemu maksimuma ili neograničeno pada na S u problemu minimuma. Kažemo da problem nema optimalno rješenje u konačnosti.


Dualni problem


Kraj …


()…

()


ad
  • Login