Sei sulla pagina 1di 108

Universit` degli Studi di Roma La Sapienza a

Dipartimento di Informatica e Sistemistica A. Ruberti

Pro. Gianni Di Pillo and Laura Palagi

Note per il corso di OTTIMIZZAZIONE (a.a. 2007-08)

Dipartimento di Informatica e Sistemistica A. Ruberti, via Buonarroti 12 - 00185 Roma. E-mail: dipillo@dis.uniroma1.it E-mail: palagi@dis.uniroma1.it URL: http://www.dis.uniroma1.it/or/gestionale/ottimizzazione

Contents
1 Introduzione 1.1 Forme standard e prime denizioni . . . . . . . . . . . . . . . . . . . . . . . 2 Modelli di Programmazione matematica 1 1 5

3 Condizioni di esistenza della soluzione 9 3.1 Esercizi sulle condizioni di esistenza . . . . . . . . . . . . . . . . . . . . . . 10 4 Forme e funzioni quadratiche 5 Soluzione graca di problemi di ottimizzazione 6 Problemi di ottimizzazione convessi 7 Le condizioni di ottimalit`. a 7.1 Generalit` . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 7.2 Direzioni di discesa . . . . . . . . . . . . . . . . . . . . . . . 7.3 Il caso non vincolato . . . . . . . . . . . . . . . . . . . . . . 7.4 Esempi sulle condizioni di ottimo non vincolato . . . . . . . 7.5 Il caso vincolato: preliminari . . . . . . . . . . . . . . . . . 7.6 Il caso vincolato: vincoli di uguaglianza lineari . . . . . . . 7.7 Il caso vincolato: vincoli di uguaglianza non lineari . . . . . 7.8 Analisi di sensibilit` per vincoli di uguaglianza . . . . . . . a 7.9 Il caso vincolato: vincoli di disuguaglianza . . . . . . . . . . 7.10 Il caso vincolato: vincoli di disuguaglianza e di uguaglianza 7.11 Il caso convesso . . . . . . . . . . . . . . . . . . . . . . . . . 8 La dualit` nella Programmazione Lineare a 9 Generalit` sugli algoritmi di ottimizzazione a 10 Algoritmi per lottimizzazione non vincolata 10.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Metodi di ricerca unidimensionale . . . . . . . . . . . . . . . 10.2.1 Metodi di ricerca esatta . . . . . . . . . . . . . . . . 10.2.2 Ricerca di linea esatta nel caso quadratico . . . . . . 10.2.3 Metodi di ricerca inesatta: metodo di Armijo . . . . 10.3 Il metodo del gradiente . . . . . . . . . . . . . . . . . . . . . 10.4 Il metodo del gradiente per funzioni quadratiche . . . . . . 10.5 Il metodo del gradiente con ricerca di linea . . . . . . . . . 10.6 Il metodo del gradiente coniugato . . . . . . . . . . . . . . . 10.7 Il metodo delle direzioni coniugate per funzioni quadratiche 10.8 Metodo del gradiente coniugato per funzioni quadratiche . . 10.9 Il metodo del gradiente coniugato nel caso non quadratico . 10.10Il metodo di Newton . . . . . . . . . . . . . . . . . . . . . . 10.11Il metodo di Newton con ricerca di linea . . . . . . . . . . . A Richiami sulle norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 15 17 21 21 21 24 26 36 37 43 48 52 55 57 59 64 68 68 71 72 72 73 74 75 81 83 83 87 90 91 93 97

B Richiami sulla dierenziazione in Rn B.1 Derivate del primo ordine di una funzione reale . B.2 Differenziazione di un vettore di funzioni . . . . . B.3 Derivate del secondo ordine di una funzione reale B.4 Teorema della media e formula di Taylor . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

99 99 101 102 103

1
1.1

Introduzione
Forme standard e prime denizioni

Come messo in luce nel corso di Ricerca Operativa, molti problemi dellIngegneria Gestionale assumono la forma di un problema di Ottimizzazione. Un problema di Ottimizzazione consiste nel determinare il valore di un vettore di variabili di decisione x IRn che minimizza una funzione obiettivo f : IRn IR, quando x e vincolato ad appartenere ad un insieme ammissibile F IRn ; cio` consiste nel problema: e min f (x).
xF

(1)

Osserviamo subito che un problema di massimo si pu` sempre ricondurre a un probleo ma di minimo, cambiando di segno la funzione obiettivo. Infatti, i punti di massimo (ove esistano) del problema max f (x)
xF

coincidono con i punti di minimo del problema min f (x)


xF

e risulta: maxxF f (x) = minxF (f (x)). In base a tale osservazione ci si pu` riferire esclusivamente, senza perdita di generalit`, a o a problemi di minimizzazione. Riportiamo la prima denizione utile. Denizione 1 (Punto di minimo globale) Un punto x F si dice punto di minimo globale (o assoluto) di f su F se risulta: f (x ) f (x), per ogni x F,

e, in tal caso, si dice che f (x ) ` il minimo (o il valore minimo) globale di f su F, ossia e f (x ) = min f (x).
xF

Si dice che x F ` un punto di minimo globale stretto di f su F se risulta: e f (x ) < f (x), per ogni x F, x = x .

` E opportuno mettere in evidenza che, assegnati F e f : F R potrebbero anche non esistere soluzioni ottime. Una prima possibilit` ` che linsieme ammissibile F sia vuoto; ae in tal caso non esistono punti ammissibili e di conseguenza non esistono soluzioni ottime. Se F ` non vuoto, possono vericarsi, nel caso generale, le situazioni seguenti: e - la funzione obiettivo ` illimitata inferiormente su F ossia: e
xF

inf f (x) =

e, in tal caso, non esiste un valore minimo di f su F; 1

- la funzione obiettivo ` limitata inferiormente su F ossia: e


xF

inf f (x) > ,

ma tuttavia non esistono punti di minimo globale di f su F; - esistono punti di minimo globale di f su F; in tal caso la funzione obiettivo ` e necessariamente limitata inferiormente su F e si ha
xF

inf f (x) = min f (x).


xF

Solo nellultimo caso, ovviamente, ci si pu` porre il problema della ricerca di una soluzione o ottima. Risolvere un problema di ottimizzazione pu` quindi signicare, in pratica: o - stabilire se linsieme ammissibile ` non vuoto, oppure concludere che non esistono e soluzioni ammissibili; - stabilire se esistono soluzioni ottime, oppure dimostrare che il problema non ammette soluzioni ottime; - determinare (eventualmente in modo approssimato) una soluzione ottima. Due casi sono di particolare interesse: - linsieme ammissibile F coincide con IRn , cosicch` e il Problema (1) diviene:
xIRn

min f (x);

(2)

in questo caso si dice che il Problema (1) e non vincolato. Piu in generale, il Problema (1) ` non vincolato se F e un insieme aperto in IRn . Le condizioni di ottimalit` per il e a Problema (2) considerate nel seguito, non cambiano se F ` un aperto; quindi in queste e note, per semplicit` assumiamo che F = IRn . a - linsieme ammissibile ` descritto da vincoli di disuguaglianza e/o vincoli di uguaglianza e sulle variabili di decisione: F = {x IRn : gi (x) 0, i = 1, . . . , p; hj (x) = 0, j = 1, . . . , m}; in questo caso il Problema (1) diviene:
xIRn

min

f (x) g(x) 0 h(x) = 0, (3)

con g : IRn IRp e h : IRn IRm . In questo caso diciamo che il Problema (1) ` vincolato. e I problemi di Ottimizzazione vengono anche chiamati problemi di Programmazione Matematica quando si vuole mettere lenfasi sui metodi risolutivi dei problemi stessi. Nel corso di Ricerca Operativa ` stato esemplicato il caso della Programmazione e Lineare, che corrisponde al caso in cui tutte le funzioni f , gi , i = 1, . . . , p, hj , j = 1, . . . , m del Problema (3) sono combinazioni lineari delle variabili di decisione, sono cio` funzioni e della forma: v(x) = c1 x1 + c2 x2 + . . . cn xn , 2

ove ci , i = 1, . . . , n sono coecienti. Notiamo che un problema di Programmazione Lineare ` necessariamente vincolato, poich e e altrimenti si tratterebbe sempre di un problema illimitato. Si dice che il Problema (1) ` un problema di Programmazione Nonlineare (PNL) se e almeno una, tra le funzioni f , gi , i = 1, . . . , p, hj , j = 1, . . . , m, del Problema (2) o del Problema (3) risulta essere non lineare, rispetto ad almeno una delle componenti del vettore delle variabili di decisione x. Per il problema vincolato (3) si assume usualmente che il numero m di vincoli di uguaglianza non sia maggiore del numero n di variabili di decisione, cio` si assume m n. e Altrimenti, dovendo le n variabili soddisfare m equazioni, linsieme ammissibile potrebbe risultare vuoto, a meno che alcuni vincoli non siano tra di loro dipendenti, e quindi ridondanti. Una limitazione analoga non vale invece per i vincoli di disuguaglianza. A volte, tra i vincoli di disuguaglianza, si mettono in esplicita evidenza i vincoli semplici sulle variabili, vincoli che esprimono limitazioni sul valore minimo mi e massimo Mi che una variabile xi pu` assumere. In questo caso, il Problema (3) diviene: o
xIRn

min

f (x) (4)

g(x) 0 h(x) = 0 m x M.

Se nel Problema (4) la variabile xi non ` limitata inferiormente (superiormente), si assume e per convenzione che mi = (Mi = +). In generale, in problemi di PNL la ricerca di soluzioni globali pu` risultare dicile, e pu` o o avere interesse anche la ricerca di soluzioni di tipo locale. Per poter denire il concetto di punto di minimo locale occorre introdurre il concetto di intorno sferico aperto S di un punto. In particolare dato x , un intorno sferico aperto S di centro x e raggio > 0 ` denito come e S(x , ) = {x IRn : x x < }. Possiamo allora introdurre la seguente denizione Denizione 2 (Punto di minimo locale) Un punto x F si dice punto di minimo locale (o relativo) di f su F se esiste un intorno S(x , ) di x tale che: f (x ) f (x), per ogni x F S(x , ),

e, in tal caso, si dice che f (x ) ` un minimo locale di f su F. e Si dice che x F ` un punto di minimo locale stretto di f su F se esiste un intorno e S(x , ) di x tale che: f (x ) < f (x), per ogni x F S(x , ), x = x .

` E immediato rendersi conto del fatto che un punto di minimo globale ` anche un punto e di minimo locale. Notiamo anche che nella denizione precedente lintorno S(x , ) preso in considerazione non ` necessariamente tutto contenuto in F. Nel caso particolare in cui e F abbia un interno non vuoto ed esista S(x , ) F, tale che f (x ) f (x) per ogni x S(x , ), diremo che x ` un punto di minimo locale non vincolato di f su F. e

In queste note assumiamo che le funzioni del problema f, g, h siano almeno continuamente dierenziabili in IRn ; quando richiesto, assumiamo che siano almeno due volte continuamente dierenziabili. Nel seguito diremo che un problema di ottimizzazione ` scritto in forma standard se ` e e scritto nella forma (2) nel caso non vincolato, nella forma (3) nel caso vincolato. Domande 1) Come si mette in forma standard un problema non vincolato in cui la funzione obiettivo ` da massimizzare? e 2) Ogni problema con vincoli di disuguaglianza e uguaglianza pu` essere trasformato in o un problema con soli vincoli di disuguaglianza. Come? 3) Ogni problema con vincoli di disuguaglianza e uguaglianza pu` essere trasformato in o un problema con soli vincoli di uguaglianza. Come?

Modelli di Programmazione matematica

Esempio 1 (Discriminazione del prezzo) Consideriamo un monopolista che operi su due mercati distinti (ad es. nazionale ed estero) ciascuno con una diversa funzione di domanda. Indichiamo con xi loerta sul mercato i = 1, 2 e con Pi = fi (xi ) la funzione di domanda inversa sul mercato i. Il ricavo derivante dalla vendita di xi unit` di prodotto sul mercato i ` xi fi (xi ). Supponiamo inoltre che il a e costo unitario di produzione dipenda solo dal prodotto nale e non dal mercato e sia pari a c. Il problema consiste nel massimizzare il protto del monopolista. La funzione ricavo ` e x1 f1 (x1 ) + x2 f (x2 ), mentre il costo ` c(x1 + x2 ). Il protto totale sar` quindi e a f (x) = x1 f1 (x1 ) + x2 f (x2 ) c(x1 + x2 ). Naturalmente possono essere presenti vincoli deniti dal processo di produzione del bene e dal mercato su cui il bene viene immesso. Questi vincoli sono specici del processo di produzione e del mercato e non entriamo qui nel dettaglio. Li indicheremo semplicemente con x S. Posto n = 2 e x = (x1 , . . . , xn ) si ha linsieme ammissibile: F = {x S : x 0} . Pi` in generale nel caso di n mercati distinti, il problema di ottimizzazione corrispondente u ` e n n max
i=1

xi fi (xi ) c x F.
i=1

xi

Molto spesso le funzioni fi (xi ) hanno un andamento lineare del tipo fi (xi ) = ai mi xi con mi > 0.

La funzione ricavo risulta essere quindi una funzione quadratica del tipo 1 xi (ai mi xi ) = x Qx + a x 2 i=1 con Q matrice diagonale denita positiva con elementi diagonali 2mi > 0 e a = (a1 . . . , an ) . Il problema di discriminazione del prezzo diventa un problema di programmazione quadratica del tipo max 1 x Qx + (a + c) x 2 x F. Esempio 1 (Problemi di approssimazione ai Minimi quadrati) Supponiamo che siano noti n punti del piano (xi , yi ) con i = 1, . . . , n che possono corrispondere ai valori una funzione continua : R R ottenuti per via sperimentali o con misurazioni. 5
n

Si vuole approssimare la funzione y = (x) per mezzo di un polinomio di primo grado (ovvero una retta) del tipo y = mx + q. Si deniscono gli errori ei (xi ) = yi (mxi + q), i = 1, . . . , n,

e si pu` considerare il problema di ottimizzazione non vincolata, (noto anche come proo blema di curve tting) min e(x)
2 n

=
i=1

ei (xi )2 =

n i=1

(mxi + q yi )2

Si osservi che la funzione obiettivo ` quadratica. e Pi` in generale, si pu` considerare il problema u o min e Rn e(x)
,

in cui ` una norma su Rn e > 0. I casi pi` comuni sono quelli in cui si richiede di e u minimizzare una norma p con p 1, o, equivalentemente, la pma potenza di una norma p:
m

f (x) =
i=1

|ei (x)|p ,

oppure la norma

f (x) = max |ei (x)|.


1im

Problemi dierenti si ottengono ovviamente in corrispondenza ad altre scelte delle funzioni approssimanti che, nel caso pi` generale, possono dipendere in modo non lineare dai u parametri incogniti. Esercizio 1 Unindustria chimica intende utilizzare della lamiera metallica residua, costruendo un serbatoio scoperto da adibire allimmagazzinamento di un prodotto liquido. La lamiera pu` essere tagliata e saldata a piacere, ` disponibile per complessivi 150m2 e la o e si vuole utilizzare tutta. Il serbatoio deve essere contenuto in un capannone a pianta quadrata, con lato di 10m, e con tetto spiovente dallaltezza di 4.5 allaltezza di 3m. Per semplicit` di progetto, si assume che il serbatoio abbia la forma di un prisma retto, con a base quadrata. Determiniamo le dimensioni del serbatoio, in modo da massimizzare il volume del liquido che vi pu` essere contenuto. o Soluzione. Le variabili di decisione sono x1 la misura del lato di base del serbatoio e x2 la misura dellaltezza. Il volume del serbatoio ` e V = Ab h = x2 x2 . 1 Per quanto riguarda i vincoli abbiamo: vincoli di disponibilit`: deve essere usata esattamente una quantit` di lamiera pari a 150 a a mq. Quindi, poich` il serbatoio ` scoperto la quantit` di lamiera necessaria ` pari allarea e e a e di base Ab e alle 4 superci laterali. Quindi Ab + 4Al = 150150 che corrisponde a x2 + 4x1 x2 = 150. 1 6

Vincoli di spazio: il serbatoio deve essere collocato nel capannone, quindi x1 10; per quanto riguarda x2 , poich laltezza del capannone ` variabile da 4.5 a 3 metri e il lato e e ` 10 m. abbiamo e x2 0.15x1 + 4.5. Vincoli di non negativit`: si tratta di lunghezze e quindi a x1 0, x2 0. Complessivamente possiamo scrivere: max x2 x2 1 x2 + 4x1 x2 = 150 1 x1 10 x2 + 0.15x1 4.5 x1 0, x2 0 Osserviamo che linsieme ammissibile ` compatto. Infatti 0 x1 10 e 0 x2 e 4.5 0.15x1 4.5. La funzione ` continua ovunque, quindi esiste un punto di minimo e globale. Esercizio 2 Unindustria dolciaria si rifornisce di zucchero acquistandolo in tre diversi paesi produttori, che indicheremo con A, B, C. I prezzi di acquisto dello zucchero nei tre paesi sono diversi, e, in ciascuno dei tre paesi, il prezzo subisce delle variazioni aleatorie, dovute alle variazioni dei cambi, alla maggiore o minore produzione stagionale, alle variazioni salariali ecc.. Per tener conto di queste variazioni aleatorie i prezzi per tonnellata sono caratterizzati mediante i valori medi pA , pB , pC , e le varianze 2 A , 2 B , 2 C . Ovviamente se i prezzi non subissero variazioni aleatorie, converrebbe acquistare tutta la materia prima del paese che ore il prezzo minore. In presenza delle incertezze sui prezzi, lindustria deve fare riferimento, nella propria programmazione degli acquisti, ad un prezzo medio stimato pM , e acquista lo zucchero nei tre paesi secondo proporzioni tali da realizzare questo prezzo medio stimato. Indicando con x1 , x2 , x3 le variabili che rappresentano, per ogni tonnellata di zucchero, le frazioni acquistate rispettivamente nei paesi A, B, C deve risultare: x1 pA + x2 pB + x3 pC = pM x1 + x2 + x3 = 1; il primo vincolo infatti esprime il fatto che il prezzo medio stimato dello zucchero sia pari pM per ogni tonnellata, e il secondo vincolo esprime il fatto che le variabili di decisioni sono frazioni di una quantit` unitaria (la tonnellata). a Come obiettivo della programmazione degli acquisti, lindustria assume quello di minimizzare il rischio che il prezzo medio eettivo per tonnellata risultante dagli acquisti eettuati secondo le frazioni x1 , x2 , x3 , dierisca da quello stimato pM ; ci` per rendere il pi` poso u sibile certe, in termini di costi di produzione, le conseguenze della programmazione degli acquisti. Una ovvia misura di questo rischio ` data dalla varianza del prezzo medio 2 M , e quantit` data in questo caso dalla espressione a 2 M = x2 1 2 A + x2 2 2 B + x2 3 2 C . 7

Assumiamo che, nellunit` monetaria adottata risulti: a pA = 4, pB = 5.5 2 2 A = 1, B = 0.8, pC = 6 2 C = 0.5

e che lindustria abbia programmato sulla base di un prezzo medio PM = 5. Soluzione. Si tratta di un problema di programmazione quadratica min x2 + 0.8x2 + 0.5x2 3 2 1 x1 + x2 + x3 = 1 4x1 + 5.5x2 + 6x3 = 5 Esercizio 3 Una compagnia petrolifera si rifornisce di greggio in tre citt` portuali, che a indicheremo con A, B, C. Il porto B ` ubicato 300Km a est e 400Km a nord del porto A, e e il porto C ` ubicato 400Km ad est e 100Km a sud del porto B. La compagnia intende e costruire una nuova raneria per il greggio, e intende localizzare la nuova raneria in modo da minimizzare la quantit` totale di tubi occorrenti per collegare la raneria ai porti. a Determiniamo la formulazione di questo problema di localizzazione. Supponiamo inoltre che non sia possibile situare la raneria n a sud del porto A , n e e entro un raggio di 360 Km. dallo stesso. Soluzione. Scegliamo un sistema di riferimento con il porto A nellorigine. Il porto B ha quindi coordinate (300,400), mentre il porto C (700,300). La raneria si trova nella posizione incognita (x1 , x2 ) e lobiettivo ` minimizzare la distanza, cio` e e min (x2 + x2 )1/2 + ((x1 300)2 + (x2 400)2 )1/2 + ((x1 700)2 + (x2 300)2 )1/2 1 2 Inoltre abbiamo i vincoli sulle coordinate della raneria: x2 0 x2 + x2 3602 1 2

Condizioni di esistenza della soluzione

Stabilire lesistenza di soluzioni di un problema di ottimo, a partire dalla caratterizzazione analitica della funzione obiettivo e dellinsieme ammissibile pu` essere, in generale, dicile. o Una semplice condizione suciente (ma non necessaria) per lesistenza di un punto di minimo globale in un problema di ottimo in cui lo spazio delle variabili sia IRn ` quella e riportata nel teorema di Teorema di Weierstrass. Teorema 1 (Teorema di Weierstrass) Sia f : IRn IR una funzione continua e sia F IRn un insieme compatto. Allora esiste un punto di minimo globale di f in F. Il risultato stabilito nel Teorema 1 si applica in modo diretto solamente a problemi vincolati in cui linsieme ammissibile F IRn ` compatto ovvero ` chiuso e limitato. e e Osserviamo che il teorema d` una condizione suciente di esistenza, ma non necessaria: a ad esempio, il semplice problema
xIR

min x2 x 0,

ha la soluzione globale x = 0, anche se linsieme ammissibile, costituito da tutto il semiasse x 0 ` chiuso, ma non limitato; analogamente, il problema: e
xIR

min x2

1 < x < 1, ha la soluzione globale x = 0 anche se linsieme ammissibile ` costituto dallintervallo e (1, 1), limitato ma non chiuso. Notiamo che se la funzione gi (x) ` continua, linsieme dei punti che soddisfano il vine colo gi (x) 0 ` un insieme chiuso (e quindi, se hj (x) ` continua, anche linsieme dei e e punti che soddisfano il vincolo hj (x) = 0 ` chiuso). Pertanto nei casi che prenderemo in e considerazione la chiusura di S ` sempre assicurata. Pertanto, lapplicazione del Teorema e di Weierstrass al Problema (3) si riconduce alla verica che linsieme ammissibile F sia limitato. Ci` ` sicuramente vero se tutte le variabili xi sono limitate da valori niti sia inoe feriormente che superiormente, come in pratica accade spesso nei problemi dellIngegneria Gestionale. Nel caso non vincolato tuttavia, in cui F = IRn non ` possibile applicare direttamente e il teorema di Weierstrass. Allo scopo di denire condizioni sucienti di esistenza per il problema (2), si denisce linsieme di livello Lx0 della funzione obiettivo f (x) relativo ad un punto x0 come linsieme dei punti in cui la funzione ha valore minore o eguale a quello di f (x0 ): Lx0 = {x IRn : f (x) f (x0 )}. Possiamo concludere che il Problema (2) ha sicuramente una soluzione globale se per qualche x0 linsieme di livello Lx0 risulta compatto: infatti, in questo caso, f (x) ha un minimo globale x in Lx0 , ed al di fuori di Lx0 risulta sicuramente f (x) > f (x0 ) f (x ). Una funzione f (x) si dice radialmente illimitata, o, anche, coerciva, se gode della propriet` di tendere a + quando ci si allontana dallorigine in IRn : cio` se risulta: a e
x

lim f (x) = +. 9

Si pu` dimostrare che, se f (x) ` radialmente illimitata i suoi insiemi di livello sono compatti o e per ogni valore di x0 , e quindi una funzione radialmente illimitata ha un punto di minimo globale in IRn . La coercivit` di f ` quindi una condizione solo suciente di esistenza di un punto di a e minimo globale di f come illustrato in Figura 1 in cui ` rappresentata una funzione non e coerciva che ammette un minimo globale.
f (x)

Figure 1: Esempio di funzione non coerciva con un minimo globale. Pi` in generale, nellapplicazione del Teorema 1, possiamo limitarci a prendere in considu erazione i punti di F nellinsieme Lx0 , ossia i punti di F in cui la funzione obiettivo abbia valore non superiore a quello assunto nel punto x0 . Vale quindi il risultato seguente. Teorema 2 (Condizione suciente di esistenza) Sia f : IRn IR una funzione continua e sia F IRn un insieme chiuso e non vuoto. Supponiamo che esista x0 F tale che linsieme di livello Lx0 = {x F : f (x) f (x0 )} sia limitato. Allora esiste un punto di minimo globale di f su F. Dim. Poich F ` chiuso e f ` continua, linsieme Lx0 ` chiuso e quindi, per lipotesi fatta, e e e e ` anche compatto. Per il Teorema 1 esiste allora un punto di minimo x di f su Lx0 a cui e corrisponde il valore minimo f (x ) f (x0 ). Daltra parte, se x F non appartiene a Lx0 ci` implica, per denizione di insieme di livello che sia f (x) > f (x0 ) f (x ) e ci` implica o o che x ` un punto di minimo globale su tutto F. e Domande 1) Si supponga che nel Problema (3) linsieme ammissibile sia chiuso ma non limitato, e la funzione obiettivo sia radialmente illimitata. Cosa si pu` dire sullesistenza della o soluzione?

3.1

Esercizi sulle condizioni di esistenza

Studiamo lesistenza del minimo di alcune funzioni. 10

Esempio 2 La semplice funzione quadratica: f (x) = x2 + x2 + . . . + x2 = x 1 2 n


2

` evidentemente radialmente illimitata, e il suo minimo globale ` nel punto x = 0, i = e e i 1 . . . , n. Esempio 3 Sia data la funzione f (x1 , x2 ) = x1 4 + x2 4 3x1 x2 . Studiare lesistenza di punti di minimo. Soluzione. La funzione coerciva. Infatti possiamo scrivere e f (x1 , x2 ) = (x1 4 + x2 4 ) 1 3x1 x2 x1 4 + x2 4

risulta, comunque presa una successione xk , tale che xk lim 3x1 x2 =0 x4 + x4 1 2

Si ha quindi, quindi lim x f (x1 , x2 ) = e la funzione ` coerciva. e Poich` la funzione ` anche continua ammette almeno un minimo globale. e e Esempio 4 Sia data la funzione f (x1 , x2 ) = x3 12x1 x2 + 8x3 . 1 2 Dire se esiste un minimo globale. Soluzione. La funzione non coerciva. Infatti lungo la direzione denita da x2 = e x2 =cost. risulta lim f (x1 , x2 ) = . x x1 = In particolare, poich esiste una direzione lungo cui la funzione ` illimitata inferiormente, e e possiamo concludere anche che non esiste un punto di minimo globale.

11

Forme e funzioni quadratiche

Data una matrice A quadrata e simmetrica di dimensione (n n), con elementi aij = aji , i, j = 1, . . . , n, si denisce forma quadratica associata alla matrice A la funzione: xT Ax =
n n

aij xi xj .
i=1 j=1

(5)

Come sar` chiaro nel seguito, le forme quadratiche hanno un ruolo importante nellOttimizzazione. a Una funzione quadratica ` una funzione del tipo e 1 q(x) = xT Ax + cT x 2 Una forma quadratica ` quindi una particolare funzione quadratica in cui il termine lineare e ` identicamente nullo (c = 0). e In questo paragrafo consideriamo le propriet` di forme e funzioni quadratiche di cui si a fa uso corrente. La forma quadratica xT Ax e, corrispondentemente, la matrice A associata alla forma quadratica si dicono: - denita positiva (A 0), se risulta xT Ax > 0 x IRn , x = 0; 0), se risulta xT Ax 0 x IRn ;

