nelinearno programiranje - grf.bg.ac.rs · pdf file1 metode optimizacije nelinearno...

16
1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Dašić Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014. UVOD

Upload: danghanh

Post on 15-Feb-2018

247 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

1

METODE OPTIMIZACIJENELINEARNO PROGRAMIRANJE

Dr Tina DašićDr Miloš Stanić

Građevinski fakultet Univerziteta u Beogradu2014.

UVOD

Page 2: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

2

FORMULACIJA PROBLEMA

Zadatak optimizacije je pronalaženje promenljivih pri kojima ciljna (kriterijumska) funkcija uzima ekstremnu (minimalnu ili maksimalnu) vrednost, uz ograničenja sa kojima se definiše prostor mogućih rešenja.

KkX

JjX

Xf

k

j

RX n

,...,1,0)(

,...,1,0)(

)(min

f kriterijumska funkcija, φ ograničenja u formi jednakosti Ψ funkcije ograničenja u formi nejednakosti.

FORMULACIJA PROBLEMA

Ako se radi o problemu određivanja maksimuma funkcije, on se dobija veoma jednostavnom reformulacijom problema:

max f(X) = min (–f(X))

Ako su kriterijumska funkcija i funkcije ograničenja linearne, radi se o zadatku linearnog programiranja.

Ukoliko funkcije ograničenja ne postoje, onda se radi o problemu bezuslovne optimizacije.

)(min XfnRX

nx

x

X ...*1

Page 3: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

3

FORMULACIJA PROBLEMA

Ukoliko funkcije ograničenja postoje, moguće je preformulisati optimizacioni zadatak uvođenjem kaznene funkcije P(X).

KkX

JjX

Xf

k

j

RX n

,...,1,0)(

,...,1,0)(

)(min

kk

jj

RX

XXXP

XPXfXfn

22

*

))(,0max()()(

)()()(min

Očigledno je da je vrednost kaznene funkcije P(X)=0, kada su sva ograničenja zadovoljena, čime je moguće optimizacioni zadatak sa ograničenjima svesti na zadatak bez ograničenja.

Bezuslovna optimizacija - funkcija jedne promenljive

Egzistencija rešenja - da li rešenje postoji?

Uslovi optimalnosti

Potreban uslov: 0)(' xfDovoljan uslov:ako je x* tačka u kojoj je ispunjen potreban uslov pojave lokalnog ekstrema i ukoliko je , onda je x* tačka lokalnog minimuma. 0*)(' xf 0*)('' xf

...*)*)((''2

1*)*)(('*)()( 2 xxxfxxxfxfxf

Razvojem funkcije f(x) u Taylor-ov red u okolini x*:0

Page 4: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

4

Metode zasnovane na gradijentima – Newton-ova metoda

Razvojem funkcije f(x) u Taylor-ov red dobija se:

...))((''2

1))((')()( 2 iiiii xxxfxxxfxfxf

Postavljanjem potrebnog uslova f’(x)=0, uz zadržavanje prva 3 člana reda, dobija se:

0))(('')(' iii xxxfxf

Imajući u vidu da su zadržana samo prva tri člana Tejlorovog reda, do rešenja se stiže u iteracijama:

)(''

)('1

i

iii xf

xfxx

Bezuslovna optimizacija - funkcija jedne promenljive

Metode zasnovane na gradijentima – Newton-ova metoda

)(''

)('1

i

iii xf

xfxx

Problem se svodi na pronalaženjenule funkcije f’ (x).

Uslovi za uspešnu primenu metode:• poznati prvi i drugi izvod funkcije• rezultat može zavisiti od izbora tačke od koje se počinje sa pretragom(slika a) – primer uspešne primene metode, a slika b) primer neuspešne)

Bezuslovna optimizacija - funkcija jedne promenljive

Page 5: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

5

