Vous êtes sur la page 1sur 33

Introduzione allottimizzazione non vincolata

A. Agnetis

Introduzione

In questi appunti saranno presentati i concetti introduttivi relativi allottimizzazione di una funzione f di n variabili su un insieme X. La f prende il nome di funzione obiettivo, linsieme X insieme o regione ammissibile. Ciascun punto x = (x1 , x2 , . . . , xn )T X costituisce una soluzione ammissibile. Il problema di Programmazione Non Lineare (PNL) consiste nel determinare un punto x appartenente allinsieme X tale da rendere minima la funzione f . Il problema pu` indicarsi in generale cosi: o min f (x) xX Nel caso in cui X coincida con tutto Rn si parla di ottimizzazione non vincolata, altrimenti di ottimizzazione vincolata. Valgono le seguenti denizioni: Definizione 1 Un punto x X ` un punto di minimo globale di f su X se e f (x ) f (x) per ogni x X (1)

Definizione 2 Un punto x X ` un punto di minimo locale di f su X se esiste un e intorno circolare I(x , ) di x , avente raggio f (x ) f (x) per ogni x X I(x , ) > 0 tale che

Dipartimento di Ingegneria dellInformazione - Universit` di Siena a

Un punto x di minimo (globale o locale) si dice stretto se f (x) ` strettamente maggiore e di f (x ) per ogni x = x in X o in I(x , ) rispettivamente. Ovviamente un punto di minimo globale ` anche locale, mentre il viceversa pu` non essere vero. e o Il problema di PNL (1) consiste nel determinare, se esiste, un punto di minimo globale, o, quando questo risultasse eccessivamente oneroso dal punto di vista risolutivo, almeno un punto di minimo locale. Come si vedr`, a seconda della forma della funzione obiettivo a e della struttura dellinsieme ammissibile cambia sensibilmente la dicolt` del problema, a e di conseguenza cambiano gli approcci risolutivi che vanno utilizzati. Secondo una convenzione abbastanza comune, i vettori sono sempre pensati come vettori-colonna. Dunque, un vettore-riga sar` rappresentato come vettore-colonna trasposto. a Nel seguito si supporranno note le nozioni elementari di analisi (limite, derivata, integrale...) e di algebra (vettori, matrici, matrice inversa, norma, autovalori...). Altre nozioni saranno invece richiamate. In questa dispensa tratteremo i problemi di ottimizzazione non vincolata, mentre i concetti di base di ottimizzazione vincolata saranno presentati in una dispensa successiva. Vedremo separatamente le condizioni di ottimalit` dagli algoritmi risolutivi. Le prime a costituiscono i risultati teorici in base ai quali ` possibile caratterizzare le soluzioni ottime e di un problema. I secondi sono invece lo strumento con cui ricercare una soluzione ottima.

2
2.1

Richiami di analisi e algebra


Derivate direzionali, gradiente, Hessiana

Come prima cosa, vogliamo richiamare alcuni concetti che generalizzano a Rn alcune nozioni relative alle funzioni di singola variabile. La prima di queste nozioni ` quella di e derivata. Mentre in R1 la variabile indipendente pu` variare solo lungo la retta, in Rn si o pu` considerare la variazione di x in una qualsiasi direzione. o Definizione 3 Si consideri una funzione f : Rn R, e un vettore d Rn . Sia x Rn un punto in cui f ` denita. Se esiste il limite e
0

lim+

f (x + d) f (x)

allora tale limite prende il nome di derivata direzionale di f nel punto x lungo la direzione d. Si noti che nel caso in cui d = (0, 0, . . . , 1, . . . , 0)T , ossia se d ` il vettore costituito e da tutti zeri tranne un 1 in i-esima posizione, la derivata direzionale coincide con la nota 2

derivata parziale di f rispetto alla variabile xi , indicata con f . xi Una direzione che riveste particolare importanza nellottimizzazione, ` quella avente e come componenti le n derivate parziali. Definizione 4 Si consideri una funzione f : Rn R, e un punto x Rn . Se in x esistono le n derivate parziali
n f , xi

i = 1, . . . , n, deniamo gradiente di f in x il vettore


T

f (x) R avente come componenti le derivate parziali, ossia f f f f (x) = ... x1 x2 xn .

Ricordiamo che analogamente si pu` introdurre il concetto di derivata parziale seconda o rispetto a due variabili, nellordine xi e xj , indicata con 2f . xi xj In queste dispense, supporremo sempre che la funzione f sia almeno due volte continuamente dierenziabile, dunque disponga di tutte le derivate parziali seconde continue, in tutto X. In questo caso possiamo dare la seguente denizione. Definizione 5 Sia f : Rn R due volte continuamente dierenziabile in x Rn . Deniamo matrice Hessiana di f in x la matrice
2f 2 2f , f , . . . , x1 xn x2 x1 x2 1 2f , 2f , . . . , 2f 2 x2 xn 2 f (x) = x2 x1 x2 ... .

2 2f 2 , f , . . . , xf 2 xn x1 xn x2 n

Si noti che nelle ipotesi di derivate parziali seconde continue, per il noto teorema di Schwarz, la matrice Hessiana risulta simmetrica. A questo punto siamo in grado di enunciare (senza dimostrarlo) un teorema che rappresenta lestensione a pi` variabili della formula di Taylor per funzioni di una sola variabile. u Ricordiamo che, se una funzione di una sola variabile ha derivata continua in un intorno di un punto x, e si considera il punto x + h, appartenente a tale intorno, allora ` possibile e 3

esprimere lincremento della funzione nel seguente modo (formula di Taylor arrestata ai termini del primo ordine): f (x + h) = f (x) + f (x)h + 1 (x, h) dove 1 (x, h) ` un innitesimo di ordine superiore rispetto ad h. Se poi possiede anche e la derivata seconda continua, allora ` possibile scrivere (formula di Taylor arrestata ai e termini del secondo ordine): 1 f (x + h) = f (x) + f (x)h + f (x)h2 + 2 (x, h) 2 dove stavolta 2 (x, h) ` un innitesimo di ordine superiore rispetto ad h2 . In altre parole, e con la formula di Taylor ` possibile approssimare il valore di una funzione in un punto e incrementato x+h utilizzando i valori delle derivate nel punto x, e tale approssimazione ` tanto migliore quanto meno ci spostiamo dal punto iniziale, ossia quanto pi` piccolo ` e u e h. In pi` dimensioni, il signicato e la struttura della formula di Taylor sono molto simili. u Stavolta per` x, h e o f (x) sono vettori a n componenti, e inoltre lHessiana ` una matrice e n n, per cui le due formule diventano rispettivamente: f (x + h) = f (x) + f (x + h) = f (x) + f (x)T h + 1 (x, h) 1 f (x)T h + hT 2
2

(2) (3)

f (x)h + 2 (x, h)

ove 1 (x, h) e 2 (x, h) sono rispettivamente innitesimi di ordine superiore rispetto alla norma dellincremento h e al quadrato della norma di h. Utilizzando la formula di Taylor (2), possiamo scoprire un legame tra alcuni dei concetti introdotti. Poniamo h = d, ove ` uno scalare. La formula diventa: e f (x + d) = f (x) + f (x)T d + 1 (x, , d) dividendo tutto per , si ha f (x + d) f (x) = f (x)T d + 1 (x, , d)

da cui, passando al limite per 0, si ha il seguente risultato: Teorema 1 La derivata direzionale di f nel punto x lungo la direzione d ` data da e f (x)T d.

2.2

Convessit` a

