METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor...

26
POGLAVLJE 1 METODA KONJUGOVANIH PRAVACA Metoda konjugovanih pravaca se moˇ ze smatrati prelazom izmed¯u metode najbrˇ zeg spusta i Njutnove metode. Generalno, ova metoda ima bolje perfor- manse od metode najbrˇ zeg spusta, ali je manje efikasna od Njutnove metode. U opˇ stem sluˇ caju, metoda konjugovanih pravaca podrazumeva reˇ savanje sis- tema jednaˇ cina, ali sa druge strane, u praksi se najˇ ceˇ ce ne zahteva raˇ cunanje Hesijan matrice funkcije u taˇ cki. Takod¯e, ova metoda u opˇ stem sluˇ caju ne zah- teva nalaˇ zenje inverza kvadratne matrice. U ovom poglavlju, nakon uvod¯enja osnovnih pojmova i osobina, izloˇ zi´ cemo metodu konjugovanih pravaca na pri- meru minimizacije kvadratne funkcije i analizira´ cemo uslove pod kojima ova metoda konvergira. Zatim razmatramo metodu konjugovanih gradijenata, koja predstavlja specijalni sluˇ caj metode konjugovanih pravaca. Izloˇ zi´ cemo metodu konjugovanih gradijenata za minimizaciju proizvoljne funkcije, a zatim ´ cemo se fokusirati na kvadratni sluˇ caj. 1.1 Q-konjugovani vektori Kljuˇ cni faktor za efikasnost metode iterativnog tipa za reˇ savanje problema minimizacije zadate funkcije je naˇ cin na koji odred¯ujemo pravac pretrage u 1

Transcript of METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor...

Page 1: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

POGLAVLJE 1

METODA KONJUGOVANIH

PRAVACA

Metoda konjugovanih pravaca se moze smatrati prelazom izmedu metodenajbrzeg spusta i Njutnove metode. Generalno, ova metoda ima bolje perfor-manse od metode najbrzeg spusta, ali je manje efikasna od Njutnove metode.U opstem slucaju, metoda konjugovanih pravaca podrazumeva resavanje sis-tema jednacina, ali sa druge strane, u praksi se najcesce ne zahteva racunanjeHesijan matrice funkcije u tacki. Takode, ova metoda u opstem slucaju ne zah-teva nalazenje inverza kvadratne matrice. U ovom poglavlju, nakon uvodenjaosnovnih pojmova i osobina, izlozicemo metodu konjugovanih pravaca na pri-meru minimizacije kvadratne funkcije i analiziracemo uslove pod kojima ovametoda konvergira. Zatim razmatramo metodu konjugovanih gradijenata, kojapredstavlja specijalni slucaj metode konjugovanih pravaca. Izlozicemo metodukonjugovanih gradijenata za minimizaciju proizvoljne funkcije, a zatim cemo sefokusirati na kvadratni slucaj.

1.1 Q-konjugovani vektori

Kljucni faktor za efikasnost metode iterativnog tipa za resavanje problemaminimizacije zadate funkcije je nacin na koji odredujemo pravac pretrage u

1

Page 2: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

2 Zorica Stanimirovic

svakoj iteraciji. Pokazuje se da je za kvadratnu funkciju f : Rn → R definisanusa f(X) = 1

2XTQX − bTX, gde je Q simetricna, pozitivno definitna matrica

reda n i b ∈ Rn dati vektor, najbolji pravac pretrage upravo vektor iz skupaQ-konjugovanih pravaca. Za vektore (pravce) d1 i d2 iz Rn kazemo da su Q-konjugovani ukoliko je dT1 Qd2 = 0, gde je Q matrica kvadratne funkcije f .Preciznije, imamo sledecu definiciju.

Definicija 1.1 Neka je Q realna, simetricna kvadratna matrica reda n. Zapravce d0, d1, ..., dk ∈ Rn kazemo da su Q-konjugovani, ako vazi

dTi Qdj = 0, za svako i = j.

Sledeca lema govori o linearnoj nezavisnosiQ-konjugovanih pravaca u slucajuda je matrica Q pozitivno definitna.

Lema 1.1 Neka je Q simetricna, pozitivno definitna matrica reda n. Ukoliko sune-nula pravci d0, d1, ..., dk ∈ Rn, k ≤ n− 1, Q-konjugovani, tada su i linearnonezavisni.

Dokaz. Neka su α0, α1, ..., αk skalari takvi da je linearna kombinacija vektoradi, i = 0, ..., k jednaka nuli, odnosno

α0d0 + α1d1 + ...αkdk = 0.

Ukoliko pomnnozimo ovu linearnu kombinaciju sa dTj Q za svako 0 ≤ j ≤ k,imajuci u vidu da su pravci Q-konjugovani, dobijamo

αjdTj Qdj = 0,

jer su svi ostali clanovi dTi Qdj = 0, za svako i = j. Kako je, prema pretpostavcileme, matrica Q pozitivno definitna i vektori di = 0, sledi da je

αj = 0, za svako j = 0, 1, ..., k,

sto po definiciji znaci da su vektori d0, d1, ..., dk, k ≤ n − 1 linearno nezavisni.�

Primer 1.1 Data je matrica

Q =

3 0 10 4 21 2 3

.

Page 3: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 3

Lako se pokazuje da je matrica Q pozitivno definitna (svi glavni minori supozitivni, tj. D1 = 3, D2 = 12, D3 = 20). Za zadatu maticu Q konstruisimoniz konjugovanih pravaca d0, d1 i d2. Neka je d0 = [1, 0, 0]T . Nadimo vektored1 = [d11, d

21, d

31]

T i d2 = [d12, d22, d

32]

T .Da bi vektori d0 i d2 bili Q-konjugovani mora da vazi

dT0 Qd1 = 3d11 + d31 = 0.

Uzmimo da je d11 = 1, d21 = 0 i d31 = −3. Tada je d1 = [1, 0,−3]T i vazidT0 Qd1 = 0.

Da bi treci vektor d2 bio Q-konjugovan sa d0 i d1, mora da vazi

dT0 Qd2 = 3d12 + d32 = 0 i

dT1 Qd2 = −6d22 − 8d32 = 0.

Trazeni vektor d3 = [1, 4,−3]T . Dobijeni vektori d0 ,d1 i d2 suQ-konjugovani.

Metoda koju smo koristili u Primeru 1.1 za nalazenje Q-konjugovanih pra-vaca je ocigledno neefikasna u racunskom smislu. Efikasnu metodu mozemoizvesti koristeci slicnu ideju kao kod Gram-Smitovog1 postupka ortogonalizacijevektora [?], [?] (videti zadatke za vezbu).

Primetimo da su slucaju Q = I, gde je I jedinicna matrica odgovarajucegreda, Q-konjugovani vektori d0, d1, ..., dk zapravo ortogonalni vektori, odnosnovazi

dTi Qdj = dTi dj = 0, za svako i = j.

