Sei sulla pagina 1di 58

Quaderni di Programmazione Non-Lineare

Manlio Gaudioso Enrico Gorgone

18 Novembre 2009

Prefatio

La dispensa e stata scritta come ausilio didattico agli studenti di Ottimiz-


zazione del Controllo nellambito del corso di laurea specialistica in Ingegneria Au-
tomatica.

i
ii Prefatio
Indice delle Lezioni

Prefatio i

1 Richiami sulle proprieta delle funzioni reali 1


1.1 Differenziabilita delle funzioni di piu variabili . . . . . . . . . . . 3
1.2 Teorema del valor medio e formula di Taylor . . . . . . . . . . . 8
1.3 Direzioni di discesa e tangenti . . . . . . . . . . . . . . . . . . . 8

2 La convessita 11

3 Condizioni di ottimalita nella programmazione non lineare 17


3.1 Esistenza di punti di minimo . . . . . . . . . . . . . . . . . . . . 17
3.2 Condizioni di ottimalita in problemi di programmazione non li-
neare non vincolata . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1 Il caso convesso . . . . . . . . . . . . . . . . . . . . . 21
3.3 Condizioni di ottimalita in problemi di programmazione non li-
neare vincolata . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.1 Caso con vincoli lineari di uguaglianza . . . . . . . . 24
3.3.2 Caso con vincoli lineari di disuguaglianza . . . . . . 25
3.3.3 Caso con vincoli non lineari . . . . . . . . . . . . . . 27

4 Convergenza del metodo di discesa 31

5 Nozioni sui metodi Quasi-Newton 35


5.1 Formula di aggiornamento a rango 1 . . . . . . . . . . . . . . . . 37

6 Il metodo del piano di taglio 39


6.1 LAlgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

7 Metodo di penalita 43

8 Metodi barriera e a punto interno 47

9 Elementi di programmazione semi-definita (SDP) 51


9.1 Tecnica della funzione barriera . . . . . . . . . . . . . . . . . . . 52
9.2 Analisi di stabilita robusta . . . . . . . . . . . . . . . . . . . . . 52

iii
iv Indice delle Lezioni
Lezione 1

Richiami sulle proprieta


delle funzioni reali

E curioso a vedere che gli uomini di molto merito hanno sempre le maniere sem-
plici, e che sempre le maniere semplici sono prese per indizio di poco merito.
Giacomo Leopardi

Lobiettivo dellOttimizzazione Numerica (un sinonimo spesso utilizzato e Pro-


grammazione Matematica) e la progettazione di algoritmi di calcolo per la determi-
nazione dei punti di minimo, vincolati o non, di funzioni a valore reale di una o piu
variabili reali. I metodi per la determinazione di tali minimi, quando la funzione
coinvolta sia lineare e la minimizzazione sia vincolata a punti dello spazio reale che
soddisfino un sistema di vincoli lineari, costituiscono la Programmazione Lineare,
oggetto di altro corso.
Nel seguito, quindi, ci occuperemo di funzioni f : Rn R (funzioni scalari). In
qualche circostanza ci occuperemo di funzioni vettoriali f : Rn Rm . Largomento
delle funzioni considerate e il vettore x Rn , definito, evidenziando le sue compo-
nenti, nella forma x = (x1 , x2 , . . . , xn )T . I vettori, quando non altrimenti specifi-
cato, sono da intendersi come vettori colonna.
Per le definizioni essenziali (es. continuita, limiti, derivate parziali, etc.) rela-
tive alle funzioni di piu variabili, si rinvia ai corsi di Analisi Matematica.
Ricordiamo che se f ammette in x derivate parziali rispetto a tutte le compo-
nenti, possiamo definire il gradiente di f nel punto x come il vettore f (x) Rn
T
4 f (x) f (x)
f (x) = ,...,
x1 xn

Nel seguito vengono presentati alcuni esempi nello spazio a due dimensioni.

Esempio 1.1 Funzione che non ammette ovunque derivate parziali.


Si consideri
q
4 1
f (x1 , x2 ) = x21 + x22 = (x21 + x22 ) 2 .

1
2 Lezione 1. Richiami sulle proprieta delle funzioni reali

Se (x1 , x2 ) 6= (0, 0), esiste la derivata parziale rispetto ad x1

f 1 1 x1
= (x21 + x22 ) 2 2x1 = p 2
x1 2 x1 + x22

e quella rispetto ad x2
f x2
=p 2
x2 x1 + x22
Si consideri il punto (0, 0) e, in corrispondenza di esso, si scriva il rapporto
incrementale:
f (0 + t, 0) f (0, 0) t2
=
t t
Come e noto, il limite di questo rapporto per t 0, qualora esista, e la derivata
parziale nel punto (0, 0) rispetto
alla variabile x1 . Tale limite pero non e definito nel
t2
caso considerato, in quanto vale +1 o 1 a seconda che t sia > 0 o < 0. Con-
t
siderazioni analoghe valgono anche per la derivata parziale nel punto (0, 0) rispetto
alla variabile x2 .

E noto che per funzioni reali di una sola variabile la continuita e condizione
necessaria (non sufficiente!) per la derivabilita. Lesempio successivo mostra che,
per funzioni di piu variabili, la continuita non e nemmeno condizione necessaria per
lesistenza delle derivate parziali.

Esempio 1.2 Funzione che ammette derivate parziali ma non e continua.



0 se (x1 , x2 ) = (0, 0)
f (x1 , x2 ) = x1 x2
2 se (x1 , x2 ) 6= (0, 0)
x1 + x22

Si consideri la funzione nel punto (0, 0), in cui e f (0, 0) = 0. Si osservi che in
tutti i punti della retta di equazione x1 = x2 (e quindi anche in punti infinita-
mente vicini al punto (0, 0)), vale f (x1 , x2 ) = 12 . Cio implica che non puo essere
lim f (x1 , x2 ) = f (0, 0) e che, quindi, la funzione non e continua in (0, 0).
(x1 ,x2 )(0,0)
Daltra parte e facile verificare che in tale punto esistono entrambe le derivate
parziali. Relativamente alla variabile x1 , si scriva il rapporto incrementale:

(0 + t)0
f (0 + t, 0) f (0, 0) 2
0 0
= t +0 = =0
t t t
Tale rapporto e costante e vale 0, quindi il suo limite per t 0 esiste e vale 0. Si ha,
f f
quindi, = 0. Analogamente si verifica = 0. In forma compatta,
x1 (0,0) x2 (0,0)
facendo riferimento al vettore gradiente, possiamo dire che esso esiste nel punto
(0, 0) e vale f = (0, 0)T .
1.1. Differenziabilita delle funzioni di piu variabili 3

Nel caso di funzioni di una sola variabile, lesistenza della derivata e garanzia
della possibilita di approssimare localmente la funzione per il tramite di una funzione
affine. Lesempio appena sviluppato mostra invece che, nel caso di funzioni di
piu variabili, lesistenza del gradiente non garantisce tale possibilita. La funzione
dellesempio, infatti, non essendo continua nel punto (0, 0), non e nellintorno di
esso approssimabile mediante alcuna funzione affine. Tuttavia, le derivate parziali
in tale punto esistono.

1.1 Differenziabilita delle funzioni di piu variabili


Per le considerazioni precedentemente esposte si rende necessario introdurre una
proprieta piu forte della derivabilita. Tale proprieta e la differenziabilita.

Definizione 1.1. f : Rn R e differenziabile in x Rn se


i) il gradiente f (x)
f (x + d) f (x) f (x)T d
ii) lim =0
kdk0 kdk

Definizione 1.2. Il funzionale lineare d f (x)T d e il differenziale di f in x.

Si noti che la proprieta ii) puo essere alternativamente scritta nella forma:

f (x + d) = f (x) + f (x)T d + o(kdk)

dove o(kdk) e un infinitesimo di ordine superiore rispetto a kdk. In questo senso,


quindi, la funzione (affine) f (x) + f (x)T d della variabile d rappresenta unappros-
simazione locale della funzione (ancora di d) f (x + d).
Ovviamente, la differenziabilita implica la continuita, infatti e

lim f (x + d) = lim [f (x) + f (x)T d + o(kdk)] = f (x).


kdk0 kdk0

Vale il seguente teorema:

Teorema 1.1 (del differenziale). Sia f : Rn R, se in x le derivate parziali


sono continue, allora f e differenziabile in x.

Prova. (n = 2). Per il teorema di Lagrange, tenendo conto dellipotesi di continuita


delle derivate parziali, segue che:

f (x1 + d1 , x2 + d2 )f (x1 , x2 ) = [f (x1 + d1 , x2 + d2 ) f (x1 , x2 + d2 )]


+ [f (x1 , x2 + d2 ) f (x1 , x2 )]
f f
= (x1 , x2 + d2 )d1 + (x1 , x2 )d2
x1 x2
4 Lezione 1. Richiami sulle proprieta delle funzioni reali

dove x1 ed x2 sono punti opportuni appartenenti agli intervalli, rispettivamente,


[x1 , x1 + d1 ] e [x2 , x2 + d2 ].
Si puo quindi scrivere:


f (x1 + d1 , x2 + d2 ) f (x1 , x2 ) f (x1 , x2 )d1 f (x1 , x2 )d2
x x
p 1 2
2
d1 + d2 2



f f f f

x1 (x1 , x2 + d2 )d1 x1 (x1 , x2 )d1 + x1 (x1 , x2 )d2 x2 (x1 , x2 )d2
= p
d21 + d22



f f |d1 |
(x1 , x2 + d2 ) (x1 , x2 ) p 2
x1 x1 d + d22
1
f f |d2 |
+ (x1 , x2 ) (x1 , x2 ) p 2
x2 x2 d1 + d22

f f f f
(x1 , x2 + d2 )
(x1 , x2 ) + (x1 , x2 ) (x1 , x2 ),
x1 x2 x2 x2
Quando (d1 , d2 ) (0, 0), x1 x1 e x2 x2 . Per la continuita delle derivate
parziali il secondo termine della disuguaglianza tende a zero e conseguentemente si
ha:
f f
f (x1 + d1 , x2 + d2 ) f (x1 , x2 ) (x1 , x2 )d1 (x1 , x2 )d2
x1 x2
lim p =0
(d1 ,d2 )(0,0) d21 + d22

Ritornando allesempio (1.2), si e osservato che la funzione considerata nel