Un concetto che riveste molta importanza in geometria e in tutta lottimizzazione ` quello e di convessit` (che nel seguito tratteremo sempre con riferimento a insiemi in Rn ). a Definizione 6 Dati due punti x, y Rn , e considerato uno scalare [0, 1], si dice combinazione convessa di x e y un qualunque punto ottenuto come x + (1 )y inoltre, al variare di tra 0 e 1, si ottiene il segmento (in Rn ) che unisce x e y. Definizione 7 Un insieme X Rn si dice convesso se, presi comunque due punti x, y X, il segmento che li unisce ` interamente contenuto in X. e Consideriamo ora un insieme convesso X, e una funzione f denita su tale insieme. Definizione 8 Una funzione f denita su un insieme convesso X si dice convessa se, presi comunque due punti x, y X, si ha f (x) + (1 )f (y) f (x + (1 )y) (una funzione f tale che f ` convessa, si dice concava). e Il signicato della (4) pu` essere facilmente compreso facendo riferimento a funzioni di o una sola variabile. In tal caso, considerando il punto x = x + (1 )y (che ovviamente appartiene allintervallo [x, y]), il termine di sinistra rappresenta il valore dellordinata del punto che si trova sul segmento che unisce i due punti (x, f (x)) e (y, f (y)) in corrispondenza al valore x, mentre il termine di destra ` il valore della funzione in corrispondenza e dello stesso valore x. Dunque, se f ` convessa, vuol dire che il graco della funzione si e trova sempre al di sotto di un segmento teso fra due suoi punti. La Denizione 8 vale in generale, senza alcuna ipotesi sulle propriet` della funzione f . a Se per` aggiungiamo, come stiamo supponendo, che la f sia continuamente dierenziabile, o allora ` possibile dire qualcosa in pi`. e u Teorema 2 Sia f una funzione continuamente dierenziabile in Rn e convessa. Dati due punti x, y Rn , f (y) f (x) f (x)T (y x) (5) (4)

Dim. Essendo la f convessa, vale la (4), che, ponendo come f (x) + (f (y) f (x)) f (x + (y x))

= 1 , possiamo riscrivere

(6)

in questa disuguaglianza, possiamo interpretare x come un punto e x + (y x) come un punto incrementato, ottenuto muovendosi nella direzione y x di una quantit` pari a a . Possiamo allora scrivere la formula di Taylor troncata al primo ordine (2), ossia f (x + (y x)) = f (x) + f (x)T (y x) + (x, y, ) (7)

