You are on page 1of 68

OPERACIONA ISTRAŽIVANJA

OBLAST: NELINEARNO PROGRAMIRANJE

Materijal sa predavanja 2009/2010

Prof. dr. Vera Kovačević-Vujčić

1
1. OSNOVNI POJMOVI

Problem nelinearnog programiranja. Pojam dopustivog skupa.

Opšti oblik problema nelinearnog programiranja:

min(max) f ( x1 ,..., xn )
(NLP)
gi ( x1 ,..., xn )  0, i  1,..., m

gde je f- funkcija cilja, gi - funkcije ograničenja.

Vektorski zapis: x  ( x1 ,..., xn )

min(max) f ( x)
(NLP)
gi ( x)  0, i  1,..., m

Treći (najkraći) zapis:

min(max) f ( x)
(NLP)
x X

gde je X   x  R | gi ( x )  0, i  1,..., m dopustivi skup.


n

Ako je X  R n (NLP) se naziva problem bezuslovne optimizacije ili


bezuslovnog ekstremuma

min(max) f ( x)
(BO)
x  Rn

Ako je X  R n (NLP) se naziva problem uslovne optimizacije ili uslovnog


ekstremuma

2
Napomena 1: Problem maksimizacije se može svesti na problem
minimizacije. Rešava se pomoćni problem

min( f ( x))
x X

i optimalna vrednost funkcije cilja se množi sa –1. U daljem radimo samo


sa problemima minimizacije.

Napomena 2: Dopustivi skup je bez umanjenja opštosti definisan preko


ograničenja tipa  . Zaista, ograničenje h( x)  0 može da se zameni sa dve
nejednačine h( x)  0, h( x)  0 , tj. sa nejednačinama h( x)  0,  h( x)  0 ,
dok se ograničenje tipa v( x )  u ( x) može zapisati u obliku u ( x)  v( x)  0 .
Na primer, skup zadat sa

x12  x22  x3  1, x1  x2
možemo opisati na sledeći način:

g1 ( x)  x12  x22  x3  1  0
g 2 ( x)   x12  x22  x3  1  0
g3 ( x)  x2  x1  0.

Napomena 3: Ako u opisu problema učestvuju samo jednačine radi se o


tzv. klasičnom problemu uslovnog ekstremuma

min f ( x1 ,..., xn )
(KLP)
hi ( x1 ,..., xn )  0, i  1,..., m

Ovaj problem je poznat odavno, i tretira se direktno, bez svodjenja na


ograničenja tipa  .

3
Pojam dopustivog i optimalnog rešenja.

Svako x  X se naziva dopustivo rešenje. Koncept optimalnosti je


složeniji i obuhvata više pojmova.

x*  X je globalni minimum problema (NLP) ako je f ( x )  f ( x) za sve


*

x X .
x*  X je strogi globalni minimum problema (NLP) ako je f ( x )  f ( x )
*

za sve x  X , x  x* .

Napomena 4: Za globalni minimum se koriste i termini globalni


optimimum, tj. globalni ekstremum (isti termini se koriste i za globalni
maksimim).

Napomena 5: Ako je f neprekidna funkcija a skup X zatvoren i ograničen


postoji (bar jedan) globalni minimum x*  X .

Primer 1. Globalni minimum

ne postoji globalni minimum ( f ne postoji globalni minimum


ograničena odozdo) ( f nije ograničena odozdo)

x*  0 je strogi globalni minimum x*  2 je strogi globalni minimum

4
Tačka x*  X je lokalni minimum problema (NLP) ako je najbolja u nekoj
svojoj dopustivoj okolini, tj. postoji   0 tako da je f ( x* )  f ( x) za sve
x  X takve da je || x  x* ||   .

Napomena 6: Podrazumeva se da je || x  x* ||  ( x1  x1* )2    ( xn  xn* )2 .


Geometrijska interpretacija dopustivih okolina date tačke u R 2 data je na
slici.

Dopustiva
okolina tačke
Tačka x*  X je
strogi lokalni
minimum
problema (NLP) ako postoji   0 tako da je f ( x* )  f ( x) za sve x  X
takve da je || x  x* ||   i x  x* .

Primeri navedenih pojmova u slučaju funcije jedne promenljive dati su na


slici.

Lokalni i globalni minimumi

5
Stanje teorije u oblasti NLP

1) Postoji karakterizacija lokalnih minimuma (neophodni i dovoljni


uslovi za optimalnost).

2) Karakterizacija globalnih minimuma ne postoji, osim u specijalnim


slučajevima, kao što je linearno programiranje, konveksno
programiranje, itd.

3) Metode nelinearnog programiranja su postupci za efektivno


nalaženje lokalnih minimuma.

4) Metode globalne optimizacije kombinuju metode nelinearnog


programiranja sa raznim tehnikama pretraživanja dopustivog skupa u
cilju nalaženja globalnih minimuma. Ako se radi o problemima malih
dimenzija sa zatvorenim i ograničenim dopustivim skupom u
principu se mogu naći svi lokalni minimumi i od njih odabrati
najbolji. U praksi se obično radi sa problemima velikih dimenzija,
tako da se problemi globalne optimizacije rešavaju uglavnom
heurističkim metodama.

6
2. BEZUSLOVNA OPTIMIZACIJA. NEOPHODNI I DOVOLJNI
USLOVI OPTIMALNOSTI

Problem:

min f ( x)
(BO)
x  Rn

Pretpostavka: f dvaput neprekidno diferencijabilna na R n .

Metodologija:
1) Traže se rešenja sistema

f f
(S)  0, ... , 0
x1 xn

To su tzv. stacionarne tačke, kandidati za ekstremum.

2) Traži se matrica drugih izvoda

 2 f 2 f 
 x 2 
x x 
 1 1 n 
 f ( x)   
2

 2 
  f  2
f 

 xnx1 xn2 

3) Neka je x* rešenje sistema (S). Računa se  2 f ( x* ) i nalaze glavni


minori D1 ,..., Dn .

(i) Ako je D1  0, D2  0,..., Dn  0  x* je strogi lokalni minimum


(ii) Ako je D1  0, D2  0,...,(1) n Dn  0  x* je strogi lokalni maksimum

7
Navedena metodologija se zasniva na sledećim rezultatima:

Teorema 1 (Neophodni uslovi za lokalni minimum). Ako je x* lokalni


f * f *
minimum funkcije f  ( x )  0,..., ( x )  0 (f ( x* )  0) .
x1 xn

Teorema 2 (Dovoljni uslovi za strogi lokalni minimum). Ako je


f ( x* )  0 i ako je matrica  2 f ( x* ) pozitivno definitna (tj.
yT  2 f ( x* ) y  0, y  0 )  x* je strogi lokalni minimum funkcije f.

Teorema 3 (Silvestrov kriterijum).  2 f ( x* ) je pozitivno definitna


matrica  D1  0,..., Dn  0 .

8
Primer 1.

f ( x)  x14  x24  x12  2 x1 x2  x22

f 
 4 x13  2 x1  2 x2  0 
x1 
  4 x1  4 x2  x1  x2
3 3

f
 4 x23  2 x1  2 x2  0 
x2 

4 x13  4 x1  0  x1  0 x1  (0,0)
x1  1 x 2  (1,1)
x1  1 x 3  (1, 1)

12 x12  2 2 
 f ( x)  
2

  2 12 x2
2
 2 

 2 2 
x  (0,0),
1
 f (x )  
2 1
, D1  2, D2  0 bez zaključka
 2 2 
10 2 
x 2  (1,1), 2 f ( x2 )   , D1  10, D2  96 strogi lok. min.
 2 10 
x3  (1, 1),  2 f ( x 3 )   2 f ( x 2 ), strogi lok. min.

9
Šta ako su narušeni uslovi (i), (ii)?

Važi sledeće pravilo:


1) Ako postoji glavni minor parnog reda koji je  0  x* nije ekstremum.
2) Ako postoje dva glavna minora neparnog reda različitog znaka  x*
nije ekstremum.
3) Ako je D1  0,..., Dn  0 (bar jedan =0) ili D1  0,...,( 1) n Dn  0 (bar
jedan =0) treba evaluirati sve minore simetrične u odnosu na glavnu
dijagonalu.
3.1) Ako postoji simetričan minor parnog reda koji je  0  x* nije
ekstremum.
3.2) Ako postoje dva simetrična minora neparnog reda različitog znaka
 x* nije ekstremum.

Šta ako su narušeni i uslovi 1), 2), 3.1), 3.2)?

Onda nema odgovora na pitanje da li se radi o ekstremumu. To se vidi već


na primeru funkcija jedne promenljive. Tačka x*  0 je stacionarna tačka
funkcija f ( x)  x 4 i g ( x)  x 3 i važi f (0)  0, g (0)  0 . Ova tačka jeste
minimum funkcije f, a nije ekstremum (ni minimum ni maksimum)
funkcije g.