punto (0, 0) non e differenziabile, non essendo continua, ma ammette le derivate
parziali. Dal teorema precedente deduciamo che almeno una di tali derivate non e
continua in (0, 0).
Infatti, espressioni delle derivate parziali nellintorno del punto considerato
sono:
f x2 (x21 + x22 ) x1 x2 2x1 x3 x21 x2 x2 (x22 x21 )
= 2 2 = 22 2 =
x1 (x1 + x2 ) 2 (x1 + x2 ) 2 (x21 + x22 )2
f x1 (x21 + x22 ) x1 x2 2x2 x31 x22 x1 x1 (x21 x22 )
= 2 2 = 2 2 =
x2 (x1 + x2 )2 (x1 + x2 )2 (x21 + x21 )2
f f
Si verifica ora che le due funzioni e non sono continue in (0, 0). Si ricorda
x1 x2
che in tale punto, come precedentemente calcolato, esse valgono entrambe zero.
Scegliendo punti tendenti allorigine (0, 0) lungo lasse delle x2 vale
f x3 1
= 42 =
x1 x2 x2
1.1. Differenziabilita delle funzioni di piu variabili 5

che tende a + o a a seconda che ci si avvicini allorigine per valori positivi o


f
negativi di x2 . Si conclude, quindi, che non e continua in (0, 0). Ragionamento
x1
f
analogo vale anche per
x2

Definizione 1.3 (Derivata direzionale). Sia f : Rn R. Si dice che f ammette


derivata direzionale f 0 (x, d) nel punto x Rn lungo la direzione d Rn se esiste
finito il limite
f (x + td) f (x) 4 0
lim+ = f (x, d)
t0 t

Si sottolinea il carattere unilaterale della derivata direzionale, nel senso che


il limite presente nella sua definizione e valutato in relazione ai valori positivi di t.
4
Si consideri ad esempio la funzione di una sola variabile f (x) = |x|. Tale
funzione non e derivabile nel punto zero (infatti non e definito per t 0 il limite
|t|
di ). Daltra parte, prendendo d = 1 e facile verificare che, in tale punto, lungo
t
entrambe le direzioni d = 1 e d = 1 la derivata direzionale esiste e vale +1.
Confrontiamo la definizione precedente con quella di derivata parziale. Se
definiamo con ej il versore unitario associato alla variabile xj , j = 1, . . . , n, la
f (x)
derivata parziale puo essere scritta come:
xj

f (x + tej ) f (x)
lim
t0 t

E evidente quindi che lesistenza della j-ma derivata parziale implica lesistenza
delle derivate direzionali lungo le direzioni ej ed ej . In particolare vale f 0 (x, ej ) =
f (x) f (x)
e f 0 (x, ej ) = .
xj xj
Nota, peraltro, che lesistenza delle derivate direzionali lungo ej e ej non
implica lesistenza della j-ma derivata parziale (vedi, ad esempio, il comportamento
della citata funzione |x| nellorigine).
E immediato verificare che se f e differenziabile in x, esiste la derivata di-
rezionale lungo qualsiasi direzione d Rn ed essa e una funzione lineare di d,
definita dal gradiente f (x). Vale infatti:

f (x + td) f (x) f (x) + tf (x)T d + o(tkdk) f (x)


lim+ = lim+ = f (x)T d
t0 t t0 t
(1.1)
Il prossimo esempio mostra che, se f ammette le derivate parziali ma non e
differenziabile, la precedente relazione pio non valere.

x21 x2
Esempio 1.3 f (x1 , x2 ) = se (x1 , x2 ) 6= (0, 0) e f (0, 0) = 0. Si calcoli la
x21+ x22
6 Lezione 1. Richiami sulle proprieta delle funzioni reali

derivata direzionale in x = (0, 0)T lungo d = (d1 , d2 ). Essa e


t3 d21 d2
f (x + td) f (x) t2 (d21 + d22 ) d1 d2
lim+ = lim+ = 2
t0 t t0 t d1 + d22
f f f f
Pero se d(1) = (1, 0) e d(2) = (0, 1) si ottiene = =0e = =0e
d1 x1 d2 x2
quindi vale
f f
f 0 (x, d) 6= d1 + d2
x1 x2

Sia g : Rn Rm un vettore di m funzioni reali. Possiamo introdurre la


definizione seguente, che estende la nozione di gradiente.

Definizione 1.4 (Matrice Jacobiana). Sia g : Rn Rm e x Rn . Se esistono,


gi (x)
in x, le derivate parziali , per i = 1, . . . , m e j = 1, . . . , n, definiamo matrice
xj
Jacobiana di g in x la matrice di dimensioni m n

g1 (x) g1 (x)
...
x1 xn
4 . . ..
J(x) = .. ..
.
g (x) gm (x)
m
...
x1 xn

Si osservi che le righe della matrice Jacobiana rappresentano i gradienti delle


funzioni gi (x), i = 1, . . . , m; viene peraltro frequentemente adottata la notazione
g(x)T per indicare la matrice n m le cui colonne sono costituite dai gradienti
delle funzioni gi (x), i = 1, . . . , m. Vale, ovviamente,

g(x) = J(x)T = (g1 (x), . . . , gm (x)) .

Possiamo estendere la nozione di differenziabilita al caso di un vettore di fun-


zioni.

Definizione 1.5 (Differenziale di un vettore di funzioni). Sia g : Rn Rm


e x Rn . Si dice che g e differenziabile nel punto x Rn se
i) lo Jacobiano J(x)
kg(x + d) g(x) J(x)dk
ii) lim =0
kdk0 kdk

Prima di introdurre la nozione di funzione due volte differenziabile, definiamo


la matrice delle derivate seconde (Matrice Hessiana).
1.1. Differenziabilita delle funzioni di piu variabili 7

Definizione 1.6 (Matrice Hessiana). Sia f : Rn R una funzione reale.


2 f (x)
Se esistono in x Rn le derivate parziali seconde , per i = 1, . . . , n e
xi xj
j = 1, . . . , n, si definisce matrice Hessiana di f in x la matrice n n
2
f (x) 2 f (x)
x2 . . .
1 x1 xn
2 4 . . ..
f (x) = .. .. .
2
f (x) 2 f (x)
...
xn x1 x2n

Definizione 1.7 (Funzione due volte differenziabile). Sia f : Rn R e


x Rn . Si dice che f e due volte differenziabile nel punto x Rn , se il gradiente
di f , f (x), e differenziabile in x.

E facile verificare che lo Jacobiano di f (x) coincide con (2 f (x))T .

Teorema 1.2 (del differenziale secondo). Sia f : Rn R. Si ha:

i) Se f e due volte differenziabile in x, allora il gradiente f (x) e continuo, la


matrice Hessiana 2 f (x) esiste ed e simmetrica.

ii) Se in x esiste ed e continua la matrice Hessiana 2 f (x), allora f e due volte


differenziabile in x e la matrice Hessiana e simmetrica.

Il teorema precedente implica che, se 2 f (x) e continua in x, si puo scrivere:

1
f (x + d) = f (x) + f (x)T d + dT f (x)d + o(kdk2 ) (1.2)
2

dove o(kdk2 ) definisce un infinitesimo di ordine superiore rispetto a kdk2 .


La prova di questa proprieta si puo ottenere come segue. Si definisca la fun-
zione F (t) della variabile scalare t ponendo

4
F (t) = f (x + td)

e si espanda con la formula di Taylor F (t) con punto iniziale t = 0:

1
F (t) = F (0) + tF 0 (0) + t2 F 00 (0) + o(t2 )
2
Tendendo conto della formula per le derivate delle funzioni composte, vale
n
X
0 f (x)
F (0) = di = f (x)T d,
i=1
xi
8 Lezione 1. Richiami sulle proprieta delle funzioni reali

con le derivate parziali calcolate nel punto x. Analogamente vale


Xn
f (x)
F 00 (0) = di dj = dT 2 f (x)d
j=1
xj xi

Osserviamo, infine, che se 2 f (x) e continua si puo scrivere

f (x + d) = f (x) + 2 f (x)d + o(kdk).

Nel seguito, quando si fara riferimento ad una funzione differenziabile (due


volte differenziabile), si intendera implicitamente che tale proprieta valga in ogni
punto di Rn . Le funzioni differenziabili e quelle due volte differenziabili sono usual-
mente indicate come funzioni appartenenti, rispettivamente, alle classi C 1 e C 2 .

1.2 Teorema del valor medio e formula di Taylor


Si riportano alcune proprieta che verranno utilizzate nel seguito.

Teorema 1.3 (della media). Sia f : Rn R una funzione differenziabile. Allora,


fissato un punto x, per ogni d Rn , esiste un punto opportuno z = x + d, con
(0, 1), per cui vale:
f (x + d) = f (x) + f (z)T d

In riferimento alle proprieta del secondo ordine, vale che se f e una funzione
due volte differenziabile, fissato un punto x, per ogni d Rn , esiste un punto
opportuno z = x + d, con (0, 1), che soddisfa la relazione (formula di Taylor):
1
f (x + d) = f (x) + f (x)T d + dT 2 f (z)T d. (1.3)
2

1.3 Direzioni di discesa e tangenti


Definizione 1.8. Langolo formato da due vettori x, y Rn e lo scalare (com-
preso fra 0 e ) per il quale vale

xT y
cos =
kxkkyk

Come e noto, se il prodotto scalare di due vettori non nulli e 0, i due vettori
si dicono ortogonali (in questo caso risulta risulta cos = 0).
Consideriamo una funzione f ed un generico punto x. Da esso possiamo pen-
sare di muoverci lungo una determinata direzione d Rn . Cio equivale a considerare
punti del tipo x + td al variare del parametro scalare t 0. Tali punti definiscono la
semiretta di direzione d applicata nel punto x. Dal punto di vista dellottimizzazione
numerica, risulta interessante valutare se gli spostamenti lungo tale semiretta sono
1.3. Direzioni di discesa e tangenti 9

in grado di assicurare un decremento della funzione obiettivo, rispetto al valore da


essa assunto nel punto x.

Definizione 1.9 (Direzione di discesa). Data una funzione f , una direzione d


si dice direzione di discesa per f in x se esiste un valore t > 0 tale che

f (x + td) < f (x),

per ogni t (0, t).

Si noti che, affinche una direzione sia di discesa, non e necessario che sia
f (x + td) < f (x) per ogni t > 0. E sufficiente infatti che tale condizione sia
soddisfatta per spostamenti sufficientemente piccoli. Per le funzioni differenziabili,
la derivata direzionale costituisce un utile strumento per caratterizzare una direzione
come direzione di discesa. Vale, infatti, il seguente teorema.

Teorema 1.4. Sia f una funzione differenziabile in Rn . Dati x, d Rn , se la


