Download as pdf or txt
Download as pdf or txt
You are on page 1of 56

1

OPERACIONA ISTRAŢIVANJA

GORDANA SAVIĆ

UNIVERZITET U BEOGRADU, FAKULTET ORGANIZACIONIH NAUKA


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

3/15/2018 Gordana Savic, gordana.savic@fon.bg.ac.rs


Sadrţaj
2

 Linearno programiranje -obnavljanje


 Geometrijska interpretacija - obnavljanje
 Algebarska interpretacija
 Simpleks metoda
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

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

(max) cT x

p.o x  x N  xB
AxN  IX B  b
b0
x0

B   xn 1 , xn  2 ,..., xn  m 
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  xN  xB 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

F 0  f ( x0 )  0 Početna vrednost
funkcije cilja
Nalaţenje početnog baznog rešenja
Primer
14

(max) f ( x)  5 x1  2 x2
p.o.
x1 6
2 x2  18
3x1  2 x2  24
x1  0, x2  0
Nalaţenje početnog baznog rešenja
15

(max) f ( x)  5 x1  2 x2
p.o.
x1  x3 6
2 x2  x4  18
3x1  2 x2  x5  24
x1  0, ..., x5  0

Kanonski oblik
modela
Nalaţenje početnog baznog rešenja
16

(max) f ( x)  5 x1  2 x2
p.o.
x1  x3 6
2 x2  x4  18
3x1  2 x2  x5  24
x1  0, ..., x5  0
xB0  x3 , x4 , x5    6,18, 24 
xN0   x1 , x2    0,0 
F0  0
Iterativni korak
Test optimalnosti
17

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

 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

ck  (c1k , c2k ,..., cnk ), Ak  [aijk ]mn , bk  (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  b1k , b2k ,..., bmk   
xnk  x1k , x2k ,..., xnk   0,0,...,0 
Iterativni korak
Test optimalnosti
19

 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

ck  (c1k , c2k ,..., cnk ), Ak  [aijk ]mn , bk  (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  b1k , b2k ,..., bmk   
xnk  x1k , x2k ,..., xnk   0,0,...,0 
Iterativni korak
Test optimalnosti
20

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


baza)
  
B k  xnk1 , xnk 2 ,..., xnk m  b1k , b2k ,..., bmk 
  
xBk  xnk1 , xnk 2 ,..., xnk m  b1k , b2k ,..., bmk   
xnk  x1k , x2k ,..., xnk   0,0,...,0 

 Vrednost f-je cilja Fk

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


Iterativni korak
Test optimalnosti
21

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

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

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

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

(max) f ( x)  5 x1  2 x2
p.o.
x1  x3 6
2 x2  x4  18
3x1  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


Iterativni korak
Nalaţenje boljeg susednog baznog dopustivog rešenja
26

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

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

(max) f ( x)  5 x1  2 x2
p.o.
x1  x3 6
2 x2  x4  18
3x1  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


Iterativni korak
Nalaţenje boljeg susednog baznog dopustivog rešenja
29

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

 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

b  a x  0  x  b / a , i  1, 2,..., m
i
k k k
is s
k
s i
k k
is

xsk  min{bik / aisk }


i
Iterativni korak
Nalaţenje boljeg susednog baznog dopustivog rešenja
31

 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

brk  bik k 
k
 min  k : ais  0 
ars i{1,2,..., m}  ais 

 Nova baza i nova f-ja cilja


B k 1  B k  xsk \ xnk r F k 1  F k  csk  xsk
Iterativni korak
Kriterijum za izlazak promenljive u bazu - primer
32

(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  3x1  0  x1  8
3x1  2 x2  x5  24
x1  0 x1  0
x1  0, ..., x5  0

x0  x1 , x2 , x3 , x4 , x5    0,0,6,18, 24 

 x1  min{6,8}  6 x1 ulazi u bazu


x3 izlazi iz baze
Iterativni korak
Nalaţenje boljeg susednog baznog dopustivog rešenja - primer
33

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
34

(max) f ( x)  5 x1  2 x2
x1B   x1 , x4 , x5 
p.o.
x1B   6,18, 6 
x1  x3 6
2 x2  x4  18
3x1  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
35

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)
36

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 –
Transformisanje standardnog u kanonski oblik
37

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
Novi kanonski oblik –
38

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

(max) f ( x)  2 x2  5 x3  30
p.o.
x1  x3 6
2 x2  x4  18
2 x2 3x3  x5  6
x1  0, ..., x5  0

c10  0 Rešenje nije optimalno


Iterativni korak
Novi kanonski oblik k=1
40

(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 3x3  x5  6 x5  6  2 x2  0  x2  3
x1  0, ..., x5  0 x1  0, ..., x5  0

x2  min{9,3} x2 ulazi u bazu


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

(max) f ( x)  2 x3  x5  36
p.o.
x1  x3 6
3x3  x4  x5  12
3 1
2 x2  x3  x5  3
2 2 Rešenje je optimalno
x1  0, ..., x5  0 (c3<0, c5<0)
xB   x1 , x2 , x4    6,12,3
2

xN2  x3 , x5    0,0


F 2  36
Iterativni korak
Novi kanonski oblik k=2
42

(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 3x3  x5  6 x5  6  2 x2  0  x2  3
x1  0, ..., x5  0 x1  0, ..., x5  0

x2  min{9,3} x2 ulazi u bazu


x5 izlazi iz baze
bca kF
xnkn2112
11
m
mn
21
222
kkkkkk
1n nn1k2m
1

Simpleks metoda - tabelarni oblik


43

Baza (xb) KSČ(b) X1 x2 ... xn xn+1 xn+2 ... xn+m

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

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


...

...

...

bmk
xn+mk am1k am1k ... amnk 0 0 1

-f -f(x) c1k c2k ... c1k 0 0 ... 0


Simpleks metoda - tabelarni oblik
44

 Zadatak na tabli!!!
Pojmovi
45

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

 Kriterijum ulaska promenljive u bazu


 Kriterijum izlaska promenljive u bazu
 Novi kanonski oblik (pivot transformacija)
Rešenje LP
47

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

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

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

 Kriterijum ulaska promenljive u bazu (naveći jedinični priraštaj)


 Kriterijum izlaska promenljive iz baze (najmanji količnik b/a)
Pitanja
51

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
52

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
53

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

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

 Kriterijum optimalnosti?
 Kriterijum ulaska promenljive u bazu?
 Kriterijum izlaska promenljive iz baze?
 Pivot transofrmacija (dobijanje novog kanosnog
oblika)?
56

Hvala na pažnji 

You might also like