10
Napomena 1: Broj glavnih minora jednak je n, dok broj simetričnih
minora raste eksponencijalnom brzinom u odnosu na n. Zato 3.1) i 3.2)
ima smisla koristiti samo za probleme malih dimenzija

 2 2 
Primer 2.  2
f ( x1
)   2 2 
 

Svi minori simetrični u odnosu na glavnu dijagonalu su



1  2 (vrsta 1, kolona 1) 

 2  2 (vrsta 2, kolona 2)  i dalje nema odgovora
2 2 
3  0 
2 2 

Direktna analiza: x1 nije ekstremum.

11
3. KLASIČNI PROBLEM USLOVNOG EKSTREMUMA

Problem:

min f ( x)
(KLP)
hi ( x)  0, i  1,..., m

Pretpostavka: f , hi , i  1,..., m diferencijabilne

 h1 h1 
 x 
xn 
 1 
J ( x)     rang J(x)=m na dopustivom
 h hm 
 m 
 x1 xn  mn
skupu

3.1. METODA ELIMINACIJE PROMENLJIVIH.

Ideja: (KLP) se svodi na problem bezuslovne optimizacije.

h1 ( x1 ,..., xn )  0 x1  1 ( xm 1 ,..., xn )
 
hm ( x1 ,..., xn )  0 xm  m ( xm 1 ,..., xn )

12
Dobija se problem bezuslovne optimizacije

(BO) min f (1 ( xm 1 ,..., xn ),..., m ( xm 1 ,..., xn ), xm 1 ,..., xn )  F ( xm1 ,..., xn )

Ako je ( xm* 1 ,..., xn* ) rešenje (BO) 


(1 ( xm* 1 ,..., xn* ),..., m ( xm* 1 ,..., xn* ), xm* 1 ,..., xn* ) je rešenje (KLP).

Primer 1. Metodom eliminacije promenljivih rešiti problem:

min 3 x12  7 x22  5 x3


x1  x2  x3  9

Ovde je J   1 1 1 , rang J=1.

Eliminišimo, na primer, x3 :

x3  9  x1  x2 .

F F
Biće F ( x1 , x2 )  3 x1  7 x2  5(9  x1  x2 ),  6 x1  5,  14 x2  5 i
2 2

x1 x2
5 5 
jedina stacionarna tačka je x *
  , .
 6 14 

6 0 
Kako je  2
F ( x *
)  0 14  , D1  6  0, D2  84  0 , zaključujemo da je
 
x strogi lokalni minimum pomoćnog problema, tj. da je tačka
*

 5 5 164 
 , ,  strogi lokalni minimum polaznog problema.
 6 14 21 

Kasnije ćemo videti da se radi o problemu konveksnog programiranja pa


je lokalni minimum istovremeno i globalni minimum.

13
3.2. METODA LAGRANŽOVIH MNOŽILACA

m
(KLP)  Lagranžova funkcija L( x,  )  f ( x)   i hi ( x)
i 1

Napomena 1:   (1 ,..., m ) se naziva vektor Lagranžovih množilaca.

Metodologija:
1) Traže se rešenja sistema

L L L L
(SS)  0,...,  0,  0,..., 0
x1 xn 1 m

Rešenja su stacionarne tačke Lagranžove funkcije, kandidati za


ekstremum.

2) Traži se matrica
 h1 h1 
 0  0 x1

xn 
 
   
 hm hm 
 0  0 
 x1 xn  0 J 
H ( x,  )     JT
 h1  hm 2L 2L    2xx L 

 x1 x1 x12 x1xn 
 
   
 h hm 2L 2L 
 1   
 xn xn xnx1 xn2  ( m n )( m n )

14
3) Neka je ( x* ,  * ) rešenje (SS) i neka su D1 ,..., Dm  n glavni minori
matrice H ( x* ,  * ) .
(i) (1) m D2 m 1 >0,...,(1) m Dm  n >0  x* je strogi lokalni minimum (KLP)

(ii) (1) m 1 D2 m 1 >0,...,(1) n Dm  n >0  x* je strogi lokalni maksimum


(KLP)

Metodologija se zasniva na sledeća tri rezultata

Teorema 1 (Neophodni uslovi za lokalni minimum). Ako je x* lokalni


minimum problema (KLP)   *  (1* ,..., m* ) tako da je
 x L( x* ,  * )  0,   L( x* ,  * )  0 (tj. L( x* ,  * )  0 ).

Teorema 2 (Dovoljni uslovi za strogi lokalni minimum). Neka je


( x* ,  * ) stacionarna tačka funkcije L . Ako je matrica  2xx L( x* ,  * )
pozitivno definitna na tangentnom prostoru ( yT  2xx L( x* ,  * ) y >0 y  0
takvo da je yT hi ( x* )  0, i  1,..., m) tada je x* strogi lokalni minimum
problema (KLP).

Teorema 3 (Dovoljni uslovi za pozitivnu definitnost na tangentnom


prostoru).
Ako je (1) m D2 m 1 >0,...,(1) m Dm  n >0   2xx L( x* ,  * ) je pozitivno
definitna matrica na tangentnom prostoru.

Napomena 2: Svi navedeni rezultati važe pod pretpostavkom da je rang


J=m. Ako je u nekim tačkama dopustivog skupa ovaj uslov narušen, njih
treba posebno ispitati (i one su kandidati za ekstremum).
15
f ( x)  x12  x22  x32
Primer 1.
x1  x2  x3  1

L  x12  x22  x32   ( x1  x2  x3  1)


L 
 2 x1    0 
x1

L 
 2 x2    0 
x2 1 1 1 2 * 1 1 1 * 2
  x1  , x2  , x3  ,    , x   , ,  ,   
L  3 3 3 3  3 3 3  3
 2 x3    0
x3 

L
 x1  x2  x3  1  0 
 

2 0 0 
 2xx L( x,  )   0 2 0  J   1 1 1
 
 0 0 2 

0 1 1 1
1 2 0 0
H ( x,  )     H ( x* ,  * ) m  1, n  3, 2m  1  3, m  n  4
1 0 2 0
 
1 0 0 2
0 1 1
(1) m D2 m 1  (1) D3   1 2 0  4  0
1 0 2
0 1 1 1
1 2 0 0
(1) m Dm  n   D4    12  0
1 0 2 0
1 0 0 2
 x* je strogi lokalni minimum (videće se da se radi o globalnom
minimumu)
16
4. OPŠTI SLUČAJ PROBLEMA NELINEARNOG
PROGRAMIRANJA

Problem:

min f ( x)
(NLP)
gi ( x)  0, i  1,..., m

4.1. METODA IZRAVNAVAJUĆIH FUNKCIJA

(NLP) se dodavanjem nenegativnih izravnavajućih funkcija


xn2i , i  1,..., m svodi na klasični problem uslovnog ekstremuma:

min f ( x)
(KLP)
gi ( x)  xn2i  0, i  1,..., m

(KLP) se može dalje rešavati metodom eliminacije promenljivih ili


metodom Lagranžovih množilaca.

17
Primer 1.

min 4 x12  5 x22 min 4 x12  5 x22


(NLP) 
 (KLP) ( x1  1  x32 )
1  x1  0 1  x1  x  0
2
3

 (BO) min 4(1  x3 )  5 x2  F ( x2 , x3 )


2 2 2


F 
 10 x2  0 
x2  x2  0
 
F x3  0
 16 x3 (1  x32 )  0 
x3 

10 0  10 0 
 2 F ( x2 , x3 )    ,  2
F (0,0)   0 16 
 0 16(1  x3 )  16 x3  2 x3 
2
 

D1  10  0, D2  160  0 

(0,0) strogi lokalni min (BO)  (1,0,0) strogi lokalni min (KLP)  (1,0)
strogi lokalni min (NLP) (kasnije ćemo videti da je to globalni minimum).

18
4.2. KUN-TAKEROVA TEOREMA, NAJVAŽNIJI REZULTAT U
NLP

Problem:

min f ( x)
(NLP)
gi ( x)  0, i  1,..., m

Pretpostavka: funkcije f , g1 ,..., g m su diferencijabilne.

Ako su funkcije f, g1 ,..., g m konveksne (NLP) se naziva problem


konveksnog programiranja. Problem konveksnog programiranja ima
važno svojstvo da je svaki lokalni minimum istovremeno globalni
minimum.

Kun-Takerova teorema daje neophodne uslove za lokalni minimum


problema (NLP).

Ukoliko se radi o problemu konveksnog programiranja ti uslovi su i


dovoljni.

Kun-Takerova teorema važi pod odredjenim uslovima regularnosti.

Pre iskaza teoreme navode se ključni pojmovi vezani za konveksnost i


regularnost.

19
Konveksnost.

Konveksan skup:  x1  (1   ) x2  C  x1 , x2  C i    [0,1]


“sa svake dve tačke sadrži duž koja ih spaja”