derivata direzionale di f in x lungo la direzione d e negativa, la direzione d e una
direzione di discesa per f in x.

Prova. Dalla (1.1), essendo f differenziabile, segue che


f (x + td) f (x)
lim = f (x)T d < 0
t0 t
e quindi, per valori di t sufficientemente piccoli, si ha f (x + td) f (x) < 0.

Si sottolinea che il teorema precedente fornisce una condizione sufficiente ma


non necessaria affinche una direzione sia di discesa. E possibile infatti che una
direzione d sia di discesa per f in x pur valendo f (x)T d = 0. Un semplice esempio
in R e fornito dal comportamento della funzione f (x) = x3 nel punto x = 0. In
esso la direzione d = 1 e di discesa, pur essendo f 0 (0) = 0. Di converso, per
sottolineare che la condizione f (x)T d = 0 non e dirimente per caratterizzare una
direzione come di discesa (o di salita), si consideri la funzione f (x) = x2 nel punto
x = 0. In esso la direzione d = 1 non e di discesa e, anche in questo caso, vale
f 0 (0) = 0.
Peraltro, osserviamo che se d e una direzione
tangente in x0 alla superfi-
cie di livello Cf (x(0) ) = x X : f (x) = f (x(0) ) , in quella direzione non si ha
variazione della f , e dunque la derivata direzionale e nulla. Questo indica che la
direzione del gradiente in un punto x e sempre ortogonale alla superficie di livello
passante per quel punto.

Definizione 1.10 (Direzione tangente). Data una funzione f , un vettore d Rn


si dice direzione tangente a S nel punto x S, se esiste un valore t > 0 tale che

x(t) = x + td + o(t) S,

per ogni t (0, t).


10 Lezione 1. Richiami sulle proprieta delle funzioni reali

Linsieme delle direzioni tangenti e meglio conosciuto come cono tangente.


Si noti che il segno della derivata direzionale da informazioni sullangolo tra
la direzione d e il gradiente. Se tale segno e negativo, cio vuol dire che langolo fra
d e f (x) e ottuso. In particolare, se d e direzione opposta a quella del gradiente,
allora d = f (x) e langolo e piatto, in quanto

f (x)T f (x)
cos = = 1
kf (x)k2

e dunque lantigradiente e sempre una direzione di discesa, mentre per lo stesso


motivo il gradiente e sempre una direzione di salita. Si osservi, in particolare, che
la relazione
f 0 (x, d) = f (x)T d = kf (x)k kdk cos
implica che, a parita di kdk, la direzione del gradiente e quella dellantigradiente
sono, rispettivamente, le direzioni di salita e di discesa piu ripida.
Lezione 2

La convessita

Parlare oscuramente lo sa fare ognuno, ma chiaro pochissimi.


Galileo Galilei

La proprieta di convessita di insiemi e funzioni gioca un ruolo centrale sia nella


teoria che nei metodi numerici per lottimizzazione. Nel seguito essa verra trattata
con riferimento a insiemi di Rn e a funzioni a valore reale definite in Rn .

Definizione 2.1. Dati due punti x, y Rn , si dice combinazione convessa di x e


y un punto
4
x() = x + (1 )y,
dove e un qualsiasi scalare appartenente allintervallo [0, 1]. Il segmento (in Rn )
che unisce x e y e definito come linsieme dei punti x(), al variare di tra 0 e 1.

Definizione 2.2 (Insieme convesso). Un insieme X Rn si dice convesso se,


presi comunque due punti x, y X, il segmento che li unisce e contenuto in X.

Definiamo ora il concetto di funzione convessa.

Definizione 2.3 (Funzione convessa). Una funzione f definita su un insieme


convesso X si dice convessa se, presi comunque due punti x, y X, si ha

f (x) + (1 )f (y) f (x + (1 )y) (2.1)

(una funzione f tale che f e convessa si dice concava).

Il significato della (2.1) puo essere facilmente compreso facendo riferimento a


funzioni di una sola variabile. In tal caso, considerando il punto x = x + (1 )y
(che ovviamente appartiene allintervallo [x, y]), il termine di sinistra nella (2.1)
rappresenta il valore dellordinata del punto del segmento che unisce (x, f (x)) e
(y, f (y)) corrispondente a x, mentre il termine di destra e il valore della funzione

11
12 Lezione 2. La convessita

in corrispondenza dello stesso punto x. Dunque, se f e convessa, il grafico della


funzione relativamente allintervallo [x, y] si trova sempre al di sotto della corda,
definita come il segmento che congiunge i due punti (di R2 ) (x, f (x)) e (y, f (y)).
La definizione 2.3 prescinde da ipotesi sulla differenziabilita di f . Se pero sup-
poniamo che f sia differenziabile, allora e possibile dimostrare la seguente proprieta.

Teorema 2.1. Una funzione f differenziabile in Rn e convessa se e solo se per


ogni coppia di punti (x, y), x, y Rn , vale la relazione

f (y) f (x) f (x)T (y x) (2.2)

Prova.
Essendo la f convessa, vale per (0, 1) la (2.1), che, ponendo = 1 ,
possiamo riscrivere come

f (x) + (f (y) f (x)) f (x + (y x)). (2.3)

In questa disuguaglianza, possiamo interpretare x + (y x) come un punto


incrementato, ottenuto muovendosi, a partire da x, nella direzione y x di un
passo pari a (0, 1). Possiamo allora scrivere la formula di Taylor troncata
al primo ordine, ossia

f (x + (y x)) = f (x) + f (x)T (y x) + o(ky xk). (2.4)

Dalle (2.3) e (2.4) si ha dunque, essendo f convessa,

(f (y) f (x)) f (x)T (y x) + o(ky xk),

da cui, dividendo per e passando a limite per 0, si ha (2.2).


Si consideri x + (y x), con [0, 1]. Per ipotesi la (2.2) vale anche per le
coppie di punti (x, x + (y x)) e (y, x + (y x)). Si puo quindi scrivere:

f (x) f (x + (y x)) + f (x + (y x))T ((y x)) (2.5a)

f (y) f (x + (y x)) + f (x + (y x))T ((1 )(y x)) (2.5b)

Moltiplicando (2.5a) per (1 ) e (2.5b) per si ottiene

(1 )f (x) (1 )f (x + (y x)) (1 )f (x + (y x))T (y x)

f (y) f (x + (y x)) + (1 )f (x + (y x))T (y x)


e sommando membro a membro

(1 )f (x) + f (y) f (x + (y x)),

che, a sua volta, ponendo = 1 , puo essere riscritta come

f (x + (1 )y) f (x) + (1 )f (y).


13

Corollario 2.1. Sia f differenziabile e convessa, allora loperatore f e monotono,


cioe
(f (x) f (y))T (x y) 0 x, y Rn

Prova. Dal teorema 2.1 abbiamo, per ogni x, y Rn ,

f (y) f (x) + f (x)T (y x)

e
f (x) f (y) + f (y)T (x y)
da cui segue che
f (x)T (y x) + f (y)T (x y) 0
e quindi la tesi.

Si noti che, nel caso unidimensionale, anche la (2.2) ha unimmediata inter-


pretazione geometrica. Infatti, f (x) + f 0 (x)(y x), e lordinata corrispondente al
punto y sulla retta tangente alla curva in x. Ovviamente, tale proprieta, fissato x,
vale per ogni y e rappresenta il fatto che se f e convessa, la curva della funzione si
trova sempre al di sopra della retta tangente in un qualsiasi punto.
Un altro concetto (come vedremo legato alla convessita) che e utile richiamare
e quello di matrice definita positiva.
Si fara riferimento esclusivamente a matrici simmetriche, dal momento che una
generica forma quadratica xT Ax con matrice A non necessariamente simmetrica e
rappresentata in maniera equivalente dalla forma quadratica xT A0 x, associata a una
A + AT
matrice simmetrica A0 , semplicemente ponendo A0 = .
2
Definizione 2.4. Sia data una matrice A quadrata simmetrica di ordine n e
un insieme X Rn . La matrice A si dice definita positiva su X se, per ogni
x X, x 6= 0, si ha
xT Ax > 0
Se per qualsiasi x X, si ha
xT Ax 0
la matrice si dice semidefinita positiva su X. Una matrice A e definita o semidefinita
negativa se A e definita o semidefinita positiva, rispettivamente. In tutti gli altri
casi la matrice e detta indefinita.

Se X = Rn la matrice viene detta semplicemente definita (semidefinita) posi-


tiva. Per indicare che una matrice A e definita (semidefinita) positiva, viene spesso
adottata la notazione A 0 (A 0).
14 Lezione 2. La convessita

Una definizione equivalente di matrice simmetrica definita positiva e basata


sul segno dei minori principali, che, ricordiamo, sono le n sottomatrici quadrate
formate dallintersezione delle prime i righe e delle i colonne, i = 1, . . . , n. Si hanno
allora i seguenti teoremi (di Sylvester):

Teorema 2.2. Una matrice A simmetrica e definita positiva se e solo se i deter-


minanti di tutti i suoi minori principali sono positivi.

Teorema 2.3. Se una matrice A simmetrica e semidefinita positiva, allora i de-


terminanti di tutti i minori principali sono non negativi.

Si noti che il precedente teorema fornisce una condizione necessaria ma non


sufficiente affinche una matrice sia semidefinita positiva: ad esempio, i determinanti
dei minori principali della matrice

0 0
0 3

sono non negativi, ma la matrice non e semidefinita positiva.


Una proprieta interessante delle matrici definite positive e espressa dal seguente
teorema.

Teorema 2.4. Tutti gli autovalori di una matrice A definita positiva sono positivi.

Prova. Supponiamo, per assurdo, che esista un autovalore 0 di A cui cor-


risponda lautovettore z 6= 0. Dalla definizione di autovalore e di autovettore deve
valere:
z T Az = kzk2 0

che contraddice lipotesi.

Si noti tra laltro, che la precedente proprieta implica che una matrice definita
positiva e non singolare, dal momento che altrimenti avrebbe tra i suoi autovalori
anche lo 0. Inoltre vale questaltra proprieta.

Teorema 2.5. Se A e una matrice definita positiva, e m (A) e M (A) indicano


rispettivamente il minimo e il massimo autovalore di A, allora per ogni x Rn si
ha
m (A)kxk2 xT Ax M (A)kxk2 .

Teorema 2.6. Sia f C 2 , 2 f (x) 0, allora f e convessa nellintorno di x.

Prova. Poiche per ipotesi f C 2 , vale:

1
f (x + d) f (x) = f (x)T d + dT 2 f (x)d + o(kdk2 ).
2
15

Per il teorema 2.5 si ha quindi


