You are on page 1of 101

1

OPERACIONA ISTRAŽIVANJA

GORDANA SAVIĆ

UNIVERZITET U BEOGRADU, FAKULTET ORGANIZACIONIH NAUKA


LABORATORIJA ZA OPERACIONA ISTRAŽIVANJA ”JOVAN PETRIĆ”
CENTAR ZA MERENJE EFIKASNOSTI

3/19/2020 Gordana Savic, gordana.savic@fon.bg.ac.rs


Sadržaj
2

 Linearno programiranje -obnavljanje


 Geometrijska interpretacija - obnavljanje
 Algebarska interpretacija
 Simpleks metoda
 Metoda velikog M
3
Simpleks metoda
Simpleks metoda
4

 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.
Simpleks metoda – osnovna ideja
5

 Pretraživanje baznih rešenja tj. geometrijski


posmatrano pretraživanje temena konveksnog
poliedra
Simpleks metoda
6

 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.
Simpleks metoda - geometrijska interpretacija
7

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 +1


za koje je vrednost funkcije cilja veća i usvojiti ga kao
tekuće. Vratiti se na korak 2.
Kanonski oblik problema
8

( max ) f ( x) = c1 x1 + c2 x2 +  + cn xn
p.o.
a11 x1 + a12 x2 +  + a1n xn ≤ b1
Simetričan
a21 x1 + a22 x2 +  + a2 n xn ≤ b2 oblik

am1 x1 + am 2 x2 +  + amn xn ≤ bm

x1 ≥ 0, x2 ≥ 0,..., xn ≥ 0
Kanonski oblik problema
9

( max ) f ( x) = c1 x1 + c2 x2 +  + cn xn
p.o.
a11 x1 + a12 x2 +  + a1n xn + xn +1 =
b1

a21 x1 + a22 x2 +  + a2 n xn + xn + 2 =
b2 Standardni
 oblik
am1 x1 + am 2 x2 +  + amn xn + xn + m =
bm

x1 ≥ 0, x2 ≥ 0,..., xn ≥ 0

Pretpostavka:
svi slobodni članovi bi, i=1,...,m su nenegativni;
Kanonski oblik problema
10

( max ) f ( x) = c1 x1 + c2 x2 +  + cn xn
p.o.
a11 x1 + a12 x2 +  + a1n xn + xn +1 =
b1

a21 x1 + a22 x2 +  + a2 n xn + xn + 2 =
b2 Kanonski
 oblik
am1 x1 + am 2 x2 +  + amn xn + xn + m =
bm

x1 ≥ 0, x2 ≥ 0,..., xn ≥ 0

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 ( xn + i ) i
ne pojavljuje se nigde više (ni u funkciji cilja).
Kanonski oblik problema
11

 Vektorsko-matrična forma
(max) cT x

p.o =
x x N ∪ xB
AxN + IX B =
b
b≥0
x≥0

=XB {=
xn +1 , xn + 2 ,..., xn + m } (b1 , b2 ,...., bm )
Simpleks algoritam
12

 Početni korak: Nalaženje početnog baznog rešenja


 Iterativno korak:
 Testoptimalnosti
 Pronalaženje boljeg susednog baznog rešenja
Kanonski oblik problema-značaj
13

 Na osnovu kanonskog oblika problema LP se


direktno može dobiti početno bazno rešenje.
= x N ∪ xB
X Početno bazo rešenje

b≥0
xB {=
xn +1 , xn + 2 ,..., xn + m } ( b1 , b2 ,..., bm )
xN {=
x1 , x2 ,..., xn } ( 0, 0,..., 0 ) Vrednost početnog
baznog rešenja

Početna vrednost
F 0 = f ( x0 ) funkcije cilja
Kanonski oblik problema
14

( max ) f ( x) = c1 x1 + c2 x2 +  + cn xn
p.o.
a11 x1 + a12 x2 +  + a1n xn + xn +1 =
b1

a21 x1 + a22 x2 +  + a2 n xn + xn + 2 =
b2 Kanonski
 oblik
am1 x1 + am 2 x2 +  + amn xn + xn + m =
bm

x1 ≥ 0, x2 ≥ 0,..., xn ≥ 0

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 ( xn + i ) i
ne pojavljuje se nigde više (ni u funkciji cilja).
Simpleks metoda – ( max ) f ( x) =
p.o.
c1 x1 + c2 x2 +  + c j x j +  + cn xn

a11 x1 + a12 x2 +  + a1 j x j +  + a1n xn + xn +1 =


b1

tabelarni oblik a21 x1 + a22 x2 +  + a2 j x j +  a2 n xn + xn + 2 = b2

(k-ta iteracija, k=0,1,...)



ai1 x1 + ai 2 x2 +  + aij x j +  ain xn + xn + i =bi

15 am1 x1 + am 2 x2 +  + amj x j +  amn xn + xn + m = bm
Vrednosti baznih
Bazne
promenljivih x1 ≥ 0, x2 ≥ 0,..., x j ≥ 0, , xn + m ≥ 0
promenljive
... ... Keoficijenti f-je cilja u
Baza KSČ c1 c2 cj cn cn+1 cn+2 cn+m nultoj iteraciji (k=0)

... ...
ci (XB) (b) x1 x2 xj xn xn+1 xn+2 ... xn+m Promenljive

cn+1 xn+1k b1k a11k a12k a1jk a1nk 1 0 ... 0


cn+2 xn+2k b2k a21k a22k a2jk a2nk 0 1 ... 0
... ... ... ...
... aijk ...
xn+ik b ik
...

