43
Università degli Studi dell’Aquila Facoltà di Ingegneria Prof.ssa Elena De Santis ALGORITMI PER L’OTTIMIZZAZIONE CONVESSA Luca Finocchio Vittoriano Muttillo

Algoritmi per l'ottimizzazione convessa

Embed Size (px)

Citation preview

Page 1: Algoritmi per l'ottimizzazione convessa

Università degli Studi dell’AquilaFacoltà di Ingegneria

Prof.ssa Elena De Santis

ALGORITMI PER L’OTTIMIZZAZIONE

CONVESSA

Luca FinocchioVittoriano Muttillo

Page 2: Algoritmi per l'ottimizzazione convessa

Introduzione

• I problemi di ottimizzazione convessa studiano il problema diminimizzare funzioni convesse su insiemi convessi.

• Essi sono stati studiati per circa un secolo e diversi sviluppi recentihanno portato nuovo interesse per l'argomento:

• Il primo è il riconoscimento che i metodi a punto interno, sviluppatinel 1980 per risolvere problemi di programmazione lineare, possonoessere utilizzati per risolvere problemi di ottimizzazione convessapura

• Il secondo sviluppo è la scoperta che i problemi di ottimizzazioneconvessa (al di là dei problemi di minimi quadrati e diprogrammazione lineari) sono più frequenti nella pratica di quelloche si pensava.

Page 3: Algoritmi per l'ottimizzazione convessa

Introduzione (2)

• Dal 1990 molte applicazioni dell’ottimizzazione convessa sono statescoperte in settori quali:

1. sistemi automatici di controllo

2. sistemi di stima e di elaborazione dei segnali

3. sistemi di comunicazione e di reti

4. progettazione di circuiti elettronici

5. analisi e modellazione dei dati

6. sistemi statistici e della finanza

• Grandi sono i vantaggi per il riconoscimento o la formulazione di unproblema come un problema di ottimizzazione convessa. Il vantaggiofondamentale è che il problema può essere risolto, in modoaffidabile ed efficiente, utilizzando metodi interni o un altro specialemetodo per l'ottimizzazione.

Page 4: Algoritmi per l'ottimizzazione convessa

Introduzione (3)

• Questi metodi di soluzione sono abbastanza affidabili peressere incorporati in una progettazione assistita da computero da strumenti di analisi, in un sistema reattivo in tempo realeoppure in un sistema di controllo automatico.

• Ci sono anche vantaggi teorici e concettuali nel formulare unproblema come un problema di ottimizzazione convessacome, ad esempio, il problema duale associato che spesso hauna interessante interpretazione in termini di problemaoriginale, e talvolta è fonte di un metodo efficiente odistribuito per risolverlo.

• Prima di mostrare alcuni metodi di soluzione per problemi diottimizzazione convessa daremo alcuni richiami di teoria.

Page 5: Algoritmi per l'ottimizzazione convessa

Insiemi convessi

• Un insieme C è convesso se il segmento che congiunge due punti qualsiasi di C è contenuto in C, cioè:

∀ 𝑥1, 𝑥2 ∈ 𝐶 e ogni 𝜃 ∶ 0 ≤ 𝜃 ≤ 1, si ha che :

𝜃𝑥1 + (1 − 𝜃)x2 ∈ 𝐶

• Chiameremo un punto nella forma (𝜃1𝑥1 + · · · + 𝜃𝑘𝑥𝑘 ), dove

(𝜃1 + · · · + 𝜃𝑘 = 1, 𝜃𝑖 ≥ 0, 𝑖 = 1, . . . , 𝑘) come combinazioneconvessa dei punti (𝑥1, . . . , 𝑥𝑘)

• Un insieme, quindi, e convesso se e solo se contiene ognicombinazione convessa dei suoi punti

Page 6: Algoritmi per l'ottimizzazione convessa

Insiemi convessi (2)

• Consideriamo un insieme S definito da vincoli di uguaglianza e disuguaglianza:

• Nel caso in cui 𝑔𝑖 per 𝑖 = 1, . . , 𝑚 e ℎ𝑗 per 𝑗 = 1 , . . , 𝑝 siano funzioni lineari, S è un poliedro e quindi un insieme convesso. Se invece qualche 𝑔𝑖 𝑜 ℎ𝑗 è non lineare possiamo utilizzare il seguente teorema che fornisce una condizione solo sufficiente per la convessità di S.