- semidenita positiva (A

- indenita se per qualche x IRn risulta xT Ax > 0, e per altri x IRn risulta xT Ax < 0. La forma quadratica xT Ax si dice (semi)denita negativa se xT Ax ` (semi)denita e positiva. Corrispondentemente, la matrice A associata alla forma quadratica si dice (semi)denita negativa se la matrice A ` (semi)denita positiva. Nel seguito ci riferiremo in modo ine dierente a forme quadratiche o alla matrice A associata alla forma quadratica. Per vericare se una matrice A ` denita positiva, si pu` utilizzare un semplice test. e o Criterio 1 Siano Ak , k = 1 . . . , n gli n minori principali della matrice A, detti sottomatrici principali di nord-ovest, cio` le n sottomatrici con elementi aij , i, j = 1, . . . , k,ottenute e da A eliminando le ultime n k righe e colonne. Denotato con detAk il determinante di Ak , risulta che: - A ` denita positiva se, e solo se, detAk > 0 , per k = 1, . . . , n. e Si osserva che se A ` semidenita positiva allora risulta detAk 0, ma non ` vero in e e generale il viceversa. Basta prendere come esempio la matrice A= 0 0 0 2a22 (6)

con a22 < 0 e la forma quadratica associata a11 x2 + 2a12 x1 x2 + a22 x2 1 2 in cui a11 = a12 = 0. I minori principali A1 e A2 hanno determinante nullo, e quindi soddisfano il criterio detAk 0, ma q(x) ` semidenita negativa !!! e Per vericare se una matrice A ` semidenita positiva si deve applicare un criterio e molto pi` oneroso riportato di seguito. u 12

Criterio 2 Siano AIk le sottomatrici di A di dimensione k [1, n] con elementi aij con i, j Ik , dette minori principali di ordine k di A. A ` semidenita positiva se, e solo se, e tutti i minori principali per k = 1, . . . , n sono non negativi, ovvero, denotato con detAIk il determinante di AIk , - A ` semidenita positiva se, e solo se, detAIk 0 per ogni sottoinsieme di righe/colonne e Ik {1, . . . , n} di cardinalit` k con 1 k n. a Ad esempio in una matrice di dimensione n = 3, le matrici AIk per k = 1, 2, 3 sono quelle corrispondenti ai seguenti insiemi di indici: {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3} {1, 2, 3}. Tra questi minori, ci sono ovviamente i minori di Nord-ovest che corrispondono agli insiemi {1}, {1, 2}, {1, 2, 3}. Applicando il criterio alla matrice (6), si verica facilmente che non ` soddisfatto. e Per analizzare se una matrice A ` denita/semidenita negativa si possono applicare i e criteri precedenti alla matrice A associata alla forma quadratica. Un altro test per vericare il segno di una forma quadratica consiste nel determinare gli autovalori della matrice A, cioe i valori i , i = 1, . . . , n che risolvono lequazione di grado n: det(A I) = 0, ove I ` la matrice identica di ordine n. Se la matrice A ` simmetrica, si ha che gli autovalori e e sono tutti reali. Risulta che: - A ` denita positiva se, e solo se, i > 0 , per i = 1, . . . , n; e - A ` semidenita positiva se, e solo se, i 0 per i = 1, . . . , n; e - A ` indenita, altrimenti. e ` E evidente che il test basato sui minori ` di pi` semplice impiego di quello basato sugli e u autovalori: infatti calcolare determinanti, no allordine n, ` piu semplice che risolvere e unequazione di grado n. Nel seguito indicheremo min (A) e max (A) rispettivamente il pi` piccolo e il pi` grande u u autovalore di una matrice A. Si verica facilmente che il gradiente e lHessiano della forma quadratica sono dati rispettivamente da: gradiente = Ax, hessiano = A. Ricordiamo inoltre che per ogni forma quadratica del tipo xT Ax, vale la seguente caratterizzazione min (A) x Abbiamo il seguente risultato. Teorema 3 Sia data una funzione quadratica 1 q(x) = xT Ax + cT x 2 Condizione necessaria e suciente anch q(x) sia coerciva ` che A sia denita positiva. e e
2

xT Ax max (A) x 2 .

(7)

13

Dim. Dimostriamo che se A ` denita positiva allora q(x) ` coerciva. Utilizzando la (7) e e e il fatto che cT x |cT x| c x , possiamo scrivere 1 T 1 1 x Ax+cT x min (A) x 2 |cT x| min (A) x 2 c x = x 2 2 2 1 min (A) x c 2

Per x sucientemente grande, poich min (A) > 0 risulta 1 min (A) x c > 0, e e 2 quindi lim x q(x) = . (non in programma) Dimostriamo ora che se q(x) ` coerciva allora A ` denita posie e tiva. Procediamo per assurdo e supponiamo che q(x) sia coerciva e min (A) 0. Sia u lautovettore corrispondente allautovalore min (A), cio` e Au = min (A)u. Si ha 1 1 q(u) = 2 uT Au + cT u = 2 |min (A)| u 2 2
2

+ cT u.

Se min (A) = 0 la funzione diventa q(u) = cT u, cio` una funzione lineare che non ` e e coerciva. Se invece min (A) < 0, ricordando che cT x |cT x| c x , possiamo scrivere 1 q(u) 2 |min (A)| u 2
2

+ c u = u

1 |min (A)| u + c 2

Al limite per , la quantit` tra parentesi ` negativa e risulta q(u) , a e contraddicendo lipotesi di coercivit`. a Domande 1) Si supponga che la matrice A sia data dal prodotto di una matrice B (n m) per la trasposta di B : A = BB T . Cosa si puo dire sulla forma quadratica associata ad A?

14

Soluzione graca di problemi di ottimizzazione

In questo paragrafo, consideriamo problemi di ottimizzazione lineare in due variabili e otteniamo la soluzione per via graca. Esempio 2 Sia la funzione obiettivo da minimizzare: f (x) = x1 e sia linsieme ammissibile F denito dai vincoli: (x1 3)2 + (x2 2)2 = 13 (x1 4)2 + x2 2 16 Determinare, se esiste, un punto di minimo. Soluzione.
x2

B C

x1

Figure 2: Soluzione graca in IR2 dellEsempio 2. Linsieme ammissibile F, rappresentato in Figura (2), ed ` dato dallarco di circone ferenza ACB (tratteggiato in verde). Poich esso ` compatto e f ` continua, in base al e e e Teorema di Weierstrass, lesistenza di un minino globale ` assicurata. e Dallo studio del graco, disegnate le curve di livello x1 = k al variare di k, si determina il punto di minimo globale nel punto A = (0, 0)T di valore f = 0. Si osserva che il punto C ` un massimo globale, mentre il punto B risulta essere un minimo locale. e Esempio 3 Sia dato il problema di ottimizzazione vincolata min 2x1 + 3x2 6x1 + x2 x2 12 2 x1 4x2 2 x1 , x2 0 Determinare, se esiste, un punto di minimo globale. 15

Esempio 4 Si consideri la funzione obiettivo: 1 f (x) = (x1 2 + x2 2 ) 2 e sia linsieme ammissibile F denito dai vincoli: x1 + x2 = 1 (x1 1)2 + x2 2 Determinare se esiste un punto di minimo. Soluzione. Linsieme ammissibile F dato dal segmento di retta che ha per estremi i e punti x = 1
1 1 , 2 2 2 2 T 1 4

e x= 1+

1 1 , 2 2 2 2

T.

Lesistenza di una soluzione garantita dal Teorema di Weierstrass poich la funzione e e obiettivo continua e linsieme ammissibile compatto. e e Le curve di livello della funzione obiettivo 1 (x1 2 + x2 2 ) = r2 2 sono circonferenze di centro lorigine e raggio r.

Figure 3: Soluzione graca in IR2 dellEsempio 4.

16

Problemi di ottimizzazione convessi

Tra i problemi di Ottimizzazione sono di particolare interesse i cosiddetti problemi convessi. Ricordiamo che un insieme C IRn ` convesso se, presi comunque due punti y, z C, e risulta che anche [y, z] C, avendo denotato con [y, z] il segmento che congiunge y e z, segmento dato dai punti x ottenuti come: x = (1 )y + z, [0, 1].

Si verica facilmente che lintersezione di un numero nito di insiemi convessi ` un insieme e convesso. Denizione 3 (Funzione (strettamente) convessa) Una funzione v(x) si dice convessa su un insieme convesso C se, presi comunque due punti y, z C risulta che: v((1 )y + z) (1 )v(y) + v(z), [0, 1]. (8)

La funzione v(x) si dice strettamente convessa se, per y, z C, y = z, risulta v((1 )y + z) < (1 )v(y) + v(z), (0, 1).

Una funzione v(x) si dice (strettamente) concava su un insieme convesso C se la funzione v(x) ` (strettamente) convessa su C. e Nella (8) y, z, v(y), v(z) sono dati, e varia tra 0 e 1. Se mettiamo in esplicita evidenza la dipendenza da , introducendo la funzione () = v((1 )y + z) otteniamo per una funzione strettamente convessa che: () < (1 )(0) + (1) (0, 1) Questultima relazione mette in evidenza che, se si rappresenta gracamente nel piano (, ) la funzione (), il graco della funzione nellintervallo (0, 1) si trova al di sotto del segmento, detto secante, che congiunge i punti (0, (0)) e (1, (1)) e coincide solo negli estremi del segmento. Si pu` concludere che una funzione strettamente convessa ` o e caratterizzata dalla propriet` di avere il graco sempre al di sotto di ogni sua secante. a A partire dalla denizione di funzione (strettamente) convessa, ` possibile dedurre due e importanti propriet` che riguardano le derivate, rispettivamente prime e seconde. a Teorema 4 Una funzione v(x) ` convessa su un insieme convesso C se, e solo se, per e ogni y, z C risulta: v(z) v(y) + v(y)T (z y); v(x) ` strettamente convessa su C se, e solo se, per ogni y, z C, y = z, risulta: e v(z) > v(y) + v(y)T (z y).

17

In termini di funzione (), la precedente disuguaglianza si riscrive come: (1) > (0) + d(0)/d Pertanto, utilizzando la rappresentazione graca nel piano (, ), si pu` concludere che o una funzione strettamente convessa ha il graco sempre al di sopra di ogni sua tangente. Teorema 5 Una funzione v(x) ` convessa su un insieme convesso C se, e solo se, per e ogni x C risulta: 1 T 2 y v(x)y 0, per ogni y IRn ; 2 inoltre, se risulta 1 T 2 y v(x)y > 0, per ogni y IRn , 2 v(x) ` strettamente convessa su C. e Si noti che lultima condizione ` solo suciente: ad esempio, la funzione v(x) = x4 ` e e n strettamente convessa in C = IR , ma non soddisfa la condizione, in quanto in x = 0 la derivata seconda si annulla. Nel caso di funzioni quadratiche le condizioni del teorema diventano invece necessarie e sucienti, ovvero si ha
1 e Teorema 6 Una funzione quadratica del tipo q(x) = 2 xT Qx + cT x ` convessa su un insieme convesso C se e solo se risulta Q semidenita positiva. Inoltre, q(x) ` strettamente e convessa su C se e solo se risulta Q denita positiva.

Denizione 4 (Problema (strettamente) convesso) Si dice che il Problema (1) ` e un problema di ottimizzazione convesso se linsieme ammissibile F ` un insieme convesso e e la funzione obiettivo f (x) ` una funzione convessa su F. Se la funzione obiettivo ` e e strettamente convessa su F, il problema si dice strettamente convesso. I problemi di ottimizzazione convessi sono di particolare importanza per due motivi. Il primo ` che la grande maggioranza dei problemi di ottimizzazione che si incontrano nella e pratica sono convessi (vedi la Programmazione Lineare). Il secondo ` che la convessit` e a induce alcune propriet` che semplicano lanalisi e la soluzione di un problema convesso. a La prima di tali propriet` (altre ne vedremo nel seguito) consiste nel fatto che: a Teorema 7 Un problema di ottimizzazione convesso o non ha soluzione, o ha solo soluzioni globali; non pu` avere soluzioni esclusivamente locali. o Dimostrazione. La dimostrazione ` per assurdo. Ammettiamo che x sia una soluzione e locale, ma non globale, di un problema convesso minxC f (x). Allora esister` un altro a punto z C tale che f (z) < f (x ). La costruzione utilizzata nella dimostrazione ` illustrata e schematicamente nella gura 4. Consideriamo il segmento [x , z]: per la convessit` di f , si ha: a f ((1 )x + z) (1 )f (x ) + f (z) = f (x ) + (f (z) f (x )), per ogni [0, 1]. Il termine (f (z) f (x )) risulta < 0, per ogni (0, 1], e si annulla solo per = 0. Quindi, poich` in ogni punto x (x , z] risulta f (x) < f (x ), non esiste nessun intorno di e raggio > 0 in cui x pu` soddisfare la denizione di minimo locale. o Una seconda propriet` notevole ` espressa dalla seguente proposizione: a e 18

x*

S(x*, )

Figure 4: Rappresentazione della costruzione geometrica usata nelle dimostrazione. Teorema 8 In un problema di ottimizzazione strettamente convesso la soluzione globale, se esiste, ` unica. e Dimostrazione. Anche questa dimostrazione ` per assurdo, e si lascia per esercizio. Sia e f (x) strettamente convessa. Si ammetta, per assurdo, che x e x , con x = x , siano due soluzioni globali di un problema convesso, e se ne traggano le conseguenze. Riconoscere che un problema di ottimizzazione ` convesso fornisce quindi importanti e informazioni qualitative sulle sue soluzioni. Per riconoscere che un problema ` convesso e dobbiamo vericare che F ` un insieme convesso, e che f (x) ` convessa su F, il che non e e ` sempre facile. Ci aiuta la seguente proposizione, di facile utilizzo, e che ` vericata e e molto spesso nella pratica. La proposizione fornisce una condizione suciente anch` un e problema sia convesso. Teorema 9 Si assuma che nel Problema (3) la funzione obiettivo f (x) sia una funzione convessa in IRn , che i vincoli di disuguaglianza siano dati da funzioni gi (x) convesse in IRn , e che i vincoli di uguaglianza siano dati da funzioni ani del tipo aT x bj . Allora il j Problema (3) ` convesso. e Dimostrazione. Facciamo dapprima vedere che, nelle ipotesi poste, linsieme ammissibile risulta convesso. Osserviamo che linsieme ammissibile ` esprimibile come: e p {x IRn : gi (x) 0} m {x IRn : aT x bj = 0}. j=1 j i=1 Si tratta dellintersezione di un numero nito di insiemi. Quindi ` suciente dimostrare e che ciascuno di questi insiemi ` convesso. e Consideriamo il generico insieme {x IRn : gi (x) 0}. Presi due punti y e z che soddisfano il vincolo di disuguaglianza i-esimo, si ha: gi ((1 )y + z) (1 )gi (y) + gi (z) 0, 19

ove la prima disuguaglianza segue dalla convessit`, la seconda segue dal fatto che y e z a sono ammissibili. Quindi, poich` in tutti i punti w del segmento [y, z] risulta gi (w) 0, il e segmento [y, z] {x IRn : gi (x) 0}, cio` linsieme dei punti che soddisfano il vincolo e ` convesso. e Per il vincolo di uguaglianza aT x bj = 0, presi due punti y e z che lo soddisfano, si j ha aT ((1 )y + z) bj = (1 )(aT y bj ) + (aT z bj ) = 0. j j j Quindi, poich` in tutti i punti x del segmento [y, z] risulta aT x bj = 0, linsieme dei e j punti che soddisfano il vincolo ` convesso. e Poich` lintersezione di un numero nito di insiemi convessi ` un insieme convesso, e e possiamo concludere che, nelle ipotesi poste, linsieme ammissibile del Problema (3) risulta convesso. Per concludere la dimostrazione, basta osservare che una funzione f (x) convessa in IRn ` convessa anche su ogni sottoinsieme di IRn . e Esempio 5 Dato il problema max x2 x2 x3 0 1 x1 + x2 1 x1 , x2 0

Dire se ` convesso. Utilizzare la condizione suciente espressa dal Teorema 9 e anche la e rappresentazione graca. Domande 1) Sia f (x) convessa in IRn . I suoi insiemi di livello sono insiemi convessi? 2) Siano v1 (x), v2 (x) funzioni convesse su un insieme convesso C, e siano c1 0, c2 0 due coecienti. La funzione v(x) = c1 v1 (x) + c2 v2 (x) ` convessa su C? E se uno dei due e coecienti ` negativo? e 3) Un problema di Programmazione Lineare ` convesso? e 4) Un problema di Programmazione Lineare ` strettamente convesso? e 5) Sia hj (x) una funzione convessa. Si pu` aermare che i punti che soddisfano il vincolo o hj (x) = 0 ` un insieme convesso? e 6) Si fornisca un esempio di problema di ottimizzazione convesso per cui non vale la Proposizione (9).

20

7
7.1

Le condizioni di ottimalit`. a
Generalit` a

Una soluzione locale x di un problema di ottimizzazione deve sodddisfare una condizione necessaria di ottimalit` (CNO). Ad esempio, per il problema non vincolato a
xIR

min f (x),

(9)

la CNO consiste nel fatto che la derivata della funzione f si deve annullare in x : df (x )/dx = 0. Ricordiamo per` sempre che i punti che soddisfano una CNO per un problema non sono o necessariamente soluzioni del problema stesso: ad esempio i punti che annullano la derivata di f nel Problema (9) possono essere punti di massimo, anzich di minimo. Comunque, e la denizione di CNO ` di fondamentale importanza nellOttimizzazione, poich` detto e e linsieme dei punti che soddisfa la CNO, e risultando evidentemente F, ci si pu` o limitare a cercare la soluzione nellinsieme anzich in tutto F, che di solito ` molto pi` e e u grande di . Per un punto ammissibile generico x F, la CNO fornisce un certicato di ottimalit`, nel senso che se x , x non pu` essere soluzione del problema, mentre pu` a / o o esserlo (ma pu` anche non esserlo) se x . o Se poi un punto x soddisfa una condizione suciente di ottimalit` (CSO) per un proba ` una soluzione locale del problema stesso. lema di ottimizzazione, si puo aermare che x e Ad esempio, per il Problema (9), una condizione suciente di ottimalit` ` che in x si anae nulli la derivata prima e sia positiva la derivata seconda: df (x )/dx = 0, d2 f (x )/dx2 > 0. Ricordiamo per` che un punto x che ` soluzione di un problema di ottimizzazione pu` o e o non soddisfare la CSO per il problema stesso: ad esempio, il problema
xIR

min f (x) = x4 ,

ha come soluzione x = 0, anche se la derivata seconda di x4 in x = 0 si annulla, anzich` e essere positiva. Pertanto, se per un problema di ottimizzazione si ` trovato un punto di e che non soddisfa la relativa CSO, non si pu` escludere che il punto trovato sia soluzione o del problema. Domande 1) Quali condizioni di ottimalit` sono soddisfatte per il problema minxIR f (x) = x3 ? a 2) Cosa si pu` intendere per condizione necessaria e suciente di ottimalit` per un probo a lema di ottimizzazione?

7.2

Direzioni di discesa

Consideriamo il generico problema di ottimizzazione (1) min f (x),


xF

ed introduciamo il concetto di direzione di discesa che ci consentir` di fare un primo passo a nella denizione delle condizioni di ottimalit`. a Denizione 5 (Direzione di discesa) Un vettore d IRn ` una direzione di discesa e n per la funzione f (x) : IR IR nel punto x se esiste uno scalare max > 0 tale che risulti:
(1) f (x + d) < f (x) per ogni (0, max ].

(10)

21

In sostanza, se d ` una direzione di discesa nel punto x, spostandosi da questo punto di una e quantit` sucientemente piccola, si ` sicuri di ottenere un decremento della funzione a e f . La quantit` viene chiamata spostamento lungo la direzione d. Naturalmente, se lo a (1) spostamento supera il limite max , pu` accadere che risulti f (x + d) > f (x), e quindi o si abbia un aumento, anzich` una diminuzione della funzione. e Ad esempio, consideriamo la funzione: f (x1 , x2 ) = x1 x2 + 2x2 + 2x1 x2 + x2 , 1 2 (11)