cn+i
... ... ... ...
cn+m xn+mk bmk am1k am1k amjk amnk 0 0 1
-f -f(x) c1k c2k ... cjk ... cnk 0 0 ... 0
Simpleks metoda – ( max ) f ( x) =
p.o.
c1 x1 + c2 x2 +  + c j x j +  + cn xn

a11 x1 + a12 x2 +  + a1 j x j +  + a1n xn + xn +1 =


b1

tabelarni oblik a21 x1 + a22 x2 +  + a2 j x j +  a2 n xn + xn + 2 = b2

(k-ta iteracija, k=0,1,...)



ai1 x1 + ai 2 x2 +  + aij x j +  ain xn + xn + i =bi

16 am1 x1 + am 2 x2 +  + amj x j +  amn xn + xn + m = bm

x1 ≥ 0, x2 ≥ 0,..., x j ≥ 0, , xn + m ≥ 0
... ...
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 b1k a11k a12k a1jk a1nk 1 0 ... 0
cn+2 xn+2k b2k a21k a22k a2jk a2nk 0 1 ... 0
... ... ... ...
... ...
xn+ik b ik aijk
...

cn+i
... ... ... ...
cn+m xn+mk bmk am1k am1k amjk amnk 0 0 1
-f -f(x) c1k c2k ... cjk ... cnk 0 0 ... 0

Redosled se može menjati u zavisnosti


od bezne promenljive u odgovarajućem
ograničenju
Simpleks metoda – ( max ) f ( x) =
p.o.
c1 x1 + c2 x2 +  + c j x j +  + cn xn

a11 x1 + a12 x2 +  + a1 j x j +  + a1n xn + xn +1 =


b1

tabelarni oblik a21 x1 + a22 x2 +  + a2 j x j +  a2 n xn + xn + 2 = b2

(k-ta iteracija, k=0,1,...)



ai1 x1 + ai 2 x2 +  + aij x j +  ain xn + xn + i =bi

17 am1 x1 + am 2 x2 +  + amj x j +  amn xn + xn + m = bm

x1 ≥ 0, x2 ≥ 0,..., x j ≥ 0, , xn + m ≥ 0
... ...
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 b1k a11k a12k a1jk a1nk 1 0 ... 0
cn+2 xn+2k b2k a21k a22k a2jk a2nk 0 1 ... 0
... ... ... ...
... ...
xn+ik b ik aijk
...

cn+i
... ... ... ...
cn+m xn+mk bmk am1k am1k amjk amnk 0 0 1
-f -f(x) c1k c2k ... cjk ... cnk 0 0 ... 0

Koeficijenti u ograničenjima uz odgovarajuću promenljivu (Amn)


Simpleks metoda – ( max ) f ( x) =
p.o.
c1 x1 + c2 x2 +  + c j x j +  + cn xn

a11 x1 + a12 x2 +  + a1 j x j +  + a1n xn + xn +1 =


b1

tabelarni oblik a21 x1 + a22 x2 +  + a2 j x j +  a2 n xn + xn + 2 = b2

(k-ta iteracija, k=0,1,...)



ai1 x1 + ai 2 x2 +  + aij x j +  ain xn + xn + i =bi

18 am1 x1 + am 2 x2 +  + amj x j +  amn xn + xn + m = bm

x1 ≥ 0, x2 ≥ 0,..., x j ≥ 0, , xn + m ≥ 0
... ...
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 b1k a11k a12k a1jk a1nk 1 0 ... 0
cn+2 xn+2k b2k a21k a22k a2jk a2nk 0 1 ... 0
... ... ... ...
... ...
xn+ik b ik aijk
...

cn+i
... ... ... ...
cn+m xn+mk bmk am1k am1k amjk amnk 0 0 1
-f -f(x) c1k c2k ... cjk ... cnk 0 0 ... 0

m
Kriterijumski red (izračunati kasnije)
c=
jk c j + ∑ ci aijk
Jedinični priraštaj i =1
Nalaženje početnog baznog rešenja
Primer
19

(max) f (=
x) 5 x1 + 2 x2
p.o.
x1 ≤6
2 x2 ≤ 18
3 x1 + 2 x2 ≤ 24
x1 ≥ 0, x2 ≥ 0
Nalaženje početnog baznog rešenja
20

(max) f (=
x) 5 x1 + 2 x2
p.o.
x1 + x3 =
6
2 x2 + x4 =
18
3 x1 + 2 x2 + x5 =
24
x1 ≥ 0, ..., x5 ≥ 0

Kanonski oblik
modela
Nalaženje početnog baznog rešenja
21

(max) f (=
x) 5 x1 + 2 x2
p.o.
x1 + x3 =
6
2 x2 + x4 =
18
3 x1 + 2 x2 + x5 =
24
x1 ≥ 0, ..., x5 ≥ 0
=X B0 {=
x3 , x4 , x5 } ( 6,18, 24 )
=
X N0 {=
x1 , x2 } ( 0, 0 )
F0 = 0
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Početno rešenje – k=0) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

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 =X B0 {=
x3 , x4 , x5 } ( 6,18, 24 )
0 x4 18 0 2 0 1 0 =
X N0 {=
x1 , x2 } ( 0, 0 )
0 x5 24 3 2 0 0 1 F 0 = −( − f ) = 0
-f 0 5 2 0 0 0

-f=0-(0*6+0*18+0*24)=0
c10=5-(0*1+0*0+0*3)=5
c20=2-(0*0+0*2+0*2)=2
c30=c40=c50 – jedinični priraštaji za bazne promenljive
Iterativni korak
Test optimalnosti
23

 Kanonski oblik problema u k-toj (k=0,1,2,...) iteraciji