• TEOREMA

Sia:

Se per ogni i le funzioni 𝑔𝑖(𝑥) sono convesse in 𝑅𝑛, e per ogni 𝑗 le funzioni ℎ𝑗 sono funzioni del tipo 𝑎𝑗

𝑇 𝑥 − 𝑏𝑗, allora l'insieme S è convesso.

Page 7: Algoritmi per l'ottimizzazione convessa

Convex hull

• Particolare importanza è data dal cosiddetto convex hull

• Si definisce convex hull di un insieme C, e lo chiameremo conv C,l’insieme di tutte le combinazioni convesse dei punti di C:

• Come suggerisce il nome, il convex hull è sempre convesso. Esso è ilpiù piccolo insieme convesso che contiene C: se C ⊆ B insiemeconvesso, allora conv C ⊆ B

Insieme non convesso in quanto ilsegmento che unisce i due punti,mostrato in figura, non è contenutonel’insieme.

Convex hull dell’insieme mostratonella figura di sinistra

Page 8: Algoritmi per l'ottimizzazione convessa

Funzioni convesse

• Una funzione 𝑓: 𝑅𝑛 −> 𝑅 è convessa se 𝒅𝒐𝒎 𝑓 è un insiemeconvesso e se, ∀ 𝑥, 𝑦 ∈ 𝒅𝒐𝒎 𝑓, 0 ≤ 𝜃 ≤ 1, si ha che: 𝑓(𝜃𝑥 +

Esempio di grafico di una funzione convessa

Page 9: Algoritmi per l'ottimizzazione convessa

Condizioni del primo ordine (1)

• Supponiamo 𝑓 differenziabile (cioè il gradiente 𝛻𝑓 esiste in ognipunto di 𝒅𝒐𝒎 𝑓 insieme aperto). Allora 𝑓 è convessa se e solo se

𝒅𝒐𝒎 𝑓 è convesso e la disequazione:

𝑓 𝑦 ≥ 𝑓 𝑥 + 𝛻𝑓 𝑥 𝑇(𝑦 − 𝑥)

vale ∀ 𝑥, 𝑦 ∈ 𝒅𝒐𝒎 𝑓.

Grafico che visualizza le condizione del primo ordine per la convessità di una funzione

Page 10: Algoritmi per l'ottimizzazione convessa

Condizioni del primo ordine (2)

• OSS:

La funzione:𝑓 𝑥 + 𝛻𝑓 𝑥 𝑇(𝑦 − 𝑥)

è l’approssimazione di Taylor del primo ordine di f nell’intorno di x

• La disuguaglianza:

𝑓 𝑦 ≥ 𝑓 𝑥 + 𝛻𝑓(𝑥)𝑇(𝑦 − 𝑥)

ci mostra che, se 𝛻𝑓(𝑥) = 0 , allora ∀ 𝑦 ∈ 𝒅𝒐𝒎 𝑓 risulta che𝑓(𝑦) ≥ 𝑓(𝑥), cioè 𝑥 è un punto di minimo globale della funzione 𝑓.

Page 11: Algoritmi per l'ottimizzazione convessa

Condizioni del secondo ordine

• Assumiamo, adesso f differenziabile due volte, cioè la sua matriceHessiana 𝛻2𝑓 esiste in ogni punto di 𝒅𝒐𝒎 𝑓 insieme aperto. Allora 𝑓è convessa se e solo se 𝒅𝒐𝒎 𝑓 è convesso e la matrice Hessiana èsemidefinita positiva, cioè:

𝛻2𝑓(𝑥) ≥ 0 ∀ 𝑥 ∈ 𝒅𝒐𝒎 𝑓

• Analogamente 𝑓 è concava se e solo se 𝑑𝑜𝑚 𝑓 è convesso e risultache:

𝛻2𝑓 𝑥 ≤ 0 ∀ 𝑥 ∈ 𝒅𝒐𝒎 𝑓

Page 12: Algoritmi per l'ottimizzazione convessa

Problemi di ottimizzazione

• Dal punto di vista delle proprietà di convessità possiamo distinguere:

Problemi di programmazione convessa: sono i problemi di minimo in cui la funzione obiettivo è convessa e l'insieme ammissibile è un insieme convesso (o anche i problemi di massimo in cui la funzione obiettivo è concava e l'insieme ammissibile è convesso)