e facciamo vedere che nel punto x = (0, 0) la direzione d = (1, 0) ` di discesa. Infatti si e ha: f (x) = f (0, 0) = 0; inoltre risulta: x + d = e quindi f (x + d) = f (, 0) = + 22 = (2 1). Si verica allora immediatamente che la condizione (10) ` soddisfatta, prendendo ad ese (1) empio, max = 0.4; infatti, per ogni (0, 0.4] si ha f (, 0) = (2 1) < f (0, 0) = 0. Si verica inoltre che per > max = 0.4 la condizione f (x + d) < f (x) non ` necessarie amente soddisfatta: se si prende = 0.6 si ha infatti f (0.6, 0) = 0.12 > f (0, 0) = 0. Nel caso di problemi di minimizzazione con due sole variabili di decisione, la direzione di discesa ha unimmediata interpretazione graca. Se infatti rappresentiamo nel piano (x1 , x2 ) le linee di livello della funzione f , osserviamo che, data una direzione di discesa in un punto x su una linea di livello, spostandoci lungo questa direzione, attraversiamo una zona di linee di livello corrispondenti a valori della funzione decrescenti rispetto a quello assunto in x; ci` signica muoversi in discesa rispetto alle linee di livello della funzione f . o Ad esempio, nella gura 5 sono rappresentate le linee di livello della funzione (11), e si vede che la direzione d ` di discesa nel punto xa . e La gura 5 mette bene in evidenza il carattere locale della denizione di direzione di discesa: una direzione d ` di discesa in un punto x, e la discesa si verica per spostamenti e a partire da x sucientemente piccoli. Dalla gura si vede che la stessa direzione d non ` e b ; inoltre se lo spostamento dal punto xa ` eccessivo, di discesa (` anzi di salita) nel punto x e e si ottiene un aumento, anzich` una diminuzione, della funzione. e Le direzioni di discesa sono caratterizzate dalla seguente condizione: Teorema 10 Condizione suciente anch` la direzione d sia di discesa per la funzione e f (x) nel punto x ` che risulti: e f (x)T d < 0. (12) Dimostrazione. Basta ricordare che il termine f (x)T d risulta essere la derivata direzionale della funzione f nella direzione d; si ha cio`: e lim0+ f (x + d) f (x) = f (x)T d. 0 0 + 1 0 = 0 ,

Se al limite il rapporto a secondo membro ` < 0, per sucientemente piccolo deve e risultare f (x + d) < f (x). 22

x2
2

1.5

xb

0.5

xa

x1

-0.5 -1.5

-1

-0.5

0.5

Figure 5: Curve di livello della funzione (11). Una direzione d ` di salita per la funzione f (x) nel punto x se d ` di discesa. Quindi, e e se risulta f (x)T d > 0, la direzione d ` di salita. Notiamo che se risulta f (x)T d = 0 e non ` possibile dire, basandosi solo sulla conoscenza del gradiente f (x), se d ` di discesa e e o di salita. Determinare una direzione che sia di discesa per una funzione f (x) in un punto x ` e T d = 0, molto semplice. Infatti, presa una direzione d qualsiasi, purch` tale che f (x) e o risulta f (x)T d < 0, e allora d ` di discesa, o risulta f (x)T d > 0, e allora d ` di e e discesa. Ricordando che f (x)T d = f (x) d cos dove ` langolo compreso tra f (x) e d, la condizione (12) esprime il fatto che la direzione e deve formare un angolo ottuso con la direzione del gradiente. Quindi, in un punto x tale che f (x) = 0, la direzione d = f (x), detta dellantigradiente, ` sicuramente di discesa: e infatti risulta: f (x)T d = f (x)T ( f (x)) = f (x) 2 < 0. Si lascia come esercizio vericare che, in un punto x tale che f (x) = 0, ogni direzione del tipo d = A f (x), ove A ` una matrice (n n) simmetrica e denita positiva, ` e e sicuramente una direzione di discesa. Ad esempio, nella gura 6 sono rappresentate le linee di livello della funzione (11), evidenziando il vettore gradiente nei due punti xa e xb . Domande 1. Data la funzione (11), il punto x = (0, 0) e la direzione d = (1, 0), in quale intervallo pu` variare il valore max ? o

23

x2
2

1.5

xb

f
0.5

xa

x1 f

-0.5 -1.5

-1

-0.5

0.5

Figure 6: Curve di livello della funzione (11. 2. Per una funzione f (x) due volte continuamente dierenziabile, viene denito curvatura della funzione nel punto x e nella direzione d il termine dT 2 f (x)d. Sai giusticare il fatto che, in un punto x in cui il gradiente della funzione ` nullo, una e direzione a curvatura negativa ` una direzione di discesa? (Suggerimento: utilizza e 2 lo sviluppo f (x + d) = f (x ) + f (x )T d + dT 2 f (x )d + o(2 )). 2

7.3

Il caso non vincolato

Le condizioni di ottimalit` per il problema di ottimizzazione non vincolata (2) sono note a dal corso di Analisi Matematica, ma vengono qui riformulate, mettendo in evidenza il ruolo ` delle direzioni di discesa. E infatti evidente che, se x ` un punto di minimo locale per e f (x), non pu` esistere una direzione d che sia di discesa per f in x ; altrimenti, a partire o da x ci si potrebbe muovere lungo d facendo diminuire la funzione, e x non potrebbe essere un punto di minimo. Riscriviamo per comodit` il problema non vincolato: a
xIRn

min f (x);

(13)

Abbiamo innanzi tutto la seguente condizione necessaria di ottimalit`: a Teorema 11 Condizione necessaria anch` x sia una soluzione locale del Problema (13) e )T d 0, per ogni d IRn . ` che risulti f (x e Dimostrazione. La dimostrazione segue dal fatto che, se esiste una direzione d tale che )T d < 0, la direzione d ` di discesa per f in x , e quindi x non pu` essere un punto e f (x o di minimo locale per f . 24

La condizione precedente ` di grande importanza concettuale, ma non si presta in e pratica a risolvere il Prolema (13), in quanto fa intervenire tutti i vettori d di IRn . Una condizione di grande utilit` pratica ` invece la seguente. a e Teorema 12 Condizione necessaria anch` x sia una soluzione locale del Problema (13) e ) = 0. ` che risulti f (x e Dimostrazione. La dimostrazione segue dal fatto che, se f (x ) = 0, la direzione d = f (x ) ` di discesa per f in x . e La condizione della proposizione precedente viene detta condizione necessaria del primo ordine. I punti che soddisfano f (x) = 0 vengono detti anche punti stazionari. Se f (x) ` due volte continuamente dierenziabile, vale anche la seguente condizione e del secondo ordine: Teorema 13 Condizione necessaria anch` x sia una soluzione locale del Problema (13) e ` che risulti f (x ) = 0 ed inoltre che la matrice hessiana 2 f (x ) risulti semidenita e positiva. Dimostrazione. Se 2 f (x ) non ` semidenita positiva, esiste almeno una direzione d e T 2 f (x )d < 0. Tenendo conto del fatto che ) = 0, si ha dalla formula di tale che d f (x Taylor: 2 T f (x + d) = f (x ) + d 2 e quindi: lim0+
2

f (x )d + . . . (termini innitesimi rispetto ad 2 ),

f (x + d) f (x ) 1 = d 2 f (x )d < 0. 2 2 Questultima disuguaglianza mostra che, se f (x ) = 0 e 2 f (x ) non ` semidenita e di discesa in x , cosicch` x non pu` essere soluzione del positiva, esiste una direzione d e o Problema (13). Una condizione suciente di ottimalit` ` data dalla proposizione seguente: ae Teorema 14 Condizione suciente anch` x sia una soluzione locale stretta del Probe lema (13) ` che risulti f (x ) = 0 e 2 f (x ) denita positiva. e Dimostrazione. Se 2 f (x ) ` denita positiva, per qualsiasi direzione d = 0 risulta e T 2 f (x )d > 0. Tenendo conto del fatto che d f (x ) = 0, si ha dalla formula di Taylor: f (x + d) = f (x ) + e quindi: lim0+ f (x + d) f (x ) 1 = d 2 2
2

2 T d 2

f (x )d + . . . (termini innitesimi rispetto ad 2 ),

f (x )d > 0, per ogni d = 0.

Questultima disuguaglianza mostra che, se f (x ) = 0 e 2 f (x ) ` denita positiva, e + d) > f (x ) lungo qualsiasi direzione d, purch si assuma > 0 sucienrisulta f (x e temente piccolo. Quindi x ` una soluzione locale stretta. e Nel caso di funzione obiettivo f (x) nel Problema (13) sia (strettamente) convessa in IRn . Si pu` facilmete dimostrare che la condizione f (x ) = 0 ` non solo necessaria, ma o e anche suciente anch` x sia una soluzione globale (stretta) del problema. e 25

Teorema 15 (Condizione suciente di minimo globale non vincolato) Sia f : Rn R continuamente dierenziabile su Rn e sia x Rn . Si supponga che f sia convessa. Se f (x ) = 0, allora x ` un punto di minimo globale di f su Rn . Inoltre, se f ` e e strettamente convessa su Rn , allora x ` lunico punto di minimo globale di f su Rn . e Dimostrazione. Utilizzando la caratterizzazione di funzioni convesse espressa dal teorema 4), si pu` scrivere o f (x) f (x ) + f (x )T (x x ) x IRn

da cui, se x ` tale che f (x ) = 0 si ottiene f (x) f (x ) per ogni x IRn . e I risultati precedenti possono essere specializzati nel caso di funzioni quadratiche. Teorema 16 Sia f (x) = 1 x Qx + c x, con Q simmetrica e c Rn . Allora: 2 (a) f (x) ammette un unico punto di minimo globale x = Q1 c se e solo se Q ` denita e positiva; (b) se Q ` semidenita positiva ogni punto x tale che Qx +c = 0 ` un punto di minimo e e globale di f (x); (c) f (x) ammette un punto di minimo se e solo se Q ` semidenita positiva ed esiste e x tale che Qx + c = 0. Dimostrazione. La dimostrazione segue banalmente osservando che nel caso quadratico risulta f (x) = Qx + c, 2 f (x) = Q. Ricordando che Q 0 se e solo se f (x) ` coerciva e e strettamente convessa, segue la a). Se Q 0 risulta f (x) convessa e quindi la condizione f (x ) = 0 ` necessaria e suciente di minimo globale (ed ` dimostrata la b)). e e La parte necessaria della c) segue dalle condizioni gi` date, mentre per la parte suciente a si osserva che nel caso quadratico risulta 1 f (x + d) = f (x ) + (Qx + c)T d + 2 dT Qd. 2 Quindi se Qx + c = 0 e dT Qd 0 per ogni d Rn si ottiene f (x + d) f (x ) per ogni R e ogni d Rn . Domande 1) Quali sono le condizioni di ottimalit` per il problema maxxIR f (x)? a

7.4

Esempi sulle condizioni di ottimo non vincolato

Esempio 6 Sia data la funzione dellEsempio 3 f (x1 , x2 ) = x1 4 + x2 4 3x1 x2 . Studiare la natura degli eventuali punti stazionari. Soluzione. Abbiamo gi` vericato nellEsempio 3 che la funzione ammette almeno un a minimo globale che si trova tra i punti che annullano il gradiente. Quindi imponiamo f= 4x3 3x2 1 4x3 3x1 2 26 = 0.

Applichiamo le condizioni necessarie del primo ordine; dallannullamento del gradiente si ottiene il sistema 4x3 3x2 = 0 1 4x3 3x1 = 0 2

Si ottengono le tre soluzioni: A(0, 0), B 23 , 23 , C 23 , 23 . Tra queste c` senzaltro e il minimo globale. Le curve di livello della funzione sono nella Figura 7 da cui si individuano i tre punti stazionari.

x2 256 x8 3 = 0 27 2 4 x1 = 3 x3 2

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1

Figure 7: Curve di livello della funzione x4 + x4 3x1 x2 . 1 2 Per determinare la natura di A, B, C utilizziamo le condizioni del secondo ordine. Calcoliamo la matrice hessiana
2

f=

12x2 3 1 3 12x2 2 0 3 3 0

Risulta nei tre punti:


2

f (0, 0) = 27

Quindi in A la matrice hessiana ` indenita con autovalori min = 3, max = 3. Si tratta e quindi di un punto disella valore della funzione f (0, 0) = 0. con Nei punti B, C = 23 , 23 abbiamo
2

f =3

3 1 1 3

In questo caso la matrice hessiana ` denita positiva con autovalori min = 2, max = 4. e Si tratta quindi di due punti di minimo globale di valore della funzione obiettivo f = 9 . 8 Esempio 7 Mostrare che le funzioni f (x1 , x2 ) = x4 + x3 1 2 e g(x1 , x2 ) = x4 + x4 , 1 2 hanno entrambe un punto stazionario in (0, 0), con hessiano semidenito positivo, ma (0, 0) ` un punto di sella per f (x1 , x2 ) e un punto di minimo locale stretto per g(x1 , x2 ). e Soluzione. Abbiamo f= e g= 4x3 1 3x2 2 4x3 1 4x3 2
2

f=

12x2 0 1 0 6x2 12x2 0 1 0 12x2 2

g=

Si verica facilmente che il punto (0, 0) ` stazionario per f e g; inoltre soddisfa le condizioni e necessarie del secondo ordine. In particolare risulta
2

f (0, 0) =

g(0, 0) =

0 0 0 0

0.

Per determinare la reale natura del punto, consideriamo lo sviluppo delle funzioni f, g in un punto nellintorno del punto (0, 0). Ricordiamo che per una generica funzione h risulta (teorema della media): h(x + ) = h(x) + 1 h(x)T + T 2
2

h(w) f (0, 0) = g(0, 0) =

in cui w (x, x + ). Tenendo presente che f (0, 0) = g(0, 0) = 0 e (0, 0)T per f e g si pu` scrivere o 1 f () = T 2 1 g(x) = T 2
2

f (1 ), g(2 ).

con 1 (0, 1), 2 (0, 1). Si verica facilmente che T 2 g(2 ) > 0 qualunque sia = (0, 0)T e quindi g() > g(0, 0) = 0 per ogni in un intorno di (0, 0)T . Mentre per T 2 f (y) abbiamo che punti con componente 2 negativa, rendono lhessiano 2 f indenito e quindi esistono punti appartenenti ad un intorno di (0, 0) per cui f () > 0 e altri per cui f () < 0. Si tratta quindi di un punto di sella. 28

Esempio 8 Sia data la funzione q(x) = x2 2x1 x2 + x2 1 2 Studiare lesistenza e la natura di eventuali punti estremali. Soluzione. Si tratta di una funzione quadratica. La funzione non coerciva. Infatti, e 2 . Quindi se consideriamo come direzione x = x , la possiamo scrivere q(x) = (x1 x2 ) 1 2 funzione identicamente nulla e quindi e
x

lim q(x) = lim (x1 x2 )2 = 0.


x

Osserviamo che, in questo caso, se consideriamo separatamente i limiti


x

lim (x1 x2 )2 = lim (1 x2 )2 = x

In cui x1 e x2 sono rispettivamente dei valori ssati di x1 e x2 , otteniamo che la funzione va ad innito separatamente lungo le due componenti. Questo non implica che la funzione sia coerciva. Osserviamo infatti che si tratta di funzione quadratica con matrice hessiana semidenita positiva con autovalori pari a min = 0 e max = 1. Utilizzando il Teorema 16, sappiamo che che esiste un punto di minimo globale se e solo se esiste una soluzione del sistema q(x) = 0, cio e x1 x2 = 0 x2 x1 = 0 In particolare, in questo caso sono minimi globali tutti i punti sulla retta x1 = x2 , cio` del e tipo (, )T . Esempio 9 Sia data la funzione quadratica q(x1 , x2 , x3 ) = x2 + x2 + x2 x1 x2 + x2 x3 x1 x3 1 2 3 Trovare, se esiste, il minimo globale. Soluzione. Lannullamento del gradiente conduce al sistema lineare omogeneo
2x1 x2 x3 = 0

x1 + 2x2 + x3 = 0 x1 + x2 + 2x3 = 0

La matrice dei coecienti ` la matrice hessiana e 2 1 1 2 1 q = 1 2 1 1 2 Poich` 2 f ` non singolare e denita positiva, lunica soluzione del sistema e e lunico punto di minimo globale x = (0, 0, 0)T . 29 q = 0 ` e

0.5

0.5

1 1 0.5 0 0.5 1 0 0.5 1

1.

Figure 8: Graco di q(x1 , x2 ) per = = 1. Esempio 10 [2] Sia data la funzione 1 q(x1 , x2 ) = (x2 + x2 ) x1 . 1 2 2 Studiare le esistenza e la natura dei punti estremali al variare dei parametri e . Soluzione. Scriviamo il gradiente e la matrice hessiana di q. Si ha q= x1 1 x2
2

q=

0 0 q = 0 ed e

T 1 , 0 . Inoltre la matrice 2 q denita positiva; si tratta quindi dellunico punto di minimo globale. e Se = 0 e qualsiasi, non esiste soluzione al sistema q = 0. Notare che se 0 la e matrice semidenita positiva, ma questo non assicura lesistenza del minimo globale. e

Se > 0 e > 0, allora esiste un unica soluzione al sistema

30

3 1 0.5 0 0.5 1 0 0.5 1 1.5

Figure 9: Graco di q(x1 , x2 ) per = 0 = 1. Se > 0 e = 0, esistono innite soluzioni al sistema qualsiasi. Inoltre la matrice di minimo globale.
T 1 , con 2 q semidenita positiva; si tratta quindi di inniti punti e

q = 0 ed e

1 Se < 0 e > 0 si ha ununica soluzione ( , 0). Ma la matrice hessiana indenita; si e tratta quindi di un punto di sella. Nel caso di < 0 e < 0 , allora esiste un unica soluzione al sistema q = 0 ed e T 1 , 0 . Inoltre la matrice 2 q denita negativa; si tratta quindi dellunico punto di e massimo globale. Esempio 11 Sia data la funzione q(x1 , x2 ) = x1 x2 + 2x2 + 2x1 x2 + x2 . 1 2 Studiare la natura degli eventuali punti estremali.

31

0 0.2 0.4 0.6 0.8 1 1 0.5 0 0.5 1 0 0.5 1

1.

Figure 10: Graco di q(x1 , x2 ) per = 1 = 0. Soluzione. Risulta q(x) = Qx + c = con Q= 4 2 2 2 4x1 + 2x2 + 1 2x2 + 2x1 1

La matrice Q ` denita positiva. Infatti min = 3 5 e max = 3 + 5. Esiste quindi e ununica soluzione ottima che si ottiene annullando il gradiente: 4x1 + 2x2 = 1 2x2 + 2x1 = 1 Si ottiene la soluzione x = con valore q(x ) = 5/4. 32 1 1.5

4 3 2 1 0 1 2 2 1 0 1 2 2 1 1.5 0 0.5 0.5

Figure 11: Graco di q(x1 , x2 ) per = 1 = 1. Esempio 12 (Discriminazione del prezzo [1]) Un monopolista che produce un unico bene ha due tipi di clienti A e B. Siano QA e QB le quantit` oerte dal monopolista ai a due clienti. I clienti di tipo A sono disposti a pagare il prezzo PA = fA (QA ) = 50 5QA e i clienti di tipo B sono disposti a pagare il prezzo PB = fB (QB ) = 100 10QB . Il costo di produzione dipende solo dalla quantit` di prodotto nale Q = QA + QB ed ` C = 90 + 20Q. a e Denire il modello di ottimizzazione. Soluzione. Il protto (ricavo-costi)` dato dallespressione: e f (QA , QB ) = QA PA + QB PB [90 + 20(QA + QB )] = (50 5QA )QA + (100 10QB )QB 90 20(QA + QB ) e deve essere massimizzato. Raggruppando e portando in forma standard di minimizzazione, si ottiene il problema min 5x2 + 10x2 30x1 80x2 90 1 2 avendo indicato con x1 = QA e x2 = QB 1 .
1

Notiamo che sono impliciti i vincoli x 0.

33

1 0 1 2 3 4 2 1 0 1 2 2 1 1.5 0 0.5 0.5

Figure 12: Graco di q(x1 , x2 ) per = = 1. Si tratta di un problema quadratico con f= 10x1 30 20x2 80
2

f=

10 0 0 20

La matrice hessiana ` denita positiva, esiste un unico punto di minimo globale che si e ottiene dallannullamento del gradiente. Esercizio 4 [parte del compito desame del 15-9-2003] Dato il problema di programmazione non lineare vincolato min 3x2 x3 27x1 + x3 + 2x3 x2 1 3 2 Dire quali condizioni necessarie soddisfa il punto x = (3/2, 0, 3) . Esercizio 5 [parte del compito desame del 15-9-2003] Dato il problema di programmazione non lineare non vincolato min 2x2 + 7x2 2x1 x2 4x1 1 2 Dire se esiste un punto di minimo (senza determinarlo !). 34

Esercizio 6 Determinare, se esiste, il punto di minimo della funzione x2 + x2 2x1 1 2

35

7.5

Il caso vincolato: preliminari

Consideriamo ora il problema vincolato (3) , che qui riscriviamo:


xIRn

min

f (x) g(x) 0 h(x) = 0, (14)

con g : IRn IRp e h : IRn IRm , m n. Ricordiamo che F = {x IRn : g(x) 0, h(x) = 0}, denota linsieme ammissibile per il Problema (14). Diamo alcune denizioni preliminari alla formulazione delle condizioni di ottimalit` a per il Problema (14). La prima denizione ` quella di vincoli attivi e vincoli non attivi. e Dato un punto x ammissibile, x F, per un qualsiasi vincolo di disuguaglianza gi risulter` o gi (x) = 0 o gi (x) < 0. Nel primo caso si dice che il vincolo gi ` attivo in x; nel a e secondo caso si dice che gi non ` attivo in x. Denotiamo con Ia (x) linsieme degli indici e dei vincoli di disuguaglianza attivi in x; cio`: e Ia (x) = {i {1, . . . , p} : gi (x) = 0}. Sia pa la cardinalit` dellinsieme Ia (x); ` sempre possibile riordinare i vincoli di disuga e uaglianza in modo tale che risulti gi (x) = 0, i = 1, . . . , pa e gi (x) < 0, i = pa + 1, . . . , p; e quindi partizionare il vettore g in due sottovettori, rispettivamente ga dei vincoli attivi e gn dei vincoli non attivi, il primo di dimensione pa e il secondo di dimensione p pa : g(x) = ga (x) gn (x) . (15)

Osserviamo che la partizione dipende dal punto x F considerato: cambiando il punto cambia anche la partizione. Per quel che riguarda i vincoli di uguaglianza, questi, in un punto ammissibile, sono ovviamente tutti attivi. Possiamo concludere con la seguente considerazione: i vincoli attivi in x F sono i vincoli di disuguaglianza attivi in x e tutti i vincoli di uguaglianza. Una seconda denizione preliminare ` quella di regolarit` dei vincoli in un punto x e a ammissibile. Denizione 6 (Regolarit` dei vincoli) Diremo che i vincoli sono regolari in un punto a x F, ovvero che x F ` un punto di regolarit` per i vincoli, se i gradienti dei vincoli e a attivi in x sono tra di loro linearmente indipendenti. Se la regolarit` vale per tutti i punti di F diremo che i vincoli sono regolari, senza a ulteriori speciche. Supponendo di avere riordinato i vincoli di disuguaglianza come nella (15), risulta dalla denizione ora data che i vincoli sono regolari nel punto ammissibile x se la matrice gradiente dei vincoli attivi: ga (x) h(x) = [ ga (x) 36 h(x)], (16)

di dimensione n (pa + m), ha rango pieno pa + m. Se un punto x non ` di regolarit`, i vincoli attivi in x, linearizzati, risultano linearmente e a dipendenti. Quindi la non regolarit` denota una qualche forma di ridondanza dei vincoli nel a punto considerato. Se la soluzione del Problema (14) non ` un punto di regolarit`, questa e a ridondanza determina una complicazione nella formulazione delle condizioni di ottimalit`. a Pertanto nel seguito, le condizioni di ottimalit` nel caso di vincoli non lineari verranno a date con riferimento alle sole soluzioni regolari, che sono quelle che pi` frequentemente si u presentano. La terza denizione preliminare ` quella di funzione Lagrangiana associata al Problema e (14), o, sinteticamente, Lagrangiano del Problema (14). La funzione Lagrangiana L(x, , ), con IRp e IRm , ` denita come una e combinazione lineare di tutte le funzioni del problema, con coecienti i per i vincoli di disuguaglianza e j per i vincoli di uguaglianza:
p m

L(x, , ) = f (x) +
i=1

i gi (x) +
j=1

j hj (x),

(17)

ovvero, con notazione vettoriale: L(x, , ) = f (x) + T g(x) + T h(x). (18)

I coecienti i e j vengono detti, in questo contesto, moltiplicatori, rispettivamente dei vincoli di disuguaglianza e di uguaglianza.

7.6

Il caso vincolato: vincoli di uguaglianza lineari

Per semplicit` cominciamo a considerare il problema di ottimizzazione con soli vincoli di a uguaglianza lineari: min f (x) xIRn (19) aT x bj = 0, j = 1, . . . , m, j con aj IRn e bj IR per ogni j; in forma matriciale:
xIRn

min

f (x) Ax b = 0,

(20)

ove A ` la matrice m n le cui righe sono aT , e b ` il vettore di dimensione m con e e j componenti bj . La funzione Lagrangiana per il Problema (19) diviene:
m

L(x, ) = f (x) +
j=1

j (aT x bj ), j

o, in forma vettoriale, L(x, ) = f (x) + T (Ax b). Allo scopo di denire condizioni di ottimo per problemi vincolati ` necessario introdurre e la seguente denizione.

37

Denizione 7 (Direzione ammissibile) Un vettore d IRn ` una direzione ammissie bile nel punto x F se esiste uno scalare max > 0 tale che risulti: x + d F per ogni (0, max ]. (21)

Quindi, se d ` una direzione ammissibile in un punto, spostandosi da questo punto e lungo d di una quantit` sucientemente piccola, si ` sicuri di poter ottenere un nuovo a e punto ammissibile. Si pu` allora dare una semplice condizione necessaria di ottimo vincolato basata sulle o denizioni di direzione ammissibile e direzione di discesa (data nel paragrafo 7.2). Teorema 17 Condizione necessaria anch` x sia una soluzione locale del Problema e n (19) ` che non esista una direzione d IR che sia contemporaneamente ammissibile e di e discesa per f nel punto x . Dimostrazione. La dimostrazione segue dal fatto che, se esiste una direzione d tale che il (2) (1) punto x +d F per (0, max ] e f (x +d) < f (x ) per (0, max ], allora possible e (1) (2) + d sia trovare una valore dello spostamento max min{max , max } per cui il punto x + d) < f (x ) per contemporaneamente ammissibile e con un valore della funzione f (x ogni (0, max ] contraddicendo il fatto che x sia un punto di minimo locale vincolato per f . Ovviamente la condizione espressa dal Teorema 17 ` una condizione necessaria di ottimo e anche per il problema nella forma pi` generale (Problema 1). Tuttavia nel caso generale di u vincoli di uguaglianza non ineari tale condizione pu` essere banalmente soddisfatta perch o e in un punto potrebbe essere vuoto linsieme delle direzioni ammissibili.

x2

x1

Figure 13: Esempio di vincolo non lineare per cui non esistono direzioni ammissibile d qualsiasi sia il punto ammissibile. Ad esempio, nel caso di F = {x2 + x2 = 1}, in ogni punto ammissibile non esiste 1 2 una direzione ammissibile d. Per mantenere lammissibilit` ` necessario spostarsi lungo la ae curva denita dal vincolo stesso (vedi Figura 13). 38

Possiamo caratterizzare le direzioni ammissibili per il problema con vincoli di uguaglianza lineari. Teorema 18 Sia x un punto ammissibile per il Problema (20). Il vettore d IRn una e direzione ammissibile in x se e solo se: Ad = 0. (22)

Dimostrazione. Consideriamo il punto x+d ottenuto muovendosi lungo d della quantit` a ; poich Ad = 0, si ha e A(x + d) = Ax + Ad = b. Ad esempio, consideriamo il sistema di equazioni lineari x1 + x2 x3 = 1 x1 x2 =2 Il sistema Ad = 0 si scrive

(23)

1 1 1 1 1 0

d1 0 d2 = 0 d3 0

e ha innite soluzione del tipo d = (t, t, 2t)T = t(1, 1, 2)T con t IR. Osservazione 1 Notiamo che nel caso lineare una direzione d che soddisfa la (22) ` e ammissibile qualunque sia il punto x ammissibile, e lammissibilit` si conserva per ogni a valore di . Quindi nel caso di vincoli di uguaglianza lineari possibile caratterizzare le direzioni e ammissibili. Possiamo allora particolarizzare la Proposizione 17 ricordando la caratterizzazione delle direzioni di discesa del Teorema 10 e ottenere la seguente condizione necessaria di ottimo. Teorema 19 Condizione necessaria anch` x sia una soluzione locale del Problema (20) e ` che risulti e f (x )T d 0, per ogni d IRn : Ad = 0. Pertanto, mentre nel caso non vincolato la condizione f (x )T d 0 deve valere per ogni d IRn , in quanto ogni direzione ` ammissibile, nel presente caso la stessa condizione deve e valere solo per le direzioni ammissibili, che sono quelle individuate mediante la (22). Per ottenere una condizione di pi` pratico impiego, conviene approfondire lanalisi del u vincolo lineare. A tale scopo, indichiamo con A1 , A2 , . . . , An le colonne della matrice A, e scriviamo il vincolo mettendole in evidenza: A1 x1 + A2 x2 + . . . + An xn b = 0. Osserviamo poi che risulta: (Ax b) = AT ; 39 (24)

Allo scopo di semplicare la trattazione, supponiamo che i vincoli del Problema (20) siano regolari. Si tratta di unipotesi di lavoro che semplica la dimostrazione delle condizioni di ottimo, ma che non ` eetivamente necessaria. e La condizione di regolarit` dei vincoli in un punto ammissibile, nel caso di vincoli lineari, a si traduce nella condizione che la matrice AT , e quindi la matrice A abbia rango m. Notiamo che in questo caso la condizione non dipende dal punto ammissibile considerato, e quindi potremo semplicemente parlare di regolarit` dei vincoli. a Possiamo allora estrarre dalla matrice A un numero m di colonne linearmente indipendenti, e possiamo riordinare le colonne A1 , A2 , . . . , An e di conseguenza le variabili x1 , x2 , . . . , xn in modo tale che quelle linearmente indipendenti siano le prime m. Possiamo cio` riscrivere e il sistema (24), con lintesa che le colonne A1 , A2 , . . . , Am siano linearmente indipendenti. Con questa intesa, introduciamo le notazioni: B = [A1 , A2 , . . . , Am ], N = [Am+1 , Am+2 . . . , An ], A = (B N )
,

xB =

x1 x2 ... xm

, xN =

xm+1 xm+2 ... xn

, dB =

d1 d2 ... dm

, dN =

dm+1 dm+2 ... dn

ove B ` una matrice m m non singolare. e Utilizzando una terminologia adottata nella Programmazione Lineare, diremo che B ` una matrice di base per la matrice A, mentre N ` una matrice non di base; che xB ` il e e e vettore delle variabili di base, mentre xN ` il vettore delle variabili non di base; che dB ` e e il vettore delle direzioni di base, mentre dN ` il vettore delle direzioni non di base. e Possiamo riscrivere il vincolo (24) nella forma: BxB + N xN b = 0, e riscrivere la (22) nella forma: BdB + N dN = 0. (26) Concludiamo questa analisi preliminare osservando che, poich` B ` non singolare, dalla e e (26) si ottiene: dB = B 1 N dN ; (27) quindi, se si fa riferimento ad una base B di A, ogni direzione ammissibile si pu` esprimere o nella forma B 1 N dN d= (28) , dN ove dN IR(nm) ` arbitrario. e Ad esempio, con riferimento al sistema (23), possiamo considerare la partizione 1 1 1 1 1 0 x1 x2 d1 d2 (25)

B=

, N=

, xB =

, xN = x3 , dB =

, dN = d3 .

Possiamo quindi scrivere dB = d1 d2 = 1 1 1 1


1

1 0

d3 =

1/2 1/2

d3 .

40

Possiamo ora enunciare la seguente condizione necessaria di ottimalit` per il Problema a (19). Teorema 20 Condizione necessaria anch` x sia una soluzione locale del Problema (19) e ` che esistano dei moltiplicatori , , . . . tali che: e m 1 2
x L(x , ) =

f (x ) +

m j=1

aj = 0, j

(29)

o, in forma matriciale:
x L(x

, ) =

f (x ) + AT = 0.

(30)

Dimostrazione. Nella dimostrazione faremo uso dellipotesi semplicativa rango(A) = m. In questa ipotesi possiamo considerare la partizione di A = (B N ) e partizionare di conseguenza anche il gradiente di f nella forma seguente: f (x ) =
B f (x ) N f (x )

(31)

ove il vettore B f (x) ` dato dalle derivate di f rispetto alle variabili di base xB e il vettore e f (x) ` dato dalle derivate di f rispetto alle variabili non di base xN . La condizione e N necessaria della Proposizione (19): f (x )T d 0 per ogni d IRn : Ad = 0, pu` essere riscritta nella forma: o
T B f (x ) dB + N f (x T

) dN 0, per ogni dB IRm , e dN IR(nm) : BdB + N dN = 0.

Tenendo conto che B ` non singolare possiamo scrivere, in base alla (27), dB = B 1 N dN e e quindi:
T 1 B f (x ) B N dN

T N f (x ) dN

0, per ogni dN IRnm .

Mettendo in evidenza dN si ottiene: ( ovvero (


N f (x T 1 B f (x ) B N

N f (x

) )dN 0, per ogni dN IRnm . ))T dN 0, per ogni dN IRnm .

(32)

) N T (B 1 )T