Konveksnost skupova
Konveksna funkcija:
f ( x1  (1   ) x2 )   f ( x1 )  (1   ) f ( x2 )  x1 , x2  C i    [0,1] .
“grafik se nalazi ispod sečice”

Konveksnost funkcije
Strogo konveksna funkcija:
f ( x1  (1   ) x2 )   f ( x1 )  (1   ) f ( x2 ) ,  x1 , x2  C , x1  x2 i 
  (0,1) .

Konkavna funkcija: g konkavna   g konveksna

Ako je f diferencijabilna funkcija “grafik se nalazi ispod sečice” 


“grafik se nalazi iznad tangente”. To kaže sledeća teorema:
20
Teorema 1. f je konveksna 
f ( x1 )T ( x2  x1 )  f ( x2 )  f ( x1 ), x1 , x2  C

Konveksnost diferencijabilne funkcije na (a, b)

Kako proveriti konveksnost funkcije?

Ako je funkcija dvaput diferencijabilna to je najlakše učiniti preko matrice


drugih izvoda na sledeći način:

1) Naći glavne minore matrice  2 f ( x) . Ako su svi pozitivni na C  f je


strogo konveksna na C.
2) Ako je su svi glavni minori nenegativni a bar jedan je jednak nuli treba
naći sve minore simetrične u odnosu na glavnu dijagonalu. Ako su svi
simetrični minori nenegativni na C  f je konveksna na C.

Navedena metodologija se zasniva na sledeće dve teoreme.

21
Teorema 2. Matrica  2 f ( x) je pozitivno definitna na C  f je strogo
konveksna na C.

Teorema 3. Matrica  2 f ( x) je pozitivno semidefinitna na C  f je


konveksna na C.

Napomena 1: Prema Silvestrovom kriterijumu pozitivna definitnost je


ekvivalentna sa pozitivnošću glavnih minora. Važi i generalizacija
Silvestrovog kriterijuma po kojoj je pozitivna semidefinitnost (
yT  2 f ( x ) y  0 y ) ekvivalentna nenegativnosti svih simetričnih minora.
Ova generalizacija nije od velike praktične važnosti jer je za veće
dimenzije broj simetričnih minora ogroman i provera je neizvodljiva.

Primer 1.

f ( x)  e x1  x2 ,
f x1  x2 f x1  x2 e x1  x2 e x1  x2 
e , e ,  f ( x)   x  x
2

x1 x2 e
1 2
e x1  x2 

Simetrični minora reda 1: 1  presek vrste 1, kolone 1


 2  presek vrste 2, kolone 2
reda 2:  3  det  2 f ( x)

1   2  e x1  x2  0,  3  0   2 f ( x) pozitivno semidefinitna  f
konveksna na R 2 .

Primer 2. Linearne funkcije su konveksne, pa problem linearnog


programiranja spada u klasu problema konveksnog programiranja.

Primer 3. Proveriti da se u primerima 1. u 3.1, 1. u 3.2 i 1. u 4.1 radi o


problemima konveksnog programiranja
Regularnost

22
Najpoznatija su sledeća dva uslova regularnosti:

R1 (Sleterov uslov). Važi ako su u (NLP) funkcije ograničenja g1 ,..., g m


konveksne i postoji x̂ tako da je gi ( xˆ )  0, i  1,..., m .

R2 . Važi u tački x̂ ako su gi ( xˆ ), i  I ( xˆ ) linearno nezavisni, gde je


I ( xˆ )  {i | gi ( xˆ )  0} skup indeksa aktivnih ograničenja u x̂ .

Napomena 1: Uslov R1 važi ili ne za problem u celini. Uslov R2 može u


nekim tačkama važiti, a u nekim ne.

Primer 4. a)
min x1
x12  x22  1

Funkcija ograničenja je konveksna (zašto?). R1 važi (npr. xˆ  (0,0) ). R2


važi u svakoj dopustivoj tački.

b)
min x1
x12  x22  0

Jedina dopustiva tačka x*  (0,0) , i u njoj je ograničenje aktivno. Ne važe


ni R1 ni R2.

Napomena 2: Vektori a1 ,..., an su linearno nezavisni ako važi implikacija


1a1  ...  n an  0  1  0,..., n  0
U slučaju n  1 implikacija se svodi na 1a1  0  1  0 , odakle sledi da
nula vektor narušava uslov linearne nezavisnosti (iz 1 0  0 ne sledi
 2 x1  0
1  0 ). U prethodnom primeru je g1 ( x*)       , pa je uslov
 2 x2  x  x* 0 
R2 u jedinoj dopustivoj tački narušen
Primer 5. Razmotrimo problem

23
min  x1
x1  0
x2  0
x2  ( x1  1) 2  0.

Dopustivi skup je prikazan na slici.

R2 ne važi u (1,0)

Grafičkom metodom dolazimo do zaključka da je optimalno rešenje


x*  (1,0) . Ograničenja problema su
g1 ( x)   x1  0, g 2 ( x)   x2  0, g3 ( x)  x2  ( x1  1) 2  0 . S obzirom da
funkcija g3 nije konveksna (  g3 jeste) ima smisla govoriti samo o uslovu
regularnosti R2. Imamo da je

 1  0  2( x1  1) 
g1 ( x)    , g 2 ( x )    , g 3 ( x)   .
 0 1
   1 

Proverimo linearnu nezavisnost gradijenta aktivnih ograničenja u


x* , xa  (0,0), xb  (0,1) .

24
1. U tački xa је I ( xa )  {1, 2},

 1  0
g1 ( xa )    , g 2 ( xa )    .
 0  1

Kako se radi o linearno nezavisnim vektorima u xa važi uslov R2

2. U tački xb je I ( xb )  {1,3},

 1  2
g1 ( xb )    , g3 ( xb )   
 0  1

i opet se radi o linearno nezavisnim vektorima, tj. u xb važi uslov R2

3. U tački x* је I ( x* )  {2,3},

 0 0
g 2 ( x * )    , g 3 ( x * )   
 1  1

i radi se o dva linearno zavisna vektora, tj. u x* ne važi uslov R2.

25
Kun-Takerova teorema (Neophodni uslovi optimalnosti; Kuhn,
Tucker, 1951). Poznata i kao Karuš-Kun-Takerova teorema.
Neka je x* lokalni minimum problema (NLP) i neka važi R1 ili u x* važi
R2. Tada postoji  *  R m tako da važi:

m
(i) f ( x )   i gi ( x )  0
* * *

i 1

(ii) i* gi ( x* )  0, i  1,..., m

(iii)  *  0

(iv) gi ( x* )  0, i  1,..., m.

Zaključak: Ako važi R1 ili u svim dopustivim tačkama važi R2 tada se


svi kandidati za lokalni minimum nalaze medju rešenjima sistema:
m
(i) f ( x)   igi ( x)  0
i 1

(ii) i gi ( x)  0, i  1,..., m

(iii)   0

(iv) gi ( x)  0, i  1,..., m.

Napomena 3:  * se naziva vektor Lagranžovih množilaca.

Primer 6. Naći sve kandidate za lokalni minimum problema


26
min e x1  x2
x12  x22  1.

Ovde je g ( x)  x12  x22  1 i uslov R1 važi na osnovu Primera 4 a) (za


svako dopustivo x važi i uslov R2; interesantno je uočiti da sada u tački
(0,0) nije aktivno ni jedno ograničenje, pa je uslov linearne nezavisnosti
trivijalno ispunjen- uporediti sa primerom 4 b)). Imamo da je

e x1  x2   2x 
f ( x )   x  x  , g ( x )   1  ,
e
1 2
  2 x2 

i Kun-Takerovi uslovi se svode na

e x1  x2   2 x1  0 
(i)  x1  x2     2 x   0
e   2  

(ii)  ( x12  x22  1)  0

(iii)   0

(iv) x12  x22  1  0 .

Vektorska jednačina (i) ekvivalentna je skalarnim jednačinama

e x1  x2  2 x1  0
e x1  x2  2 x2  0
27
odakle sledi   0 i x1  x2 . Sledi i da je x1  0, x2  0 jer je zbog (iii)
  0 . Zbog (ii) iz   0 sledi x12  x22  1  0 , tj. 2 x12  1 , pa je
2 2 e 2
x1   , x2   , . Jedini kandidat za lokalni minimum je
2 2 2
 2 2
x*    , .
 2 2 

Sledeća dva primera ilustruju činjenicu da Kun-Takerova teorema ne mora


važiti ako su uslovi R1 i R2 narušeni.

Primer 7. Razmotrimo problem

min x1
x12  x22  0.

1   2 x1 
Ovde je f ( x)    , g ( x)    . Na osnovu Primera 4 b) uslovi R1 i
0  2 x2 
R2 ne važe.

Kun-Takerov uslov (i) u tački x* se svodi na

1  * 0 0
0    
0 0 ,
     