Problemi di programmazione concava: sono i problemi di minimo in cui la funzione obiettivo è concava e l'insieme ammissibile è un insieme convesso (o anche i problemi di massimo in cui la funzione obiettivo è convessa e l'insieme ammissibile è convesso)

Problemi generali, in cui non sono soddisfatte tali condizioni.

Page 13: Algoritmi per l'ottimizzazione convessa

Problemi di ottimizzazione (2)

• Un problema di ottimizzazione ha la seguente forma:

dove:

𝑥 = (𝑥1, … , 𝑥𝑛) è la variabile di ottimizzazione del problema

𝑓0 ∶ 𝑅𝑛 −> 𝑅 è la funzione obiettivo

𝑓𝑖 ∶ 𝑅𝑛 −> 𝑅 , 𝑖 = 1, . . , 𝑚 sono le funzioni di vincolo

𝑏1 , . . , 𝑏𝑚 sono i limiti dei vincoli

• Un vettore 𝑥* è detto ottimo, oppure soluzione del problema di ottimizzazione, se:

∀ 𝑧 ∶ 𝑓 1(𝑧) ≤ 𝑏1 , . . , 𝑓 𝑚(𝑧) ≤ 𝑏𝑚 risulta che 𝑓 0(𝑧) ≥ 𝑓 0(𝑥*)

Page 14: Algoritmi per l'ottimizzazione convessa

Problemi di ottimizzazione convessa (1)

• Un problema di ottimizzazione convessa è nella forma:

dove le funzioni 𝑓0 , . . , 𝑓𝑚 ∶ 𝑅𝑛 −> 𝑅 sono funzioni convesse, cioèsoddisfano l’equazione:

𝑓 𝜃𝑥 + 1 − 𝜃 𝑦 ≤ 𝜃𝑓 𝑥 + 1 − 𝜃 𝑓(𝑦) ∀ 𝑥, 𝑦 ∈𝑅 𝑛 𝑒 𝑜𝑔𝑛𝑖 𝜃 ∈ 𝑅, 𝑐𝑜𝑛 0 ≤ 𝜃 ≤ 1.

• Il problema dei minimi quadrati e il problema di programmazionelineare sono due casi particolari del problema generale diottimizzazione convessa

Page 15: Algoritmi per l'ottimizzazione convessa

Problemi di ottimizzazione convessa (2)

• Per riconoscere se un problema è convesso o concavo utilizziamo il seguente teorema:

• TEOREMASia dato il problema:

• Si assuma che i vincoli di disuguaglianza siano dati da funzioni gi(x) convesse in 𝑅𝑛, e che i vincoli di uguaglianza siano dati da funzioni del tipo 𝑎𝑗

𝑇𝑥 – 𝑏 𝑗 , allora:

Se la funzione obiettivo 𝑓(𝑥) è una funzione convessa in 𝑅𝑛, il problema è convesso.

Se la funzione obiettivo 𝑓(𝑥) è una funzione concava in 𝑅𝑛, il problema è concavo.

Page 16: Algoritmi per l'ottimizzazione convessa

Problemi di ottimizzazione convessa (3)

• I problemi di ottimizzazione convessi sono di particolare importanza per due motivi:

• Il primo è che la grande maggioranza dei problemi di ottimizzazione che si incontrano nella pratica sono convessi.

• Il secondo è che la convessità induce alcune proprietà che semplificano l'analisi e la soluzione di un problema convesso.

• Una delle proprietà più significative è la seguente:

TEOREMA (Assenza di ottimi locali):Sia 𝑆 ⊆ 𝑅𝑛 un insieme convesso e f una funzione convessa su𝑆. Allora il problema:

o non ha soluzione, o ha solo soluzioni globali

Page 17: Algoritmi per l'ottimizzazione convessa

Problemi di minimizzazione convessa (4)

• Una serie di problemi di ottimizzazione convessa sono i seguenti:

Minimi quadrati

Programmazione Lineare