1
f (x + d) f (x) f (x)T d + m (2 f (x))kdk2 +o(kdk2 )
|2 {z }
>0

1
Il segno di m (2 f (x))kdk2 + o(kdk2 ) e lo stesso di quello di
2
1 o(kdk2 )
m (2 f (x)) +
2 kdk2

che, per valori piccoli di kdk, e, a sua volta, lo stesso di m (2 f (x)), cioe positivo.
Esiste quindi un intorno di x in corrispondenza del quale vale:

f (x + d) f (x) f (x)T d

e quindi la convessita su tale intorno segue dal teorema 2.1.

Teorema 2.7. Sia f C 2 . Allora f e convessa se e solo se 2 f (x) 0, x Rn .

Prova.
Se f e convessa, vale

f (x + td) f (x) + tf (x)T d x, d, t

Poiche e anche
1
f (x + td) = f (x) + tf (x)T d + t2 dT 2 f (x)T d + o(t2 kdk2 ),
2
segue
1 2 T 2
t d f (x)T d + o(t2 kdk2 ) = f (x + td) f (x) tf (x)T d 0.
2
Cioe, per ogni t 6= 0:
1 T 2 o(t2 kdk2 )
d f (x)T d + 0.
2 t2

Se fosse 12 dT 2 f (x)T d = < 0, dovrebbe valere per ogni t

o(t2 kdk2 )
> 0,
t2
che contraddice il fatto che
o(t2 kdk2 )
lim = 0.
t0 t2
16 Lezione 2. La convessita

Per il teorema di Taylor, ponendo nella (1.3) y=x+d, si ha:


1
f (y) = f (x) + f (x)T (y x) + (y x)T 2 f (z)T (y x),
2
dove z = x + (y x), con (0, 1). Poiche per ipotesi la matrice Hessiana
e ovunque semidefinita positiva, si ha:

f (y) f (x) + f (x)T (y x) x, y

e la tesi segue dal teorema 2.1.

Un caso particolare di notevole interesse e quello relativo alle funzioni quadratiche,


del tipo f (x) = 1/2xT Ax + bT x + c con A matrice simmetrica. In questo caso la
matrice Hessiana e costante e coincide con A. In questo caso, dunque, f e convessa
se e solo se A e semidefinita positiva.
Lezione 3

Condizioni di ottimalita
nella programmazione
non lineare

There are only two ways to live your life. One is as though nothing is a miracle.
The other is as though everything is a miracle.
Albert Einstein

Si consideri il problema:
min f (x).
xX

Tale problema si dice di minimo vincolato qualora X sia un sottoinsieme proprio di


Rn . Qualora sia, invece, X = Rn il problema e detto non vincolato.

Definizione 3.1 (Punto di minimo locale). Un punto x e un punto di minimo


4
locale per f in X se esiste un intorno I (x ) = {x|kx x k }, per qualche valore
> 0, tale che:
f (x ) f (x), x X I (x ).

Definizione 3.2 (Punto di minimo globale). Un punto x e un punto di minimo


globale per f in X se
f (x ) f (x), x X.

3.1 Esistenza di punti di minimo


Riportiamo alcuni teoremi che forniscono condizioni necessarie e/o sufficienti per
lesistenza di punti di minimo.

Teorema 3.1 (di Weierstrass). Se una funzione f e continua su un insieme X


chiuso e limitato, allora f ammette un punto di minimo globale in X.

Concetti importanti sono quelli di insieme e superficie di livello.

17
18 Lezione 3. Condizioni di ottimalita nella programmazione non lineare

Definizione 3.3. Data una funzione f definita su un insieme X, e un numero


reale , un insieme di livello di f su X e linsieme di tutti i punti x in cui il valore
della funzione non ecceda , ossia
4
Lf, = {x X : f (x) } ,
mentre una superficie di livello e linsieme dei punti x in cui f vale esattamente
4
Cf, = {x X : f (x) = }

Si definiscono, rispettivamente, insieme e superficie di livello relativi a un


punto x(0) gli insiemi
4
n o
Lf (x(0) ) = x X : f (x) f (x(0) ) (3.1a)

4
n o
Cf (x(0) ) = x X : f (x) = f (x(0) ) (3.1b)
Nel caso di insiemi non limitati e possibile dare una condizione sufficiente di
esistenza:

Teorema 3.2. Se una funzione f e continua e almeno uno dei suoi insiemi di
livello e chiuso e limitato, allora f ammette un punto di minimo globale.

Prova. Sia x(0) un punto in corrispondenza del quale linsieme di livello Lf (x(0) )
sia chiuso e limitato. Per il teorema di Weierstrass la funzione ammette un punto
minimo x su Lf (x(0) ).
E evidente che x e anche punto di minimo globale per f . Vale, infatti, per
ogni x / Lf (x(0) ), f (x) > f (x(0) ) f (x ).

Si noti che questultima condizione e sufficiente, ma non necessaria. Ad esem-


pio la funzione della variabile scalare x definita per x 0 come segue:

1 (x 1)2 se x [0, 1)
f (x) = 2
0 se x 1

ha come punti di minimo tutti i punti della semiretta [1, +), ma nessuno dei suoi
insiemi di livello e chiuso e limitato.
Una classe di funzioni per le quali e possibile stabilire una condizione neces-
saria e sufficiente di esistenza di un punto di minimo globale e quella delle funzioni
coercive, caratterizzate da un crescita illimitata quando ci si allontani indefinita-
mente dallorigine.

Definizione 3.4 (Funzione coerciva). Una funzione f definita su tutto Rn si


dice radialmente illimitata o coerciva se
lim f (x) = +
kxk
3.2. Condizioni di ottimalita in problemi di programmazione non lineare non vincolata19

E possibile dimostrare il seguente risultato:

Teorema 3.3. Se una funzione continua f e radialmente illimitata, tutti i suoi


insiemi di livello sono chiusi e limitati.

Prova. La continuita di f assicura che, per ogni , linsieme Lf, e chiuso. Occorre,
quindi, dimostrare che esso e anche limitato. Si supponga, per assurdo, che esista
un valore tale che Lf, non sia limitato. Esiste, quindi, almeno una successione
di punti {x(k) }, con x(k) Lf, , tale che kx(k) k per k . Daltra parte, la
coercivita di f implica che
lim f (x(k) ) = +,
k

e cio contraddice lipotesi che tutta la sequenza {x(k) } sia contenuta in Lf, .

Combinando questultimo risultato con il teorema 3.2, risulta quindi che

Teorema 3.4. Una funzione f radialmente illimitata ammette un minimo globale.

3.2 Condizioni di ottimalita in problemi di


programmazione non lineare non vincolata
Presentiamo, ora, una condizione necessaria di ottimalita per funzioni differenziabili.

Teorema 3.5 (Condizione necessaria del I ordine). Si consideri una funzione


f con gradiente continuo in un punto x Rn . Condizione necessaria affinche x
sia un punto di minimo locale di f e che
f (x ) = 0

Prova. Se fosse f (x ) 6= 0, allora f (x ) sarebbe una direzione di discesa, e per


il teorema 1.4 esisterebbe un punto x tf (x ) tale che f (x tf (x )) < f (x ),
contraddicendo cos lipotesi che x sia un minimo locale.

Il teorema 3.5 fornisce delle condizioni molto generali, dette condizioni del
primo ordine. Un punto che soddisfa tali condizioni si dice punto stazionario, e PS
indica linsieme dei punti stazionari per f , ossia
4
PS = {x : x Rn , f (x) = 0}
Se la f e due volte continuamente differenziabile, si possono enunciare anche
delle condizioni del secondo ordine.

Teorema 3.6 (Condizioni necessarie del II ordine). Si consideri una funzione


f con matrice Hessiana continua in un punto x Rn . Condizioni necessarie
affinche x sia un punto di minimo locale per f sono:
f (x ) = 0 (3.2a)
20 Lezione 3. Condizioni di ottimalita nella programmazione non lineare

2 f (x ) e semidefinita positiva (3.2b)

Prova. La (3.2a) segue dal teorema 3.5. Data una direzione d Rn , poiche f e due
volte differenziabile, possiamo scrivere la formula di Taylor (1.2) con riferimento a
un punto incrementato x + td, ove d e una qualsiasi direzione:
1
f (x + td) = f (x ) + tf (x )T d + dT 2 f (x )d + o(ktdk2 )
2
e, poiche in x il gradiente si annulla,

f (x + td) f (x ) 1 o(ktdk2 )
2
= dT 2 f (x )d +
t 2 t2
dal momento che x e per ipotesi un minimo locale, per t sufficientemente piccolo
il termine di sinistra e sicuramente non negativo, e quindi risulta

1 T 2 o(ktdk2 )
d f (x )d + 0
2 t2
da cui, passando a limite per t 0+ , e osservando che d e una direzione qualsiasi,
segue la tesi.

Fin qui si sono viste condizioni necessarie di ottimalita. E possibile dare anche
una condizione sufficiente.

Teorema 3.7 (Condizioni sufficienti del II ordine). Si consideri una funzione


f con Hessiana continua in un intorno di un punto x Rn . Condizioni sufficienti
affinche x sia un punto di minimo locale stretto per f sono:

f (x ) = 0 (3.3a)

2 f (x ) e definita positiva (3.3b)

Prova. Basta riscrivere ancora la formula di Taylor, ove x + td e un punto suf-


ficientemente vicino a x tale che f (x) e continua. Sfruttando la (3.3a), si puo
scrivere
1
f (x + td) = f (x ) + t2 dT 2 f (x )d + o(ktdk2 ),
2
siccome 2 f (x ) e definita positiva, e poiche o(ktdk2 ) e un infinitesimo di ordine
superiore a t, abbiamo che per qualunque d, e per t sufficientemente piccolo,
1 2 T 2
t d f (x )d + o(ktdk2 ) > 0
2
da cui la tesi.

Un utile compendio delle condizioni necessarie e sufficienti di minimo e dato


dallo studio, nel punto 0 delle tre funzioni di una singola variable x2 , x4 e x3 .
3.2. Condizioni di ottimalita in problemi di programmazione non lineare non vincolata21

Le prime due funzioni hanno in 0 un punto di minimo. In particolare, il punto 0


