You are on page 1of 41

UNIVERZITET U PRIXTINI

Prirodno-matematiqki fakultet

NEKI METODI OPTIMIZACIJE


U REXAVANjU PROBLEMA
NELINEARNOG PROGRAMIRANjA

-diplomski rad-

Mentor: Student:
dr Vladica Stojanovi Dragana Delqev
2
Sadrжaj

1. Uvod 4

2. Formulacija NLP problema 6

3. Konveksne funkcije 9
3.1 Pojam gradijenta. Diferencijabilnost . . . . . . . . . 10
3.2 Ekstremalne osobine konveksnih funkcija . . . . . . . . 14

4. Rexavanje NLP problema 19


4.1 Lagranжov dualni zadatak. Gradijentni metod . . . . . 19
4.2 Uslovi optimalnosti Kun-Takera . . . . . . . . . . . . . 25

5. Dinamiqko programiranje 30
5.1 Belmanov princip optimalnosti . . . . . . . . . . . . . . 31
5.2 Neke primene DP modela . . . . . . . . . . . . . . . . . . 34

Literatura 41

3
4 1. Uvod

1. Uvod

Sve vea ”matematizacija” nauke implicira znaqajnu primenu


matematiqkih modela u opisivanju sloжene realnosti. Ovo je jedan
od osnovnih motiva za uvoenjem matematiqkih metoda u rexavanju
razliqitih praktiqnih problema u oblasti ekonomije, saobraaja,
organizacije poslovanja i sliqno. Takvi postupci qesto su zas-
novani na algoritamskom, iterativnom pristupu koji podrazumeva
primenu savremene informacione tehnologije i softvera. Matema-
tiqkim, egzaktnim modeliranjem i formalnim zasnivanjem takvih
metoda bavi se posebna oblast matematike koju nazivamo Matema-
tiqko programiranje.
Osnovni zadatak ove matematiqke discipline jeste matemati-
qko modeliranje i rexavanje razliqitih problema, a u cilju opti-
mizacije realnih pojava i procesa. Velika veina takvih modela
odnosi se na fundamentalan metod poznat kao Linearno programi-
ranje. U njemu centralno mesto ovde zauzima svakako quveni Sim-
pleks metod, efektivan postupak za odreivanje optimalnog pro-
grama koji e zadovoljiti uslove opisane odgovarajuim (linear-
nim) modelom. Ovaj metod danas predstavlja osnovu za rexavanje
ogromnog broja problema i zadataka, kako teoreckih tako i prak-
tiqnih.
U okviru ovog rada opisaemo dve vaжne klase modela koji,
iako srodni linearnom programiranju, ne mogu biti rexavani na
isti naqin. Prvi od njih predstavlja, u stvari, qitav niz ra-
zliqitih postupaka za rexavanje tzv. problema nelinearnog pro-
gramiranja.1 Req je o grupi metoda namenjenoj rexavanju velikog
broja upravljaqkih zadataka koji nastaju ”prelaskom” sa linear-
ne na nelinearnu zavisnost funkcije cilja, odnosno odgovarajueg
sistema ograniqenja.
U prvom delu rada izloжen je osnovni matematiqki model neli-
nearnog programiranja koji, uvodei nelinearnu funkcija cilja
F , odnosno odgovarajui sistem ograniqenja, predstavlja uopxteni
model koji u sebi sadrжi i linearni model kao svoj specijalni
sluqaj. Zatim su u najkraim crtama date su osnovne pretpostavke
ovakvog modela zajedno sa osnovnim postupcima njegovog rexavanja.
1
Termin nelinearno programiranje u daljem tekstu zapisujemo skraenicom
NLP.
1. Uvod 5

U tesnoj vezi sa nelinearnim programiranjem jeste model di-


namiqkog programiranja (DP model). S obzirom da nelinearni karak-
ter funkcije cilja, DP model se moжe smatrati posebnim oblikom
NLP modela koji se, uglavnom, koristi u sluqajevima tzv. separa-
bilne funkcije cilja F . Ona se tada moжe rasqlaniti na ”delove”
koji zavise samo od jedne promenljive (nepoznate) veliqine, pa se
sam postupak optimizacije obavlja nizom posebnih, odvojenih pro-
cedura. S tim u vezi opisan je poznati Belmanov princip optimal-
nosti, kao i niz optimizacionih procedura nalaжenja optimalnog
upravljanja, koje su zasnovane upravo na njemu.
6 2. Formulacija NLP problema

2. Formulacija NLP problema

Vesmo istakli da se problemi NLP-a javljaju u sluqajevima


kada su funkcija cilja, odnosno odgovarajui sistem ograniqenja,
definisani nelinearnim zavisnostima. Na жalost, ovakvi prob-
lemi ne mogu se rexavati nekim univerzalnim postupkom, kakav
je u sluqaju LP modela bio Simpleks algoritam. Xtavixe, LP
model predstavlja specijalan sluqaj opxteg NLP modela, za qije
je rexavanje razvijen ogroman broj razliqitih metoda i postupaka.
Svi oni, uglavnom, zavise od naqina i tipa nelinearnosti koja se
javlja u konkretnom NLP problemu, tako da veliki broj ovih prob-
lema jox uvek nije rexen. Upravo zato, ovde emo se samo nakratko
upoznati sa najznaqajnim pojmovima, modelima i postupcima rexa-
vanja ovakvih zadataka. (Za detaljnije prouqavanje NLP problema
qitaocu predlaжemo monografije [1] i [3].)
Opxti zadatak nelinearnog programiranja kakav emo ovde pos-
matrati je sledeeg oblika:
Minimizirati funkciju f (x) pri uslovima
gi (x) ≤ 0, i = 1, . . . , m,
gde su f, g1 , . . . , gm funkcije definisane u Rn , a x ∈ Rn .
Zadatak se, sliqno LP problemu, sastoju u nalaжenju vektora
x = (x1 , . . . , xn )T ∈ Rn
koji zadovoljava zadata ograniqenja, a pri tome odgovara minimal-
noj vrednosti funkcije f (x). Ova funkcija, kao i obiqno, naziva
se funkcijom cilja, a svaki uslov gi (x) ≤ 0, i = 1, . . . , m, njenim
ograniqenjem. Vektor x ∈ Rn koji zadovoljava sva ograniqenja,
naziva se dopustivim (moguim) rexenjem ili dopustivom taq-
kom. Skup svih dopustivih rexenja obrazuje dopustivu oblast
S ⊆ Rn .
Na taj naqin, zadatak nelinearnog programiranja sastoji se u
nalaжenju takve dopustive taqke x∗ , za koju je f (x∗ ) ≤ f (x) za svako
dopustivo rexenje x. Taqka x∗ naziva se optimalnim rexenjem
ili, prosto, rexenjem zadatka NLP-a. Zadatak NLP-a, naravno,
moжe biti formulisan i kao zadatak maksimizacije funkcije f (x),
a ograniqenja-nejednakosti zapisana u obliku
gi (x) ≥ 0, i = 1, . . . , m.
2. Formulacija NLP problema 7

U specijalnom sluqaju, kada je funkcija cilja f (x) linearna i sva


ograniqenja mogu biti predstavljena u obliku linearnih jednaqina
i/ili nejednaqina, gore formulisani zadatak postaje zadatak li-
nearnog programiranja.
Primer 1. Razmotrimo sledei zadatak NLP-a:
Treba minimizirati funkciju
f (x1 , x2 ) = (x1 − 3)2 + (x2 − 2)2
pri uslovima
x21 − x2 − 3 ≤ 0
x2 − 1 ≤ 0
−x1 ≤ 0.
Na slici 1 predstavljena je dopustiva oblast moguih rexenja ovog
problema. Zadatak se sastoji u nalaжenju takve taqke iz dopustive
oblasti, za koju f (x1 , x2 ) ima najmanju moguæu vrednost.

Slika 1: Geometrijski naqin rexavanja zadatka nelinearnog programi-


ranja: 1–nivoske linije funkcije cilja; 2–optimalna taqka; 3–dopustiva
oblast

Primetimo da taqka (x1 , x2 ) koja zadovoljava jednaqinu


(x1 − 3)2 + (x2 − 2)2 = c

leжi na kruжnici radijusa c sa centrom u taqki (3, 2). Za svako
c ≥ 0 takva kruжnica naziva se nivoskom linijom funkcije cilja
8 2. Formulacija NLP problema

koja odgovara zadatoj vrednosti c. Na taj naqin, zadatak se sastoji


u nalaжenju minimalnog c pri kojem barem jedna taqka kruжnice
pripada dopustivoj oblasti.
Drugim reqima, neophodno je nai kruжnicu najmanjeg polupreq-
nika koja bi presecala dopustivu oblast. Jasno je da takva kruж-
nica, polupreqnika c = 2, postoji i preseca dopustivu oblast
u jedinstvenoj taqki (2, 1). Dakle, (x1 , x2 ) = (2, 1) je optimalno
rexenje postavljenog zadatka, a optimalna, minimalna vrednost
funkcije cilja f (x1 , x2 ) je njena vrednost u toj taqki, tj.

(min) f = f (2, 1) = 2. ✷