B f (x

Analogamente a come abbiamo ragionato nel caso non vincolato (vedi Teorema 12), anch` la disuguaglianza precedente valga per ogni dN IRnm , deve risultare nullo e il vettore che premoltiplica dN , deve cio` risultare: e
N f (x

) N T (B 1 )T
)

B f (x

) = 0;
B f (x )],

(33) la disuguaglianza non

altrimenti, prendendo dN = [ sarebbe soddisfatta. Poniamo ora:

N f (x

N T (B 1 )T

= (B 1 )T 41

B f (x

),

(34)

e sostituiamo nella (33); otteniamo:


N f (x

) + N T = 0.

(35)

A questo punto, abbiamo fatto vedere che, se x ` una soluzione locale del Problema e , che soddisfa le equazioni (34), (35), equazioni che possiamo (19), esiste un vettore riscrivere, ricordando che (B 1 )T = (B T )1 , nella forma:
T B f (x ) + B = 0, T N f (x ) + N = 0.

cio` anche in forma matriciale e


B f (x ) N f (x )

BT NT

= 0.

BT , le due precedenti equazioni altro non sono che la NT (30) scritta in forma partizionata rispetto alle variabili di base e non di base. Ma, ricordando che AT = Se f (x) ` due volte continuamente dierenziabile, valgono anche la seguenti condizioni e del secondo ordine, di cui possiamo notare analogie e dierenze rispetto al caso non vincolato: di nuovo, anzich` fare riferimento a tutte le direzioni d IRn , occorre fare riferimento e alle sole direzioni ammissibili d IRn : Ad = 0. Teorema 21 Condizione necessaria anch` x sia una soluzione locale del Problema (19) e ` che esista un moltiplicatore tale che x L(x , ) = 0 e inoltre risulti dT 2 f (x )d 0 e per ogni d IRn tale che Ad = 0. Teorema 22 Condizione suciente anch` un punto ammissibile x sia una soluzione e locale stretta del Problema (19) ` che esista un moltiplicatore tale che x L(x , ) = 0, e e che risulti dT 2 f (x )d > 0 per ogni d IRn tale che Ad = 0, d = 0. Osserviamo che, essendo il vincolo lineare, la sua derivata seconda ` nulla; pertanto ` e e lecito scrivere le due ultime proposizioni sostituendo 2 L(x , ) al posto di 2 f (x). x Osservazione 2 Concludiamo con limportante osservazione che lipotesi di regolarit` dei a vincoli ` stata utilizzata in questo paragrafo solo allo scopo di introdurre e semplicare il e caso generale di vincoli non lineari. In realt`, con una diversa trattazione, si pu` dia o mostrare per il caso di vincoli lineari la stessa condizione necessaria della Proposizione 20 senza fare uso della regolarit` dei vincoli. a Esercizio 7 Sia dato il problema min f (x) x1 + x2 x3 = 1 x1 x2 =2 (36)

1. data f (x) = x2 + x2 + x2 , vericare quali condizioni soddisfa il punto x = (4/3 1 2 3 2/3 1/3)T (risposta: minimo locale stretto);

42

2. data f (x) = x2 x2 +x2 , vericare quali condizioni soddisfa il punto x = (1 1 1)T 1 2 3 (risposta: minimo locale stretto); 3. data f (x) = x2 + x2 x2 , vericare quali condizioni soddisfa il punto x = (2 0 1)T 1 2 3 (risposta: non ` minimo). e 4. data f (x) = 3x1 + 5x2 x3 vericare che non sono mai vericate le condizioni necessarie del primo ordine. Esercizio 8 Sia dato il problema con vincoli di disuguaglianza lineari
xIRn

min

f (x) aT x bj 0, j = 1, . . . , p, j min f (x) Ax b

ovvero in forma matriciale


xIRn p

con A matrice p n e b IR . Mostrare che, in un punto ammissibile x, i vettori d IRn tali che aT d 0 j perj Ia () = {i : aT x = bi } x i

sono tutte e sole le direzioni ammissibili.

7.7

Il caso vincolato: vincoli di uguaglianza non lineari

Consideriamo ora il problema di ottimizzazione con soli vincoli di uguaglianza, in generale non lineari: min f (x) xIRn (37) hj (x) = 0, j = 1, . . . , m, o, in forma vettoriale:
xIRn

min

f (x) h(x) = 0,

(38)

con h : IRn IRm . La funzione Lagrangiana per il Problema (37) ` quindi: e


m

L(x, ) = f (x) +
j=1

j hj (x),

o, in forma vettoriale, L(x, ) = f (x) + T h(x). Sia x una soluzione locale del problema, e consideriamo il punto x + d ottenuto spostandosi da x lungo la direzione d IRn di una quantit` > 0; diremo che lo a + d) = 0. spostamento d ` ammissibile se h(x e Nel caso di vincoli lineari Ax b = 0, abbiamo visto che ogni spostamento d tale che Ad = 0 risulta ammissibile. Nel caso di vincoli non lineari, per caratterizzare gli spostamenti ammissibili, dobbiamo approfondire lanalisi, basandosi per` in parte su quanto o detto per il caso lineare. 43

x :

A tale proposito, consideriamo la linearizzazione hl (x) = 0 dei vincoli nellintorno di hl (x + d) = h(x ) + h(x )T d = 0, (39)

e osserviamo che, se h(x )T d = 0 (che corrisponde a Ad = 0) risulta hl (x + d) = 0, e quindi d ` uno spostamento ammissibile nel punto x per il vincolo linearizzato. In e generale per` non ` ammissibile per il vincolo h(x), in quanto risulta h(x + d) = 0 (vedi o e la Figura 13 del paragrafo precedente). Tuttavia, nel caso che x sia un punto di regolarit`, a la linearizzazione del vincolo ci consente di caratterizzare degli spostamenti ammissibili per il vincolo, ricorrendo al teorema delle funzioni implicite. Supponiamo quindi che valga lipotesi di regolarit` dei vincoli, ovvero a rango ( h(x )) = m n. Allora possiamo estrarre dalla matrice gradiente dei vincoli indipendenti, ovvero possiamo scrivere h(x ) =
B h(x ) N h(x )

h(x ) m righe linearmente

(40)

dove B h(x ) ` una sottomatrice di base m m non singolare, costituita dal gradiente di e h rispetto alle variabili di base xB IRm e N h(x ), una sottomatrice (n m) m non di base, costituita dal gradiente di h rispetto alle variabili non di base xN IRnm . Ragionando come abbiamo fatto sullequazione Ad = 0 nel caso di vincoli lineari, possiamo riscrivere lequazione h(x )T d = 0 mettendo in evidenza le sottomatrici B h(x )T e N h(x )T , e in corrispondenza le direzioni di base dB IRm e non di base dN IR(nm) . Ricordando che h(x )T = T [ B h(x )T N h(x ) ], si ha:
T B h(x ) dB

T N h(x ) dN

= 0.

(41)

dB con dB = ( B h(x )T )1 N h(x )T dN e dN IRnm dN qualsiasi risulta dunque essere ammissibile per il vincolo linearizzato hl (x), ma non per il vincolo h(x). Il teorema delle funzioni implicite, nel caso che stiamo considerando, ci consente di aermare quanto segue: La direzione d = Teorema 23 Siano h : IRm IR(nm) IRm una funzione delle variabili xB IRm e xN IR(nm) e x = (x x )T IRn tali che: N B 1. h(x , x ) = 0; N B 2. h ` continuamente dierenziabile e risulta e
B h(x )

non singolare.

Allora esistono un intorno SB IRm di x e SN IR(nm) di x e una funzione N B : SN SB continuamente dierenziabile, e tale che, per ogni > 0 sucientemente piccolo, risulta: h(x + (dN ), x + dN ) = 0, B N 44 per ogni dN IR(nm) .

Inoltre la funzione ` tale che: e (0) = 0, (0) =


N h(x )[ B h(x 1

)]

Pertanto, quando B h(x ) ` non singolare, lesistenza di una direzione ammissibile per e il vincolo linearizzato, pur non fornendo direttamente una direzione ammissibile, consente di aermare lesistenza in (x , x ) di uno spostamento ammissibile ((dN ), dN ), per B N > 0 sucientemente piccolo, comunque si prenda dN IR(nm) . Notiamo che della funzione non viene data lespressione esplicita; ci basta essere sicuri della sua esistenza, e poter scrivere lo sviluppo di Taylor al primo ordine: (dN ) = (0) + (0)T dN + o() = ([
B h(x 1 T

)]

T N h(x ) dN

+ o(),

(42)

ove o() denota termini innitesimi di ordine superiore rispetto ad . Grazie al teorema delle funzioni implicite possiamo enunciare la condizione necessaria di ottimo utilizzando la funzione Lagrangiana come abbiamo fatto nel caso di vincoli di uguaglianza lineari. In questo caso lipotesi di regolarit` dei vincoli ` necessaria per poter a e enunciare il teorema stesso. Teorema 24 (Condizioni necessarie di Lagrange) Sia x un punto di regolarit` per a i vincoli del Problema (37). Condizione necessaria anch` x sia una soluzione locale del e problema ` che esista un vettore di moltiplicatori , con componenti , , . . . , tali e m 1 2 che: m
x L(x , )

f (x ) +

hj (x ) = 0, j

(43)

j=1

o, in forma matriciale:
x L(x , )

f (x ) +

h(x ) = 0.

(44)

Dimostrazione. Facciamo vedere che, nelle ipotesi poste, la condizione del teorema corrisponde alla non esistenza di uno spostamento che sia contemporaneamente ammissibile e di discesa. A questo scopo, consideriamo lo spostamento, fornito dal teorema delle funzioni implicite, (dN ) s= per ogni dN IR(nm) . dN Partizioniamo le variabili e i vettori secondo la (40). Quindi x = x + s = x B x N + (dN ) dN f (x ) =
B f (x ) N f (x )

Possiamo scrivere uno sviluppo di Taylor del primo ordine della funzione f in x = x + s: f (x +s) = f (x +(dN ), x +dN ) = f (x , x )+ B N B N
T B f (x ) (dN )+ T N f (x ) (dN )+

o(),

e, cio`, tenendo conto della espressione di (dN ) data dalla (42): e f (x + s) = f (x ) + = f (x ) +


T B f (x ) [([ [ B f (x )T ([ 1 T B h(x )] ) 1 T B h(x )] ) N h(x N h(x T

) dN + o()] + ) +
N f (x T

N f (x

) dN + o() =

) ]dN + o().

45

Dalla precedente eguaglianza ricaviamo che, se x ` una soluzione locale del Problema e (37), dovr` risultare, per ogni dN IR(nm) , a [
T B f (x ) ([ 1 T B h(x )] ) T N h(x )

T N f (x ) ]dN

0;

(45)

altrimenti esiste un dN tale che, per ogni > 0 sucientemente piccolo, il punto (x + B + d ) risulta ammissibile, e in questo punto risulta f (x + (d ), x + N N (dN ), xN B N dN ) < f (x , x ). B N (Osservazione: Se si pone B h(x )T = B, N h(x )T = N , vediamo che la (45) e la (32) coincidono.) Si pu` continuare a ragionare come nella dimostrazione della Proposizione 20. La cono dizione (45) si pu` scrivere, trasponendo i vettori, o [
N f (x )

N h(x

1 B h(x )

T B f (x )] dN

0 per ogni dN IR(nm) .

Anch questa disequazione sia vera per ogni dN IR(nm) , deve risultare e
N f (x

N h(x )

B h(x

B f (x

) = 0.

Posto = possiamo scrivere le due condizioni


N f (x ) + ) + B f (x N h(x ) = 0 ) = 0. B h(x 1 B h(x ) B f (x ),

che sono esattamente la (44) in forma partizionata La condizione necessaria di ottimalit` enunciata nella proposizione precedente ` nota a e vengono spesso chiamati moltiplicatori di come condizione di Lagrange; i moltiplicatori Lagrange. La condizione necessaria x L(x , ) = 0, e quella di ammissibilit` h(x ) = 0 danno a luogo ad un sistema di n + m equazioni nelle n + m incognite x, :
x L(x, )

= 0,

h(x) = 0 che ha, tra le sue soluzioni, tutte le soluzioni locali regolari del problema (37) e i corrispondenti moltiplicatori. Quindi una via per risolvere il problema (37) ` quella di rie solvere rispetto a x, il precedente sistema, ricordando comunque che si ottengono solo le soluzioni regolari. Ovviamente, nei confronti di questo approccio valgono le obiezioni pi` volte fatte presenti, relative alla dicolt` di risolvere un sistema non lineare di n + m u a equazioni in n + m incognite, ove la dimensione n + m pu` essere elevata. o Se f (x) e h(x) sono due volte continuamente dierenziabile, valgono anche la seguenti condizioni del secondo ordine, cui si riconducono anche quelle del caso lineare, se si nota che per il caso lineare risulta h(x )T = A, 2 h(x ) = 0. Teorema 25 (Condizioni necessarie del 2o ordine) Sia x un punto di regolarit` per a sia una soluzione locale del i vincoli del Problema (37). Condizione necessaria anch` x e Problema (37) ` che esista un moltiplicatore tale che x L(x , ) = 0 e inoltre risulti e dT
2 x L(x , )d

per ogni d IRn : 46

h(x )T d = 0.

Teorema 26 (Condizioni sucienti del 2o ordine) Condizione suciente anch` un e punto ammissibile x sia una soluzione locale stretta del Problema (37) ` che esista un e moltiplicatore tale che x L(x , ) = 0, e che risulti dT 2 L(x , )d > 0 per ogni x d IRn : h(x )T d = 0, d = 0. Notiamo che nella condizione suciente non ` richiesto che x sia un punto di regolarit`. e a Esercizio 9 Sia dato il problema min x1 (x1 4)2 + x2 = 16 2 1. Dire quali condizioni di ottimo soddisfa il punto (0, 0)T (risposta: ` un minimo e locale stretto). 2. Dire quali condizioni di ottimo soddisfa il punto (8, 0)T (risposta: non ` un minimo e locale). 3. Si aggiunga al problema il vincolo x1 = 0; vericare la regolarit` dei vincoli nel punto a (0, 0)T e se si possono applicare le condizioni sucienti del 2o ordine. Esercizio 10 Sia dato il problema min f (x) (x1 1)3 + x2 = 0 x2 = 0. 1. vericare la regolarit` dei vincoli nel punto (1, 0)T . a 2. Sia f (x) = x1 , applicare le condizioni di Lagrange e vericare se ` possibile applie care le condizioni sucienti del 2o ordine. 3. Sia f (x) = x2 , applicare le condizioni di Lagrange e vericare se ` possibile applie care le condizioni sucienti del 2o ordine.

47

7.8

Analisi di sensibilit` per vincoli di uguaglianza a

Una volta determinata una soluzione x del Problema (37), risulta di notevole interesse avere indicazioni su come varia il valore ottimo della funzione obiettivo f (x ), se si effettuano (piccole) variazioni dei dati del problema. Lanalisi di queste variazioni viene detta analisi di sensibilit`. Di particolare interesse risulta lanalisi di sensibilit` rispetto a a al secondo membro di un vincolo di uguaglianza hj (x) = 0, in quanto mette in evidenza una fondamentale propriet` del moltiplicatore . a j una soluzione del problema (37), f (x ) il valore ottimo della funzione obiettivo. Sia x Vogliamo analizzare cosa accade al valore ottimo della funzione obiettivo se il secondo membro del vincolo varia da 0 a un valore . Lanalisi che si vuole eettuare si riferisce quindi alla perturbazione del Problema (37) del tipo:
xIRn

min

f (x) hj (x) =
j

j = 1, . . . , m

ovvero in forma vettoriale

xIRn

min

f (x) h(x) =

(46)

con h : IRn IRm ed IRm . Vogliamo cio` analizzare la relazione tra la soluzione trovata e per il Problema (37) e quella del problema perturbato, la cui funzione Lagrangiana ` data, e mettendone in evidenza la dipendenza da , da: L(x, ; ) = f (x) + T (h(x) ). A titolo di esempio consideriamo il problema con un solo vincolo lineare min x2 + x2 1 2 x1 + x2 = 1 la cui soluzione ottima ` x = (1/2 1/2)T di valore f (x ) = 1/2, con moltiplicatore e = 1, ottenuta risolvendo il sistema delle condizioni necessarie di Lagrange 2x + = 0 1 2x + = 0 2 x + x = 1 1 2 Supponiamo di perturbare il termine noto di e consideriamo il nuovo vincolo x1 + x2 = 1 + con IR. Se un punto x ( ) ` ottimo per il problema perturbato (PP) allora esiste e un ( ) tale che 2x ( ) + ( ) = 0 1 2x ( ) + ( ) = 0 2 x ( ) + x ( ) = 1 + 1 2 Risolvendo si ottiene la soluzione x ( ) = 1 1 + , 2 2 x ( ) = 2 1 + , 2 2 ( ) = 1 .

La funzione obiettivo in questo punto vale f (x ( )) =


2 1 + + = f (x ) + o( ). 2 2

48

Ovvero la dierenza f (x ( )) f (x ) ha un andamento che, in prima approssimazione, ` del tipo . Questa considerazione pu` essere generalizzata. e o Indichiamo con x ( ) una soluzione del problema (46) e con ( ) il corrispondente moltiplicatore. Per = 0 abbiamo x (0) = x e (0) = . Vogliamo studiare landamento della funzione f (x ( )) per piccole variazioni di nellintorno di = 0. A tale scopo possiamo premettere il seguente risultato, che si riporta senza dimostrazione. Teorema 27 Sia dato il problema (37) e siano x , rispettivamente una soluzione e il corrispondente moltiplicatore. Supponiamo che x sia un punto regolare e che (x , ) soddisno le condizioni sucienti del 2o ordine. Si consideri una famiglia di problemi (46), ovvero min f (x) n
xIR

h(x) = , parametrizzata dal vettore IRm . Allora esiste un intorno S di = 0 tale che per ogni S

1. esistono un x ( ) IRn , ( ) IRm che sono soluzione e corrispondente moltiplicatore del problema (46); 2. risulta x (0) = x , (0) = ; 3. x ( ) IRn , ( ) IRm sono funzioni di continuamente dierenziabili in S.

Nel seguito, per semplicare lanalisi facciamo dapprima riferimento ad un problema con un solo vincolo di uguaglianza:
xIRn

min

f (x) h(x) = 0

(47)

con h : IRn IR, la cui soluzione ` x con moltiplicatore IR. e Il problema perturbato `: e min f (x) n
xIR

h(x) = , con

(48)

IR. Indichiamo con x ( ) una soluzione del Problema (48) e ( ) IR il corrispondente moltiplicatore, che, nelle ipotesi del Teorema 27 esistono e sono funzioni di continuamente dierenziabili in un intorno di = 0. Inoltre per = 0 abbiamo x (0) = x e (0) = . Possiamo ora ottenere indicazioni su come varia f (x ( )) per piccole variazioni di , nellintorno di = 0. Infatti, poich le funzioni f (x ( )) e x ( ) sono continuamente e dierenziabili rispetto ad (almeno in un intorno S di = 0), possiamo scrivere la formula di Taylor troncata ai termini del primo ordine: f (x ( )) f (x (0)) = df (x ( )) d + o( ).

( =0)

Quindi per avere informazioni sullandamento f (x ( )) f (x ) si deve determinare il df (x ( )) termine . ( =0) d 49

Tale determinazione non ` immediata in quanto la relazione tra x ( ) e f (x ( )) si e ottiene solo risolvendo il problema (46). Per superare questa dicolt`, possiamo utilizzare a la funzione Lagrangiana per il problema (46) che ` data da: e L(x, , ) = f (x) + (h(x) ). Calcolata in (x ( ), ( )), si ottiene L(x ( ), ( ), ) = f (x ( )) + ( )(h(x ( )) ) = f (x ( )), in quanto in x ( ) il vincolo del problema perturbato deve essere soddisfatto. Da cui si ottiene che dL(x ( ), ( ), ) df (x ( )) = ( =0) ( =0) d d Si tratta quindi di determinare lespressione di zione composta, e quindi si pu` scrivere o dL(x ( ), ( ), ) d
( =0) dL(x ( ), ( ), ) . d ( =0)

Si tratta di una fun-

dx ( ) d ( ), ( ), ) d ( ) L(x + d
x L(x

( ), ( ), )T

( =0)

+
( =0)

L(x ( ), ( ), )

( =0)

Osserviamo che [
x L(x (

), ( ), )](

=0)

x L(x

(0), (0), 0) =

x L(x , )

=0

perch x , soddisfano le condizioni di Lagrange; inoltre e L(x ( ), ( ), ) ( = h(x (0)) = h(x ) = 0


=0)

in quanto x ` ammissibile. Inoltre dallespressione della funzione Lagrangiana per il e problema perturbato, possiamo scrivere L(x ( ), ( ), ) = ( ). Otteniamo quindi df (x ( )) d Possiamo allora scrivere: = dL(x ( ), ( ), ) d = (0) = . (49)

=0

( =0)

f (x ( )) = f (x ) + o( ), e cio`, per piccoli valori di , possiamo dire e f (x ( )) f (x ) . (50)

Questo risultato si esprime dicendo che il moltiplicatore , cambiato di segno, fornisce il coeciente di sensibilit` del valore ottimo della funzione obiettivo rispetto a variazioni a del termine noto del vincolo. 50

Questa interpretazione del moltiplicatore ` di grande utilit` pratica. Infatti se e a risulta > 0 ci si pu` aspettare che, per piccoli valori di > 0 risulti f (x ( )) < f (x ). o Si pu` allora risolvere il Problema (48) con un valore assegnato, per vericare se il o benecio, espresso dalla dierenza f (x ) f (x ( )) compensa il costo da sostenere per variare da 0 ad il secondo membro del vincolo 2 . Nel caso in cui i vincoli siano m e siano il moltiplicatore associato al vincolo hj , e j j la variazione del termine noto dello stesso vincolo, possiamo scrivere lo sviluppo di Taylor al primo ordine: f (x ( )) = f (x (0)) +
T f (x (

)) |(

=0)

+ o( ),

dove f (x ( )) ` il vettore di IRm che denota le derivate parziali prime rispetto a j con e j = 1 . . . , m. Otteniamo quindi la relazione: f (x ( )) f (x )
m

j=1

j . j

Ad esempio, in un problema di allocazione di risorse, il vincolo esprime una limitazione sulla disponibilit` di risorse; eettuando lanalisi di sensibilit` si pu` valutare se ` conveniente aumentare o diminuire a a o e la disponibilit`. a

51

7.9

Il caso vincolato: vincoli di disuguaglianza

Il problema con vincoli di disuguaglianza:


xIRn

min

f (x) gi (x) 0, i = 1, . . . , p,

(51)

o, in forma vettoriale:
xIRn

min

f (x) g(x) 0,

(52)

pu` essere trattato basandosi largamente su quanto detto nei due paragra precedenti. o La funzione Lagrangiana per il Problema (51) ` data da: e
p

L(x, ) = f (x) +
i=1

i gi (x),

o, in forma vettoriale, L(x, ) = f (x) + T g(x). Sia x una soluzione locale del problema, e sia gi un vincolo non attivo in x , cosicch` e ) < 0. Consideriamo il punto x + d ottenuto spostandosi da x lungo una risulti gi (x qualsiasi direzione d IRn di una quantit` > 0; per sucientemente piccolo risulter` a a ancora gi (x + d) < 0, e quindi per ogni vincolo non attivo, nel punto x qualunque direzione d IRn risulta ammissibile. In particolare, se tutti i vincoli fossero non attivi in x , a partire da x ci si potrebbe spostare in qualunque direzione senza violare nessun vincolo, e quindi le condizioni necessarie di ottimalit` per x sarebbero le stesse del caso a non vincolato. Possiamo concludere che se x ` una soluzione locale del Problema (51), ` una soluzione e e locale anche del problema che si ottiene dal Problema (51) eliminando tutti i vincoli non attivi in x , e cio` del problema: e
xIRn

min

f (x) gi (x) 0, i Ia (x ),

(53)

ove Ia (x ) = {i {1, . . . , p} : gi (x ) = 0} denota linsieme degli indici dei vincoli attivi in x . Daltra parte, in una soluzione locale, i vincoli di disuguaglianza attivi possono essere trattati come vincoli di uguaglianza; pertanto se x ` una soluzione locale del Problema e (53), ` una soluzione locale anche per il Problema: e
xIRn

min

f (x) gi (x) = 0, i Ia (x ),

(54)

che ` un problema con soli vincoli di uguaglianza. Perci`, ricordando la Proposizione 24, e o ` un punto di regolarit`, esistono moltiplicatori , i I (x ), possiamo aermare che, se x e a i a tali che: f (x ) + gi (x ) = 0. (55) i
iIa (x )

Assumiamo ora: = 0 per ogni i : gi (x ) < 0, i 52

e cio` assegniamo un valore nullo ai moltiplicatori associati ai vincoli non attivi in x ; e questa condizione pu` essere espressa ponendo gi (x ) = 0, i Ia (x ). Osserviamo poi o / i g (x ) = 0; possiamo allora riscrivere la (55) nella che anche per i vincoli attivi risulta i i forma: f (x ) = con la condizione che gi (x ) = 0, i = 1, . . . , p. i Una importante propriet` dei moltiplicatori associati ai vincoli di disuguaglianza, a i propriet` non ancora messa in evidenza, ` che devono essere tutti non negativi; deve cio` a e e risultare: 0, i = 1, . . . , p. (57) i Giustichiamo questa propriet` utilizzando lanalisi di sensibilit` eettuata in precedenza. a a Supponiamo di avere nel Problema (51) il solo vincolo g(x) 0, con g : IRn IR:
xIRn

+
iIa (x ) p

gi (x ) + i
iIa (x ) /

gi (x ) i

(56)

f (x ) +
i=1

gi (x ) = 0, i

min

f (x) g(x) 0,

(58)

sia x una soluzione locale, e sia il moltiplicatore che soddisfa, con x , le condizioni: f (x ) + g(x ) = 0, g(x ) = 0. Se in x il vincolo non ` attivo, gi` abbiamo = 0. Se il vincolo ` attivo, per quanto e a e detto in precedenza, x , sono anche soluzione e moltiplicatore per il problema:
xIRn

min

f (x) g(x) = 0.

(59)

Se modichiamo il Problema (58) introducendo una variazione > 0 nel secondo membro del vincolo, otteniamo il problema:
xIRn

min

f (x) g(x) ,

(60)

il cui insieme ammissibile F( ) = {x : g(x) } per > 0, contiene linsieme ammissibile del Problema (59) F = {x : g(x) = 0}. Se x ( ) ` la soluzione locale del Problema e (60) che si ottiene per piccoli valori di , dovr` risultare f (x ( )) f (x ), in quanto la a minimizzazione di f ` eettuata su un insieme pi` grande. Si ha quindi, tenendo conto e u della (50), scritta con al posto di : 0 f (x ( )) f (x ) ,

che implica appunto 0. Abbiamo cos` in pratica dimostrato la proposizione seguente. 53

Teorema 28 Sia x un punto di regolarit` per i vincoli del Problema (51). Condizione a necessaria anch` x sia una soluzione locale del problema ` che esista un vettore di e e , con componenti , , . . . , tale che: moltiplicatori p 1 2
p x L(x , ) =

f (x ) +
i=1

gi (x ) = 0, i 0, i = 1, . . . , p i gi (x ) i = 0, i = 1, . . . , p

(61) (62) (63)

o, in forma matriciale:
x L(x

, ) =

f (x ) +

g(x ) = 0, 0,
T

(64) (65) (66)

g(x ) = 0.

Le condizioni necessarie di ottimalit` della proposizione precedente sono note come cona dizioni di Kuhn-Tucker (o anche, di Karush-Kuhn-Tucker). Un punto x viene detto punto di Kuhn-Tucker, o sinteticamente punto di KT, se esiste un moltiplicatore tale che x , soddisfano le condizioni. La condizione (63) viene chiamata condizione di complementarit`; notiamo che la (63) a implica la (66), mentre il viceversa ` vero solo tenendo conto anche della (65) e del fatto e che g(x ) 0. Si dice inoltre che un punto di KKT x soddisfa la condizione di stretta complementarit` se risulta > 0 per ogni i : gi (x ) = 0. a i La condizione necessaria x L(x , ) = 0, e quella di complementarit` gi (x ) = a i 0, i = 1, . . . , p danno luogo ad un sistema di n + p equazioni nelle n + p incognite x, :
x L(x, )

= 0,

i gi (x) = 0, i = 1, . . . , p. Tra le soluzioni x, di questo sistema, per cui risulti anche gi () 0, i 0, i = 1, . . . , p, x si hanno tutte le soluzioni locali regolari del problema (51) e i corrispondenti moltiplicatori. Osservazione 3 Osserviamo che, nel caso di vincoli g(x) siano lineari, la regolarit` dei a vincoli non ` necessaria (come nel caso di vincoli di uguaglianza). e Se f (x) e h(x) sono due volte continuamente dierenziabile, vale anche la seguente condizione necessaria del secondo ordine, in cui ga (x ) denota la matrice gradiente dei vincoli attivi in x . Teorema 29 Sia x un punto di regolarit` per i vincoli del Problema (51). Condizione a sia una soluzione locale del Problema (51) ` che risulti dT 2 L(x , )d necessaria anch` x e e x 0 per ogni d IRn tale che ga (x )T d = 0. Per enunciare anche una condizione suciente del secondo ordine, bisogna premettere la denizione di vincolo strettamente attivo in un punto di Kuhn-Tucker x . Un vincolo gi (x) ` strettamente attivo in x se ` attivo in x , e se il corrispondente moltiplicatore e e

54

` strettamente positivo; se denotiamo con Isa (x ) linsieme degli indici dei vincoli di i e disuguaglianza strettamente attivi in x , abbiamo: Isa (x ) = {i {1, . . . , p} : gi (x ) = 0, > 0)}. i Osserviamo che se il punto x soddisfa la condizione di stretta complementarit`, allora a Isa (x ) = Ia (x ). Possiamo denotare con gsa il sottovettore di g costituito dai soli vincoli strettamente attivi in x : gsa (x) = [gi (x)], i Isa (x ) , e con gsa la matrice gradiente di gsa . Abbiamo allora la seguente condizione suciente del secondo ordine: Teorema 30 Condizione suciente anch` un punto ammissibile x sia una soluzione e locale stretta del Problema (51) ` che esista un moltiplicatore 0 tale che x L(x , ) = e 0, T g(x ) = 0, e che risulti dT 2 L(x , )d > 0 per ogni d IRn tale che gsa (x )T d = x 0, d = 0. Notiamo che nella condizione suciente non ` richiesto che x sia un punto di regolarit`. e a

7.10

Il caso vincolato: vincoli di disuguaglianza e di uguaglianza

Sulla base dei risultati dei paragra precedenti, possiamo facilmente dedurre le condizioni di ottimalit` per il caso pi` generale del Problema (3), in cui sono presenti sia vincoli di a u disuguaglianza che vincoli di uguaglianza. Riscriviamo per comodit` il problema, nella a forma scalare: min f (x) xIRn (67) gi (x) 0, i = 1, . . . , p, hj (x) = 0, j = 1, . . . , m; lassociata funzione Lagrangiana ` data da: e
p m

L(x, ) = f (x) +
i=1

i gi (x) +
j=1

j hj (x).

Abbiamo la seguente condizione necessaria del primo ordine, cui di solito si fa ancora riferimento con il nome di condizioni di Kuhn-Tucker: Teorema 31 Sia x un punto di regolarit` per i vincoli del Problema (67). Condizione a necessaria anch` x sia una soluzione locale del problema ` che esistano un vettore di e e moltiplicatori , con componenti , . . . , e un vettore di moltiplicatori , con compop 1 nenti , . . . , , tali che: m 1
p x L(x

, , ) =

f (x ) +
i=1

gi (x ) + i

hj (x ) = 0, j 0, i = 1, . . . , p

(68) (69) (70)

gi (x ) = 0, i = 1, . . . , p. i

j=1 i

La condizione necessaria x L(x , , ) = 0, quella di complementarit` gi (x ) = 0, i = a i ) = 0, j = 1, . . . , m danno luogo ad un sistema di 1, . . . , p e quella di ammissibilit` hj (x a n + p + m equazioni nelle n + p + m incognite x, , :
x L(x, , )

= 0,

i gi (x) = 0, i = 1, . . . , p, hj (x) = 0, j = 1, . . . , m. 55

Tra le soluzioni x, , di questo sistema, per cui risulti anche gi () 0, i 0, i = x 1, . . . , p, si hanno tutte le soluzioni locali regolari del problema (67) e i corrispondenti moltiplicatori. Ovviamente la dicolt` di procedere alla ricerca delle soluzioni di questo a sistema ` ancora maggiore che nei casi pi` semplici trattati in precedenza. Non ` invece e u e k prodotto alla generica iterazione di un algoritmo, vericare se dicile, dato un punto x esistono moltiplicatori k , k tali che le condizioni siano soddisfatte, essendo le condizioni lineari rispetto ai moltiplicatori. Pertanto nel caso vincolato le condizioni necessarie di Kuhn-Tucker sono alla base della denizione di quellinsieme introdotto nel paragrafo 7.1. Occorre sottolineare che le condizioni di Kuhn-Tucker forniscono solo le soluzioni regolari; unanalisi completa del Problema (67) richiede anche di valutare la funzione obiettivo nei punti ammissibili che non sono di regolarit`. a Per quel che riguarda le condizioni del secondo ordine, nellipotesi che le funzioni del problema siano due volte continuamente dierenziabili, abbiamo le proposizioni seguenti. Teorema 32 Sia x un punto di regolarit` per i vincoli del Problema (67). Condizione a necessaria anch` x sia una soluzione locale del Problema (67) ` che esistano moltiplie e 0 e tali che , , ) = 0, T g(x ) = 0, e che per ogni d IRn tale catori x L(x che: ga (x )T d=0 h(x )T risulti dT
2 x L(x , , )d

0.

Teorema 33 Condizione suciente anch` un punto ammissibile x sia una soluzione e locale stretta del Problema (67) ` che esistano moltiplicatori 0 e tali che x L(x , , ) = e 0, T g(x ) = 0, e che per ogni d IRn con d = 0 e tale che gsa (x )T h(x )T risulti dT
2 x L(x , , )d

d=0

> 0.

Notiamo che nella condizione suciente compaiono solo i vincoli di disuguaglianza strettamente attivi, e non ` richiesto che x sia un punto di regolarit`. e a Osservazione 4 Si osservi che nel Teorema 33, si deve vericare se una condizione sullhessiano del Lagrangiano per direzioni che si trovano nellinsieme Y = {d IRn : d = 0 gsa (x )T d = 0, h(x )T d = 0}.

Nel caso in cui Y = , ovvero lunica direzione che soddisfa il sistema gsa (x )T d = 0 h(x )T d = 0,

` d = 0, la condizione suciente si intende banalmente soddisfatta. e Osservazione 5 Osserviamo inne che, nel caso di vincoli lineari, la regolarit` dei vincoli a non ` richiesta neanche per le condizioni necessarie. e 56