Minimizzazione quadratica convessa con vincoli lineari

Ottimizzazione conica

Programmazione geometrica

Programmazione conica del secondo ordine

Programmazione semi-definita

Page 18: Algoritmi per l'ottimizzazione convessa

Metodi risolutivi di problemi di programmazione convessa

• Ottimizzazione non vincolata1. Metodo del gradiente

2. Metodo di Newton

• Minimizzazione con condizioni di uguaglianza1. Metodo di Newton

2. Eliminazione delle condizioni di uguaglianza

• Minimizzazione con condizioni di disuguaglianza1. Metodo Interior-point

Page 19: Algoritmi per l'ottimizzazione convessa

Ottimizzazione non vincolata

PROBLEMA: minimizzare 𝑓(𝑥) dove

• 𝑓 ∶ 𝑅𝑛 → 𝑅 è convessa e differenziabile almeno 2 volte

Essendo 𝑓 differenziabile e convessa, condizione necessaria e sufficente affinchè un punto 𝑥⋆ sia ottimo è che 𝛻𝑓(𝑥⋆) = 0.

Pertanto, la soluzione del problema di minimizzazione non vincolata è la stessa di 𝛻𝑓(𝑥⋆) = 0 che è un insieme di n equazioni nelle n variabili 𝑥1,...,𝑥n

Di solito, però, il problema viene risolto da un algoritmoiterativo

Page 20: Algoritmi per l'ottimizzazione convessa

Convessità stretta

• Da adesso in poi assumeremo che la funzione obbiettivo sia strettamenteconvessa su S. Questo implica che deve esistere un 𝑚 > 0 tale che:

𝛻2𝑓 𝑥 ≥ 𝑚𝐼 𝑝𝑒𝑟 𝑜𝑔𝑛𝑖 𝑥 ∈ 𝑆.

• La convessità stretta implica moltre conseguenza interessanti . Ad esempioper 𝑥, 𝑦 ∈ 𝑆 abbiamo che

𝑓(𝑦) = 𝑓(𝑥) + 𝛻𝑓(𝑥)𝑇(𝑦 − 𝑥) +1

2(𝑦 − 𝑥)𝑇𝛻2𝑓(𝑧)(𝑦 − 𝑥)

per qualche 𝑧 sul segmento [𝑥, 𝑦].

• Dall’ipotesi di convessità in senso stretto l’ultimo termine della parte destra dell’equazione è al massimo

𝑚

2𝑦 − 𝑥 2 ottendendo la disuguaglianza

𝑓(𝑦) ≥ 𝑓(𝑥) + 𝛻𝑓(𝑥)𝑇(𝑦 − 𝑥) +𝑚

2| 𝑦 − 𝑥 |2

per ogni x e y in S.

• Quando m= 0, ritroviamo la disuguaglianza base che caraterizza la convessità ; per m > 0 otteniamo un migliore lower bound di 𝑓(𝑦) che segue solo dalla convessità

Page 21: Algoritmi per l'ottimizzazione convessa

Scelta del punto iniziale

• I metodi che descriveremo richiedono un punto di partenza adatto 𝑥(0). Questo punto deve ovviamente appartenere al 𝒅𝒐𝒎 𝑓 , e inoltre l’insieme dei sottolivelli

𝑆 = {𝑥 ∈ 𝒅𝒐𝒎 𝑓| 𝑓(𝑥) ≤ 𝑓(𝑥(0))}

deve essere chiuso.

• Questa condizione è soddisfatta per tutte le 𝑥(0) ∈ 𝒅𝒐𝒎 𝑓

se la funzione 𝑓 è chiusa, cioè se tutti i sottolivelli sono chiusi

• Funzioni continue con 𝒅𝒐𝒎 𝑓 = 𝑅𝑛 sono chiuse , quindi se 𝒅𝒐𝒎 𝑓 = 𝑅𝑛 , la condizione iniziale dell’insieme dei sottolivelli è soddisfatta per ogni 𝑥(0)

Page 22: Algoritmi per l'ottimizzazione convessa

Metodi di discesa

Questo algoritmo lavora producendo una sequenza minimizzante𝑥(k), 𝑘 = 1,..., dove:

• 𝑥(k+1) = 𝑥(k) + 𝑡(k) ∆𝑥(k)