dalle (6) e (7), si ha dunque che, se la f ` convessa, e (f (y) f (x)) da cui, dividendo per f (x)T (y x) + (x, y, ) e passando al limite per 0, si ha la tesi.

` E importante sapere che ` vero anche il viceversa, anche se non lo dimostreremo, ossia: e Teorema 3 Sia f una funzione continuamente dierenziabile in X. Se, presi comunque due punti x, y X, risulta f (y) f (x) f (x)T (y x)

allora la f ` convessa in X. e Si noti che, nel caso monodimensionale, anche la (5) ha unimmediata interpretazione geometrica. Infatti, f (x) + f (x)(y x) ` lordinata del punto y sulla retta tangente alla e curva in x. Se f ` convessa, quindi, la curva della funzione si trova sempre al di sopra di e una retta tangente in un suo punto. Un altro concetto (come vedremo legato alla convessit`) che ` utile richiamare ` quello a e e di matrice denita positiva. Definizione 9 Data una matrice A quadrata di ordine n, e un insieme Y Rn , essa si dice denita positiva su Y , se, per ogni x Y , x = 0, si ha xT Ax > 0 Se invece, per qualsiasi x Y , x = 0,si ha xT Ax 0 la matrice si dice semidenita positiva su Y . Una matrice A ` denita o semidenita e negativa se A ` denita o semidenita positiva rispettivamente. In tutti gli altri casi, la e matrice ` indenita. e 6

Molto spesso Y = Rn , e allora la matrice si dice semplicemente denita (semidenita) positiva. (La specicazione di Y ` di interesse nellottimizzazione vincolata, come vee dremo). Quella fornita dalla Denizione 9 non ` lunica denizione possibile per le mae trici denite positive. Una caratterizzazione operativamente pi` utile, ma che vale solo u per matrici simmetriche, ` basata sul segno dei minori principali, che, ricordiamo, sono e le n sottomatrici quadrate formate dallintersezione delle prime i righe e delle prime i colonne, i = 1, . . . , n. Si hanno allora i seguenti teoremi (di Sylvester): Teorema 4 Una matrice A simmetrica ` denita positiva se e solo se i determinanti di e tutti i minori principali di A sono positivi. (Se A non ` simmetrica, la condizione suddetta ` necessaria ma non suciente). e e Teorema 5 Una matrice A simmetrica ` semidenita positiva se e solo se i determinanti e di tutti i minori principali di A sono non negativi. Una propriet` interessante delle matrici denite positive ` espressa dal seguente teoa e rema Teorema 6 Tutti gli autovalori di una matrice A denita positiva sono positivi. Si noti, tra laltro, che ci` implica che una matrice denita positiva ` non singolare, dal o e momento che altrimenti avrebbe tra i suoi autovalori anche lo 0. Inoltre vale questaltra propriet`, che ci torner` utile in seguito (9). a a Teorema 7 Se A ` una matrice denita positiva, e m (A) e M (A) indicano rispettivae mente il minimo e il massimo autovalore di A, allora per ogni x Rn si ha m (A) x
2

xT Ax M (A) x

dove la norma ` quella euclidea. e Consideriamo ora una funzione f con derivate seconde continue in tutto Rn . Dati due punti x, y, per la (3) possiamo sempre scrivere f (y) = f (x) + 1 f (x)T (y x) + (y x)T 2
2

f (x)(y x) + 2 (x, y)

(8)

Supponiamo ora che lHessiana calcolata nel punto x sia denita positiva. Di conseguenza, di certo (y x)T
2

f (x)(y x) > 0 7

Essendo 2 (x, y) innitesimo di ordine superiore rispetto al termine di secondo grado, si ha che il segno di questultimo prevale rispetto a quello di 2 (x, y), almeno in un intorno di x. Dalla (8) segue allora f (y) f (x) f (x)T (y x)

e dunque, invocando il Teorema 3, risulta dimostrato il seguente teorema: Teorema 8 Data una funzione f due volte continuamente dierenziabile, sia x un punto in cui
2

f (x) ` denita positiva. Allora, almeno in un intorno di x, la f ` convessa. e e

Un caso particolare di notevole interesse ` quello relativo a funzioni la cui Hessiana ` e e costante. Queste sono le funzioni del tipo f (x) = xT Ax + bT x + c, con A Rnn , b Rn ` e c R, e sono dette funzioni quadratiche. E facile vericare che in questo caso il gradiente nel punto x ` dato da A + b, mentre lHessiana coincide con la matrice A, e x indipendentemente dal punto in cui essa ` calcolata. In questo caso, dunque, se A ` e e denita positiva, la funzione f ` convessa (in tutto Rn ). e

Esistenza di un minimo

Esiste una serie di teoremi che danno condizioni necessarie e sucienti per lesistenza di punti di minimo. Tra questi riportiamo qui, senza dimostrazione, quelli pi` signicativi u per gli scopi di questa dispensa. e Teorema 9 Se una funzione f ` continua su un insieme X chiuso e limitato, allora f ammette un punto di minimo globale in X. Concetti importanti sono quelli di insieme e supercie di livello. Definizione 10 Data una funzione f (x) denita in un insieme X, e un numero reale , un insieme di livello di f su X ` linsieme di tutti i punti x in cui il valore della funzione e non eccede , ossia Lf (X, ) = {x X : f (x) } mentre una supercie di livello ` linsieme dei punti x in cui f vale esattamente . e Cf (X, ) = {x X : f (x) = }

Nel caso di insiemi non limitati, ma chiusi, ` possibile dare una condizione suciente e di esistenza: Teorema 10 Se una funzione f ` continua su un insieme X chiuso, e almeno uno dei e suoi insiemi di livello ` chiuso e limitato, allora f ammette un punto di minimo in X. e

Si noti che questultima condizione ` suciente, ma non necessaria. Una situazione e che spesso si presenta, e nella quale ` possibile applicare il Teorema 10, ` quella che si ha e e quando la funzione f cresce indenitamente allontanandosi dallorigine. Definizione 11 Una funzione f denita su tutto Rn si dice radialmente illimitata o coerciva se
x

lim f (x) = +

In questo caso ` possibile dimostrare il seguente risultato: e e Teorema 11 Se una funzione f ` radialmente illimitata, tutti i suoi insiemi di livello sono limitati e chiusi. Combinando questultimo teorema con il Teorema 10, risulta quindi che e Teorema 12 Se una funzione f ` radialmente illimitata, ammette un minimo globale.

Angolo tra due vettori e direzioni di discesa


n

Com` noto, dati due punti x, y Rn , il loro prodotto scalare ` dato da e e xT y = xi yi


i=1

Definizione 12 Dati due vettori x, y Rn , l angolo tra essi ` quel numero (compreso e fra 0 e ) tale che xT y cos = x y

Come ` noto, se il prodotto scalare di due vettori ` 0, i due vettori si dicono ortogonali, e e e in questo caso risulta quindi cos = 0. Se invece x e y hanno la stessa direzione, allora x = y con R, e risulta (se > 0) xT x cos = = 1. || ||x||2 Consideriamo un punto x, e una funzione f (x). Da questo punto x possiamo pensare di muoverci seguendo una direzione d Rn . Muovendoci di una quantit` R lungo a la direzione d, raggiungiamo il punto x + d. Siccome il nostro scopo ultimo ` quello di e trovare un punto di minimo della funzione f , risulta chiaramente di interesse stabilire se, muovendosi lungo la direzione d, la funzione cresce o decresce. Definizione 13 Data una funzione f , una direzione d si dice direzione di discesa per f in x se esiste un > 0 tale che f (x + d) < f (x) per ogni 0 < < . In sostanza una direzione d ` di discesa se, spostandosi da x lungo quella direzione, e la funzione descresce almeno, purch gli spostamenti siano sucientemente piccoli. e A questo punto, possiamo comprendere meglio il signicato geometrico della derivata direzionale, come illustrato dal seguente teorema. Teorema 13 Si consideri una funzione f con gradiente continuo in tutto Rn . Dati x, d Rn , se la derivata direzionale di f in x rispetto alla direzione d ` negativa, la e direzione d ` una direzione di discesa per f in x. e Dim. Dal Teorema 1 si ha f (x + d) f (x) = 0 lim f (x)T d < 0

e quindi, per sucientemente piccolo, si ha f (x + d) f (x) < 0. Dunque, per trovare punti in cui la funzione ha un valore inferiore a quello che ha in x, si pu` seguire una direzione d la cui derivata direzionale ` negativa, facendo attenzione o e a non compiere passi troppo lunghi. Se scegliessimo invece una direzione per la quale f (x)T d > 0, ribaltando la discussione avremmo che la f crescerebbe, e d sarebbe dunque una direzione di salita. Se invece f (x)T d = 0, vuol dire che d ` ortogonale al gradiente e e non si pu` dire in generale se ` una direzione di discesa o meno. Peraltro, osserviamo o e che se d ` una direzione tangente in x0 alla supercie di livello Cf (X, f (x0 )) = {x X : e 10

f (x) = f (x0 )}, in quella direzione non si ha variazione della f , e dunque la derivata direzionale ` nulla. Questo indica che la direzione del gradiente in un punto x ` sempre e e ortogonale alla supercie di livello passante per quel punto. Si noti che il segno della derivata direzionale d` informazioni sullangolo tra la direzione a d e il gradiente. Se tale segno ` negativo, ci` vuol dire che langolo fra d e f (x) ` ottuso. e o e In particolare, se d ` la direzione opposta a quella del gradiente, allora d = f (x) e e langolo ` piatto, in quanto e cos = f (x)T f (x) = 1. f (x) 2

e dunque lantigradiente ` sempre una direzione di discesa, mentre per lo stesso motivo il e gradiente ` sempre una direzione di salita. Questo fatto verr` ripreso pi` avanti. e a u

Condizioni di ottimalit` a

Siamo ora in grado di introdurre alcune condizioni in base alle quali si possono caratterizzare i punti di minimo di una funzione. Teorema 14 Si consideri una funzione f con gradiente continuo in un punto x Rn . Condizione necessaria anch x sia un punto di minimo locale per f ` che e e f (x ) = 0 Dim. Se fosse f (x ) = 0, allora f (x ) sarebbe una direzione di discesa, e per

il Teorema 13 esisterebbe un punto x f (x ) tale che f (x f (x )) < f (x ), contraddicendo cosi lipotesi che x sia un minimo locale. Il Teorema 14 fornisce delle condizioni molto generali, dette condizioni del 1 ordine. Un punto che soddisfa tali condizioni si dice punto stazionario, e PS indica linsieme dei punti stazionari per f , ossia PS = {x : x Rn , f (x) = 0}

Se la f ` due volte continuamente dierenziabile, si possono enunciare anche delle cone dizioni del 2 ordine. Teorema 15 Si consideri una funzione f con Hessiana continua in un punto x Rn . Condizioni necessarie anch x sia un punto di minimo locale per f sono che: e (a) (b) f (x ) = 0
2

f (x ) ` semidenita positiva. e 11

Dim. La (a) segue dal Teorema 14. Data una direzione d Rn , poich f ` due volte e e dierenziabile, possiamo scrivere la formula di Taylor (3) con riferimento a un punto incrementato x + d, ove d ` una qualsiasi direzione: e 1 f (x + d) = f (x ) + f (x )T d + 2 dT 2 e, poich in x il gradiente si annulla, e f (x + d) f (x ) 1 = dT 2 2
2 2

f (x )d + 2 (x , , d)

f (x )d +

2 (x , , d) 2

dal momento che x ` per ipotesi un minimo locale, per sucientemente piccolo il e termine di sinistra ` sicuramente non negativo, e quindi risulta e 1 T d 2
2

f (x )d +

2 (x , , d) 0 2

da cui, passando al limite per 0, e osservando che d ` una direzione qualsiasi, segue e la tesi. Fin qui si sono viste condizioni necessarie di ottimalit`. E possibile dare anche una a ` condizione suciente: Teorema 16 Si consideri una funzione f con Hessiana continua in un intorno di un punto x Rn . Condizioni sucienti anch x sia un punto di minimo locale stretto e per f sono che: (a) (b) f (x ) = 0
2

f (x ) ` denita positiva. e

Dim. Basta riscrivere ancora la formula di Taylor, ove x +d ` un punto sucientemente e vicino a x tale che
2

f (x) ` continua. Sfruttando la (a), possiamo scrivere: e


2

1 f (x + d) = f (x ) + 2 dT 2 siccome
2

f (x )d + 2 (x , , d)

f (x ) ` denita positiva, e poich 2 (x , , d) ` un innitesimo di ordine supee e e

riore, abbiamo che per qualunque d, e per sucientemente piccolo, 1 2 T d 2 da cui la tesi. ` E facile rendersi conto che la discussione precedente pu` essere ripetuta in modo o simmetrico relativamente ai punti di massimo. In particolare, lannullamento del gradiente ` anche condizione necessaria (del 1 ordine) anch un punto sia punto di massimo e e 12
2

f (x )d + 2 (x , , d) > 0

locale, mentre la corrispondente condizione necessaria del 2 ordine ` che lHessiana sia e semidenita negativa; se oltre a soddisfare le condizioni del 1 ordine lHessiana ` denita e negativa, allora il punto in questione ` di massimo locale stretto. Si noti che se in un e punto x si annulla il gradiente, ma lHessiana ` indenita, possiamo escludere che x sia e punto di minimo o di massimo. In tal caso, x ` detto punto di sella. e

5.1

Il caso convesso

Come ora vedremo, nel caso in cui la f ` una funzione convessa, ` possibile dimostrare e e alcune propriet` molto forti della soluzione ottima del problema. Anzitutto, vediamo che, a sotto ipotesi molto generali, nel caso convesso la distinzione tra minimi locali e globali non sussiste. Teorema 17 Si consideri una funzione f convessa in Rn . Se x ` un punto di minimo e locale, ` anche un punto di minimo globale. e Dim. Essendo x un punto di minimo locale, senzaltro f (x) f (x ) per tutti i punti x I(x , ). Supponiamo che x non sia un minimo globale. Deve esistere allora un punto z tale che f (z) < f (x ). Sia x il generico punto del segmento che unisce z e x , ossia x = z + (1 )x . Per sucientemente piccolo, x I(x , ). Daltro canto, per la convessit` avremo che a f () = f (z + (1 )x ) f (z) + (1 )f (x ) x ma siccome stiamo supponendo f (z) < f (x ), da questa discende f () < f (x ) + (1 )f (x ) = f (x ) x il che contraddice il fatto che x ` un minimo locale. e Si noti che il Teorema 17 vale in ipotesi del tutto generali: non abbiamo nemmeno supposto la f dierenziabile. Se lo `, vediamo ora che la convessit` consente di dare una e a caratterizzazione dei punti di minimo pi` forte di quanto visto nora. Infatti, in generale, u il soddisfacimento delle condizioni necessarie del primo e del secondordine non basta a determinare la natura del punto in questione. Invece, nel caso particolare che la f sia convessa, le sole condizioni del 1 ordine divengono necessarie e sucienti. Teorema 18 Si consideri una funzione f con gradiente continuo, e sia f convessa in Rn . Condizione necessaria e suciente anch x sia un punto di minimo globale per f e ` che e f (x ) = 0 13

Dim. La necessit` deriva dal Teorema 14. Per quanto concerne la sucienza, basta a ricordare la (5), ove y ` un qualunque punto di Rn : e f (y) f (x ) per cui, se f (x )T (y x )

f (x ) = 0, si ha che f (y) f (x ).

Dunque, nel caso convesso trovare un minimo locale equivale a trovare un minimo globale, e un punto ` di minimo se e solo se soddisfa le condizioni del 1 ordine. C` e e ancora una propriet` che contraddistingue il caso convesso: i punti di minimo formano a essi stessi un insieme convesso. Teorema 19 Si consideri una funzione f , convessa in Rn . Linsieme dei punti di minimo della f ` convesso. e Dim. Si considerino due punti di minimo distinti, x e x , e sia f il valore ottimo della f . Il generico punto sul segmento che li unisce ` x + (1 )x . Per la convessit` della e a f, f (x + (1 )x ) f (x ) + (1 )f (x ) ma essendo sia x che x punti di minimo, f (x ) = f (x ) = f e quindi f (x + (1 )x ) = f e quindi anche tutti i punti del segmento sono punti di minimo.

Schema generale degli algoritmi di minimizzazione non vincolata

Le condizioni di ottimalit` che abbiamo visto possono talora essere utilizzate direttamente a per calcolare la soluzione ottima di un problema di ottimizzazione non vincolata, ma spesso la forma della funzione obiettivo e/o il numero di variabili possono essere tali da rendere di fatto impossibili i calcoli in forma chiusa. In generale ` allora necessario progettare e e utilizzare un algoritmo iterativo. Va detto subito che, in generale, gli algoritmi di minimizzazione non vincolata consentono soltanto la determinazione di punti stazionari di f , senza alcuna garanzia che si tratti eettivamente di punti di minimo. Molto spesso tuttavia si ` anche in grado di stabilire che i punti di PS raggiunti soddisfano le condizioni e del 2 ordine. La struttura di fondo degli algoritmi di minimizzazione non vincolata ` molto seme plice. Si considera un punto iniziale x0 Rn , e si calcola il valore della funzione f (x0 ) 14

Metodo di discesa
{

Si fissa un punto iniziale x0 Rn ; k := 0; while f (xk ) = 0


{

si calcola una direzione di discesa dk Rn si calcola un passo k R lungo dk


xk+1 := xk + k dk ; k := k + 1; } }

Figura 1: Schema generale degli algoritmi di minimizzazione vincolata. e del gradiente f (x0 ). Se questultimo ` il vettore nullo, si ` gi` individuato un punto e e a

stazionario. Altrimenti, da x0 ci si sposta in cerca di un punto x1 , possibilmente migliore di x0 . Per fare questo, appare logico scegliere una direzione di discesa, e lungo tale direzione muoversi di un opportuno passo. Trovato x1 , se esso appartiene a PS ci si ferma, altrimenti si cerca un nuovo punto x2 e cosi via. Al generico passo quindi, il nuovo punto xk+1 si ottiene come xk+1 := xk + k dk (9)

Si ottiene cosi una successione x0 , x1 , x2 , . . . , xk , . . . di punti. A tale schema generale di algoritmo ci si riferisce in genere con il termine di metodo di discesa, a indicare che a ogni passo risulta f (xk+1 ) < f (xk ) Lo schema ` dunque quello riportato in Figura 1. e Ci` che distingue un metodo di discesa da un altro sono i criteri da usare per eettuare o le due scelte che caratterizzano il metodo: la direzione di discesa e la lunghezza del passo. Peraltro, da queste scelte dipendono le caratteristiche fondamentali dellalgoritmo, vale a dire la convergenza della successione {xk } a punti stazionari e la rapidit` di convergenza. a Nel seguito, supporremo sempre vericate le ipotesi matematiche in base alle quali la funzione f ammette almeno un punto di minimo (e dunque PS non ` vuoto). e

15

6.1

Convergenza

Prima di vedere un teorema che d` condizioni sotto le quali un algoritmo del tipo (9) cona verge a un punto stazionario, facciamo una ulteriore distinzione. Un importante criterio di classicazione degli algoritmi riguarda il punto iniziale della successione {xk }. Infatti, in alcuni casi lalgoritmo pu` convergere o meno a seconda della scelta di x0 . o Definizione 14 Un algoritmo ` globalmente convergente se esso ` convergente per qualunque e e x0 Rn . Un algoritmo ` localmente convergente se ` convergente solo per x0 I(x ), e e ove I(x ) ` un opportuno intorno di un punto x PS. e Ovviamente la convergenza globale ` preferibile a quella locale, anche perch tipicae e mente ` molto dicile conoscere la struttura e lestensione dellintorno I(x ), ma se ne e conosce soltanto lesistenza. Tuttavia, la convergenza locale o globale non ` lunico criterio e per giudicare la bont` di un algoritmo, come vedremo nel 6.2. a Per le nostre considerazioni ` utile far riferimento alla funzione di una sola variabile e () = f (xk + dk ), che indica il valore della f in funzione del passo , allorch si sia e ssata la direzione di discesa dk . Sia y = xk + dk il punto incrementato, e indichiamo con y i la sua i-esima componente. Avendo supposto derivata di come () = d = d f (y) dy i i d i=1 y
n

f continuo, possiamo calcolare la

considerando che la variazione della i-esima componente di y al variare di ` data dalla e i-esima componente del vettore dk , e ricordando la denizione di gradiente si ha quindi () = f (y)T dk = f (xk + dk )T dk (10)

Si noti in particolare che linclinazione della tangente alla per = 0 ` proprio la derivata e direzionale della f in xk lungo la direzione dk . Anzitutto osserviamo che il fatto che, a ogni iterazione dellalgoritmo in Fig.1, si abbia una diminuzione della funzione obiettivo, non basta a garantire la convergenza dellalgoritmo a un punto stazionario. Ad esempio, si consideri la funzione di una sola variabile f (x) = 3x2 6x + 2, e consideriamo il punto iniziale x0 = 3. Se alla k-esima (k 1) iterazione dellalgoritmo in Figura 1 si produce il punto xk = 1 + (1)k ( 3/3 + 1/k), a ogni iterazione si ha f (xk+1 ) < f (xk ). La successione {xk } ha i due punti limite x = 1 3/3 e x = 1 + 3/3, e dunque {f (xk )} converge al valore 0. Invece, lunico punto di minimo della f ` x = 1, in cui f (x) = 1. Dunque, la successione dei valori e {f (xk )} converge, ma al valore sbagliato. Il problema, in questo caso, ` che ` vero che la e e funzione f diminuisce a ogni iterazione, ma sempre di meno. 16

() (0)

(0)
c(0)

Figura 2: Linsieme di valori di che soddisfano le (11) e (12). Dunque, ` desiderabile che, a ogni iterazione dellalgoritmo, il punto incrementato e xk + dk soddis una condizione di suciente riduzione della f , che possiamo esprimere in questi termini: f (xk + dk ) f (xk ) + f (xk )T dk ove 0 < < 1. Guardando il graco della () (Figura 2), dal momento che (11) f (xk )T dk <

0 ` la derivata di in = 0, si vede che la condizione espressa dalla (11) signica che il e nuovo punto deve trovarsi sotto la retta passante per il punto (0, (0)) e avente pendenza f (xk )T dk (dunque negativa). Si noti che essendo < 1, tale retta ` in valore assoluto e meno pendente della tangente a in = 0. Scegliendo diversi valori per il parametro si pu` rendere la condizione pi` o meno restrittiva. In pratica, si usano in genere valori o u di abbastanza piccoli, dellordine di 104 . La (11) da sola pu` non essere ancora suciente a garantire una buona ecienza o dellalgoritmo. Questo perch, essendo comunque la condizione soddisfatta per valori sufe cientemente piccoli di , il rischio ` che lo spostamento rispetto a xk sia poco signicativo. e Ricordando che, per la (10), la pendenza della nel punto ` data da e f (xk + dk )T dk , possiamo allora considerare la seguente condizione, chiamata condizione di Wolfe: f (xk + dk )T dk c f (xk )T dk (12)

ove < c < 1. (Questa condizione pu` anche scriversi () c (0).) La (12) ` o e senzaltro soddisfatta se in la ha pendenza positiva (si ricordi che (0) < 0), mentre nel caso che la pendenza in sia negativa, la condizione ` soddisfatta solo se la pendenza e `, in valore assoluto, inferiore a c (0) (gura 2) . In sostanza, la (12) vincola il passo e 17

ad essere abbastanza lungo da percepire una signicativa diminuzione (in valore assoluto) della derivata direzionale, fatto questo che indica un avvicinamento al minimo della f . Si noti che, stavolta, valori troppo piccoli di possono non soddisfare la condizione di Wolfe. Ci si pu` dunque chiedere se esistono eettivamente dei valori di in cui sia o la condizione di suciente riduzione che quella di Wolfe siano soddisfatte. Non ` dicile e dimostrare il seguente teorema. Teorema 20 Data una direzione di discesa dk per una funzione f continuamente differenziabile, se la () non ` inferiormente illimitata per > 0, allora esistono 0 < 1 < e 2 tali che ogni [1 , 2 ] soddisfa sia (11) che (12). Le due condizioni viste fanno riferimento al valore del passo , mentre per quanto riguarda dk richiedono solo che questa sia una direzione di discesa. Vediamo ora invece una condizione su dk che richiede qualcosa in pi`. u Definizione 15 Un algoritmo di ottimizzazione del tipo (9) soddisfa la condizione dangolo se esiste un > 0 tale che, a ogni passo k f (xk ) dk (13)

f (xk )T dk con > 0. Come sappiamo, se

f (xk )T dk < 0, la direzione dk ` una direzione di discesa. La e