soddisfa per f (x) = x2 sia le condizioni necessarie (3.2) che quelle sufficienti (3.3)
di minimo . Per f (x) = x4 , il punto 0 soddisfa solo le condizioni necessarie. Per la
funzione f (x) = x3 , il punto 0 soddisfa le condizioni necessarie, ma non e un punto di
minimo. E facile rendersi conto che la discussione precedente puo essere ripetuta in
modo simmetrico relativamente ai punti di massimo. In particolare, lannullamento
del gradiente e anche condizione necessaria (del primo ordine) affinche un punto sia
punto di massimo locale, mentre la corrispondente condizione necessaria del secondo
ordine e che la matrice Hessiana sia semidefinita negativa; se oltre a soddisfare le
condizioni del primo ordine la matrice Hessiana e definita negativa, allora il punto
in questione e di massimo locale stretto. Si noti ch se in un punto x si annulla
il gradiente, ma lHessiana e indefinita, possiamo escludere che x sia un punto di
minimo o di massimo. In tal caso, x e detto punto di sella.

3.2.1 Il caso convesso


Come ora vedremo, nel caso in cui la f e una funzione convessa, e possibile di-
mostrare alcune proprieta molto forti della soluzione ottima del problema. Anzi-
tutto, vediamo che, sotto lipotesi molto generali, nel caso convesso la distinzione
tra minimi locali e globali non sussiste.

Teorema 3.8. Si consideri una funzione f convessa in Rn . Se x e un punto di


minimo locale, e anche un punto di minimo globale.

Prova. Essendo x un punto di minimo locale, senzaltro f (x) f (x ) per tutti


i punti x I(x , ). Supponiamo che x non sia un minimo globale. Deve esistere
allora un punto z tale che f (x) < f (x ). Sia x il generico punto segmento che unisce
z e x , ossia x = tz + (1 t)x . Per t sufficientemente piccolo, x I(x , ). Daltro
canto, per la convessita avremo che
f (x) = f (tz + (1 tx )) tf (z) + (1 t)f (x )
ma siccome stiamo supponendo f (z) < f (x ), da questa discende
f (x) < tf (x ) + (1 t)f (x ) = f (x )
che contraddice il fatto che x e un minimo locale.

Si noti che il teorema 3.8 vale in ipotesi del tutto generali: non abbiamo
nemmeno supposto la f differenziabile. Se lo e, vediamo ora che la convessita
consente di dare una caratterizzazione dei punti di minimo piu forte di quanto
visto finora. Infatti, in generale, il soddisfacimento delle condizioni necessarie del
primo e del secondordine non basta a determinare la natura del punto in questione.
Invece, nel caso particolare che la f sia convessa, le sole condizioni del primo ordine
divengono necessarie e sufficienti.

Teorema 3.9. Si consideri una funzione f con gradiente continuo, e sia f convessa
in Rn . Condizione necessaria e sufficiente affinche x sia un punto di minimo
22 Lezione 3. Condizioni di ottimalita nella programmazione non lineare

globale per f e che


f (x ) = 0

Prova. La necessita deriva dal teorema 3.5. Per quanto concerne la sufficienza,
basta ricordare la (2.2), ove y e un qualunque punto in Rn :

f (y) f (x ) f (x )T (y x )

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

Dunque, nel caso convesso trovare un minimo locale equivale a trovare un


minimo globale, e un punto di minimo e di minimo se e solo se soddisfa le condizioni
del primo ordine. Ce ancora un proprieta che contraddistingue il caso convesso: i
punti di minimo formano essi stessi un insieme convesso.

Teorema 3.10. Si consideri una funzione f , convessa in Rn . Linsieme dei punti


di minimo della f e convesso.

Prova. Si considerino due punti di minimo distinti, x e x . Applicando la defi-


nizione di funzione convessa (Definizione 2.3), si ha

t [0, 1] : f (tx + (1 t)x ) tf (x ) + (1 t)f (x ) = f ,

con f = f (x ) = f (x ).

3.3 Condizioni di ottimalita in problemi di


programmazione non lineare vincolata
I teoremi delle alternative si riferiscono a coppie di sistemi di equazioni lineari e di
disequazioni lineari che sono tra di loro alternativi. Essi quindi hanno enunciati
del tipo: Uno e solo uno tra i due sistemi I) e II) ammette soluzioni.

Teorema 3.11 (di Gordan). Assegnati m vettori di Rn a1 , a2 , . . . , am , uno ed


uno solo tra i due sistemi

I) aTi x > 0, i = 1, . . . , m

e
m
X
II) ai yi = 0, yi 0 i = 1, . . . , m ed almeno per un indice i con yi > 0
i=1

ammette soluzione.
3.3. Condizioni di ottimalita in problemi di programmazione non lineare vincolata 23

Prova. Dimostreremo solo che non e possibile che i due sistemi sono ammissi-
bili (ometteremo, cioe, la prova del fatto ch i due sistemi possono essere entrambi
inammissibili).
Definendo la matrice A (m n), le cui righe sono costruite dai vettori aTi ,
i = 1, . . . , m, i due sistemi I) ed II) possono scriversi come
* + * +
Ax > 0 AT y = 0, y Rm
I) II)
x Rn y 0, y 6= 0

Supponiamo per assurdo che esistano x ed y ammissibili, rispettivamente, per


I) e II). Dovrebbe valere:

0 < y T (|{z}
Ax ) = y T Ax = (AT y )T x = 0,
|{z} |{z}
0 >0 =0
6=0

che e un assurdo.

Vale il seguente teorema di separazione:

Teorema 3.12 (di separazione). Se C e un cono


convesso chiuso e z
/ C, allora
esiste un iperpiano del tipo W = x| wT x = 0 che soddisfa le condizioni:
T
w z<0
wT x 0 x C

Lemma 3.1 (di Farkas). Assegnati (m + 1) vettori di Rn a1 , . . . , am+1 , g uno ed


uno solo tra i due sistemi

m
X
* T
+ * +
g d<0 g= i ai
I) II) i=1
aTi d 0, i = 1, . . . , m
i 0, i = 1, . . . , m

ammette soluzione.

Prova. Dimostriamo prima di tutto che I) e II) non possono essere entrambi
ammissibili. Supponiamo per assurdo che lo siano e siano d e i , i = 1, . . . , m
rispettivamente una soluzione di I) e di II). Dovrebbe valere:
m !T m
X X
0 > g T d = i ai d = i aTi d 0
|{z} |{z}
i=1 i=1 0
0

che una contraddizione.


24 Lezione 3. Condizioni di ottimalita nella programmazione non lineare

Per dimostrare che I) e II) non possono essere entrambi inammissibili, prove-
remo che linammissibilita di II) implica lammissibilita di I).
Sia II) inammissibile.
( Cio implica)che g non appartiene al cono chiuso e
X m
convesso C = v | v = i ai , i 0 . Dal teorema di separazione segue che
i=1
esiste d Rn tale che g T d < 0 e aTi d 0, i = 1, . . . , m, cioe che I) e ammissibile.

3.3.1 Caso con vincoli lineari di uguaglianza


Si consideri un problema di minimo di una funzione differenziabile non lineare sotto
vincoli lineari di uguaglianza.
* min f (x) +
n xR
(PE )
aTi x = bi , i = 1, . . . , m

4
Si assume, senza perdita di generalita, che valga m = |E| n.
Si supponga che x sia un punto di minimo per (PE ) e si consideri un generico
vettore d Rn rappresentativo di uno spostamento rispetto a x .
Poiche, ovviamente, x e ammissibile, il punto x + d e ammissibile se e solo
se ai d = 0 i E. Se x e ottimo, non esiste alcuno spostamento ammissibile
T

e che comporti una riduzione della funzione obiettivo. In particolare, quindi, non
esiste alcuno spostamento d che soddisfi:
* f (x )T d < 0 +
(3.4)
aTi d = 0 i E

E facile provare che per (3.4) vale il seguente.

Teorema 3.13. (3.4) e inammissibile se e solo se esistono m scalari 1 , 2 , . . . , m


m
X
tali che f (x ) = i ai .
i=1

Prova.
m
X
Sia f (x ) = i ai allora per ogni d Rn tale che aTi d = 0, i = 1, . . . , m
i=1
vale !T
m
X m
X
T
f (x ) d = i a i d= i aTi d = 0
i=1 i=1

e quindi la prima disequazione di (3.4) non puo essere soddisfatta.


3.3. Condizioni di ottimalita in problemi di programmazione non lineare vincolata 25

Supponiamo che (3.4) sia inammissibile. E noto che f (x ) puo essere espresso
come somma di due vettori, uno appartenente al sottospazio M generato dai
vettori a1 , . . . , am e laltro appartenente al sottospazio ortogonale M . Vale
cioe
m
X
f (x ) = i ai + ,
i=1

con aTi = 0, i = 1, . . . , m. E facile verificare che d = soddisfa (3.4).


Infatti aTi d = aTi = 0, i = 1, . . . , m ed inoltre
m !T
X
T
f (x ) d = i a i + () = T = kk2 < 0.
i=1

3.3.2 Caso con vincoli lineari di disuguaglianza


Si consideri il problema:
* min f (x) +
n
xR
(PI )
aTi x bi , i I

Nota 3.1. Eventuali vincoli di uguaglianza del tipo aTi x = bi possono essere sosti-
tuiti dalla coppia di vincoli
* aT x b +
i i
(PI )
aTi x bi

Sia x un punto ammissibile ed ottimo per (PI ). Sia


4
I(x ) = i| i I, aTi x = bi
linsieme dei vincoli attivi in x . Sia m = |I| il numero totale di vincoli.

Definizione 3.5 (Direzione ammissibile). Una direzione d Rn , d 6= 0, e


ammissibile in x se esiste t > 0 tale che
x + td
e ammissibile t [0, t].

Teorema 3.14. d Rn , d 6= 0 e ammissibile in x se e solo se aTi d 0, i I(x ).

Prova.
26 Lezione 3. Condizioni di ottimalita nella programmazione non lineare

Se d e ammissibile allora, per qualche t > 0, x + td e ammissibile, cioe vale:


aTi (x + td) bi i I
e quindi, poiche I I(x ), la relazione vale anche per ogni i I(x ). La
proprieta segue tenendo conto che per i I(x ) vale aTi x = bi .
Sia d una direzione che soddisfa la condizione aTi d 0 i I(x ). Sia Xd =
{x| x = x + td, t 0} e definiamo I come linsieme dei vincoli non attivi in
4
x , cioe I = i| i I, aT x > bi . Ovviamente vale I(x ) I = I.
i
Consideriamo prima i vincoli i I(x ). Per ogni x Xd vale
aTi x = aTi (x + td) = aTi x + taTi d bi ,
| {z } | {z }
=bi 0

cioe ogni punto di Xd soddisfa tutti i vincoli, i I(x ).


