operaciona istraŽivanja · simpleks metoda simpleks metoda je tehnika koja sistematizuje postupak...
TRANSCRIPT
Gordana Savic, [email protected]/19/2020
1
OPERACIONA ISTRAŽIVANJA
GORDANA SAVIĆ
UNIVERZITET U BEOGRADU, FAKULTET ORGANIZACIONIH NAUKALABORATORIJA ZA OPERACIONA ISTRAŽIVANJA ”JOVAN PETRIĆ”
CENTAR ZA MERENJE EFIKASNOSTI
Sadržaj
Linearno programiranje -obnavljanje Geometrijska interpretacija - obnavljanje Algebarska interpretacija Simpleks metoda Metoda velikog M
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 koraci1. 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 dopustiveoblasti. Ovo teme se smatra tekućim, tj. k = 0.
2. Test optimalnosti: ako teme Xk nema boljih susednihtemena, 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 kaotekuć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 xp 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 xp 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 xp o
= + + +
Pretpostavke:svi slobodni članovi bi, i=1,...,m su nenegativni;u svakom ograničenju i=1,...,m se nalazi po jedna promenljiva sa koeficijentom 1 i ne pojavljuje se nigde više (ni u funkciji cilja).
Kanonski
oblik
( )n ix +
Kanonski oblik problema
Vektorsko-matrična forma
11
(max) Tc x
.
0N B
p oAx IX bx
+ =
≥0
N Bx x xb
= ∪
≥
{ }1 2 1 2, ,..., ( , ,...., )B n n n m mX x x x b b b+ + += =
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+ + += =
0N BX x x
b= ∪
≥
{ } ( )1 2, ,..., 0,0,...,0N nx x x x= =
0 0( )F f x=
Početno bazo rešenje
Vrednost početnog baznog rešenja
Početna vrednost funkcije cilja
Kanonski oblik problema14
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 xp o
= + + +
Pretpostavke:svi slobodni članovi bi, i=1,...,m su nenegativni;u svakom ograničenju i=1,...,m se nalazi po jedna promenljiva sa koeficijentom 1 i ne pojavljuje se nigde više (ni u funkciji cilja).
Kanonski
oblik
( )n ix +
( ) 1 1 2 2max ( ). .
j j n nf x c x c x c x c xp o
= + + + + + Simpleks metoda –tabelarni oblik(k-ta iteracija, k=0,1,...)
15
Baza KSČ c1 c2... cj
... cn cn+1 cn+2 cn+m
ci (XB) (b) x1 x2... xj
... xn xn+1 xn+2 ... xn+m
cn+1 xn+1k b1
k a11k a12
k a1jk a1n
k 1 0 ... 0
cn+2 xn+2k b2
k a21k a22
k a2jk a2n
k 0 1 ... 0
... ... ... ...
cn+i xn+ik bi
k
... ... aijk ...
... ... ... ...cn+m xn+m
k bmk am1
k am1k amj
k amnk 0 0 1
- f -f(x) c1k c2
k ... cjk ... cn
k 0 0 ... 0
11 1 12 2 1 1 1 1
21 1 22 2 2 2 2 2
1 1 2 2
1 1 2 2
1 20, 0,..., 0, , 0
j j n n n
j j n n n
i i ij j in n n i i
m m mj j mn n n m m
j n m
a x a x a x a x x b
a x a x a x a x x b
a x a x a x a x x b
a x a x a x a x x b
x x x x
+
+
+
+
+
+ + + + + + =
+ + + + + =
+ + + + + =
+ + + + + =
≥ ≥ ≥ ≥
Vrednosti baznih
promenljivihBazne
promenljive
Promenljive
Keoficijenti f-je cilja u nultoj iteraciji (k=0)
( ) 1 1 2 2max ( ). .
j j n nf x c x c x c x c xp o
= + + + + + Simpleks metoda –tabelarni oblik(k-ta iteracija, k=0,1,...)
16
Baza KSČ c1 c2... cj
... cn cn+1 cn+2 cn+m
ci (XB) (b) x1 x2... xj
... xn xn+1 xn+2 ... xn+m
cn+1 xn+1k b1
k a11k a12
k a1jk a1n
k 1 0 ... 0
cn+2 xn+2k b2
k a21k a22
k a2jk a2n
k 0 1 ... 0
... ... ... ...
cn+i xn+ik bi
k
... ... aijk ...
... ... ... ...cn+m xn+m
k bmk am1
k am1k amj
k amnk 0 0 1
- f -f(x) c1k c2
k ... cjk ... cn
k 0 0 ... 0
11 1 12 2 1 1 1 1
21 1 22 2 2 2 2 2
1 1 2 2
1 1 2 2
1 20, 0,..., 0, , 0
j j n n n
j j n n n
i i ij j in n n i i
m m mj j mn n n m m
j n m
a x a x a x a x x b
a x a x a x a x x b
a x a x a x a x x b
a x a x a x a x x b
x x x x
+
+
+
+
+
+ + + + + + =
+ + + + + =
+ + + + + =
+ + + + + =
≥ ≥ ≥ ≥
Redosled se može menjati u zavisnosti od bezne promenljive u odgovarajućem
ograničenju
( ) 1 1 2 2max ( ). .
j j n nf x c x c x c x c xp o
= + + + + + Simpleks metoda –tabelarni oblik(k-ta iteracija, k=0,1,...)
17
Baza KSČ c1 c2... cj
... cn cn+1 cn+2 cn+m
ci (XB) (b) x1 x2... xj
... xn xn+1 xn+2 ... xn+m
cn+1 xn+1k b1
k a11k a12
k a1jk a1n
k 1 0 ... 0
cn+2 xn+2k b2
k a21k a22
k a2jk a2n
k 0 1 ... 0
... ... ... ...
cn+i xn+ik bi
k
... ... aijk ...
... ... ... ...cn+m xn+m
k bmk am1
k am1k amj
k amnk 0 0 1
- f -f(x) c1k c2
k ... cjk ... cn
k 0 0 ... 0
11 1 12 2 1 1 1 1
21 1 22 2 2 2 2 2
1 1 2 2
1 1 2 2
1 20, 0,..., 0, , 0
j j n n n
j j n n n
i i ij j in n n i i
m m mj j mn n n m m
j n m
a x a x a x a x x b
a x a x a x a x x b
a x a x a x a x x b
a x a x a x a x x b
x x x x
+
+
+
+
+
+ + + + + + =
+ + + + + =
+ + + + + =
+ + + + + =
≥ ≥ ≥ ≥
Koeficijenti u ograničenjima uz odgovarajuću promenljivu (Amn)
( ) 1 1 2 2max ( ). .
j j n nf x c x c x c x c xp o
= + + + + + Simpleks metoda –tabelarni oblik(k-ta iteracija, k=0,1,...)
18
Baza KSČ c1 c2... cj
... cn cn+1 cn+2 cn+m
ci (XB) (b) x1 x2... xj
... xn xn+1 xn+2 ... xn+m
cn+1 xn+1k b1
k a11k a12
k a1jk a1n
k 1 0 ... 0
cn+2 xn+2k b2
k a21k a22
k a2jk a2n
k 0 1 ... 0
... ... ... ...
cn+i xn+ik bi
k
... ... aijk ...
... ... ... ...cn+m xn+m
k bmk am1
k am1k amj
k amnk 0 0 1
- f -f(x) c1k c2
k ... cjk ... cn
k 0 0 ... 0
11 1 12 2 1 1 1 1
21 1 22 2 2 2 2 2
1 1 2 2
1 1 2 2
1 20, 0,..., 0, , 0
j j n n n
j j n n n
i i ij j in n n i i
m m mj j mn n n m m
j n m
a x a x a x a x x b
a x a x a x a x x b
a x a x a x a x x b
a x a x a x a x x b
x x x x
+
+
+
+
+
+ + + + + + =
+ + + + + =
+ + + + + =
+ + + + + =
≥ ≥ ≥ ≥
Kriterijumski red (izračunati kasnije)Jedinični priraštaj 1
m
kjk j i ij
ic c c a
=
= + ∑
Nalaženje početnog baznog rešenja Primer
19
1 2(max) ( ) 5 2. .
f x x xp o
= +
1 6x ≤
22 18x ≤
1 23 2 24x x+ ≤
1 20, 0x x≥ ≥
Nalaženje početnog baznog rešenja20
1 2(max) ( ) 5 2. .
f x x xp o
= +
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
Kanonski oblik modela
Nalaženje početnog baznog rešenja21
1 2(max) ( ) 5 2. .
f x x xp o
= +
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
{ } ( )03 4 5, , 6,18,24BX x x x= =
{ } ( )01 2, 0,0NX x x= =
0 0F =
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Početno rešenje – k=0)
22
T0 Baza KSČ 5 2 0 0 0
ci (XB) (b) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 0
0 x4 18 0 2 0 1 0
0 x5 24 3 2 0 0 1
- f 0 5 2 0 0 0
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
-f=0-(0*6+0*18+0*24)=0c1
0=5-(0*1+0*0+0*3)=5c2
0=2-(0*0+0*2+0*2)=2c3
0=c40=c5
0 – jedinični priraštaji za bazne promenljive
{ } ( )03 4 5, , 6,18,24BX x x x= =
{ } ( )01 2, 0,0NX x x= =
0 ( ) 0F f= − − =
Iterativni korakTest optimalnosti
Kanonski oblik problema u k-toj (k=0,1,2,...) iteraciji23
1 1 2 2max ( ). .
k k k k k kn 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 kn n n
k k k k k k k kn n n
k k k k k k k km 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 kn mx x x + ≥
Iterativni korakTest optimalnosti
Kanonski oblik problema u k-toj (k=0,1,2,...) iteraciji
koeficijenti kanonskog oblika, dobijeni nizom odgovarajućih transformacijaproblema u prethodnih k iteracija, pri čemu su slobodni članovi bi≥0 za i=1,…,n.
24
( )max ( )
. .
Tk kN kf x c x F
p o
= +
0, 0
k k k kN B
k kB N
A x x b
x x
+ =
≥ ≥
1 2 1 2( , ,..., ), [ ] , ( , ,..., )k k k k k k k k k kn 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 korakTest optimalnosti
Kanonski oblik problema u k-toj (k=0,1,2,...) iteraciji
koeficijenti kanonskog oblika, dobijeni nizom odgovarajućih transformacijaproblema u prethodnih k iteracija, pri čemu su slobodni članovi bi≥0 za i=1,…,n.
25
( )max ( )
. .
Tk kN kf x c x F
p o
= +
0, 0
k k k kN B
k kB N
A x x b
x x
+ =
≥ ≥
1 2 1 2( , ,..., ), [ ] , ( , ,..., )k k k k k k k k k kn 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 korakTest optimalnosti
26
{ } ( )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= =
{ } ( )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 + cj
k ε. Ukoliko nebazna promenljiva xj
k 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 korakTest optimalnosti
27
Ako bi u nekom dopustivom rešenju nebazna promenljiva xjk,
j∈{1,2,...,n}, dobila neku vrednost ε > 0, dok bi sve ostalenebazne promenljive ostale jenake 0, nova vrednost funkcijecilja bi bila Fk + cj
k ε. Ukoliko nebazna promenljiva xj
k dobije vrednost veću od 0, ona tada postaje bazna, a da bi sledeće rešenje ostalobazno, neka bazna promenljiva mora da izađe iz baze, tj. dadobije vrednost 0.
Iterativni korakTest optimalnosti
28
Iterativni korakTest 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 cj
k > 0, vrednost funkcije cilja bi se povećala, ako je cj
k < 0, vrednost funkcije cilja bi se povećala, ako je cj
k = 0, vrednost funkcije cilja bi ostala ista.
29
Iterativni korakTest optimalnosti
Kriterijum optimalnosti:
Ako je cjk≤0 za svako j = 1, 2, ..., n, tada je xk
optimalno rešenje problema, a Fk maksimalnavrednost funkcije cilja.
xk je optimalno rešenje ako se nikakvim povećanjem vrednostinebaznih promenljivih ovog rešenja ne može povećati vrednostfunkcije cilja
tj. ako nijedno susedno bazno rešenje nije bolje od xk .
30
Iterativni korakTest optimalnosti - primer
31
1 2(max) ( ) 5 2. .
f x x xp o
= +
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
{ } ( )01 2 3 4 5, , , , 0,0,6,18, 24x x x x x x= =
0 01 20, 0c c> > Rešenje nije optimalno
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Test optimalnosti)
32
T0 Baza KSČ 5 2 0 0 0
ci (XB) (b) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 0
0 x4 18 0 2 0 1 0
0 x5 24 3 2 0 0 1
- f 0 5 2 0 0 0
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
{ } ( )03 4 5, , 6,18,24BX x x x= =
{ } ( )01 2, 0,0NX x x= =
0 ( ) 0F f= − − =
0 01 25 0, 2 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 xs
k, s∈{1,2,...,n}, treba dauđe u bazu,
koja bazna promenljiva xn+rk, r∈{1,2,...,m}, treba da
izađe iz baze.
33
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 bazuU bazu Bk+1 ulazi ona promenljiva xs
k, s∈{1,2,...,n} za čiji indek s važi
34
{1,2,..., }max { : 0}k k k
s j jj nc c c
∈= >
Iterativni korakKriterijum za ulazak promenljive u bazu - primer
35
1 2(max) ( ) 5 2. .
f x x xp o
= +
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
{ } ( )01 2 3 4 5, , , , 0,0,6,18, 24x x x x x x= =
0 01 2max{ , } max{5,2}c c = x1 ulazi u bazu
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Kriterijum za ulazak promenljive u bazu)
36
T0 Baza KSČ 5 2 0 0 0
ci (XB) (b) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 0
0 x4 18 0 2 0 1 0
0 x5 24 3 2 0 0 1
- f 0 5 2 0 0 0
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
{ } ( )03 4 5, , 6,18,24BX x x x= =
{ } ( )01 2, 0,0NX x x= =
0 ( ) 0F f= − − =
0 01 2max{ , } max{5,2}c c = x1 ulazi u bazu (s=1)
max
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.
37
1 1 1
2 2 2
1, ,..., 0
k k k ks s n
k k k ks s n
k k k kms s n m mk k ks 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.
38
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 promenljive iz bazeIz baze Bk izlazi ona promenljiva za izlazi onapromenljiva xn+r
k, r∈{1,2,...,n} za čiji indeks r važi
Nova baza i nova f-ja cilja
39
{1,2,..., }min : 0
kkkirisk ki m
rs is
bb aa a∈
= >
1k k k ks sF F c x+ = + ⋅1 \k k k k
s n rB B x x++= ∪
Iterativni korakKriterijum za izlazak promenljive iz baze - primer
40
1 2(max) ( ) 5 2. .
f x x xp o
= +
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
{ } ( )01 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 01824 3 00
x xxx xx
= − ≥
== − ≥
≥
1
1
1
6
80
x
xx
⇒ ≤
⇒ ≤≥
11 min{6,8} 6x⇒ = =
Iterativni korakNalaženje boljeg susednog baznog dopustivog rešenja - primer
41
{ }( )
11 2 3 4 5
1
, , , ,
6,0,0,18,6
x x x x x x
x
=
=
{ }( )
11 4 5
1
, ,
6,18,6B
B
x x x x
x
=
=1 5*6F =
Iterativni korakNovi kanonski oblik
42
1 2(max) ( ) 5 2. .
f x x xp o
= +
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
{ }( )
11 4 5
1
, ,
6,18,6B
B
x x x x
x
=
=
Model je u standardnom oblikuModel nije u kanonskom obliku
Iterativni korakNovi kanonski oblik –Transformisanje standardnog u kanonski oblik
43
1
kk r
k k s krs
bF F ca+ = + ⋅
1
, {1,2,..., },
, za
kk kri isk
rski k
rkrs
bb a za i m i ra
bb i ra
+
− ⋅ ∈ ≠
= =
1
, {1,2,..., },
, za
kk kirij isk
rskij k
irkrs
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}, i≠r ;3. Ako je cs
k ≠0 tada se i-to ograničenje, transformisano u koraku (1), množi sa -cs
k, pa se njegova leva strana dodaje funkciji cilja, dok se njegova desna strana oduzima od ove funkcije.
44
Iterativni korakNovi kanonski oblik –
Kanonski oblik problema u k+1-toj (k=0,1,2,...) iteraciji
Provera optimalnosti
45
1 1 1 1 1 11 1 2 2 1max ( )
. .
k k k k k kn n kf x c x c x c x F
p o
+ + + + + ++= + + + +
1 1 1 1 1 1 1 111 1 12 2 1 1 1
1 1 1 1 1 1 1 121 1 22 2 2 2 2
1 1 1 1 1 1 1 11 1 2 2
k k k k k k k kn n n
k k k k k k k kn n n
k k k k k k k km 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 11 2, ,..., 0k k k
n mx x x+ + ++ ≥
Iterativni korakNovi kanonski oblik k=1
46
2 3(max) ( ) 2 5 30. .
f x x xp o
= − +
1 3
2 4
2 3 5
1 5
62 182 3 6
0, ..., 0
x xx xx x x
x x
+ =
+ =− + =
≥ ≥
02 0c > Rešenje nije optimalno
Iterativni korakNovi kanonski oblik k=1
47
2 3(max) ( ) 2 5 30. .
f x x xp o
= − +
1 3
2 4
2 3 5
1 5
62 182 3 6
0, ..., 0
x xx xx x x
x x
+ =
+ =− + =
≥ ≥
22 min{9,3}x = x2 ulazi u bazu
x5 izlazi iz baze
1
4 2 2
5 2 2
1 5
618 2 0 9
6 2 0 30, ..., 0
xx x xx x xx x
== − ≥ ⇒ ≤
= − ≥ ⇒ ≤
≥ ≥
Iterativni korakNovi kanonski oblik k=2
48
3 5(max) ( ) 2 36. .
f x x xp o
= − − +
1 3
3 4 5
2 3 5
1 5
63 123 12 32 2
0, ..., 0
x xx x x
x x x
x x
+ =
+ − =
− + =
≥ ≥{ } ( )2
1 2 4, , 6,12,3Bx x x x= =
{ } ( )23 5, 0,0Nx x x= =
2 36F =
Rešenje je optimalno (c3<0, c5<0)
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T1 na osnovu T0)
49
T0 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x50 x3 6 1 0 1 0 00 x4 18 0 2 0 1 00 x5 24 3 2 0 0 1
- f 0 5 2 0 0 0
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T1 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x55 x10 x40 x5
- f
1. Formiranje novog baznogrešenja (XB
1)
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T1 na osnovu T0)
50
T0 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 00 x4 18 0 2 0 1 00 x5 24 3 2 0 0 1
- f 0 5 2 0 0 0
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T1 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6/1=6 1/1=1 0/1=0 1/1=1 0/1=0 0/1=0
0 x40 x5
- f
1. Formiranje novog baznogrešenja (XB
1)2. Izračunavanje vrednosti
elemenata vodećeg reda
ais= ai1
arj= a1j
ars= a11
1 , zak
k irij k
rs
aa i r
a+ =
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T1 na osnovu T0)
51
T0 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 00 x4 18 0 2 0 1 00 x5 24 3 2 0 0 1
- f 0 5 2 0 0 0
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T1 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0
0 x418-6*0/1
=180 2-0*0/1
=20-0*1/1
=01 0
0 x5 24-6*3/1=6 0 0 1- f 0 0 0
1. Formiranje novog baznogrešenja (XB
1)2. Izračunavanje vrednosti
elemenata vodećeg reda
3. Izračunavanje vrednosti svihostali elemenata
ais= ai1
arj= a1j
ars= a11
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T1 na osnovu T0)
52
T0 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 00 x4 18 0 2 0 1 00 x5 24 3 2 0 0 1
- f 0 5 2 0 0 0
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T1 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0
0 x4 18 0 2 0 1 00 x5 6 0 2 -3 0 1
- f -30 0 2 -5 0 0
1. Formiranje novog baznogrešenja (XB
1)2. Izračunavanje vrednosti
elemenata vodećeg reda
3. Izračunavanje vrednosti svihostali elemenata
4. Odrediti vrednosti ukriterijumskom redu
ais= ai1
arj= a1j
ars= a11
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T1 na osnovu T0)
53
T0 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 00 x4 18 0 2 0 1 00 x5 24 3 2 0 0 1
- f 0 5 2 0 0 0
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T1 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0
0 x4 18 0 2 0 1 00 x5 6 0 2 -3 0 1
- f -30 0 2 -5 0 0
ais= ai1
arj= a1j
ars= a11
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
1. Formiranje novog baznog rešenja(XB
1)2. Izračunavanje vrednosti elemenata
vodećeg reda
3. Izračunavanje vrednosti svih ostalielemenata
4. Odrediti vrednosti u kriterijumskomredu (novo bazno rešenje)
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T1 na osnovu T0)
54
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T1 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0
0 x4 18 0 2 0 1 0
0 x5 6 0 2 -3 0 1- f -30 0 2 -5 0 0
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
02 2 0c = > Rešenje nije optimalno
{ }( )
11 4 5
1
, ,
6,18,6B
B
x x x x
x
=
=1. Formiranje novog baznog rešenja
(XB1)
2. Izračunavanje vrednosti elemenatavodećeg reda
3. Izračunavanje vrednosti svih ostalielemenata
4. Odrediti vrednosti u kriterijumskomredu (novo bazno rešenje)
5. Test optimalnosti cj≤0
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T1 na osnovu T0)
55
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T1 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0
0 x4 18 0 2 0 1 0
0 x5 6 0 2 -3 0 1- f -30 0 2 -5 0 0
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
02 2 0c = > Rešenje nije optimalno
{ }( )
11 4 5
1
, ,
6,18,6B
B
x x x x
x
=
=1. Formiranje novog baznog rešenja
(XB1)
2. Izračunavanje vrednosti elemenatavodećeg reda
3. Izračunavanje vrednosti svih ostalielemenata
4. Odrediti vrednosti u kriterijumskomredu (novo bazno rešenje)
5. Test optimalnosti cj≤0
6. Kriterijum ulaska u bazu (s=2)
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T2 na osnovu T1)
56
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T1 Baza KSČ 5 2 0 0 0 KSČci (XB) (bi) x1 x2 x3 x4 x5 X2
5 x1 6 1 0 1 0 0 /
0 x4 18 0 2 0 1 0 9
0 x5 6 0 2 -3 0 1 3- f -30 0 2 -5 0 0
1. Formiranje novog baznog rešenja(XB
1)2. Izračunavanje vrednosti elemenata
vodećeg reda
3. Izračunavanje vrednosti svih ostalielemenata
4. Odrediti vrednosti u kriterijumskomredu (novo bazno rešenje)
5. Test optimalnosti cj≤0
6. Kriterijum ulaska u bazu (s=2)
7. Kriterijum izlaska iz baze (r=3)
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
22 min{9,3} 3x = = x2 ulazi u bazu
x5 izlazi iz baze
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T2 na osnovu T1)
57
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T2 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0
0 x4 12 0 0 3 1 -1
2 x2 3 0 1 -3/2 0 1/2
-3 -36 0 0 -2 0 -1
ais= ai2
arj= a3j
ars= a32
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
T1 Baza KSČ 5 2 0 0 0Ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0
0 x4 18 0 2 0 1 0
0 x5 6 0 2 -3 0 1- f -30 0 2 -5 0 0
1. Formiranje novog baznog rešenja(XB
1)2. Izračunavanje vrednosti elemenata
vodećeg reda
3. Izračunavanje vrednosti svih ostalielemenata
4. Odrediti vrednosti u kriterijumskomredu (novo bazno rešenje)
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T2)
58
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T2 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0
0 x4 12 0 0 3 1 -1
2 x2 3 0 1 -3/2 0 1/2
-f -36 0 0 -2 0 -1
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
1. Formiranje novog baznog rešenja(XB
1)2. Izračunavanje vrednosti elemenata
vodećeg reda
3. Izračunavanje vrednosti svih ostalielemenata
4. Odrediti vrednosti u kriterijumskomredu (novo bazno rešenje)
5. Test optimalnosti cj≤0
{ } ( )* 21 2 4, , 6,12,3B BX X x x x= = =
{ } ( )23 5* , 0,0NX X x x= = =
2* 36F F= =
Rešenje je optimalno (c3<0, c5<0)
Iterativni korak - dodatakProšireni kriterijum ulaska i izlaska promenljive iz baze
Prilikom izbora promenljive koja će da uđe u bazu, bira se ona nebazna promenljiva najviše popraviti vrednost funkcije cilja u ukupnoj vrednosti.
Kriterijum ulaska promenljive u bazuU bazu Bk+1 ulazi ona promenljiva xs
k, s∈{1,2,...,n} za čiji indek s važi
59
{1,2,..., }max { : 0}k k k k k
s s j j jj nc d c d c
∈= >
Iterativni korak - dodatakProšireni kriterijum ulaska i izlaska promenljive iz baze
Kriterijum izlaska iz bazeIz baze Bk izlazi ona promenljiva za izlazi onapromenljiva xn+r
k, r∈{1,2,...,n} za čiji indeks r važi
Nova baza i nova f-ja cilja
60
{1,2,..., }min : 0
k kk ki is isk ki m
is is
b bd a
a a∈
= = >
1k k k ks sF F c d+ = + ⋅1 \k k k k
s n rB B x x++= ∪
Veštačka početna baza
Razmatra se sledeći problem61
1 1 2 2max ( ). .
n nf x c x c x c x Fp o= + + + +
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
n nkn n
m m mn n m
a x a x a x b
a x a x a x b
a x a x a x b
+ + + =
+ + + ≥
+ + + ≤
1 2, ,..., 0nx x x ≥
Veštačka početna baza
Transformisaniproblem će biti standardnom ali ne i u kanonskom obliku
matrica A je dimenzija m x n, rangA = m < n i b>0.
62
1 1 2 2max ( ). .
k k k k k kn n kf x c x c x c x F
p o= + + + +
11 1 12 2 1 1
21 1 22 2 2 2 2
1 1 2 2
k k k k k k kn n
k k k k k k k kn n n
k k k k k k k km m mn n n m m
a x a x a x b
a x a x a x x b
a x a x a x x b
+
+
+ + + =
+ + + − =
+ + + + =
1 2, ,..., 0k k kn mx x x + ≥
Veštačka početna baza -metoda velikog M
Da bi odredili početno bazno rešenje za simpleks metodu potreban nam je problem LP u kanonskom obliku.
Algebarska transformacija običnog standardnog oblika u kanonski može biti računski zahtevna.
Zbog toga se u praksi za formiranje početnog baznog rešenja (tj. njemu odgovarajućeg kanonskog oblika) koristi tzv. Metoda velikog M.
63
Veštačka početna bazametoda velikog M
Ideja metode: Svakom ograničenju u standardnom obliku dodati po
jednu veštačku promenljivu.
Ove promenljive čine veštačku početnu bazu problema.
Pošto ovakva baza nije dopustiva u odnosu na zadati problem, obezbediti da veštačke promenljive kroz korake simpleks metode izađu iz baze.
64
Veštačka početna bazametoda velikog M
Prelaze u oblik65
Ograničenja oblika
1 1 2 2
1
, 1, 2,...,,..., 0
i i in n i
n
a x a x a x b i mx x
+ + + = =
≥
1 1 2 2
1
, 1, 2,...,,..., 0, 0, 1, 2,..,
k k k k k k ki i in n i i
n i
a x a x a x v b i mx x v i m
+ + + + = =
≥ ≥ =
Veštačka početna bazametoda velikog M
66
11 1 12 2 1 1 1
21 1 22 2 2 2 2 2
1 1 2 2
n n
n n n
m m mn n n m m m
a x a x a x v b
a x a x a x x v b
a x a x a x x v b
+
+
+ + + + =
+ + + − + =
+ + + + + =
1 2 1, ,..., 0, ,..., 0n m mx x x v v+ ≥ ≥
Da li je rešenje dopustivo?
Ograničenja oblika
Veštačka početna bazametoda velikog M
Iz ovakvog oblika se lako konstruiše večtačka početna baza:
Odnosno početno rešenje:
Da li ovakvo rešenje dopustivo?
67
{ }01 2, ,..., mB v v v=
{ }{ }
01 2 1 2
01 2
, ,..., , , ,...,
0,0,...,0, , ,...,n m
m
X x x x v v v
X b b b
= =
=
Veštačka početna bazametoda velikog M
Svako bazno rešenje za koje je barem jedno vi > 0,i={1,2,...,n} neće biti dopustivo.
Tj. za zadati model biće dopustivo samo ono rešenje za koje su sve veštačke promenljive vi = 0, i={1,2,...,n} ⇒nebazne
Potrebno je obezbediti mehanizam koji će izbaciti sve veštačke promenljive iz baze.
68
11 1 12 2 1 1 1
21 1 22 2 2 2 2 2
1 1 2 2
n n
n n n
m m mn n n m m m
a x a x a x v b
a x a x a x x v b
a x a x a x x v b
+
+
+ + + + =
+ + + − + =
+ + + + + =
1 2 1, ,..., 0, ,..., 0n m mx x x v v+ ≥ ≥
Veštačka početna bazametoda velikog M
Gde je M veliki broj
Svaka vrednost vi > 0 za bilo koje i=1,...,m će biti kažnjena velikim smanjenjem vrednosti funkcije cilja.
69
11 1 12 2 1 1 1
21 1 22 2 2 2 2 2
1 1 2 2
n n
n n n
m m mn n n m m m
a x a x a x v b
a x a x a x x v b
a x a x a x x v b
+
+
+ + + + =
+ + + − + =
+ + + + + =
1 2 1, ,..., 0, ,..., 0n m mx x x v v+ ≥ ≥
1 1 2 21
max ( ) ( )
. .
m
n n ii
f x c x c x c x M v
p o=
= + + + − ∑
11 1 12 2 1 1 1
21 1 22 2 2 2 2 2
1 1 2 2
n n
n n n
m m mn n n m m m
a x a x a x v b
a x a x a x x v b
a x a x a x x v b
+
+
+ + + + =
+ + + − + =
+ + + + + =
1 2 1, ,..., 0, ,..., 0n m mx x x v v+ ≥ ≥
1 1 2 2max ( ). .
n nf x c x c x c xp o= + + +
Veštačka početna bazametoda velikog M
Zadati model nije u kanonskom obliku ali se svodi uvođenje m transformacije:
Smena se ubaci u ograničenja i f-ju cilja
70
1 1 2 21
max ( ) ( )
. .
m
n n ii
f x c x c x c x M v
p o=
= + + + − ∑
11 1 12 2 1 1 1
21 1 22 2 2 2 2 2
1 1 2 2
n n
n n n
m m mn n n m m m
a x a x a x v b
a x a x a x x v b
a x a x a x x v b
+
+
+ + + + =
+ + + − + =
+ + + + + =
1 2 1, ,..., 0, ,..., 0n m mx x x v v+ ≥ ≥
1, 1,...,
ni i ij jj
v b a x i m=
= − =∑
0 0
1 1 1
0 0
1
max ( ) ( )
max ( )
j
n m m
j ij j ij i i
c F
n
j jj
f x c M a x M b
f x c x F
= + +
=
= + −
⇒
= +
∑ ∑ ∑
∑
Veštačka početna bazametoda velikog M
Simpleks metoda će se odvijati u dve faze:1. Izbacivanje veštaččkih promenljivih iz baze tj
dobijanje kanonskog oblika koji odgovara dopustivom baznom rešenju za zadati problem.
2. Optimizacija polaznog problema tj. dobijanje optimalnog rešenje polaznog problema.
Napomena: Dovoljno je uvoditi veštačke promenljive samo u onaograničenja u kojima ne postoji neka druga promenljiva koja možebiti u početnoj bazi (ograničenja tipa ≥ i =).
71
Veštačka početna bazametoda velikog M
Kada veštačka promenljiva izađe iz baze, ona se ne može vratiti. Zato se ove promenljive mogu izostaviti iz dalje procedure.
Kod ručne primene simpleks metode, umesto konkretne vrednosti može se koristiti simbol M, dok se kod primene na računaru mora usvojiti neka vrednost koja dominira nad svim ostalim koeficijentima funkcije cilja.
72
Veštačka početna bazametoda velikog M
Primer u prezentaciji za vežbe73
Mogući ishodi Simpleks metode
Višestruka optimalna rešenja: na ograničenoj optimalnoj strani, na neograničenoj optimalnoj strani;
Neograničena funkcija cilja; Prazna dopustiva oblast; Degenerisano teme.
74
Mogući ishodi Simpleks metode
Jedinstveno optimalno rešenječ Neograničena funkcija cilja; Višestruka optimalna rešenja:
na ograničenoj optimalnoj strani, na neograničenoj optimalnoj strani;
Prazna dopustiva oblast; Degenerisano teme.
75
Jedinstveno optimalno rešenje
Algebarski posmatrano, ovakva situacija nastaje kada u poslednjoj k-toj iteraciji, kada je dobijeno optimalno rešenje Xk , tj. kada su svi koecijenti uz nebazne promenljive u funkciji cilja kanonskog oblika cj
k <0. Primer dat na prethodnom zadatku
76
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Novi kanonski oblik T2)
77
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T2 Baza KSČ 5 2 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0
0 x4 12 0 0 3 1 -1
2 x2 3 0 1 -3/2 0 1/2
-f -36 0 0 -2 0 -1
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
1. Formiranje novog baznog rešenja(XB
1)2. Izračunavanje vrednosti elemenata
vodećeg reda
3. Izračunavanje vrednosti svih ostalielemenata
4. Odrediti vrednosti u kriterijumskomredu (novo bazno rešenje)
5. Test optimalnosti cj≤0
{ } ( )* 21 2 4, , 6,12,3B BX X x x x= = =
{ } ( )23 5* , 0,0NX X x x= = =
2* 36F F= =
Rešenje je optimalno (c3<0, c5<0)
Neograničena funkcija cilja
Ako za neku nebaznu promenljivu xsk važi da je
cjk>0 (nije optimalno rešenje), a ais
k ≤0, ∀i = 1,2,...,m, tada funkcija cilja neograničeno raste dužneograničene ivice dopustive oblasti sa početnom tačkom Xk.
78
1 2(max) ( ) 5 2. .
f x x xp o
= +
Simpleks metoda – tabelarni oblik(Neograničena funkcija cilja)
79
1 3
2 4
1 2 5
1 5
62 18
3 2 240, ..., 0
x xx x
x x xx x
+ =
+ =+ + =
≥ ≥
T1 Baza KSČ 5 2 0 0 0 KSČci (XB) (bi) x1 x2 x3 x4 x5 X2
5 x1 6 1 0 1 0 0 /
0 x4 18 0 -2 0 1 0 -9
0 x5 6 0 -2 -3 0 1 -3- f -30 0 2 -5 0 0
1. Formiranje novog baznog rešenja(XB
1)2. Izračunavanje vrednosti elemenata
vodećeg reda
3. Izračunavanje vrednosti svih ostalielemenata
4. Odrediti vrednosti u kriterijumskomredu (novo bazno rešenje)
5. Test optimalnosti cj≤0
6. Kriterijum ulaska u bazu (s=2)
7. Kriterijum izlaska iz baze (r=3)
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
22 min{ 9, 3} 0x = − − < ⇒ Neograničena funkcija cilja
Višestruka optimalna rešenja:
Algebarski posmatrano, ovakva situacija nastaje kada u poslednjoj k-toj iteraciji, kada je dobijeno optimalno rešenje Xk , tj. kada su svi koecijenti uz nebazne promenljive u funkciji cilja kanonskog oblika cj
k ≤0 ako je za bar neko j važi cjk =0.
Ovo znači da ako nebazna promenljiva xk dobije vrednost veću od 0, dok ostale nebazne promenljive zadrže vrednost 0, to neće uticati na vrednost funkcije cilja, a dobiće se novo rešenje.
80
Višestruka optimalna rešenja:
Ako promenljiva xsk može da uđe u bazu, tj. ako je
moguće odrediti novo bazno rešenje Xk’, tada to
rešenje predstavlja još jedno teme strane na kome se višestruka rešenja nalaze.
Ako nije moguće formirati novo bazno rešenje sa xsk
(ako su svi koecijenti aisk ≤0), tada se višestruko
rešenje nalazi na neograničenoj optimalnoj strani.
81
Simpleks metoda – tabelarni oblik(Višestruka optimalna rešenja)
82
T1 Baza KSČ 5 0 0 0 0 KSČci (XB) (bi) x1 x2 x3 x4 x5 x2
5 x1 6 1 0 1 0 0 /
0 x4 18 0 2 0 1 0 9
0 x5 6 0 2 -3 0 1 3- f -30 0 0 -5 0 0
1. Formiranje novog baznog rešenja(XB
1)2. Izračunavanje vrednosti elemenata
vodećeg reda
3. Izračunavanje vrednosti svih ostalielemenata
4. Odrediti vrednosti u kriterijumskomredu (novo bazno rešenje)
5. Test optimalnosti cj≤0
6. Kriterijum ulaska u bazu (s=2)
7. Kriterijum izlaska iz baze (r=3)
1 , zak
k irij k
rs
aa i r
a+ =
1 , {1,2,..., },k
k k kirij ij isk
rs
aa a a za i m i r
a+ = − ⋅ ∈ ≠
22 min{9,3} 3x = =
x2 ulazi u bazu
x5 izlazi iz baze
Rešenje je optimalno (c3<0)
Rešenje je višestuko (c2=0, x2 nebazna promenljiva )
{ }*'1 2 3 4 5, , , ,X x x x x x=
( )* 6,0,0,18,6X =
1* 30F F= =
Simpleks metoda – tabelarni oblik(Višestruka optimalna rešenja)
83
T1 Baza KSČ 5 0 0 0 0ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6
0 x4 12
0 x2 3- f -30
( )*' 6,0,0,18,6X =
* 30F =( )*'' 6,3,0,12,0X =
* *' *''(1 ) , 0 1X X Xα α α= + − ≤ ≤ Beskonačno mnogo rešenja
Prazna dopustiva oblast
U slučaju kada se polazi od veštačke početne baze (metodom velikog M), može se desiti da je dopustiva oblast prazna.
Ovaj slučaj se može algebarski utvrditi kada se u nekoj k-toj iteraciji simpleks metode dobije da su svi cj
k>0, j = 1,2,...,n, a baza Bk sadrži bar jednu veštačku promenljivu čija je vrednost u baznom rešenju Xk veća od 0.
84
Simpleks metoda – tabelarni oblik(prazna dopustiva oblast)
85
T2 Baza KSČ 5 2 0 0 -M
ci (XB) (bi) x1 x2 x3 x5 v2
5 x1 6 1 0 1 0 0
M v2 12 0 0 3 -1 1
2 x2 3 0 1 -3/2 1/2 0
-f -36 0 0 -2 -1 0
{ } ( )* 21 2 4, , 6,12,3B BX X x x x= = =
{ } ( )23 5* , 0,0NX X x x= = =
2* 36F F= =
(c3<0, c5<0)Kriterijum optimalnosti zadovoljen
Veštačka promenljiva je bazna promenljiva ⇒ Rešenje je nedopustivo
Degenerisano teme (rešenje)
je ono teme u kome jedna ili više baznih promenljivih imaju vrednost 0, odnosno za koje postoji više baza. Odgovarajuće rešenje se naziva degenerisano bazno rešenje.
Situacije kada se u simpleks metodi pojavi degenerisano rešenje potrebno je rešavati sa pažnjom jer se u protivnom u radu algoritma može javiti cikliranje, tj. da se proces zaglavi.
86
SistematizacijaSimpleks metoda - tabelarni oblik
87
Baza (xb)
KSČ(b) x1 x2 ... xj… 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+ik
...bi
k
...
... aijk
xn+mk bm
kam1
k am1k ... amn
k 0 0 1
- f -f(x) c1k c2
k ...cj
k… cnk 0 0 ... 0
SistematizacijaSimpleks metoda - tabelarni oblik Početni korak: Formirati početnu simpleks tabelu koja odgovara polaznom problemu;
Iterativni korak k=1,2,…(a) Ako je cj
k ≤0 za svako j=1,2,…,n, tada simpleks tabeli Tk odgovara optimalno bazno dopustivo rešenje. STOP.
(b) Ako za neko j za koje je cjk >0 važi da je aij
k ≤0 za sve j=1,2,…,n tada je funkcija cilja neograničena odozgo, pa problem nema rešenja. STOP.
(v) Izabrati neko s∈{1,2,…,n} za koje je csk >0 , a zatim naći r takvo da je (ili koristiti prošireni
kriterijum) .
(g) Generisati novu simpleks tabelu Tk+1 primenom sledećih algebarskih transformacija:
• pomnožiti r-ti red sa aisk/ars
k i dodati i- tom redu tabele Tk za svako i≠r i aisk ≠0;
• podeliti r-ti red sa arsk .
s -ta kolona (koja odgovara promenljivoj koja ulazi u bazu) se naziva vodećom kolonom,
r-ti red (koji odgovara promenljivoj koja izlazi iz baze) vodećim redom,
element ars je stožerni ili pivot element pomoću koga se obavljaju transformacije.
88
min{ / }k k ks i isi
x b a=
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
89
Pojmovi Kriterijum ulaska promenljive u bazu
Kriterijum izlaska promenljive u bazu
Novi kanonski oblik (pivot transformacija)
Meotda velikog M
Višestruko rešenje
Neograničena funkcija cilja
Degenerisano teme (rešenje)
Nedopustivo rešenje
90
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.
91
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.
92
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).
93
Rešenje LP Kriterijum ulaska promenljive u bazu (naveći jedinični priraštaj)
Kriterijum izlaska promenljive iz baze (najmanji količnik b/a)
Prošireni kriterijum ulaska promenljive u bazu (ukupni priraštaj f-je cilja)
Simplek metoda (tabelarni oblik) - algoritam
94
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?
95
Pitanja
8. Gde se nalazi optimalno rešenje u dopustivomskupu?
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?
96
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 ?
97
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?
98
Pitanja
Kriterijum optimalnosti? Kriterijum ulaska promenljive u bazu? Kriterijum izlaska promenljive iz baze? Prošireni kriterijum ulaska i izlaska promenljive Pivot transformacija (dobijanje novog kanonskog
oblika)? Metoda velikog M? Ishodi Simepleks metode (jedinstveno optimalno
rešenje)?
99
Pitanja
Ishodi Simpleks metode (jedinstveno optimalno rešenje)?
Ishodi Simpleks metode (neograničena f-ja cilja)? Ishodi Simpleks metode (višestuko optimalno rešenje)? Ishodi Simpleks metode (višestuko neograničeno
rešenje)? Ishodi Simpleks metode (nedopustivo rešenje)? Ishodi Simpleks metode (degenerisano teme)?
100
101
Hvala na pažnji