condizione dangolo richiede qualcosa in pi`: dovendo essere soddisfatta a ogni iterazione u k dellalgoritmo, dal momento che il termine di destra nella (13) ` strettamente negae tivo, questa condizione implica che il coseno dellangolo tra il gradiente e la direzione di ricerca si mantiene sempre strettamente inferiore a . Questo impedisce che, nel corso dellalgoritmo, dk possa tendere a diventare ortogonale a quanto piccolo sia , purch sia strettamente positivo. e Possiamo a questo punto enunciare, senza dimostrazione, un teorema che caratterizza la convergenza globale di un algoritmo del tipo (9). Teorema 21 Sia f una funzione con gradiente continuo in tutto Rn . Si consideri un algoritmo del tipo (9), in cui, a ogni iterazione k, la direzione dk e il passo k sono tali da soddisfare le (11), (12) e (13), per opportune costanti 0 < < c < 1, > 0. Allora, per ogni scelta del punto iniziale x0 tale che linsieme di livello Lf (x0 ) ` limitato e chiuso, la e f (xk ). Si noti che non importa

18

successione di punti {xk } generata dalla (9) ` tale che o (i) esiste un k per cui e oppure (ii) la successione { f (xk )} tende a 0.
1

f (xk ) = 0

Nei prossimi capitoli vedremo con maggior dettaglio i due aspetti caratterizzanti di un algoritmo del tipo (9). Precisamente, nel 7 ci occuperemo della determinazione di k , mentre nei 8 e 9 della scelta della direzione di discesa.