Consideriamo ora i vincoli i I. Affinche un punto x Xd sia ammissibile
per un vincolo i I deve valere:
aTi x bi ,
cioe aTi x + taTi d bi . Poiche vale aTi x > bi , i I, la condizione di
ammissibilita e verificata per ogni t, per quei vincoli i I per cui valga
aTi d 0. Per i vincoli i I per cui sia aTi d < 0 la condizione di ammissibilita
vale solo per quei valori di t per cui:
aTi x + tai d bi i I
aTi x bi
Definendo t = min , si osserva prima di tutto che t > 0 e che
iI aTi d
aT d<0
i
x + td e ammissibile per ogni t [0, t], cioe d e una direzione ammissibile.

Nota 3.2. Gli unici vincoli rilevanti ai fini della definizione di una direzione
ammissibile sono quelli attivi.

Se x e un punto di minimo per (PI ) allora non esiste in x nessuna direzione


che sia contemporaneamente ammissibile e di discesa. In particolare, il sistema
* f (x ) < 0 +
(I)
aTi d 0 i I(x )
e inammissibile. Il lemma di Farkas assicura che (I) e inammissibile se e solo se e
ammissibile il sistema (II)
* X +
f (x ) = i a i
iI(x ) (II)
i 0 i I(x )
3.3. Condizioni di ottimalita in problemi di programmazione non lineare vincolata 27

Lammissibilita del sistema (II) rappresenta una condizione necessaria di ot-


timalita per il punto ammissibile x che puo essere formalmente presentata come
segue, tenendo conto anche dei vincoli non attivi.

i) aTi x bi i I (ammissibilita)
X
ii) Rm tale che: f (x ) = i ai (esistenza dei moltiplicatori)
iI

iii) 0 (non-negativita dei moltiplicatori)

iv) i (aTi x bi ) = 0 i I (complementarita)

Nota 3.3. La formulazione adottata non comprende esplicitamente la presenza di


vincoli di uguaglianza. E facile verificare che i moltiplicatori associati ai vincoli di
uguaglianza non sono vincolati in segno.

3.3.3 Caso con vincoli non lineari


Si consideri il problema generale di PNL

* min f (x) +
nxR
(P N L)
gi (x) 0, i I

con f e gi , i I differenziabili.
Sia x un punto di minimo per (P N L) s sia I(x ) linsieme dei vincoli attivi
4
in x (I(x ) = {i| i I, gi (x ) = 0}).
Costruiamo un nuovo problema con vincoli lineari, sostituendo ai vincoli gi (x)
le loro linearizzazioni radicate in x .
* min f (x) +
xRn
(P (x ))
T
gi (x ) + gi (x ) (x x ) 0, i I

(P (x )) puo essere riscritto nella forma

* min f (x) +
nxR
(P (x ))
aTi x bi , i I

4 4
dove ai = gi (x ) e bi = gi (x ) + gi (x )T x .
Ovviamente x e ammissibile anche per (P (x )) ed il suo insieme dei vincoli
attivi in x coincide con I(x ). Se x continua ad essere ottimo anche per (P (x ))
28 Lezione 3. Condizioni di ottimalita nella programmazione non lineare

devono valere le condizioni


X
f (x ) = i ai
iI
0
i (aTi x bi ) = 0 i I
aTi x bi i I

che possono essere riscritte, tenendo conto delle definizioni delle ai e delle bi , nella
forma
X
f (x ) = i gi (x )
iI
0
i gi (x ) = 0 i I
gi (x ) 0 i I

e sono dette condizioni di Karush-Kuhn-Tucker (KKT).


Queste condizioni possono essere quindi considerate come condizioni
necessarie di ottimalita per (P N L) di x solo nel caso in cui x sia punto
di minimo anche per (P (x )).

x2 g1 (x)

x1 = const.
x2

x1

0
g1 (x) =
1
1
f (x) =
g2 (x)
0 x1
0
g2 (x) =
1

(a) (b)

Figura 3.1. Caso 1

Questa ipotesi e sempre valida? Si consideri il problema in R2

* min x1 +
x1 ,x2
x2 x21
x2 x21
3.3. Condizioni di ottimalita in problemi di programmazione non lineare vincolata 29

che scriviamo (vedi Figura 3.1(a)):


* min f (x1 , x2 ) = x1 +
2
xR
g1 (x) = x2 x21 0
g2 (x) = x2 x21 0

0
Lunico punto ammissibile e x = ; esso quindi e anche ottimo. Vale
0
f (x ) = 0 e I(x ) = {1, 2}.
Costruiamo il problema linearizzato nei vincoli (P (x )). Si ha

0 2x1 2x1
x = ; g1 (x) = ; g2 (x) = ,
0 1 1

0 0
segue quindi g1 (x ) = ; g2 (x ) = e vale b1 = b2 = 0.
1 1
* min x1 + * +
min x1
x2 0 cioe (P (x ))
x2 = 0
x2 0
La regione ammissibile di (P (x )) e tutto lasse delle x1 , quindi la funzione
obiettivo e inferiormente illimitata e quindi x non e soluzione di (P (x )). Si os-
servi che, pur essendo x punto di minimo per (P N L) le condizioni KKT non sono
soddisfatte (vedi Figura 3.1(b)). In particolare f (x ) non e esprimibile come com-
binazione lineare a coefficienti non negativi dei gradienti dei vincoli attivi g1 (x )
e g2 (x ).

x2 x2

x1 + x2 = const.


2 2 x1 2 x1
0 0

(a) (b)

Figura 3.2. Caso 2

Si consideri un altro problema in R2 (vedi Figura 3.2(a))


* min x1 + x2 +
x1 ,x2
x21 x22 2
x2 0
30 Lezione 3. Condizioni di ottimalita nella programmazione non lineare

Dallo studio delle rette isocosto x1 +x2 = costante, si vede facilmente che il punto di
!
2
minimo e x = . I vincoli sono definiti dalle funzioni g1 (x) = x21 x22 + 2
0

eg2 (x) = x2 . Linsieme
dei vincoli attivi allottimo e I(x ) = {1, 2}; vale g1 (x) =
2x1 0
, g2 (x) = . Inoltre e b1 = 4 e b2 = 0.
2x2 1

Il problema (P (x )) si scrive

* min x1 + x2 + * min x1 + x2 +

2 2x1 4 cioe x1 2 (P (x ))
x2 0 x2 0

La regione ammissibile di (P (x )) e mostrata x2


in Figura 3.2(b). E facile verificare che in
!
2
questo caso x = e punto di mini- g (x
) =
0
0 2
1
1
mo anche per (P (x )). Quindi le condizioni f (x ) =
1
KKT valgono ed e facile verificare che e = 2 2 x1
1 g1 (x ) =
1 0
2 2 , cioe: f (x ) = g1 (x ) +
0 2 2

Figura 3.3. Continuazione caso 2
g2 (x ) (vedi Figura 3.3).
Riassumendo, abbiamo definito due problemi di PNL (caso 1 e caso 2) ed
abbiamo verificato che allottimo del primo problema le condizioni KKT non sono
verificate, mentre sono verificate allottimo del secondo problema. Una osservazione
piu accurata delle strutture dei vincoli attivi allottimo dei due problemi porta a
notare che i gradienti dei vincoli attivi sono linearmente dipendenti nel caso 1 e
linearmente indipendenti nel caso 2.
In effetti, si puo dimostrare che e la proprieta di indipendenza lineare dei gra-
dienti dei vincoli attivi allottimo condizione sufficiente perche il punto x sia anche
punto di ottimo per (P (x )) e perche, quindi, le condizioni KKT siano soddisfatte.

Definizione 3.6. Un punto x ammissibile per (P N L) e detto regolare per i


vincoli, se i gradienti dei vincoli attivi in x sono linearmente indipendenti (qualifi-
cazione dei vincoli o constraint qualificaztion).

In conclusione possiamo enunciare:

Teorema 3.15. Un punto x di minimo per (P N L), se e regolare per i vincoli,


soddisfa le condizioni KKT.
Lezione 4

Convergenza del metodo


di discesa

Personally, Im always ready to learn, although I do not always like being taught.
Winston Churchill

La struttura degli algoritmi di minimizzazione non vincolata e molto semplice.


Si considera un punto iniziale x(0) Rn , e si calcola il valore della funzione f (x(0) )
e del gradiente f (x(0) ). Se questultimo e un vettore nullo, si e gia individuato
un punto stazionario. Altrimenti, da x(0) ci si sposta in cerca di un punto x(1) ,
possibilmente migliore di x(0) . Per fare questo, appare logico scegliere una direzione
di discesa, e lungo tale direzione muoversi di un opportuno passo. Trovato x(1) , se
esso appartiene allinsieme dei punti stazionari di f ci si ferma, altrimenti si cerca
un nuovo punto x(2) e cos via.

Algoritmo 4.1. Metodo di Discesa.

Passo 0. Si sceglie un punto iniziale x(0) Rn e si fissa k=0.


Passo 1. Se f (x(k) ) = 0, stop.
Passo 2. Si calcola una direzione di discesa d(k) Rn .
Passo 3. Si calcola un passo k R lungo d(k) .
Passo 4. Si determina x(k+1) = x(k) + k d(k) ; si pone k = k + 1 e si ritorna al passo
1.

Si ottiene cos una successione x(0) , x(1) , . . . , x(k) , . . . di punti. A tale schema
generale di algoritmo ci si riferisce con il termine di metodo di discesa, a indicare
che a ogni passo risulta

f (x(k+1) ) < f (x(k) )

Teorema 4.1. Sia f C 2 , la matrice Hessiana 2 f (x) definita positiva per ogni
x e con autovalore massimo M (2 f (x)) per ogni x Lf (x(0) ). Sia, inoltre,

31
32 Lezione 4. Convergenza del metodo di discesa

Lf (x(0) ) compatto. Se le condizioni

f (x(k) + d(k) ) f (x(k) ) + f (x(k) )T d(k) (4.1a)

f (x(k) + d(k) )T d(k) cf (x(k) )T d(k) (4.1b)


(k) T (k) (k) (k)
f (x ) d kf (x )kkd k (4.1c)
sono soddisfatte per ogni k, allora il metodo di discesa termina.

Prova. La (4.1a) implica

f (x(k+1) ) f (x(k) ) k f (x(k) )T d(k)


k kf (x(k) )kkd(k) k k [dalla (4.1c)] (4.2)

f C 2 implica

f (x(k+1) ) = f (x(k) ) + 2 f ()T (x(k+1) x(k) )


= f (x(k) ) + k 2 f ()d(k) , (4.3)

per qualche [x(k) , x(k+1) ].


Dalla (4.3), a sua volta, segue