Come nel caso non vincolato, anche nel caso vincolato le condizioni necessarie del secondo ordine sono di dicile utilizzo. Sono invece di facile verica le condizioni sucienti del secondo ordine. Notiamo infatti che, nei vari problemi vincolati considerati, le condizioni del secondo ordine richiedono, innanzi tutto, che siano soddisfatte le condizioni necessarie del primo ordine, sia pure in assenza di regolarit` del punto considerato; e poi che sia denita positiva a la matrice delle derivate seconde della funzione Lagrangiana, su un insieme che non ` tutto e n IR , come nel caso non vincolato, bens` un sottospazio lineare dato dalle soluzioni di un sistema di equazioni lineari omogenee nella variabile d, in cui la matrice dei coecienti ` data dal gradiente trasposto dei vincoli di disuguaglianza strettamente attivi e/o dei e vincoli di uguaglianza. Facendo ad esempio riferimento alla Proposizione 33, se si pone M = 2 L(x , , ) e x B = [ gsa (x ) h(x )], la condizione suciente del secondo ordine richiede che dT M d > 0 per ogni d = 0 : B T d = 0. Per eettuare questo genere di verica, possiamo utilizzare il seguente risultato. Teorema 34 Sia M una matrice quadrata simmetrica nn, sia B una matrice nq, con q < n. Risulta dT M d > 0 per ogni d tale che B T d = 0, d = 0, se e solo se, considerata la matrice di dimensione (q + n) (q + n): 0 BT B M ,

gli ultimi (n q) minori principali della medesima hanno determinanti il cui segno ` pari e a quello di (1)q . Quindi anche nel caso vincolato la verica della condizione suciente del secondo ordine si riconduce ad un semplice calcolo di determinanti. Osservazione 6 Si osservi che la condizione del Teorema 34, si applica sono quando q < n ovvero quando il numero dei vincoli di uguaglianza e dei vincoli di disuguaglianza strettamente attivi ` minore della dimensione n. e Concludiamo con losservazione che i moltiplicatori , , forniscono i coecienti di sensibilit` del valore ottimo della funzione obiettivo f (x ) rispetto alle variazioni dei a termini noti dei vincoli, rispettivamente di disuguaglianza e di uguaglianza. Ovviamente, per un vincolo non attivo, il coeciente di sensibilit` risulta nullo. a

7.11

Il caso convesso

Nella Proposizione 9 abbiamo fatto vedere che un problema di ottimizzazione in cui f e gi , i = 1 . . . , p sono funzioni convesse e hj , j = 1, . . . , m sono funzioni ani, risulta essere un problema di ottimizzazione convesso. Facciamo ora vedere limportante propriet` a che, per un problema di questo tipo, le condizioni di Kuhn-Tucker, anche in assenza di regolarit`, risultano essere condizioni sucienti di ottimo globale. a Riscriviamo per comodit` il problema: a
xIRn

min

f (x) gi (x) 0, i = 1, . . . , p, aT x bj = 0, j = 1, . . . , m, j (71)

e dimostriamo la proposizione seguente. 57

Teorema 35 Si supponga che, nel Problema (71), f (x) sia una funzione (strettamente) convessa in IRn , e che gi (x) siano funzioni convesse in IRn . Sia x un punto ammissibile per il problema, e si supponga che esistano moltiplicatori e tali che: i j
p x L(x , , ) =

f (x ) +
i=1

gi (x ) + i

m j=1

aj = 0, j

(72) (73) (74)

0, i = 1, . . . , p i gi (x ) i = 0, i = 1, . . . , p. Allora x ` una soluzione globale (stretta) per il Problema (71). e

Dimostrazione. Sia x un qualunque punto ammissibile per il problema. Risulta gi () x 0, e quindi gi () 0; inoltre risulta aT x bj = 0. Possiamo allora scrivere la disugx i j uaglianza:
p

f () f () + x x
i=1

gi () + x i

(aT x bj ). j j

(75)

j=1

Per la convessit` di f e gi abbiamo che a f () f (x ) + x gi () gi (x ) + x f (x )T ( x ), x gi (x )T ( x ). x

Sostituendo nella (75) e notando che aT x bj = aT ( x ), otteniamo: j j x


p

f () f (x )+ f (x )T ( x )+ x x
i=1

(gi (x )+ gi (x )T ( x ))+ x i

m j=1

aT ( x ). (76) j j x

Poich` aj risulta essere il gradiente del vincolo lineare, la precedente disuguaglianza pu` e o essere riscritta, mettendo in evidenza ( x ): x
p

f () f (x ) + x

T x x L(x , , ) ( x ) + i=1

gi (x ); i

(77)

da cui si ottiene, tenendo conto delle condizioni di KT x L(x , , ) = 0, i gi (x ) = ). Poich` x ` un qualunque punto ammissibile per il 0, i = 1, . . . , p, che f () f (x x e e Problema (71), risulta che x ` una soluzione globale. Si lascia per esercizio la conclusione e che, nel caso in cui f ` strettamente convessa, x ` una soluzione globale stretta. e e

Osserviamo quindi che, nel caso convesso, le condizioni di KKT sono necessarie sotto ipotesi di regolarit` dei vincoli, e sucienti senza ipotesi di regolarit`. a a Nel caso particolare di problemi con vincoli lineari, in cui quindi linsieme ammissibile ` un poliedro, la regolarit` dei vincoli non ` richiesta nemmeno per la parte necessarie. e a e Possiamo quindi enunciare il seguente risultato: Teorema 36 Si supponga che, nel Problema (67), f (x) sia una funzione (strettamente) convessa in IRn , e i vincoli di uguaglianza e disuguaglianza siano lineari. Condizione necessaria e suciente anche un punto x ammissibile per il problema sia un minimo globale (stretto) ` che valgano le condizioni di KKT. e

58

La dualit` nella Programmazione Lineare a

Il problema di Programmazione Lineare ` un problema di ottimizzazione convesso. Ine oltre abbiamo aermato che nel caso di vincoli lineari le condizioni necessarie di ottimo valgono anche in assenza dellipotesi di regolarit`. Quindi vale il risultato enunciato nel a Teorema 36. Le condizioni necessarie e sucienti di ottimalit` consentono di dedurre alcuni risultati a molto importanti nella Teoria della Programmazione Lineare che sono noti sotto il nome di Teoria della Dualit`. a Facciamo riferimento per semplicit` ad un problema di Programmazione Lineare del a tipo min cT x xIRn (78) Ax b x 0, ove A ` una matrice p n, c ` un vettore di dimensione n, b ` un vettore di dimensione p. e e e Sappiamo che le condizioni di KKT sono necessarie e sucienti di ottimo globale. Quindi una soluzione del problema (78) esiste se e solo se esistono dei moltiplicatori che soddisfano le condizioni di KKT. Consideriamo ora il problema di Programmazione Lineare
uIRp

max

bT u AT u c u 0; (79)

Anche in questo caso le condizioni di KKT sono necessarie e sucienti di ottimo globale. La coppia di problemi di programmazione lineare (78) e (79) ` detta coppia primale-duale e simmetrica. Si pu` dimostrare che le condizioni di KKT dei due problemi di programmazione lineare o (78) e (79) sono le stesse. Si tratta del teorema della dualit` forte. Il teorema della dualit` a a forte fornisce quindi una relazione tra le soluzioni ottime di questi due problemi. Teorema 37 (Teorema della Dualit` Forte) Il problema primale (78) ha una soluzione a ottima x se e solo se il problema duale (79) ha una soluzione ottima u ; inoltre i valori delle funzioni obiettivo coincidono allottimo cT x = bT u . Dimostrazione. Si tratta di fare vedere che le condizioni necessarie e sucienti di ottimo per il problema (78) risultano essere necessarie e sucienti di ottimo globale u per il problema (79). Chiamiamo con u IRp il moltiplicatore associato ai vincoli Ax b, e con v IRn il moltiplicatore associato ai vincoli x 0; con queste notazioni, la funzione Lagrangiana del problema (78) ` data da: e Lp (x, u, v) = cT x + uT (b Ax) v T x, e le condizioni di KT aermano lesistenza di u 0, v 0 tali che:
x Lp (x , u , v )

= c AT u v = 0, u
T

(80) (81) (82)

(b Ax ) = 0 v
T

x =0

59

` E possibile riscrivere queste condizioni eliminando v . Infatti dalla (80) otteniamo c AT u = v ed imponendo la condizione v 0, si ottiene c AT u 0. Sostituendo lespressione della v nella (82) otteniamo poi (c AT u )T x = 0, ovvero cT x = u T Ax . Sviluppando la (81) si ha anche u T b u T Ax = 0, che insieme alla precedente consente di scrivere u T b = u T Ax = cT x . Possiamo quindi aermare che, x ` una soluzione del problema (78) se e solo se esiste un e moltiplicatore u IRm tale che x e u soddisfano le condizioni: Ax b, AT u c, = cT x x 0, u bT u 0. (83) (84) (85)

Osserviamo che alla condizione di ammissibilit` di x (83), si aggiungono una cona data dalla (84) e una condizione che coinvolge sia x che u . In dizione nella sola u particolare la condizione (84) evidenzia che u IRm ` ammissibile per il problema duale e (79). Scriviamo ora le condizioni di KKT per il problema (79). Chiamiamo con x IRn il moltiplicatore associato ai vincoli AT u c, e con z IRp il moltiplicatore associato ai vincoli u 0; con queste notazioni, osservando che il problema duale ` un problema di e massimizzazione, abbiamo per il problema la funzione Lagrangiana: Ld (u, x, z) = bT u + xT (AT u c) z T u, e se u ` una soluzione del problema duale, le condizioni di KT aermano lesistenza di e 0, z 0 tali che: x
u Ld (u , x , z )

= b + Ax z = 0, x
T

(86) (87) (88)

(A u c) = 0 z
T

u =0

In modo analogo a quanto fatto sul problema primale, possiamo eliminare z . Infatti dalla (86) otteniamo b + Ax = z 0; premoltiplicando la (86) per u T , e tenendo conto delle (87), (88), otteniamo poi bT u + cT x = 0. Possiamo quindi aermare che, se u ` e una soluzione del problema duale, esiste un moltiplicatore x tale che u e x soddisfano le condizioni: AT u c, Ax b u 0, x 0,

bT u = cT x . Si constata che le condizioni per il primale (78) e quelle per il duale (79) coincidono. Ricordando che nel caso convesso le condizioni necessarie sono anche sucienti, possiamo 60

concludere quanto segue: se il primale ha una soluzione x esiste un moltiplicatore u che, insieme ad x , soddisfa le condizioni necessarie per il primale; ma poich` gli stessi u e x e soddisfano le condizioni sucienti per il duale, si deduce che il duale ha la soluzione u , con moltiplicatore x ; viceversa, se il duale ha una soluzione u , con associato moltiplicatore x , allora x ` soluzione del primale, con associato moltiplicatore u . Inoltre il valore ottimo e della funzione obiettivo primale coincide con il valore ottimo della funzione obiettivo duale, come risulta dalla (85). In conclusione, da un punto di vista analitico, risolvere il primale ` del tutto equivalente a e risolvere il duale. Non ` per` cos` da un punto di vista algoritmico, in quanto i due problemi e o sono diversi, e, a seconda dellalgoritmo che si utilizza, pu` essere pi` conveniente risolvere o u un problema piuttosto che laltro. Si pu` dimostrare anche un altro importante risultato della teoria della dualit` che ` o a e noto con il nome di Teorema della Dualit` Debole: a Teorema 38 (Teorema della Dualit` Debole) Siano x e u soluzioni ammissibile rispeta tivamente per il problema primale e per il problema duale. Allora risulta cT x bT u. Dimostrazione. Supponiamo di avere due punti x e u ammissibili rispettivamente per il problema primale e per il problema duale, ovvero tali che: AT u c, A b x
p

u 0, x 0.

Osserviamo che u (b A) = x
i=1

uj (bi aT x) 0 e quindi possiamo scrivere i

cT x cT x + uT (b A) = bT u + (cT uT A) bT u, x x dove lultima disuguaglianza segue dal fatto che (cT uT A) 0. x Osserviamo che, se x ` una soluzione ottima per il primale (e quindi in particolare e ammissibile), e se u ` un punto ammissibile per il duale, abbiamo dal teorema della Dualit` e a Debole che cT x bT u. Osserviamo inoltre che, se x e x sono rispettivamente un punto ammissibile e una soluzione per il primale, si ha ovviamente cT x cT x . Quindi un punto ammissibile per il primale, e un punto ammissibile per il duale forniscono, rispettivamente, una limitazione superiore e una limitazione inferiore per il valore ottimo del primale, cio` e bT u cT x cT x. Sapere che il valore ottimo cT x del primale di un problema di Programmazione Lineare si colloca nellintervallo [bT u, cT x], ove x ` un qualunque punto ammissibile per il primale, e e u ` un qualunque punto ammissibile per il duale, risulta di grande utilit` dal punto di e a vista algoritmico.

61

Naturalmente si pu` dare un risultato analogo per la soluzione ottima del duale u . In o particolare se x e u soluzioni ammissibile rispettivamente per il problema primale e per il problema duale, possiamo scrivere bT u bT u cT x. Fino ad ora abbiamo fatto riferimento ad una coppia primale -duale simmetrica. Si possono dare delle regole generali per scrivere il problema duale di un qualunque problema di programmazione lineare. Tali regole sono schematizzate nella tabella, in cui, data una matrice A, indichiamo con aT le righe di A e con Aj le colonne di A. i PRIMALE min cT x aT x bi i aT x = bi i xj 0 xj non vincolata in segno DUALE DUALE max bT u ui 0 ui non vincolata in segno uT Aj cj uT Aj = cj PRIMALE

Osservazione 7 Osserviamo che il ruolo di primale e di duale sono intercambiabili. Inoltre facendo il duale del problema duale si riottiene il problema primale. Osservazione 8 Nel derivare i risultati della Teoria della dualit` abbiamo fatto rifera imento alla coppia prima -duale simmetrica. Questi risultati sono validi comunque si scelga una coppia primale-duale, facendo attenzione al segno delle disuguaglianze, in particolare nel teorema della dualit` debole, che sono date facendo riferimento ad un problema a primale di minimizzazione ed uno duale di massimizzazione. Nella successiva tabella riportiamo le situazioni che si possono vericare (S` e quelle ) che non si possono vericare (No) in una coppia primale-duale: ottimo nito S` No No DUALE illimitato ins. ammissibile superior. vuoto No No No S` S` S`

PRIMALE

ottimo nito illimitato inferior. ins. ammissibile vuoto

62