Dakle, za Q = I, svojstvo Q-konjugovanosti skupa vektora se svodi na svojstvoortogonalnosti.

Lema 1.1 koju smo dokazali ima znacajnu ulogu pri minimizaciji kvadratnefunkcije f : Rn → R, definisane sa f(X) = 1

2XTQX−bTX, gde je Q simetricna,

pozitivno definitna matrica reda n i b ∈ Rn dati vektor.Pretpostavimo da su vektori d0, d1, ..., dk, 0 ≤ k ≤ n − 1, medusobno Q-

konjugovani i posmatrajmo vektor Y , koji predstavlja njihovu linearnu kombi-naciju

Y =

k∑i=0

αidi.

1Jorgen Pedersen Gram (1850–1916), Erhard Schmidt (1876–1959)

Page 4: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

4 Zorica Stanimirovic

Odredimo vrednost funkcije f u tacki Y :

f(Y ) = f(

k∑i=0

αidi)

=1

2(

k∑i=0

αidi)TQ(

k∑i=0

αidi)− bT (

k∑i=0

αidi)

=1

2

k∑i=0

k∑j=0

αiαjdTi Qdj −

k∑i=0

αibT di

=

k∑i=0

(1

2α2i d

Ti Qdi − αib

T di).

Sada lako mozemo minimizovati funkciju f po svim vektorima Y koji su linearnakombinacija Q-konjugovanih vektora di, i = 0, 1, ..., k. Imamo da je

minY f(Y ) = min{αi∈R}f(

k∑i=0

αidi)

= min{αi∈R}

k∑i=0

(1

2α2i d

Ti Qdi − αib

T di)

=k∑

i=0

min{αi∈R}(1

2α2i d

Ti Qdi − αib

T di).

Prema tome, vidimo da se polazni problem svodi na sumu k + 1 jednodimen-zionalnih problema minimizacije. Svaki od ovih problema se moze resiti iz-jednacavanjem izvoda po αi sa nulom

αi(dTi Qdi)− bT di = 0 , i = 0, 1, 2, ..., k,

odakle je

αi =bT didTi Qdi

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

Kada smo odredili koeficijente αi, dobijamo konacno resenje

X∗ = Y =

k∑i=0

bT didTi Qdi

di.

Page 5: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 5

Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn moze biti predstavljen kaolinearna kombinacija vektora d0, .., dn−1, s obzirom da su linearno nezavisni ida ih ima tacno n.

1.2 Metoda konjugovanih pravaca – kvadratnislucaj

U ovoj sekciji izlozicemo metodu konjugovanih pravaca za minimizaciju kva-dratne funkcije f : Rn → R definisane sa

f(X) =1

2XTQX − bTX,

gde je Q simetricna, pozitivno definitna matrica reda n i b ∈ Rn dati vektor.Kako jeQ > 0, tada funkcija ima globalni minimum koji se moze naci resavanjemjednacine QX = b. Jos ranije smo pokazali da je u slucaju kvadratne funkcijef(X) = 1

2XTQX−bTX sa pozitivno definitnom matricom Q, minimum funkcije

f(X) za X ∈ Rn, upravo resenje sistema linearnih jednacina QX = b. Iz tograzloga, metoda konjugovanih pravaca se moze koristiti i za resavanje sistemalinearnih jednacina sa pozitivno definitnom matricom.

Sustina osnovne varijante metode konjugovanih pravaca za minimizacijukvadratne funkcije je konstrukcija iterativnog niza {X(k)} koristeci skup Q-konjugovanih pravaca (vektora). Ukoliko je poznat skup Q-konjugovanih pra-vaca d0, d1, ..., dn−1 i pocetna tacka X(0), osnovna metoda konjugovanih pravacaje relativno jednostavna i sastoji iz sledeceg niza koraka.Algoritam 5.1Korak 0. Izabrati dopustivu tacku X(0) ∈ Rn. Postaviti k = 0.Korak 1. Izracunati fk = ∇f(X(k)) = QX(k) − b.

Korak 2. Odrediti αk = − fTk dk

dTk Qdk

.

Korak 3. Izracunati narednu tacku iterativnog niza po formuli

X(k+1) = X(k) + αkdk.

Korak 4. Ispitati da li za X(k+1) vazi izabrani kriterijum zaustavljanja. Uko-liko vazi, iterativni proces se zaustavlja i uzimamo da je X(k+1) ≈ X∗. Usuprotnom, postaviti k = k + 1 i ici na Korak 1.

Page 6: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

6 Zorica Stanimirovic

Primer 1.2 Metodom konjugovanih pravaca naci minimum funkcije f : R2 →R definisane sa f(X) = 1

2XTQX − bTX, gde je

Q =

[4 22 2

]i b = [−1, 1]T .

Matrica Q je ocigleno simetricna i pozitivno definitna. Neka je zadata pocetnatacka X(0) = [0, 0]T , kao i skup Q-konjugovanih pravaca d0 = [1, 0]T i d1 =[− 3

8 ,34 ]

T .

Kako je

f0 = QX(0) − b = −b = [1,−1]T i

α0 = − fT0 d0

dT0 Qd0= −1

4,

dobijamo da je

X(1) = X(0) + α0d0 = [−1

4, 0]T .

Da bismo izracunali X(1) nadimo najpre gradijent f1 i koroak α1

f1 = QX(1) − b = [0,−3

2]T ,

α1 = − fT1 d1

dT1 Qd1= 2.

Tada je

X(2) = X(1) + α1d1 = [−1,3

2]T .

Kako je f kvadratna funkcija dve promenljive (n = 2), prema Teoremi 1.1,koja ce biti dokazana u narednoj sekciji, iterativni proces metode konjugovanihpravaca konvergira u dva koraka tacnom resenju problema, tj X(2) = X∗.

1.3 Konvergencija metode konjugovanih pravaca

U ovoj sekciji dokazacemo teoremu o konvergenciji metode konjugovanihprvaca pri minimizaciji kvadratne funkcije i izlozicemo neke korisne osobineiterativnog niza konstruisanog ovom metodom.

Page 7: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 7

Teorema 1.1 Posmatrajmo problem minimizacije kvadratne funkcije f : Rn →R oblika f(X) = 1

2XTQX − bTX, gde je Q pozitivno definitna matrica i b dati

vektor. Za zadati skup Q-konjugovanih pravaca d0, d1, .., dn−1 i proizvoljni izborpocetne tacke X(0), iterativni niz {X(k)} konstruisan metodom konjugovanihpravaca pri minimizaciji funkcije f , konvergira jedinstvenoj tacki minimumaX∗ u n koraka, odnosno X(n) = X∗.

Primetimo da je jedinstveni minimum X∗ iz formulacije Teoreme 1.1 istovre-meno i resenje jednacine QX = b.Dokaz. Neka je d0, d1, .., dn−1 zadati skup Q-konjugovanih pravaca i X(0) pro-izvoljno izabrana tacka. Posmatrajmo vektor X∗ −X(0). Kako su vektori di ∈Rn, i = 0, 1, ..., n− 1 linearno nezavisni, postoje konstante βi, i = 0, 1, ..., n− 1takve da vazi