a takvo  * ne postoji.

Primer 8. Razmotrimo ponovo problem iz Primera 5. U optimalnoj tački


x*  (1,0) ne važi R2. Kako je

28
 1  1  0
f ( x* )    , g1 ( x* )    , g 2 ( x* )    ,
 0  0  1
0 
g3 ( x* )    , g1 ( x* )  1, g 2 ( x* )  0, g 3 ( x* )  0,
1 

Kun-Takerovi uslovi (i) i (ii) glase

 1 *  1 *  0 * 0  0


   
(i)   1   2   3       
 0  0  1 1  0 
(ii) 1* (1)  0
2*  0  0
3*  0  0

Iz (ii) je 1*  0 , pa se (i) svodi na sistem od dve jednačine

1  0
2*  3*  0

koji nema rešenja.

Ukoliko su sva ograničenja u (NLP) linearna mogu se izostaviti uslovi


regularnosti:

Teorema (neophodni uslovi u slučaju linearnih ograničenja). Neka je u


(NLP) gi ( x)  aiT x  bi , i=1,...,m. Neka je x* lokalni minimum. Tada
postoji  *  R m tako da važi (i)-(iv).

U konveksnom slučaju uslovi (i)-(iv) su istovremeno i dovoljni za


optimalnost.

29
Teorema (dovoljni uslovi u konveksnom slučaju). Neka su funkcije
f , g1 ,..., g m konveksne. Ako u tački ( x* ,  * ) važe uslovi (i)-(iv) tada je x*
globalni minimum problema (NLP).

Dokaz: Imamo:

f ( x)  f ( x* )  ( zbog konveksnosti funkcije f )

 f ( x* )T ( x  x* )  ( zbog (i) )

m
= ( i gi ( x )) ( x  x ) =
* * T *

i 1

m
=  ( )g ( x )
i 1
i
*
i
* T
( x  x* )  ( zbog (iii) i konveksnosti funkcija gi )

m
  ( )( g ( x)  g ( x ) ) =
i 1
i
*
i i
*
( zbog (ii) )

m
=  (  ) g ( x )  0
i 1
i
*
i ( zbog (iii) i gi ( x )  0 )

Primer 9. Razmotrimo ponovo Primer 6. Na osnovu Primera 1 funkcija


cilja f ( x)  e x1  x2 je konveksna. Konveksna je i funkcija ograničenja
g ( x)  x12  x22  1. Tačka x*  (1/ 2, 1/ 2) zadovoljava uslove (i)-(iv)
 x* je globalni minimum.

U slučaju da je dopustivi skup problema (NLP) zadat nejednačinama


gi ( x)  0, i  1,..., m i jednačinama hi ( x)  0, i  1,..., r važi sledeća
varijanta Kun-Takerove teoreme:
30
Kun-Takerova teorema (Neophodni uslovi optimalnosti za problem
zadat nejednačinama i jednačinama)
Neka je x* lokalni minimum problema (NLP) i neka su vektori
gi ( x* ), i  I ( x* ), hi ( x* ), i  1,..., r linearno nezavisni.
Tada postoje  *  R m ,  *  R r tako da važi:

m r
(i) f ( x )    gi ( x )   i hi ( x )  0
* * * * *
i
i 1 i 1

(ii) i* gi ( x* )  0, i  1,..., m

(iii)  *  0

(iv) gi ( x* )  0, i  1,..., m, hi ( x* )  0, i  1,..., r

Napomena 4: Lagranžovi množioci koji odgovaraju jednačinama nisu


ograničeni po znaku. Uslov  i*hi ( x* )  0, i  1,..., r je trivijalno ispunjen.

4.3. PRIMENA KUN-TAKEROVE TEOREME NA LP

Neka je dat problem linearnog programiranja (P) i njegov dual (D):

31
min cT x max bT y
( P ) Ax  b ( D) AT y  c
x0 y0

Neka su X i Y dopustivi skupovi problema (P) i (D).

Teorema (slaba dualnost). Neka x0  X , y0  Y . Tada je cT x0  bT y0

Dokaz: Svodimo nejednačine na jednačine pomoću izravnavajućih


promenljivih:
Ax0  z0  b, z0  0 , AT y0  w0  c, w0  0 . Dalje imamo:

cT x0  ( AT y0  w0 )T x0  y0T Ax0  w0T x0  y0T Ax0 (jer je w0T x0  0 )

bT y0  ( A x0  z0 )T y0  x0T AT y0  z0T y0  x0T AT y0 (jer je z0T y0  0 )

Kako je y0T Ax0  x0T AT y0 sledi zaključak.

Posledica: Ako je za neko x* , y* ispunjeno x*  X , y*  Y i bT y *  cT x*



*
x* je optimalno rešenje (P), y je optimalno rešenje (D).

Dokaz: Neka je x  X proizvoljno. Važi cT x  bT y *  cT x*  x* je


optimalno rešenje (P).

Neka je sada y  Y proizvoljno. Važi bT y  cT x*  bT y *  y * je


optimalno rešenje (D).

Neke algebarske činjenice potrebne u daljem izlaganju.

1. U vektorskim formulama se podrazumeva da je x=( x1 ,..., xn ) vektor


kolona, tj.
32
 x1 
x   
 
 xn 

2.
T
 c1   x1   x1 
cT x        c  c    c x   c x
     1 n   1 1 n n

cn   xn   xn 

3. Ako je

 a11  a1n 
A  
 
 am1  amm 
i ako obeležimo sa a1 ,..., am vektore vrsta matrice A ,tj.

 a11   am1 
a1     ,..., am     matrica A se može napisati u obliku
   
 a1n   amn 

 a1T 
 
A   
 amT 
 

4.

33
 a11  a1n   x1   a11 x1   a1n xn   a1 x 
T

Ax            
      
 am1  amn   xn   am1 x1   amn xn   am x 
T

5.
 a11  am1 
AT     a  a
   1 m

 a1n  amn 

6.
 a11  am1   1 
AT       
  
 a1n  amn   m 

 a111   am1m 
     a    a
  1 1 m m

 a1n 1   amnm 

Primer 1.

1 2  1  3 1 2   x1   x1  2 x2   a1T x 
A  , a1   2  , a2   4  , Ax  3 4   x   3 x  4 x    T  ,
 3 4        2  1 2  a2 x 
1 3   1 
AT        1a1  2a2
 2 4  2 

34
Ekvivalentan zapis (P):

min cT x min cT x min cT x


Ax  b  aiT x  bi , i  1,..., m  gi ( x)  bi  aiT x  0, i  1,..., m
x0 xi  0, i  1,..., n hi ( x)   xi  0, i  1,..., n

Tražimo gradijente funkcija cilja i ograničenja:

f ( x )  c T x  f ( x )  c

gi ( x)  bi  aiT x 

hi ( x )   xi  hi ( x)  ei (koordinatni vektor, i-ta koordinata 1, ostale


0)

Neka je x* optimalno rešenje (P). Tada na osnovu Kun-Takerove teoreme


postoje  * , * tako da je

m n
(i) c    ( ai )    i (ei )  0
* *
i
i 1 i 1

(ii) i* (bi  aiT x* )  0, i  1,..., m

 i* ( xi* )   i* (eiT x* )  0, i  1,..., n

(iii)  *  0,  *  0

(iv) x*  X .

Pokazaćemo: Lagranžovi množioci 1* ,..., m* su koordinate optimalnog


rešenja duala (D).

35
a) Dopustivost:
m n
(i)  c    a    i ei  ( jer je  i*ei  0 zbog (iii) )
* *
i i
i 1 i 1
m
  a
i 1
*
i i  c  (zbog činjenice 6. )
 A *  c .
T

Kako je uz to  *  0 radi se o dopustivom rešenju problema (D).

b) Optimalnost:
m n
c x    a x    i*eiT x*  ( zbog (ii) )
T * * T
i i
*

i 1 i 1
m
  i*bi  bT  *
i 1

Na osnovu Posledice   * je optimalno rešenje (D).

Time smo dokazali sledeću teoremu

Teorema (jaka teorema dualnosti). Ako (P) ima optimalno rešenje x*


 (D) ima optimalno rešenje  * i važi cT x*  bT  *
.
Napomena 1: Za par (P)-(D) postoje 4 mogućnosti:
1) (P) i (D) imaju optimalna rešenja
2) Funkcija cT x neograničena odozdo na X, Y=
3) Funkcija bT y neograničena odozgo na Y, X=
4) X= , Y=

4.4. METODE KAZNENIH FUNKCIJA

Ideja: Dat je problem


36
min f ( x)
(NLP)
gi ( x)  0, i  1,..., m

Ako se uvede beskonačna kazna za napuštanje dopustivog skupa X :

0 x  X
q ( x)  
 x  X

problem (NLP) se može zameniti problemom bezuslovne optimizacije