max f ( x) = c1k x1k + c2k x2k +  + cnk xnk + Fk
p.o.

a11k x1k + a12k x2k +  + a1kn xnk + xnk+1 =


b1k
k k
a21 x1 + a22
k k
x2 +  + a2kn xnk + xnk+ 2 =
b2k

amk 1 x1k + amk 2 x2k +  + amn
k
xnk + xnk+ m =
bmk

x1k , x2k ,..., xnk+ m ≥ 0


Iterativni korak
Test optimalnosti
24

 Kanonski oblik problema u k-toj (k=0,1,2,...) iteraciji


=
max f ( x) (c ) k T
xNk + Fk
p.o.
Ak xNk + xBk =
bk
xBk ≥ 0, xNk ≥ 0

= =
c k (c1k , c2k ,..., cnk ), Ak [a=
k
ij ]m× n , b
k
(b1k , b2k ,..., bmk )
koeficijenti kanonskog oblika, dobijeni nizom odgovarajućih transformacija
problema u prethodnih k iteracija, pri čemu su slobodni članovi bi≥0 za i=1,…,n.
xBk {= } (
xnk+1 , xnk+ 2 ,..., xnk+ m b1=
k
)
k
, b2k ,..., bmk xn {=
x , x ,..., x } ( 0, 0,..., 0 )
k
1
k
2
k
n
Iterativni korak
Test optimalnosti
25

 Kanonski oblik problema u k-toj (k=0,1,2,...) iteraciji


=
max f ( x) (c ) k T
xNk + Fk
p.o.
Ak xNk + xBk =
bk
xBk ≥ 0, xNk ≥ 0

= =
c k (c1k , c2k ,..., cnk ), Ak [a=
k
ij ]m× n , b
k
(b1k , b2k ,..., bmk )
koeficijenti kanonskog oblika, dobijeni nizom odgovarajućih transformacija
problema u prethodnih k iteracija, pri čemu su slobodni članovi bi≥0 za i=1,…,n.
xBk {= } (
xnk+1 , xnk+ 2 ,..., xnk+ m b1=
k
)
k
, b2k ,..., bmk xn {=
x , x ,..., x } ( 0, 0,..., 0 )
k
1
k
2
k
n
Iterativni korak
Test optimalnosti
26

 Bazno rešenje problema u k-toj (k=0,1,2,...) iteraciji (k-ta


baza)
Bk {=
x , x ,..., x } ( b , b ,..., b )
k
n +1
k
n+2
k
n+m 1
k k
2
k
m

xBk {=
x , x ,..., x } ( b ,=
k
n +1
k
n+2
k
n+m b ,..., b ) xn
1
k k
2
k
m
k
{=
x , x ,..., x } ( 0, 0,..., 0 )
k
1
k
2
k
n

 Vrednost f-je cilja Fk

 Proveriti da li je rešenje xk optimalno!!!


Iterativni korak
Test optimalnosti
27

 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 optimalnosti
28

 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 optimalnosti
29

 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.


Iterativni korak
Test optimalnosti
30

 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 .
Iterativni korak
Test optimalnosti - primer
31

(max) f (=
x) 5 x1 + 2 x2
p.o.
x1 + x3 =
6
2 x2 + x4 =
18
3 x1 + 2 x2 + x5 =
24
x1 ≥ 0, ..., x5 ≥ 0
x0 {=
x1 , x2 , x3 , x4 , x5 } ( 0, 0, 6,18, 24 )

c10 > 0, c20 > 0 Rešenje nije optimalno


(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Test optimalnosti) 3 x1 + 2 x2
x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

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 =X B0 {=
x3 , x4 , x5 } ( 6,18, 24 )
0 x4 18 0 2 0 1 0 =
X N0 {=
x1 , x2 } ( 0, 0 )
0 x5 24 3 2 0 0 1 F 0 = −( − f ) = 0
-f 0 5 2 0 0 0

c10 =
5 > 0, c20 =
2>0 Rešenje nije optimalno
Iterativni korak
Nalaženje boljeg susednog baznog dopustivog rešenja
33

 Ako xk nije optimalno rešenje potrebno je odrediti


novo 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.
Iterativni korak
Nalaženje boljeg susednog baznog dopustivog rešenja
34

 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
=c k
s max {c : c > 0}k
j
k
j
j∈{1,2,..., n}
Iterativni korak
Kriterijum za ulazak promenljive u bazu - primer
35

(max) f (=
x) 5 x1 + 2 x2
p.o.
x1 + x3 =
6
2 x2 + x4 =
18
3 x1 + 2 x2 + x5 =
24
x1 ≥ 0, ..., x5 ≥ 0
x0 {=
x1 , x2 , x3 , x4 , x5 } ( 0, 0, 6,18, 24 )

max{c10 , c20 } = max{5, 2} x1 ulazi u bazu


(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Kriterijum za ulazak promenljive u bazu) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

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 =X B0 {=
x3 , x4 , x5 } ( 6,18, 24 )
0 x4 18 0 2 0 1 0 =
X N0 {=
x1 , x2 } ( 0, 0 )
0 x5 24 3 2 0 0 1 F 0 = −( − f ) = 0
-f 0 5 2 0 0 0

max

max{c10 , c20 } = max{5, 2} x1 ulazi u bazu (s=1)


Iterativni korak
Nalaženje boljeg susednog baznog dopustivog rešenja
37

 Prilikom izbora promenljive koja će da izađe iz