X∗ −X(0) = β0d0 + β1d1 + ...+ βn−1dn−1.

Mnozeci obe strane sa dTkQ, za 0 ≤ k < n, dobijamo

dTkQ(X∗ −X(0)) = βkdTkQdk,

jer su vektori dk i di Q-konjugovani za i = k, te vazi dTkQdi = 0 za i = k. Izposlednje jednakosti sledi

βk =dTkQ(X∗ −X(0))

dTkQdk.

Sa druge strane, svaku tacku iterativnog niza X(k), k ≥ 1, mozemo predstavitiu obliku

X(k) = X(k−1) + αk−1dk−1 = X(0) + α0d0 + α1d1 + ...+ αk−1dk−1,

odakle jeX(k) −X(0) = α0d0 + α1d1 + ...+ αk−1dk−1.

Vektor X∗ −X(0) mozemo predstaviti i na sledeci nacin

X∗ −X(0) = (X∗ −X(k)) + (X(k) −X(0)).

Mnozenjem gornje jednakosti vektorom dTkQ s desne strane, dobijamo

dTkQ(X∗ −X(0)) = dTkQ(X∗ −X(k)) + dTkQ(X(k) −X(0)),

Page 8: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

8 Zorica Stanimirovic

odnosno

dTkQ(X∗ −X(0)) = dTkQ(X∗ −X(k)) + dTkQ(X(k) −X∗) + dTkQ(X∗ −X(0)),

odakle je

0 = dTkQ(X∗ −X(k)) + dTk (QX(k) −QX∗).

S obzirom da vazi fk = QX(k) − b, QX∗ = b i vektor dk je Q-konjugovan sad0, d1, ..., dk−1, poslednji izraz se svodi na

dTkQ(X∗ −X(0)) = dTkQ(X∗ −X(k)) = −dTk fk.

Uvrstavanjem dTkQ(X∗−X(0)) = −dTk fk u izraz za βk koji smo prethodno izveli,dobijamo

βk = − dTk fkdTkQdk

= αk.

U slucaju k = n− 1, imamo da je βk = αk, k = 0, 1, ..., n− 1, te je X(n) = X∗,sto je i trebalo dokazati. �

Naredne dve leme i teorema govore o interesantnim svojstvima iterativnogprocesa metode konjugovanih pravaca.

Lema 1.2 Neka {X(k)} iterativni niz konstruisan metodom konjugovanih pra-vaca pri minimizaciji kvadratne funkcije f(X) = 1

2XTQX−bTX za zadati skup

Q-konjugovanih pravaca d0, d1, .., dn−1 i proizvoljni izbor pocetne tacke X(0).Neka je fk+1 gradijent funkcije f u tacki X(k+1) = X(k) +αkdk i αk koeficijentuz vektor pravca dk pri konstrukciji tacke X(k+1). Tada za svako k vazi

fTk+1dk = 0

i koeficijent αk je upravo vrednost za koju funkcija φ(α) = f(X(k)+αdk), α ∈ Rdostize minimum.

Dokaz. Neka je X(0) izabrana pocetna tacka od koje se krecemo u pravcuvektora d0 do naredne tacke iterativnog niza X(1) po formuli

X(1) = X(0) − fT0 d0

dT0 Qd0d0.

Page 9: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 9

Pokazimo da za k = 0 vazi fT1 d0 = 0. Zaista,

fT1 d0 = (QX(1) − b)T d0

= (QX(0) − fT0 d0

dT0 Qd0Qd0 − b)T d0

= (X(0))TQd0 −fT0 d0

dT0 Qd0dT0 Qd0 − bT d0

= fT0 d0 − fT

0 d0 = 0.

Koristeci fT1 d0 = 0 mozemo pokazati da je α0 minimum funkcije

φ0(α) = f(X(0) + αd0), za α ∈ R.

Zaista, kako jeφ′0(α) = ∇f(X(0) + αd0)

T d0,

zamenjujuci α = α0 u izraz za φ′0(α), dobijamo

φ′0(α) = fT

1 d0 = 0.

Kako je φ0(α) kvadratna funkcija po α i koeficijent uz α2 u φ0(α) jednak12d

T0 Qd0 > 0, zakljucujemo da je upravo α0 minimum funkcije

φ0(α) = f(X(0) + αd0) za α ∈ R.

Na slican nacin, koristeci princip matematicke indukcije, mozemo zakljuciti daza svako k vazi

fTk+1dk = 0

i da je αk vrednost za koju funkcija φk(α) = φk(X(k) + αdk), α ∈ R dostize

minimum. �

Lema 1.3 Neka {X(k)} iterativni niz konstruisan metodom konjugovanih pra-vaca pri minimizaciji kvadratne funkcije f(X) = 1

2XTQX−bTX za zadati skup

Q-konjugovanih pravaca d0, d1, .., dn−1 i proizvoljni izbor pocetne tacke X(0).Ako je fk gradijent funkcije f u tacki X(k), tada vazi

fTk+1di = 0,

za svako 0 ≤ k ≤ n− 1 i 0 ≤ i ≤ k.

Page 10: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

10 Zorica Stanimirovic

Dokaz. Kako je fk = QX(k) − b, za svako k vazi

Q(X(k+1) −X(k)) = QX(k+1) −QX(k)

= (QX(k+1) − b)− (QX(k) − b)

= fk+1 − fk,

odakle je

fk+1 = fk +Q(X(k+1) −X(k))

= fkαkQdk.

Tvrdenje leme dokazacemo matematickom indukcijom.Za k = 0 tvrdenje vazi, jer je fT

1 d0 = 0, sto je ranije pokazano u Lemi 1.2.Pretpostavimo da tvrdenje vazi za k−1, tj. da je fT

k di = 0 za svako 0 ≤ i ≤ k−1.Dokazimo da tvrdenje vazi i za k + 1, odnosno da je fT

k+1di = 0 za svako0 ≤ i ≤ k.Fiksirajmo k > 0 i 0 ≤ i ≤ k − 1. Prema indukcionoj hipotezi, fT

k di = 0 jer je0 ≤ i ≤ k − 1. Kako je

fk+1 = fk + αkQdk,

i kako po pretpostavci teoreme vazi dTkQdi = 0, jer su dk i di uzajamno Q-konjugovani, zakljucujemo da je

fTk+1di = fT

k di + αkdTkQdi = 0.

Ostaje jos da se pokaze da vazi fTk+1dk = 0. Zaista, kako je fk = QX(k) − b,

lako se dobija da je

fTk+1dk = (QX(k+1) − b)T dk

= (Q(X(k) + αkdk)− b)T dk

= (X(k))TQdk + αkdTkQdk − bT dk

= (X(k) − fTk dk

dTkQdkdk)

TQdk − bT dk

= (QX(k) − b)T dk − fTk dk = 0.