f (x(k+1) )T d(k) = f (x(k) )T d(k) + k d(k)T 2 f ()d(k)


cf (x(k) )T d(k) [dalla (4.1b)] (4.4)

Cos, dalla (4.4) deriva

k d(k)T 2 f ()d(k) (c 1)f (x(k+1) )T d(k) . (4.5)

Inoltre, M (2 f (x)) x implica

k kd(k) k2 (c 1)f (x(k) )T d(k)


= (1 c)f (x(k) )T d(k)
(1 c)kf (x(k) )kkd(k) k [dalla (4.1c)]

Si ottiene quindi
(1 c)
k kf (x(k) )k (4.6)
kd(k) k
Da (4.1) e (4.6) scaturisce
(1 c)
f (x(k+1) ) f (x(k) ) 2 kf (x(k) )k2 k (4.7)

33

Si supponga per assurdo che lalgoritmo non termina. Si dovrebbe avere quindi

kf (x(k) )k > k,

cio comporterebbe che, per ogni k, dovrebbe valere:

(1 c) 2 4
f (x(k+1) ) f (x(k) ) < 2 = < 0

La precedente relazione implicherebbe

f (x(k+1) ) f (x(0) ) < (k + 1)

Poiche per k il secondo membro tende a , cio contrasterebbe con lipotesi


che f ammette minimo.
34 Lezione 4. Convergenza del metodo di discesa
Lezione 5

Nozioni sui metodi


Quasi-Newton

Se non studio un giorno, me ne accorgo io. Se non studio due giorni, se ne accorge
il pubblico.
Nicolo Paganini

Schema di Newton per la risoluzione dellequazione non lineare scalare g(x) =


0 (vedi Figura 5.1):
1
x(k+1) = x(k) 0 (k) g(x(k) ). (5.1)
g (x )

g(x(k) ) + g 0 (x(k) )(x x(k) )

g(x) x(k+1) x(k)

Figura 5.1. Risoluzione di unequazione scalare

Lapproccio quasi-Newton (Q-N) sostituisce alla derivata in x(k) , g 0 (x(k) ), una


sua approssimazione s(k) , rappresentata da un rapporto incrementale.

35
36 Lezione 5. Nozioni sui metodi Quasi-Newton

l(k) (x)

x(k+1)x(k) x(k1)

Figura 5.2. Approccio Quasi-Newton

Costruiamo la funzione affine l(k) (x) che interpola g(x) nei due punti x(k1)
(k)
ed x :
g(x(k1) ) g(x(k) )
l(k) (x) = g(x(k) ) + (x x(k) )
x(k1) x(k)

= g(x(k) ) + s(k) (x x(k) ).


Ponendo l(k) (x) |x=x(k+1) = 0 (vedi Figura 5.2) si ottiene:

1
x(k+1) = x(k) g(x(k) ) (si noti lanologia con (5.1))
s(k)

Per costruzione s(k) soddisfa lequazione della secante

s(k) (x(k) x(k1) ) = g(x(k) ) g(x(k1) ),

che puo scriversi sulla base di informazione relativa ai punti x(k1) e x(k) .
Lapproccio Q-N puo essere esteso alla risoluzione di un sistema di equazioni
nonlineari:
F (x) = 0 dove F : Rn Rn .
Noti i punti x(k+1) , x(k) Rn si determina unapprossimazione affine l(k) (x) di F (x)
del tipo:
l(k) (x) = F (x(k) ) + S (k) (x x(k) ),
dove la matrice (n n) S (k) (approssimazione dello Jacobiano di F in x(k) ) soddisfa
lequazione della secante (detta anche Quasi-Newton):

S (k) (x(k) x(k1) ) = F (x(k) ) F (x(k1) ),


| {z } | {z }
(k) (k)

5.1. Formula di aggiornamento a rango 1 37

cioe
S (k) (k) = (k) . (5.2)
Ponendo l(k) (x) |x=x(k+1) = 0 e supponendo S (k) non singolare, si ottiene:
h i1
x(k+1) = x(k) S (k) F (x(k) )

che e lo schema iterativo base del metodo Quasi-Newton.

Nota 5.1. Nel caso n > 1, la condizione (5.2), per una assegnata coppia di vettori
( (k) , (k) ), puo essere soddisfatta per molte scelte di S (k) .
I vari metodi quasi-Newton si differenziano per il modo con cui viene costruita
S (k) .

5.1 Formula di aggiornamento a rango 1


Sia S = I. Per k = 1, 2, . . . si impone che S (k) sia ottenuta correggendo S (k1)
(0)

mediante la somma di una matrice a rango 1. Si pone cioe

S (k) = S (k1) + uuT ,

dove u Rn e R devono essere scelti in modo da soddisfare la (5.2). Deve


quindi valere: h i
S (k1) + uuT (k) = (k) ,

cioe
T (k)
u u } = (k) S (k1) (k) .
| {z
scalare
Poiche uT (k) e uno scalare, segue che u deve essere un multiplo del vettore
(k)
S (k1) (k) . Si ponga quindi

u = (k) S (k1) (k)

Deve valere quindi:


uT (k) = 1,
cioe
1 1
= =
uT (k) (k)T ( (k) S (k1) (k) )
1
=
(k)T (k) (k)T S (k1) (k)
In conclusione, la formula di aggiornamento Q-N a rango 1 si scrive:

S (k) = S (k+1)
1 (5.3)
+ ( (k) S (k1) (k) )( (k) S (k1) (k) )T
(k)T (k) (k)T S (k1) (k)
38 Lezione 5. Nozioni sui metodi Quasi-Newton

Lo schema iterativo Quasi-Newton si scrive:

Algoritmo 5.1. Metodi Quasi-Newton.

Passo 0. E dato x(0) , S (0) . k=0.


Passo 1. Dati x(k1) e S (k1) si calcola:
h i1
x(k) = x(k1) S (k1) F (x(k1) ).

Passo 2. Si calcolano (k) = x(k) x(k1) e (k) = F (x(k) ) F (x(k1) ).


Passo 3. Si determina S (k) utilizzando la (5.3); si pone k = k + 1 e si ritorna al
passo 1.

I metodi quasi-Newton per la minimizzazione di f (x) consistono nellapplica-


zione del metodo presentato precedentemente alla risoluzione del sistema di equazioni
f (x). In questo caso S (k) assume il significato di approssimazione della matrice
Hessiana. Le formule di approssimazione piu note sono quelle a rango 2, quindi la
DFP e la BFGS.
Lezione 6

Il metodo del piano di


taglio

Se ce soluzione perche ti preoccupi? Se non ce soluzione perche ti preoccupi?


Aristotele

Sia f una funzione convessa e differenziabile, f : Rn R e sia Q un insieme


compatto di Rn . Si voglia risolvere il problema

min f (x) .
xQ

Si osservi che f convessa e differenziabile implica

f (y) f (x) + f (x)T (y x) (x, y) . (6.1)

Si supponga di conoscere k punti distinti x(1) , x(2) , . . . , x(k) tutti appartenenti a Q.


Siano anche noti i gradienti f (x(1) ), f (x(2) ), . . . , f (x(k) ). Dalla (6.1) segue che
per ogni x vale

f (x) f (x(i) ) + f (x(i) )T (x x(i) ) i = 1, . . . , k .

Le relazioni precedenti possono essere scritte nella seguente forma compatta:


n o
f (x) max f (x(i) ) + f (x(i) )T (x x(i) ) . (6.2)
1ik

La funzione a secondo membro della (6.2) e una particolare funzione convessa e


lineare a tratti, detta funzione del piano di taglio.
La funzione del piano di taglio e evidenziata in Figura 6.1 (in questo caso e
k = 2) n o
4
f (k) (x) = max f (x(i) ) + f (x(i) )T (x x(i) ) .
1ik

Il metodo iterativo del piano di taglio sceglie x(k+1) ponendo

x(k+1) = argmin f (k) (x) . (6.3)


xQ

39
40 Lezione 6. Il metodo del piano di taglio

f (x)
f (2) (x)

Q
x(3)
x(1) x(2)

f (x(1) ) + f (x(1) )T (x x(1) )


f (x(2) ) + f (x(2) )T (x x(2) )

Figura 6.1. Funzione del piano di taglio

4
Sia x un punto di minimo di f in Q e sia f il valore ottimo (f = f (x )). Sia
4
zk+1 il valore ottimo del problema di (6.3), cioe sia zk+1 = f (k) (x(k+1) ). Il seguente
teorema di convergenza vale:

Teorema 6.1. Esiste una sottosequenza della sequenza {zk+1 } che converge ad f .

Prova.
f (x) f (k) (x) x f f (k) (x ) . (6.4)

Inoltre, dalla definizione di zk+1 segue:

zk+1 = f (k) (x(k+1) ) f (k) (x ) . (6.5)

Quindi (6.4) e (6.5) implicano


f zk+1 .

Poiche vale anche f (x(k+1) ) f , possiamo scrivere:

f (x(k+1) ) f zk+1 k = 1, 2, . . .

Supponiamo, per assurdo, che non esista alcuna sottosequenza di zk+1 con-
vergente ad f . Cio comporta che esiste un > 0 tale che, per ogni k, sussista:

f (x(k+1) ) zk+1 > 0 . (6.6)


6.1. LAlgoritmo 41

Allora, fissato k, potremmo scrivere per ogni i = 1, 2, . . . , k:

f (x(i) ) f (x(k+1) ) + f (x(k+1) )T (x(i) x(k+1) ) [per la convessita di f ]


zk+1 + + f (x(k+1) )T (x(i) x(k+1) ) [per (6.6)]
(i) (i) T (k+1) (i)
f (x ) + f (x ) (x x )+
(k+1) T (i) (k+1)
+ f (x ) (x x ) [per la definizione di zk+1 ]
(i) (k+1) T (k+1) (i)
= (f (x ) f (x )) (x x )
+ f (x(i) ) +
2Lkx(k+1) x(i) k + f (x(i) ) + , (6.7)

4
where L = max kf (x)k < + .
xQ
Dalla (6.7) segue che, per ogni k, vale

kx(k+1) x(i) k i = 1, 2, . . . , k
2L
Facendo tendere k perverremmo alla costruzione
di una sequenza di

punti tutti appartenenti a Q e tutti a distanza finita luno dallaltro, che
2L
contraddice la compattezza di Q.

6.1 LAlgoritmo
Lo schema iterativo dellalgoritmo del piano di taglio e il seguente:

Algoritmo 6.1. Piano di Taglio.

Passo 0. E dato x(0) , f (x(0) ), n > 0. k=0. o


Passo 1. Definisci f k (x) = max f (x(i) ) + f (x(i) )T (x x(i) ) .
1ik
Passo 2. Calcola x(k+1) = argmin f (k) (x) e zk+1 = f (k) (x(k+1) ).
xQ
Passo 3. Se f (x(k+1) ) zk+1 , stop. Altrimenti itera.
42 Lezione 6. Il metodo del piano di taglio
Lezione 7

Metodo di penalita

Considerate la vostra semenza: fatti non foste a viver come bruti, ma per seguir
virtute e canoscenza.
Dante Alighieri

* +
minf (x)
(7.1)
xS
Si suppone che f : Rn R sia continua. Si definisca una funzione di pe-
nalita P (x), P : Rn R, con le seguenti proprieta:
i) P e continua
ii) P (x) 0 x Rn
iii) P (x) = 0 x S
4
Esempio 7.1 Sia S = {x| x Rn , gi (x) 0, i = 1, . . . , m}. Una possibile funzione
di penalita e:
m
1X 2
P (x) = (min{0, gi (x)}) .
2 i=1