U opxtem sluqaju, kako smo ve istakli, rexavanje problema


NLP-a povezano je sa nizom potexkoa. Veina postojeih al-
goritama zasniva se na izvesnim dodatnim pretpostavkama o os-
obinama funkcije cilja i sistema ograniqenja, koje se, najqexe
odnose na probleme konveksnosti, koju dalje preciznije razmatramo.
3. Konveksne funkcije 9

3. Konveksne funkcije

U ovom delu najpre dajemo pojam konveksnih i konkavnih funkcija,


a zatim ispitujemo uslove diferencijabilnosti i egzistencije nji-
hovih ekstremuma.

Definicija 1. Neka je f : S → R, gde je S neprazan konveksan skup


iz Rn . Kaжemo da je funkcija f konveksna na S, ako je

f [λx1 + (1 − λ)x2 ] ≤ λf (x1 ) + (1 − λ)f (x2 ), (1)

za proizvoljne x1 , x2 ∈ S i λ ∈ (0, 1). Funkcija f je strogo konvek-


sna na S, ako je u (1) znak stroge nejednakosti. Najzad, funkcija
f : S → R je konkavna (strogo konkavna), ako je −f konveksna
(strogo konveksna) na S, tj. ako u (1) vaжe ”obrnute” nejednakosti.

Slika 2: a) Konveksna funkcija; b) konkavna funkcija; c) funkcija koja


nije ni konveksna ni konkavna

Geometrijsku interpretaciju razmatranih pojmova moжemo dati


u sluqaju n = 1, kao na slici 2. Za proizvoljne taqke x1 i x2
oblasti S taqka

λf (x1 ) + (1 − λ)f (x2 ), λ ∈ (0, 1)

pripada segmentu sa krajevima A (x1 , f (x1 )) i B (x2 , f (x2 )). S druge


strane, f [λx1 + (1 − λ)x2 ] je vrednost funkcije f u taqki segmenta
x1 x2 . Oqito, segment A B leжi iznad grafika konveksne funkcije,
a u sluqaju konkavnosti ispod njega.
10 3. Konveksne funkcije

3.1 Pojam gradijenta. Diferencijabilnost

U ovom odeljku, definisaemo najpre pojam izvoda fukcije f po


pravcu zadatog vektora. Zatim definixemo pojmove subgradijenta
i gradijenta koji su, kako emo uskoro pokazati, u tesnoj vezi sa
problemima optimizacije konveksnih i konkavnih funkcija. Na
kraju, na osnovu gradijenata, opisujemo i pojam diferencijabil-
nosti, koji se u sluqaju konveksnih funkcija moжe zadati na vixe
ekvivalentnih naqina.

Definicija 2. Neka je S 6= ∅ konveksan skup iz Rn i f : S → R.


Pretpostavimo da je x0 ∈ S i d ∈ Rn nenulti vektor takav da je
x0 + λd ∈ S za dovoljno malo λ > 0. Izvodom funkcije f u taqki x0
po pravcu d, u oznaci f ′ (x0 ; d), naziva se graniqna vrednost

f (x0 + λd) − f (x0 )


f ′ (x0 ; d) = lim ,
λ→0+ λ
ukoliko ona postoji.

Definicija 3. Neka je S 6= ∅ konveksan skup iz Rn i f : S → R kon-


veksna funkcija. Vektor ξ ∈ Rn se naziva subgradijentom funkcije
f u taqki x0 ∈ S ako je

f (x) ≥ f (x0 ) + ξ T (x − x0 ) (2)

za svako x ∈ S. Analogno, ako je f : S → R konkavna funkcija, onda se


ξ naziva subgradijentom funkcije f u taqki x0 ∈ S ako je

f (x) ≤ f (x0 ) + ξ T (x − x0 ) (3)

za svako x ∈ S.

Definicija 4. Neka je S 6= ∅ skup iz Rn i f : S → R. Kaжemo da


je funkcija f diferencijabilna u taqki x0 ∈ S ako postoji vektor
∇f (x0 ), nazvan gradijentom, takav da je

f (x) = f (x0 ) + ∇f (x0 )T (x − x0 ) + o(x − x0 ), (4)

za svako x ∈ S. Funkcija f je diferencijabilna na otvorenom skupu


S ′ ⊆ S ako je ona diferencijabilna u svakoj taqki skupa S ′ .
3. Konveksne funkcije 11

Slika 3: Geometrijska interpretacija subgradijenta: (a)- konveksna


funkcija; (b) - konkavna funkcija

Jasno je da funkcija f (x), diferencijabilna u taqki x0 , moжe


imati samo jedan vektor-gradijent
 T
∂ f (x0 ) ∂ f (x0 ) ∂ f (x0 )
∇f (x0 ) = , , ··· , ,
∂ x1 ∂ x2 ∂ xn

gde su ∂ f∂ (x
xi
0)
parcijalni izvodi funkcije f (x) u taqki x0 . S druge
strane, na osnovu (2) i (3) zakljuqujemo da se subgradijenti difer-
encijabilne funkcije f : S → R u taqki x0 ∈ S podudaraju sa
jedinstvenim vektorom - gradijentom funkcije f (x) u taqki x0 . Kao
ilustraciju, dajemo sledei jednostavan primer.
Primer 2. Neka je f (x) = max{f1 (x), f2 (x)}, gde je

f1 (x) = |x| i f2 (x) = (x − 2)2 , 0 ≤ x ≤ 2.

Funkcija f (x) moжe se zapisati u obliku

 (x − 2)2 , 0 ≤ x ≤ 1;

f (x) =
x, 1≤x≤2

pa je jasno da je req o konveksnoj funkciji definisanoj na inter-


valu [0, 2] (slika 4).
Za gradijent funkcije f (x) vaжi

 2(x − 2), 0 ≤ x < 1;
∇f (x) =
1, 1 < x ≤ 2.

12 3. Konveksne funkcije

Slika 4:

Oqito, u taqki x = 1 funkcija f (x) nije diferencijabilna, pa


gradijent ne postoji. Ipak, familija subgradijenata odreuje se
relacijom

ξ = λ∇f1 (1) + (1 − λ)∇f2 (1) = λ − 2(1 − λ) = 3λ − 1 za λ ∈ [0, 1].

Dakle, proizvoljno ξ ∈ [−1, 2] jeste subgradijent funkcije f (x) u


taqki x = 1. ✷

Gradijent funkcije f predstavlja vaжan mehanizam u ispiti-


vanju njenih osobina. Sledee tvrenje to potvruje.

Teorema 1. Neka je S ⊆ Rn neprazan konveksan skup i f : S → R


funkcija diferencijabilna u njegovoj unutraxnjosti.2 Tada su sledei
iskazi ekvivalentni:

(i) Funkcija f (x) je konveksna na skupu S.

(ii) Za proizvoljno x0 , x ∈ S vaжi

f (x) ≥ f (x0 ) + ∇f (x0 )T (x − x0 ). (5)

(iii) Za proizvoljno x1 , x2 ∈ S vaжi


 T
∇f (x2 ) − ∇f (x1 ) (x2 − x1 ) ≥ 0. (6)
2
Unutraxnjost skupa S oznaqiemo sa int S. Kao xto znamo, skup S je otvoren
ako je S = int S.
3. Konveksne funkcije 13

Dokaz. (i) =⇒ (ii): Ako je f (x) konveksna funkcija, onda nejed-


nakost (5) predstavlja definicionu nejednakost njenog subgradi-
jenta.
(ii) =⇒ (i): Pretpostavimo da vaжi (5) i pokaжimo konveksnost
za f (x). Neka su x1 , x2 ∈ S proizvoljne taqke i

x = λx1 + (1 − λ)x2 , λ ∈ (0, 1).

Tada je, na osnovu (5),

f (x) ≤ f (x1 ) − ∇f (x)T (x1 − x)


f (x) ≤ f (x2 ) − ∇f (x)T (x2 − x).

Nakon mnoжenja sa λ > 0 i 1 − λ > 0, respektivno, a zatim sabiran-


jem, prethodne dve nejednakosti daju

λf (x) + (1 − λ)f (x) ≤ λf (x1 ) + (1 − λ)f (x2 ) −


− ∇f (x)T λx1 + (1 − λ)x2 − λx − (1 − λ)x .
 

Nakon sreivanja, poslednja nejednakost postaje uslov konveksnosti


(1) funkcije f (x).
(ii) =⇒ (iii): Pokazaemo sada da iz nejednakosti (5) sledi (6).
Ako u (5) zamenimo x0 i x najpre sa x1 i x2 , a zatim sa x2 i x1 ,
respektivno, dobijamo

∇f (x1 )T (x2 − x1 ) ≤ f (x2 ) − f (x1 )


∇f (x2 )T (x1 − x2 ) ≤ f (x1 ) − f (x2 ).

Sabiranjem ove dve nejednakosti daju

∇f (x1 )T (x2 − x1 ) + ∇f (x2 )T (x1 − x2 ) ≤ 0,

odnosno
∇f (x1 )T − ∇f (x2 )T (x2 − x1 ) ≤ 0,
 

xto je ekvivalentno sa (6).


