• Non ci sono risultati.

Introduzione all’ottimizzazione nonlineare

N/A
N/A
Protected

Academic year: 2022

Condividi "Introduzione all’ottimizzazione nonlineare"

Copied!
82
0
0

Testo completo

(1)

Introduzione all’ottimizzazione nonlineare

Introduzione all’ottimizzazione nonlineare – p. 1/82

(2)

Definizione del problema

min f (x) x ∈ Rn

ci(x) = 0 i ∈ K1 ci(x) ≥ 0 i ∈ K2

(3)

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

(4)

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.

(5)

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 − xk2 ≤ δ}, x 6= x.

Minimo locale debole: un punto x tale che per qualche δ > 0: f (x) ≤ f(x) ∀ x ∈ S ∩ {x : kx − xk2 ≤ δ}

e x non è un minimo locale forte.

Introduzione all’ottimizzazione nonlineare – p. 5/82

(6)

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.

(7)

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

(8)

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.

(9)

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

(10)

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.

(11)

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

(12)

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).

(13)

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

(14)

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.

(15)

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

(16)

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.

(17)

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

(18)

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

(19)

In particolare ...

... per k = 1 e x(λ) = x0 + λs, ovvero g(λ) = f (x0 + λs), si ha

d

d λg =

 d d λx

T

xf = sTxf

Introduzione all’ottimizzazione nonlineare – p. 19/82

(20)

Condizioni di ottimalità

Non è possibile la verifica di ottimalità locale sulla base della definizione.

⇒ vengono ricavate delle condizioni di ottimalità locale.

(21)

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

(22)

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.

(23)

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

(24)

Dimostrazione

∇f(x) = 0 già dimostrato.

Quindi:

f (x + εp) = f (x) + 1

2pT2f (x)p + o(ε2).

Per assurdo, sia 2f (x) non semidefinta positiva. Allora,

∃ p tale che

pT2f (x)p < 0.

Quindi, per ε sufficientemente piccolo:

f (x + εp) < f (x), il che contraddice l’ottimalità locale di x.

(25)

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

(26)

Condizione sufficiente

Un punto x che soddisfi le seguenti condizioni, è un minimo locale forte:

∇f(x) = 0;

2f (x) è definita positiva.

(27)

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

2pT2f (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λmin(∇2f (x)) + o(ε2) > f (x).

Introduzione all’ottimizzazione nonlineare – p. 27/82

(28)

Condizione non necessaria

Esempio: f (x) = x4.

Il punto x = 0 è di minimo locale forte, ma 2f (0) non è definita positiva.

(29)

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

(30)

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.

(31)

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

(32)

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.

(33)

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

(34)

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.

(35)

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

(36)

Antigradiente

Nel metodo dell’antigradiente si sceglie come direzione di discesa quella che garantisce la rapidità di discesa

massima, ovvero:

dk = −∇f(xk).

(37)

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

2dT2f (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

(38)

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à.

(39)

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

(40)

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.

(41)

Un esempio: BFGS

Bk+1 = Bk + ∇f(xk)∇f(xk)T

∇f(xk)Tdk − ∆kTk αkTk 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

(42)

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).

(43)

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

(44)

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

cos2k) = +∞,

cioè k} può convergere a π/2 ma deve farlo in modo

"sufficientemente" lento.

(45)

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

(46)

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 λmaxmin è molto grande, la convergenza è lineare ma molto lenta.

(47)

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

(48)

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).

(49)

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

(50)

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.

(51)

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

(52)

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.

(53)

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

(54)

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).

(55)

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 =

γ1xk − xkk se rk < δ1

γ2ρk se rk > δ2 e 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

(56)

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

(57)

Il caso vincolato

Introduzione all’ottimizzazione nonlineare – p. 57/82

(58)

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).

(59)

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

(60)

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.

(61)

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

(62)

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) = ∅.

(63)

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

(64)

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.

(65)

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

(66)

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)Tg − g) ≥ 0

Prendendo il limite per θ → 0, si ha

(x − ˆg)Tg − g) = xTg − 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.

(67)

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

(68)

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).

(69)

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

(70)

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

(71)

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

∂ εixL

|{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

(72)

Problemi convessi

Se:

f convessa;

K1 = ∅;

ci, i ∈ K2 sono funzioni concave (equivalentemente: −ci sono funzioni convesse);

si parla di problema di programmazione convessa.

(73)

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

(74)

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.

(75)

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

(76)

Continua

Se x è un minimo locale, allora f (xk) ≥ f(x), per k sufficientemente grande. Quindi, per k → ∞:

sT2xxL(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)T2xxL(x, λ, µ)Z(x) semidefinita positiva.

(77)

Condizione sufficiente del secondo ordine

Se x, λ, µ soddisfano le condizioni KKT e

Z(x)T2xxL(x, λ, µ)Z(x) definita positiva, allora x è un minimo locale del problema.

Introduzione all’ottimizzazione nonlineare – p. 77/82

(78)

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

(79)

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

(80)

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

(81)

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

(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).

Riferimenti

Documenti correlati

Per gli stessi motivi esemplificati sopra, non si pu` o neanche definire un grafo dei cam- mini minimi in presenza di un massimo numero di hop. Infatti, il grafo dei cammini min-

Titolo del corso: Metodi Avanzati per la Progettazione e Ottimizzazione di Processo Docente Davide Manca.. Programma: - Introduzione alla ottimizzazione nella sintesi

Corso di Laurea in Scienze Fisiche Prova finale del

I modelli multi-prodotto ad un livello sono indicati con l’acronimo MCOL (multi- commodity, one-level); poiché sono anche presenti vincoli di capacità (vincoli di tipo 3

Applicazioni di strumenti MATLAB a problemi standard di ottimizzazione multivariabile lineare e nonlineare con o senza vincoli..

Applicazioni di strumenti MATLAB a problemi standard di ottimizzazione multivariabile lineare e nonlineare con o senza vincoli (Seminario prof. Bizon parte 1)..

L’ottimizzazione delle variabili semaforiche dovrà essere effettuata ad ogni iterazione di un algoritmo risolutivo del problema di ottimizzazione dei sensi di marcia,

¾ Lottare contro la pianificazione fiscale aggressiva e le altre. forme di