6.2

Rapidit` di convergenza a

In alcuni ambiti dellottimizzazione (es. programmazione lineare, ottimizzazione combinatoria) ` possibile progettare algoritmi in grado di calcolare la soluzione ottima in un e numero nito, ancorch eventualmente molto elevato, di iterazioni. In quei casi, ` pose e sibile basare una denizione di ecienza di un algoritmo sul numero di iterazioni che ` e necessario eettuare per giungere alla soluzione ottima. Nel caso della programmazione non lineare, come si ` detto, tranne che in casi particolari (come il metodo di Newton per e funzioni quadratiche, 9), gli algoritmi risolutivi producono una successione innita di punti {xk }. Supponendo che le condizioni di convergenza siano soddisfatte, e che un certo algoritmo converga a un punto stazionario x , occorre allora caratterizzare la rapidit` con a cui tale convergenza avviene. I metodi pi` utilizzati per misurare la convergenza fanno u riferimento al rapporto tra gli scostamenti esistenti, a uniterazione e alla successiva, tra la soluzione corrente xk e il punto limite x , ossia xk+1 x xk x Le misure di rapidit` di convergenza si basano sullandamento di tale scostamento nel a corso dellalgoritmo. Si noti che tale rapporto non fa riferimento al valore della f . Definizione 16 Dato un algoritmo del tipo (9), se esiste un numero c > 0 tale che, per tutti i k da un certo k in poi, risulta xk+1 x c xk x allora, se c (0, 1), si dice che lalgoritmo ha rapidit` di convergenza lineare, se invece a c 1, la convergenza ` sublineare. e
1

Si noti che questo teorema non esclude lesistenza di pi` punti limite, tutti caratterizzati dal fatto u

di avere gradiente nullo, e lo stesso valore di f . Se da un punto di vista matematico ` facile costruire e esempi in cui questo accade, dal punto di vista pratico ` un fatto abbastanza raro. e

19

Definizione 17 Un algoritmo del tipo (9) ha rapidit` di convergenza superlineare se a


k

lim

xk+1 x =0 xk x

Definizione 18 Un algoritmo del tipo (9) ha rapidit` di convergenza quadratica se esiste a un numero C > 0 tale che, per tutti i k da un certo k in poi, risulta xk+1 x C xk x 2 Si noti che in questultima denizione C pu` essere anche superiore a 1. Il signicato o di queste denizioni dovrebbe essere abbastanza chiaro, ricordando che, dal momento che lalgoritmo converge, almeno da una certa iterazione in poi i valori xk x diventano sempre pi` piccoli. Evidentemente, gli algoritmi aventi convergenza lineare sono quelli u meno ecienti, anche se, al loro interno, una dierenza dal punto di vista pratico ` e senzaltro rappresentata dal valore di c (che prende il nome di tasso di convergenza). Tipicamente, una convergenza quadratica pu` denirsi veloce, mentre quella lineare o pu` risultare insoddisfacente se c ` prossimo a 1. In generale, si ha la seguente denizione: o e a Definizione 19 Un algoritmo del tipo (9) ha rapidit` di convergenza di ordine p se esiste un numero C > 0 tale che, per tutti i k da un certo k in poi, risulta xk+1 x C xk x p Va detto tuttavia che algoritmi aventi p > 2 sono abbastanza rari. Gli algoritmi utilizzati nelle applicazioni reali in genere hanno convergenza superlineare o quadratica. Esempio 1 Per esercizio, si possono applicare i concetti visti per caratterizzare la rapidit` a di convergenza delle seguenti successioni (convergenti a x = 0): 1 (sublineare) k 1 {xk } = k (lineare) 2 1 (superlineare) {xk } = k! 1 {xk } = 2k (quadratica) 2 {xk } =

20

Ricerca unidimensionale del passo k

In questo capitolo arontiamo il problema della determinazione del passo k a ciascuna iterazione della (9) che d` il nuovo punto xk+1 , supponendo che dk sia una direzione di a T discesa, ossia che f (xk ) dk < 0. Questa ricerca di k prende il nome di line search (dal momento che avviene lungo una linea, ossia la direzione dk ). Gli algoritmi di line search consistono nel provare iterativamente diversi valori di , no a che certe condizioni di arresto sono vericate. Chiaramente, una possibilit` ` quella ae di arrestarsi quando risultano soddisfatte sia la (11) che la (12). Questo si pu` fare (e o anzi, si fa in molti approcci risolutivi), ma la descrizione dettagliata dei procedimenti che garantiscono di terminare con un valore di che soddis ambedue le relazioni ` e abbastanza macchinosa ed ` al di fuori dello scopo di queste dispense. Sappiamo daltra e parte (Teorema 13) che se si sceglie k sucientemente piccolo, abbiamo la garanzia (in ipotesi di continuit` della f , come stiamo supponendo) di riuscire a soddisfare (11). a Se per` il nuovo punto xk+1 risulta troppo vicino al precedente, la diminuzione di f o pu` risultare molto piccola e quindi in denitiva la convergenza pu` risultare troppo o o lenta. Dunque, la scelta di k deve essere fatta in modo tale da consentire anche un signicativo spostamento dal punto xk , pur senza garantire, in generale, il soddisfacimento della condizione di Wolfe (7.2).

7.1

Line search esatta

Dal momento che la funzione () = f (xk + dk ) esprime landamento della funzione f a partire dal punto xk , muovendosi nella direzione dk , pu` apparire logico cercare quel passo o che minimizza la () (per > 0). Poich dk ` una direzione di discesa, e linsieme di e e livello { : R, 0, () (0)} ` chiuso e limitato, esiste sicuramente (Teorema 9) tale valore , e dalle condizioni del e 1 ordine si ha ( ) = f (xk + dk )T dk = 0 (14)

La (14) ha uninteressante interpretazione geometrica: scegliendo come passo il valore , il gradiente nel punto incrementato xk+1 = xk + dk risulta ortogonale alla direzione di ricerca dk . Dunque, la supercie di livello corrispondente al valore f (xk + dk ) risulta tangente alla direzione dk . In altre parole, per cercare il minimo della si pu` pensare o di procedere nella direzione dk (che, almeno inizialmente, di sicuro non ` ortogonale al e 21