(iii) =⇒ (ii): Pretpostavimo da vaжi (6), ali da nejednakost (5)
nije ispunjena. Tada, dakle, postoje x, x0 ∈ S takvi da je

f (x) < f (x0 ) + ∇f (x0 )T (x − x0 ).

S druge strane, za dovoljno malo kx − x0 k ≈ 0, na osnovu diferen-


cijabilnosti funkcije f (x) vaжi

f (x0 ) ≈ f (x) + ∇f (x)T (x0 − x),


14 3. Konveksne funkcije

odakle zamenom u prethodnu nejednakost dobijamo

f (x) < f (x) + ∇f (x)T (x0 − x) + ∇f (x0 )T (x − x0 ).

Ova nejednakost, nakon sreivanja daje


 T
∇f (x0 ) − ∇f (x) (x0 − x) < 0,

xto je, oqito, u suprotnosti sa (6).

3.2 Ekstremalne osobine konveksnih funkcija

Neka je f : S → R, S ⊆ Rn konveksna funkcija. Razmotrimo


problem minimizacije funkcije f (x) pri uslovima x ∈ S. Kao i
ranije, svaka taqka x0 ∈ S bie dopustivo (mogue) rexenje ovog
zadatka. Ako je, dodatno, pored uslova x0 ∈ S zadovoljen i uslov

f (x0 ) ≤ f (x), za svako x ∈ S,

onda se x0 naziva optimalnim (globalnim) rexenjem datog prob-


lema NLP-a. Pri navedenim pretpostavkama, uvodimo jox jedna
vaжan pojam koji emo koristiti u daljem radu.

Definicija 5. Ako je x0 ∈ S i U (x0 ) otvorena okolina taqke x0


takva da je
f (x0 ) ≤ f (x), ∀ x ∈ U (x0 ) ∩ S,
onda je x0 lokalno (optimalno) rexenje zadatog problema NLP-a.

Pojam lokalnog rexenja daje mogunost karakterizacije glob-


alnih optimuma konveksnih funkcija. Naime, vaжi

Teorema 2. Neka je S 6= ∅ konveksan skup iz Rn i f : S → R. Neka je,


dalje, x0 ∈ S lokalno optimalno rexenje zadatka minimizacije f (x)
pri uslovime x ∈ S. Tada vaжi:

(i) Ako je f (x) konveksna funkcija, onda je x0 globalno optimalno


rexenje datog problema NLP-a.

(ii) Ako je f (x) strogo konveksna funkcija, onda je x0 jedinstveno


globalno optimalno rexenje.
3. Konveksne funkcije 15

Dokaz. (i) Neka je x0 ∈ S (lokalno) optimalno rexenje problema


minimizacije konveksne funkcije f (x) pri uslovima x ∈ U (x0 ) ∩ S i
x ∈ S proizvoljna taqka. Tada, za dovoljno malo λ > 0 vaжi (slika
5)
xλ = λx + (1 − λ)x0 ∈ U (x0 ) ∩ S.

Slika 5:

Dalje, zbog optimalnosti na skupu U (x0 ) ∩ S i konveksnosti


funkcije f (x), imamo

f (x0 ) ≤ f (xλ ) ≤ λf (x) + (1 − λ)f (x0 ).

odnosno
λf (x0 ) ≤ λf (x) ⇐⇒ f (x0 ) ≤ f (x).

Dakle, ispunjen je uslov optimalnosti, tj. x0 jeste (globalno)


optimalno rexenje datog problema.
(ii) Analogno kao (i).

Na osnovu ranije definisanog pojma gradijenta funkcije, moжemo


dati jox neke karakterizacije optimalnih rexenja NLP-problema.

Teorema 3. Neka je S 6= ∅ konveksan skup iz Rn i f : S → Rn konvek-


sna funkcija, diferencijabilna na skupu int S. Taqka x0 ∈ int S je
optimalno rexenje problema minimizacije f (x) pri uslovima x ∈ S
akko za svako x ∈ S vaжi

∇f (x0 )T (x − x0 ) ≥ 0. (7)
16 3. Konveksne funkcije

Dokaz. Pretpostavimo da je x0 optimalno rexenje datog zadatka,


ali da nije ispunjen uslov (7), tj. da za neko x1 ∈ S vaжi

∇f (x0 )T (x1 − x0 ) < 0.

Posmatrajmo, za proizvoljno λ ∈ [0, 1], vektore xλ = λx1 + (1 − λ)x0 .


Zbog konveksnosti skupa S bie xλ ∈ S za svako λ ∈ [0, 1], tj. xλ jesu
mogua rexenja datog NLP-problema. S druge strane, funkcija
F (λ) = f (xλ ) jeste diferencijabilna na intervalu (0, 1), pri qemu
je
F (λ) − F (0) ∇f (x0 )(xλ − x0 )
F ′ (0) = lim = lim = ∇f (x0 )(x1 − x0 ) < 0.
λ→0 λ λ→0 λ
Dakle, F (λ) je monotono-opadajua u okolini taqke λ = 0, pa za
dovoljno malo λ > 0 imamo F (λ) < F (0) ili, ekvivalentno,

f (xλ ) < f (x0 ).

Ovo je, naravno, u kontradikciji sa polaznom pretpostavkom o op-


timalnosti taqke x0 ∈ S.
Obratno, iz nejednakosti (7) i ranije pokazanog uslova konvek-
snosti (5) sledi

f (x) − f (x0 ) ≥ ∇f (x0 )T (x − x0 ) ≥ 0, ∀x ∈ S,

tj. x0 ∈ S jeste optimalno rexenje datog problema minimizacije.

Prethodna teorema moжe se ”modifikovati” u obliku poznatog


uslova koji karakterixe minimume konveksnih funkcija. Naime,
pri ranije datim pretpostavkama, vaжi
Posledica 1. Ako je S otvoren skup, taqka x0 ∈ S je optimalno
rexenje datog problema NLP-a akko je


∇f (x0 ) = 0 . (8)

Specijalno, za S = Rn , taqka x0 je taqka globalnog minimuma funkcije


f (x).
Primer 3. Posmatrajmo problem minimizacije funkcije

7 2
 
f (x) = x1 − + (x2 − 4)2 , x = (x1 , x2 ) ∈ R2 ,
2
3. Konveksne funkcije 17

pri uslovima

−x1 + x2 ≤ 1
2x1 + 3x2 ≤ 6
−x1 ≤ 0
−x2 ≤ 0.

Oqigledno, funkcija  f (x) je konveksna i odreuje kvadrat rasto-


janja od taqke 72 , 4 do taqke (x1 , x2 ). Ograniqenja zadata nejednaqi-
nama odreuju konveksan poliedarski skup moguih rexenja S, koji
je, zajedno sa nivoskim linijama funkcije f (x), prikazan na slici
6.

Slika 6:

Geometrijski se moжe odrediti optimalna taqka ovog problema


xT0 = 32 , 1 . Gradijent funkcije f (x) u ovoj taqki je


 T
∂f (x0 ) ∂f (x0 )
∇f (x0 ) = , = ( −4, −6 )T .
∂x1 ∂x2
Sa slike se takoe vidi da ma koji ugao izmeu vektora ∇f (x0 ) i
x−x0 , za proizvoljno x ∈ S, ne prelazi 900 . Zato je njihov skalarni
proizvod nenegativan, tj. vaжi uslov optimalnosti (6). ✷
18 3. Konveksne funkcije

Napomena 1. Na potpuno analogan naqin moжe se pokazati da je u


sluqaju konkavne, diferencijabilne funcije f : S → R uslov

∇f (x0 )T (x − x0 ) ≤ 0 (9)

potreban i dovoljan da f (x) u taqki x0 ima maksimalnu vrednost


na skupu S. Ostavljamo qitaocu da sam formulixe i pokaжe odgo-
varajua tvrenja.
4. Rexavanje NLP problema 19

4. Rexavanje NLP problema

U ovom delu opisaemo neke od najzastupljenijih iterativnih


metoda rexavanja problema NLP-a. Teorecku osnovu za njihovu
primenu daju prethodno uvedene qinjenice, pre svih, pojam gradi-
jenta kao vektora koji odreuje smer najveeg rasta, odnosno opa-
danja date ciljne funkcije. Stoga emo u daljim izlaganjima najpre
opisati tzv. gradijentni metod optimizacije konveksnih funkcija,
a zatim i neke njegove modifikacije namenjene brжem i jednostavni-
jem nalaжenju optimalnih rexenja.

4.1 Lagranжov dualni zadatak. Gradijentni metod

Razmotrimo zadatak N LP -a, kojeg emo nadalje uobiqajeno zvati


direktnim zadatkom:
Minimizirati vrednost funkcije f (x) pri uslovima

gi (x) ≤ 0, i = 1, . . . , m,
x = (x1 , . . . , xn )T ∈ X ⊆ Rn .

Sada, Lagranжov dualni zadatak formulixemo na sledei naqin:


Maksimizirati vrednost funkcije

θ(u) = inf f (x) + uT g(x) ,




gde je u = (u1 , . . . , um )T ≥ 0 i g(x) = (g1 (x), . . . , gm (x))T .