Dakle, prema principu matematicke indukcije, zakljucujemo da za svako 0 ≤k ≤ n− 1 i 0 ≤ i ≤ k vazi

fTk+1di = 0,

Page 11: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 11

sto je i trebalo dokazati. �Prema Lemi 1.3 sledi da je vektor fk+1 ortogonalan na Q-konjugovane vek-

tore d0, d1, ..., dk, pa samim tim i na bilo koji vektor iz potprostora koji razapinjulinearno nezavisni vektori d0, d1, ..., dk (videti Sliku 1.1).

Slika 1.1: Ortogonalnost vektora fk+1 na potprostor Lk dimenzije k + 1 kojirazapinju linearno nezavisni vektori d0, d1, ..., dk

Rezultati Leme 1.3 se dalje mogu iskoristiti da se dokaze interesantno svoj-stvo optimalnosti metode konjugovanih pravaca.

Teorema 1.2 Neka {X(k)} iterativni niz konstruisan metodom konjugovanihpravaca pri minimizaciji kvadratne funkcije f(X) = 1

2XTQX − bTX za zadati

skup Q-konjugovanih pravaca d0, d1, .., dn−1. Neka je fk gradijent funkcije f utacki X(k) i αk koeficijent uz vektor pravca dk pri konstrukciji tacke X(k+1).Tada vazi

f(X(k+1)) = minαf(X(k) + αdk) = minα0,...,αk

f(X(0) +k∑

i=0

αidi).

Drugim recima, iz tvrdenja Teoreme 1.2 direktno sledi da je

f(X(k+1)) = minX∈Skf(X),

gde je Sk = X(0) +Lk ⊆ Rn a Lk = L(d0, d1, ..., dk) ⊆ Rn potprostor dimenzijek+ 1 generisan linearno nezavisnim Q-konjugovanim pravcima d0, d1, ..., dk. Sa

Page 12: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

12 Zorica Stanimirovic

porastom k, prostor Lk = L(d0, d1, ..., dk) se siri ka Rn, te ce za dovoljno velikok, tacka X∗ pripadati prostoru Sk = X(0) + Lk. Iz ovog razloga, Teorema 1.2je poznata i pod nazivom Teorema o sirenju potprostora.

Dokaz. Da bismo dokazali Teoremu 1.2, definisimo najpre Dk kao matricudimenzija n× (k + 1), cije su kolone upravo vektori d0, d1, ..., dk, odnosno

Dk = [d0, d1, ..., dk].

Oznacimo sa Im(Dk) sliku prostora Rk+1 pri linearnom preslikavanju cija jematrica Dk. Tada vazi

Im(Dk) = {DkY ∈ Rn | Y ∈ Rk+1}

i podsetimo da je Im(Dk) potprostor od Rn, jer je preslikavanje Im : Rk+1 →Rn linearno. U literaturi se potprostor Im(Dk) moze naci pod nazivom slikamatrice Dk.Dalje, primetimo da vazi

Sk = X(0) + Im(Dk)

i

X(k+1) = X(0) +

k∑i=0

αidi = X(0) +DkA,

gde je A = [α0, α1, ..., αk]T ∈ Rk+1 matrica ciji su elementi upravo koeficijenti

αk koji zadovoljavaju uslove metode konjugovanih pravaca (videti Sekciju 1.1).Dalje, zakljucujemo da vazi

X(k+1) ∈ X(0) + Im(Dk) = Sk.

Uzmimo proizvoljno X ∈ Sk. Tada postoji Y ∈ Rk+1 takvo da vazi X =X(0) +DkY . Definisimo funkciju φk : Rk+1 → R na sledeci nacin

φk(Y ) = f(X(0) +DkY ).

Funkcija je kvadratna, jer je takva i funkcija f . Izvod funkcije φk u tacki Y je

∇φk(Y ) = ∇f(X(0) +DkY )TDk,

i moze se pokazati da postoji jedinstvena tacka Y ∈ Rk+1 za koju je ∇φk(Y ) =0. Drugim recima, φk ima jedinstveni minimum koji zadovoljana NUPR.

Page 13: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 13

Sa druge strane, stavljajuci Y = A u izraz za izvod funcije φk dobijamo

∇φk(A) = ∇f(X(0) +DkA)TDk

= ∇f(X(k+1))TDk = fTk+1Dk

Kako prema Lemi 1.3 vazi fk+1di = 0 za svako i = 0, 1, .., k, zakljucujemo daje fT

k+1Dk = 0. Dakle, tacka A = [α0, ..., αk]T zadovoljava NUPR za minimum

kvadratne funkcije φk i prema tome, predstavlja jedinstveni minimum funkcijeφk. Drugim recima, vazi

f(X(k+1)) = minAf(X(0) +DkA) = minx∈Sk

f(X),

sto je trebalo pokazati. �Metoda konjugovanih pravaca je vrlo efikasna, ali primetimo da je za njenu

primenu potrebno zadati ne samo pocetnu tackuX(0), vec i skupQ-konjugovanihpravaca. Medutim, postoji varijanta metode konjugovanih pravaca, pod nazi-vom metoda konjugovanih gradijenata, koja tokom iterativnog procesa generisei skup Q-konjugovanih pravaca. Primenu metode konjugovanih gradijenata zaresavanje problema minimizacije funkcije (opsti i kvadratni slucaj) izlozicemo unaredne dve sekcije.

1.4 Metoda konjugovanih gradijenata – kvadratnislucaj

Ponovo razmatramo problem minimizacije kvadratne funkcije f : Rn → R,definisane sa

f(X) =1

2XTQX − bTX,

gde je Q simetricna, pozitivno definitna matrica reda n i b ∈ Rn dati vektor.Primena metode konjugovanih pravaca podrazumeva da je skup Q-konjugovanihvektora unapred zadat, kao i pocetna tacka iterativnog niza. Ukoliko skup Q-konjugovanih gradijenata nije poznat, tada koristimo varijantu metode konju-govanih pravaca pod nazivom metoda konjugovanih gradijenata. Ova metoda usvakoj iteraciji odredje novi vektor pravca dk+1 kao linearnu kombinaciju pret-hodno odredenih Q-konjugovanih vektora d0, ..., dk i gradijenta fk = ∇f(X(k))u tekucoj tacki, tako da je novi vektor pravca dk+1 Q-konjugovan sa vektorimad0, .., dk. Dakle, u svakoj iteraciji istovremeno racunamo novi vektor pravcadk+1, koeficijent αk i narednu tacku iterativnog niza X(k+1).

Page 14: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

14 Zorica Stanimirovic

Neka je data pocetna tacka X(0). Prvi pravac d0 koji koristimo pri kons-trukciji iterativnog niza je pravac najbrzeg spusta, odnosno pravac negativnoggradijenta u pocetnoj tacki d0 = −f0. Tada je prva tacka iterativnog nizaodredena sa

X(1) = X(0) + α0d0,