baze, bira se ona koja će obezbediti da sledeće
bazno rešenje ostane dopustivo.
a1ks xsk + xnk +1 =
b1k
a2k s xsk + xnk + 2 =
b2k

k
ams xsk + xnk + m =
bmk
xsk , xnk +1 ,..., xnk + m ≥ 0
Iterativni korak
Nalaženje boljeg susednog baznog dopustivog rešenja
38

 Prilikom izbora promenljive koja će da izađe iz


baze, bira se ona koja će obezbediti da sledeće
bazno rešenje ostane dopustivo.

xnk+ i =bik − aisk xsk ≥ 0, i =


1, 2,..., m, xsk ≥ 0

bik − aisk xsk ≥ 0 ⇒ xsk ≤ bik / aisk , i =


1, 2,..., m

xsk = min{bik / aisk }


i
Iterativni korak
Nalaženje boljeg susednog baznog dopustivog rešenja
39

 Kriterijum izlaska promenljive iz baze


Iz baze Bk izlazi ona promenljiva za izlazi ona
promenljiva xn+rk, r∈{1,2,...,n} za čiji indeks r važi

brk  bik k 
= min  k : ais > 0 
arsk i∈{1,2,..., m} a
 is 

 Nova baza i nova f-ja cilja


+1
B k= B k ∪ xsk \ xnk+ r F k +1 = F k + csk ⋅ xsk
Iterativni korak
Kriterijum za izlazak promenljive iz baze - primer
40

(max) f (=
x) 5 x1 + 2 x2
p.o.
x3 =6 − x1 ≥ 0 ⇒ x1 ≤ 6
x1 + x3 =
6
x4 = 18
2 x2 + x4 =
18
x5 =24 − 3 x1 ≥ 0 ⇒ x1 ≤ 8
3 x1 + 2 x2 + x5 =
24
x1 ≥ 0 x1 ≥ 0
x1 ≥ 0, ..., x5 ≥ 0

x0 {=
x1 , x2 , x3 , x4 , x5 } ( 0, 0, 6,18, 24 )


= = 6
x11 min{6,8} x1 ulazi u bazu
x3 izlazi iz baze
Iterativni korak
Nalaženje boljeg susednog baznog dopustivog rešenja - primer
41

x = { x1 , x2 , x3 , x4 , x5 }
1

x = ( 6, 0, 0,18, 6 )
1

x = { x1 , x4 , x5 }
1
B

x = ( 6,18, 6 )
1
B

F = 5* 6
1
Iterativni korak
Novi kanonski oblik
42

(max) f (=
x) 5 x1 + 2 x2
x1B = { x1 , x4 , x5 }
p.o.
x1B = ( 6,18, 6 )
x1 + x3 =
6
2 x2 + x4 =
18
3 x1 + 2 x2 + x5 =
24
x1 ≥ 0, ..., x5 ≥ 0
Model je u standardnom obliku
Model nije u kanonskom obliku
Iterativni korak
Novi kanonski oblik –
Transformisanje standardnog u kanonski oblik
43

k
b
Fk +1 = Fk + csk ⋅ rk
ars

 k brk k
bi − k ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
 ars
bik +1 = k
 br , za i = r
 ak
 rs

 k airk k
aij − k ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
 ars
aijk +1 = k
 air , za i = r
 ak
 rs
Iterativni korak
Transformisanje standardnog u kanonski oblik
(pivotiranje)
44

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 csk ≠0 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.
Iterativni korak
Novi kanonski oblik –
45

 Kanonski oblik problema u k+1-toj (k=0,1,2,...)


iteraciji
max f ( x) = c1k +1 x1k +1 + c2k +1 x2k +1 +  + cnk +1 xnk +1 + Fk +1
p.o.

a11k +1 x1k +1 + a12k +1 x2k +1 +  + a1kn+1 xnk +1 + xnk++11 =


b1k +1
k +1 k +1 k +1 k +1
a21 x1 + a22 x2 +  + a2kn+1 xnk +1 + xnk++21 =
b2k +1

amk +11 x1k +1 + amk +21 x2k +1 +  + amn
k +1 k +1
xn + xnk++m1 =
bmk +1

x1k +1 , x2k +1 ,..., xnk++1m ≥ 0

 Provera optimalnosti
Iterativni korak
Novi kanonski oblik k=1
46

(max) f ( x) = 2 x2 − 5 x3 + 30
p.o.
x1 + x3 =
6
2 x2 + x4 =
18
2 x2 −3 x3 + x5 =
6
x1 ≥ 0, ..., x5 ≥ 0

c20 > 0 Rešenje nije optimalno


Iterativni korak
Novi kanonski oblik k=1
47

(max) f ( x) = 2 x2 − 5 x3 + 30
p.o.
x1 + x3 =
6 x1 =6
2 x2 + x4 =
18 x4 = 18 − 2 x2 ≥ 0 ⇒ x2 ≤ 9
2 x2 −3 x3 + x5 =
6 x = 6 − 2x ≥ 0 ⇒ x ≤ 3
5 2 2
x1 ≥ 0, ..., x5 ≥ 0 x1 ≥ 0, ..., x5 ≥ 0

x22 = min{9,3} x2 ulazi u bazu


x5 izlazi iz baze
Iterativni korak
Novi kanonski oblik k=2
48