Funkcija θ(u) naziva se Lagranжova (dualna) funkcija, dok
su u1 , . . . , um tzv. Lagranжovi qinioci, uvedeni u funkciju cilja
tako da odgovaraju ograniqenjima - nejednaqinama gi (x) ≤ 0, i =
1, . . . , m. Oni su nenegativni, qime je obezbeen uslov

θ(u) ≤ f (x),

za sve u ≥ 0 i x ∈ X. Ipak, sliqno kao u Teoriji dualnosti LP


modela ili Teoriji igara, moжe se pokazati
Teorema 4. Mogua rexenja x∗ ∈ Rn i u∗ ∈ Rm direktnog i dualnog
Lagrange-ovog zadatka, respektivno, su optimalna rexenja akko je

θ(u∗ ) = f (x∗ ). (10)


20 4 . Reshavanje NLP

Dakle, jednakost funkcija kriterijuma f (x) i θ(u) predstavlja


potreban i dovoljan uslov optimalnosti rexenja x∗ , u∗ , za koja tada
vaжi
θ(u∗ ) = (max) θ(u) = f (x∗ ) = (min) f (x),
gde x i u zadovoljavaju odgovarajua ograniqenja direktnog i du-
alnog zadatka, respektivno.

Slika 7: Geometrijska interpretacija direktnog i Lagranжovog dualnog


zadatka

Na slici 7 data je geometrijska interpretacija Lagranжovog


dualnog zadatka, pri qemu je, jednostavnosti radi, uzet zadatak
minimizacije funkcije f (x) sa jedinstvenim ograniqenjem, nejed-
naqinom g(x) ≤ 0. U ravni (z1 , z2 ) predstavljen je skup

G = (z1 , z2 ) : z1 = g(x), z2 = f (x), x ∈ X

koji, oqigledno, predstavlja sliku skupa X ⊆ Rn pri preslikavanju


(g, f ). Direktan zadatak se tada sastoji u nalaжenju taqaka skupa
G za koju vaжi z1 ≤ 0, a z2 ima minimalnu vrednost. Na slici 7 to
je taqka oznaqena sa (z1 , z2 ).
S druge strane, za zadato u ≥ 0, funkciju θ(u) predstavlja min-
imum izraza f (x) + ug(x) za x ∈ X. Kako je z1 = g(x), z2 = f (x) pri
x ∈ X, onda se odreivanje θ(u) svodi na minimizaciju jednaqine
z2 + uz1 na skupu G. Pritom, jednakost z2 + uz1 = α predstavlja
jednaqinu prave qiji je nagib u i osu z2 preseca u taqki (0, α).
4. Rexavanje NLP problema 21

Stoga, da bismo minimizirali z2 + uz1 na skupu G, treba par-


alelno pomerati pravu z2 + uz1 = α sve dok ona ne postane tangenta
za skup G. Tada, preseqna taqka ove prave sa osom z2 ukazuje na
vrednost θ(u), kao xto se vidi na istoj slici.

Primer 4. Posmatrajmo problem minimizacije funkcije f (x1 , x2 ) =


x2 x2
x1 +x2 pri ograniqenju 41 + 122 ≤ 1. Funkcija Lagrange-a, koja zavisi
od promenljive u ≥ 0, u ovom sluqaju glasi

θ(u) = inf{f (x) + ug(x)},

x21 x22
gde je x = (x1 , x2 )T i g(x) = 4 + 12 − 1. Dakle, imamo
 2
x1 x22
 
θ(u) = inf x1 + x2 + u + −1
4 12
n u o n u o
= inf x1 + x21 + inf x2 + x22 − u,
x1 4 x2 12

6 T
 
∂ θ(u) ∂ θ(u) 2
pa iz jednakosti = = 0 sledi x = − , − . Zamenom
∂ x1 ∂ x2 u u
ovih vrednosti dobijamo eksplicitni oblik Lagranжove funkcije

u2 + 4
θ(u) = − , u≥0
u

koja svoju maksimalnu vrednost θmax = −4 dostiжe u taqki u0 = 2.


Dakle, optimalne vrednosti promenljivih x1,2 glase

2 6
x1 = − = −1, x1 = − = −3,
u0 u0

pri qemu je optimalna vrednost funkcije cilja fmin = θmax = −4.

Navodimo sada neke vaжnije osobine Lagranжove dualne funkcije.

Teorema 5. Neka je X neprazan kompaktan skup u Rn , f : X → R i g :


Rn → Rm neprekidne funkcije. Tada je Lagranжova dualna funkcija
θ(u) = inf{f (x) + uT g(x) : x ∈ X} konkavna na Rm .

Dokaz. Na osnovu defincije Lagranжove funkcije imamo, za proizvoljno


22 4 . Reshavanje NLP

u1 , u2 ∈ Rm i λ ∈ (0, 1),

θ (λu1 + (1 − λ)u2 ) = inf f (x) + λuT1 g(x) + (1 − λ)uT2 g(x) : x ∈ X




≥ λ inf f (x) + uT1 g(x) : x ∈ X +




+(1 − λ) inf f (x) + uT2 g(x) : x ∈ X




= λθ(u1 ) + (1 − λ)θ(u2 ).

Odavde, po definiciji, sledi konkavnost za θ(u).

Zbog konkavnosti funkcije θ(u) sledi da je svaki njen lokalni


maksimum ujedno i globalni, pa ova qinjenica qini pogodnim za-
datak odreivanja njenog maksimuma. Meutim, osnovna potexkoa
u rexavanju dualnog zadatka sastoji se u tome xto, najqexe, nije
poznat eksplicitni oblik dualne funkcije, jer ona moжe biti izraqu-
nata tek posle kada se rexi odgovarajui podzadatak minimizacije
koji je dat u njenom zapisu.
Posmatrajmo sada problem diferencijabilnosti Lagranжove
dualne funkcije. Diferencijabilnost funkcije θ(u) u nekoj taqki
u ∈ Rm zavisi od elemenata skupa

X(u) = y : y je minimum izraza f (x) + uT g(x) za x ∈ X .




Naroqito, ako se X(u) sastoji od jedinstvene taqke, onda e pod


odreenim uslovima funkcija θ(u) biti diferencijabilna u njoj,
jer vaжi

Teorema 6. Neka je X 6= ∅ kompaktan skup prostora Rn , funkcije


f : Rn → R i g : Rn → Rm neprekidne, i u ∈ Rm proizvoljna taqka.
Ako se skup X(u0 ) sastoji od jedinstvene taqke x0 = x(u0 ), onda je
funkcija θ(u) diferencijabilna u taqki u0 i njen gradijent je

∇θ(u0 ) = g [x(u0 )] . (11)

Dokaz. Na osnovu neprekidnosti funkcija f i g sledi njihova ograniqenost


na kompaktu X. xtavixe, funkcija

Ψ(x) = f (x) + uT0 g(x),


4. Rexavanje NLP problema 23

tada dostiжe minimum u taqki x0 = x(u0 ) koja je, na osnovu pret-


postavki teoreme, jedinstveno odreena. Najzad, u tom sluqaju
Lagranжova funkcija θ(u) predstavlja jednoznaqno definisano li-
nearno preslikavanje prostora Rm , diferencijabilno u taqki u0 ,
za koje oqito vaжi jednakost (11).

Na osnovu pokazanih rezultata moжemo formulisati iterativni


postupak nalaжenja optimalnih rexenja direktnog i dualnog La-
granжovog zadatka. Req o tzv. algoritmu gradijentnog metoda
koji se sastoji od sledeih osnovnih etapa:

Korak 1. Izabrati proizvoljni vektor u0 ∈ Rm , takav da je u0 ≥ 0

Korak 2. Za dato u0 minimizirati funkciju Ψ(x) = f (x) + uT0 g(x)


pri uslovu x ∈ X.

Korak 3. Neka je x0 ∈ X jedinstveno optimalno rexenje prethodnog


problema minimuma. Konstruisati vektore

g(x0 ) = ∇θ(u0 ) i ĝ(x0 ) = max{g(x0 ), 0}. (12)

Korak 4. Ako je ĝ(x0 ) = 0, dobijena su optimalna rexenja x0 , u0


direktnog i dualnog zadatka, respektivno. U suprotnom, mak-
simizirati
θ[u0 + λĝ(x0 )]
pri uslovima u0 + λĝ(x0 ) ≥ 0 i λ ≥ 0.

Korak 5. Neka je λ0 ≥ 0 optimalno rexenje prethodnog problema


maksimuma. Staviti da je

u0 := u0 + λ0 ĝ(x0 )

i vratiti se na korak 2.

Primer 5. Minimizirati funkciju

f (x) = x21 + x22 , x = (x1 , x2 )T ∈ R2

pri uslovima x1 + x2 ≥ 4 ∧ x1 − 2x2 ≥ −8.

Rexenje: Stavimo u0 = (0, 0)T . Tada je

Ψ(x) = f (x) + (0, 0)T g(x) = x21 + x22 ,


24 4 . Reshavanje NLP

pa je minimalna vrednost funkcije Ψ(x0 ) = 0 dostignuta u jedin-


stvenoj taqki x0 = (0, 0)T . Na osnovu jednakosti (12) imamo
     