min F ( x)  f ( x)  q ( x)
(BO)
x  Rn

S obzirom da se ne može računati sa  , q ( x) se aproksimira nizom


kaznenih funkcija.

Spoljašnje kaznene funkcije: aproksimacija spolja

Unutrašnje kaznene funkcije: aproksimacija iznutra.

Napomena 1: Metoda kaznenih funkcija zamenjuje (NLP) nizom


problema bezuslovne optimizacije. 1984. ovaj pristup primenjen je na LP.
Rezultujuće metode (Interior Point Methods) su na primerima velikih
dimenzija efikasnije od simpleks metode: simpleks metoda ima
eksponencijalnu složenost, unutrašnje metode imaju polinomijalnu
složenost.

a) Metoda spljašnjih kaznenih funkcija


37
Niz funkcija qk : R n  R, k  1, 2,... je niz spoljašnjih kaznenih funkcija za
problem (NLP) ako za svako k važi

(i) qk ( x)  0, x  X

(ii) qk ( x)  0, x  X

(iii) qk 1 ( x)  qk ( x ), x  X

(iv) qk ( x)  , k  , x  X

Geometrijska interpretacija niza spoljašnjih kaznenih funkcija {qk ( x)}


data je na slici:

Niz spoljašnjih kaznenih funkcija

Problemu (NLP) se pridružuje niz problema

min Fk ( x)  f ( x)  qk ( x)
(BO k )
x  Rn

Neka je sa x k označeno rešenje problema (BO k ).


Pod odgovarajućim pretpostavkama se može pokazati da x k  x* , k  ,
gde je x* rešenje (NLP)

38
Napomena 2. Ako za neko k važi x k  X tada je x k rešenje problema
(NLP), tj. x*  x k .

Sledi sledeći metodološki postupak: .

Algoritam 1 (Metoda spoljašnjih kaznenih funkcija).

Korak 0: Izabrati niz {qk }

Korak 1: k  1.

Korak 2: Rešiti (BO k ). Označiti rešenje sa x k .

Korak 3: Ako x k  X STOP ( x*  x k ).

U suprotnom, k  k  1, ići na Korak 2

Izbor niza spoljašnjih kaznenih funkcija.


m
Najčešće: qk ( x)  tk  max{0, gi ( x)}
2

i 1

gde je {tk } monotono rastući niz, tk  , k   .

Ako u (NLP) učestvuju i jednačine hi ( x)  0, i  1,..., r može se uzeti


m r
qk ( x)  tk (  max{0, gi ( x)}   ( hi ( x)) 2 )
2

i 1 i 1

Primer 1. Dat je problem

39
min x 2  6 x
x  2.
Lako se može videti da je rešenje x*  2 . Potražimo to rešenje metodom
spoljašnjih kaznenih funkcija. Neka je qk ( x)  tk max{0, x  2}2 , i neka
tk  , k   . Tada je

Fk ( x)  x 2  6 x  tk max{0, x  2}2 .

Potražimo x k kao rešenje problema bezuslovne minimizacije funkcije


Fk ( x) . Problem ćemo rešiti analitički. Razlikujemo dva slučaja:

1. max{0, x  2}  0 , tj. x  2  0 . Tada je

Fk ( x)  x 2  6 x, Fk( x)  2 x  6  0 ,

odakle je x  3 , što odbacujemo jer ne zadovoljava uslov x  2 .

2. max{0, x  2}  x  2 , tj. x  2  0 . Tada je

Fk ( x)  x 2  6 x  tk ( x  2) 2 , Fk( x)  2 x  6  2tk ( x  2)  0 ,

4tk  6
odakle je x  . Kako ovo rešenje zadovoljava uslov x  2 ,
2tk  2
4tk  6
usvajamo ga, odnosno x k
 .
2tk  2
6
4
tk   imamo lim x k  lim tk
S obzirom da je lim  2.
k  k  k  2
2
tk

b) Metoda unutrašnjih kaznenih funkcija

40
O
Neka je sa X označena unutrašnjost dopustivog skupa X (oko svake
O O
tačke u X postoji sferna okolina koja je čitava sadržana u X ), a sa X
O O
njegova granica (X  X \ X ) . Niz funkcija qk ( x) : X  R, k  1,2,... je
niz unutrašnjih kaznenih funkcija za problem (NLP) ako važi
O
(i) | qk 1 ( x) |  | qk ( x) |, x  X
O
(ii) qk ( x )  0, k  , x  X
O
(iii) qk ( x j )  , j  , za svaki niz {x j }  X takav da
x j  xˆ X , j   .

Geometrijska interpretacija niza unutrašnjih kaznenih funkcija {qk } data


je na slici.

Niz unutrašnjih kaznenih funkcija

Problemu (NLP) se pridružuje niz problema

41
min Fk ( x)  f ( x)  qk ( x)
(P k ) O
x X

Neka je sa x k označeno rešenje problema (P k ). Pod odgovarajućim


pretpostavkama se opet može pokazati da x k  x* , k   , gde je x*
rešenje (NLP)

Napomena 3: (P k ) se može rešavati približnim metodama bezuslovne


optimizacije jer se izlazak iz dopustivog skupa sprečava “barijerom”-
kaznena funkcija raste pri približavanju granici.

Sledi sledeći metodološki postupak:

Algoritam 2 (Metoda unutrašnjih kaznenih funkcija).

Korak 0: Izabrati niz {qk ( x)} .

Korak 1: k  1

Korak 2: Rešiti (P k ) i sa x k označiti rešenje.

Korak 3: k  k  1, ići na Korak 2.

Izbor niza unutrašnjih kaznenih funkcija. Najčešće:


1 m
qk ( x)    ln( gi ( x))
tk i 1
gde je {tk } monotono rastući niz, tk  , k   . Ako u definiciji (NLP)
učestvuju i jednačine metoda unutrašnjih kaznenih funkcija nije
primenljiva osim u slučaju kada se radi o linearnim jednačinama (na
primer, u slučaju (LP)).

Primer 2. Razmotrimo zadatak iz Primera 1:

42
min x 2  6 x
x  2.
1
Uzmimo sada qk ( x)   ln(2  x) . Biće
tk
1 O
Fk ( x)  x  6 x  ln(2  x), X  ( , 2) . Ponovo zadatak rešavamo
2

tk
analitičkim putem:

1
Fk( x)  2 x  6   0.
tk (2  x)

Odavde sledi kvadratna jednačina

2tk x 2  10tk x  12tk  1  0

odakle je

10tk  4tk2  8tk 10  4  8 / tk


x1,2   .
4tk 4

O
S obzirom da je x1  2, x1  X pa ga odbacujemo i imamo x k  x2 , tj.

8
10  4 
tk .
x 
k
 2, k  
4

5. PRIBLIŽNE METODE ZA NELINEARNO PROGRAMIRANJE

43
5.1. BEZUSLOVNA OPTIMIZACIJA

Problem:

min f ( x)
(BO)
x  Rn

Tipična svojstva metoda:

* Generišu niz {x k } po formuli

x k 1  x k   k s k , k  0,1,...

gde je {s k } niz pravaca, a { k } niz koraka:


...
k
s

xk k x k 1 x*

* Svaka tačka nagomilavanja x* niza {x k } zadovoljava f ( x* )  0 . Ako


je f konveksna funkcija tada je x* rešenje problema.

a) Metoda koordinatnog pretraživanja (Hooke-Jeeves)

Pravci pretraživanja: koordinatni pravci  e1 ,...,  en

44
Ideja: Koračaj istim korakom duž koordinatnih pravaca dok ima napretka.
Zatim smanji korak.

Algoritam 1 (Hooke-Jeeves).

Korak 0: Izabrati x 0  R n ,  0  0,   0 . Staviti k  0 .

Korak 1: Ispitati da li postoji s k { e1 ,..., en } tako da je


f ( xk   k sk )  f ( xk ) .
Ako postoji ići na Korak 2. U suprotnom ići na Korak 3.

Korak 2: x k 1  x k   k s k ,  k 1   k , k  k  1 i ići na Korak 1.

Korak 3:  k   k / 2 i ići na Korak 1.

Kriterijum zaustavljanja: STOP ako je  k   .

Primer 1. f ( x)  x 2 ,  0  2.5, x 0  1,  e1  1
k  0: f ( x 0   0e1 )  f (1  2.5)  3.52  f (1)
f ( x 0   0e1 )  f (1  2.5)  (1.5) 2  f (1)
 0  1.25
f (1  1.25)  (2.25) 2  f (1)
f (1  1.25)  (0.25) 2  f (1)
x1  0.25, 1  1.25, k  1, itd.

Teorema 1. Ako je x 0 takvo da je skup X  {x  R n | f ( x)  f ( x0 )}


ograničen i f je diferencijabilna na X 0 tada svaka tačka nagomilavanja x*
niza {x k } generisanog Algoritmom 1 zadovoljava uslov f ( x* )  0 .

