Upload
hrvoje-jakoplic
View
77
Download
0
Embed Size (px)
DESCRIPTION
simpleks metoda
Citation preview
1
3. Simpleks metoda
Autor G. Dantzig
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.
3
Standardni problem maksimuma
max c’x Ax ≤ A0
x ≥ 0
4
Kanonski problem maksimuma
max c’x Ax = A0
x ≥ 0
5
Standardni problem minimuma
min c’x Ax ≥ A0
x ≥ 0
6
Kanonski problem minimuma
min c’x Ax = A0
x ≥ 0
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.
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?
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.
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.
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.
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.
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
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.
Kanonski oblik ima…
m jednadžbi n+m varijabli, n strukturnih varijabli x, m
dodatnih varijabli u Uvjete ne negativnosti na sve varijable.
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
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.
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.
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.
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
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
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.
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.
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
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.
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.
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.
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.
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?
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.
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.
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.
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
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.
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.
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 .
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.
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
39
40
41
42
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
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
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.
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
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
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.
Big M
Definira se kao velik pozitivan broj.
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.
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.
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.
54
Dualni problem
55
56
57
58
Kraj …
59
()…
()