−x1 − x2 + 4 4 4
g(x0 ) = ∇θ(u0 ) = = =⇒ ĝ(x0 ) = .
−x1 + 2x2 − 8 −8 0

Tada je

θ u0 + λĝ(x0 ) = θ(4λ, 0) = inf x21 + x22 + 4λ(−x1 − x2 + 4)


  

= inf x21 − 4λx1 + inf x22 − 4λx2 + 16λ


 
x1 x2
2
= −8λ + 16λ, λ ≥ 0,

pri qemu je infinum izraza po x1 i x2 ostvaren za x1 = x2 = 2λ.


Iz poslednje jednakosti dobija se optimalno rexenje zadatka mak-
simizacije θ(4λ, 0) = 8 za λ0 = 1. Novoformirana vrednost vektora
u0 tada glasi
u0 = (0, 0)T + 1 · (4, 0)T = (4, 0)T ,

pa prelazimo na narednu iteraciju, tj. opet rexavamo optimiza-


cioni problem

(min) Ψ(x) = min x21 + x22 − 4x1 − 4x2 + 16 .




Optimalna vrednost (min) Ψ(x) = Ψ(x0 ) = 8 dostignuta je u jedin-


stvenoj taqki x0 = (2, 2)T , pa ponovnom primenom jednakosti (12)
imamo
g(x0 ) = (0, −6)T =⇒ ĝ(x0 ) = (0, 0)T .

Znaqi, u ovom sluqaju je x0 = (2, 2)T optimalno rexenje direktnog,


a u0 = (4, 0)T optimalno rexenje dualnog zadatka. U oba sluqaja
vrednosti ciljnih funkcija iznose

(max) f (x0 ) = (max) θ(u0 ) = 8.

Ostavljamo qitaocu, kao i ranije, da dâ grafiqku interpretaciju


problema i dobijenih rezultata. ✷
4. Rexavanje NLP problema 25

4.2 Uslovi optimalnosti Kun-Takera

Daljom analizom funkcija koje proizilaze iz ranije formuli-


sanog direktnog i dualnog Lagranжovog zadatka moжe se doi do
niza qinjenica, koje, pre svega, daju potrebne i dovoljne uslove
optimalnosti rexenja oba problema. Osnovu za njegovu primenu
daju poznate teoreme Kun-Takera, koje zauzimaju znaqajno mesto u
teoriji konveksnog programiranja i ovde e biti u samom sredixtu
naxe paжnje.
Neka je X neprazan otvoren skup iz Rn , a f, g1 , . . . , gm ranije
definisane realne n-dimenzionalne funkcije. Razmotrimo opet
problem minimizacije funkcije f (x) pri uslovima x ∈ X i gi (x) ≤
0, i = 1, . . . , m. U tom cilju, fiksirajmo proizvoljnu dopustivu
taqku x0 ∈ X i oznaqimo
n o
I = i gi (x0 ) = 0 .

Pretpostavimo, dalje, da su funkcije f i gi diferencijabilne u


taqki x0 , a vektori ∇gi (x0 ) za i ∈ I linearno nezavisni. Tada vaжi

Teorema 7. (potrebni uslovi Kun-Takera)Ako je x0 ∈ X taqka


lokalnog optimuma postavljenog zadatka optimizacije, onda pos-
toje brojevi u1 , . . . , um takvi da je
m
X
∇f (x0 ) + ui ∇gi (x0 ) = 0, (13)
i=1

pri qemu je ui gi (x0 ) = 0 i ui ≥ 0 za svako i = 1, . . . , m.

Dokaz. Neka je x0 ∈ Rn optimalno rexenje datog direktnog za-


datka NLP-a. Na osnovu teoreme 4 postoji optimalno rexenja La-
granжovog dualnog zadatka u0 ∈ Rm , takvo da, pri ranije uvedenim
oznakama, vaжi

θ(u0 ) = max inf f (x) + uT g(x) = f (x0 ).



u≥0 x∈X

Tada je funkcija Ψ(x) = f (x) + uT0 g(x) diferencijabilna u taqki x0


i zadovoljava jednakost

Ψ(x0 ) = f (x0 ) + uT0 g(x0 ) = inf Ψ(x).


x∈X
26 4 . Reshavanje NLP

Dakle, u taqki x = x0 funkcija Ψ(x) dostiжe svoj lokalni minu-


mum, pa je ∇Ψ(x0 ) = 0, xto je ekvivalentno sa (13).
Najzad, iz jednakosti Ψ(x0 ) = θ(u0 ) = f (x0 ) i definicije La-
granжove funkcije θ(u) jasno je da mora biti u0 ≥ 0, kao i
m
X
Ψ(x0 ) − f (x0 ) = uT0 g(x0 ) = ui gi (x0 ) = 0.
i=1

No, kako je za svako i = 1, . . . , m ispunjena nejednakost gi (x0 ) ≤ 0,


bie i ui gi (x0 ) ≤ 0. Stoga poslednja jednakost vaжi samo ako su
svi sabirci u gornjoj sumi jednaki nuli, tj. akko je ui = 0 ili
gi (x0 ) = 0.

Na slici 8 prikazana je geometrijska interpretacija uslova op-


timalnosti Kun-Takera. Proizvoljan vektor predstavljen u obliku
linearne kombinacije
X
ui ∇gi (x0 ), ui ≥ 0,
i∈I

pripada konusu razapetom nad vektorima gradijenata funkcija gi (x)


koja definixu ograniqenja u taqki x0 . Iz jednakosti (13) sledi
X
−∇f (x0 ) = ui ∇gi (x0 ), (14)
i∈I

pa vektor −∇f (x0 ) pripada konusu razapetom nad gradijentima


funkcija aktivnih ograniqenja gi (x) u taqki x0 akko zadovoljava
uslove optimalnosti Kun-Takera.
Brojevi u1 , . . . , um ≥ 0 uobiqajeno se i ovde nazivaju Lagranжovi
qinioci, dok jednaqine

ui gi (x0 ) = 0, i = 1, . . . , m, (15)

nazivamo uslovima dopunske elastiqnosti. Uslovi Kun-Takera


mogu se zapisati u vektorskom obliku:

∇f (x0 ) + uT ∇g(x0 ) = 0 ∧ uT g(x0 ) = 0 ∧ u ≥ 0,

gde je ∇g(x0 ) matrica reda n × m u kojoj je i-ta kolona jednaka


gradijentu ∇gi (x0 ), a u = (u1 , . . . , um )T je m-dimenzionalni vektor
Lagranжovih qinilaca.
4. Rexavanje NLP problema 27

Slika 8: Geometrijska interpretacija uslova Kun-Takera

Meutim, u praksi se koeficijenti vektora u ∈ Rm najqexe


izraqunavaju iz jednakosti

0, i ∈/I
ui = ,
αi , i ∈ I

gde su αi > 0 rexenja sistema linearnih jednaqina (14). Oqito,


ovaj sistem jednaqina je ekvivalentan sistemu (13), pa na osnovu
linearne nezavisnosti vektora ∇gi (x0 ), i ∈ I sledi da su njegova
rexenja, tj. vrednosti αi , i ∈ I jedinstveno odreene. Kao ilus-
traciju, dajemo nekoliko primera ovakvog postupka ispitivanja
Kun-Takerovih uslova optimalnosti. Oni, kao xto emo videti,
ukazuju na mnoge prednosti, ali i nedostatke ovakvog naqina na-
laжenja i provere optimalnih rexenja.

Primer 6. Razmotrimo problem minimizacije funkcije

f (x1 , x2 ) = (x1 − 3)2 + (x2 − 2)2

pri uslovima x21 + x22 ≤ 5, x1 + 2x2 ≤ 4, x1 , x2 ≥ 0. Dopustiva oblast


rexenja ovog zadatka prikazana je na slici 9 levo. Proverimo
28 4 . Reshavanje NLP

ispunjenost uslova optimalnosti u taqki x0 = (2, 1)T . Oznaqimo

g1 (x) = x21 + x22 − 5, g2 (x) = x1 + 2x2 − 4, g3 (x) = −x1 , g4 (x) = −x2 ,

gde je x = (x1 , x2 )T ∈ R2 . Skup indeksa aktivnih ograniqenja, tj.


indeksa i = 1, 2, 3, 4 koji zadovoljavaju jednakost gi (x0 ) = 0 glasi
I = {1, 2}. Otuda sledi da su Lagranжovi qinioci u3 i u4 koji,
redom, odgovaraju ograniqenjima g3 (x) ≤ 0 i g4 (x) ≤ 0 jednaki nuli.
Primetimo takoe da je

∇f (x0 ) = (−2, −2)T , ∇g1 (x0 ) = (4, 2)T , ∇g2 (x0 ) = (1, 2)T ,

pa jednakost (13) ovde glasi


     
4 1 2
u1 + u2 = .
2 2 2

Na taj naqin, dobijaju se brojevi u1 = 13 , u2 = 23 , u3 = u4 = 0 koji


e zadovoljavati uslove optimalnosti Kun-Takera. ✷

Slika 9: Dopustive oblasti problema NLP-a

Primer 7. Minimizirajmo funkciju f (x1 , x2 ) = −x1 pri uslovima