gde je α0 minimum kvadratne funkcije φ0(α) = f(X(0) + αd0) po svim α ≥ 0.Imajuci u vidu ranija razmatranja, dobijamo da je

α0 = − fT0 d0

dT0 Qd0.

U sledecoj iteraciji, polazeci od tacke X(1) trazimo minimum funkcije upravcu vektora d1 koji je Q-konjugovan sa d0. Najpre potrazimo vektor d1 kaolinearnu kombinaciju vektora f1 i d0, tj.

d1 = −f1 + β0d0,

pri cemu je koeficijent β0 izabran tako da su vektori d0 i d1 uzajamno Q-konjugovani. Na osnovu Definicije 1.1, lako dobijamo da je

β0 =fT1 Qd0dT0 Qd0

.

U opstem slucaju, u (k + 1)-vom koraku trazimo vektor dk+1 kao linearnukombinaciju vektora fk+1 i dk, odnosno

dk+1 = −fk+1 + βkdk, k = 0, 1, 2, ...,

pri cemu se koeficijent βk odreduje iz uslova da je vektor dk+1 uzajamno Q-konjugovan sa vektorom dk. Lako se pokazuje da vazi

βk =fTk+1Qdk

dTkQdk, k = 0, 1, 2, ...

Lemom 1.4 cemo pokazati da je vektor dk+1 uzajamno Q-konjugovan i savektorima d0, d1, ..., dk−1. Imajuci u vidu gore izlozeno, algoritam metode ko-njugovanih gradijenata moze biti zapisan na sledeci nacin.Algoritam 5.2Korak 0. Izabrati pocetnu tacku X(0). Postaviti k = 0.Korak 1. Izracunati f0 = ∇f(X(0)). Ukoliko je f0 = 0, ili je ispunjen neki

Page 15: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 15

drugi kriterijum zaustavljanja, algoritam se zaustavlja i X(0) je resenje pro-blema. U suprotnom uzeti za d0 = −f0 i ici na Korak 2.

Korak 2. Izracunati αk = − fTk dk

dTk Qdk

.

Korak 3. Odrediti narednu tacku iterativnog niza X(k+1) = X(k) + αkdk.Korak 4. Izracunati fk+1 = ∇f(X(k+1)). Ukoliko je fk+1 = 0, ili je ispunjenneki drugi kriterijum zaustavljanja, algoritam se zaustavlja i tacka X(k+1) je(priblizno) resenje problema. U suprotnom ici na Korak 5.

Korak 5. Izracunati βk =fTk+1Qdk

dTk Qdk

.

Korak 6. Odrediti (k + 1)-vi konjugovani vektor dk+1 = −fk+1 + βkdk. Pos-taviti k = k + 1 i ici na Korak 2.

Primer 1.3 Metodom konjugovanih gradijenata minimizovati funkciju f : R3 →R definisanu sa

f(X) =3

2x21 + 2x2

2 +3

2x23 + x1x3 + 2x2x3 − 3x1 − x3,

gde je X = [x1, x2, x3]T . Za pocetnu tacku uzeti X(0) = [0, 0, 0]T .

Najpre predstavimo funkciju f u obliku f(X) = 12X

TQX − bTX, gde je

Q =

3 0 10 4 21 2 3

i b = [3, 0, 1]T .

Gradijent funkcije f u proizvoljnoj tacki X ∈ R3 je

∇f(X) = [3x1 + x3 − 3, 4x2 + 2x3, x1 + 2x2 + 3x3 − 1]T .

Za k = 0 dobijamo

f0 = [−3, 0,−1]T , d0 = −f0, α0 = − fT0 d0

dT0 Qd0= 0.2778,

te je prvi clan iterativnog niza

X(1) = X(0) + α0d0 = [0.8333, 0, 0.2778]T .

Zatim racunamo

f1 = ∇f(X(1)) = [−0.2222, 0.5556, 0.6667]T , β0 =fT1 Qd0dT0 Qd0

= 0.08025

Page 16: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

16 Zorica Stanimirovic

i odredujemo pravac d1 koji je Q-konjugovan sa d0

d1 = −f0 + β0d0 = [0.4630,−0.5556,−0.5864]T .

Drugu tacku iterativnog niza X(2) dobijamo po formuli

X(2) = X(1) + α1d1 = [0.9346,−0.1215, 0.1495]T .

U trecoj iteraciji dobijamo

f2 = [−0.04673,−0.1869, 0.1402]T , β1 = 0.07075,

d2 = [0.07948, 0.1476,−0.1817], α2 = 0.8231,

i treca tacka iterativnog niza X(3) je

X(3) = X(2) + α2d2 = [1, 0, 0]T .

Primetimo da je f3 = ∇f(X(3)) = 0, kao sto smo i i ocekivali, imajuci u viduda vaze uslovi Teoreme 1.1 za n = 3.

Lema 1.4 Vektori d0, d1, ..., dn−1, konstruisani metodom konjugovanih gradije-nata pri minimizaciji kvadratne funkcije, su Q-konjugovani.

Dokaz. Lemu cemo dokazati metodom matematicke indukcije.Kako je

dT1 Qd0 = (−f1 + β0d0)TQd0,

zamenjujuci β0 =fT1 Qd0

dT0 Qd0

u gornju jednakost, dobijamo

dT1 Qd0 = 0,

sto znaci da su vektori d0 i d1 uzajamno Q-konjugovani.Pretpostavimo sada da su vektori d0, d1, ..., dk, 0 ≤ k < n − 1 uzajamno Q-konjugovani, odnosno vazi dTi Qdj = 0, za svako i, j = 0, 1, .., k, i = j. Dokazimoda je dTk+1Qdi = 0, za svako i = 0, 1, .., k.

Prema Lemi 1.3 sledi fTk+1di = 0, i = 0, 1, ..., k, sto znaci da je vektor fk+1

ortogonalan na svaki od pravaca d0, d1, ..., dk. Pokazimo da je

fTk+1fi = 0 , i = 0, 1, ..., k.

Page 17: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 17

Fiksirajmo i ∈ {0, 1, ..., k}. Kako je

di = −fi + βi−1di−1,

mnozenjem ove jednakosti sa fTk+1 sa leve strane, dobijamo

0 = fTk+1di = −fT

k+1fi + βi−1fTk+1di−1.

S obzirom da je fTk+1di = 0, za svako i = 0, 1, .., k, zakljucujemo da vazi i

fTk+1di−1 = 0, odakle sledi fT

k+1fi = 0, za svako i = 0, 1, .., k, sto smo i zeleli dapokazemo.

Dokazimo sada da je dTk+1Qdi = 0 za svako i = 0, 1, .., k. Najpre uocimo davazi

dTk+1Qdi = (−fk+1 + βkdk)TQdi.

Primetimo da za i = k imamo dTk+1Qdi = dTk+1Qdk = 0. Direktnimuvrstavanjem βk u gornji izraz za i = k dobijamo

dTk+1Qdk = (−fk+1 + βkdk)TQdk = −fT