gradiente) e poi scegliere il punto in cui la ` minima tra quelli in cui dk risulta ortogonale e al gradiente della f in quel punto. Eettuare una line search esatta ` comunque oneroso dal punto di vista pratico, soe prattutto se la ` non convessa. Occorrerebbero troppe valutazioni della funzione (o f , e che ` la stessa cosa) e del gradiente, anche solo per determinare un minimo locale della . e Pi` concretamente, ci si pu` allora orientare a eettuare una minimizzazione non esatta u o della , ma ancora in grado di ottenere unadeguata riduzione del valore della f a costi computazionali contenuti. Il valore prodotto dalla line search pu` allora vedersi come o una stima del valore ideale .

7.2

Backtracking e metodo di Armijo

Nel seguito, illustreremo un approccio iterativo che genera i valori di in modo abbastanza accurato, e converge con accettabile rapidit`, pur facendo a meno della verica puntuale a della condizione di Wolfe, e utilizzando esplicitamente solo la condizione di suciente riduzione. Lapproccio iterativo che stiamo per descrivere ` di tipo backtracking. Nel seguito, e indicheremo con 1 , 2 , . . . , i , . . . i valori di generati alle varie iterazioni, mentre indica il valore restituito dal metodo, e che verr` quindi utilizzato come passo. a Lapproccio backtracking consiste nel considerare, inizialmente, un valore 0 (che va scelto con una certa attenzione, come vedremo dopo). Se gi` 0 soddisfa la condizione a di riduzione, il procedimento termina e restituisce 0 . Altrimenti, si moltiplica 0 per un fattore di contrazione 0 < < 1/2 e si prova il valore cosi generato. Il procedimento prosegue in questo modo no a trovare un valore = i 0 tale da soddisfare la (11). Lidea ` che il valore restituito dal metodo, oltre a soddisfare la (11), non sar` troppo e a piccolo, in quanto c` da tener presente che il valore trovato alliterazione precedente, ossia e i1 0 , non era stato ritenuto soddisfacente, ossia era ancora troppo grande. In questa versione-base, lapproccio backtracking prevede di utilizzare a ogni iterazione sempre lo stesso valore del fattore di contrazione . In tal caso, il metodo prende il nome di metodo di Armijo, ed ` riportato in Figura 3. e Come si vede, il metodo di Armijo ` estremamente semplice, e anche per questo ` e e ` peraltro possibile dimostrare che uno dei metodi di ricerca unidimensionale pi` usati. E u scegliendo il passo secondo Armijo si ha eettivamente un metodo di discesa, e che ogni punto limite della successione {xk } ` un punto stazionario. Per semplicit`, vedremo qui e a solo la dimostrazione della prima condizione, che ` abbastanza immediata. e

22

Metodo di Armijo
{ := 0 ;

while f (xk + dk ) > f (xk ) + f (xk )T dk do := ;


k := }

Figura 3: Schema del metodo di Armijo. Teorema 22 Dato un punto xk e una direzione di discesa dk , il metodo di Armijo determina, in un numero nito di iterazioni, un valore di tale che f (xk+1 ) = f (xk + dk ) < f (xk ) Dim. Dimostriamo che il metodo di Armijo termina. Se infatti non terminasse, vorrebbe dire che a ogni iterazione risulterebbe sempre vera la condizione di ingresso nello while, ossia, alla j-esima iterazione, essendo = j 0 , sarebbe f (xk + 0 j dk ) f (xk ) > f (xk )T dk j 0 Ora, al crescere dellindice di iterazione j, si ha che j 0, e dunque il termine di sinistra tende alla derivata direzionale di f in xk nella direzione dk , ma allora si ha f (xk )T dk > f (xk )T dk il che ` un assurdo, essendo 0 < < 1 e e Armijo termina. f (xk )T dk < 0. Dunque, il metodo di

Di conseguenza, il valore prodotto k ` tale che f (xk + k dk ) e

f (xk ) + k f (xk )T dk . Dal fatto che k f (xk )T dk < 0, segue la tesi. Un aspetto delicato dei metodi di backtracking consiste nel fatto che il numero di iterazioni necessarie dipende in sostanza dalla scelta del valore iniziale 0 . Questo non ` e un problema nei metodi tipo-Newton, in quanto come vedremo (9) in quei casi il metodo prescrive una stima iniziale ssa 0 = 1. In altri casi occorre per` regolarsi diversamente o (8).

7.3

Interpolazione

In metodi di backtracking pi` generali del metodo di Armijo, il valore del fattore di u contrazione pu` variare da uniterazione allaltra. In eetti, quello che il metodo di Armijo o 23

fa a ogni iterazione non ` altro che diminuire il valore corrente i in modo controllato, e ossia in un modo tale da salvaguardare la convergenza dellalgoritmo complessivo (9). Il fatto di moltiplicare i per un certo < 1 ` un modo, ma non lunico, di eettuare e questa diminuzione. Vediamo un esempio di un metodo di backtracking in cui a ogni iterazione il nuovo valore di viene calcolato per mezzo di una semplice interpolazione, che descriviamo nel seguito. Lidea di base dellinterpolazione ` quella di utilizzare una rappresentazione approssie mata della nellintervallo di valori di interesse, che sono quelli compresi tra = 0 e = i corrente. Tale rappresentazione ` in genere un polinomio, che sceglieremo di sece ondo o terzo grado (che sono poi i casi di interesse pratico). Anzich moltiplicare il valore e i per il fattore di contrazione, si cerca allora il punto di minimo di tale polinomio approssimante nellintervallo (0, i ). Se la non ` fortemente irregolare, ci sono buone e speranze che lapprossimazione non si discosti troppo dalla realt`, e che quindi il valore a sia non troppo distante da . Nel seguito, vediamo un metodo di interpolazione progettato per limitare il numero di volte che occorre valutare il gradiente della f . Dunque, riscrivendo la (11), come prima cosa si vuole vericare se la stima iniziale 0 verica o meno la condizione di riduzione, ossia (0 ) (0) + 0 (0) (15)

se questa non ` vericata, costruiamo unapprossimazione quadratica q della , ossia una e funzione del tipo q () = a2 + b + c (16)

Poich abbiamo gi` disponibili tre quantit`, vale a dire (0), (0) e (0 ), scegliamo e a a ` i parametri della q in modo tale che q (0) = (0), q (0) = (0) e q (0 ) = (0 ). E facile vericare con semplici passaggi che queste tre condizioni implicano che il polinomio approssimante sia q () = (0 ) (0) 0 (0) 2 + (0) + (0) 2 0 (17)

si osservi che q () risulta essere convessa (perch?). Derivando, si ottiene il punto di e minimo, che verr` preso come nuovo valore 1 : a
2 (0)0 1 = 2[(0 ) (0) 0 (0)]

(18)

A questo punto, si verica la condizione di riduzione (11) per 1 . Se non ` soddisfatta, e si pu` procedere, tenendo conto che ora si dispone anche di un altro valore della , vale a o 24

dire (1 ), e dunque si pu` tentare una stima pi` accurata utilizzando unapprossimazione o u cubica della , ossia c () = a3 + b2 + (0) + (0) (19)

(in cui si sono gi` imposti il valore (0) in 0 e il valore (0) della derivata nello stesso a punto). I valori di a e b possono essere ricavati imponendo il passaggio per i punti (0 , (0 )) e (1 , (1 )), ottenendo a b = 1 2 2 0 1 (1 0 )
2 2 0 1 3 3 0 1

(1 ) (0) (0)1 (0 ) (0) (0)0

(20)

di nuovo, derivando si trova il punto di minimo per c , che risulta essere interno allintervallo (0, 1 ), dato da 2 = b + b2 3a (0) 3a (21)

Di nuovo si va a vericare la condizione di riduzione, e se questa non fosse soddisfatta si cercherebbe 3 utilizzando una approssimazione cubica ancora della forma (19) in cui i valori di a e b sono calcolati per mezzo della (20), ma in cui 0 e 1 sono rimpiazzati rispettivamente da 1 e 2 . Il metodo prosegue, utilizzando a ogni passo, per la determinazione di i , un polinomio di terzo grado. I parametri di questa espressione fanno uso della calcolata negli ultimi due punti, i2 e i1 . Bench sia possibile dimostrare che e facendo cosi si ottengono sempre punti interni allintervallo (0, i1 ), pu` capitare che o i risulti troppo vicino a i1 (e allora la line search rischia di essere troppo lenta) o al contrario troppo prossimo a 0 (e allora al solito la diminuzione di rischia di essere poco signicativa). Per evitare questi inconvenienti, si pu` decidere che quando capitano casi o di questo tipo, si pone semplicemente i = i1 /2.