x2 − (1 − x1 )3 ≤ 0, −x2 ≤ 0. Dopustiva oblast ovog problema je
predstavljena na slici 9 desno, zajedno sa optimalnom taqkom x0 =
(1, 0)T . Skup indeksa aktivnih ograniqenja u toj taqki je I = {1, 2}.
Ovde je

∇f (x0 ) = (−1, 0)T , g1 (x0 ) = (0, 1)T , ∇g2 (x0 ) = (0, −1)T ,
4. Rexavanje NLP problema 29

ali jednaqina      
0 0 −1
u1 + u2 =
1 −1 0
nije zadovoljena ni za jedno u1 , u2 ≥ 0, pa uslovi optimalnosti Kun-
Takera nisu ispunjeni. Primetimo, takoe, da je ovo posledica
linearne zavisnosti vektora ∇g1 (x0 ) i ∇g2 (x0 ). ✷

Poslednji primer ukazuje na sluqaj kada optimalna rexenja


NLP problema ne zadovoljavaju uslove teoreme Kun-Takera. Takoe,
on posredno ukazuje i na to kakve bi osobine funkcija cilja i odgo-
varajua ograniqenja trebalo da poseduju da bi obezbedili uslove
pod kojima bi prethodna teorema vaжila i u ”suprotnom” smeru.

Teorema 8. (dovoljni uslovi Kun-Takera)Neka su funkcije f i


gi , i ∈ I konveksne i diferencijabilne u taqki x0 ∈ Rn . Ako su u istoj
taqki ispunjeni uslovi Kun-Takera, tj. postoje brojevi ui ≥ 0, i ∈ I
takvi da vaжi (13), onda je x0 taqka globalnog minimuma postavl-
jenog zadatka NLP-a.

Dokaz. Analogno kao u teoremi 4, ostavljamo ga qitaocu za veжbu.


30 5. Dinamiqko programiranje

5. Dinamiqko programiranje

Dinamiqko programiranje je poseban matematiqki aparat, koji


omoguuje optimalno planiranje tzv. vixeetapnih procesa upra-
vljanja. Tu spadaju procesi u kojima se donosi niz odluka i one se
donose postepeno u vremenu. Mnogi zadaci upravljanja procesima
u tehnici, ekonomiji, vojsci, fizici, biologiji, itd mogu se pred-
staviti u vidu vixeetapnih procesa, na koje se moжe primeniti
metoda dinamiqkih programiranja. Osnovni cilj jeste dobijanje
optimalnog plana upravljanja, pri qemu se pod optimalnim upra-
vljanjem podrazumeva ono upravljanje, koje daje najbolje rexenje,
odnosno rexenje kojim se postiжe maksimalni cilj operacije.

Za praktiqnu primenu metode dinamiqkog programiranja (pisa-


emo, krae, DP metod) potrebno je da svaki razmatrani proces
ima svoj jasno postavljen matematiqki model, sa precizno defin-
isanom funkcijom cilja, koji treba maksimizirati ili minimi-
zirati, kao i ograniqenjima koja se moraju uzeti u obzir u toku
procesa. Za ovako postavljen zadatak, ukoliko su zadovoljeni uslovi
koje zahteva primena DP metode, treba nai funkcionalne relacije
primenom principa optimalnosti. U izvesnim sluqajevima mogue
je nai analitiqko rexenje, ali najqexe rexenje se nalazi nu-
meriqkom analizom, najqexe uz primenu razvijenih kompjuter-
skih programa.

Odreivanje optimalne strategije zasniva se na principu opti-


malnosti koji se, prema osnivaqu ove discipline, naziva Belmanov
princip optimalnosti. U slobodnoj interpretaciji, moжemo ga
formulisati kao osobinu da optimalna strategija, bez obzira na
poqetno stanje i prethodno rexenje, u svakoj narednoj etapi treba
da odredi optimalnu strategiju u odnosu na prethodno dobijeno
stanje, kao rezultat prethodnog rexenja. Princip optimalnosti
se moжe izraziti matematiqki, pomou funkcionalnih jednaqina
ili rekurzivnih relacija pomou kojih se izraжavaju veze izmeu
funkcija cilja posmatrane etape i funkcije susedne etape. U nared-
nom izlaganju opisaemo detaljnije sve gore navedene pojmove, sa
posebnim osvrtom na primenu metoda DP-a u optimizaciji nekih
konkretnih problema u matematici, ekonomiji i sliqno.
5. Dinamiqko programiranje 31

5.1 Belmanov princip optimalnosti

Osnovna ideja u primeni metoda DP-a, kako smo ve prethodno


istakli, sastoji se u tome da se upravljanje nekim procesom podeli
u vixe faza, a zatim u svakoj od njih izabere optimalno upravljanje
koje treba da omogui optimalno funkcionisanje procesa. Pritom,
optimalno upravljanje ima osobinu da, bez obzira na prethodno
stanje i upravljanje u ranijim etapama, naredne odluke moraju da
daju optimalno upravljanje u odnosu na trenutno stanje sistema.
Req je tzv. princip optimalnosti koji predstavlja srж metoda
dinamiqkog programiranja, a postavio ga je Riqard Belman [2].
Od tada, model DP-a postaje vaжna tehnika u rexavanju niza na-
jraznovrsnijih problema. Da bismo opisali praktiqnu primenu
Belmanovih principa, posmatrajmo sledei, qisto matematiqki
primer.
Primer 8. Proizvoljan pozitivan broj c podeliti na n delova tako
da njihov proizvod bude maksimalan.

Rexenje: Oznaqimo sa Fn (c) funkciju kriterijuma datog problema,


odnosno traжenu maksimalnu vrednost proizvoda brojeva x1 , . . . , xn ,
za koje takoe vaжi x1 +· · ·+xn = c. Za n = 1 imamo, oqito, F1 (c) = c,
dok u sluqaju n = 2 maksimalnu vrednost funkcije kriterijuma do-
bijamo na osnovu jednakosti

F2 (c) = max{x(c − x)}.


x≤c

Jednostavnim raqunom nalazimo da funkcija f2 (x) = x(c − x) ima


maksimum za x = 2c , tako da optimalna vrednost funkcije Fn (c) u
ovom sluqaju glasi
c2
F2 (c) = .
4
Koristei sada princip matematiqke indukcije, pretpostavimo da
je, za proizvoljno n, odreena optimalna vrednost funkcije Fn (c).
Na osnovu poslednje jednakosti, moжemo zakljuqiti da je tada njen
eksplicitni izraz  c n
Fn (c) = ,
n
pri qemu je x1 = · · · = xn = n1 optimalno rexenje postavljenog prob-
lema. Pokaжimo da ova formula vaжi i u sluqaju n + 1. Zaista,
32 5. Dinamiqko programiranje

kako je

c−x n
   

Fn+1 (c) = max xFn (c − x) = max x , (16)
0≤x≤c 0≤x≤c n

na sliqan naqin kao i ranije dobija se maksimalna vrednost funkcije


 n+1
c
Fn+1 (c) = ,
n+1
1
koja se ostvaruje za x1 = x2 = · · · = xn+1 = n+1 . ✷

Primetimo da se prethodni problem mogao rexiti i na drugi


naqin, recimo korixenjem uslovnih ekstremuma funkcije F (x1 , . . . , xn ) =
x1 · · · xn . Ipak, nax osnovni motiv jeste da se primeni rekurzivni
postupak (16) zasnovan na principu optimalnosti Belmana. Opisaemo
sada detaljnije matematiqki model Belmanovog principa optimal-
nosti za sluqaj aditivne funkcije kriterijuma.
Neka su date funkcije f1 (x1 ), f2 (x2 ), . . . , fn (xn ). Pretpostavimo
da treba nai vrednosti x1 , x2 , . . . , xn za koje funkcija

F (x1 , . . . , xn ) = f1 (x1 ) + · · · + fn (xn ) (17)

postiжe maksimalnu vrednost uz ograniqenja

a1 x1 + · · · + an xn ≤ bn

gde je aj ≥ 0, xj ≥ 0 i bn ≥ 0. Za proizvoljno k = 1, . . . , n uvodimo


niz funkcija {Fk (bk )} na sledei naqin

F1 (b1 ) = max {f1 (x1 )} = max {f1 (x1 )} , (18)


a1 x1 ≤ b1 x1 ≤ b1 /a1

F2 (b2 ) = max {f1 (x1 ) + f2 (x2 )}


a1 x1 +a2 x2 ≤ b2
 
= max max [f1 (x1 ) + f2 (x2 )]
a2 x2 ≤ b2 a1 x1 ≤ b2 −a2 x2
 
= max f2 (x2 ) + max [f1 (x1 )]
a2 x2 ≤ b2 a1 x1 ≤ b2 −a2 x2

= max {f2 (x2 ) + F1 (b2 − a2 x2 )} .


a2 x2 ≤ b2
5. Dinamiqko programiranje 33

U opxtem sluqaju, dobijamo

Fk (bk ) = max {fk (xk ) + Fk−1 (bk − ak xk )} , k = 2...n (19)


xk ≤ bk /ak

pri qemu je F0 (b0 ) = 0.