Metode zasnovane na gradijentima – Newton-ova metoda

)(''

)('1

i

iii xf

xfxx

Ako prvi ili drugi izvod funkcije nisu poznati ili ih je teško odrediti, f’(xi) i f''(xi) se mogu sračunati približno, primenom metode konačnih razlika:

2

)()(2)()(''

2

)()()('

iiii

iii

xfxfxfxf

xfxfxf

))()(2)((2

))()((1

iii

iiii xfxfxf

xfxfxx

Bezuslovna optimizacija - funkcija jedne promenljive

Bezuslovna optimizacija - funkcija višepromenljivih

Uslovi optimalnosti

Egzistencija rešenja - da li rešenje postoji?

nx

f

x

f

Xf ...)(1

Gradijent funkcije:)(min XfnRX

nx

x

X ...*1

Potreban uslov lokalnog ekstrema:

0)( Xf

nx

x

X ...*1

Page 6: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

6

Bezuslovna optimizacija - funkcija višepromenljivih

Uslovi optimalnosti

Potreban uslov lokalnog ekstrema:0)( Xf

nx

x

X ...*1

)exp( 22

211 xxxf

Primer

ef

ef

x

xf

xxxx

xxx

xf

xff

2/1max

2/1min

0

2/10

)exp(2

)exp()21(

/

/

2

1

22

2121

22

21

21

2

1

Bezuslovna optimizacija - funkcija višepromenljivih

Uslovi optimalnosti

Primer – metod najmanjih kvadrata

Potreban uslov lokalnog ekstrema: 0)( Xf

Problem pronalaženja polinoma stepena n(Pn) sa kojim treba „fitovati“ tačke merenja :{(x1,y1),…, (xm,ym)}

nnn xaxaaxP ...)( 10

Potrebno je odrediti koeficijente polinoma (vektor) a=[a0,...,an]T, koji predstavljaju minimum funkcije greške:

2

1

))(()( in

m

ii xPyaf

0

/

...

/ 0

naf

af

f

Dobija se sistem linearnih jednačina koji se rešava po nepoznatom vektoru a.

Page 7: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

7

Bezuslovna optimizacija - funkcija višepromenljivih

Primer – metod najmanjih kvadrata

gde je sa r označen vektor reziduala. Funkcija, koja predstavlja sumu kvadrata odstupanja ima oblik:

Ovaj problem se može napisati i u matričnom obliku:

nnmm

n

n

m a

a

a

a

xx

xx

xx

A

y

y

y

b...

,

...1

............

...1

...1

,...

1

0

22

11

2

1

mmn

n

yxP

yxP

baAr

)(

...

)( 11

bbAabaAAarraf TTTTT 2)(

Iz potrebnog uslova optimalnosti , dobija se:

022)( bAaAAaf TT bAAAa TT 1)(

Bezuslovna optimizacija - funkcija višepromenljivih

Primer – metod najmanjih kvadrata

Primer:m = 40

Korišćeni polinomi:n = 2, 3 i 10

Srednje kvadratno odstupanje:

err = (rT r)/m = 0.0415, 0.0240 i 0.0214

Page 8: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

8

Bezuslovna optimizacija - funkcija višepromenljivih

Primer – metod najmanjih kvadrata

Sa polinomom većeg stepena, moguće je dobiti bolje slaganje, ali to podrazumeva pojavu “oscilacija” koje najčešće nisu deo prirode fenomena.

Zbog toga se funkcija greške često predstavlja na sledeći način:

aarraf TT )(

gde je γ (>0) koeficijent kojim se penalizuju polinomi višeg stepena.

bAEAAa TT 1)(

E – jedinična matrica dimenzija (n+1)

Bezuslovna optimizacija - funkcija višepromenljivih

Uslovi optimalnosti

Potreban uslov lokalnog ekstrema: 0)( Xf

nx

x

X ...*1

)))((()(2

1)())(()()( **2**** XXXfXXXXXfXfXf TT

Razvojem funkcije f(X) u Taylor-ov red u okolini tačke X* i zadržavanjem samo prva tri člana:

2

2

1

2

1

2

21

2

2

...

.........

...

)()(

nn

n

x

f

xx

f

xx

f

x

f

XfXHMatrica Hessian-a:

Ako je X* tačka u kojoj je zadovoljen potreban uslov optimalnosti da bi ta tačka bila minimum, potrebno je da f(X) > f(X*) iz čega sledi dovoljan uslov minimuma funkcije više promenljivih:

0)( * Xf

0*)( XXHX T

Dovoljan uslov minimuma f(X):

*X X X gde je:

Page 9: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

9

Bezuslovna optimizacija - funkcija višepromenljivih

Uslovi optimalnosti

Potreban uslov lokalnog ekstrema: 0)( Xf

nx

x

X ...*1

Dovoljan uslov minimuma funkcije više promenljivih, je da matrica Hessian-a H bude pozitivno definitna:

0*)( XXHX T

Po definiciji, pozitivna definitnost matrice podrazumeva da prethodni uslov bude ispunjen za bilo koji vektor ΔX.

Kako prethodni uslov mora biti ispunjen i za svaki jedinični vektor, to znači da dijagonalni elementi matrice H moraju biti pozitivni (nije dovoljan uslov).

Postoji nekoliko načina da se proveri pozitivna definitnost matrice H.

Bezuslovna optimizacija - funkcija višepromenljivih

Uslovi optimalnosti

Primer:

0114

1001

066

168

0866

68

088

33

22

11

H

H

H

Determinante glavnih minora: H11 , H22, H33 su pozitivne, pa je matrica pozitivno definitna:

Simetrična matrica je pozitivno definitna, ako su svi minori glavne dijagonale Hii pozitivni.

Page 10: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

10

Bezuslovna optimizacija - funkcija višepromenljivih

Uslovi optimalnosti

Drugi način za proveru pozitivne definitnosti matrice je preko sopstvenih vrednosti.

Sopstvene vrednosti λ se dobijaju iz uslova da netrivijalna rešenja sistema postoje kada je ispunjen uslov:

0)(

XEH

XHX

0EH

Ako su sve sopstvene vrednosti, simterične matrice Hpozitivne, matrica je pozitivno definitna:

0)( 22

EH

H

Primer:

0

0XX

HXXXXHXX

T

TTT

Bezuslovna optimizacija - funkcija višepromenljivih

Uslovi optimalnosti

Primer: “Banana funkcija”222 )(100)1(),( xyxyxf

1,10)(200

)(400)1(2 **

2

2

yxxy

xyxxf

Potreban uslov:

200400

400802)1,1(

200400

40040012002 2

Hx

xyxH

Dovoljan uslov:

Page 11: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

11

Bezuslovna optimizacija - funkcija višepromenljivih

Metode zasnovane na gradijentima

Metoda Newton-a

)))((()(2

1)())(()()( 2

iiT

iiT

ii XXXfXXXXXfXfXf

Iz uslova da je prvi izvod funkcije f(X) jednak 0 dobija se:

0)))((()( 2 iii XXXfXf

Do rešenja se dolazi u iteracijama:

)()( 11 iiii XfXHXX

Prednost ove metode je brzina konvergencije. Kod kvadratnih funkcija, rešenje se dobija u jednom koraku.Nedostatak je, što je potrebno računati matricu H i njenu inverznu vrednost u svakoj iteraciji proračuna. Osim toga proračun je veoma osetljiv na izbor početne tačke.

Bezuslovna optimizacija - funkcija višepromenljivih

Metode zasnovane na gradijentima

Metoda Newton-a

Primer:

2)1(3)3( 22

21 xxf

Originalna Newton-ova metoda zahteva poznavanje prvog i drugog izvoda funkcije:

)1(6

)3(2

2

1

x

xf

60

02H

Usvaja se početna tačka: X0=[0, 0]T

1

3

6

6

6/10

02/1

0

0)( 0

101 XfHXX

U tački X1=[3, 1]T, ispunjeni su i potreban i dovoljan uslov, pa je ta tačka lokalni minimum.

Page 12: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

12

x1

x2X0=(x10,x20)

Minimum: Xmin

Bezuslovna optimizacija - funkcija višepromenljivih

Metode zasnovane na gradijentima

Bezuslovna optimizacija - funkcija višepromenljivih

Metode zasnovane na gradijentima

Metod najstrmijih gradijenata – Cauchy-jev metod

Kod metode najstrmijih gradijenata, pronalazi se najmanja vrednost funkcije u pravcu vektora Δs.

sXfXfsXf Tiii ))(()()(

Kako je ideja da se nadje manja vrednost funkcije to mora biti ispunjen uslov:

0))(()()( sXfXfsXf Tiii

Scalarni proizvod dva vektora je minimalan kada su oni paralelni i suprotnim smerovima, pa Δs treba računati iz uslova: )( iXfs

gde je α > 0 veličina koraka propagacije u pravcu Δs.

Page 13: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

13

Bezuslovna optimizacija - funkcija višepromenljivih

Metode zasnovane na gradijentima

Metod najstrmijih gradijenata – Cauchy-jev metod

)())(()()( 1 iT

iii XfXfXfXf

Vrednost α, nije proizvoljna. Mala vrednost, bi značila sporu konvergenciju, a prevelika bi mogla dovesti da se promaši cilj i ode dalje od lokalnog minimuma.

Korak α se menja u svakoj iteraciji proračuna i dobija se iz uslova minimumu funkcije:

ii

i

iiiii

d

d

XfXfXf

0)(

))(()()( 1

Nova vrednost vektora: )(1 iiii XfXX

Ako se Cauchy-jev metod uporedi sa metodom Newton-a, očigledno je da je matrica H pojednostavljena i da se računa: EXH ii 1)(

Bezuslovna optimizacija - funkcija višepromenljivih

Metode zasnovane na gradijentima

Metod najstrmijih gradijenata – Cauchy-jev metod

Primer: 2221

21 )3(10510 xxxxf , početna tačka je X0=[10, 15]T

Prva iteracija:

290

275

15

10)( 00001 XfXX

Korak propagacije α0 se nalazi iz uslova minimuma funkcije f u pravcu gradijenta u tački X0:

2000

200 )29012(10)29015)(27510(5)27510(10)(

04001.003992000159725)(

000

0

d

dX1 = [-1.0027, 3.3971]T

Druga iteracija:

919.2

078.3,

919.2

078.3)( 1121 XXXf

Iz minimuma funkcije ϕ(α1), dobija se α1=0.066, pa je X2=[-0.797,3.202]T

20029.3

8000299.0040.0

064.0

060.0,

064.0

060.0)( 322232 XXXXf

Treća iteracija:

Dobijeno rešenje je veoma blisko tačnom: X* = [-4/5,16/5]T = [-0.8,3.2]T

Page 14: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

14

Bezuslovna optimizacija - funkcija višepromenljivih

Metode zasnovane na gradijentima

Metod najstrmijih gradijenata – Cauchy-jev metod

Nedostatak Cauchy-jeve metode je što se u svakoj iteraciji traži tačna veličina koraka u pravcu najstrmijeg pada, što može biti veoma složeno. Za rešavanje realnih problema, najčešće tačna vrednost koraka α nije tako važna, već bi pronalaženje približne vrednosti bilo dovoljno dobro.

Ako se α, traži na približan način u svakoj iteraciji proračuna, moraju biti ispunjeni određeni uslovi, kako izabrana vrednost ne bi bila prevelika ili premala.Wolfe-ovi uslovi postavljaju ograničenja po pitanju vrednosti funkcije i prvog izvoda

)0(')1()('

)0(')0()(

Gde je ε parametar koji uzima vrednost 0 do ½.

Algoritam za pronalaženje prihvatljive vrednosti α: krene se sa maksimalnom vrednošću i ispita se ispunjenost Wolfe-ovih uslova. Ako uslovi nisu ispunjeni, korak se redukuje množenjem sa faktorom koji je manji od 1 (npr. 0.9). Postupak se ponavlja dok uslovi nisu ispunjeni.

Bezuslovna optimizacija - funkcija višepromenljivih

Metode zasnovane na gradijentima

Osnovni koraci optimizacionih metoda zasnovanih na gradijentima:

Definiše se početna tačka X0

i = 0,1,2,.....

• proveriti konvergenciju u tački Xi

• sračunati pravac pomeranja pi

• odrediti veličinu koraka pomeranja αi

• odrediti položaj nove tačke Xi+1= Xi+ αi pi

Sve metode zasnovane na gradijentima se razlikuju po tome na koji način se računaju pravac pomeranja i veličina koraka.

Page 15: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

15

Bezuslovna optimizacija - funkcija višepromenljivih

Metode bez gradijenata

Metoda Nelder-Mead-a:

Kada izvode funkcije nije moguće odrediti eksplicitno, jedna mogućnost je da se to uradi približno - numerički, a druga je da se proračun sprovede primenom neke metode koja ne zahteva poznavanje izvoda funkcije.

Kod ove metode, za proračun se koristi skup rešenja, koji se pomera iz jedne iteracije u drugu. Brojnost ovog skupa je za jedan veći od broja nepoznatih, odnosno od dimenzija vektora X.Iterativni skup P, koji ima n+1 tačku u n dimenzionalnom prostoru, se naziva simplex. Kada je problem dvodimenzionalan, simpleks je trougao. U slučaju funkcije sa 3 nepoznate, simplex je tetraedar.

Bezuslovna optimizacija - funkcija višepromenljivih

Metode bez gradijenata

Metoda Nelder-Mead-a

Osnovni koraci

Prvi korak je da se formira skup P koji se zatim sortira prema vrednosti kriterijumske funkcije f(Xi):

)(...)()(

),...,{

10

0

n

n

XfXfXf

XXP

Zatim se nalazi centar simpleksa ali se prethodno izostavi tačka n+1, koja je najlošija tačka iz skupa P:

1

0

1 n

ic Xn

X

Na osnovu tačke Xc nalazi se tačka Xr, koja predstavlja refleksiju najlošije tačke skupa P: , gde je α, koeficijent veći od 0 (obično 1).

)( 1 nccr XXXX

Page 16: NELINEARNO PROGRAMIRANJE - grf.bg.ac.rs · PDF file1 METODE OPTIMIZACIJE NELINEARNO PROGRAMIRANJE Dr Tina Daši ć Dr Miloš Stanić Građevinski fakultet Univerziteta u Beogradu 2014

16

Bezuslovna optimizacija - funkcija višepromenljivih

Metode bez gradijenata

Metoda Nelder-Mead-a

Osnovni koraci

Da li se nova tačka prihvata ili ne, zavisi od vrednosti funkcije f(Xr):

• Ako je f(X0)< f(Xr)< f(Xn-1), onda se najlošije rešenje Xn, izbacuje iz skupa P a uvodi se novo rešenje Xr, u sortirani skup P, na mesto koje odgovara vrednosti funkcije f(Xr)

• Ako je f(Xr)< f(X0), proba se sa daljom ekspanzijom simpleksa u tom pravcu, radi provere da li se vrednost funkcije može još više poboljšati:Ako je f(Xe)< f(Xr) prihvata se rešenje Xe, u protivnom se Xr

koristi kao novo rešenje i uvodi se u skup P umesto najlošijeg rešenja Xn.

)( crre XXXX

• Ako nema napredka f(Xr)> f(Xn-1), kontrakuje se simpleks tako

što se najlošija tačka približava centru:

Gde γ uzima vrednost 0.5. Ako f(Xk)< f(Xn), Xk se koristi kao novo

rešenje i uvodi se u skup P umesto najlošijeg rešenja Xn.

)( ncnk XXXX

Bezuslovna optimizacija - funkcija višepromenljivih

Metode bez gradijenata

Metoda Nelder-Mead-a

Osnovni koraci

Da li se nova tačka prihvata ili ne, zavisi od vrednosti funkcije f(Xr):

• Ako nijedan od navedenih uslova nije ispunjen, ceo skup P se kontrakuje prema najboljem rešenju X1:

)( 11 XXXX ii