59
1 3. Simpleks metoda Autor G. Dantzig

Simpleks metoda1.ppt

Embed Size (px)

DESCRIPTION

simpleks metoda

Citation preview

Page 1: Simpleks metoda1.ppt

1

3. Simpleks metoda

Autor G. Dantzig

Page 2: Simpleks metoda1.ppt

2

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.

Page 3: Simpleks metoda1.ppt

3

Standardni problem maksimuma

max c’x Ax ≤ A0

x ≥ 0

Page 4: Simpleks metoda1.ppt

4

Kanonski problem maksimuma

max c’x Ax = A0

x ≥ 0

Page 5: Simpleks metoda1.ppt

5

Standardni problem minimuma

min c’x Ax ≥ A0

x ≥ 0

Page 6: Simpleks metoda1.ppt

6

Kanonski problem minimuma

min c’x Ax = A0

x ≥ 0

Page 7: Simpleks metoda1.ppt

7

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ćih rješ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.

Page 8: Simpleks metoda1.ppt

8

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?

Page 9: Simpleks metoda1.ppt

9

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.

Page 10: Simpleks metoda1.ppt

10

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.

Page 11: Simpleks metoda1.ppt

11

Još malo…

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

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

Page 12: Simpleks metoda1.ppt

12

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.

Page 13: Simpleks metoda1.ppt

13

Kako generirati vrh?

Problem LP zapisujemo

u kanonskom obliku. Dobivamo sustav

jednadžbi s uvjetima nenegativnosti na varijable.

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

VRH

BMR

Page 14: Simpleks metoda1.ppt

14

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.

Page 15: Simpleks metoda1.ppt

Kanonski oblik ima…

m jednadžbi n+m varijabli, n strukturnih varijabli x, m

dodatnih varijabli u Uvjete ne negativnosti na sve varijable.

Page 16: Simpleks metoda1.ppt

16

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

Page 17: Simpleks metoda1.ppt

17

Početna simpleks tablica1. RHS ≥0

2. Iz kanonskog oblika zapisujemo tablicu.

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

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

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

Page 18: Simpleks metoda1.ppt

18

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.

Page 19: Simpleks metoda1.ppt

19

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čne varijable i njihove vrijednosti čitamo iz tablice.

Preostale varijable zovemo nebazične varijable i sve imaju vrijednost 0.

Page 20: Simpleks metoda1.ppt

20

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

0

3

3

5

A0

Page 21: Simpleks metoda1.ppt

21

Tablica

x1 x2 u1 u2 u3 RHS

A0

1

1

0

1

0

1

1

0

0

0

1

0

0

0

1

5

3

3

Page 22: Simpleks metoda1.ppt

22

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.

Page 23: Simpleks metoda1.ppt

23

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.

Page 24: Simpleks metoda1.ppt

24

Bazu u R3 biramo iz skupa vektora…

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

1

0

0

,

0

1

0

,

0

0

1

,

1

0

1

,

0

1

1

32121 UUUAA

Page 25: Simpleks metoda1.ppt

25

Jedan zapis linearnog sustava je

A0 =x1A1 +x2A2 +u1U1 +u2U2 +u3U3

odnosno vektor A0 je linearna kombinacija skupa vektora .

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

Page 26: Simpleks metoda1.ppt

26

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.

Page 27: Simpleks metoda1.ppt

27

Pitanja…

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

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

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

4. Ako je, odredite komponente vrha.

Page 28: Simpleks metoda1.ppt

28

Odgovori…

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

2. A0=3A1 +2A2 +U3

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

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

Page 29: Simpleks metoda1.ppt

29

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?

Page 30: Simpleks metoda1.ppt

30

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.

Page 31: Simpleks metoda1.ppt

31

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.

Page 32: Simpleks metoda1.ppt

32

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.

Page 33: Simpleks metoda1.ppt

33

Ocjena z(j)-c(j) bazičnih varijabli je 0.

Dakle imamo ocjena varijable u1 je

c(3)-z(3)=0 ocjena varijable u2 je

c(4)-z(4)=0 ocjena varijable u3 je

c(5)-z(5)=0

Page 34: Simpleks metoda1.ppt

34

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.

Page 35: Simpleks metoda1.ppt

35

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.

Page 36: Simpleks metoda1.ppt

36

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 .

Page 37: Simpleks metoda1.ppt

37

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.

Page 38: Simpleks metoda1.ppt

Fosfati

Sirovine

Količina sirovina u tonama potrebna za proizvodnju jedne tone

Mjesečno raspoložive količine sirovina u tonama

Fosfata 1 Fosfata 2

S1 2 1 1500

S2 1 1 1200

S3 1 0 500

Dobit u dolarima 15 10

Page 39: Simpleks metoda1.ppt

39

Page 40: Simpleks metoda1.ppt

40

Page 41: Simpleks metoda1.ppt

41

Page 42: Simpleks metoda1.ppt

42

Page 43: Simpleks metoda1.ppt

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.

Page 44: Simpleks metoda1.ppt

Maksimalno iskorištenje raspoloživih sirovina

Sirovine

Količina sirovina u tonama potrebna za proizvodnju jedne tone

Mjesečno raspoložive količine sirovina u tonama

Fosfata 1 Fosfata 2

S1 2 1 1500

S2 1 1 1200

S3 1 0 500

ukupno 4 2

Page 45: Simpleks metoda1.ppt

Matematički model

max (4x1 + 2x2)

2x1+ x2 ≤ 1500

x1+ x2 ≤ 1200

x1 ≤ 500

x1 ≥ 0, x2 ≥ 0

Page 46: Simpleks metoda1.ppt

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.

Page 47: Simpleks metoda1.ppt

47

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

Page 48: Simpleks metoda1.ppt

48

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

Page 49: Simpleks metoda1.ppt

49

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.

Page 50: Simpleks metoda1.ppt

Big M

Definira se kao velik pozitivan broj.

Page 51: Simpleks metoda1.ppt

51

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ća rješenja, odnosno ne zadovoljavaju ograničenja dana u problemu.

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

Page 52: Simpleks metoda1.ppt

52

Druga faza…

Druga faza poč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.

Page 53: Simpleks metoda1.ppt

53

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 cilja

neogranič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.

Page 54: Simpleks metoda1.ppt

54

Dualni problem

Page 55: Simpleks metoda1.ppt

55

Page 56: Simpleks metoda1.ppt

56

Page 57: Simpleks metoda1.ppt

57

Page 58: Simpleks metoda1.ppt

58

Kraj …

Page 59: Simpleks metoda1.ppt

59

()…

()