k+1Qdk +fTk+1Qdk

dTkQdkdTkQdk = 0.

Ukoliko je i < k, vektori di i dk su Q-konjugovani, tj. dTkQdi = 0. Prematome, za i < k imamo

dTk+1Qdi = −fTk+1Qdi.

Sa druge strane, za svako i = 0, 1, ..., k − 1 vazi

fi+1 = fi + αiQdi i fTk+1fi = 0,

odakle sledi

dTk+1Qdi = −fTk+1

fi+1 − fiαi

= 0.

Dakle,dTk+1Qdi = 0 , i = 0, 1, ..., k − 1,

a kako jednakost dTk+1Qdi = 0 vazi i za i = k, dokaz leme je zavrsen. �

Lema 1.5 Neka su vektori d0, d1, ..., dn−1 konstruisani metodom konjugovanihgradijenata pri minimizaciji kvadratne funkcije i neka je fk = QX(k) − b. Tadaza svako k = 0, 1, .., n− 1 vazi:a) L(f0, f1, ..., fk) = L(f0, Qf0, ..., Q

kf0),

Page 18: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

18 Zorica Stanimirovic

b) L(d0, d1, ..., dk) = L(f0, Qf0, ..., Qkf0),

c) αk =fTk fk

dTk Qdk

,

d) βk =fTk+1fk+1

fTk fk

.

Dokaz. Dokaz leme cemo izvesti matematickom indukcijom. Ocigledno je datvrdenja a)− b) vaze za k = 0. Pretpostavimo da vaze za k > 0 i pokazimo davaze i za k + 1.Kako je

fk+1 = fk + αkQdk,

imajuci u vidu indukcijsku hipotezu, zakljucujemo da vektor Qdk pripadajaL(f0, Qf0, ..., Q

k+1f0). Prema tome, fk+1 ∈ L(f0, Qf0, ..., Qk+1f0). Dalje vazi

fk+1 ∈ L(f0, Qf0, ..., Qkf0) = L(d0, d1, ..., dk),

jer bi u suprotnom bilo fk+1 = 0, s obzirom da je fk+1 ortogonalan na d0, d1, ..., dk.Odavde zakljucujemo da je

L(f0, f1, ..., fk, fk+1) = L(f0, Qf0, ..., Qkf0, Q

k+1f0),

cime je dokazano tvrdenje pod a).Kako je

dk+1 = −fk+1 + βkdk,

tvrdenje pod b) sledi direktno iz a).Da bismo dokazali c), pomnozimo jednakost

dk = −fk + βk−1dk−1

sa leve strane sa −fTk . Dobijamo

−fTk dk = fT

k fk − βk−1fTk dk−1.

Prema Lemi 1.2, drugi clan na levoj strani u gornjem izrazu je jednak nulifTk dk−1 = 0, te se izraz svodi na

−fTk dk = fT

k fk.

Uvrstavanjem dobijene jednakosti u izraz za αk dobijamo

αk = − fTk dk

dTkQdk=

fTk fk

dTkQdk,

Page 19: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 19

sto je upravo tvrdenje pod c) koje je trbalo dokazati.

S obzirom da fk ∈ L(d0, d1, ..., dk) i da je vektor fk+1 ortogonalan nad0, d1, ..., dk, vazi f

Tk+1fk = 0. Kako je

fk+1 = fk + αkQdk,

dobijamo

Qdk =1

αk(fk+1 − fk).

Mnozenjem poslednje jednakosti sa leve strane sa fTk+1, s obzirom da je fT

k+1fk =0, dobijamo

fTk+1Qdk =

1

αkfTk+1fk+1.

Imajuci u vidu definiciju βk =fTk+1Qdk

dTk Qdk

i tvrdenje pod c), sledi da je

βk =fTk+1fk+1

αkdTkQdk=

fTk+1fk+1

dTkQdk

dTkQdkfTk fk

=fTk+1fk+1

fTk fk

,

cime je pokazano i tvrdenje pod d). �

Lema 1.5 nam daje novi oblik algoritma metode konjugovanih gradijenata,koji je u racunskom smislu efikasniji od prethodno izlozenog Algoritma 5.2.Algoritam 5.3Korak 0. Postaviti k = 0, d−1 = 0 i β−1 = 0. Izabrati pocetni vektor X(0) ikonstantu ε > 0. Izracunati f0 = QX(0) − b.Korak 1. Ukoliko je ∥fk∥ < ε, algoritam se zaustavlja i za priblizno resenjeuzimamo X(k).Korak 2. Ukoliko je k ≥ 0, izracunati βk−1 =

fTk fk

fTk−1fk−1

.

Korak 3. Odrediti k-ti konjugovani vektor dk = −fk + βk−1dk−1.

Korak 4. Izracunati αk =fTk fk

dTk Qdk

.

Korak 5. Odrediti narednu tacku iterativnog niza X(k+1) = X(k) + αkdk.Korak 6. Izracunati fk+1 = fk + αkQdk, staviti k = k + 1 i ici na Korak 1.

Prednost Algoritma 5.3 je sto se moze implementirati na efikasan nacin uracunskom smislu. Primetimo da formula za αk koristi izraz fT

k fk, koji jevec koriscen pri racunanju βk−1. Zatim, u izrazu za racunanje fk+1 figurise

Page 20: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

20 Zorica Stanimirovic

vektor Qdk, koji je vec dobijen pri racunanju formule za αk. Vidimo da se ma-trica Q pojavljuje samo u proizvodu Qdk, te se Q cak i ne mora eksplicitnonavoditi.

Dalje, primetimo da Algoritam 5.3 moze biti implementiran uz znacajneustede memorijskog prostora, tako sto cemo cuvati samo tekuce vrednosti X(k),dk, βk, fk i αk, a nove vrednosti se mogu upisivati na mesto starih. Iz prethodneiteracije se u narednu iteraciju mora preneti samo vrednost fT

k fk.

Primer 1.4 Metodom konjugovanih pravaca naci minimum funkcije f : R3 →R definisane sa f(X) = 1

2XTQX − bTX, gde je

Q =

1 0 00 2 00 0 3

i b = [1, 1, 1]T .

Matrica Q je ocigledno simetricna i pozitivno definitna. Primenimo racunskiefikasniji Algoritam 5.3 metode konjugovanih pravaca za minimizaciju zadatefunkcije. Najpre inicijalizujmo algoritam pocetnim vrednostima

k = 0, X(0) = [0, 0, 0]T , f0 = [−1,−1,−1]T ,

d−1 = [0, 0, 0]T , β−1 = 0 i ε = 10−12.

Kako je ∥f0∥ = 1.7321 > ε, nije zadovoljen kriterijum zaustavljanja. Daljeracunamo

d0 = [1, 1, 1] i α0 = 0.5,

te je naredna tacka iterativnog niza i gradijent u toj tacki

X(1) = [0.5, 0.5, 0.5]T i f1 = [−0.5, 0,−0.5].