• 𝑡(k) ≥ 0 è chiamato “step length“

• ∆𝑥 è un vettore in 𝑅n chiamato “search direction“

• metodo di discesa implica che 𝑓(𝑥(k+1)) < 𝑓(𝑥(k)), trannequando 𝑥(k) è ottimo

Per le condizioni del primo ordine sulla convessità,

𝛻𝑓(𝑥(k))T (y−x(k)) ≥ 0 implica 𝑓 (𝑦) ≥ 𝑓(𝑥(k)),

quindi la “search direction” nei metodi di discesa deve verificare 𝛻𝑓(𝑥(k))T ∆𝑥(k) < 0

Page 23: Algoritmi per l'ottimizzazione convessa

Metodi di discesa

L’algoritmo procede tramite i seguenti passi:

Given a starting point x ∈ dom f

repeat

1. Determine a descent direction ∆x

2. Line search : Choose a step size t >0

3. Update x:= x+t∆x

until stopping criterion is satisfied

Page 24: Algoritmi per l'ottimizzazione convessa

Line search

Excat line search• t è scelto in modo da minimizzare f lungo la direzione

{𝑥 + 𝑡∆𝑥 | 𝑡 ≥ 0}

• t = argmins≥0 𝑓(𝑥 + 𝑠∆𝑥)

• Potrebbe risultare computazionalmente difficile

Backtracking line search• t è scelto per minimizzare in modo approssimato f lungo la

direzione {𝑥 + 𝑡∆𝑥 | 𝑡 ≥ 0}, o anche solo per ridurre f “abbastanza”

• α∈(0,0.5),β∈(0,1)

t:= 1

while f(x+t∆x)> f(x) +αt∇f(x)T∆x, t:= βt

Page 25: Algoritmi per l'ottimizzazione convessa

Backtracking line search

Page 26: Algoritmi per l'ottimizzazione convessa

Algoritmo del gradiente

Una scelta naturale per la “search direction” è il gradiente negativo ∆𝑥 = −𝛻𝑓(𝑥).

Il risultante algoritmo è chiamato algoritmo del gradiente o metodo del gradiente di discesa:

Page 27: Algoritmi per l'ottimizzazione convessa

Metodo di Newton

Per ogni 𝑥 ∈ 𝒅𝒐𝒎 𝑓, il vettore

∆𝑥𝑛𝑡 = −𝛻2𝑓(𝑥)−1 𝛻𝑓(𝑥)

è chiamato passo Newton (per 𝑓, in 𝑥)

Essendo 𝛻2𝑓(𝑥) definito positivo, vale che

𝛻𝑓(𝑥)T ∆𝑥𝑛𝑡 = −𝛻𝑓(𝑥)T 𝛻2𝑓(𝑥)−1 𝛻𝑓(𝑥) < 0

tranne che per 𝛻𝑓(𝑥) = 0, quindi il passo di Newton è una direzione di discesa (tranne se 𝑥 è ottimo)

Page 28: Algoritmi per l'ottimizzazione convessa

Metodo di Newton

La quantità

𝜆(𝑥) = (𝛻𝑓(𝑥)T ∇2f(x)−1 ∇f(x))1/2

è chiamata decremento di Newton per x.

Questa gioca un ruolo importante nell’analisi del metodo diNewton ed utile anche come criterio di stop, infatti

𝜆2

2è una stima di f(x)−f(x⋆)basata però sull’approsimazione del secondo ordine di f in x.

Page 29: Algoritmi per l'ottimizzazione convessa

Metodo di Newton

L’algotimo che ne viene fuori è il seguente

Page 30: Algoritmi per l'ottimizzazione convessa

Minimizzazione con condizione di uguaglianza

PROBLEMA : minimizzare 𝑓(𝑥) sotto la condizione che 𝐴𝑥 = 𝑏, dove:

• 𝑓: 𝑅𝑛 → 𝑅 è convessa e differenziabile almeno 2 volte

• 𝐴 ∈ 𝑅𝑝×n con il rango di 𝐴 = 𝑝 < 𝑛

Ricordiamo che il punto 𝑥⋆ ∈ 𝒅𝒐𝒎 𝑓 è ottimo se e solo se esisteuna certa 𝜈⋆ ∈ 𝑅𝑝 tale che