Jednaqine (18) i (19) predstavljaju poznate Belmanove jedna-
qine. Na osnovu njih se polazni zadatak sa n promenljivih razlaжe
na n jedno- stavnijih problema sa po jednom promenljivom, pa se,
na taj naqin, rexavanje moжe realizovati po fazama. Funkcija F1
se odreuje neposredno, dok se funkcije F2 , . . . , Fn odreuju pomou
rekurentne formule (19), pri qemu Fn (bn ) predstavlja traжenu op-
timalnu vrednost.
Na osnovu prethodnih razmatranja, moжemo formirati efek-
tivni postupak odreivanja optimalne strategije metodom DP-a.
U nekom osnovnom algoritamskom obliku, ovaj postupak se real-
izuje u sledeem nizu koraka:

1. Za svako b1 ≥ 0 i x1 ∈ [0, b1 /a1 ] izraqunavamo f1 (x1 ). Neka je


x∗1 (b1 ) ona vrednost x1 za koju funkcija f1 (x1 ) postiжe maksi-
malnu vrednost F1 (b1 ).

2. Za svako b2 ≥ 0 i x2 ∈ [0, x2 /a2 ] izraqunavamo vrednost funkcije

F2 (b2 ) = f2 (x2 ) + F1 (b2 − a2 x2 ).

Pretpostavimo, opet, da za dato b2 ova funkcija postiжe mak-


simalnu vrednost za x∗2 = x2 (b2 ).

3. Sliqno nadalje postupamo sa funkcijama F3 , F4 , . . . , Fn−1 .

4. Razmotrimo poslednju jednaqinu iz (19), koja se dobija za k =


n. Za jedinstveni zadati broj bn ≥ 0 postoji vrednost x∗n =
xn (bn ) za koju je
(max) F = Fn (bn ).
Dakle, kriterijum F , definisan jednakoxu (17), dostiжe
svoju optimalnu, maksimalnu vrednost u poslednjoj iteraciji
Fn (bn ). Na kraju, treba jox izdvojiti skup pronaenih op-
timalnih vrednosti, tj. jednu ili vixe n-torki vrednosti
(x∗1 , . . . , x∗n−1 , x∗n ) za koje se ostvaruje maksimum funkcije kri-
terijuma F .
34 5. Dinamiqko programiranje

5. Bez obzira na prethodne vrednosti x∗1 , . . . , x∗n−1 , optimalno up-


ravljanje u poslednjoj fazi e biti opisano sa x∗n = xn (bn ).
Za tako dobijeno x∗n izraqunavamo b∗n−1 = bn−1 − an xn , kao i
x∗n−1 = xn−1 (bn−1 ). Poxto odredimo x∗n i x∗n−1 izraqunavamo
b∗n−2 = bn − an x∗n − an−1 x∗n−1 kojih moжe biti vixe, a zatim i
x∗n−2 = xn−2 (bn−2 ). Dalje se identiqnim po- stupkom odreuju
vrednosti x∗n−3 , . . . , x∗2 , x∗1 , qime se konaqno dobija traжena op-
timalna strategija upravljanja

U ∗ = (x∗1 , . . . , x∗n ).

5.2 Neke primene DP modela

Primena Belmanovog principa optimalnosti je veoma xiroka


i mogua je u raznim oblastima nauke, tehnike ili ekonomije.
Ovde emo opisati njegovu primenu u nekim od znaqajnijih oblasti
privrednog poslovanja, pre svega, nalaжenju optimalnog plana ula-
ganja odreenih finansijskih sredstava prilikom formiranja in-
vesticionih projekata. U sledeem primeru dajemo ilustraciju
Belmanovog kriterijuma optimalnosti na primeru investicija u
oblasti bankarskog poslovanja.
Primer 9. Investiciona banka raspolaжa sa 40 miliona dinara
koje жeli da uloжi u odreene profitabilne projekte. Nakon
obavljene selekcije projekata od strane struqnih sluжbi, izdvo-
jena su tri projekta P1 , P2 i P3 koji su interesantni za banku.
Oqekivani profit od ulaganja, kojim se izraжava njegova efikas-
nost, data je tabelom:

Vrednost ulaganja P1 P2 P3
10 6 5 6
20 15 14 18
30 24 23 30
40 32 30 35

Ulaganje u pojedine projekte se moжe realizovati u iznosima od


10, 20, 30 i 40 miliona dinara. Odrediti optimalan plan inve-
stiranja banke za koji e se ostvariti maksimalan ukupni profit.
5. Dinamiqko programiranje 35

Rexenje: Polazei od Belmanovih jednaqina, optimalni plan in-


vestiranja odrediemo u vixe etapa u kojima ispitujemo efikas-
nost ulaganja u pojedine projekte.
U tu svrhu, oznaqimo sa fi (xi ) oqekivani profit ulaganja sume
xi u i-ti projekat (iı1,2,3). Vrednost funkcije F tada predstavlja
ukupan profit ostvaren ulaganjem celokupne sume od 40 miliona
dinara u pojedine projekte. Dakle, matematiqki model datog prob-
lema glasi
(max)F = f1 (x1 ) + f2 (x2 ) + f3 (x3 )
uz ograniqenja

x1 + x2 + x3 = 40, x1 , x2 , x3 ≥ 0.

Sada, u prvoj etapi, odreujemo vrednost funkcije

F1 (b1 ) = max f1 (x1 )


x1 ≤b1

gde je b1 ∈ {0, 10, 20, 30, 40} vrednost moguih ulaganja u prvi pro-
jekat. Dobijamo sledei niz vrednosti

F1 (0) = 0, F1 (10) = 6, F1 (20) = 15, F1 (30) = 24, F1 (40) = 32.

U sledeoj, drugoj etapi potrebno je utvrditi optimalnu raspodelu


ulaganja razliqitih iznosa sredstava u projekte P1 i P2 . Stoga,
na osnovu (18), ciljna funkcija ima oblik

F2 (b2 ) = max {f2 (x2 ) + F1 (b2 − x2 )}


x2 ≤b2

gde je b2 ∈ {0, 10, 20, 30, 40}. Pri izraqunavanju vrednosti funkcije
F2 (b2 ) koristimo podatke o efikasnosti ulaganja u projekat P2 (druga
kolona tabele), ali i prethodno dobijene vrednosti funkcije F1 (b1 ).
Znaqi, za b2 = 0 imamo:

F2 (0) = max {f2 (x2 ) + F1 (0 − x2 )} = f2 (0) = 0 (x2 = 0);


x2 ≤0

dalje, za b2 = 10:

F2 (10) = max {f2 (x2 ) + F1 (10 − x2 )}


x2 ≤10
   
f2 (0) + F1 (10) 0+6
= max = max =6 (x2 = 0);
f2 (10) + F1 (0) 5+0
36 5. Dinamiqko programiranje

za b2 ı20:
F2 (20) = max {f2 (x2 ) + F1 (20 − x2 )}
x2 ≤20
   
 f2 (0) + F1 (20)   0 + 15 
= max f (10) + F1 (10) = max 5+6 = 15 (x2 = 0);
 2
f2 (20) + F1 (0) 14 + 0
  

za b2 = 30 :
F2 (30) = max {f2 (x2 ) + F1 (30 − x2 )}
x2 ≤30
   

 f2 (0) + F1 (30)   
 0 + 24 

f2 (10) + F1 (20) 5 + 15
   
= max = max = 24 (x2 = 0);
f (20) + F1 (10)  14 + 6
 2

  
 

f2 (30) + F1 (0) 23 + 0
  

za b2 = 40:
F2 (40) = max {f2 (x2 ) + F1 (40 − x2 )}
x2 ≤40
   

 f 2 (0) + F1 (40) 
 
 0 + 32 

 f2 (10) + F1 (30)  5 + 24

  
 

  
= max f2 (20) + F1 (20) = max 14 + 15 = 32 (x2 = 0).
 f2 (30) + F1 (10)  23 + 6

 
 
 

  
 

f2 (40) + F1 (0) 30 + 0
   

Kao xto vidimo, sve optimalne vrednosti dobijene su za vred-


nost x2 = 0, qime ukazuju da, u postojeoj etapi, nije poжeljno
ulagati sredstva u drugi projekat.
Na kraju, izvrxiemo optimalnu raspodelu sredstava na sva
tri projekta. Optimalan plan investiranja odrediémo na osnovu
podataka o efikasnosti ulaganja u projekat P3 i prethodno izraqu-
natih (maksimalnih) vrednosti funkcije F2 (b2 ). Primenom for-
mule
F3 (b3 ) = max {f3 (x3 ) + F2 (b3 − x3 )}
x3 ≤b3
gde je, opet, b3 ∈ {0, 10, 20, 30, 40}, za b3 = 0 imamo:
F3 (0) = f3 (0) = 0 (x3 = 0);
za b3 = 10:
F3 (10) = max {f3 (x3 ) + F2 (10 − x3 )}
x3 ≤10
   
f3 (0) + F2 (10) 0+6
= max = max =6 (x3 = 0ilix3 = 10);
f3 (10) + F2 (0) 6+0
5. Dinamiqko programiranje 37

za b3 = 20:

F3 (20) = max {f3 (x3 ) + F2 (20 − x3 )}


x3 ≤20
   
 f3 (0) + F2 (20)   0 + 15 
= max f (10) + F2 (10) = max 6+6 = 18 (x3 = 20);
 3
f3 (20) + F2 (0) 18 + 0
  

za b3 = 30:

F3 (30) = max {f3 (x3 ) + F2 (30 − x3 )}


x3 ≤30
   

 f3 (0) + F2 (30)   
 0 + 24 

f3 (10) + F2 (20) 6 + 15
   
= max = max = 30 (x3 = 30);
f (20) + F2 (10)  18 + 6
 3

  
 

f3 (30) + F2 (0) 30 + 0
  

za b3 = 40:

F3 (40) = max {f3 (x3 ) + F2 (40 − x3 )}


x3 ≤40
   

 f3 (0) + F2 (40)   
 0 + 32 

 f3 (10) + F2 (30)  6 + 24

  
 

  
= max f3 (20) + F2 (20) = max 18 + 15 = 36 (x3 = 30);
 f3 (30) + F2 (10)  30 + 6

 
 
 

  
 

f3 (40) + F2 (0) 35 + 0
   

Dobijene rezultate moжemo prikazati u obliku tabele:

Vrednost ulaganja x1 F1 (x1 ) x2 F2 (x2 ) x3 F3 (x3 )


0 0 0 0 0 0 0
10 10 6 0 6 0 ili 10 6
20 20 15 0 15 20 18
30 30 24 0 24 30 30
40 40 32 0 32 30 36

Na osnovu dobijenih rezultata zakljuqujemo da se maksimalan


profit u iznosu od 36 miliona dinara ostvaruje ulaganjem 30 mil-
iona dinara u trei i 10 milona dinara u prvi projekat. Ulaganje
u projekat P2 , sa stanovixta investiranja, nije opravdano. ✷

Vesmo istakli da se dinamiqko programiranje (pisaemo opet,


krae, DP) moжe primenjivati u mnogobrojnim problemima iz oblasti
38 5. Dinamiqko programiranje

ekonomije: raspodeli resursa, planiranju investicija i proizvod-


nje, odreivanju optima- lnih tehnoloxkih procesa, itd. Raz-
motriemo sada jednu od zanimljivijih primena metoda DP-a, odnosno
jednaqina Belmana (19), u optimizaciji zaliha, kao vaжnom seg-
mentu poslovanja svakog preduzea.
Pretpostavimo da na skladixtu imamo ograniqene koliqine
zaliha neke sirovine koja se u procesu proizvodnje moжe koris-
titi na n razliqitih naqina. Neka je xj , j = 1, 2, . . . , n koliqina
sirovine koja se koristi u j-tom naqinu proizvodnje, a fj (xj ) njoj
odgovarajua dobit. Tada se vrednost funkcije Fk (bk ) interpre-
tira kao maksimalna dobit od prvih k naqina proizvodnje, kada
se upotrebljava bk jedinica sirovine. Postupak optimizacije za-
sniva se na utvrivanju optimalnih koliqina xj ≤ bj za koje e
preduzee ostva- riti maksimalnu ukupnu dobit. Primenom Bel-
manovog principa, iterativni postupak nalaжenja optimalnih vred-
nosti x1 , . . . , xn moжemo prikazati u obliku modifikovanih jed-
naqina (18) i (19):

F (b ) = max f1 (x1 )
 1 1

 x1 ≤b1
(20)
 Fk (bk ) = max {fk (xk ) + Fk−1 (bk − xk )}, k = 2, . . . , n.


xk ≤bk

Dakle, postavljeni zadatak opet se moжe interpretirati kao


vixetapni proces odluqivanja, gde se u svakoj etapi odreuje koliqina
sirovine koja e se koristiti u datom reжimu proizvodnje. Na taj
naqin, struktura problema je invarijantna u odnosu na broj etapa.
Primer 10. Na poqetku procesa proizvodnje preduzee planira
ukupnu nabavku od 50 tona sirovine koja se koristi za izradu dva
proizvoda A i B. Efekat ulaganja (u 000 din.) u proizvodnju ovih
proizvoda, na osnovu koliqine utroxene sirovine, iznosi

Sirovina A B
10 200 150
20 300 320
30 450 480
40 600 580
50 750 760

Odrediti optimalnu raspodelu ulaganja sredstava za oba proizvoda


tako da preduzee ostvari ma- ksimalnu ukupnu dobit.
5. Dinamiqko programiranje 39

Rexenje: Oznaqimo sa f1 (x1 ) i f2 (x2 ) oqekivani profit izrade


proizvoda A i B, respektivno, na osnovu uloжene koliqine od
xi tona sirovine (iı1,2). Vrednost funkcije F predstavlja uku-
pan profit ostvaren korixenjem celokupne koliqine od 50 tona
sirovine. Dakle, matematiqki model datog problema glasi

(max)F = f1 (x1 ) + f2 (x2 )

uz ograniqenja
x1 + x2 ≤ 50, x1 , x2 ≥ 0.
U prvoj etapi, odreujemo vrednost funkcije

F1 (b1 ) = max f1 (x1 )


x1 ≤b1

gde je b1 ∈ {0, 10, 20, 30, 40, 50}. Dobijamo niz vrednosti

F1 (0) = 0, F1 (10) = 200, F1 (20) = 300, F1 (30) = 450, F1 (40) = 600, F1 (50) = 750.

U sledeoj etapi nalazimo optimalnu raspodelu kolqina za


proizvodnju oba proizvoda. Na osnovu (20), ciljna funkcija glasi

F2 (b2 ) = max {f2 (x2 ) + F1 (b2 − x2 )}


x2 ≤b2

gde je b2 ∈ {0, 10, 20, 30, 40, 50}. Znaqi, za b2 = 0 imamo:

F2 (0) = max {f2 (x2 ) + F1 (0 − x2 )} = f2 (0) = 0 (x2 = 0);


x2 ≤0

dalje, za b2 = 10:

F2 (10) = max {f2 (x2 ) + F1 (10 − x2 )}


x2 ≤10
   
f2 (0) + F1 (10) 0 + 200
= max = max = 200 (x2 = 0);
f2 (10) + F1 (0) 150 + 0

za b2 ı20:

F2 (20) = max {f2 (x2 ) + F1 (20 − x2 )}


x2 ≤20
   
 f2 (0) + F1 (20)   0 + 300 
= max f (10) + F1 (10) = max 150 + 200 = 350 (x2 = 10);
 2
f2 (20) + F1 (0) 320 + 0
  
40 5. Dinamiqko programiranje

za b2 = 30 :

F2 (30) = max {f2 (x2 ) + F1 (30 − x2 )}


x2 ≤30
   

 f 2 (0) + F1 (30) 
 
 0 + 450 

f2 (10) + F1 (20) 150 + 300
   
= max = max = 520 (x2 = 20);
f (20) + F1 (10)  320 + 200
 2

  
 

f2 (30) + F1 (0) 480 + 0
  

za b2 = 40:

F2 (40) = max {f2 (x2 ) + F1 (40 − x2 )}


x2 ≤40
   

 f 2 (0) + F1 (40) 
 
 0 + 600 

 f2 (10) + F1 (30)  150 + 450

  
 

  
= max f2 (20) + F1 (20) = max 320 + 300 = 680 (x2 = 30);
 f2 (30) + F1 (10)  480 + 200

 
 
 

  
 

f2 (40) + F1 (0) 580 + 0
   

za b2 = 50:

F2 (50) = max {f2 (x2 ) + F1 (50 − x2 )}


x2 ≤50
   

 f2 (0) + F1 (50)   
 0 + 750 




 f 2 (10) + F 1 (40) 






 150 + 600 



f2 (20) + F1 (30) 320 + 450
   
= max = max = 780 (x2 = 30ilix2 = 40).

 f2 (30) + F1 (20)   
 480 + 300 

 f2 (40) + F1 (10) 

 



 580 + 200



   
f2 (50) + F2 (0) 760 + 0
   

Znaqi, maksimalni profit od 780 hiljada dinara moжe se ost-


variti na dva naqina:
1. Ulaganjem x1 = 20 tona sirovine u proizvodnju proizvoda A,
a ostalih x2 = 30 tona u proizvod B.
2. Ulaganjem x1 = 10 tona sirovine u izradu proizvoda A, a
ostalih x2 = 40 tona u proizvodnju proizvoda B. ✷
Literatura

[1] Bazaraa M., Shetty C. M. (1979) Nonlinear Programming - Theory


and Algorithms. John Wiley and Sons, New York.

[2] Bellman R. (1957) Dynamic Programming, Princeton University Press,


Princeton.

[3] Bertsekas D. P. (2004) Nonlinear Programming, Athena Scientific.

[4] Boyd S., Vandenberghe L. (2006) Convex optimization. Cambridge


University Press, Cambridge.

[5] Goodrich M. T., Tamassia R. (2002) Algorithm Design. John Wiley &
Sons, New York.

[6] Boжinovi M., Stojanovi V. (2006) Matematiqki metodi i


modeli u ekonomiji preduzea. VEX, Leposavi.

41

You might also like