Il metodo del gradiente

Il metodo del gradiente costituisce lalgoritmo di ottimizzazione pi` semplice, sia dal punto u di vista concettuale che realizzativo. In molti metodi di discesa, la direzione di ricerca dk viene determinata considerando unopportuna approssimazione della funzione obiettivo. Nel metodo del gradiente, si fa riferimento a unapprossimazione lineare di f (xk + d), pensata come funzione del vettore d. Riprendendo la formula di Taylor arrestata al 1 ordine (2): f (xk + d) = f (xk ) + f (xk )T d + 1 (xk , d) 25

lidea del metodo del gradiente ` quella di approssimare f (xk + d) con la funzione e k (d) = f (xk ) + f (xk )T d (22)

e di scegliere come direzione di ricerca dk quella direzione che minimizza k (d) nella sfera di raggio unitario, ossia la soluzione del problema min k (d) d =1 ovvero min f (xk )T d d =1 dove in questo caso la norma si suppone essere quella euclidea. Per la disuguaglianza di Hlder (il valore assoluto del prodotto di due vettori non supera il prodotto delle loro o norme euclidee), e poich d = 1, si ha che | f (xk )T d| e f (xk )T , e dunque il minimo si ha scegliendo d = f (xk )/ f (xk )T , che ` la direzione dellantigradiente e (scegliendo d = f (xk )/ f (xk )T troveremmo ovviamente il massimo di k (d)). Dal momento che in denitiva f (xk ) minimizza la derivata direzionale della f , il metodo del gradiente ` anche detto il metodo della discesa pi` ripida. La (9) diviene e u quindi xk+1 := xk k f (xk ) Lo schema del metodo del gradiente ` riportato in Figura 4. e Per quanto concerne la convergenza del metodo del gradiente, supponendo che le condizioni (11) e (12) siano soddisfatte utilizzando un opportuno algoritmo di line search, per poter applicare il Teorema 21 occorre vericare se ` soddisfatta la condizione dangolo e (13): f (xk )T dk f (xk ) dk (23)

evidentemente, essendo dk = f (xk ), la condizione dangolo ` soddisfatta scegliendo e = 1. Dunque, il metodo converge. Inoltre, per il Teorema 21 la convergenza ` globale, e e questo costituisce ovviamente uno dei maggiori pregi del metodo del gradiente. Dunque, qualunque sia il punto iniziale x0 , il metodo del gradiente converge a un punto stazionario. Tuttavia, al variare di x0 pu` sia variare il punto stazionario a cui lalgoritmo o converge, e sia la rapidit` con cui tale convergenza avviene. Per avere unindicazione a

26

Metodo del gradiente


{

Si fissa un punto iniziale x0 Rn ; k := 0; while f (xk ) = 0


{

si pone dk := f (xk ) si calcola il passo k lungo dk (ad es.con Armijo)


xk+1 := xk + k dk ; k := k + 1; } }

Figura 4: Il metodo del gradiente. quantitativa della rapidit` di convergenza del metodo, si pu` fare riferimento a una funa o 1 T T ` zione quadratica f (x) = 2 x Qx + b x + c. (E chiaro che per trovare il punto stazionario in questo caso non ci sarebbe bisogno di ricorrere a un metodo di discesa, dal momento che f (x) = Qx + b, e dunque basterebbe risolvere un sistema lineare. Tuttavia, qui ci interessa solo valutare la rapidit` del metodo del gradiente.) Consideriamo allora una funa zione quadratica f (x) = xT Qx, con Q matrice simmetrica denita positiva, il cui punto ` di minimo ` evidentemente x = (0, 0, . . . , 0)T . E interessante osservare che le superci di e livello hanno in questo caso la forma di ellissoidi ellissi in R2 il cui rapporto tra le lunghezze dei vari assi ` dato dal rapporto tra i diversi autovalori della matrice (che ese sendo Q simmetrica, sono tutti reali). Indicando con m e M il pi` piccolo e il pi` grande u u autovalore, si pu` dimostrare che, utilizzando il metodo del gradiente, ed eettuando a o ogni passo la line search esatta, tra i valori della f in due iterazioni successive intercorre la relazione f (xk+1 ) ( M m 2 ) f (xk ) M + m (24)

Inoltre, si pu` anche dimostrare che vi sono dei punti iniziali per i quali la (24) vale o eettivamente con il segno di uguaglianza. Ricordando il Teorema 7, si ha che m x
2

xT Qx M x

da cui, essendo lorigine il punto di minimo, m xk+1


2

M m 2 ) M xk M + m

27

e in denitiva M 1/2 M m xk+1 ( ) ( ) xk m M + m (25)

Si noti che nel caso in cui gli autovalori sono tutti uguali (ossia, le superci di livello sono sferiche), la (25) implica che si ha convergenza in un solo passo. Viceversa, se vi ` e una grande dierenza tra il pi` grande e il pi` piccolo autovalore di Q, il valore di f pu` u u o scendere anche molto lentamente, con convergenza dunque sublineare. Anche se questa analisi ` fatta solo per funzioni quadratiche, le conclusioni sono abbastanza generali e e infatti, dal punto di vista pratico, il metodo del gradiente viene ritenuto mediamente ineciente, soprattutto in presenza di funzioni aventi superci di livello a forte curvatura. A proposito dellutilizzo dei metodi di ricerca unidimensionale per la determinazione del passo , va detto che per la scelta della stima iniziale 0 non vi sono criteri di scelta specici per il metodo del gradiente. In questo caso ` importante calibrare tale scelta e tenendo conto dellinformazione disponibile sulla funzione no a quel momento. Un modo di procedere abbastanza diuso e mediamente ecace ` quello di considerare che, molto e spesso, la variazione che possiamo attenderci per la funzione obiettivo una volta giunti alliterazione k-sima ` dello stesso ordine di grandezza di quella che si ` avuta nellultima e e iterazione. Questultima, considerando solo il termine del primordine, ` data da: e f (xk1 + k1 dk1 ) f (xk1 ) k1 f (xk1 )T dk1 (dove attenzione qui k1 indica il valore del passo alliterazione precedente) e dunque questo criterio corrisponde a scegliere come valore iniziale 0 del passo alliterazione k: 0 = k1 f (xk1 )T dk1 f (xk )T dk

ossia, nel caso del metodo del gradiente: 0 = k1 f (xk1 ) 2 f (xk ) 2

Metodo di Newton

I metodi di tipo Newton sono tra i metodi di maggiore importanza nellottimizzazione non vincolata. Noi vedremo dapprima il metodo di Newton nella sua forma pi` semplice, u e quindi alcune modiche che ne migliorano le caratteristiche di convergenza.

28

Metodo di Newton
{

Si fissa un punto iniziale x0 Rn ; k := 0; while f (xk ) = 0 si pone xk+1 := xk ( 2 f (xk ))1 f (xk )
k := k + 1 }

Figura 5: Il metodo di Newton puro.

9.1

Il metodo di Newton puro

Analogamente al metodo del gradiente, anche il metodo di Newton si basa sul concetto di minimizzare unapprossimazione della f , ma stavolta quadratica. Sia f una funzione con Hessiana continua. Dalla formula di Taylor arrestata ai termini del 2 ordine (3), per valori sucientemente piccoli della norma del vettore incremento h ` possibile scrivere: e f (xk + h) f (xk ) + 1 f (xk )T h + hT 2
2

f (xk )h

(26)

Indichiamo con q(h) il termine a destra della (26). Annullando il gradiente di q(h) si ha q(h) = da cui, se
2

f (xk ) +

f (xk )h = 0

f (xk ) ` non singolare, possiamo ottenere: e


2

h = (

f (xk ))1 f (xk )

(27)

Si noti che se lHessiana ` denita positiva, h ` proprio il vettore che minimizza q(h). e e Il metodo di Newton consiste nellutilizzare, come vettore incrementato, proprio h dato dalla (27), ossia si ha xk+1 := xk (
2

f (xk ))1 f (xk )

(28)

e lalgoritmo di ottimizzazione (9) assume la forma indicata in Figura 5. In questa versione pura del metodo di Newton, anzich distinguere la scelta della e direzione da quella del passo, viene specicato direttamente il vettore-incremento, o, in altre parole, viene ssata la direzione dk = (
2

f (xk ))1 f (xk ) (che prende il nome di

direzione di Newton) e lungo questa direzione ci si muove di un passo pari a 1. Peraltro, si noti che il metodo in Figura 5 ` applicabile anche se lHessiana non ` denita positiva, e e purch risulti non singolare. e 29

Poich di fatto il metodo di Newton specica direttamente il vettore incremento, non e ` possibile invocare direttamente il Teorema 21 per analizzare le propriet` di convergenza e a dellalgoritmo. In eetti, vale un risultato leggermente diverso, che enunciamo senza dimostrarlo. In questo teorema di fa uso della seguente denizione: Definizione 20 Si consideri una matrice F di dimensioni nn, in cui ciascun elemento Fij ` una funzione di x Rn . La F si dice lipschitziana su un insieme aperto D se esiste e una costante L > 0 tale che, per ogni x, y D, si ha F (x) F (y) L x y