Si definisca una funzione q(c, x) come segue


4
q(c, x) = f (x) + cP (x)
e si supponga che per ogni c > 0 esista e sia unico il punto di minimo di q(c, x) su
Rn , al variare di x.
Si definisca una sequenza di valori positivi crescenti e tendenti ad infinito:
c1 < c2 < . . . < ck < ck+1 < . . .

43
44 Lezione 7. Metodo di penalita

e sia
4
x(k) = argmin q(ck , x)
xRn

Vogliamo provare che la sequenza dei punti x(k) , se converge, converge ad una
soluzione del problema 7.1.
La sostanza del metodo consiste, quindi, nel sostituire, al problema vincolato,
la risoluzione di una sequenza di problemi non vincolati.

Lemma 7.1. Valgono le proprieta:

q(ck , x(k) ) q(ck+1 , x(k+1) ) (7.2a)

P (x(k) ) P (x(k+1) ) (7.2b)

f (x(k) ) f (x(k+1) ) (7.2c)

Prova.

(7.2a)

q(ck+1 , x(k+1) ) = f (x(k+1) ) + ck+1 P (x(k+1) )


> f (x(k+1) ) + ck P (x(k+1) ) [ck+1 > ck ]
f (x(k) ) + ck P (x(k) ) = q(ck , x(k) ) [dalla definizione di x(k) ]

(7.2b) Valgono:
(
f (x(k) ) + ck P (x(k) ) f (x(k+1) ) + ck P (x(k+1) )
f (x(k+1) ) + ck+1 P (x(k+1) ) f (x(k) ) + ck+1 P (x(k) )

Sommando membro a membro e riordinando si ottiene

(ck+1 ck )P (x(k+1) ) (ck+1 ck )P (x(k) ),

da cui, tenendo conto che ck+1 > ck , segue che

P (x(k+1) ) P (x(k) )

(7.2c)

f (x(k+1) ) + ck P (x(k+1) ) f (x(k) ) + ck P (x(k) )


> f (x(k+1) ) + ck P (x(k+1) )

che implica f (x(k+1) ) f (x(k) ).


45

Lemma 7.2. Sia x una soluzione del problema (7.1). Vale per ogni k
f (x ) q(ck , x(k) ) f (x(k) )

Prova.
f (x ) = f (x ) + ck P (x )
> f (x(k) ) + ck P (x(k) ) f (x(k) ) [dalla proprieta ii)]
| {z }
(k)
q(ck , x )

Teorema 7.1. Se la sequenza {x(k) } ammette un punto di accumulazione, tale


punto e soluzione di (7.1).

Prova. Sia {x(k) }kK una sottosequenza di x(k) convergente ad un punto x.


La continuita di f implica
.
f (x(k) ) f (x) (7.3)
kK
Poiche (Lemma 7.2)
k q(ck , x(k) ) f (x )
ed inoltre la sequenza q(ck , x(k) ) e monotona crescente (7.2a), segue che la sequenza
q(ck , x(k) ) e convergente ad un limite q .
In particolare vale:
lim q(ck , x(k) ) = q k f (x )
k
kK

cioe
lim f (x(k) ) + ck P (x(k) ) = q .
k
kK
Tendendo conto della (7.3) segue
lim ck P (x(k) ) = q f (x).
k
kK

Poiche ck , deve necessariamente essere lim ck P (x(k) ) = 0 e, poiche


k
kK
lim x(k) = x, tenendo conto che per ipotesi P e continua, si ha
k
kK

0 = lim P (x(k) ) = P (x)


k
kK
46 Lezione 7. Metodo di penalita

cioe x e ammissibile.
Vale quindi:
f (x) = lim f (x(k) ) f (x )
k
kK

tenendo conto che, per definizione di x si ha

f (x ) f (x)

segue f (x ) = f (x).
Lezione 8

Metodi barriera e a punto


interno

Part of the inhumanity of the computer is that, once it is competently programmed


and working smoothly, it is completely honest.
Isaac Asimov

* +
min f (x)
(P )
gi (x) 0 i = 1, . . . m
f e gi , i = 1, . . . , m sono continue.
4
Ipotesi: Linsieme S = {x| gi (x) > 0, i = 1, . . . , m} e non vuoto e robusto
cioe ogni punto ammissibile di (P ) e non appartenente a S e infinitamente vicino a
punti di S.

ROBUSTO

NON
ROBUSTO

Figura 8.1. Insieme robusto e non robusto

Una funzione B(x) definita su S e detta funzione barriera se B(x)


quando almeno una delle gi (x) tende a zero.

47
48 Lezione 8. Metodi barriera e a punto interno

B(x)
g1 (x) = x a 0
g2 (x) = x + b 0
axb

a b x

S = (a, b) = {x| a < x < b}

Figura 8.2. Funzione barriera

Una tipica funzione barriera e la funzione barriera logaritmica


m
X
B(x) = ln gi (x)
i=1

Dato lo scalare 1 > 0, si definisce la sequenza decrescente

1 > 2 > . . . > k > k+1 > . . . con k 0

e si pone
4
x(k) = argmin f (x) + k B(x)
xS

Per calcolare x(k) bisogna minimizzare una funzione su di un insieme aperto


(!). Tuttavia, poiche sulla frontiera la funzione obiettivo tende ad infinito, risulta
efficace luso di un metodo non vincolato, purche si parta da un punto di S (quindi,
da un punto interno alla regione ammissibile di (P )).
Vale il seguente teorema di convergenza.

Teorema 8.1. Ogni punto di accumulazione della sequenza x(k) e un punto di
minimo globale per (P ).

Prova. Sia x il limite di una sottosequenza di x(k) , cioe x = lim x(k)
k
kK
Possono verificarsi due casi:
a) x S. In questo caso lim k B(x(k) ) = 0
k |{z} | {z }
kK 0 B(x)
49

/ S (x e sulla frontiera di S). Poiche B(x(k) ) ed k 0, in ogni caso vale


b) x

lim inf k B(x(k) ) 0


k
kK

Tendendo conto dei due casi a) e b) vale


n o
lim inf f (x(k) ) + k B(x(k) ) = f (x) + lim inf k B(x(k) ) f (x) (8.1)
k k
kK kK

Ovviamente x e ammissibile poiche {x| gi (x) 0, i = 1, . . . , m} e chiuso come


conseguenza della continuita delle gi (x).
Supponiamo ora per assurdo che x non sia un minimo globale di (P ). Dovrebbe
esistere x ammissibile per (P ) tale che

f (x ) < f (x)

e, tenendo conto della robustezza di S e della continuita di f , dovrebbe esistere


un punto x di S (eventualmente coincidente con x ) per cui valga

f (x) < f (x) (8.2)

Ora, per ogni k, vale, per definizione di x(k) ,

f (x(k) ) + k B(x(k) ) f (x) + k B(x)

Passando al limite, e tendendo conto della (8.1), dovremmo avere


n o
f (x) lim inf f (x(k) ) + k B(x(k) ) f (x)
k
kK

cioe f (x) f (x) che contraddice la (8.2).


50 Lezione 8. Metodi barriera e a punto interno
Lezione 9

Elementi di
programmazione
semi-definita (SDP)

Two things are infinite, the universe and human stupidity, and Im not sure about
the former.
Albert Einstein

* min C X +
Ai X = bi i = 1, . . . m (9.1)
X0

bi R, i = 1, . . . , m; C, Ai , i = 1, . . . , m, X sono matrici (n n) reali e simmet-


riche.
Il prodotto tra due matrici simmetriche H G viene definito come

n X
X n
4
H G= hij gij = tr H T G = tr HG
i=1 j=1

La notazione X 0 indica semi-definitezza positiva, H G indica che (H G)


e s.d.p.
Una formulazione alternativa del problema SDP e

min bT y
Xm
yi Ai C (9.2)
i=1

Il vicolo (9.2) e detto un vincolo del tipo LMI (Linear Matrix Inequality).

51
52 Lezione 9. Elementi di programmazione semi-definita (SDP)

9.1 Tecnica della funzione barriera


* min C X + F (X) +
Ai X = bi i = 1, . . . m
X0
dove F (X) = ln det(X).
Qn
Nota 9.1. det(X) = i=1 i (x), quindi se uno degli autovalori tende ad annullarsi,
il determinante tende anchesso a zero e la presenza delloperatore logaritmico as-
sicura il comportamento barriera.

Il gradiente della funzione obiettivo:


C X + F (X)
e C X 1 e la funzione e convessa.

9.2 Analisi di stabilita robusta


dx
= A(t)x(t),
dt
dove A(t) co{A1 , A2 , . . . , A2 }.
Vale lim = 0 per ogni condizione iniziale x0 (stabilita robusta)? Un sistema
t
e detto quadraticamente stabile se esiste una funzione quadratica positiva definita
di Lyapunov V () = T P che e decrescente lungo ciascuna traiettoria del sistema.
La stabilita quadratica implica la stabilita robusta.
Poiche vale
d d
V (x(t)) = (x(t)P (x(t)))
dt dt
T
dx dx
= P x(t) + x(t)T P
dt dt
= x(t)T A(t)T P x(t) + x(t)T P A(t)x(t)

= x(t)T A(t)T P + P A(t) x(t) < 0 x

determinare P = P T > 0 : A(t)T P + P A(t) < 0. A(t) co {A1 , . . . , AL } cioe


P = PT > 0 : ATi P + P Ai < 0 i = 1, . . . , L

* ATi P + P Ai + Si = 0 i = 1, . . . L+
P 0
Si 0 i