𝐴𝑥⋆= 𝑏,

𝛻𝑓(𝑥⋆) + 𝐴𝑇 𝜈⋆= 0

Risolvere un problema di minimizzazione con condizione diuguaglianza è equivalente, pertanto, a trovare la soluzione delleequazioni sopracitata, che è un insieme di n+p equazioni nellen+p variabili 𝑥⋆, 𝜈⋆

Page 31: Algoritmi per l'ottimizzazione convessa

Minimizzazione quadratica con condizione di uguaglianza

PROBLEMA : minimizzare 𝑓(𝑥) =1

2𝑥T 𝑃 𝑥 + 𝑞𝑇 𝑥 + 𝑟

sotto le condizioni 𝐴𝑥 = 𝑏, dove 𝑃 ∈ 𝑆𝑛 and 𝐴 ∈ 𝑅p×n

In questo caso le condizioni ottimali sono le seguenti

𝐴𝑥⋆ = 𝑏,

𝑃𝑥⋆ + 𝑞 + 𝐴T 𝜈⋆ = 0

che possiamo scrivere come

Questo insieme di n+p equazioni lineari in n+p variabili 𝑥⋆, 𝜈 ⋆ è chiamato il sistema KKT per il problema di minimizzazione quadratica con condizione di uguaglianza . La matrice dei coefficienti è chiamata matrice KKT.

Page 32: Algoritmi per l'ottimizzazione convessa

Metodo di Newton

Per derivare il passo di Newton ∆𝑥𝑛𝑡 per il problema di minimizzazione con condizione di uguaglianza , dobbiamo sostituire la funzione obbiettivo con la sua approssimazione di Taylor del secondo ordine in x:

• minimizzare 𝑓 (𝑥 + 𝑣) = 𝑓(𝑥) + 𝛻𝑓(𝑥)T 𝑣 +1

2𝑣T∇2𝑓 𝑥 𝑣

• sotto la condizione 𝐴(𝑥 + 𝑣) = 𝑏, con 𝑣 variabile

Il passo di Newton ∆𝑥𝑛𝑡 è caratterizzato da

dove 𝑤 è la variabile ottima duale associata per il problema quadratico

Page 33: Algoritmi per l'ottimizzazione convessa

Metodo di Newton

Definiamo ora il decremento di Newton per il problemaminimizzazione quadratica con condizione di uguaglianza

𝜆(𝑥) = (∆𝑥Tnt 𝛻

2𝑓(𝑥) ∆𝑥𝑛𝑡)1/2

L’algoritmo a questo punto diventa il seguente:

Page 34: Algoritmi per l'ottimizzazione convessa

Eliminazione dell’equazione di uguaglianza

Un approccio generale per risolvere il problema di minimizzazione con condizione di uguaglianza è eliminare i vincoli e quindi risolvere ilrisultante problema non vincolato

Per prima cosa troviamo una matrice 𝐹 ∈ 𝑅n×(n−p) e un vettore 𝑥 ∈ Rn che parametrizzino l’insieme: {𝑥 | 𝐴𝑥 = 𝑏} = {𝐹𝑧 + 𝑥 | 𝑧 ∈ 𝑅n−p}

Qui 𝑥 può essere scelto come soluzione particolare di 𝐴𝑥 = 𝑏, e 𝐹 ∈ 𝑅n×(n−p) una matrice il cui rango è contenuto nel nullo di 𝐴. Possiamo quindi formulare il seguente problema non vincolato:

minimizzare 𝑓 (𝑧) = 𝑓(𝐹𝑧 + 𝑥 )

Dalla soluzione 𝑧⋆, possiamo trovare la soluzione del problema con vincoli di uguaglianza come 𝑥⋆ = 𝐹𝑧⋆+ 𝑥

Page 35: Algoritmi per l'ottimizzazione convessa

Problemi di minimizzazione con vincoli di disuguaglianza

PROBLEMA:

dove:

• 𝑓0, … , 𝑓𝑚: 𝑅𝑛 → 𝑅 sono convesse e almeno due volte differenziabili

• 𝐴 ∈ 𝑅p×n con il rango di 𝐴 = 𝑝 < 𝑛