Rešenje je optimalno
(max) f ( x) =−2 x3 − x5 + 36
(c3<0, c5<0)
p.o.
x1 + x3 =
6
3 x3 + x4 − x5 =
12
3 1
2 x2 − x3 + x5 = 3
2 2
x1 ≥ 0, ..., x5 ≥ 0
= xB2 {=x1 , x2 , x4 } ( 6,12,3)
=xN2 {=x3 , x5 } ( 0, 0 )
F 2 = 36
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T1 na osnovu T0) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

49

T0 Baza KSČ 5 2 0 0 0
ci (XB) (bi) 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

T1 Baza KSČ 5 2 0 0 0 1. Formiranje novog baznog


rešenja (XB1)
ci (XB) (bi) x1 x2 x3 x4 x5
5 x1
0 x4
0 x5
-f
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T1 na osnovu T0) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

50

ars= a11 T0 Baza KSČ 5 2 0 0 0


ci (XB) (bi) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 0 arj= a1j
0 x4 18 0 2 0 1 0
0 x5 24 3 2 0 0 1
-f 0 5 2 0 0 0
ais= ai1

T1 Baza KSČ 5 2 0 0 0 1. Formiranje novog baznog


rešenja (XB1)
ci (XB) (bi) x1 x2 x3 x4 x5 2. Izračunavanje vrednosti
elemenata vodećeg reda
5 x1 6/1=6 1/1=1 0/1=0 1/1=1 0/1=0 0/1=0 airk
aijk +1 , za i = r
arsk

0 x4
0 x5
-f
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T1 na osnovu T0) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

51

ars= a11 T0 Baza KSČ 5 2 0 0 0


ci (XB) (bi) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 0 arj= a1j
0 x4 18 0 2 0 1 0
0 x5 24 3 2 0 0 1
-f 0 5 2 0 0 0
ais= ai1

T1 Baza KSČ 5 2 0 0 0 1. Formiranje novog baznog


rešenja (XB1)
ci (XB) (bi) x1 x2 x3 x4 x5 2. Izračunavanje vrednosti
elemenata vodećeg reda
5 x1 6 1 0 1 0 0 airk
aijk +1 , za i = r
arsk

0 x4 18-6*0/1 0 2-0*0/1 0-0*1/1 1 0


=18 =2 =0 3. Izračunavanje vrednosti svih
0 x5 0 0 1 ostali elemenata
24-6*3/1=6
airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
-f 0 0 0 arsk
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T1 na osnovu T0) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

52

ars= a11 T0 Baza KSČ 5 2 0 0 0


ci (XB) (bi) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 0 arj= a1j
0 x4 18 0 2 0 1 0
0 x5 24 3 2 0 0 1
1. Formiranje novog baznog
-f 0 5 2 0 0 0 rešenja (XB )
1

ais= ai1 2. Izračunavanje vrednosti


elemenata vodećeg reda
airk
aijk +1 , za i = r

KSČ
arsk
T1 Baza 5 2 0 0 0
3. Izračunavanje vrednosti svih
ci (XB) (bi) x1 x2 x3 x4 x5 ostali elemenata
5 x1 6 1 0 1 0 0 airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 18 0 2 0 1 0 4. Odrediti vrednosti u
kriterijumskom redu
0 x5 6 0 2 -3 0 1
-f -30 0 2 -5 0 0
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T1 na osnovu T0) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

53

ars= a11 T0 Baza KSČ 5 2 0 0 0


ci (XB) (bi) x1 x2 x3 x4 x5
0 x3 6 1 0 1 0 0 arj= a1j
0 x4 18 0 2 0 1 0
0 x5 24 3 2 0 0 1
1. Formiranje novog baznog rešenja
-f 0 5 2 0 0 0 (XB1)
ais= ai1 2. Izračunavanje vrednosti elemenata
vodećeg reda
airk
aijk +1 , za i = r

KSČ
arsk
T1 Baza 5 2 0 0 0
3. Izračunavanje vrednosti svih ostali
ci (XB) (bi) x1 x2 x3 x4 x5 elemenata
5 x1 6 1 0 1 0 0 airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 18 0 2 0 1 0 4. Odrediti vrednosti u kriterijumskom


redu (novo bazno rešenje)
0 x5 6 0 2 -3 0 1
-f -30 0 2 -5 0 0
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T1 na osnovu T0) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

54

x1B = { x1 , x4 , x5 }
x1B = ( 6,18, 6 )
1. Formiranje novog baznog rešenja
(XB1)
2. Izračunavanje vrednosti elemenata
vodećeg reda
airk
aijk +1 , za i = r

KSČ
arsk
T1 Baza 5 2 0 0 0
3. Izračunavanje vrednosti svih ostali
ci (XB) (bi) x1 x2 x3 x4 x5 elemenata
5 x1 6 1 0 1 0 0 airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 18 0 2 0 1 0 4. Odrediti vrednosti u kriterijumskom


redu (novo bazno rešenje)
0 x5 6 0 2 -3 0 1 5. Test optimalnosti cj≤0
-f -30 0 2 -5 0 0

c20= 2 > 0 Rešenje nije optimalno


(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T1 na osnovu T0) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

55

x1B = { x1 , x4 , x5 }
x1B = ( 6,18, 6 )
1. Formiranje novog baznog rešenja
(XB1)
2. Izračunavanje vrednosti elemenata
vodećeg reda
airk
aijk +1 , za i = r

KSČ
arsk
T1 Baza 5 2 0 0 0
3. Izračunavanje vrednosti svih ostali
ci (XB) (bi) x1 x2 x3 x4 x5 elemenata
5 x1 6 1 0 1 0 0 airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 18 0 2 0 1 0 4. Odrediti vrednosti u kriterijumskom