Kako je ∥f1∥ = 0.7071 > ε, jos uvek nije zadovoljen kriterijum zaustavljanja.Zatim nalazimo

β0 = 0.1667, d1 = [0.6667, 0.1667,−0.3333], i α1 = 0.6,

te jeX(2) = [0.9, 0.6, 0.3]T i f2 = [−0.1, 0.2,−0.1].

Kako ni u drugoj iteraciji nije zadovoljen kriterijum zaustavljanja, jer je ∥f2∥ =0.2449 > ε, nastavljamo sa iterativnim postupkom. S obzirom da je

β1 = 0.12, d2 = [0.18,−0.18, 0.06] i α2 = 0.5556,

Page 21: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 21

dobijamo narednu tacka iterativnog niza i odgovarajuci gradijent

X(3) = [1, 0.5, 0.3333]T i f3 = [−0.1388,−0.2776,−0.1388]× 10−16.

Posto je ∥f3∥ = 3.4× 10−17 < ε, kriterijum zaustavljanja je zadovoljen i algori-tam se zaustavlja. Priblizno resenje problema je tacka X(3).

1.5 Metoda konjugovanih gradijenata – opstislucaj

Metoda konjugovanih gradijenata za kvadratne funkcije moze biti prosirena ina opsti slucaj nelinearnih funkcija, ako posmatramo kvadratnu funkciju f(X) =12X

TQX − bTX kao aproksimaciju drugog reda dobijenu razvojem polazne, ne-linearne funkcije u Tejlorov red.

Podsetimo se da je Hesijan kvadratne funkcije f(X) = 12X

TQX − bTXkonstantan i jednak upravo matrici Q. U prethodnoj sekciji smo videli da ovacinjenica znacajno olaksava primenu metode konjugovanih gradijenata. Medutim,u slucaju opste nelinearne funkcije, Hesijan matrica se mora iznova racunati usvakoj iteraciji metode, sto moze biti vrlo zahtevno u racunskom smislu. Uko-liko zelimo da konstruisemo efikasnu varijantu metode konjugovanih gradijenataza minimizaciju nelinearne funkcije u opstem slucaju, pozeljno je da izostavimoracunaje Hesijan matrice u svakom koraku.

Primetimo da u Algoritmu 5.3 metode konjugovanih gradijenata za minimi-zaciju kvadratne funkcije, Hesijan matrica Q figurise samo pri racunanju ska-lara αk i βk. Kako je αk minimum funkcije f(X(k) + αdk), α ≥ 0, za (pri-blizno) odredivanje αk mozemo koristiti neku od metoda za resavanje nelinear-nih jednacina u jednodimenzionom slucaju, kao sto su metoda secice, metodaregula-falsi, Njutnova metoda, metoda iteracije, itd. Vise o ovim metodamamoze se naci u [?], [?] i [?].

Dakle, ostaje da resimo problem racunanja koeficijenata βk bez koriscenjaHesijan matrice Q. Postoji vise nacina da se izbegne racunanje Hesijana uformuli za βk, sto rezulira razlicitim modifikacijama metode konjugovanih gra-dijenata za kvadratnu funkciju. Ove modifikacije za racunanje βk koriste samovrednosti funkcije i gradijenta u tekucoj tacki X(k), te mogu biti primenjeneza minimizaciju proizvoljne nelinearne funkcije. U ovoj sekciji izlozicemo trimodifikacije koje su bazirane na algebarskim transformacijama polaznog izraza

za βk =fTk+1Qdk

dTk Qdk

iz Algoritma 5.3.

Page 22: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

22 Zorica Stanimirovic

Hestenes-Stifelova formula 2 je zasnovana na zameni izraza Qdk u formuliza βk izrazom

Qdk =1

αk(fk+1 − fk),

koji smo ranije izveli. Zamenjujuci Qdk u polazni izraz za βk dobijamo

βk =fTk+1Qdk

dTkQdk=

fTk+1(fk+1 − fk)

dTk (fk+1 − fk).

Ova formula je u literaturi poznata pod imenom Hestenes-Stifelova formula[?].

Polak-Ribierova formula 3 koristi ideju Hestenes-Stifelove formule. Naime,polazeci od

βk =fTk+1(fk+1 − fk)

dTk (fk+1 − fk),

sredujuci izraz u imeniocu, dobijamo

βk =fTk+1(fk+1 − fk)

dTk fk+1 − dTk fk.

Primetimo da prema Lemi 1.2 vazi dTk fk+1 = 0. Kako je

dk = −fk + βk−1dk−1,

transponujuci ovaj izraz i mnozeci ga sa −fk, imajuci u vidu Lemu 1.2, za-kljucujemo

−dTk fk = fTk fk − βk−1d

Tk−1fk = fT

k fk.

Odavde direktno dobijamo izraz za βk oblika

βk =fTk+1(fk+1 − fk)

fTk fk

,

koji je poznat pod nazivom Polak-Ribierova formula [?].

2Magnus Rudolph Hestenes (1906–1991), Eduard L. Stiefel (1909–1978)3Elijah Polak, http : //www.eecs.berkeley.edu/Faculty/Homepages/polak.html, G. Ri-

bier, kompanija IBM, Francuska

Page 23: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 23

Flecer-Rivsova formula 4 polazi od Polak-Ribierove formule

βk =fTk+1(fk+1 − fk)

fTk fk

.

Transformisuci brojilac dobijamo

βk =fTk+1fk+1 − fT

k+1fk

fTk fk

.

Kako jefTk+1dk = −fT

k+1fk + βk−1fTk+1dk−1,

imajuci u vidu Lemu 1.3, zakljucujemo da je fTk+1fk = 0. Konacno, dobijamo

izraz

βk =fTk+1fk+1

fTk fk

,

koji se naziva Flecer-Rivsovom formulom [?].Pauelova formula5 takode polazi od Polak-Ribierove formule

βk =fTk+1(fk+1 − fk)

fTk fk

,

iz koje transformacijom brojioca dobijamo

βk =fTk+1fk+1 − fT

k+1fk

fTk fk

.

Pauelova formula racuna βk na sledeci nacin

βk = max{0,fTk+1(fk+1 − fk)

fTk fk

},

cime se iterativni niz usmerava u pravcu spustanja vrednosti funcije u tackamaiterativnog niza, videti [?] i [?]

4Roger Fletcher, skotski matematicar, profesor na Univerzitetu u Dandiju, Velika Britanija;C. M. Reeves, istrazivac u Elektronskoj racunskoj laboratoriji (engl. Electronic ComputingLaboratory) Univerziteta u Lidsu, Velika Britanija

5Michael James David Powel, britanski matematicar, profesor u penziji Univerziteta uKembridzu, Velika Britanija

Page 24: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

24 Zorica Stanimirovic

