Upload
others
View
14
Download
2
Embed Size (px)
Citation preview
Gordana Savic, [email protected]/15/2018
1
OPERACIONA ISTRAŢIVANJA
GORDANA SAVIĆ
UNIVERZITET U BEOGRADU, FAKULTET ORGANIZACIONIH NAUKA
LABORATORIJA ZA OPERACIONA ISTRAŢIVANJA ”JOVAN PETRIĆ”
CENTAR ZA MERENJE EFIKASNOSTI
Sadrţaj
Linearno programiranje -obnavljanje
Geometrijska interpretacija - obnavljanje
Algebarska interpretacija
Simpleks metoda
2
Simpleks metoda3
Simpleks metoda
Simpleks metoda je tehnika koja sistematizuje
postupak pretraţivanja baznih rešenja i nalaţenja
optimalnog rešenja zadatka LP.
Razvijena je 1947. godine od strane Dţordţa
Danciga (George Dantzig), ali je i danas široko
zastupljena i sa uspehom se primenjuje uz pomoć
računara.
4
Simpleks metoda – osnovna ideja
Pretraţivanje baznih rešenja tj. geometrijski
posmatrano pretraţivanje temena konveksnog
poliedra
5
Simpleks metoda
Osnovni koraci
1. Inicijalizacija: naći početno bazno dopustivo rešenja.
Ovo rešenje se smatra tekućim.
2. Test optimalnosti: da li je tekuće bazno rešenje
optimalno? Ako jeste, KRAJ. Ako nije 3.
3. Nalaţenje “boljeg” rešenja: naći susedno bazno
dopustivo rešenje za koje je vrednost funkcije cilja
veća i usvojiti ga kao tekuće rešenje. Vratiti se na
korak 2.
6
Simpleks metoda - geometrijska interpretacija
1. Inicijalizacija: generisati neko početno teme X0 dopustive
oblasti. Ovo teme se smatra tekućim, tj. k = 0.
2. Test optimalnosti: ako teme Xk nema boljih susednih
temena, ono je optimalno. Ako jeste, KRAJ. Ako nije 3.
3. Nalaženje “boljeg” temena: generisati susedno teme Xk +1za koje je vrednost funkcije cilja veća i usvojiti ga kao
tekuće. Vratiti se na korak 2.
7
Kanonski oblik problema8
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
1 20, 0,..., 0
n n
n n
m m mn n m
n
a x a x a x b
a x a x a x b
a x a x a x b
x x x
1 1 2 2max ( )
. .
n nf x c x c x c x
p o
Simetričan
oblik
Kanonski oblik problema9
11 1 12 2 1 1 1
21 1 22 2 2 2 2
1 1 2 2
1 20, 0,..., 0
n n n
n n n
m m mn n n m m
n
a x a x a x x b
a x a x a x x b
a x a x a x x b
x x x
1 1 2 2max ( )
. .
n nf x c x c x c x
p o
Pretpostavka:svi slobodni članovi bi, i=1,...,m su nenegativni;
Standardni
oblik
Kanonski oblik problema10
11 1 12 2 1 1 1
21 1 22 2 2 2 2
1 1 2 2
1 20, 0,..., 0
n n n
n n n
m m mn n n m m
n
a x a x a x x b
a x a x a x x b
a x a x a x x b
x x x
1 1 2 2max ( )
. .
n nf x c x c x c x
p o
Pretpostavka:svi slobodni članovi bi, i=1,...,m su nenegativni;
Kanonski
oblik
Kanonski oblik problema11
(max) Tc x
.
0
N B
p o
Ax IX b
x
0
N Bx x x
b
1 2, ,...,n n n mB x x x
Simpleks algoritam
Početni korak: Nalaţenje početnog baznog rešenja
Iterativno korak:
Test optimalnosti
Pronalaţenje boljeg susednog baznog rešenja
12
Kanonski oblik problema-značaj
Na osnovu kanonskog oblika problema LP se
direktno moţe dobiti početno bazno rešenje.
13
1 2 1 2, ,..., , ,...,B n n n m mx x x x b b b
0
N BX x x
b
1 2, ,..., 0,0,...,0N nx x x x
0 0( ) 0F f x
Početno bazo rešenje
Vrednost početnog
baznog rešenja
Početna vrednost
funkcije cilja
Nalaţenje početnog baznog rešenja
Primer14
1 2(max) ( ) 5 2
. .
f x x x
p o
1 6x
22 18x
1 23 2 24x x
1 20, 0x x
Nalaţenje početnog baznog rešenja15
1 2(max) ( ) 5 2
. .
f x x x
p o
1 3
2 4
1 2 5
1 5
6
2 18
3 2 24
0, ..., 0
x x
x x
x x x
x x
Kanonski oblik modela
Nalaţenje početnog baznog rešenja16
1 2(max) ( ) 5 2
. .
f x x x
p o
1 3
2 4
1 2 5
1 5
6
2 18
3 2 24
0, ..., 0
x x
x x
x x x
x x
0 3 4 5, , 6,18,24Bx x x x
0 1 2, 0,0Nx x x 0 0F
Iterativni korak
Test optimalnosti
Kanonski oblik problema u k-toj (k=0,1,2,...) iteraciji
17
1 1 2 2max ( )
. .
k k k k k k
n n kf x c x c x c x F
p o
11 1 12 2 1 1 1
21 1 22 2 2 2 2
1 1 2 2
k k k k k k k k
n n n
k k k k k k k k
n n n
k k k k k k k k
m m mn n n m m
a x a x a x x b
a x a x a x x b
a x a x a x x b
1 2, ,..., 0k k k
n mx x x
Iterativni korak
Test optimalnosti
Kanonski oblik problema u k-toj (k=0,1,2,...) iteraciji
koeficijenti kanonskog oblika, dobijeni nizom odgovarajućih transformacija
problema u prethodnih k iteracija, pri čemu su slobodni članovi bi≥0 za i=1,…,n.
18
max ( ). .
Tk k
N kf x c x F
p o
0, 0
k k k k
N B
k k
B N
A x x b
x x
1 2 1 2( , ,..., ), [ ] , ( , ,..., )k k k k k k k k k k
n ij m n mc c c c A a b b b b
1 2 1 2, ,..., , ,...,k k k k k k kB n n n m mx x x x b b b 1 2, ,..., 0,0,...,0k k k k
n nx x x x
Iterativni korak
Test optimalnosti
Kanonski oblik problema u k-toj (k=0,1,2,...) iteraciji
koeficijenti kanonskog oblika, dobijeni nizom odgovarajućih transformacija
problema u prethodnih k iteracija, pri čemu su slobodni članovi bi≥0 za i=1,…,n.
19
max ( ). .
Tk k
N kf x c x F
p o
0, 0
k k k k
N B
k k
B N
A x x b
x x
1 2 1 2( , ,..., ), [ ] , ( , ,..., )k k k k k k k k k k
n ij m n mc c c c A a b b b b
1 2 1 2, ,..., , ,...,k k k k k k kB n n n m mx x x x b b b 1 2, ,..., 0,0,...,0k k k k
n nx x x x
Bazno rešenje problema u k-toj (k=0,1,2,...) iteraciji (k-ta
baza)
Vrednost f-je cilja Fk
Proveriti da li je rešenje xk optimalno!!!
Iterativni korak
Test optimalnosti20
1 2 1 2, ,..., , ,...,k k k k k k kB n n n m mx x x x b b b 1 2, ,..., 0,0,...,0k k k kn nx x x x
1 2 1 2, ,..., , ,...,k k k k k k kn n n m mB x x x b b b
Ako bi u nekom dopustivom rešenju nebazna promenljiva xjk,
j{1,2,...,n}, dobila neku vrednost > 0, dok bi sve ostale
nebazne promenljive ostale jenake 0, nova vrednost funkcije
cilja bi bila Fk + cjk .
Ukoliko nebazna promenljiva xjk dobije vrednost veću od 0,
ona tada postaje bazna, a da bi sledeće rešenje ostalo
bazno, neka bazna promenljiva mora da izađe iz baze, tj. da
dobije vrednost 0.
Iterativni korak
Test optimalnosti21
Ako bi u nekom dopustivom rešenju nebazna promenljiva xjk,
j{1,2,...,n}, dobila neku vrednost > 0, dok bi sve ostale
nebazne promenljive ostale jenake 0, nova vrednost funkcije
cilja bi bila Fk + cjk .
Ukoliko nebazna promenljiva xjk dobije vrednost veću od 0,
ona tada postaje bazna, a da bi sledeće rešenje ostalo
bazno, neka bazna promenljiva mora da izađe iz baze, tj. da
dobije vrednost 0.
Iterativni korak
Test optimalnosti22
Iterativni korak
Test optimalnosti
Pošto se ove dve baze razlikuju tačno za jednu
promenljivu, ova dva rešenja su susedna dopustiva
bazna rešenja.
Ulazak promenljive xjk u bazu mogao da ima
sledeći uticaj na vrednost funkcije cilja:
ako je cjk > 0, vrednost funkcije cilja bi se povećala,
ako je cjk < 0, vrednost funkcije cilja bi se povećala,
ako je cjk = 0, vrednost funkcije cilja bi ostala ista.
23
Iterativni korak
Test optimalnosti
Kriterijum optimalnosti:
Ako je cjk≤0 za svako j = 1, 2, ..., n, tada je xk
optimalno rešenje problema, a Fk maksimalna
vrednost funkcije cilja.
xk je optimalno rešenje ako se nikakvim povećanjem vrednosti
nebaznih promenljivih ovog rešenja ne moţe povećati vrednost
funkcije cilja
tj. ako nijedno susedno bazno rešenje nije bolje od xk .
24
Iterativni korak
Test optimalnosti - primer25
1 2(max) ( ) 5 2
. .
f x x x
p o
1 3
2 4
1 2 5
1 5
6
2 18
3 2 24
0, ..., 0
x x
x x
x x x
x x
0 1 2 3 4 5, , , , 0,0,6,18,24x x x x x x
0 0
1 20, 0c c Rešenje nije optimalno
Iterativni korakNalaţenje boljeg susednog baznog dopustivog rešenja
Ako xk nije optimalno rešenje potrebno je odreditinovo bazno rešenje xk+1 koje je susedno u odnosu na
rešenje xk.
Potrebno je odrediti:
koja nebazna promenljiva xsk, s{1,2,...,n}, treba da
uđe u bazu,
koja bazna promenljiva xn+rk, r{1,2,...,m}, treba da
izađe iz baze.
26
Iterativni korakNalaţenje boljeg susednog baznog dopustivog rešenja
Prilikom izbora promenljive koja će da uđe u bazu,
bira se ona nebazna promenljiva za koju se
pretpostavlja da će najviše popraviti vrednost
funkcije cilja.
Kriterijum ulaska promenljive u bazu
U bazu Bk+1 ulazi ona promenljiva xsk, s{1,2,...,n}
za čiji indek s vaţi
27
{1,2,..., }max { : 0}k k ks j j
j nc c c
Iterativni korakKriterijum za ulazak promenljive u bazu - primer
28
1 2(max) ( ) 5 2
. .
f x x x
p o
1 3
2 4
1 2 5
1 5
6
2 18
3 2 24
0, ..., 0
x x
x x
x x x
x x
0 1 2 3 4 5, , , , 0,0,6,18,24x x x x x x
0 0
1 2max{ , } max{5,2}c c x1 ulazi u bazu
Iterativni korakNalaţenje boljeg susednog baznog dopustivog rešenja
Prilikom izbora promenljive koja će da izađe iz
baze, bira se ona koja će obezbediti da sledeće
bazno rešenje ostane dopustivo.
29
1 1 1
2 2 2
1, ,..., 0
k k k k
s s n
k k k k
s s n
k k k k
ms s n m m
k k k
s n n m
a x x b
a x x b
a x x b
x x x
Iterativni korakNalaţenje boljeg susednog baznog dopustivog rešenja
Prilikom izbora promenljive koja će da izađe iz
baze, bira se ona koja će obezbediti da sledeće
bazno rešenje ostane dopustivo.
30
0, 1,2,..., , 0k k k k kn i i is s sx b a x i m x
0 / , 1,2,...,k k k k k ki is s s i isb a x x b a i m
min{ / }k k ks i isi
x b a
Iterativni korakNalaţenje boljeg susednog baznog dopustivog rešenja
Kriterijum izlaska iz baze
Iz baze Bk izlazi ona promenljiva za izlazi ona
promenljiva xn+rk, r{1,2,...,n} za čiji indeks r vaţi
Nova baza i nova f-ja cilja
31
{1,2,..., }min : 0
kkkirisk ki m
rs is
bba
a a
1k k k k
s sF F c x 1 \k k k ks n rB B x x
Iterativni korakKriterijum za izlazak promenljive u bazu - primer
32
1 2(max) ( ) 5 2
. .
f x x x
p o
1 3
2 4
1 2 5
1 5
6
2 18
3 2 24
0, ..., 0
x x
x x
x x x
x x
0 1 2 3 4 5, , , , 0,0,6,18,24x x x x x x
x1 ulazi u bazu
x3 izlazi iz baze
3 1
4
5 1
1
6 0
18
24 3 0
0
x x
x
x x
x
1
1
1
6
8
0
x
x
x
1 min{6,8} 6x
Iterativni korakNalaţenje boljeg susednog baznog dopustivog rešenja - primer
33
1
1 2 3 4 5
1
, , , ,
6,0,0,18,6
x x x x x x
x
1
1 4 5
1
, ,
6,18,6
B
B
x x x x
x
1 5*6F
Iterativni korakNovi kanonski oblik
34
1 2(max) ( ) 5 2
. .
f x x x
p o
1 3
2 4
1 2 5
1 5
6
2 18
3 2 24
0, ..., 0
x x
x x
x x x
x x
1
1 4 5
1
, ,
6,18,6
B
B
x x x x
x
Model je u standardnom obliku
Model nije u kanonskom obliku
Iterativni korakNovi kanonski oblik –
Transformisanje standardnog u kanonski oblik35
1
kk r
k k s k
rs
bF F c
a
1
, {1,2,..., },
, za
kk kri isk
rsk
i k
r
k
rs
bb a za i m i r
ab
bi r
a
1
, {1,2,..., },
, za
kk kirij isk
rsk
ij k
ir
k
rs
aa a za i m i r
aa
ai r
a
Iterativni korakTransformisanje standardnog u kanonski oblik
(pivotiranje)
1. r-to ograničenje iz se deli sa arsk ;
2. Ako je aisk ≤0, tada se i-to ograničenje,
transformisano u koraku (1), mnoţi sa -aisk i
dodaje i-tom, i{1,2,...,n}, ir ;
3. Ako je csk0 tada se i-to ograničenje,
transformisano u koraku (1), mnoţi sa -csk, pa se
njegova leva strana dodaje funkciji cilja, dok se
njegova desna strana oduzima od ove funkcije.
36
Iterativni korakNovi kanonski oblik –
Transformisanje standardnog u kanonski oblik37
1
kk r
k k s k
rs
bF F c
a
1
, {1,2,..., },
, za
kk kri isk
rsk
i k
r
k
rs
bb a za i m i r
ab
bi r
a
1
, {1,2,..., },
, za
kk kirij isk
rsk
ij k
ir
k
rs
aa a za i m i r
aa
ai r
a
Iterativni korak
Novi kanonski oblik –
Kanonski oblik problema u k+1-toj (k=0,1,2,...)
iteraciji
Provera optimalnosti
38
1 1 1 1 1 1
1 1 2 2 1max ( )
. .
k k k k k k
n n kf x c x c x c x F
p o
1 1 1 1 1 1 1 1
11 1 12 2 1 1 1
1 1 1 1 1 1 1 1
21 1 22 2 2 2 2
1 1 1 1 1 1 1 1
1 1 2 2
k k k k k k k k
n n n
k k k k k k k k
n n n
k k k k k k k k
m m mn n n m m
a x a x a x x b
a x a x a x x b
a x a x a x x b
1 1 1
1 2, ,..., 0k k k
n mx x x
Iterativni korakNovi kanonski oblik k=1
39
2 3(max) ( ) 2 5 30
. .
f x x x
p o
1 3
2 4
2 3 5
1 5
6
2 18
2 3 6
0, ..., 0
x x
x x
x x x
x x
0
1 0c Rešenje nije optimalno
Iterativni korakNovi kanonski oblik k=1
40
2 3(max) ( ) 2 5 30
. .
f x x x
p o
1 3
2 4
2 3 5
1 5
6
2 18
2 3 6
0, ..., 0
x x
x x
x x x
x x
2 min{9,3}x x2 ulazi u bazu
x5 izlazi iz baze
1
4 2 2
5 2 2
1 5
6
18 2 0 9
6 2 0 3
0, ..., 0
x
x x x
x x x
x x
Iterativni korakNovi kanonski oblik k=2
41
3 5(max) ( ) 2 36
. .
f x x x
p o
1 3
3 4 5
2 3 5
1 5
6
3 12
3 12 3
2 2
0, ..., 0
x x
x x x
x x x
x x
2 1 2 4, , 6,12,3Bx x x x
2 3 5, 0,0Nx x x 2 36F
Rešenje je optimalno
(c3
Iterativni korakNovi kanonski oblik k=2
42
2 3(max) ( ) 2 5 30
. .
f x x x
p o
1 3
2 4
2 3 5
1 5
6
2 18
2 3 6
0, ..., 0
x x
x x
x x x
x x
2 min{9,3}x x2 ulazi u bazu
x5 izlazi iz baze
1
4 2 2
5 2 2
1 5
6
18 2 0 9
6 2 0 3
0, ..., 0
x
x x x
x x x
x x
Simpleks metoda - tabelarni oblik43
Baza (xb) KSČ(b) X1 x2 ... xn xn+1 xn+2 ... xn+m
xn+1k b1
k a11k a12
k ... a1nk 1 0 ... 0
xn+2k b2
k a21k a22
k ... a2nk 0 1 ... 0
...
...
...
xn+mk bm
k
am1k am1
k ... amnk 0 0 1
- f -f(x) c1k c2
k ... c1k 0 0 ... 0
1
kx 2kx knx 1k
nx 2k
nx k
n mx 1k
nx 1kb 11ka 12ka 1k
na 2k
nx 2kb 21
ka 22ka 2k
nak
n mx k
mb 1k
ma 2k
mak
mna kF1kc 2kc knc
Simpleks metoda - tabelarni oblik
Zadatak na tabli!!!
44
Pojmovi
Konveksan skup, konveksna kombinacija, ekstremna tačka
Dopustiva tačka
Dopustiva oblast (ograničena, neograničena, prazna )
Opšti, standardni i simetrični oblik LP
Dopustivo teme i rešenje LP
Degenerisno teme i rešenje LP
Nedopustivo teme i rešenje LP
Bazno rešenje LP
Bazne i nebazne promenljive (nezavisne i zavisne)
Kanonski oblik LP
Bazno dopustivo rešenje kanonskog oblika
Simpleks metoda
45
Pojmovi
Kriterijum ulaska promenljive u bazu
Kriterijum izlaska promenljive u bazu
Novi kanonski oblik (pivot transformacija)
46
Rešenje LP
Optimalno rešenje postoji ako je dopustivi skup
konveksan
Konveksan skup ima bar jedno teme
Optimalno rešenje se nalazi u temenu ili na ivici
dopustive oblasti
Teme prestavlja optimalno rešenje ako ne potoji
bolje susedno teme.
47
Rešenje LP
Rešenje je jedinstveno (singularno) ako se gornja (donja)
potporna prava i dopustiva oblast seku u jednom temenu
odnosno f-ja cilja postiţe najbolju vrednost u jednom temenu
Rešenje je višestruko (nesingularno) ako f-ja cilja postiţe
optimalnu i jednaku vrednost u više temena. Optimalno rešenje
predstavlja njihovu konveksnu kombinaciju.
Ako je skup neograničen odozgo, optimalno rešenje ne postoji
ako je i f-ja cilja neograničena odozgo
Ako je dopustivi skup prazan ne postoji optimalno rešenje.
48
Rešenje LP
Standardni oblik LP – sva ograničenja su jednačine.
Bazno rešenje - Svako rešenje zadatog sistema jednačina za koje
nezavisne promenljive imaju vrednost 0.
Dopustivo bazno rešenje- bazno rešenje u kom su vrednosti promenljivih
veće ili jednake 0.
Kanoski oblik – specijalni oblik standardnog problema u kome su desne
strane ograničenja nenegativne i u svakom ograničenju postoji bar jedna
promenljiva sa keoficijentom jedan i ne pojavljuje se nigde više (postoji
jedinična dijagonalna matrica baze).
Značaj kanonskog oblika: Dopustivo bazno rešenje se moţe pročitati
direktno (nezavisne promenljive su jednake 0, a zavisne su jednake desnoj
strani ograničenja).
49
Rešenje LP
Kriterijum ulaska promenljive u bazu (naveći jedinični priraštaj)
Kriterijum izlaska promenljive iz baze (najmanji količnik b/a)
50
Pitanja
1. Osnovni koraci pri formulisanju LP?
2. Opšti oblik LP modela?
3. Osobine promenljivih u zadacima LP?
4. Šta je konveksan skup?
5. Šta je konveksna kombinacija?
6. Šta je dopustivi skup?
7. Kada je rešenje dopustivo?
51
Pitanja
8. Gde se nalazi optimalno rešenje u dopustivom
skupu?
9. Kada postoji optimalno rešenje?
10. Kada je optimalno rešenje jedinstveno?
11. Kada je optimalno rešenje višestruko?
12. Kada je optimalno rešenje neograničeno?
13. Kada je optimalno rešenje neograničeno i
višestruko?
14. Kada je optimalno rešenje nedopustivo?
52
Pitanja
Odnos između geometrijske i algebarske
interpretacije rešenja (dopustivo i nedopustivo teme)?
Odnos između geometrijske i algebarske
interpretacije rešenja (degenerisano teme)?
Egzistencija optimalnih rešenja i temena?
Odnos između geometrijske i algebarske
interpretacije rešenja (jednistveno i višestruko
optimalno rešenje)?
Uslov optimalnosti temena dopustive oblasti ?
53
Pitanja
Standardni oblik LP?
Simetrični oblik LP?
Bazno dopustivo rešenje standardnog LP?
Kanonski oblik problema ?
Bazno dopustivo rešenje kanonskog LP?
Osnovna ideja Simpleks metode?
Osnovni koraci Simpleks metode?
54
Pitanja
Kriterijum optimalnosti?
Kriterijum ulaska promenljive u bazu?
Kriterijum izlaska promenljive iz baze?
Pivot transofrmacija (dobijanje novog kanosnog
oblika)?
55
56
Hvala na pažnji