In altre parole, una matrice di funzioni ` lipschitziana se la sua norma non varia troppo e rapidamente spostandosi da un punto a un altro; ` dunque una condizione di regolarit` e a abbastanza poco restrittiva. Vale, in denitiva, il seguente teorema Teorema 23 Data la funzione f , sia essa due volte continuamente dierenziabile in Rn . Supponiamo inoltre che: (a) esiste un punto x tale che (b)
2

f (x ) = 0 e che

f (x ) sia non singolare;

f (x ) ` lipschitziana in Rn e tale che se x0 B(x , ),

allora esiste una sfera aperta B(x , ) di centro in x e raggio di convergenza quadratica.

la successione {xk } generata dalla (28) rimane in B(x , ) e converge a x con rapidit` a

Laspetto pi` importante del risultato espresso dal Teorema 23 ` il fatto che il metodo u e di Newton converge con rapidit` quadratica, il che lo rende signicativamente pi` interesa u sante rispetto al metodo del gradiente. Tuttavia, questo teorema esprime solo un risultato di convergenza locale.

9.2

Metodo di Newton modicato

Per ovviare al problema della convergenza locale, si pu` allora modicare il metodo, o utilizzando la struttura dei metodi di discesa (Figura 1). Precisamente, si pu` pensare di scegliere a ogni iterazione come direzione dk la dio rezione di Newton dk = ( 2 f (xk ))1 f (xk ), ed eettuare poi una line search, ad esempio con Armijo, utilizzando come valore iniziale 0 = 1. 30

Andiamo allora a esaminare la convergenza globale del metodo di Newton cosi modicato, considerando dapprima il caso in cui lHessiana risulti denita positiva a ogni passo dellalgoritmo, ossia per ogni xk . Per semplicit` notazionale, nei passaggi che seguono a indicheremo linversa dellHessiana calcolata in xk con Bk , cosicch dk = Bk f (xk ). e Supponiamo, indicando con M (Bk ) e m (Bk ) rispettivamente il pi` grande e il pi` picu u colo autovalore dellinversa dellHessiana in xk , che esistano due costanti M e m tali che 0 < m < m (Bk ) M (Bk ) M (29)

ossia gli autovalori dellinversa dellHessiana sono compresi tra m e M per qualunque k. (Si ricorda che che gli autovalori dellinversa sono gli inversi degli autovalori.) Si noti che questa condizione ` leggermente pi` restrittiva che non il semplice fatto che e u
2 2

f (xk )1 > 0, in quanto si richiede anche che, al crescere di k, gli autovalori della f (xk )1 non divengano n arbitrariamente grandi e n arbitrariamente prossimi a 0. e e

Si tratta dunque di vedere se la condizione dangolo ` soddisfatta dalla direzione di e 2 1 Newton dk = ( f (xk )) f (xk ). Considerando la derivata direzionale nella direzione dk nel punto xk , si ha f (xk )T dk = f (xk )T Bk f (xk ) e, applicando il risultato espresso nel Teorema 7 (ove al posto di x c` e f (xk )T Bk f (xk ) m (Bk ) f (xk )
1

f (xk )), otteniamo (30)

Poich per qualunque vettore d, d = (dT d) 2 , possiamo scrivere e


T dk = Bk f (xk ) = ( f (xk )T Bk Bk f (xk )) 2
1

ossia, essendo Bk simmetrica


2 dk = Bk f (xk ) = ( f (xk )T Bk f (xk )) 2
1

(31)

Daltro canto, ancora ricordando il Teorema 7 (ove ancora, al posto di x poniamo f (xk ))
2 2 ( f (xk )T Bk f (xk )) 2 (M (Bk )
1

f (xk ) 2 ) 2

(32)

e, ricordando che gli autovalori del quadrato di una matrice coincidono con i quadrati degli autovalori, si ha in denitiva, da (31) e (32) dk M (Bk ) f (xk ) 31 (33)

a questo punto, sfruttando la (29) possiamo scrivere, dalla (30), f (xk )T dk < m e dalla (33) dk (35) M Sempre facendo attenzione ai segni, si vede che maggiorando il secondo membro della (34) f (xk ) per mezzo della (35) si ottiene m f (xk )T dk < f (xk ) dk M e risulta dimostrato il seguente teorema: Teorema 24 La direzione di Newton dk = ( dangolo con = m/M .
2

f (xk )

(34)

f (xk ))1 f (xk ) soddisfa la condizione

Dunque, dal Teorema 21, se a ogni iterazione lHessiana ` denita positiva, il metodo di e discesa che utilizza la direzione di Newton converge globalmente a un punto stazionario. Peraltro, ` possibile dimostrare che da un certo k in poi il passo k = 1 soddisfa le e condizioni del metodo di Armijo, e dunque si pu` di fatto usare il metodo di Newton o puro, e la convergenza quadratica ` ancora assicurata. e Il Teorema 24 mostra che, poich la direzione di Newton soddisfa la condizione dangolo, e `, tra laltro, una direzione di discesa. Questo risultato ` stato stabilito per` sfruttando e e o il fatto che lHessiana (e dunque la sua inversa) sia denita positiva. Se invece lHessiana non ` sempre denita positiva, il Teorema 24 non vale pi`, e il metodo di discesa pu` e u o risultare inapplicabile per due motivi: o perch in alcuni punti lHessiana pu` risultare e o singolare, oppure perch la direzione di Newton non ` una direzione di discesa. Inoltre, e e pu` anche accadere che, pur risultando una direzione di discesa, la direzione di Newton e il o gradiente sono talmente prossimi a essere ortogonali che non conviene seguire la direzione di Newton. A questi inconvenienti ` comunque possibile ovviare in modo molto semplice, utilize zando la direzione dellantigradiente quando non sia possibile o conveniente seguire la direzione di Newton. Il metodo di Newton modicato in modo da tenere in conto tutte queste possibilit` ` ragurato in Figura 6, in cui ae > 0 ` una quantit` sucientemente e a piccola. In sostanza, come si pu` vedere il metodo sceglie come direzione di discesa quella o di Newton, la sua opposta o lantigradiente, e successivamente eettua una line search con metodi standard, in modo da garantire la convergenza globale. Si noti che lalgoritmo in Figura 6 soddisfa la condizione dangolo, e dunque le propriet` a di convergenza globale dellalgoritmo sono conservate. Inne, la Tabella 1 confronta il metodo del gradiente e quello di Newton riassumendone le principali caratteristiche. 32

Metodo di Newton Modificato


{

Si fissa un punto iniziale x0 Rn ; k := 0; while f (xk ) = 0


{

calcola 2 f (xk ) se 2 f (xk ) e singolare, poni dk := f (xk ) altrimenti


{ s := (
2

f (xk ))1 f (xk )

se | f (xk )T s| < f (xk ) s , poni dk := f (xk ) altrimenti poni dk := s oppure dk := s a seconda di quale delle due e una direzione di discesa
}

si calcola il passo k lungo dk (ad es.con Armijo)


xk+1 := xk + k dk ; k := k + 1; } }

Figura 6: Il metodo di Newton modicato nella versione globalmente convergente.

metodo del gradiente Informazioni richieste a ogni iterazione Calcoli richiesti a ogni iterazione calcolo di f (xk ) f (xk ) e f (xk )

metodo di Newton f (xk ), e


2 2

f (xk ) f (xk ) f (xk ),

calcolo di

f (xk ) e soluzione del sistema lineare f (xk )d = f (xk ) locale nella versione pura,

Convergenza

globale se

f (x)

` continuo e Lf (x0 ) e ` limitato e chiuso e Comportamento con funzioni quadratiche Rapidit` di convergenza a lineare

globale con modiche

convergenza asintotica convergenza in un solo passo quadratica

Tabella 1: Confronto tra metodo del gradiente e metodo di Newton. 33

Vous aimerez peut-être aussi