b) Gradijentna metoda (Metoda najbržeg spusta, Košijeva metoda)

45
Ideja: funkcija najbrže opada u pravcu antigradijenta

f f
 f T s0  || f || cos   minimalna vrednost dobija se za
s s
    s  f ( x ) .
k k

Algoritam 2 (Koši).

Korak 0: Izabrati x 0  R n ,   0, k  0 .

Korak 1: Izračunati s k  f ( x k )

Korak 2: Naći k kao rešenje jednodimenzionog problema


min f ( x k   s k )
 0

Korak 3: x k 1  x k   k s k , k  k  1, ići na Korak 1.

Kriterijum zaustavljanja: STOP ako je || f ( x k ) ||   .

Teorema 2. Neka je skup X 0 ograničen, f diferencijabilna na X 0 . Tada


svaka tačka nagomilavanja x* niza {x k } generisanog Algoritmom 2
zadovoljava f ( x k )  0 .

Primer 2. Neka je f ( x)  2 x12  x22  2 x1 x2  12 x1  8 x2 .

46
Imamo da je f ( x)  (4 x1  2 x2  12, 2 x2  2 x1  8)

(s obzirom da ovde f ( x ) nećemo koristiti u matričnim formulama


možemo ga zapisati kao n -torku).

k  0:

x 0  (0,0), f ( x 0 )  (12, 8), s 0  ( 12,8), x 0   s 0  (12 ,8 ) ,

f ( x 0   s 0 )  2(12 ) 2  (8 ) 2  2(12 )(8 )  12(12 )  8(8 )

 544 2  208 ,

 0 je rešenje problema

min  ( )  544 2  208


 0

Iz  ( )  1088  208  0 sledi  0  13/ 68 .

Sada je x1  (0,0)  13/ 68(12,8)  ( 2.29,1.83) .

Slično se nastavlja dalje računanje.

c) Njutnova metoda

47
Ideja:
1
f ( x)  f ( x k )  f ( x k )T ( x  x k )  ( x  x k )T  2 f ( x k )( x  x k )  Qk ( x)
2

x k 1 – tačka minimuma funkcije Qk ( x ) . Tražimo je iz uslova:

Qk ( x)  f ( x k )   2 f ( x k )( x  x k )  0 
 2 f ( x k )( x  x k )  f ( x k )  x k 1  x k  ( 2 f ( x k )) 1 f ( x k ) 
 s k  ( 2 f ( x k )) 1 f ( x k )

Algoritam 3 (Njutn).

Korak 0: Izabrati x 0  R n ,   0, k  0 .

Korak 1: Izračunati s k  ( 2 f ( x k ))1 f ( x k )

Korak 2: Kao u Algoritmu 2.

Korak 3: Kao u Algoritmu 2.

Kriterijum zaustavljanja: Kao u Algoritmu 2.

Teorema 3. Neka je skup X 0 ograničen, f dvaput diferencijabilna na X 0 ,


 2 f ( x ) pozitivno definitna matrica na X 0 . Neka je niz {x k } generisam
Algoritmom 3. Tada x k  x* , k   ( x* jedinstveno rešenje (BO)).

Napomena 1: Ako je f ( x)  q0  cT x  xT Qx (Q pozitivno definitna


matrica) tada Njutnova metoda nalazi minimum u jednom koraku.

Primer 3. Razmotrimo ponovo problem iz Primera 2. Imamo:

48
f ( x)  (4 x1  2 x2  12, 2 x2  2 x1  8) .

 4 2 1 1/ 2 1/ 2 
2 f ( x)    , ( 2
f ( x ))  1/ 2 1  .
 2 2   

k  0 : x 0  (0,0), f ( x 0 )  (12, 8),

1/ 2 1/ 2   12  2 
s 0   2 f ( x0 ) 1 f ( x0 )         ,
1/ 2 1   8  2 

x 0   s 0  (2 , 2 ) ,

f ( x 0   s 0 )  2( 2 ) 2  (2 ) 2  2(2 )(2 )  12(2 )  8(2 ) 


,
 20  40
2

 0 je rešenje problema

min  ( )  20 2  40 .


 0

Iz  ( )  40  40  0 sledi  0  1 .

Sada je x1  (0,0)  ( 2, 2)  (2,2) .

Kako je f ( x1 )  (0,0) , optimalno rešenje je x*  x1 .

5.2. USLOVNA OPTIMIZACIJA

Mnoštvo metoda:
49
- ograničenja linearne jednačine (metoda zamene)
- ograničenja linearne nejednačine
- funkcija cilja kvadratna, ograničenja linearna (kvadratno
programiranje)
- ograničenja nelinearne jednačine i/ili nejednačine

Približna metoda kaznenih funkcija ima univerzalnu primenu, tj. može se


primeniti na većinu navedenih problema.

Algoritam približne metode kaznenih funkcija.

Korak 0: Izabrati niz kaznenih parametara {tk } i niz spoljašnjih ili


unutrašnjih kaznenih funkcija {qk }, x 0 ,   0, k  1. (Ako je izabrana
O
unutrašnja kaznena funkcija mora biti x  X .)

Korak 1: Staviti  k  1/ tk (preciznost sa kojom se rešava k-ti problem)

Korak 2: Polazeći od x k 1 kao početne tačke naći približno rešenje x k


problema
min Fk ( x)  f ( x)  qk ( x)
nekim od algoritama bezuslovne optimizacije sa kriterijumom
zaustavljanja:
STOP ako je || Fk ( x k ) ||   k .

Korak 3: k  k  1, ići na Korak 1.

Kriterijum zaustavljanja: STOP ako je  k   .

Napomena 1. Problemi u Koraku 2 rešavaju se sa rastućom tačnošću


nekim od algoritama bezuslovne minimizacije, koji je sa gledišta ovog
algoritma “crna kutija”. Rešenje prethodnog problema je početna tačka za
sledeći problem.
6. KVADRATNO PROGRAMIRANJE

Problem:
50
1 T
min f ( x)  x Qx  cT x
(QP) 2
Ax  b, x  0

1. Bez umanjenja opštosti može se pretpostaviti da je Q simetrična matrica


jer se svaka kvadratna forma može izraziti preko simetrične matrice

1 6  x1  1 3  x1 
( x1  6 x1 x2  3x2  [ x1 x2 ]  
2 2
 x  [ x x ]
1 2   x  )
 0 3  2  3 3  2

2. f ( x)  Qx  c,  2 f ( x)  Q .

3. Ako je Q pozitivno definitna matrica (svi glavni minori su pozitivni)


 f ( x ) je strogo konveksna funkcija, pa je (QP) problem konveksnog
programiranja i Kun-Takerovi uslovi su potrebni i dovoljni za globalni
minimum.

4. Ako je Q pozitivno semidefinitna matrica (svi simetrični minori su


nenegativni)  f ( x) je konveksna funkcija i važi isto kao pod 3.

5. Ako je Q negativno definitna (f je strogo konkavna) i dopustivi skup je


ograničen tada se svi globalni (i lokalni) minimumi postižu u ekstremnim
tačkama dopustivog skupa ("kišobran"). S obzirom da su kandidati za
globalne minimume ekstremne tačke, dovoljno je pretražiti konačan skup
ekstremnih tačaka i naći one sa najmanjom vrednošću funkcije cilja. Kod
primera malih dimenzija to je jednostavnije nego rešavanje sistema
jednačina i nejednačina koji proističu iz Kun-Takerovih uslova. Slično se
može postupiti u slučaju da je Q negativno semidefinitna.

6. Ako Q nije definitna kandidati za lokalne minimume se traže preko


Kun-Takerovih uslova, koji su potrebni ali ne i dovoljni za optimalnost.

6.1. PRIMENA KUN-TAKEROVIH USLOVA

51
Ekvivalentan zapis QP:

1 T
min f ( x)  x Qx  cT x
2
gi ( x)  aiT x  bi  0, i  1,..., m
hi ( x)   xi  0, i  1,..., n.

Kun-Takerovi uslovi:
(i)
m n m n
f ( x)   igi ( x)   ihi ( x)  0  Qx  c   i ai   i (ei )  0
i 1 i 1 i 1 i 1

 Qx  c  AT     0
(ii)
i gi ( x)  0, i  1,..., m i (aiT x  bi )  0, i  1,..., m

 i hi ( x)  0, i  1,..., n  i xi  0, i  1,..., n

(iii)   0,   0

(iv)
aiT x  bi  0, i  1,..., m aiT x  bi  yi  0, i  1,..., m Ax  y  b
 
 xi  0, i  1,..., n x  0, y  0 x  0, y  0

(ii) se može zapisati kao

i (aiT x  bi )  i ( yi )  0   T y  0 (jer je i  0, yi  0, i  1,..., m )

 i xi  0   T x  0 (jer je  i  0, xi  0, i  1,..., n )