Primetimo da su gore navedene formule za βk identicne u slucaju kva-dratne funkcije, dok u slucaju proizvoljne nelinearne funkcije to ne vazi. Da bi-smo uspesno primenili modifikacije metode konjugovanih gradijenata u opstemslucaju, potreban nam je i adekvatan kriterijum zaustavljanja. Kao sto smovideli, kriterijum ∇f(X(k)) = 0 nije efikasan u praksi, cak i pri minimizacijikvadratne funkcije, vec se koriste drugi, pogodniji, kriterijumi zaustavljanja,na primer ∥∇f(X(k))∥ ≤ ε, za unapred zadato ε > 0.

Modifikacije metode konjugovanih gradijenata za minimizaciju nelinearnefunkcije (koja nije kvadratna) u opstem slucaju ne konvergira u n koraka. Saporastom broja iteracija, svojstvo Q-konjugovanosti bice naruseno u manjojili vecoj meri. Zato se u praksi cesto koristi sledeca strategija: posle sva-kih nekoliko iteracija, vektor pravca postavljamo na pravac negativnog gradi-jenta, a zatim nastavljamo postupak do zadovoljenja kriterijuma zaustavljanja∥∇f(X(k+1))∥ ≤ ε.

Znacajno mesto pri primeni modifikacija metode konjugovanih gradijenataza minimizaciju nelinearne funkcije f zauzima potproblem minimizacije realnefunkcije φ : R → R definisane sa φ(α) = f(X(k) + αdk) za α ≥ 0, gde je fpolazna nelinearna funkcija. Obicno se minimum funkcije φ lokalizuje u nekomsegmentu, a zatim primeni neka od metoda za resavanje nelinearnih jednacinau jednodimenzionom slucaju. Jasno je da tacnost i brzina konvergencije mo-difikacije metode konjugovanih gradijenata u velikoj meri zavise od preciznostimetode kojom odredujemo minimum funkcije φ(α), α ≥ 0. Ukoliko je znacajnijanepreciznost primenjene metode neizbezna, u literaturi se preporucuje primenaHestenes-Stifelove formule za racunanje βk, videti [?].

Izbor formule za racunanje βk zavisi od osobina polazne nelinearne fun-kcije koju zelimo da minimizujemo. Poznato je da Polak-Ribierova formulaima bolje performanse u odnosu na Flecer-Rivsovu i Hestenes-Stifelovu formuluu slucajevima kada su gradijenti fk daleko od nule [?], dok u nekim drugimslucajevima to ne vazi. Detaljna analiza globalne konvergencije modifikacijametoda konjugovanih gradijenata moze se naci u [?].

1.6 Zadaci za vezbu

Zadatak 1.1 Posmatrajmo funkciju f : R2 → R definisanu sa

f(X) =5

2x21 +

1

2x22 + 2x1x2 − 3x1 − x2, X = [x1, x2]

T

a) Zapisati funkciju u obliku f(X) = 12X

TQX − bTX.

Page 25: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

Nelinearno programiranje 25

b) Konstruisati sistem od dva Q-konjugovana pravca d0 i d1.

b) Primeniti metodu konjugovanih pravaca za minimizaciju funkcije f , pocevsiod tacke X(0) = [0, 0]T .

c) Uporediti dobijeni rezultat sa resenjem jednacine QX = b.

Zadatak 1.2 Posmatrajmo funkciju f(X) = 12X

TQX − bTX, gde je Q si-metricna, pozitivno definitna matrica reda n i b ∈ Rn dati vektor. Neka je{d0, d1, ...} ⊆ Rn zadati skup vektora i X(0) zadata tacka. Definisimo iterativnialgoritam na sledeci nacin

X(k+1) = X(k) + αkdk, k = 0, 1, 2, ...

gde je αk ∈ R velicina koraka u pravcu vektora dk. Dalje, pretpostavimoda vazi fT

k+1di = 0 za svako k = 0, 1, ..., n − 1 i svako i = 0, 1, ..., k, gde je

fk+1 = ∇f(X(k+1)). Ukoliko je fTk dk = 0 za k = 0, 1, ..., n− 1, tada su vektori

d0, d1, ..., dn−1 Q-konjugovani. Dokazati.

Zadatak 1.3 Neka je Q realna, simetricna matrica reda n.

a) Pokazati da postoji skup Q-konjugovanih vektora d1, d2, ..., dn, takvih dasvako di, i = 1, 2, ..., n predstavlja sopstveni vektor matrice Q.Napomena: Koristiti osobinu da za svaku realnu, simetricnu matricu redan postoji skup sopstvenih vektora {v1, v2, ..., vn} za koje vazi vTi vj = 0 zasvako i, j ∈ {1, 2, ..., n}, i = j.

b) Pretpostavimo da je matrica Q i pozitivno definitna. Neka su ne-nulavektori d1, d2, ..., dn Q-konjugovani i medusobno ortogonalni, za svakoi, j = 1, 2, ..., n, i = j. Pokazati da, pod navedenim pretpostavkama, svakivektor di i = 1, 2, ..., n predstavlja sopstveni vektor matrice Q i odreditiodgovarajuce sopstvene vrednosti.

Zadatak 1.4 Posmatrajmo funkciju f(X) = 12X

TQX − bTX, gde je Q si-metricna, pozitivno definitna matrica reda n i b ∈ Rn dati vektor. Neka je{d0, d1, d2, ...} ⊆ Rn zadati skup vektora i X(0) zadata tacka. Definisimo itera-tivni algoritam na sledeci nacin

X(k+1) = X(k) + αkdk, k = 0, 1, 2, ...

gde je αk minimum funkcije

g(α) = f(X(k) + αdk), α ∈ R.

Page 26: METODA KONJUGOVANIH PRAVACA · Nelinearno programiranje 5 Ukoliko je k = n − 1, tada svaki vektor Y ∈ Rn mo ze biti predstavljen kao linearna kombinacija vektora d0,..,dn−1,

26 Zorica Stanimirovic

Neka je fk = ∇f(X(k)). Odrediti formulu oblika

dk+1 = γkfk+1 + dk,

tako da su vektori dk i dk+1 uzajamno Q-konjugovani za svako k = 0, 1, ..., n−1. Da li su svi vektori {d0, d1, ...dn−1} konstruisani na ovaj nacin takode Q-konjugovani?

Zadatak 1.5 Data je Q simetricna, pozitivno definitna matrica reda n i skup{p0, p1, ..., pn−1} od n linearno nezavisnih vektora iz Rn. Izvesti formule za ite-rativni postupak konstruisanja sistema Q-konjugovanih vektora d0, d1, .., dn−1.

Uputstvo: koristiti skup vektora pi, i = 0, . . . , n−1 i Gram-Smitov postupakortogonalizacije.

Zadatak 1.6 Neka su vektori pi iz Zadatka 1.5 odredeni kao momenti matriceQ, tj. pk = Qkp0, k = 0, 1, ..., n− 1. Pokazati da se tada Q-konjugovani vektoridk mogu odrediti po rekurzivnoj formuli, u kojoj je vektor dk+1 izrazen prekotri clana: Qdk, dk i dk−1.