Esempio 13 Sia dato il problema di Programmazione Lineare min x1 2x2 x1 + x2 3 x1 + x2 5 x1 0, x2 0 1. Scrivere il problema duale; 2. dare una limitazione superiore ed inferiore al valore ottimo cT x del problema primale; 3. dare una limitazione superiore ed inferiore al valore ottimo bT u del problema duale; 4. utilizzando il teorema della dualit` forte (o le equivalenti condizioni di KKT) dire se a = (4, 1)T ` ottimo per il primale e fornire a certicato il valore ottimo il punto x e della soluzione duale u . Il problema duale ` (attenzione per applicare le regole della tabella ` necessario che i e e problemi siano scritti in una delle forme previste): max 3u1 5u2 u1 u2 1 u1 u2 2 u1 0, u2 0 Si verica facilmente che il punto x = (3, 0)T ` ammissibile per il primale, mentre il e punto u = (0, 2)T ` ammissibile per il duale. Si ottengono quindi i due intervalli e 10 = bT u cT x cT x = 3 10 = bT u bT u cT x = 3. Le condizioni di KKT (equivalenti al teorema della dualit` forte, si scrivono; a x1 + x2 3 x1 + x2 5 x1 0, x2 0 u1 u2 1 u1 u2 2 u1 0, u2 0 x1 (u1 u2 1) = 0 x2 (u1 u2 + 2) = 0 u1 (x1 + x2 + 3) = 0 u2 (x1 + x2 5) = 0 Il punto x ` ammissibile per il primale. Dalle condizioni di complementarit` segue anche e a che per essere ottimo deve esistere un u 0 tale che u u 1 = 0 e u u + 2 = 0, 1 2 1 2 da cui si ottiene u = (3/2, 1/2).

63

Generalit` sugli algoritmi di ottimizzazione a

I problemi di ottimizzazione che si presentano nella pratica sono di solito cos` complessi che non ` possibile determinarne una soluzione per via analitica. La complessit` ` detere ae minata innanzi tutto dal numero di variabili e di vincoli, che deniscono la dimensione del problema; e poi dalla eventuale presenza di funzioni non lineari tra le funzioni f, gi , hj . La soluzione analitica ` possibile solo nel caso di poche variabili e di funzioni estremamente e semplici, e cio` solo nei casi che si utilizzano come esempi ed esercizi nei testi e sulla e lavagna. Nella pratica, per risolvere un problema di ottimizzazione occorre fare ricorso ad un algoritmo iterativo, cio` ad un programma di calcolo che, data una approssimazione core k della soluzione, determina, con una appropriata sequenza di operazioni, una nuova rente x approssimazione xk+1 . A partire da una approssimazione iniziale x0 si determina cos` una successione {xk }. Occorre per` a questo punto mettere in evidenza una limitazione intrinseca degli algoo ritmi di ottimizzazione, che consiste nel fatto che, per come sono costruiti, sono in grado di determinare solo punti che, per un dato problema, ne soddisfano le condizioni necessarie di ottimalit`: cio` solo punti dellinsieme introdotto nel 7.1. Se si denota con X linsieme a e delle soluzioni locali del problema, risulta evidentemente X F. Le prestazioni di un algoritmo vanno perci` valutate in relazione alla sua capacit` di determinare punti di o a , che, in questo contesto, viene detto insieme bersaglio, piuttosto che in relazione alla capacit` di determinare punti di X . a Con convergenza dellalgoritmo si intende appunto la sua capacit` di centrare, con a la successione {xk } che genera, linsieme bersaglio . Lalgoritmo si dice convergente se fornisce un punto di dopo un numero nito di iterazioni, o almeno, al limite, per k . Nel primo caso si parla di convergenza nita, nel secondo di convergenza asintotica. La convergenza nita si consegue solo per problemi particolari e algoritmi specici per questi; ad esempio, lalgoritmo del simplesso per la Programmazione Lineare ha convergenza nita. Gli algoritmi per la Programmazione Nonlineare hanno in generale convergenza asintotica. Ovviamente, per un algoritmo con convergenza asintotica, non sar` possibile in pratica a eseguire un numero innito di iterazioni, e occorre quindi prevedere una criterio darresto e cio` una regola che interrompa lesecuzione dellalgoritmo dopo un numero nito di itere azioni. Il criterio darresto di solito si basa sul riconoscere di avere trovato, se non proprio un punto di , almeno una sua buona approssimazione. Ad esempio, per il Problema (2), sappiamo che = { IRn : f () = 0}; quindi dato un sucientemente piccolo, si puo pensare di arrestare lalgoritmo al primo valore di k per cui risulti f (xk ) < Nellambito della convergenza asintotica, si possono avere dierenti caratterizzazioni della convergenza dellalgoritmo, a seconda del comportamento della successione {xk } per k . Un primo caso si ha se lintera successione ` convergente a un punto ; cio` e e se limk xk = . Un tale comportamento, per quanto auspicabile, non sempre ` e realizzabile. Un secondo caso si ha quando la successione {xk } ha almeno un punto limite (o punto di accumulazione) , e cio` quando ` possibile estrarre dalla successione e e almeno una sottosuccessione (anche detta successione estratta) xkj , j = 1, 2, . . . che risulti convergente a un punto . Poiche se una successione converge ad un punto anche tutte le sue sottosuccessioni devono convergere allo stesso punto , ` evidente che nel primo caso lalgoritmo deve e soddisfare requisiti molto pi` stringenti che nel secondo. Tuttavia, nella pratica, anche u 64

il secondo comportamento ` pi` che soddisfacente; infatti, tenuto conto di quanto detto e u a proposito del criterio darresto, si ha che, se {xk } ha almeno un punto limite in , ` e k che approssimi un sempre possibile trovare, per k sucientemente grande, un punto x punto di con la precisione desiderata. Ovviamente la successione {xk } pu` poi avere pi` di un punto limite, sia in che fuori o u di . Unaltra caratterizzazione della convergenza di un algoritmo si ha in relazione alla scelta di x0 . Per alcuni algoritmi, la convergenza ad un punto si consegue qualunque sia x0 IRn ; in questo caso si dice che lalgoritmo ha convergenza globale. Per altri algoritmi, la convergenza ad un punto ` assicurata solo se x0 S, essendo S un e intorno sferico aperto di ; in questo caso si dice che lalgoritmo ha convergenza locale. Notiamo che quando si parla di convergenza globale (locale) di un algoritmo, non si intende convergenza ad una soluzione globale (locale) del problema. Si consideri ad esempio il semplice problema:
xIR

min x2

(89)

la cui soluzione ` ovviamente x = 0. e Un algoritmo per risolverlo pu` essere dato dal procedimento iterativo Alg1 denito o da xk Alg1 : xk+1 = 2 0 IR, otteniamo: A partire da un x x1 = x0 /2, x2 = x1 /2 = x0 /4, x3 = x2 /2 = x0 /8, x4 = x3 /2 = x0 /16, ` e cos` via; quindi, per un k generico, abbiamo xk = x0 /2k . E evidente che la successione = 0, soluzione del problema, qualunque sia x0 ; quindi Alg1 che si ottiene converge a x converge, e converge globalmente. Un secondo algoritmo per risolvere il problema dellesempio pu` essere dato dal proo cedimento iterativo Alg2 denito da Alg2 : xk+1 = xk (k + 1)

A partire da un x0 IR, otteniamo: x1 = x0 , x2 = x1 /2 = x0 /2, x3 = x2 /3 = x0 /(2 3), x4 = x3 /4 = x0 /(2 3 4), e cos` via; quindi, per un k generico, abbiamo xk = x0 /k!. Anche in questo caso, ` evidente e = 0, soluzione del problema. che la successione che si ottiene converge globalmente a x Consideriamo ora, sempre per il problema dellesempio, un terzo algoritmo Alg3, denito dalliterazione Alg3 : xk+1 = (xk )2 A partire da x0 IR, otteniamo: 65

x1 x2 x3 x4

= (x0 )2 , = (x1 )2 = (x0 )4 , = (x2 )2 = (x0 )8 , = (x3 )2 = (x0 )16 ,


k

e cos` via; quindi, per un k generico, abbiamo xk = (x0 )2 . In questo caso, se assumiamo x0 = 1, otteniamo xk = 1 per ogni k. Quindi la successione che si ottiene ` convergente, e ma ad un punto x = 1 . Se assumiamo x0 = 2 la successione che si ottiene ` / e 0 = 1/2, si ottiene xk = 1 , e inquesto caso la evidentemente divergente. Se si assume x 22k successione che si ottiene converge a x = 0. Si pu` facilmente vericare che la successione o converge alla soluzione del problema x = 0 se, e solo se, x0 (1, 1). Quindi Alg3 ` un e algoritmo che converge solo localmente. Nel valutare le prestazioni di un algoritmo, oltre alla convergenza, occorre poi prendere in considerazione la sua rapidit` di convergenza ( velocit` di convergenza). Infatti dati a a due algoritmi che risolvono lo stesso problema, il numero di iterazioni richiesto anch` il e criterio di arresto sia soddisfatto pu` risultare molto diverso. o Nella valutazione della rapidit` di convergenza si assume, eventualmente estraendo una a sottosuccessione convergente ad un punto limite , che la successione {xk } prodotta dallalgoritmo risulti convergente ad ; cosicch` risulti limk xk = , e quindi e limk xk = 0. Il metodo piu utilizzato per valutare la rapidit` di convergenza ad della successione a {xk } si basa sullanalisi di come si riduce il termine xk+1 rispetto al termine xk ; si basa cio` sullanalisi del rapporto xk+1 / xk . e Si dice che lalgoritmo ha rapidit` di convergenza: a - lineare, se esiste un c (0, 1) tale che, per k abbastanza grande, si ha: xk+1 c; xk - superlineare, se si ha:
k

lim

xk+1 =0; xk

- quadratica, se esiste un c > 0 tale che, per k abbastanza grande, si ha: xk+1 c. xk 2 Si verica facilmente che se un algoritmo converge superlinearmente, converge anche linearmente; e se converge quadraticamente converge anche superlinearmente. Quindi la convergenza quadratica ` pi` rapida di quella superlineare, e la superlineare ` pi` rapida e u e u della lineare. Se consideriamo di nuovo il Problema (89), ricordando che = 0 vediamo che: - per Alg1 si ha: xk+1 x0 /2k+1 1 = 0 k = , k x x /2 2

e quindi Alg1 converge linearmente;

66

- per Alg2 si ha: lim xk+1 x0 /(k + 1)! 1 = lim = lim =0, k k k + 1 xk x0 /k!

e quindi Alg2 converge superlinearmente; - per Alg3 si ha, direttamente dalla denizione: xk+1 xk+1 = k 2 =1, xk 2 (x ) e quindi Alg3 converge quadraticamente. Per k = 1, 2, . . . , 5 a partire dallo stesso x0 = 1/2, otteniamo con i tre algoritmi i valori di xk riportati nella Tabella 1. Se poi poniamo k = 10 risulta, rispettivamente per Alg1, Alg2, Alg3: x10 = 4.88 104 , x10 = 1.37 107 , x10 = 5, 56 10309 (!). Quindi si constata che Alg3 ` pi` veloce di Alg2, e Alg2 ` pi` veloce di Alg1. e u e u x0 = Alg1 Alg2 Alg3
1 2

x1 0.25 0.5 0.25

x2 0.125 0.25 0.0625

x3 0.0625 0.08333 0.0039

x4 0.03215 0.020833 1.5 105

x5 0.015625 0.004166 2.32 109

Table 1: rapidit` di convergenza a Osserviamo a questo punto che un algoritmo di ottimizzazione deve essere in grado di risolvere non un problema particolare, come il Problema (89), ma una intera classe di problemi: ad esempio un algoritmo di ottimizzazione non vincolata deve potersi applicare a tutti i problemi della forma (2), qualunque sia la funzione f (x) continuamente dierenziabile; e le propriet` di convergenza e rapidit` di convergenza dellalgoritmo debbono a a valere per lintera classe. Gli algoritmi Alg1, Alg2, Alg3 sono stati introdotti a titolo puramente esemplicativo con riferimento al Problema (89), ma nessuno di essi pu` esssere o considerato un algoritmo di ottimizzazione: infatti nessuno di essi ` in grado di risolvere e il problema minxIR (x 1)2 , che ` evidentemente dello stesso tipo del Problema (89). e Osserviamo inoltre che, da un punto di vista pratico, le considerazioni analitiche sulla rapidit` di convergenza non sono sucienti a stabilire che un algoritmo ha prestazioni a migliori di un altro, in quanto tengono conto solo del numero delle iterazioni, e non di quanto ogni iterazione sia onerosa da un punto di vista computazionale. Come vedremo nel seguito, in generale la singola iterazione di un algoritmo con rapidit` lineare richiede a calcoli molto pi` semplici di quelli richiesti da un algoritmo con rapidit` quadratica. In u a pratica quindi occorre cercare un compromesso conveniente, tra lesigenza di non eettuare troppe iterazioni, e quella di avere iterazioni non troppo onerose. Domande 1) Sia dato il problema: minxIR sin x; e lalgoritmo Alg denito da: Alg : x
k+1

xk 2

xk 2

k = 0, 2, 4 . . . (interi pari), k = 1, 3, 5 . . . (interi dispari)

Sai analizzarne le caratteristiche di convergenza? E di rapidit` di convergenza? a 67

2) Sai vericare che un algoritmo che converge superlinearmente converge anche linearmente? E che un algoritmo che converge quadraticamente converge anche superlinearmente? 3) Per il problema dellesempio (89), ammettiamo come criterio di arresto che per la derivata della funzione obiettivo risulti |df (xk )/dx| 106 . Assumendo x0 = 1/2, dopo quante iterazioni si arresteranno Alg1, Alg2 e Alg3? 4) Nella pratica implementazione degli algoritmi, occorre sempre dare un numero massimo di iterazioni K, raggiunto il quale lalgoritmo viene comunque arrestato. Per il problema dellesempio (89), ammettiamo dunque che larresto avvenga o se |df (xk )/dx| 1012 , o se k = K = 30. Assumendo x0 = 1/2, quale delle due condizioni si vericher` prima? a

10
10.1

Algoritmi per lottimizzazione non vincolata


Introduzione

Consideriamo il problema di ottimizzazione non vincolata:


xRn

min f (x)

(90)

in cui f : Rn R. Nel seguito supporemmo sempre valida la seguente ipotesi: Ipotesi 1 La funzione f : Rn R ` una funzione continuamente dierenziabile ed esiste e 0 Rn tale che linsieme di livello L un x x0 sia compatto. ` E noto che, sotto lipotesi 1, il Problema (90) ammette un punto di minimo globale x Lx0 e che ogni punto di minimo locale di f in Lx0 ` un punto stazionario di f , ossia un e punto in cui si annulla il gradiente. Gli algoritmi che prenderemo in considerazione consentono, in generale, soltanto la determinazione di punti stazionari di f , ossia di punti dellinsieme bersaglio := { Rn : f () = 0}. In generale si riesce a garantire che, se x0 non ` gi` un punto stazionario, e a vengano comunque ottenuti punti stazionari in cui la funzione obiettivo assume un valore inferiore al valore assunto nel punto iniziale x0 e ci` consente di ottenere soluzioni o soddisfacenti in molte applicazioni. Se poi la funzione obiettivo ` convessa, la determinazione di un punto stazionario risolve e completamente il problema, poich, come ` noto, ogni punto stazionario di una funzione e e convessa ` un punto di minimo globale. e Gli algoritmi che ci proponiamo di studiare possono essere descritti per mezzo dello schema concettuale seguente:

68

Schema generico di algoritmo di ottimizzazione non vincolata 1. Si ssa un punto iniziale x0 Rn e si pone k = 0. 2. Se xk stop. 3. Si calcola una direzione di ricerca dk Rn . 4. Si calcola un passo k R lungo dk ; 5. Si determina un nuovo punto xk+1 = xk + k dk . Si pone k = k + 1 e si ritorna al Passo 2. Dal punto di vista geometrico lalgoritmo si pu` descrivere come una successione di o spostamenti (deniti dagli scalari k ) lungo le direzioni di ricerca dk , eettuati a partire da x0 . Gli algortimi che consideriamo sono algoritmi di discesa ovvero garantiscono che f (xk + k dk ) < f (xk ). Commentiamo brevemente lo schema considerato. 1. Scelta del punto inziale. Il punto iniziale dellalgoritmo ` un dato del problema e e deve essere fornito in relazione alla particolare funzione che si intende minimizzare. Il punto x0 dovrebbe essere scelto come la migliore stima disponibile della soluzione ottima, eventualmente facendo riferimento a un modello semplicato della funzione obiettivo. Nella maggior parte dei casi, tuttavia, non esistono criteri generali per eettuare una buona scelta di x0 e quindi siamo interessati a denire algoritmi le cui propriet` di convergenza siano indipendenti dalla scelta del punto iniziale (algoritmo a globalmente convergente). Nella soluzione di problemi applicativi pu` essere conveniente ripetere la ricerca a o partire da punti iniziali dierenti, ad esempio generati casualmente, e scegliere poi il punto stazionario migliore tra quelli cos` determinati. 2. Criterio di arresto. La verica eettuata al Passo 2 sullappartenenza di xk allinsieme equivale a controllare se f (xk ) = 0. In pratica, per lutilizzo su calcolatore con precisione nita, occorre specicare un criterio di arresto. Una prima possibilit` consiste nellarrestare lalgoritmo quando a f (xk ) 1 in cui 1 > 0 ` un valore sucientemente piccolo. e Dal punto di vista numerico tale criterio pu` non essere del tutto soddisfacente o perch non fa riferimento n alla precisione del mezzo di calcolo, n alla scala con e e e cui ` calcolato f . Nei codici di calcolo occorrer` quindi denire criteri pi` signicae a u tivi. Osserviamo che la possibilit` di utilizzare la (92) (opportunamente rielaborata) a come criterio di arresto richiede che si possa dimostrare che l algoritmo consente 69 (92) (91)

di raggiungere valori arbitrariamente piccoli di elevati di k. Accanto alla condizione (92) se ne utilizzano altre xk+1 xk 2

f (xk ) per valori sucientemente

|f (xk+1 ) f (xk )| 3

Luso della condizione xk+1 xk 2 ` motivata dal fatto che nel caso di convere genza superlineare la quantit` xk+1 xk fornisce una stima dellerrore xk x . a In generale per` questo non ` vero; inoltre a volte anche spostamenti piccoli possono o e produrre grossi cambiamenti nel valore della fuznione obiettivo. Questo ` il motivo e per cui si utilizza congiuntamente anche la seconda condizione. In realt` ` preferibile utilizzare la seguente modica che consente di normalizzare a e rispetto ai valori assunti da f e da x (con un controllo per evitare la divisione per zero): xk+1 xk |f (xk+1 ) f (xk )| 2 3 (93) max{ xk , 1} max{|f (xk )|, 1} Le condizioni (92) e (93) sono conosciute cone criterio di Himmelblau. Valori tipici per 1 , 2 , 3 sono 103 105 . Per quanto riguarda la scelta della norma, tra le pi` utilizzate ci sono u
2

3. Scelta della direzione. I criteri seguiti nella scelta della direzione di ricerca dk individuano il particolare metodo di ottimizzazione utilizzato. Tra i metodi esistenti, una delle distinzioni pi` signicative ` quella che fa riferimento u e alle informazioni disponibili sulla funzione da ottimizzare ai ni del calcolo di dk . In particolare, possiamo distinguere: - metodi che utilizzano soltanto le derivate prime (metodo del gradiente, metodi delle direzioni coniugate, metodi Quasi-Newton); - metodi che utilizzano la conoscenza delle derivate prime e delle derivate seconde (Metodo di Newton e relative modiche); - metodi senza derivate, che si basano esclusivamente sulla valutazione della funzione obiettivo lungo direzioni di ricerca pressate (come, ad esempio, gli assi coordinati) o denite in base ai valori della funzione obiettivo nei punti precedenti. Nel seguito considereremo solo il metodo del gradiente, il metodo del gradiente coniugato e il metodo di Newton. 4. Calcolo del passo. Il calcolo dello scalare k costituisce la cosiddetta ricerca unidimensionale o ricerca di linea (line search) e viene eettuato valutando la funzione obiettivo (ed eventualmente le derivate prime) lungo la direzione dk . Nel caso in cui la direzione di ricerca sia una direzione di discesa, e in particolare che soddis la condizione f (xk )T dk < 0, potremo limitarci a considerare valori di > 0. Possiamo facilmente dimostrare un primo risultato per lo schema di algoritmo denito sopra. 70

Teorema 39 [3] Sia {xk } la successione prodotta dallalgoritmo. Supponiamo che Lx0 sia compatto e che f (xk+1 ) < f (xk ). Allora: (a) la successione {xk } rimane in Lx0 ed ammette punti di accumulazione; (b) ogni punto di accumulazione di {xk } appartiene a Lx0 ; (c) la successione {f (xk )} converge. Dimostrazione [3]. (NON in programma) Poich per denizione di algoritmo e di discesa f (xk+1 ) < f (xk ) per ogni k, la successione rimane in Lx0 . Inoltre per la compattezza di Lx0 , {xk } ammette almeno una sottosuccessione {xk }K convergente e tutte le sottosuccessioni convergenti hanno punti di accumulazione in Lx0 . Inoltre poich f ` e e continua e Lx0 ` compatto, esiste il minimo x di f su Lx0 e risulta quindi f (xk ) f (x ) e per ogni k. La successione {f (xk )} ` monotona decrescente e limitata inferiormente e e quindi converge. Il risultato di convergenza riportato nel Teorema 39 non consente in generale di mettere in relazione i punti di accumulazione della successione {xk } prodotta dallalgoritmo con i punti dellinsieme bersaglio . In particolare la richiesta (91) di semplice riduzione della funzione f , non ` suciente e a garantire la convergenza alla soluzione, come provato nellEsempio 15 nel paragrafo 10.3. La scelta del passo deve garantire alcune propriet` aggiuntive. Nel seguito riportiamo a due criteri per la determinazione del passo che consentono di garantire la convergenza dei metodi che considereremo successivamente.

10.2

Metodi di ricerca unidimensionale

Gli algoritmi di ricerca unidimensionale hanno per obiettivo la determinazione del passo k lungo la direzione assegnata dk . In termini molto generali, si pu` dire che la ricerca unidimensionale ` nalizzata, o e essenzialmente, ad assicurare la convergenza globale dellalgoritmo, mentre la rapidit` di a convergenza dipende in prevalenza dalla scelta della direzione. Fissati quindi xk , dk , la scelta dello scalare ` fatta sulla base dellandamento di f lungo e la direzione di ricerca dk . In particolare, indicheremo con : R R la funzione di una sola variabile denita da () = f (xk + dk ). Se f ` dierenziabile, esiste la derivata di () rispetto ad , indicata con (), che si e pu` porre nella forma: o () = f (xk + dk )T dk , (94) e coincide, ovviamente, con la derivata direzionale di f lungo la direzione dk nel punto xk + dk . Per la ricerca unidimensionale sono disponibili diversi algoritmi che possono prevedere il calcolo del punto di minimo di f (xk +dk ) rispetto a (ricerca esatta) oppure lindividuazione di un intervallo di valori accettabili ai ni dellottenimento della convergenza per k (ricerca inesatta).

71

10.2.1

Metodi di ricerca esatta

Uno dei criteri proposti per la determinazione di k ` quello di scegliere un valore di e k , ossia un valore k per cui si abbia: che minimizzi () lungo la direzione d f (xk + k dk ) f (xk + dk ), per ogni R. (95)

Se si assume che linsieme di livello Lx0 sia compatto e che xk Lx0 , esiste un valore di che risolve il problema (95) cio` esiste e k = arg min ().

Inoltre, se < 0, ossia se ` una direzione di discesa, si pu` supporre 0 e o nella (95). Poich f ` dierenziabile, dovr` risultare: e e a (k ) = f (xk + k dk )T dk = 0. (96)

f (xk )

dk

dk

Dal punto di vista geometrico, la (96) esprime il fatto che se k minimizza (), il gradiente di f in xk+1 deve essere ortogonale alla direzione dk . In generale non ` facile determinare il passo k che minimizza esattamente la funzione e () ad eccezione di alcuni casi particolari. 10.2.2 Ricerca di linea esatta nel caso quadratico

Un caso semplice in cui ` possibile determinare analiticamente la soluzione del problema e (95), corrisponde alla minimizzazione di una funzione quadratica strettamente convessa 1 f (x) = xT Qx + cT x 2 Q 0.

In questo caso, possiamo scrivere uno sviluppo esatto di f (xk + dk ) e otteniamo 1 T (97) () = f (xk + dk ) = f (xk ) + f (xk )T dk + 2 dk Qdk 2 Anche ` una funzione quadratica strettamente convessa della variabile , il cui minimo e si trova annullando il gradiente, ovvero: () = e quindi si ottiene: k = f (xk )T dk + dk Qdk = 0 f (xk )T dk (Qxk + c)T dk
T

(98) . T T dk Qdk dk Qdk Osserviamo che nel caso di funzione quadratica dalla (97), possiamo sempre scrivere: 1 T f (xk + dk ) f (xk ) = f (xk )T dk + 2 dk Qdk 2 Sostituendo lespressione del passo k ottenuto con ricerca di linea esatta si ottiene: f (xk+1 ) f (xk ) = ( f (xk )T dk )2 dk Qdk
T

1 ( f (xk )T dk )2 k T k 1 ( f (xk )T dk )2 d Qd = T 2 (dk T Qdk )2 2 dk Qdk

Quindi nel caso di minimizzazione di funzione quadratica con ricerca di linea esatta, si ottiene non solo che f (xk+1 ) < f (xk ), ma lentit` della riduzione della funzione lungo a la direzione dk . 72

Esempio 14 Data la funzione dellEsempio 11 del paragrafo 7.4, scrivere lespressione di () e () con xk , dk generici. Soluzione. Utilizziamo lespressione (97). Abbiamo gi` calcolato a xk = (x1 x2 )T , dk = (d1 d2 )T . () = e x1 x2 +2x2 +2x1 x2 +x2 + 1 2 4x1 + 2x2 + 1 2x2 + 2x1 1
T

f e

2f .

Indichiamo

d1 d2

1 + 2 2

d1 d2

4 2 2 2

d1 d2

() = d1 (4x1 + 2x2 + 1) + d2 (2x2 + 2x1 1) + (2d2 + d2 + 2d1 d2 ) 1 2

da cui si ottiene lespressione k = d1 (4x1 + 2x2 + 1) + d2 (2x2 + 2x1 1) 2d2 + d2 + 2d1 d2 1 2

Esercizio 11 Data la funzione dellEsercizio 6. Calcolare lespressione del passo ot0 tenuto con una ricerca di linea esatta a partire dal punto x = lungo la direzione 1 d= 10.2.3 1 1/2 .

Metodi di ricerca inesatta: metodo di Armijo

In pratica, la ricerca di linea esatta, ossia la determinazione di un k che risolva il problema (95) ` notevolmente dispendiosa, soprattutto per problemi in cui f ` non convessa. Daltra e e parte, non esistono particolari vantaggi, dal punto di vista del funzionamento complessivo dei metodi di minimizzazione, nel determinare il punto di minimo lungo dk . Si preferisce quindi adottare criteri approssimati che siano pi` facilmente utilizzabili dal punto di u vista computazionale e garantiscano al tempo stesso opportune propriet` di convergenza. a Il metodo di Armijo pu` essere descritto per mezzo dello schema iterativo seguente: o Metodo di Armijo Dati: (0, 1), (0, 1/2). Passo 1. Si sceglie k e si pone = k e j = 0. Passo 2. Se ` soddisfatta la condizione e f (xk + dk ) f (xk ) + f (xk ) dk si assume k = . Stop Passo 3. Si pone = , j = j + 1 e si ritorna al Passo 2. Valori tipici dei parametri sono [0.1, 0.5] e [104 , 103 ]. 73 (99)

Osservazione 9 Si noti che nella ricerca unidimensionale ` importante utilizzare una e buona stima iniziale k del passo, per ridurre il numero di valutazioni di funzione ed evitare fenomeni di overow. Una scelta appropriata di k deve essere tuttavia eettuata in relazione al metodo utilizzato per il calcolo di dk . ` E immediato rendersi conto che, dal punto di vista geometrico, la condizione (99) impone che k sia tale da assicurare che (k ) sia al di sotto della retta passante per (0, (0)) e avente pendenza (0), ovvero (vedi Figura 14): y() = (0) + (0). La (99) si pu` scrivere () y() ed impone quindi un suciente riduzione della funzione o obiettivo.

Una condizione di suciente spostamento viene imposta implicitamente, in quanto lalgoritmo assicura che k sia scelto come il pi` grande valore di per cui la (99) ` soddisfatta u e nellinsieme: A = { : = j k , j = 0, 1, . . .}. La condizione < 1/2 ` motivata dallopportunit` di assicurare che, se f ` una funzione e a e quadratica, risulti accettabile il valore del passo che minimizza () ed ` importante, in e alcuni metodi, ai ni della rapidit` di convergenza. a Esercizio 12 Dimostrare che se f ` una funzione quadratica strettamente convessa, il e passo (98) ottenuto con ricerca di linea esatta ` accettabile secondo il criterio di Armijo. e

10.3

Il metodo del gradiente