redu (novo bazno rešenje)
0 x5 6 0 2 -3 0 1 5. Test optimalnosti cj≤0
-f -30 0 2 -5 0 0 6. Kriterijum ulaska u bazu (s=2)

c20= 2 > 0 Rešenje nije optimalno


(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T2 na osnovu T1) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

56

= = 3
x22 min{9,3} x2 ulazi u bazu
x5 izlazi iz baze 1. Formiranje novog baznog rešenja
(XB1)
2. Izračunavanje vrednosti elemenata
vodećeg reda
airk
aijk +1 , za i = r

KSČ KSČ
arsk
T1 Baza 5 2 0 0 0
3. Izračunavanje vrednosti svih ostali
ci (XB) (bi) x1 x2 x3 x4 x5 X2 elemenata
5 x1 6 1 0 1 0 0 / airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 18 0 2 0 1 0 9 4. Odrediti vrednosti u kriterijumskom


redu (novo bazno rešenje)
0 x5 6 0 2 -3 0 1 3 5. Test optimalnosti cj≤0
-f -30 0 2 -5 0 0 6. Kriterijum ulaska u bazu (s=2)
7. Kriterijum izlaska iz baze (r=3)
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T2 na osnovu T1) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

57

ars= a32 T1 Baza KSČ 5 2 0 0 0


Ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6 1 0 1 0 0 arj= a3j

0 x4 18 0 2 0 1 0
0 x5 6 0 2 -3 0 1 1. Formiranje novog baznog rešenja
(XB1)
-f -30 0 2 -5 0 0
2. Izračunavanje vrednosti elemenata
ais= ai2 vodećeg reda
airk
aijk +1 , za i = r

KSČ
arsk
T2 Baza 5 2 0 0 0
3. Izračunavanje vrednosti svih ostali
ci (XB) (bi) x1 x2 x3 x4 x5 elemenata
5 x1 6 1 0 1 0 0 airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 12 0 0 3 1 -1 4. Odrediti vrednosti u kriterijumskom


redu (novo bazno rešenje)
2 x2 3 0 1 -3/2 0 1/2
-3 -36 0 0 -2 0 -1
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T2) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

58

X=
*
B X=
2
B { x1 , x2 , x=
4} ( 6,12,3)
=
X * X=
2
N { x3 , x=5} ( 0, 0 )
F=
* F=
2
36
1. Formiranje novog baznog rešenja
(XB1)
2. Izračunavanje vrednosti elemenata
vodećeg reda
airk
aijk +1 , za i = r

KSČ
arsk
T2 Baza 5 2 0 0 0
3. Izračunavanje vrednosti svih ostali
ci (XB) (bi) x1 x2 x3 x4 x5 elemenata
5 x1 6 1 0 1 0 0 airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 12 0 0 3 1 -1 4. Odrediti vrednosti u kriterijumskom


redu (novo bazno rešenje)
2 x2 3 0 1 -3/2 0 1/2 5. Test optimalnosti cj≤0

-f -36 0 0 -2 0 -1 Rešenje je optimalno


(c3<0, c5<0)
Iterativni korak - dodatak
Prošireni kriterijum ulaska i izlaska promenljive iz baze
59

 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 bazu
U bazu Bk+1 ulazi ona promenljiva xsk, s∈{1,2,...,n}
za čiji indek s važi

=c d k
s
k
s max {c d : c > 0}
k
j
k
j
k
j
j∈{1,2,..., n}
Iterativni korak - dodatak
Prošireni kriterijum ulaska i izlaska promenljive iz baze
60

 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

b k
 bik k 
d=
k
s =i
min  k : ais > 0 
aisk  is
i∈{1,2,..., m} a


 Nova baza i nova f-ja cilja


+1
B k= B k ∪ xsk \ xnk+ r F k +1 = F k + csk ⋅ d sk
Veštačka početna baza
61

 Razmatra se sledeći problem

max f ( x) = c1 x1 + c2 x2 +  + cn xn + F
p.o.

a11 x1 + a12 x2 +  + a1n xn =


b1
a21 x1 + a22 x2 +  + a2kn xn ≥ b2

am1 x1 + am 2 x2 +  + amn xn ≤ bm

x1 , x2 ,..., xn ≥ 0
Veštačka početna baza
62

 Transformisaniproblem će biti standardnom ali ne i


u kanonskom obliku
 matrica A je dimenzija m x n, rangA = m < n i b>0.
max f ( x) = c1k x1k + c2k x2k +  + cnk xnk + Fk
p.o.

a11k x1k + a12k x2k +  + a1kn xnk =


b1k
k k
a21 x1 + a22
k k
x2 +  + a2kn xnk − xnk+ 2 =
b2k

amk 1 x1k + amk 2 x2k +  + amn
k
xnk + xnk+ m =
bmk

x1k , x2k ,..., xnk+ m ≥ 0


Veštačka početna baza -
metoda velikog M
63

 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.
Veštačka početna baza
metoda velikog M
64

 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štoovakva baza nije dopustiva u odnosu na zadati


problem, obezbediti da veštačke promenljive kroz
korake simpleks metode izađu iz baze.
Veštačka početna baza
metoda velikog M
65

 Ograničenja oblika  Prelaze u oblik

ai1 x1 + ai 2 x2 +  + ain xn= bi , =


i 1, 2,..., m aik1 x1k + aik2 x2k +  + aink xnk + v=
i bik , =
i 1, 2,..., m
x1 ,..., xn ≥ 0 x1 ,..., xn ≥ 0, vi ≥ 0, i =
1, 2,.., m
Veštačka početna baza
metoda velikog M
66