Kun-Takerovi uslovi u izmenjenom redosledu:

Ax  y  b
Qx  AT     c
 T y  0,  T x  0
52
  0,   0, x  0, y  0

Nove oznake:

O  A b   y  
M  T , q  , w  , z 
A Q  c 
 
 
 
 x
 

Kun-Takerovi uslovi u novim oznakama:

w M z q
 y   0  A     b 
    AT Q   x    c 
      
 
 y      0 tj. y T    T x  0
T T

x
y  0,   0,   0, x  0

Dobijen je tzv. linearni problem komplementarnosti

w  Mz  q
(LCP) wT z  0
w  0, z  0 .

Rešenja (LCP) daju kandidate za lokalni minimum (QP). Ako je Q


pozitivno definitna matrica, rešenje (LCP) daje globalno rešenje (QP).

6.2. REŠAVANJE PROBLEMA KOMPLEMENTARNOSTI

Pretpostavka: Q pozitivno definitna matrica

Ideja: Ako je q  0 može se uzeti w  q, z  0  rešenje (QP) je


x  0, ( z  ( , x)  (0,0))  x  0
53
U suprotnom, uvodi se veštačka promenljiva z0  0 :

W  MZ  z0e  q

Odgovarajuća matrica je:

W Z z0
I M e q 

I faza: Pivotiranjem u koloni z0 postiže se q  0  z0 ulazi u bazu, jedan


wi izlazi.

II faza: Uzastopno se pivotira dok se z0 ponovo ne izbaci iz baze.

Pravilo izbora pivota: čuva se veza wi zi  0, i  1,..., n (tzv.


komplementarnost) i pozitivnost desne strane (kao u simpleks
algoritmu).

Pravilo za očuvanje komplementarnosti:


a) ako iz baze izadje wi u bazu ulazi zi
b) ako iz baze izadje zi u bazu ulazi wi

Primer 1. Rešiti problem


1
min x12  x1 x2  x22  x1  2 x2
2
3 x1  2 x2  3
x1  4 x2  4
x1  0, x2  0
54
komplementarnim algoritmom. Parametri pridruženog problema
komplementarnosti dati su sa
 O  A  1 1 3 2 
M  T  , Q   1 2  , A   1 4  ,
 A Q     
b   3  1
q    , b    , c   .
c   4  2 
Matrica Q je pozitivno definitna ( D1  1, D2  1)
Matrica  I  M e q  ovde glasi
w1 w2 w3 w4 z1 z2 z3 z4 z0
1 0 0 0 0 0 3 2 1 3
0 1 0 0 0 0 1 4 1 4 
 
0 0 1 0 3 1 1 1 1 1
 
0 0 0 1 2 4 1 2 1 2 

I faza: min{3,4, 1, 2}  2  pivot je u preseku četvrte vrste i kolone


z0 . Posle pivotiranja se dobija nova matrica:
w1 w2 w3 w4 z1 z2 z3 z4 z0
1 0 0 1 2 4 2 4 0 5
0 1 0 1 2 4 0 6 0 6
 
0 0 1 1 1 3 2 3 0 1
 
0 0 0 1 2 4 1 2 1 2 

U bazu je ušla kolona z0 , iz baze je izašla kolona w4 . Sledeća promenljiva


koja postaje bazična je z4 .
5 6 1 2 1
II faza:  min  , , ,    pivot je u preseku vrste 3 i kolone z4 .
4 6 3 2 3
Posle pivotiranja dobija se matrica

55
w1 w2 w3 w4 z1 z2 z3 z 4 z0
1 0 4 / 3 1/ 3 10 / 3 0 14 / 3 0 0 11/ 3
 
0 1 2 1 4 2 4 0 0 4 
0 0 1/ 3 1/ 3 1/ 3 1 2 / 3 1 0 1/ 3 
 
0 0 2 / 3 1/ 3 8/ 3 2 1/ 3 0 1 4 / 3 

U bazu je ušla kolona z4 , iz baze je izašla kolona w3 . Sledeća bazična


promenljiva je z3 .
 11/ 3 4 4 / 3  11
 min  , ,    pivot je u preseku vrste 1 i kolone z3 . Posle
14 / 3 4 1/ 3  14
pivotiranja dobija se matrica

w1 w2 w3 w4 z1 z2 z3 z 4 z 0
 3/14 0 2 / 7 1/14 5/ 7 0 1 0 0 11/14 
 6 / 7 1 6 / 7 5/ 7 8/ 7 2 0 0 0 6 / 7 
 
 1/ 7 0 1/ 7 2 / 7 1/ 7 1 0 1 0 6/7 
 
 1/14 0 4 / 7 5/14 17 / 7 2 0 0 1 15/14 

U bazu je ušla kolona z3 , iz baze je izašla kolona w1 . Sledeća bazična


promenljiva je z1 .

11/14 6 / 7 6 / 7 15/14  15
 min  , , ,   pivot je u preseku vrste 4 i
 5/ 7 8 / 7 1/ 7 17 / 7  36
kolone z1 . Nova matrica je

56
w1 w2 w3 w4 z1 z2 z3 z 4 z0
 4 /17 0 2 /17 3/17 0 10 /17 1 0 5 /17 8 /17 
 14 /17 1 10 /17 15 /17 0 52 /17 0 0 8 /17 6 /17 
 
 5 / 34 0 3/17 8 / 34 0 15/17 0 1 1/17 27 / 34 
 
 1/ 34 0 4 /17 5/ 34 1 14 /17 0 0 7 /17 15 / 34 
U bazu je ušla kolona z1 , iz baze je izašla kolona z0 i postupak se
zaustavlja.

Optimalno rešenje problema komplementarnosti je


w  (0,6 /17,0,0), z  (15/ 34,0,8 /17, 27 / 34) .

Optimalno rešenje polaznog problema je x  (8 /17,27 / 34) .

7. PRIMENA NELINEARNOG PROGRAMIRANJA NA LP

Primalni problem:

57
min cT x
(P) Ax  b
x0

a) Simpleks metoda (Dantzig, 1947)

Ideja: Obilazi temena dopustivog skupa dok ne dodje do optimalnog .


Broj temena T eksponencijalno raste sa dimenzijom problema:

n 
T    , A  [aij ]mn .
m
m
 n  n(n  1) (n  m  1)  n 
Važi ocena:     
 m m(m  1)1 m
m
n   n 
Ako je, npr. n  1000, m  500,       2500 .
m  m 

Naravno, simpleks ne obilazi sva temena, tako da se ova pesimistička


prognoza ne mora ostvariti. Klee i Minty 1972 konstruišu klasu primera
kod kojih simpleks mora da obidje sva temena, čime je pokazano da
simpleks nije polinomijalan algoritam. Ipak, u praksi dobro radi.

b) Unutrašnje metode (Interior Point Methods, Karmarkar, 1984)

Ideja: Pažljiva primena metode unutrašnjih kaznenih funkcija na LP


dovodi do polinomijalnih algoritama za LP (broj elementarnih računskih
operacija potrebnih za rešavanje problema ograničen je stepenom
funkcijom po dimenziji problema; stepene funkcije rastu mnogo sporije od
eksponencijalnih!). Umesto po granici ide se kroz unutrašnjost dopustivog
skupa.

Broj različitih unutrašnjih metoda veliki. Jednostavan primer- Gonzagina


metoda.

58
Dualni problem:

max bT y
(D) AT y  c
o
Y  { y  R m | AT y  c}  

Logaritamska kazna za problem maksimizacije

1 m m
qk ( y )   ln(ci  Ai y )   k  ln(ci  AiT y )
T

tk i 1 i 1

gde tk   , tj.  k  0, a sa Ai su označene kolone matrice A (tj. vrste


matrice AT ).
Maksimizuje se nova funkcija cilja: Fk ( y )  bT y  qk ( y ) .

Algoritam (Gonzaga, 1991)


o
Korak 0: Naći y 0  Y ,  0  0, k  0 .
 1 
Korak 1:  k 1  1   k
 41 n 
k 1 k 1
Korak 2: y  y  [ yy Fk 1 ( y )]  y Fk 1 ( y )
k 2 k

(jedan korak Njutnove metode za maksimizaciju funkcije Fk 1 ( y ) polazeći


iz y k )

Korak 3: k  k  1, ići na Korak 1.

Posle O(n0.5  L) koraka dobija se približno rešenje y k sa koga se može


“skočiti” na tačno rešenje y * . Ukupan broj računskih operacija za
dobijanje y * je manje ili jednako od const  n3.5  L
(L je ukupna dužina ulaznih podataka A, b, c u bitovima).
59
Nove metode su efikasnije od simpleksa za probleme velikih dimenzija.
Novi softveri: simpleks + unutrašnje metode

Poredjenja sa simpleksom:

Simpleks Unutrašnje
metode
Problem m n br. vreme br. vreme
iteracija (sec) iteracija (sec)
1 5831 7689 16041 664 41 132
2 2030 4883 11578 1459 42 621
3 6507 13610 27257 2017 30 133
4 3352 16298 8938 309 44 69
5 8335 21200 104687 12417 41 418
6 43387 106908 19935 7430 56 632
7 18800 38540 95857 19889 64 3688

8. CELOBROJNO PROGRAMIRANJE

Problem:

60
min cT x
(CP) Ax  b
x  0, x  Z n

gde su svi koeficijenti u A, c, b celobrojni.

Karakteristike:

1. Ne postoji kriterijum optimalnosti

2. Dopustivi skup konačan, potpuna pretraga nemoguća ako je


problem većih dimenzija

Važan specijalni slučaj binarno programiranje:

min cT x
Ax  b
x {0,1}n

Mešovito celobrojno programiranje: uslov celobrojnosti nametnut samo


na neke od promenljivih.

Prva ideja: 1. zanemariti celobrojnost, 2. rešiti LP, 3. zaokružiti


koordinate rešenja na najbliže cele brojeve. Može se dobiti nedopustivo
rešenje, koje je na velikom odstojanju od optimalnog.

Primer 1:

61
max x  y
2003 x  2001 y  0
4004 x  4002 y  2001
x  0, y  0, x, y  Z

Ako se izostavi uslov celobrojnosti i reši LP dobija se


x*  (2001/ 2, 2003/ 2) (1000,1001)  nedopustivo rešenje.
Jedina celobrojna dopustiva tačka je (0,0), i ona predstavlja rešenje
problema.

Druga ideja: Prevodjenje problema na NLP.

1. uslov x  Z zamenjuje se uslovom sin ( x)  0


LP se na taj način prevodi na NLP, nekonveksan problem, mora se
primeniti globalna optimizacija.

2. U slučaju binarnog programiranja uslov x {0,1} zamenjuje se uslovom


x( x  1)  0 . Opet dobijamo nekonveksan NLP.

Treća ideja: Problem ranca ima oblik:

max c1 x1    cn xn
a1 x1    an xn  b
xi  0, xi  Z , i  1,.., n

Pokazuje se da se svaki problem (CP) može svesti na problem ranca


postupkom zvanim agregacija. Dimenzije problema se uvećavaju.

Metode celobrojnog programiranja.

62
Nijedna od navedenih ideja nema praktični značaj. Metode celobrojnog
programiranja se uglavnom zasnivaju na inteligentnoj pretrazi dopustivog
skupa (za razliku od totalne pretrage, koja je nemoguća). Najvažnije klase
metoda:
a) metode odsecanja
b) metode implicitne enumeracije
c) metode grananja i ograničavanja
d) metode grananja i odsecanja
e) heuristike (ne garantuju nalaženje optimalnog rešenja)

Celobrojni poliedri.

U nekim specijalnim slučajevima do rešenja problema celobrojnog


programiranja se može doći metodama LP. Naime, ako je skup dopustivih
rešenja tzv. celobrojni poliedar (sva njegova temena imaju celobrojne
koordinate) tada se do optimalnog celobrojnog rešenja može doći
simpleks metodom.

Primer 2. Može se dokazati da je skup dopustivih rešenja transportnog


problema
m n
min  cij xij
i 1 j 1
m

x
i 1
ij  p j , j  1,..., n
n

x
j 1
ij  qi , i  1,..., m

xij  0, xij  Z , i  1,..., m, j  1,..., n.

celobrojni poliedar, pa je ovaj problem rešiv simpleks metodom.


Zahvaljujući specijalnoj strukturi problema za njega postoje posebno
prilagodjene verzije simpleks metode.

63
Problem trgovačkog putnika

Neka je dato n koje treba da obiđe trgovački putnik tako da troškovi puta
budu minimalni. Data je matrica C  cij  nn , gde cij označava trošak puta
od grada i do grada j. Pretpostavićemo da je problem zatvoren (putnik
mora da se vrati u grad iz koga je pošao) i simetričan (cena puta od grada
i do grada j je ista u oba smera). Takođe ćemo pretpostaviti da su svaka
dva grada povezana putem. Ovo je najpoznatija varijanta problema.

Problem trgovačkog putnika spada u klasu NP-teških problema i za njega


nije poznat polinomijalni algoritam. Zatvoren put koji obilazi sve gradove
zvaćemo tura. Broj različitih tura je (n-1)!/2 jer cena ne zavisi od smera
obilaska.

Primer 3. n=4

Problem trgovačkog se može modelirati na razne načine.

Formulacija 1.

1 ako tura spaja grad i i grad j


Neka je xij  
0 inače

S obzirom da je u ovoj interpretaciji xij  x ji dovoljno je raditi sa


n( n  1) / 2 promenljivih xij , i  j .

Celobrojni model M1:

64
n
min  c x
i 1 j i
ij ij

(1.1) x x
j i
ji
j i
ij  2, i  1,..., n

(1.2)  x
iS jS
ij  S  1, S  X , S  , S  X

i j
xij   0,1 , 1  i  j  n

Ovde je X   1,..., n , S označava kardinalnost skupa S.


Prva grupa ograničenja garantuje da tura izlazi i ulazi iz svakog grada.
Druga grupa ograničenja sprečava da se tura raspadne na više disjunktnih
pod-tura. Broj ovih ograničenja raste eksponencijalno sa dimenzijom
problema. Obično se dodaju postepeno, samo ona koja su narušena.

Primer 4. n  6 .

Broj promenljivih xij , i  j : 15

Funkcija cilja: c12 x12  ...  c56 x56 .

Ograničenja (1.1):
x12  x13  x14  x15  x16  2
x12  x23  x24  x25  x26  2
x13  x23  x34  x35  x36  2
x14  x24  x34  x45  x46  2
x15  x25  x35  x45  x56  2
x16  x26  x36  x46  x56  2

Ograničenja (1.2): Lako je videti da se u drugoj grupi bez umanjenja


opštosti može pretpostaviti |S| ³ 3, |S| £ |X| - 3

65
U našem slučaju je dovoljno razmatrati tročlane podsupove skupa {1,...,6},
kojih ima 20. Npr. skupu S = {1,4,5} odgovara ograničenje:

x14  x15  x45  2

koje sprečava pod-turu


1

LP relaksacija modela M1 dobija se kada se ograničenja xijÎ{0,1} zamene


sa 0£xij£1.

Metodološki postupak

1. Reši se LP relaksacija sa ograničenjima (1.1). Postepeno se dodaju


ograničenja (1.2) dok se ne dobije tura.
2. Ako sve promenljive u optimalnom rešenju LP relaksacije imaju
celobrojnu vrednost dobijena je optimalna tura. U suprotnom ide se
na 3.

3. Primenjuju se tehnike grananja i ograničavanja (grananja i odsecanja)


dok se ne dobije optimalna tura.

Formulacija 2.

1 ako putnik ide iz grada i u grad j


Neka je xij  
0 inače

U ovoj formulaciji xij i xji nemaju isto značenje. Podrazumava se da je i ¹ j


pa je broj promenljivih n(n-1)

66
Celobrojni model M2:
n
min  c x
i 1 j i
ij ij

n
(2.1) x
i 1
ij  1, j  1,..., n

i j
n
(2.2) xj 1
ij  1, i  1,..., n

ji
(2.3) ui  u j  nxij  n  1, i  j , i, j  2,..., n
xij   0,1 , i  j , i, j  1,..., n
u j  0, j  1,..., n

Uslovi (2.1) i (2.2) garantuju da putnik ulazi i izlazi iz svakog grada.


Uslovi (2.3) sprečavaju pod-ture. Npr. ukoliko postoji pod-tura iz primera
4, orijentisana, na primer na način 1-4-5-1:
1

mora postojati i podtura koja ne sadrži grad 1. U ovom slučaju to je


podtura koja spaja preostala tri grada, orijentisana, na primer na način 2-3-
6-2:
2

Ovde je x23  1, x36  1, x46  1, što je nemoguće jer iz

67
u2  u3  6 x23  5
u3  u6  6 x36  5
u6  u2  6 x62  5

sledi 6( x23  x36  x62 )  15 .

LP relaksacija modela M2 se kao i ranije dobija kada se ograničenja


xijÎ{0,1} zamene sa 0 £ xi j£1.

LP relaksacija M2 lakša je za primenu na problemima malih dimenzija. Za


primera velikih dimenzija koristi se LP relaksacija M1 jer daje bolju donju
ocenu optimalne vrednosti funkcije cilja. Programski paketi za egzaktno
rešavanje problema trgovačkog putnika zasnivaju se na LP relaksaciji M1
kombinovanoj sa metodama odsecanja i grananja. Najveći do sad
egzaktno rešen problem ima oko 75000 gradova (ali postoje problemi od
3000 gradova koji nisu reseni). Postoje i vrlo efikasne heuristike.

68

You might also like