Il metodo del gradiente (o metodo della discesa pi` ripida) ` uno dei primi metodi proposti u e per la minimizzazione non vincolata e si basa sulluso della direzione di ricerca dk = f (xk ), ossia della direzione opposta a quella del gradiente, o antigradiente di f in xk . Osserviamo che in questo caso risulta f (xk )T dk = f (xk )
2

e quindi se f (xk ) = 0, la direzione dellantigradiente ` sempre di discesa. e Linteresse della direzione f (xk ) risiede proprio nel fatto che, se il gradiente ` e continuo, come si ` ipotizzato, essa costituisce una direzione di discesa che si annulla se e e solo se x ` un punto stazionario. e Questa propriet` assicura che con una scelta opportuna del passo k sia possibile stabilire a facilmente un risultato di convergenza globale. Il metodo del gradiente costituisce quindi il modello pi` signicativo di algoritmo globalu mente convergente.

74

Si pu` schematizzare la kesima iterazione del metodo del gradiente come segue: o xk+1 = xk k f (xk ), (100)

in cui rimane da specicare come scegliere il passo k . Osserviamo innanzitutto come la scelta del passo k tale da garantire una semplice riduzione della funzione obiettivo f (xk+1 ) < f (xk ), non sia suciente a garantire la convergenza del metodo. Esempio 15 (Non in programma) Sia data la funzione f : R R
1 3 (1 x)2 2(1 x) = 3x2 + 2x 5 4 4

se x > 1 se x < 1 se 1 x 1

f (x) =

2 3x2 2x 5 (1 + x) 2(1 + x) = 4 4 2

x 1

il cui gradiente ` e
1 3 x+ 2 2

se x > 1 se x < 1 se 1 x 1

df (x) = 3x 1 dx 2 2 2x

Si tratta di una funzione continuamente dierenziabile, convessa che ammette come unico punto di minimo il punto x = 0 . Mostrare che il metodo del gradiente xk+1 = xk f (xk ) in cui il passo 1 ` scelto in modo da soddisfare un semplice critero di riduzione della e funzione obiettivo non converge al punto x . ` E necessario quindi denire quali regole per la scelta del passo consentono di garantire la convergenza. Consideriamo dapprima il caso quadratico e poi il caso di funzione pi` u generale.

10.4

Il metodo del gradiente per funzioni quadratiche

Consideriamo il caso di minimizzazione di una funzione quadratica f (x) = 1 xT Qx + cT x 2 strettamente convessa Q 0. Abbiamo visto che in questo caso ` possibile calcolare anae liticamente il passo k con una ricerca di linea esatta e vale (98). Sostituendo lespressione di dk otteniamo il passo f (xk ) 2 k = f (xk )T Q f (xk ) Riassumendo:

75

Metodo del gradiente con ricerca di linea esatta Passo 1. Si ssa un punto iniziale x0 Rn e si pone k = 0. Passo 2. Si calcola Passo 3. Si assume xk+1 = xk f (xk ) 2 f (xk ), f (xk )T Q f (xk ) f (xk ); se f (xk ) = 0 stop.

di pone k = k + 1 e si ritorna al passo 2. Osserviamo per` che il metodo del gradiente con ricerca di linea esatta si muove lungo o direzioni successive che sono ortogonali. Possiamo dimostrare il seguente risultato. Teorema 40 Si consideri la funzione 1 f (x) = xT Qx + cT x, 2 con Q matrice simmetrica e denita positiva. Il metodo del gradiente con ricerca unidimensionali esatta converge allunico punto di minimo x = Q1 c. Dimostrazione. Nel caso di funzione quadratica possiamo scrivere: 1 T f (xk + dk ) f (xk ) = f (xk )T dk + 2 dk Qdk 2 Sostituendo lespressione del passo k ottenuto con ricerca di linea esatta e della direzione dk , si ottiene: 1 f (xk ) 4 f (xk+1 ) f (xk ) = <0 2 f (xk )T Q f (xk ) poich Q 0 e quindi il termine f (xk ) Q f (xk ) > 0. e Quindi la successione {xk } ` tale che f (xk+1 ) < f (xk ) e dunque si mantiene in Lx0 che ` e e compatto. La successione {xk } ammette quindi almeno una sottosuccessione convergente; inoltre poich esiste il punto di minimo x e risulta f (x) f (x ) per ogni x, possiamo e anche dire che la successione {f (xk )} ` limitata inferiormente dal valore f (x ). Dunque e {f (xk )} ` una succesione monotona decrescente e limitata inferiormente, e quindi, per la e Proposizione 39, {f (xk )} converge ad un valore f . Si avr` quindi a
k T

lim (f (xk+1 ) f (xk )) = 0.

Inoltre per ogni forma quadratica, vale: m x


2

xT Qx M x

x Rn

dove m , M indicano rispettivamente lautovalore minimo e massimo della matrice Q e quindi in particolare possiamo anche scrivere m f (xk )
2

f (xk )T Q f (xk ) M 76

f (xk )

Ricordando che per ipotesi Q ` denita positiva, si ottiene e f (xk+1 ) f (xk ) Al limite otteniamo quindi 0 = lim (f (xk+1 ) f (xk ))
k

1 2M

f (xk ) 2 .

1 lim 2M k

f (xk )

e quindi
k

lim

f (xk ) = 0

Ovvero ogni successione {xk }K convergente, converge al punto x . Poich x ` lunico e e k } converge a x . punto stazionario, allora tutta la successione {x Per quanto riguarda la rapidit` di convergenza del metodo del gradiente, vale la stima a espressa dalla seguente proposizione. Teorema 41 Si consideri la funzione 1 f (x) = xT Qx + cT x, 2 con Q matrice simmetrica e denita positiva. Il metodo del gradiente con ricerca unidimensionali esatta converge allunico punto di minimo x = Q1 c e si ha: xk+1 x
2

M m

1/2

M m M + m

xk x 2 ,

(101)

in cui M e m sono, rispettivamente, il massimo e il minimo autovalore di Q. Dimostrazione. Usando la formula di Taylor possiamo scrivere (tenendo conto che f (x ) = 0) 1 f (x) = f (x ) + (x x )T Q(x x ). 2 Sfruttando lipotesi di convessit` otteniamo a m x x 2
2

f (x) f (x )

M x x 2 . 2

(102)

Posto x() = xk f (xk ), possiamo scrivere x() x


2

= =

xk f (xk ) x xk x

(x() x ) = f (x )
T

f (xk )

(x() x ) . f (x )
T

Usando la formula di Lagrange possiamo scrivere (xk x )T Q (x() x ), e quindi x() x


2

f (xk )

(x() x ) =

xk x (I Q) (x() x ) I Q xk x x() x

77

da cui x() x I Q xk x max{|1 m |, |1 M |} xk x = () xk x . La funzione () assume valore minimo nei punti in cui 1 m = (1 M ) ovvero per 2 M m 1 = , (1 ) = . M + m M + m Quindi possiamo scrivere x(1 ) x M m M + m xk x . (103)

Dalla disequazione sinistra di (102), tenuto conto che k ` ottenuto con una ricerca e k+1 ) f (x()) per ogni , risulta: unidimensionale esatta e quindi f (x m k+1 x x 2 f (xk+1 ) f (x ) f (x(1 )) f (x ). 2 Utilizzando la disequazione destra della (102) e la (103) abbiamo ancora xk+1 x ovvero xk+1 x
2

M 2 [f (x(1 )) f (x )] x(1 ) x m m M m
1/2

M m

M m M + m

xk x

M m M + m

xk x

La stima data nella Proposizione 41 mostra che dipende, nel caso quadratico, dal rapporto M 1 r= m tra il massimo e il minimo autovalore della matrice Hessiana Q. Si pu` scrivere o xk+1 x
2

r1/2

r1 r+1

xk x 2 .

Osserviamo inoltre che, se r = 1, la convergenza viene ottenuta in un solo passo da ogni punto iniziale. Se r > 1, la convergenza pu` ancora essere ottenuta in un solo passo a o partire da punti situati sugli assi delliperellissoide che denisce una supercie di livello di f , mentre esistono punti (in particolare quelli situati in prossimit` dellasse maggiore) a a partire dai quali la convergenza pu` essere notevolmente lenta (vedi Figura ??). o La rapidit` di convergenza del metodo del gradiente peggiora, in genere, al crescere di r, a ossia allaumentare del mal condizionamento della matrice Q. Esempio 16 Sia dato il problema di minimizzazione min x1 x2 + 2x2 + 2x1 x2 + x2 . 1 2 Si scrivano le prime iterazioni del metodo del metodo del gradiente con una ricerca di linea esatta a partire dal punto iniziale 0 x0 = . 0 78

Soluzione. Si tratta della funzione studiata nellesempio 11 il cui gradiente ` e f (x) = Iterazione 0. d0 = f (x0 ) = Si determina il passo 0 = arg min f (x0 + d0 ) = arg min () = ( 2).

4x1 + 2x2 + 1 2x2 + 2x1 1 1 . 1

Annullando la derivata () == 2 2 = 2( 1) = 0, si ottiene 0 = 1 e quindi x1 = 0 1 1 + = . 0 1 1

Iterazione 1. Verica condizioni di arresto f (x1 ) = 1 =0 1

quindi il punto non ` ottimo. La nuova direzione ` e e d1 = q(x1 ) = 1 . 1

Determiniamo 1 = arg min f (x1 + d1 ) = arg min (52 2 1). Annullando la derivata () = 10 2 = 0 si ottiene 1 = 1 . Quindi 5 x2 = x1 1 f (x1 ) = 1/5 0.8 = 1 + = 1 1/5 1.2

Iterazione 2. Verica condizione di arresto f (x2 ) = 1/5 1/5 = 0,

quindi il punto x2 non ` ottimo. Si calcola la direzione e d = f (x ) =


2 2

1 5
1 5

0.2 0.2

Determiniamo 2 = arg min f (x2 + d2 ) = arg min (2 2 30)/25. Annullando la derivata () = 2 2 = 0

79

e si ottiene 2 = 1. Quindi il punto x3 = x2 + 2 d2 x3 = 1 7/5 = 1 1, 4 .

Iterazione 3. Verica condizione di arresto: q(x ) =


3

1 5 1 5

=0

e il punto non ` ottimo. Si dovrebbe proseguire. e Noi terminiamo qui lapplicazione dellalgoritmo. La rapidit` di convergenza ` determinata a e dal rapporto max (Q) 3+ 5 . = min (Q) 3 5

Esercizio 13 Si consideri la funzione dellesercizio 6. Si applichi il metodo del gradiente 1 con ricerca di linea esatta a partire dal punto x0 = . 1 Nel caso di funzione quadratica si pu` garantire la convergenza del metodo del gradiente o in un numero nito di iterazioni scegliendo il passo k in modo opportuno. In particolare possiamo denire il metodo (NON in PROGRAMMA) Metodo del gradiente con uso degli autovalori Passo 1. Si ssa un punto iniziale x0 Rn , si calcolano gli autovalori di Q 1 . . . n . Do k=0,. . . ,n-1 Passo k2. Si calcola Passo k3. Si pone xk+1 = xk End Do Vale il seguente risultato che si riporta senza dimostrazione. Teorema 42 Si consideri la funzione 1 f (x) = xT Qx + cT x, 2 con Q matrice simmetrica e denita positiva e siano 1 . . . n gli autovalori di Q. Il metodo del gradiente, descritto alla generica iterazione k 0 dalla formula di aggiornamento (104), converge al massimo in n iterazioni allunico punto stazionario x = Q1 c di f . 80 f (xk ); se f (xk ) = 0 stop. 1 k+1 f (xk ), (104)

Esempio 17 Sia dato il problema dellEsercizio 16. Si scrivano le iterazioni del metodo 0 del metodo del gradiente del tipo (104) a partire dal punto iniziale x0 = . 0 Soluzione. Abbiamo gi` calcolato gli autovalori di Q che sono 1 = 3 5 e 2 = 3+ 5. a Quindi le iterazioni sono Iterazione 1. 1 f (x0 ) x1 = x0 1 1 1 3 + 5 1 0 1 1 0 0 x =x f (x ) = = 0 1 1 4 3 5 1 Iterazione 2. 1 1 3+ 5 f (x ) x =x 2 4
2 1 5+1 2

1 1

1 3+ 5

1 3/2

Il minimo ` stato ottenuto in n = 2 iterazioni. e Osserviamo che possiamo scrivere: x2 = x1 1 1 1 f (x1 ) = x0 f (x0 ) f (x1 ) 2 1 2

Generalizzando al caso n dimensionale, per una funzione quadratica strettamente convessa possiamo scrivere analiticamente, lespressione della soluzione ottima che `: e x =x
j=0 0 n1

1 j+1

f (xj ).

Quindi utilizzando maggior informazioni, in particolare informazioni del secondo ordine (gli autovalori della matrice Q), si riesce ad ottenere una maggiore rapidit` di convergenza a nita. Vedremo nel paragrafo dedicato al metodo del gradiente coniugato che questo stesso tipo di convergenza si pu` ottenere utilizzando implicitamente informazioni del secondo o ordine nella denizione della direzione di ricerca piuttosto che nella denizione del passo. Esercizio 14 Si consideri la funzione dellEsercizio 6. Mostrare che il metodo del gradiente denito dalliterazione (104) produce le stesse iterazioni del metodo del gradiente con ricerca di linea esatta. Dare una giusticazione teorica. Consideriamo ora il caso di funzioni non quadratiche.

10.5

Il metodo del gradiente con ricerca di linea

Nel caso di funzione non quadratica, abbiamo gi` osservato che eettuare una ricerca di a linea esatta pu` essere troppo oneroso e non necessario. o Per il metodo del gradiente si pu` utilizzare una ricerca di linea di tipo Armijo come o descritto nel paragrafo 10.2.3. In particolare deniamo il seguente schema generale di algoritmo del metodo del gradiente. 81

Metodo del gradiente con ricerca di linea di Armijo Dati. (0, 1/2) e (0, 1). Passo 1. Si ssa un punto iniziale x0 Rn e si pone k = 0. Passo 2. Si calcola f (xk ); se f (xk ) = 0 stop.

Passo 3. Si sceglie = k e si calcola il pi` piccolo valore intero j u {0, 1, 2 . . .} tale che f (xk+1 ) f (xk ) j con xk+1 = xk j f (xk ). Si pone k = j . Passo 4. Si assume xk+1 = xk k f (xk ), k = k + 1 e si ritorna al passo 2.

f (xk ) 2 ,

Vale la seguente proposizione che assicura la convergenza globale del metodo del gradiente con una tecnica di ricerca unidimensionale tipo-Armijo. Teorema 43 [3] Supponiamo che valga lIpotesi 1. Sia {xk } la successione prodotta dal metodo del gradiente con una ricerca unidimensionale di tipo-Armijo. Allora, o esiste un indice 0 tale che x Lx0 e f (x ) = 0, oppure viene prodotta una successione innita tale che ogni punto di accumulazione x di {xk } appartiene a Lx0 e soddisfa f () = 0. x Naturalmente le stesse conclusioni della Proposizione 43, valgono anche se il passo ` determinato con una ricerca di linea esatta. e Per quanto riguarda la rapidit` di convergenza del metodo del gradiente nel caso di a funzioni non quadratiche, si pu` ottenere una stima analoga a quella del Teorema 40 con o riferimento al caso di funzione convessa e di ricerca di linea esatta. Esempio 18 Si consideri il problema dellEsempio 11 del paragrafo 7.4. Si determini lintervallo di valori di accettabili secondo il criterio di Armijo alla prima iterazione del 0 metodo del gradiente con punto iniziale x0 = , posto = 1/4. 0 Soluzione. Abbiamo gi` calcolato il gradiente nellesempio 14. La prima iterazione del a metodo del gradiente parametrica nel passo ` e x1 () = x0 f (x0 ) = La regola di Armijo richiede che risulti f (x1 ()) f (x0 ) 82 f (x0 )
2

0 0

1 1

Sostituendo i valori otteniamo la condizione: 1 2 + 2 0 2 4 he ` soddisfatto per valori di (0, 3 ]. e 2 1 , si determini 1 lintervallo di valori di accettabili secondo la ricerca di linea di Armijo alla prima iterazione del metodo del gradiente. Esercizio 15 Si consideri la funzione dellEsercizio 6. Sia x0 = = 3 2 0 2

10.6

Il metodo del gradiente coniugato

I metodi delle direzioni coniugate sono stati originariamente introdotti come metodi iterativi per la minimizzazione di funzioni quadratiche e sono stati successivamente estesi alla minimizzazione di funzioni non quadratiche. Una delle caratteristiche principali dei metodi delle direzioni coniugate ` che essi cone sentono di determinare in un numero nito di iterazioni il minimo di una funzione quadratica. Abbiamo visto nel paragrafo precedente che un risultato analogo si pu` ottenere con o il metodo del gradiente con una scelta opportuna del passo che richiede il calcolo degli autovalori della matrice Q. La motivazione alla base delluso dei metodi delle direzioni coniugate nellambito dellottimizzazione non vincolata sta nel fatto che tali metodi consentono di ottenere una rapidit` di convergenza superiore rispetto a quella del metodo del gradiente, senza tuttavia a richiedere esplicitamente la conoscenza della matrice Hessiana e senza far uso di operazioni matriciali complesse. Ci` li rende particolarmente vantaggiosi nella soluzione di problemi o di ottimizzazione a grandi dimensioni. Nel seguito analizzeremo dapprima i metodi delle direzioni coniugate con riferimento alla minimizzazione di funzioni quadratiche; successivamente considereremo lestensione al caso non quadratico.

10.7

Il metodo delle direzioni coniugate per funzioni quadratiche

Consideriamo una funzione quadratica del tipo: 1 f (x) = xT Qx + cT x, 2 in cui Q ` una matrice simmetrica denita positiva e c Rn , il cui unico punto di minimo e ` x = Q1 c. e Introduciamo la seguente denizione. Denizione 8 Assegnata una matrice Q simmetrica e denita positiva, due vettori non nulli di , dj Rn si dicono coniugati rispetto a Q (oppure Q-coniugati, oppure Q-ortogonali) se risulta: T di Qdj = 0. 83

Si pu` dimostrare facilmente la seguente propriet` di vettori mutuamente coniugati. o a Teorema 44 [3] Siano d0 , d1 , . . . , dm Rn m+1 vettori non nulli e mutuamente coniugati rispetto a una matrice Q simmetrica denita positiva n n. Allora d0 , d1 , . . . , dm sono linearmente indipendenti. Dimostrazione. Siano 0 , 1 , . . . , m costanti reali tali che
m

j dj = 0.
j=0

(105)

Moltiplicando a sinistra per Q ed eseguendo il prodotto scalare per di si ottiene, essendo di Qdj = 0 per i = j:
m

0=
j=0

j di Qdj = i di Qdi .

Daltra parte, poich` Q ` denita positiva e di = 0 si ha di Qdi > 0 e quindi deve essere e e necessariamente i = 0. Ripetendo lo stesso ragionamento per i = 0, 1, . . . , m si pu` o aermare che la (105) implica i = 0 per i = 0, 1, . . . , m, il che prova lindipendenza lineare dei vettori d0 , . . . , dm . Deniamo allora il metodo delle direzioni coniugate per la minimizzazione di una funzione quadratica strettamente convessa. Metodo delle direzioni coniugate per funzioni quadratiche Passo 1. Si ssa un punto iniziale x0 Rn , si calcolano n vettori non nulli d0 , d1 , . . . , dn1 Rn mutuamente coniugati rispetto a Q. Do k=0,. . . ,n-1 Passo k2. Si calcola Passo k3. Si pone xk+1 = xk + k dk , con k ottenuto con una ricerca di linea esatta: k = End Do Possiamo ora dimostrare la convergenza del metodo in un numero nito di passi. Teorema 45 Sia f una funzione quadratica del tipo f (x) = matrice simmetrica denita positiva e siano d0 , d1 , . . . , dn1 n vettori non nulli e mutuamente coniugati rispetto a Q. Sia {xk } la successione generata dal metodo delle direzioni coniugate. Allora esiste un intero m n tale che xm coincide con il punto di minimo x di f . 84
1 T 2 x Qx

f (xk ); se

f (xk ) = 0 stop.

f (xk )T dk dk Qdk
T

+ cT x, con Q una

` Dimostrazione. E suciente dimostrare che esiste m n tale che f (xm ) = 0; infatti, per la stretta convessit` di f , questo impica che xm ` il punto di minimo di f . a e Sia k un intero e supponiamo che risulti (altrimenti lalgoritmo si sarebbe fermato) f (xi ) = 0, per i = 0, 1, . . . , k 1. Sia xi un qualunque punto iniziale, literazione xk ottenuta a partire da xi (con k > i) avr` la seguente espressione: a xk = xi + Premoltiplicando per Q si ottiene: Qxk = Qxi + Poich` e ha:
k1 j=i k1 j=i

j dj .

j Qdj .

f (x) = Qx + c, dallequazione precedente, aggiungengo a destra e sinistra c, si f (x ) =


k

f (x ) +
j=i

k1

j Qdj ,

Moltiplicando ancora scalarmente per di


T

di

si ha: f (xi ) +
k1 j=i

f (xk ) = di

j di Qdj
T

Tenendo conto dellipotesi di coniugatezza delle direzioni per cui di Qdj = 0 per i = j, lunico termine della sommatoria diverso da zero ` quello corrispondente a j = i e quindi e si ha: T T T di f (xk ) = di f (xi ) + i di Qdi . Ricordando ora lespressione di i si ottiene di
T T iT

f (xk ) = di

f (xi ) + i di Qdi = di

f (xi )

di

f (xi ) Qdi

di Qdi = 0. f (xi ) = 0, si pu` o (106)

Poich xi ` stato scelto in modo del tutto arbitrario, purch k > i e e e e scrivere: f (xk )T di = 0 per ogni i = 0, 1, . . . , k 1,

cio` il gradiente al passo k ` orotgonale a tutte le direzioni coniugate usate no al passo e e k. Supponiamo allora che sia f (xi ) = 0, per i = 0, 1, . . . , n 1. Allora possiamo scrivere la relazione (106) per k = n si ha f (xn )T di = 0, per ogni i = 0, 1, . . . , n 1

e quindi f (xn ) ` ortogonale agli n vettori d0 , . . . , dn1 che, per la Proposizione 44 sono e linearmente indipendenti, ci` implica che o f (xn ) = 0.

85

Esempio 19 Consideriamo nuovamente il problema dellEsempio (16) min x1 x2 + 2x2 + 2x1 x2 + x2 1 2 Sia assegnato il vettore d0 = 1 2

Determinare un vettore d1 mutuamente coniugato con d0 rispetto alla matrice hessiana Q= 4 2 2 2 .

Applicare il metodo delle direzioni coniugate con direzioni assegnate d0 , d1 , a partire dal 0 punto iniziale x0 = . 0 Soluzione. Dato il vettore d0 = che d0 Qd1 = 0. Si ha: (1 2) 4 2 2 2 d1 1 d2
1 T

1 2

, generiamo un vettore d1 coniugato cio` tale e

= (0

2)

d1 1 d1 2

= 2d2 1 = 0.

Quindi un qualunque vettore della forma d1 = Q coniugato con d0 . Scegliamo, ad esempio, e d1 = 1 0 . d1 1 0

Applichiamo ora il metodo delle direzioni coniugate con direzioni assegnate d0 , d1 . Iterazione 1. Calcoliamo il passo 0 che minimizza esattamente f (x) lungo d0 .
T f (x0 ) d0

(1 = (1 2)

1) 4 2 2 2

0 =

1 2 1 2

0T

Qd0

3 4

Quindi il nuovo punto x1 = x0 + 0 d0 e x1 = 0 0 3 4 1 2 = 3/4 3/2

Iterazione 2. Verica condizione di arresto: f (x1 ) = 86 1 1/2 =0

quindi il punto non ottimo e si prosegue. Minimizzando in modo esatto lungo d(1) si ha: e
T f (x1 d1

(1 = (1 0)

5/2) 4 2 2 2

1 =

1 0 1 0

d1 T Qd1

1 4

Il nuovo punto quindi Determiniamo il punto x2 = x1 + 1 d1 e si ottiene e x2 = che il punto ottimo. Infatti risulta e f (x2 ) = La soluzione ottima ottenuta in n = 2 passi. e Osservazione 10 Notiamo che risulta 0 , 1 < 0. Infatti abbiamo f (x ) d =
0 T 0

1 3/2

0 0

1 1

1 2

=3

f (x ) d =

1 T 1

1 1/2

1 0

=1

cio` le direzioni d0 e d1 sono di salita. e

Esercizio 16 Consideriamo il problema dellEsempio (16). Applicare il metodo delle di1 1 rezioni coniugate con direzioni assegnate d0 = , d1 = , a partire dal 2 0 0 punto iniziale x0 = . 0 Esercizio 17 Si consideri la funzione dellEsercizio 6. Si applichi il metodo delle direzioni 0 coniugate con ricerca di linea esatta a partire dal punto x0 = e con una direzione 1 assegnata d0 = 1 1/2 .

10.8

Metodo del gradiente coniugato per funzioni quadratiche

Nella Proposizione 45 si ` supposto che le direzioni d0 , d1 , . . . , dn1 fossero direzioni coe niugate assegnate. Il calcolo a priori di vettori mutuamente coniugati rispetto ad una matrice Q pu` essere per troppo oneroso e coinvolge operazioni complesse sulla matrice o o Q. In generale, quindi ` interessante uno schema di algoritmo in cui i vettori Q-coniugati e vengono generati iterativamente. Questa classe di metodi ` nota come metodo del gradiente coniugato. La prima die rezione ` quella dellantigradiente d0 = f (x0 ) e le direzioni successive, tutte conie ugate con d0 e tra di loro, sono ottenute con una combinazione lineare della direzione 87

dellantigradiente e della direzione ottenuta al passo precedente ovvero sono generate con la formula di aggiornamento dk+1 = f (xk+1 ) + k dk ; (107)

la scelta di k assicura che la direzione dk+1 sia coniugata rispetto a dk , ovvero si impone T T T che dk Qdk+1 = dk Q f (xk+1 ) + k dk Qdk = 0 da cui si ottiene lespressione del k k = f (xk+1 )T Qdk dk Qdk
T

(108)

` E possibile eliminare la presenza esplicita della matrice Q nella denizione di k ; a partire dalla formula di aggiornamento xk+1 = xk + k dk , moltiplicando per Q e aggiungendo a destra e sinistra c, si ottiene Qxk+1 + c = Qxk + c + k Qdk ovvero, ricordando lespressione del gradiente, f (xk+1 ) = da cui si pu` ricavare o Qdk = f (xk ) + k Qdk f (xk ))

f (xk+1 ) k

Sostituendo nellespressione di k e semplicando k , si ottiene: k = f (xk+1 )T ( f (xk+1 ) dk ( f (xk+1 )


T

f (xk ))

f (xk ))

(109)

Osserviamo che (108) e (109) sono equivalenti per funzioni quadrtiche e indipendenti dalla denizione della direzione e del passo. A partire da (109), si possono dare ulteriori diverse espressioni per il termine k . Ad T esempio nel caso di uso di ricerca di linea esatta, vale la condizione dk f (xk+1 ) = 0. Utilizzandola per esempio nella (109) si pu` scrivere: o k = f (xk+1 )T ( f (xk+1 ) dk
T

f (xk ))

