Introduzione all’ottimizzazione nonlineare
Introduzione all’ottimizzazione nonlineare – p. 1/82
Definizione del problema
min f (x) x ∈ Rn
ci(x) = 0 i ∈ K1 ci(x) ≥ 0 i ∈ K2
Definizioni
f viene detta funzione obiettivo.
L’insieme
S =
x ∈ Rn
ci(x) = 0 i ∈ K1 ci(x) ≥ 0 i ∈ K2
viene detto regione ammissibile del problema.
Introduzione all’ottimizzazione nonlineare – p. 3/82
Ipotesi
Supporremo che:
f, ci ∈ C2 (ipotesi di differenziabilità);
almeno una tra le funzioni f, ci, i ∈ K1 ∪ K2 è non lineare (ipotesi di nonlinearità).
Il caso in cui f e ci, i ∈ K1 ∪ K2 sono tutte funzioni lineari corrisponde alla classe dei problemi di Programmazione Lineare.
Altre definizioni
Minimo globale: un punto x∗ ∈ S tale che:
f (x∗) ≤ f(x) ∀ x ∈ S.
Minimo locale forte: un punto x∗ tale che per qualche δ > 0: f (x∗) < f (x) ∀ x ∈ S ∩ {x : kx − x∗k2 ≤ δ}, x 6= x∗.
Minimo locale debole: un punto x∗ tale che per qualche δ > 0: f (x∗) ≤ f(x) ∀ x ∈ S ∩ {x : kx − x∗k2 ≤ δ}
e x∗ non è un minimo locale forte.
Introduzione all’ottimizzazione nonlineare – p. 5/82
Casi possibili
non esitono minimi locali e/o globali perché la funzione è illimitata inferiormente. Esempio: f (x) = x3, S = R; esitono minimi locali ma non minimi globali perché la funzione è illimitata inferiormente. Esempio:
f (x) = x3 − x, S = R dove x′ = 1/√
3 è minimo locale ma non globale.
non esitono minimi locali e/o globali anche se la
funzione è limitata inferiormente. Esempio: f (x) = e−x, S = R
un minimo globale (e quindi anche locale) esiste certamente se:
S è compatto (chiuso e limitato);
f continua.
Complessità
Possiamo aspettarci che l’identificazione di ottimi globali sia un problema non semplice.
Ma la teoria ci dice che le cose sono anche più complicate.
Introduzione all’ottimizzazione nonlineare – p. 7/82
Complessità
Introduciamo il problema N P- completo SUBSET SUM: dati gli interi positivi d0, d1, . . . , dn, ci chiediamo se esiste una soluzione del sistema
Pn
j=1 djyj = d0
yj ∈ {0, 1} j = 1, . . . , n
In altre parole, si cerca di stabilire se esiste un sottinsieme degli interi d1, . . . , dn la cui somma è pari a d0.
Individuazione ottimo globale
Dai dati del subset problem deriviamo il seguente problema con funzione obiettivo quadratica e vincoli box:
min Pn
j=1 djyj − d02
+ Pn
j=1 yj(1 − yj)
0 ≤ yj ≤ 1 j = 1, . . . , n
Si ha che l’ottimo globale di questo problema ha valore dell’obiettivo pari a 0 se e solo se il corrispondente
problema subset sum ammette soluzione.
Quindi, calcolare il minimo globale di un problema non lineare è un problema difficile anche nel caso di funzioni quadratiche e vincoli box.
Introduzione all’ottimizzazione nonlineare – p. 9/82
Ottimalità locale e illimitatezza
Se la difficoltà di individuare minimi globali era prevedibile, un po’ meno lo è quella dei seguenti problemi:
nei problemi con e senza vincoli, stabilire se un dato punto non è un punto di minimo locale è N P-completo;
nei problemi con e senza vincoli, stabilire se l’obiettivo del problema è illimitato sulla regione ammissibile è N P-completo.
Le cose vanno un po’ meglio se si impongono restrizioni sulle funzioni f e ci.
Definizione
Data una matrice simmetrica A di ordine n, diciamo che questa è semidefinita positiva se:
xTAx ≥ 0 ∀ x ∈ Rn.
Diciamo che questa è definita positiva se:
xTAx > 0 ∀ x ∈ Rn \ {0}.
Una matrice A è semidefinita (definita) positiva se e solo se tutti i suoi autovalori sono non negativi (positivi) [data una matrice A, i suoi autovalori sono le radici della seguente
equazione det(A − λI) = 0 dove I è la matrice identica].
Infine, una matrice A è semidefinita positiva (definita positiva) se tutti i suoi minori principali sono non negativi (positivi), dove i minori principali sono i determinanti di tutte le sottomatrici quadrate ottenute da A rimuovendo un sottinsieme delle sue righe con le corrispondenti colonne.
Introduzione all’ottimizzazione nonlineare – p. 11/82
Funzioni convesse e concave
Una funzione f si dice convessa se (condizioni equivalenti):
∀ x1, x2 ∈ Rn, ∀ λ ∈ (0, 1) : f (λx1 + (1 − λ)x2) ≤ λf (x1) + (1 − λ)f (x2);
∀ x1, x2 ∈ Rn : f (x2) ≥ f (x1) + ∇f (x1)T(x2 − x1);
∀ x1 ∈ Rn : ∇2f (x1) è semidefinita positiva.
Nel caso in cui le diseguaglianze siano strette si parla di funzione strettamente convessa.
Condizione sufficiente (ma non necessaria, vedi f (x) = x4) perché ci sia stretta convessità è che l’Hessiano sia definito positivo.
Definiamo una funzione f concava (strettamente concava) se −f è convessa (strettamente convessa).
Programmazione Convessa (PC)
I problemi di Programmazione Convessa (PC) hanno la seguente forma
min f (x) x ∈ Rn
ci(x) ≥ 0 i ∈ K2
con f convessa e le ci, i ∈ K2, concave. Si noti che i
problemi di PL sono una sottoclasse dei problemi di PC.
Introduzione all’ottimizzazione nonlineare – p. 13/82
Osservazione
I problemi PC appartengono alla classe P. Gli algoritmi di complessità polinomiale che hanno consentito di stabilire questo sono gli stessi (elissoide, punto interno) che hanno permesso di catalogare nella classe P i problemi di PL.
Problemi trattati
Nell’ambito del corso non potremo effettuare una trattazione completa di tutti gli aspetti dei problemi di ottimizzazione
non lineare. Per questa ragione, nel seguito concentreremo la nostra attenzione sul problema dell’individuazione di
minimi locali e, dal punto di vista algoritmico, ci
restringeremo ulteriormente ai problemi non vincolati.
Questo chiaramente rappresenta una restrizione rispetto ai problemi generali introdotti sopra, sia perché non si discute di possibili approcci (esatti o euristici) per l’individuazione di minimi globali, sia perché si tralascia dal punto di vista
algoritmico la trattazione dei vincoli (per eventuali approfondimenti su tali argomenti si rimanda a testi specializzati).
Introduzione all’ottimizzazione nonlineare – p. 15/82
Tuttavia già la trattazione degli argomenti citati rappresenta un’utile introduzione alle problematiche dell’ottimizzazione non lineare, che possono poi venire utili anche per la
trattazione dei casi non trattati in questi appunti.
Il caso non vincolato
Nel caso non vincolato gli insiemi K1 e K2 devono essere entrambi vuoti.
Vedremo per prima cosa condizioni necessarie e sufficienti di ottimalità locale per questo caso.
In seguito, passeremo alla descrizione di alcuni aprrocci risolutivi.
Introduzione all’ottimizzazione nonlineare – p. 17/82
Alcuni risultati sui gradienti
Data f : Rn → R, si ha che
∇f(x) =
( c se f (x) = cTx + c0
Hx se f (x) = 12xTHx, H simmetrica
Dati xi : R → Rni, i = 1, . . . , k, e f : RPki=1 ni → R, definiamo g(λ) = f (x1(λ), . . . , xk(λ)).
Per le regole delle derivate di funzioni composte si ha che:
d
d λg =
Xk
i=1
d
d λxi
T
∇xif
In particolare ...
... per k = 1 e x(λ) = x0 + λs, ovvero g(λ) = f (x0 + λs), si ha
d
d λg =
d d λx
T
∇xf = sT ∇xf
Introduzione all’ottimizzazione nonlineare – p. 19/82
Condizioni di ottimalità
Non è possibile la verifica di ottimalità locale sulla base della definizione.
⇒ vengono ricavate delle condizioni di ottimalità locale.
Condizione necessaria del primo ordine
Se x∗ è un minimo locale, allora
∇f(x∗) = 0 (condizione di stazionarietà).
Non è una condizione sufficiente. Esempio:
f (x) = −x2,
dove x = 0¯ è un punto stazionario ma non è un minimo locale (è un punto di massimo).
Introduzione all’ottimizzazione nonlineare – p. 21/82
Dimostrazione
Espansione in forma di Taylor attorno a x∗:
f (x∗ + εp) = f (x∗) + ε∇f(x∗)Tp + o(ε).
Per assurdo, sia ∇f(x∗) 6= 0.
Allora esiste p tale che ∇f(x∗)Tp < 0 (esempio:
p = −∇f(x∗)).
Quindi, per ε sufficientemente piccolo:
f (x∗ + εp) < f (x∗), il che contraddice l’ottimalità locale di x∗.
Condizione necessaria del secondo ordine
Se x∗ è un minimo locale, allora:
∇f(x∗) = 0;
∇2f (x∗) è semidefinita positiva.
Introduzione all’ottimizzazione nonlineare – p. 23/82
Dimostrazione
∇f(x∗) = 0 già dimostrato.
Quindi:
f (x∗ + εp) = f (x∗) + 1
2ε2pT∇2f (x∗)p + o(ε2).
Per assurdo, sia ∇2f (x∗) non semidefinta positiva. Allora,
∃ p tale che
pT∇2f (x∗)p < 0.
Quindi, per ε sufficientemente piccolo:
f (x∗ + εp) < f (x∗), il che contraddice l’ottimalità locale di x∗.
La condizione non è sufficiente
Esempio: f (x) = x3.
In x = 0¯ , la condizione è soddisfatta ma il punto non è di minimo.
Introduzione all’ottimizzazione nonlineare – p. 25/82
Condizione sufficiente
Un punto x∗ che soddisfi le seguenti condizioni, è un minimo locale forte:
∇f(x∗) = 0;
∇2f (x∗) è definita positiva.
Dimostrazione
Per ogni matrice definita positiva A, si ha che:
xTAx ≥ λmin(A)kxk22,
dove λmin(A) > 0 è il più piccolo autovalore di A. Da:
f (x∗ + εp) = f (x∗) + 1
2ε2pT∇2f (x∗)p + o(ε2).
segue che per ogni p tale che kpk2 = 1 e per ogni ε > 0 sufficientemente piccolo:
f (x∗ + εp) ≥ f(x∗) + 1
2ε2λmin(∇2f (x∗)) + o(ε2) > f (x∗).
Introduzione all’ottimizzazione nonlineare – p. 27/82
Condizione non necessaria
Esempio: f (x) = x4.
Il punto x∗ = 0 è di minimo locale forte, ma ∇2f (0) non è definita positiva.
Condizione necessaria e sufficiente
Nel caso convesso la condizione di stazionarietà:
∇f(x∗) = 0,
è necessaria e sufficiente perché x∗ sia un minimo locale.
Introduzione all’ottimizzazione nonlineare – p. 29/82
Minimi locali ≡ minimi globali
Nel caso convesso, ogni minimo locale è anche globale.
Dimostrazione per assurdo: sia x∗ un minimo locale non globale, ovvero ∃ ¯x tale che f (¯x) < f (x∗).
Allora ∀ λ ∈ (0, 1):
f (λx∗ + (1 − λ)¯x) ≤ λf(x∗) + (1 − λ)f(¯x) < f(x∗), il che contraddice l’ottimalità locale di x∗.
Unicità del minimo
Nel caso strettamente convesso, se esiste un minimo globale, esso è anche l’unico.
Dimostrazione per assurdo: siano x∗, ¯x, x∗ 6= ¯x, due minimi globali distinti. Si avrà che f (¯x) = f (x∗).
Inoltre, ∀ λ ∈ (0, 1):
f (λx∗ + (1 − λ)¯x) < λf(x∗) + (1 − λ)f(¯x) = f(x∗), il che contraddice l’ottimalità globale di x∗.
Introduzione all’ottimizzazione nonlineare – p. 31/82
Il caso quadratico
Sia data una funzione quadratica:
f (x) = 1
2xTQx + cTx,
dove Q può essere sempre presa simmetrica.
Si ha:
∇f(x) = Qx + c ∇2f (x) = Q.
Quindi:
f convessa ⇔ Q semidefinita positiva;
f strettamente convessa ⇔ Q definita positiva.
Ottimo unico del caso str. convesso
Nel caso quadratico strettamente convesso per individuare l’unica soluzione ottima, basta imporre la condizione di
stazionarietà:
∇f(x∗) = 0 ovvero Qx∗ + c = 0, da cui:
x∗ = −Q−1c,
è l’unico ottimo locale e globale per questo problema.
Introduzione all’ottimizzazione nonlineare – p. 33/82
Algoritmi caso non vincolato
Due grandi categorie di metodi:
metodi linesearch;
metodi trust region.
Entrambi i metodi sono iterativi, ovvero generano una sequenza {xk} di punti.
Metodi linesearch
Schema generale:
Si individui una direzione di discesa dk (ovvero,
∇f(xk)Tdk < 0);
Si individui, tramite una ricerca lungo la semiretta con origine xk e direzione dk, uno scalare αk > 0 tale che
f (xk + αkdk) < f (xk);
si ponga xk+1 = xk + αkdk e k = k + 1.
Diverse scelte di dk conducono ad algoritmi con proprietà di convergenza diverse.
Introduzione all’ottimizzazione nonlineare – p. 35/82
Antigradiente
Nel metodo dell’antigradiente si sceglie come direzione di discesa quella che garantisce la rapidità di discesa
massima, ovvero:
dk = −∇f(xk).
Newton
Nel metodo di Newton, si prende come direzione di discesa il minimo (se esiste) della funzione quadratica ottenuta
dall’espansione in forma di Taylor di f attorno a xk troncata al secondo ordine, ovvero
dk ∈ arg min
d∈Rn[f (xk) + ∇f(xk)T d + 1
2dT∇2f (xk)d]
o, equivalentemente:
dk = −[∇2f (xk)]−1∇f(xk).
NOTA BENE: non è detto che dk sia definita e, qualora lo sia, che sia una direzione di discesa. Ma è certamente una
direzione di discesa nelle vicinanze di un minimo locale che soddisfa le condizioni sufficienti del secondo ordine.
Introduzione all’ottimizzazione nonlineare – p. 37/82
Quasi-Newton
Si utilizza un’approssimazione Bk dell’Hessiano ∇2f (xk): dk = −[Bk]−1∇f(xk).
A ogni iterazione, l’approssimazione viene aggiornata in modo che soddisfi alcune proprietà.
Condizione quasi-newtoniana
Sia sk = xk+1 − xk e
∇f(xk+1) ≈ ∇f(xk) + ∇2f (xk)sk,
l’espansione in forma di Taylor, troncata al primo ordine, del gradiente della f attorno a xk.
Indicando con
∆k = ∇f(xk+1) − ∇f(xk), si richiederà quindi che:
Bk+1sk = ∆k
Introduzione all’ottimizzazione nonlineare – p. 39/82
Inoltre...
... viene richiesto che:
Bk+1 sia simmetrica (come lo è l’Hessiano);
Bk+1 sia definita positiva (si garantisce che la direzione di ricerca sia di discesa).
Tipicamente si cercano aggiornamenti "il più piccolo
possibile"’: Bk+1 − Bk è una matrice a rango molto basso (uno o due).
Una scelta usuale è porre B0 = I (matrice identica), ovvero il primo passo è lungo la direzione dell’antigradiente.
Un esempio: BFGS
Bk+1 = Bk + ∇f(xk)∇f(xk)T
∇f(xk)Tdk − ∆k∆Tk αk∆Tk dk
Esiste anche una versione limited-memory BFGS, utile per problemi su larga scala, dove la matrice Bk non può essere memorizzata per problemi di occupazione di memoria, ma vengono memorizzati solo vettori che identificano un certo numero limitato di aggiornamenti quasi-newtoniani rispetto alla matrice identica.
Introduzione all’ottimizzazione nonlineare – p. 41/82
Convergenza globale
Dato un punto iniziale x0, tutti i punti di accumulazione della sequenza {xk} sono punti stazionari, ovvero
k∇f (xk)k → 0.
Si dimostra che vale se:
l’insieme di livello:
L(f (x0)) = {x ∈ Rn : f (x) ≤ f (x0)}
è chiuso e limitato;
a ogni iterazione si ha una "sufficiente" decrescita della funzione, cioè f (xk) − f (xk+1) è sufficientemente grande;
il passo compiuto xk+1 − xk è "sufficientemente" distante dall’ortogonalità rispetto al gradiente ∇f (xk).
Condizioni di Armijo-Goldstein
Sono condizioni di "sufficiente decrescita".
Indicata con d la direzione di ricerca scelta, sia α¯ il più piccolo valore per cui f (xk + ¯αd) = f (xk).
Per garantire una sufficiente decrescita, si vuole evitare un passo troppo vicino a 0 o troppo vicino a α.¯
Si fissi un ρ ∈ (0, 1/2). Non troppo vicino a 0:
f (xk + αd) ≥ f (xk) + α(1 − ρ)∇f (xk)Td
Non troppo vicino a α:¯
f (xk + αd) ≤ f (xk) + αρ∇f (xk)Td
Quindi il passo αk soddisfa:
−ραk∇f (xk)Td ≤ f (xk) − f (xk + αkd) ≤ −(1 − ρ)αk∇f (xk)Td
Introduzione all’ottimizzazione nonlineare – p. 43/82
Non ortogonalità rispetto al gradiente
Sia θk l’angolo tra il gradiente in xk e il passo sk = xk+1 − xk. Si ha:
cos(θk) = ∇f(xk)Tsk k∇f(xk)kkskk. Ipotesi:
X∞
k=1
cos2(θk) = +∞,
cioè {θk} può convergere a π/2 ma deve farlo in modo
"sufficientemente" lento.
Velocità di convergenza locale
Dato un minimo locale x e un punto x0 "sufficientemente"
vicino a x, la velocità di convergenza locale può essere:
lineare con coefficiente r < 1:
kxk+1 − xk/kxk − xk → r superlineare:
kxk+1 − xk/kxk − xk → 0 quadratica:
kxk+1 − xk/kxk − xk2 → A > 0.
Introduzione all’ottimizzazione nonlineare – p. 45/82
Antigradiente
Il metodo dell’antigradiente ha velocità di convergenza locale lineare.
Se applicato a una funzione quadratica strettamente
convessa f (x) = cT x + 1/2xT Hx, con H simmetrica definita positiva e minimo in x∗, si dimostra che
| f(xk+1) − f(x∗) |≤
λmax − λmin λmax + λmin
2
| f(xk) − f(x∗) |
dove λmax e λmin sono, rispettivamente, il massimo e il minimo autovalore di H.
Si noti che se λmax/λmin è molto grande, la convergenza è lineare ma molto lenta.
Esempio
Si consideri la funzione
f (x, y) = M x2 + y2,
con M > 0. Si può facilmente dimostrare che il punto di ottimo locale e globale di questa funzione è l’origine (0, 0). Prendiamo ora il punto
x0 = α(1/M, 1).
Il gradiente è ∇f(x, y) = (2Mx, 2y) e quindi nel punto x0 la direzione di ricerca è l’antigradiente −α(2, 2) e il nuovo
punto viene cercato lungo la semiretta:
α(1/M, 1) − λα(2, 2) λ ≥ 0.
Introduzione all’ottimizzazione nonlineare – p. 47/82
Continua
Possiamo facilmente trovare il minimo della funzione:
q(λ) = f (α(1/M − 2λ), α(1 − 2λ)) = M α2(1/M − 2λ)2 + α2(1 − 2λ)2 λ ≥ 0.
Il minimo è il valore λ0 = M +11 , indipendente da α e il nuovo punto x1 è il seguente:
x1 = αM − 1
M + 1(−1/M, 1).
Continua
Con il nuovo punto si può ripetere quanto visto sopra e si ottiene:
x2 = α
M − 1 M + 1
2
(1/M, 1), Notando che
x2 =
M − 1 M + 1
2
x0, alla 2k-esima iterazione avremo:
x2k =
M − 1 M + 1
2k
x0, ∀ k ∈ N
Introduzione all’ottimizzazione nonlineare – p. 49/82
Continua
Questo ci dice che ad ogni iterazione la distanza dall’ottimo (l’origine (0, 0)) viene ridotta del fattore
M − 1 M + 1
che al crescere di M tende a 1, confermando quindi che il metodo dell’antigradiente ha convergenza locale lineare con un coefficiente r che può essere reso arbitrariamente vicino a 1.
Newton e quasi-Newton
Sotto opportune ipotesi (in particolare si richiede che nel minimo locale x l’Hessiano sia definito positivo), il metodo di Newton ha velocità di convergenza locale quadratica.
D’altro canto non si ha alcuna garanzia di convergenza globale (in certe iterazioni la direzione di discesa può non essere definita).
Per i metodi quasi-newtoniani si riesce di solito a dimostrare la convergenza superlineare.
Per il metodo BFGS si riesce a dimostrare:
la convergenza in al più n iterazioni su funzioni quadratiche, se si fanno ricerche lineari esatte;
la convergenza globale per funzioni convesse, ma non per funzioni più generali .
Introduzione all’ottimizzazione nonlineare – p. 51/82
Caratterizzazione di Dennis-Morè
Data una sequenza {xAk } generata da un metodo A, indichiamo con
sAk = xAk+1 − xAk ,
il passo all’iterazione k e con sNk il passo che verrebbe compiuto dal metodo di Newton.
Si dimostra che A ha convergenza superlineare se e solo se
sAk = sNk + o(ksNk k),
ovvero il passo è asintoticamente pari a quello di Newton.
Metodi trust-region
Metodi iterativi in cui l’iterato successivo xk+1 viene
determinato risolvendo un opportuno sottoproblema basato sull’iterato corrente xk.
Nel sottoproblema si minimizza un modello quadratico Mk(x) che approssima f in una sfera centrata in xk e con un certo raggio ρk:
˜
xk ∈ arg min
x : kx−xkk2≤ρk
Mk(x).
Quindi si pone
xk+1 =
xk se f (˜xk) ≥ f (xk)
˜
xk altrimenti
Introduzione all’ottimizzazione nonlineare – p. 53/82
Modello quadratico
Una tipica scelta per il modello quadratico è:
Mk(x) = f (xk) + ∇f(xk)T(x − xk) + 1
2(x − xk)T Sk(x − xk), dove Sk coincide con ∇2f (xk) o è una sua approssimazione (come nei metodi quasi-newtoniani).
Aggiornamento raggio
A ogni iterazione il raggio ρk viene aggiornato in un nuovo valore ρk+1 secondo le regole seguenti.
Sia
rk = f (˜xk) − f(xk) Mk(˜xk) − Mk(xk),
il rapporto tra la riduzione effettiva e quella sul modello.
Dati 0 < δ1 < δ2 < 1, 0 < γ1 < 1 < γ2 si pone:
ρk+1 =
γ1k˜xk − xkk se rk < δ1
γ2ρk se rk > δ2 e k˜xk − xkk = ρk
ρk altrimenti
In pratica, se il modello è affidabile, tendiamo a estendere la regione in cui applicarlo, se non lo è la riduciamo.
Introduzione all’ottimizzazione nonlineare – p. 55/82
Risultati di convergenza
Sia {xk} la sequenza generata da un metodo trust region con Sk = ∇2f (xk).
Se {xk} ⊆ B, dove B è un insieme limitato (ad esempio, se l’insieme di livello L(f (x0)) è limitato), allora esiste un punto di accumulazione della sequenza che soddisfa le condizioni necessarie del secondo ordine.
Se il punto di accumulazione soddisfa le condizioni sufficienti del secondo ordine, allora la velocità di convergenza locale è quadratica, rk → 1 e il vincolo kx − xkk ≤ ρk diventa inattivo, ovvero
k˜xk − xkk < ρk
Il caso vincolato
Introduzione all’ottimizzazione nonlineare – p. 57/82
Direzioni ammissibili
Sia x′ un punto ammissibile e {xk} una sequenza di punti ammissibili convergente a x′ con
xk − x′ = δksk kskk = 1, δk → 0.
Sia sk → s. La direzione s viene detta direzione ammissibile rispetto a x′.
L’insieme delle direzioni ammissibili rispetto a x′ viene indicato con
F(x′).
Vincoli linearizzati
Sia
A(x′) = {i ∈ K2 : ci(x′) = 0},
l’insieme dei vincoli attivi in x′ (vincoli di diseguaglianza soddisfatti come uguaglianza in x′).
Se linearizziamo i vincoli con un’espansione di Taylor troncata al primo ordine attorno a x′, questi avranno la seguente forma:
∇ci(x′)T(x − x′) = 0 i ∈ K1 ci(x′) + ∇ci(x′)T(x − x′) ≥ 0 i ∈ K2
L’insieme F (x′) delle direzioni ammissibili dei vincoli linearizzati è dato da tutte le direzioni s tali che
∇ci(x′)Ts = 0 i ∈ K1
∇ci(x′)Ts ≥ 0 i ∈ K2 ∩ A(x′)
Introduzione all’ottimizzazione nonlineare – p. 59/82
Relazione tra F (x ′ ) e F(x ′ )
In generale si ha
F (x′) ⊇ F(x′).
con la possibilità che non valga l’uguaglianza.
Esempio con soli vincoli di uguaglianza:
c1(x1, x2) = (x1 − 1)2 + x22 − 1 c2(x1, x2) = (x1 + 1)2 + x22 − 1
Per x′ = (0, 0) ogni vettore (0, δ) è in F (x′) ma essendo x′ l’unico punto ammissibile, si ha che F(x′) è vuoto.
Constraint qualification
Sotto opportune condizioni, dette constraint qualification, vale l’uguaglianza.
Possibili condizioni:
tutti i vincoli ci sono lineari;
i gradienti ∇ci(x′) dei vincoli in K1 ∪ A(x′) sono tra loro linearmente indipendenti.
Nell’esempio:
∇c1(0, 0) = (−2, 0), ∇c2(0, 0) = (2, 0) non linearmente indipendenti.
Introduzione all’ottimizzazione nonlineare – p. 61/82
Condizione necessaria
Insieme direzioni di discesa in x′:
D(x′) = {s : ∇f(x′)Ts < 0}.
Se x∗ è un minimo locale, allora
F(x∗) ∩ D(x∗) = ∅.
Se in x∗ valgono le constraint qualification, allora:
F (x∗) ∩ D(x∗) = ∅.
Lemma di Farkas
Dati i vettori a1, . . . , am e g si ha che
U = {s : sTg < 0, sT ai ≥ 0, i = 1, . . . , m}
è vuoto se e solo se ∃ moltiplicatori λi ≥ 0 tali che g =
Xm
i=1
λiai.
Introduzione all’ottimizzazione nonlineare – p. 63/82
Dimostrazione
Se: facile →
sTg =
Xm
i=1
λi
|{z}≥0
sTai
|{z}≥0
≥ 0
Solo se: sia
C = {v : v = Xm
i=1
λiai, λi ≥ 0, i = 1, . . . , m}
un cono poliedrale e si ipotizzi che g 6∈ C.
Allora esiste un iperpiano sT x = 0 (con normale s) che separa g da C, ovvero:
sTai ≥ 0, sTg < 0, come richiesto.
Esistenza iperpiano separatore
Si consideri minx∈C kg − xk22. Dato x1 ∈ C si può imporre, senza perdere soluzioni ottime, il vincolo
kg − xk2 ≤ kg − x1k2 che rende la regione ammissibile limitata.
Essendo l’obiettivo una funzione continua, il teorema di
Weierstrass garantisce l’esistenza di un punto di minimo gˆ. Dal momento che λˆg ∈ C ∀ λ ≥ 0, si ha che kλˆg − gk22 ha un minimo in λ = 1.
Quindi,
d
d λkλˆg − gk22 |λ=1= ˆgT (ˆg − g) = 0.
Introduzione all’ottimizzazione nonlineare – p. 65/82
Continua
Sia x ∈ C; allora, per convessità, ∀ θ ∈ (0, 1):
ˆ
g + θ(x − ˆg) ∈ C
e quindi:
kθ(x − ˆg) + ˆg − gk22 ≥ kˆg − gk22.
e:
θ2kx − ˆgk22 + θ(x − ˆg)T(ˆg − g) ≥ 0
Prendendo il limite per θ → 0, si ha
(x − ˆg)T(ˆg − g) = xT(ˆg − g) ≥ 0.
Si prenda ora s = ˆg − g 6= 0 poiché g 6∈ C. Si ha
sTx ≥ 0 ∀ x ∈ C, sTg = −sTs < 0,
come si voleva dimostrare.
Conseguenza
D(x∗) ∩ F (x∗) =
s : sT∇f(x∗) < 0
sT∇ci(x∗) = 0 i ∈ K1 sT∇ci(x∗) ≥ 0 i ∈ A(x∗)
è vuoto se e solo se:
s : sT∇f(x∗) < 0
sT∇ci(x∗) ≥ 0, −sT∇ci(x∗) ≥ 0 i ∈ K1 sT∇ci(x∗) ≥ 0 i ∈ A(x∗)
Introduzione all’ottimizzazione nonlineare – p. 67/82
Continua
se e solo se (lemma di Farkas) ∃ λ+i , λ−i ≥ 0, i ∈ K1, µ∗i ≥ 0, i ∈ K2 (con µ∗i = 0 se i 6∈ A(x∗)), tali che:
∇f(x∗) = X
i∈K1
(λ+i − λ−i )∇ci(x∗) + X
i∈K2
µ∗i ∇ci(x∗),
o, equivalentemente, esistono λ∗i , i ∈ K1 e µ∗i ≥ 0, i ∈ K2 tali che
∇f(x∗) = X
i∈K1
λ∗i ∇ci(x∗) + X
i∈K2
µ∗i ∇ci(x∗).
Condizioni KKT
Condizioni di Karush-Kuhn-Tucker (KKT) (necessarie del primo ordine): indicata con
L(x, λ, µ) = f(x) − X
i∈K1
λici(x) − X
i∈K2
µici(x),
la funzione Lagrangiana, se x∗ è un minimo locale in cui è soddisfatta una constraint qualification, allora esistono
moltiplicatori di Lagrange λ∗, µ∗, tali che
∇xL(x∗, λ∗, µ∗) = 0; ci(x∗) = 0, i ∈ K1; ci(x∗) ≥ 0, i ∈ K2; µ∗ ≥ 0;
µ∗i ci(x∗) = 0, ∀ i ∈ K2 (condizioni di complementarità).
Introduzione all’ottimizzazione nonlineare – p. 69/82
Interpretazione moltiplicatori Lagrange
Solo per il caso di vincoli di uguaglianza (simile per gli altri).
Sia x∗ un minimo del problema e λ∗ il relativo moltiplicatore di Lagrange. Si consideri la perturbazione
ci(x) = εi dell’i-esimo vincolo di uguaglianza.
Lagrangiana
L(x, λ, ε) = f(x) − X
i∈K1
λi(ci(x) − εi).
Siano x(ε), λ(ε) la soluzione e il moltiplicatore di Lagrange
Continua
Si ha f (x(ε)) = L(x(ε), λ(ε), ε) (valore ottimo del problema perturbato) .
Applicando la regola della derivata delle funzioni composte, si ha:
d f
d εi|εi=0 = d L
εi = ∂ xT
∂ εi ∇xL
|{z}=0
+∂ λT
∂ εi ∇λL
| {z }
=0
+∂ L
∂ εi = λ∗i
Quindi, i moltiplicatori di Lagrange misurano la rapidità di variazione del valore ottimo in corrispondenza di
perturbazioni dei vincoli.
Introduzione all’ottimizzazione nonlineare – p. 71/82
Problemi convessi
Se:
f convessa;
K1 = ∅;
ci, i ∈ K2 sono funzioni concave (equivalentemente: −ci sono funzioni convesse);
si parla di problema di programmazione convessa.
Programmazione convessa
I problemi di programmazione convessa sono caratterizzati dal fatto che:
ogni minimo locale è anche globale;
se f è strettamente convessa, un minimo globale (se esiste) è unico;
le condizioni KKT sono necessarie e sufficienti per identificare i minimi locali (globali).
Introduzione all’ottimizzazione nonlineare – p. 73/82
Condizioni secondo ordine
Sotto l’ipotesi del primo ordine
∇f(x∗) = X
i∈K1
λ∗i ∇ci(x∗) + X
i∈K2
µ∗i ∇ci(x∗),
se µ∗j > 0, allora le direzioni ammissibili s per cui
∇cj(x∗)Ts > 0, sono di crescita:
∇f (x∗)Ts = X
i∈K1
λ∗i∇ci(x∗)Ts + X
i∈K2
µ∗i∇ci(x∗)Ts ≥ µ∗j∇cj(x∗)Ts > 0.
Quindi, sotto l’ipotesi che valgano delle constraint
qualification in x∗, possiamo restringerci alle direzioni
G(x∗) = {s : ∇ci(x∗)Ts = 0, i ∈ K1 o µ∗i > 0, ∇ci(x∗)Ts ≥ 0 i ∈ A(x∗) e µ∗i = 0}.
Se xk = x∗ + δksk con δk → 0, sk → s ∈ G(x∗) e ci(xk) = 0 ∀ i : i ∈ K1 o µ∗i > 0, si ha
f (x∗ + δksk) = L(x∗ + δksk, λ∗, µ∗) Si ha anche:
L(x∗ + δksk, λ∗, µ∗) = L(x∗, λ∗, µ∗)
| {z }
=f (x∗)
+δk ∇xL(x∗, λ∗, µ∗)Tsk
| {z }
=0
+12δk2sTk ∇2xxL(x∗, λ∗, µ∗)sk + o(δk2)
Introduzione all’ottimizzazione nonlineare – p. 75/82
Continua
Se x∗ è un minimo locale, allora f (xk) ≥ f(x∗), per k sufficientemente grande. Quindi, per k → ∞:
sT∇2xxL(x∗, λ∗, µ∗)s ≥ 0 ∀ s ∈ G(x∗),
ovvero, se indichiamo con Z(x∗) una matrice le cui colonne formano una base dell’insieme di direzioni G(x∗), si ha la condizione necessaria:
Z(x∗)T∇2xxL(x∗, λ∗, µ∗)Z(x∗) semidefinita positiva.
Condizione sufficiente del secondo ordine
Se x∗, λ∗, µ∗ soddisfano le condizioni KKT e
Z(x∗)T∇2xxL(x∗, λ∗, µ∗)Z(x∗) definita positiva, allora x∗ è un minimo locale del problema.
Introduzione all’ottimizzazione nonlineare – p. 77/82
Duale di Wolfe
Per problemi di programmazione convessa si definisce il duale di Wolfe:
maxx,µ L(x, µ)
∇xL(x, µ) = 0 µ ≥ 0
Se:
x∗ è una soluzione del problema di programmazione
convessa con i corrispondenti moltiplicatori di Lagrange µ∗;
in x∗ vale una constraint qualification;
allora (x∗, µ∗) risolve il duale di Wolfe e i valori ottimi dei due
Esempio: problema lineare
min cTx
AT x ≥ b x ≥ 0 Duale di Wolfe:
maxx,µ,γ cTx − µT(ATx − b) − γTx c − Aµ − γ = 0
µ, γ ≥ 0
Introduzione all’ottimizzazione nonlineare – p. 79/82
Equivalentemente, osservando che c = Aµ + γ: maxµ µT b
Aµ ≤ c µ ≥ 0
Si noti che questo coincide con il duale già visto per questi problemi di PL e che i moltiplicatori di Lagrange coincidono con le variabili del duale.
Dalla soluzione ottima µ∗ del duale, si ricava
immediatamente la soluzione ottima del primale a partire dalle condizioni di complementarità:
∗T ∗ ∗ T ∗ ∗T T ∗
Esempio: problema quadratico
minx 12xTQx + cTx ATx ≥ b
Q simmetrica definita positiva.
Duale di Wolfe:
maxx,µ 12xTQx + cTx − µT(ATx − b) Qx + c − Aµ = 0
µ ≥ 0
Introduzione all’ottimizzazione nonlineare – p. 81/82
Osservando che x = Q−1(Aµ − c), si ha
maxµ −12µT(ATQ−1A)µ + µT(b + ATQ−1c) − 12cTQ−1c µ ≥ 0
Dalla soluzione ottima µ∗ del duale, si ricava
immediatamente la soluzione ottima del primale x∗ = Q−1(Aµ∗ − c).