Inoltre esiste una 𝑡 duale ottima 𝜆⋆∈ 𝑅𝑚, 𝜈⋆∈ 𝑅𝑝, che insieme

con 𝑥⋆ soddisfano le condizioni KKT

Page 36: Algoritmi per l'ottimizzazione convessa

Metodi Interior-point

I metodi interior-point risolvono il problema precedenteapplicando il metodo di Newton ad una sequenza di problemicon vincoli di uguaglinza, o ad una sequenza di versionimodificate delle condizioni KKT.

In questa disamina ci concentreremo su un algoritmo in particolare, il “barrier method”.

Il nostro obiettivo sarà, quindi, quello di formulare il problema con vincoli di disuguaglianza come problemi con vincoli di uguaglianza a cui può essere applicato il metodo di Newton

Page 37: Algoritmi per l'ottimizzazione convessa

Metodi Interior-point

Il primo passo è quello di riscrivere il problema mettendo le funzioni di disuguaglianza implicitamente dentro la funzioneobiettivo:

dove 𝐼−: 𝑅 → 𝑅 è la funzione indicatore per i reali non positivi

Page 38: Algoritmi per l'ottimizzazione convessa

Logarithmic barrier

L’idea che sta alla base del “barrier method” è di approssimarela funzione indicatore I- attraverso la funzione

dove 𝑡 > 0 è un parametro che controlla l’accuratezzadell’approssimazione.

Come I−, la funzione 𝐼− è convessa e non decrescente, e (per convenzione) assumiamo il valore ∞ per 𝑢 > 0. Diversamente da I−, invece, 𝐼− è differenzibile è chiuso: tende ad ∞ quando 𝑢 tende a 0.

All’aumentare di 𝑡, l’appprossimazione diventa più accurata.

Page 39: Algoritmi per l'ottimizzazione convessa

Logarithmic barrier

Sostituendo 𝐼− a I− otteniamo che:

La nuova funzione obiettivo è convessa, poichè −1

𝑡log(−𝑢) è

convessa e crescente in 𝑢, e differenziabile. Chiamiamo

e con 𝒅𝒐𝒎 𝜑 = 𝑥 ∈ 𝑅𝑛 𝑓𝑖 𝑥 < 0, 𝑖 = 1, … , 𝑚} chiamiamo la “logarithmic barrier” per il problema. Questo dominio è un insieme di punti che soddisfa le condizioni di disuguaglianza

Page 40: Algoritmi per l'ottimizzazione convessa

Central path

Il central path associato con il problema è definito come l’insieme di punti 𝑥⋆(𝑡), 𝑡 > 0, che chiameremo punti centrali . I punti del central path sono caraterrizzati dalle seguenticondizioni necessarie e sufficenti:

• 𝑥⋆(𝑡) deve soddisfare le seguenti condizioni

𝐴𝑥⋆ 𝑡 = 𝑏,

𝑓𝑖(𝑥⋆(𝑡)) < 0, 𝑖 = 1, … , 𝑚

• esiste un 𝑣 ∈ 𝑅𝑝 tale che0 = 𝑡𝛻𝑓0(𝑥

⋆(𝑡)) + 𝛻𝜑(𝑥⋆(𝑡)) + 𝐴𝑇 𝑣

= 𝑡𝛻𝑓0(𝑥⋆(𝑡)) +

𝑖=1

𝑚1

−𝑓𝑖 (𝑥⋆(𝑡))𝛻𝑓𝑖(𝑥

⋆(𝑡)) + 𝐴𝑇 𝑣

Page 41: Algoritmi per l'ottimizzazione convessa

Barrier method

Page 42: Algoritmi per l'ottimizzazione convessa

Conclusioni

Page 43: Algoritmi per l'ottimizzazione convessa

FONTI BIBLIOGRAFICHE

• S. Boyd, L. Vandenberghe, “Convex Optimation” , Cambridge University Press, 2004

• http://en.wikipedia.org/wiki/Convex_optimization

• H. Hindi, “A Tutorial on Convex Optimization II: Duality and Interior Point Methods”, Palo Alto Research Center (PARC), Palo Alto, California

• H. Hindi, “A tutorial on convex optimization”, American Control Conference, Boston, 2004.