Ograničenja oblika Da li je rešenje


dopustivo?
a11 x1 + a12 x2 +  + a1n xn + v1 =
b1
a21 x1 + a22 x2 +  + a2 n xn − xn + 2 + v2 =
b2

am1 x1 + am 2 x2 +  + amn xn + xn + m + vm =
bm

x1 , x2 ,..., xn + m ≥ 0, v1 ,..., vm ≥ 0
Veštačka početna baza
metoda velikog M
67

 Iz ovakvog oblika se lako konstruiše večtačka


početna baza:
B 0 = {v1 , v2 ,..., vm }
 Odnosno početno rešenje:
=X0 {=
x1 , x2 ,..., xn , v1 , v2 ,..., vm }
X 0 = {0, 0,..., 0, b1 , b2 ,..., bm }
 Da li ovakvo rešenje dopustivo?
Veštačka početna baza
metoda velikog M
68

a11 x1 + a12 x2 +  + a1n xn + v1 =


b1  Svako bazno rešenje za koje je
a21 x1 + a22 x2 +  + a2 n xn − xn + 2 + v2 =
b2 barem jedno vi > 0,
 i={1,2,...,n} neće biti dopustivo.
am1 x1 + am 2 x2 +  + amn xn + xn + m + vm =
bm  Tj. za zadati model biće
x1 , x2 ,..., xn + m ≥ 0, v1 ,..., vm ≥ 0 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.
Veštačka početna baza
metoda velikog M
69
m

max f ( x)= c1 x1 + c2 x2 +  + cn xn
max f ( x) = c1 x1 + c2 x2 +  + cn xn − M ( ∑v )
i =1
i

p.o. p.o.
a11 x1 + a12 x2 +  + a1n xn + v1 =
b1
a11 x1 + a12 x2 +  + a1n xn + v1 =
b1
a21 x1 + a22 x2 +  + a2 n xn − xn + 2 + v2 =
b2
a21 x1 + a22 x2 +  + a2 n xn − xn + 2 + v2 =
b2


am1 x1 + am 2 x2 +  + amn xn + xn + m + vm =
bm
am1 x1 + am 2 x2 +  + amn xn + xn + m + vm =
bm

x1 , x2 ,..., xn + m ≥ 0, v1 ,..., vm ≥ 0 x1 , x2 ,..., xn + m ≥ 0, v1 ,..., vm ≥ 0

 Gde je M veliki broj


 Svaka vrednost vi > 0 za bilo koje
i=1,...,m će biti kažnjena velikim
smanjenjem vrednosti funkcije cilja.
Veštačka početna baza
metoda velikog M
70

m  Zadati model nije u kanonskom obliku


max f ( x) = c1 x1 + c2 x2 +  + cn xn − M ( ∑v )
i =1
i
ali se svodi uvođenje m transformacije:
p.o.
bi − ∑ j =1 aij x j , i =
n
a11 x1 + a12 x2 +  + a1n xn + v1 =
b1 vi = 1,..., m

a21 x1 + a22 x2 +  + a2 n xn − xn + 2 + v2 =
b2  Smena se ubaci u ograničenja i f-ju
 cilja
am1 x1 + am 2 x2 +  + amn xn + xn + m + vm = n m m

∑ ∑ ∑
bm
max f ( x) =(c j + M aij )x j − M bi
j= i +1 i +1
x1 , x2 ,..., xn + m ≥ 0, v1 ,..., vm ≥ 0
1
  
 
c 0j F0


n
=
max f ( x) ∑c x
j =1
0
j j + F0
Veštačka početna baza
metoda velikog M
71

 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 ona


ograničenja u kojima ne postoji neka druga promenljiva koja može
biti u početnoj bazi (ograničenja tipa ≥ i =).
Veštačka početna baza
metoda velikog M
72

 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.
Veštačka početna baza
metoda velikog M
73

 Primer u prezentaciji za vežbe


Mogući ishodi Simpleks metode
74

 Višestruka optimalna rešenja:


 na ograničenoj optimalnoj strani,
 na neograničenoj optimalnoj strani;

 Neograničena funkcija cilja;


 Prazna dopustiva oblast;
 Degenerisano teme.
Mogući ishodi Simpleks metode
75

 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.
Jedinstveno optimalno rešenje
76

 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
cjk <0.
 Primer dat na prethodnom zadatku
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Novi kanonski oblik T2) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

77

X=
*
B X=
2
B { x1 , x2 , x=
4} ( 6,12,3)
=
X * X=
2
N { x3 , x=5} ( 0, 0 )
F=
* F=
2
36
1. Formiranje novog baznog rešenja
(XB1)
2. Izračunavanje vrednosti elemenata
vodećeg reda
airk
aijk +1 , za i = r

KSČ
arsk
T2 Baza 5 2 0 0 0
3. Izračunavanje vrednosti svih ostali
ci (XB) (bi) x1 x2 x3 x4 x5 elemenata
5 x1 6 1 0 1 0 0 airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 12 0 0 3 1 -1 4. Odrediti vrednosti u kriterijumskom


redu (novo bazno rešenje)
2 x2 3 0 1 -3/2 0 1/2 5. Test optimalnosti cj≤0

-f -36 0 0 -2 0 -1 Rešenje je optimalno


(c3<0, c5<0)
Neograničena funkcija cilja
78

 Ako za neku nebaznu promenljivu xsk važi da je