f (xk )

(110)

Inoltre dalla (107) moltiplicta per f (xk+1 )T dk+1 =

f (xk+1 ) si ottiene (per qualunque k)


2

f (xk+1 )

+ k f (xk+1 )T dk =

f (xk+1 ) 2 .

Sostituendo nella (110) si ottiene una formula molto famosa detta di Polak-Ribire: e k = f (xk+1 ) f (xk+1 ) f (xk )
2

f (xk )

(111)

Sfruttando ulteriori propriet` nel caso quadratico, che non riportiamo, si ottiene la formula a di Fletcher-Reeves f (xk+1 ) 2 k = . (112) f (xk ) 2 Riportiamo un possibile schema di metodo del gradiente coniugato. 88

Metodo del gradiente coniugato di Fletcher-Reeves Passo 1. Si ssa un punto iniziale x0 Rn e si pone d0 = f (x0 ) = (Qx0 + c) Do k=0,. . . ,n-1 Passo k2. Si calcola Passo k3. Si pone xk+1 = xk + k dk , con k ottenuto con una ricerca di linea esatta: k = Passo k4. Se f (xk )T dk dk Qdk
T

(113)

f (xk ); se

f (xk ) = 0 stop.

f (xk+1 ) = 0, deniamo dk+1 : dk+1 = f (xk+1 ) + k dk ,

in cui: k = End Do

f (xk+1 ) 2 . f (xk ) 2

Si pu` dimostrare che lalgoritmo del gradiente coniugato genera direzioni coniugate e o quindi determina in un numero nito di passi il punto di minimo della funzione quadratica f . In particolare vale il seguente risultato che si riporta senza dimostrazione. Teorema 46 [3] Sia f una funzione quadratica del tipo f (x) = 1 xT Qx + cT x, con Q 2 una matrice simmetrica denita positiva e sia {xk } la successione generata dal metodo del gradiente coniugato. Allora le direzioni generate dal metodo del gradiente coniugato sono coniugate tra loro ed esiste un indice m n tale che xm coincide con il punto di minimo x di f .

Esempio 20 Consideriamo il problema dellesercizio 16 min x1 x2 + 2x2 + 2x1 x2 + x2 = 1 2 Applicare il metodo del gradiente coniugato a partire dal punto iniziale x(0) = 0 0 .

Soluzione. La prima iterazione ` la stessa del metodo del gradiente vista nellesempio e 16. Iterazione 1. La direzione ` e d0 = f (x0 ) = 89 1 1 .

Con una ricerca di linea esatta si ottiene quindi x1 = Iterazione 2. Verica condizioni di arresto: q(x1 ) = 1 1 =0 1 1 .

quindi si prosegue. Si calcola una nuova direzione mutuamente coniugata con d0 , d1 = f (x1 ) + 0 d0
0

= d(1) = 1 1

f (x1 ) f (x0 ) +

2 2

=1 0 2

1 1

Calcoliamo il passo (1) secondo la formula esatta (1 1) (1) = (0 2) 4 2 2 2 0 2 0 2 = 1 4

che equivale a minimizzare la funzione () = 42 2 1 Quindi si ottiene il nuovo punto x2 = x1 + 1 d1 come x2 = 1 1 + 1 4 0 2 = 1 3/2 = x

La soluzione ottima ` stata trovata in n = 2 passi. e

10.9

Il metodo del gradiente coniugato nel caso non quadratico

Nel paragrafo precedente abbiamo ottenuto diverse formule equivalenti per lo scalare k . Tutte le formule sono state ottenute sfruttando alcune propriet` delle funzioni quadratiche a e il fatto che la ricerca di linea fosse esatta. Nel caso di funzioni non quadratiche le propriet` utilizzate per derivare le diverse formule non sono pi` valide e, come conseguenza, a u le formule di k (108)(110)(112) non sono equivalenti tra loro, ma danno luogo a metodi diversi. In particolare nelle (110) e (112) non compare esplicitamente la matrice hessiama Q e quindi possono essere utilizzate anche nel caso di funzioni non quadratiche. Scegliamo di descrivere brevemente solo un possibile algoritmo basato sulla formula di Fletcher-Reeves. 90

Metodo del gradiente coniugato di Fletcher-Reeves Passo 0. Si ssa un punto iniziale x0 Rn tale che d0 = f (x0 ) e k = 0. Passo 2. Si calcola k con una ricerca unidimensionale e si pone xk+1 = xk + k dk . Passo 3. Se f (xk+1 ) = 0, si pone dk+1 : dk+1 = f (xk+1 ) + k dk , in cui: k = e si torna al passo 2. Per denire completamente lo schema precedente ` necessario specicare come deve e essere fatta la ricerca unidiomensionale per scelta di k . Osserviamo che nel punto xk+1 la direzione generata dal metodo potrebbe non essere di discesa. Infatti vale f (xk+1 )T dk+1 = Se la ricerca di linea ` esatta, risulta e eettivamente di discesa poich risulta: e f (xk+1 )
2

f (x0 ) = 0; si pone

f (xk+1 ) 2 , f (xk ) 2

+ k f (xk+1 )T dk .

f (xk+1 )T dk = 0 e quindi la direzione dk+1 ` e f (xk+1 )


2

f (xk+1 )T dk+1 =

<0

Nel caso di funzioni non lineari, per` eettuare una ricerca di linea esatta non ` como e putazionalmente accettabile e quindi in generale si utilizzano criteri di ricerca di linea inesatti per cui risulta f (xk+1 )T dk = 0. La scelta del passo k deve quindi garantire almeno che f (xk+1 )T dk+1 < 0 cio che e f (xk+1 )
2

+ k f (xk+1 )T dk < 0

che pu essere assicurato rendendo sucientemente piccolo il termine f (xk+1 )T dk , cos e o ch k+1 ) 2 . Questo condizione NON pu` essere assicurata il termine dominante sia f (x o usando solo una ricerca di linea di Armijo, ma richiede una ricerca di linea pi` elaborata u (metodo di Wolfe [3]) che sar` oggetto di successivi corsi. a

10.10

Il metodo di Newton

Sia f : Rn R una funzione due volte continuamente dierenziabile; il metodo di Newton per la minimizzazione di f consiste nel costruire una successione di punti minimizzando a ogni passo unapprossimazione quadratica della funzione.

91

Se xk ` un punto assegnato, si pu` scrivere: e o f (xk + s) = f (xk ) + 1 f (xk ) s + s 2


2

f (xk )s + (xk , s),

in cui (xk , s)/ s 2 0 per s 0. Per valori sucientemente piccoli di s si pu` allora o k + s) con la funzione quadratica pensare di approssimare f (x q k (s) = f (xk ) + e determinare il punto successivo xk+1 = xk + sk scegliendo sk in modo da minimizzare (ove possibile) la funzione q k (s) rispetto a s. Poich e q k (s) = se si suppone che
2 f (xk )

1 f (xk ) s + s 2

f (xk )s

f (xk ) +

f (xk )s,

sia denita positiva, il punto di minimo di q k (s) sar` dato da: a sk = [


2

f (xk )]1 f (xk ).

Il metodo di Newton ` allora denito dalliterazione e xk+1 = xk [


2

f (xk )]1 f (xk ).

(114)

Le propriet` di convergenza locale del metodo di Newton sono state oggetto di studi a approfonditi. In quel che segue, tuttavia, ci limiteremo a caratterizzare le propriet` di a n assumendo come ipotesi lesistenza di soluzioni. convergenza locale in R Riportiamo, in particolare, il risultato seguente (per la dimostrazione si veda [3]). Teorema 47 Sia f : Rn R una funzione due volte continuamente dierenziabile su un insieme aperto D Rn . Supponiamo inoltre che valgano le condizioni seguenti: (i) esiste un x D tale che (ii) la matrice hessiana
2 f (x

f (x ) = 0; ) ` non singolare; e

(iii) esiste una costante L > 0 tale che, per ogni x, y D, si abbia
2

f (x)

f (y) L x y .

Allora esiste una sfera aperta B(x ; ) D, tale che, se x0 B(x ; ), la successione {xk } generata dal metodo di Newton (114) rimane in B(x ; ) e converge a x con rapidit` di a convergenza quadratica. Si pu` osservare che il risultato precedente caratterizza la convergenza locale del o metodo di Newton nellintorno di un qualsiasi punto stazionario in cui la matrice Hessiana sia non singolare; si pu` trattare quindi, in particolare, sia di un minimo che di un o massimo locale. 92

10.11

Il metodo di Newton con ricerca di linea

Nellapplicazione del metodo di Newton alla minimizzazione non vincolata occorre tener conto dei problemi seguenti: (i) la direzione di Newton pu` non essere denita in xk ( o
2 f (xk )

` singolare); e

(ii) la successione prodotta dal metodo di Newton pu` non essere convergente; o (iii) si pu` avere convergenza verso massimi locali. o Per superare tali dicolt` si rende necessario modicare, con opportuni criteri, la direzione a di ricerca e introdurre eventualmente anche un parametro scalare da denire attraverso tecniche di ricerca unidimensionale. Le modiche devono tuttavia essere tali da non far perdere le caratteristiche di rapidit` di convergenza proprie del metodo di Newton. a Uno dei criteri pi` semplici per realizzare una modica globalmente convergente del u metodo di Newton pu` consistere, ad esempio, nell utilizzare la direzione dellantigradiente o (o, pi` in generale, un opportuna direzione di discesa) quando la direzione di Newton non u soddisfa una condizione di suciente discesa e nello scegliere k con una tecnica di ricerca unidimensionale tipo-Armijo. Ad esempio di modica globalmente convergente del metodo di Newton consideriamo lalgoritmo seguente. Metodo di Newton modicato Dati. (0, 1/2), (0, 1),. Passo 1. Si sceglie x0 Rn e si pone k = 0. Passo 2. Si calcola Passo 3. Si calcola f (xk ); se
2 f (xk ).

f (xk ) = 0 stop.

Se esiste una soluzione sN del sistema lineare:


2

f (xk )s = f (xk )

e la direzione soddisfa un opportuna condizione di suciente discesa, si pone dk = sN , altrimenti si pone dk = f (xk ). Passo 4. Si sceglie k con ricerca di linea di Armijo (se la direzione dk = sN , si pu` o porre k = 1). Passo 5. Si pone xk+1 = xk + k dk , k = k + 1 e si va al passo 2.

Esempio 21 Sia dato il problema min x4 + 2x2 + x2 1 1 2 Sia x0 = 1/2 1/2

1. Si scriva la prima iterazione del metodo di Newton puro; 93

2. Dire se il passo = 1 soddisfa una line search di tipo Armijo utilizzando la direzione di Newton calcolata al passo precedente. Soluzione. (i) Scriviamo gradiente ed hessiano della funzione obiettivo f (x) = 4x3 + 4x1 1 2x2
2

f (x) =

12x2 + 4 0 1 0 2

La prima iterazione del metodo di Newton puro `: e x1 = x0 [ Calcoliamo i valori di f e


2f 2

f (x0 )]1 f (x0 ).

nel punto x0 3/2 1


2

f (x) = Otteniamo quindi: x =


1

f (x) =

1 0 0 2

1/2 1/2

1 0 0 2

3/2 1

1/2 1/2

1 0 0 1/2

3/2 1

1 0

(ii) Osserviamo preliminarmente che la direzione di Newton ottenuta al passo precedente 3/2 s0 = N 1/2 ` di discesa nel punto x0 . Infatti risulta f (x0 )T s0 = 11/4 < 0 (alla stessa conclusione e N si poteva arrivare osservando che 2 f (x0 ) 0). Posto x1 () = x0 + s0 = N 1/2 1/2 3/2 1/2 = 1/2 3/2 1/2 1/2

dobbiamo vericare se ` soddisfatta la condizione e f (x1 ) f (x0 ) + f (x0 )T s0 N con = 1. Si ottiene x1 () = 1/2 3/2 1/2 1/2 = 1 0

e quindi f (x1 ) = 1, f (x0 ) = 11/16. Quindi dobiamo vericare se risulta 1 11 11 16 4

che non ` mai soddisfatta qualunque sia il valore di > 0. e

94

Figure 14: Visione geometrica della condizione di Armijo.

95

References
[1] L.E. Blume and Carl P. Simon Matematica 2 per leconomia e le Scienza sociali, a cura di A. Zaaroni, Universit` Bocconi Editore, EGEA s.p.a, Ed. italiana 2002. a [2] D. Bertsekas. Nonlinear Programming, Athena Scientic, Belmont, Massachusetts, 1995. [3] L. Grippo. Metodi di ottimizzazione non vincolata, Rap.Tec. IASI, N. 64, 1988.

96

Richiami sulle norme


v 0 per ogni v Rn ; v = 0 se e solo se v = 0; v = || v per ogni v Rn e R; v + w v + w per ogni v, w Rn (disguaglianza triangolare).

Una funzione : Rn R si denisce norma vettoriale,se soddisfa le seguenti propriet`: a

Le norme pi` frequentemente utilizzate sono le norme u con p e denite come


n

(o norme di Hlder) indicate o

=
i=1

|vi |

1 p

con 1 p < . Per p = 2 si ottiene la norma euclidea


n

=
i=1

|vi |

1 2

che ` quella maggiormente usata. Si pu` anche denire una norma e o v Vale sempre la seguente relazione: v
2

come

= max |vi |.
1in

Nel caso di norma euclidea vale la disuguaglianza di Schwartz, ovvero |v T w| v


2

w 2.

Consideriamo ora il caso di norme di matrici. Indichiamo con Mn linsieme di tutte le matrici n n3 . Assegnata una matrice A = (aij ) in Mn , una norma di A pu` essere introdotta sia considerando A come un insieme di n2 o elementi aij , sia considerando A come un operatore lineare da Rn in Rn . Nel primo caso possiamo ovviamente denire come norma di A una qualsiasi norma vettoriale relativa agli elementi di A. Un esempio di norma interpretabile come norma del vettore degli elementi ` costituito dalla norma di Frobenius di A, data da: e

n n

1/2

A
3

=
i=1 j=1

a2 ij

Ci riferiamo, per semplicit` al caso di matrici quadrate, anche se le denizioni esposte nel seguito si a estendono in modo immediato al caso di matrici rettangolari.

97

Se A, B Mn si ha: AB
F

F.

Indicando con Tr(A) la traccia della matrice A, ossia:


n

Tr(A) =
i=1

aii ,

la norma di Frobenius si pu` anche esprimere nella forma: o A


F

= Tr(AT A)

1/2

Se A ` pensata come un operatore lineare, si pu` denire la norma di A ponendo e o A = o, equivalentemente: A = sup
x =1

xRn ,x=0

sup

Ax , x Ax .

(115)

Supponendo, per semplicit`, che venga usata la stesssa norma vettoriale sia per x a che per Ax, la norma matriciale denita dalla (115) si dice norma indotta dalla norma vettoriale considerata. Ponendo: A si ha, in particolare: A A A
1 p

xRn ,x=0 n

sup

Ax p , x p |aij |,

= max

1in

i=1 n

= max

1in

|aij |,
j=1 1/2

= M (AT A)

essendo M (AT A) il massimo autovalore di AT A. Se A ` una matrice simmetrica risulta e ovviamente A 2 = max |i (A)|,
1in

essendo i (A) gli autovalori di A. Se A ` simmetrica semidenita positiva, per cui tutti gli autovalori sono non negativi si e pu` porre: o A 2 = M (A).

98

Richiami sulla dierenziazione in Rn

Richiamiamo alcuni concetti essenziali sulla differenziazione delle funzioni denite su Rn , la cui conoscenza ` richiesta nello studio dei problemi di ottimizzazione di tipo differene ziabile. Nel seguito supponiamo, per semplicit`, che f sia una funzione denita su tutto a Rn ; ` immediato tuttavia estendere le denizioni qui riportate al caso in cui x appartiene e ad un insieme aperto D Rn .

B.1

Derivate del primo ordine di una funzione reale

Un qualsiasi vettore assegnato d Rn non nullo denisce una direzione in Rn . Una prima nozione di derivata che si pu` introdurre ` quella di derivata direzionale. o e Denizione 9 (Derivata direzionale) Sia f : Rn R. Si dice che f ammette derivata direzionale Df (x, d) nel punto x Rn lungo la direzione d Rn se esiste nito il limite
t0+

lim

f (x + td) f (x) := Df (x, d). t

Se consideriamo f come funzione di una sola variabile xj , supponendo ssate tutte le altre componenti possiamo introdurre il concetto di derivata parziale rispetto a xj . Denizione 10 (Derivata parziale) Sia f : Rn R. Si dice che f ammette derivata parziale f (x)/xj nel punto x Rn rispetto alla variabile xj se esiste nito il limite
t0

lim

f (x1 , . . . , xj + t, . . . , xn ) f (x1 , . . . , xj , . . . , xn ) f (x) := . t xj

Lesistenza della derivata parziale f (x)/xj nel punto x implica, ovviamente, che esistano e coincidano le derivate direzionali lungo le direzioni ej e ej . Se f ammette derivate parziali rispetto a tutte le componenti possiamo denire il gradiente di f nel punto x. Denizione 11 (Gradiente) Sia f : Rn R ed x Rn . Se esistono le derivate parziali prime di f in x deniamo gradiente di f in x il vettore f (x) Rn

f (x) x1
f (x) := . . . . f (x)

xn A dierenza di quanto avviene sulla retta reale, nel caso di Rn l esistenza del gradiente non consente, in generale, di poter approssimare, con la precisione voluta, il valore di f nellintorno di x con una funzione lineare dellincremento. Una tale possibilit` ` legata ad ae una nozione pi` forte di differenziabilit`, che ` quella riportata nella denizione successiva. u a e 99

Denizione 12 (Funzione differenziabile) Sia f : Rn R. Si dice che f ` differenziabile (secondo Fr`chet, o in senso forte) nel e e punto x Rn se esiste g(x) Rn tale che, per ogni d Rn si abbia lim |f (x + d) f (x) g(x)T d| = 0, d 0

o, equivalentemente, se per ogni d Rn si pu` porre o f (x + d) = f (x) + g(x)T d + (x, d), dove (x, d) soddisfa:
d

lim

(x, d) = 0. d 0

Loperatore g(x) :

Rn

R si dice derivata (di Fr`chet) di f in x. e

` E da notare che la sola esistenza di f non implica, in generale, la differenziabilit` nel a senso prima denito. Si dimostra, tuttavia, che se f (x) esiste ed ` continuo rispetto ad e x, allora f ` differenziabile in x. (La continuit` del gradiente ` una condizione suciente e a e per la differenziabilit` in senso forte.) Vale il risultato seguente a Teorema 48 Sia f : Rn R e sia x Rn . Si ha: (i) se f ` differenziabile in x, allora f ` continua in x, esiste il gradiente e e T coincide con la derivata di Fr`chet di f in x f (x) e f (x) e

(ii) se esiste il gradiente f (x) e f (x) ` continuo rispetto a x, allora f ` differenziabile e e T. in x, e la derivata di Fr`chet di f in x coincide con f (x) e Dal teorema precedente segue che se f (x) ` continuo si pu` scrivere, per ogni d Rn : e o f (x)T d + (x, d),

f (x + d) = f (x) + dove (x, d) soddisfa:


d 0

lim

(x, d) = 0. d

Se f ` differenziabile, ` immediato vericare che esiste anche la derivata direzionale di f e e lungo una qualsiasi direzione d Rn e risulta: lim f (x + td) f (x) = t f (x)T d.

t0+

100

B.2

Differenziazione di un vettore di funzioni

Sia g : Rn Rm un vettore a m componenti di funzioni reali. Possiamo introdurre la denizione seguente, che estende la nozione di gradiente. Denizione 13 (Matrice Jacobiana) Sia g : Rn Rm e x Rn . Se esistono le derivate parziali prime gi (x)/xj , per i = 1 . . . , m e j = 1 . . . n in x deniamo matrice Jacobiana di g in x la matrice m n g1 (x) g1 (x) ... x1 xn J(x) :=
... gm (x)

...

... x1 xn Possiamo estendere in modo ovvio la nozione di differenziabilit` al caso di un vettore di a funzioni. Denizione 14 (Derivata prima di un vettore di funzioni) Sia g : Rn Rm e x Rn . Si dice che g ` differenziabile (secondo Fr`chet, o in senso e e n se esiste una matrice G(x) tale che, per ogni d Rn si abbia forte) nel punto x R
d 0

. gm (x)

...

lim

g(x + d) g(x) G(x)d = 0, d

o, equivalentemente, se per ogni d Rn si pu` porre o g(x + d) = g(x) + G(x)d + (x, d), dove (x, d) soddisfa: (x, d) = 0. d d 0 Loperatore lineare G(x) : Rn Rm si dice derivata (di Fr`chet) di g in x. e lim Anche in questo caso, ovviamente, la sola esistenza della matrice Jacobiana in x non implica la differenziabilit` e si ha il teorema seguente. a Teorema 49 Sia g : Rn Rm e x Rn . Si ha: (i) se g ` differenziabile in x, allora g ` continua in x, esiste la matrice Jacobiana J(x) e e e J(x) coincide con la derivata di Fr`chet di g in x e (ii) se esiste la matrice Jacobiana J(x) di g in x e J(x) ` continua rispetto a x, allora e g ` differenziabile in x, e la derivata di Fr`chet di g in x coincide con J(x). e e Dal teorema precedente segue che se J(x) ` continua si pu` scrivere, per ogni d Rn : e o g(x + d) = g(x) + J(x)d + (x, d), dove (x, d) soddisfa:
d

lim

(x, d) = 0. d 0 g(x)T

Se m = 1 si ha ovviamente J(x) = g(x)T . Per analogia con la notazione usata per il gradiente si pu` usare anche la notazione o per indicare la derivata prima di g, ossia g(x) = J(x)T = ( g1 (x), . . . , gm (x) ) . 101

B.3

Derivate del secondo ordine di una funzione reale

Sia f : Rn R una funzione reale. Con riferimento alle derivate del secondo ordine, possiamo introdurre innanzitutto la denizione seguente. Denizione 15 (Matrice Hessiana) Sia f : Rn R e x Rn . Se esistono le derivate parziali seconde 2 f (x)/xi xj , per i = 1 . . . , n e j = 1 . . . n in x deniamo matrice Hessiana di f in x la matrice n n

2 f (x) x 2 1
2

... ... ...

f (x) :=

... 2 f (x)

2 f (x) x1 xn ...

. 2 f (x)

xn x1

xn 2

Possiamo introdurre la nozione di derivata seconda mediante la denizione seguente. Denizione 16 (Derivata seconda) Sia f : Rn R e x Rn . Si dice che f ` due volte differenziabile (secondo Fr`chet, o in e e n se la derivata prima di f , T ` differenziabile in x. La senso forte) nel punto x R f (x) e derivata prima di f (x)T si dice derivata seconda (di Fr`chet) di f . e Anche in questo caso, la sola esistenza della matrice Hessiana (che possiamo interpretare come matrice Jacobiana di f (x)) non implica la differenziabilit` e si ha il teorema a seguente. Teorema 50 Sia f : Rn R e x Rn . Si ha: (i) se f ` due volte differenziabile in x, allora il gradiente f (x) esiste ed ` continuo in e e 2 f (x) esiste ed ` una matrice simmetrica e 2 f (x) coincide x, la matrice Hessiana e con la derivata seconda di Fr`chet di f in x e (ii) se esiste la matrice Hessiana 2 f (x) in x e 2 f (x) ` continua rispetto a x, allora f e ` due volte differenziabile in x, 2 f (x) ` necessariamente simmetrica e la derivata e e seconda di Fr`chet di f in x coincide con 2 f (x). e Dal teorema precedente segue che se f (x + d) = f (x) + dove (x, d) soddisfa:
d 2 f (x)

` continua si pu` scrivere, per ogni d Rn : e o


2

1 f (x)T d + dT 2 (x, d) = 0. d 2 0

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

lim

Nelle stesse ipotesi si ha anche, come si ` detto, che la matrice Hessiana e matrice simmetrica, ossia si ha, per i, j = 1 . . . , n: 2 f (x) 2 f (x) = . xi xj xj xi 102

2 f (x)

` una e

Osserviamo anche che se

2 f (x)

` continua si pu` scrivere e o f (x) +


2

f (x + d) = con

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

d 0

lim

(x, d) = 0. d

B.4

Teorema della media e formula di Taylor

Nel caso di funzioni differenziabili valgono anche i risultati seguenti (che si possono tuttavia stabilire sotto ipotesi pi` deboli). u Teorema 51 (Teorema della Media) Sia f : Rn R una funzione differenziabile. Allora, per ogni h Rn , si pu` scrivere o f (x + h) = f (x) + f (z)T h,

in cui z Rn ` un punto opportuno (dipendente da x e h) tale che z = x + h, con e (0, 1). Possiamo dare di tale risultato anche una formulazione integrale. Teorema 52 Sia f : Rn R una funzione differenziabile. Allora, per ogni h Rn , si pu` scrivere o f (x + h) = f (x) +
1 0

f (x + th)T hdt,

Utlizzando le derivate seconde si ha il risultato seguente. Teorema 53 Teorema di Taylor Sia f : Rn R una funzione due volte differenziabile. Allora, per ogni h Rn si pu` o scrivere: 1 f (x + h) = f (x) + hT f (x) + hT 2 f (w)h 2 n ` un punto opportuno (dipendente da x e h) tale che w = x + h, con in cui w R e (0, 1). Anche in questo caso possiamo considerare una formulazione di tipo integrale. Teorema 54 Sia f : Rn R una funzione due volte differenziabile. Allora, per ogni h Rn si pu` scrivere: o f (x + h) = f (x) + hT f (x) +
1 0

(1 t)hT

f (x + th)hdt.

Nel caso di funzioni vettoriali g : Rn Rm non ` possibile stabilire un teorema della e ` media. E tuttavia possibile considerare unespressione di tipo integrale.

103

Teorema 55 Sia g : Rn Rm una funzione differenziabile. Allora, per ogni h Rn , si pu` scrivere o g(x + h) = g(x) + in cui J ` la matrice Jacobiana di g. e Come caso particolare del risultato precedente, se g ` il gradiente e volte differenziabile f : Rn R, si ha: f (x + h) = f (x) +
1 0 2 1 0

J(x + th)hdt,

f di una funzione due

f (x + th)hdt.

Esempi Alcuni esempi di interesse di funzioni differenziabili sono: f (x) = cT x; si ha: f (x) = c,
2 f (x)

= 0; f (x) = Qx + c;
2 f (x) 2 f (x)

f (x) = 1 xT Qx + cT x, (con Q simmetrica); si ha: 2 f (x) = Ax b 2 ; si ha: f (x) = 2AT (Ax b);

= Q;

= 2AT A

104

Potrebbero piacerti anche