cjk>0 (nije optimalno rešenje), a aisk ≤0, ∀i =
1,2,...,m, tada funkcija cilja neograničeno raste duž
neograničene ivice dopustive oblasti sa početnom
tačkom Xk.
(max) f (=
x) 5 x1 + 2 x2
p.o.

Simpleks metoda – tabelarni oblik x1


2 x2
+ x3
+ x4
=
6
=
18

(Neograničena funkcija cilja) 3 x1 + 2 x2


x1 ≥ 0, ..., x5 ≥ 0
+ x5 =
24

79

x=
2
2 min{−9, −3} < 0 ⇒ Neograničena funkcija cilja
1. Formiranje novog baznog rešenja
(XB1)
2. Izračunavanje vrednosti elemenata
vodećeg reda
airk
aijk +1 , za i = r

KSČ KSČ
arsk
T1 Baza 5 2 0 0 0
3. Izračunavanje vrednosti svih ostali
ci (XB) (bi) x1 x2 x3 x4 x5 X2 elemenata
5 x1 6 1 0 1 0 0 / airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 18 0 -2 0 1 0 -9 4. Odrediti vrednosti u kriterijumskom


redu (novo bazno rešenje)
0 x5 6 0 -2 -3 0 1 -3 5. Test optimalnosti cj≤0
-f -30 0 2 -5 0 0 6. Kriterijum ulaska u bazu (s=2)
7. Kriterijum izlaska iz baze (r=3)
Višestruka optimalna rešenja:
80

 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
cjk ≤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.
Višestruka optimalna rešenja:
81

 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.
Simpleks metoda – tabelarni oblik
(Višestruka optimalna rešenja)
82

X *' = { x1 , x2 , x3 , x4 , x5 }
Rešenje je optimalno Rešenje je višestuko
(c3<0) (c2=0, x2 nebazna promenljiva ) X * = ( 6, 0, 0,18, 6 )

F=
* F=
1
30
x2 ulazi u bazu
= = 3
x22 min{9,3}
x5 izlazi iz baze 1. Formiranje novog baznog rešenja
(XB1)
2. Izračunavanje vrednosti elemenata
vodećeg reda
airk
aijk +1 , za i = r

KSČ KSČ
arsk
T1 Baza 5 0 0 0 0
3. Izračunavanje vrednosti svih ostali
ci (XB) (bi) x1 x2 x3 x4 x5 x2 elemenata
5 x1 6 1 0 1 0 0 / airk k
aijk +1 = aijk − ⋅ ais , za i ∈ {1, 2,..., m}, i ≠ r
arsk

0 x4 18 0 2 0 1 0 9 4. Odrediti vrednosti u kriterijumskom


redu (novo bazno rešenje)
0 x5 6 0 2 -3 0 1 3 5. Test optimalnosti cj≤0
-f -30 0 0 -5 0 0 6. Kriterijum ulaska u bazu (s=2)
7. Kriterijum izlaska iz baze (r=3)
Simpleks metoda – tabelarni oblik
(Višestruka optimalna rešenja)
83

X *' = ( 6, 0, 0,18, 6 )
X *'' = ( 6,3, 0,12, 0 )
F * = 30
X=
*
α X *' + (1 − α ) X *'' , 0 ≤ α ≤ 1 Beskonačno mnogo rešenja

T1 Baza KSČ 5 0 0 0 0
ci (XB) (bi) x1 x2 x3 x4 x5
5 x1 6
0 x4 12
0 x2 3
-f -30
Prazna dopustiva oblast
84

 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
cjk>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.
Simpleks metoda – tabelarni oblik
(prazna dopustiva oblast)
85

X=
*
B X=
2
B { x1 , x2 , x=
4} ( 6,12,3) Veštačka promenljiva je bazna promenljiva
=
X * X= 2
N { x3 , x=5} ( 0, 0 ) ⇒ Rešenje je nedopustivo

F=
* F=
2
36

T2 Baza KSČ 5 2 0 0 -M (c3<0, c5<0)


ci (XB) (bi) x1 x2 x3 x5 v2 Kriterijum optimalnosti
zadovoljen
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
Degenerisano teme (rešenje)
86

 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.
Sistematizacija
Simpleks metoda - tabelarni oblik
87

Baza
KSČ(b) x1 x2 ... xj… xn xn+1 xn+2 ... xn+m
(xb)
xn+1k b1k a11k a12k ... a1nk 1 0 ... 0

xn+2k b2k a21k a22k ... a2nk 0 1 ... 0

xn+ik bik aijk


...

... ...
bmk
xn+mk am1k am1k ... amnk 0 0 1
...
-f -f(x) c1k c2k cnk 0 0 ... 0
cjk…
Sistematizacija
Simpleks metoda - tabelarni oblik
88

 Početni korak: Formirati početnu simpleks tabelu koja odgovara polaznom problemu;
 Iterativni korak k=1,2,…
(a) Ako je cjk ≤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 aijk ≤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 xsk = min{bik / aisk }
i
(ili koristiti prošireni
kriterijum) .
(g) Generisati novu simpleks tabelu Tk+1 primenom sledećih algebarskih transformacija:
• pomnožiti r-ti red sa aisk/arsk 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.
Pojmovi
89

 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
Pojmovi
90

 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
Rešenje LP
91

 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.
Rešenje LP
92

 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.
Rešenje LP
93

 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).
Rešenje LP
94

 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
Pitanja
95

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?
Pitanja
96

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?
Pitanja
97

 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 ?
Pitanja
98

 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?
Pitanja
99

 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)?
Pitanja
100

 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)?
101

Hvala na pažnji 

You might also like