Ottimizzazione non Vincolata

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ottimizzazione non Vincolata"

Transcript

1 Dipartimento di Informatica e Sitemistica Università di Roma Corso Dottorato Ingegneria dei Sistemi 15/02/2010, Roma

2 Outline Ottimizzazione Non Vincolata Introduzione Ottimizzazione Non Vincolata Algoritmi Line Search

3 Ottimizzazione Le Persone Ottimizzano Compagnie Aeree: programmano i voli e gestiscono il personale di bordo in manera tale da minimizzare i costi Investitori: gestiscono il loro portafoglio titoli in maniera tale da minimizzare il rischio e massimizzare il ritorno atteso Industrie: organizzano il processo produttivo in maniera tale da massimizzare l efficienza La Natura Ottimizza Sistemi Fisici: tendono ad uno stato ad energia minima Molecole: reagiscono tra loro fino a quando l energia potenziale degli elettroni non raggiunge il minimo

4 Ottimizzazione Importante strumento nella scienza delle decisioni e nell analisi dei sistemi fisici Identificare l obiettivo (misura quantitativa delle performance del sistema) Obiettivi tipici: profitto, tempo, energia potenziale, etc. o una combinazione di tali quantità L obiettivo dipende da certe caratteristiche del sistema, le variabili Le variabili possono essere vincolate Scopo: trovare valori delle variabili che ottimizzano l obiettivo

5 Modellazione (Modeling) Processo di identificazione dell obiettivo, delle variabili, degli eventuali vincoli La costruzione di un modello appropriato rappresenta il primo passo (a volte il più importante) del processo di ottimizzazione

6 Scelta dell Algoritmo Dopo aver formulato il modello, bisogna scegliere un algoritmo di ottimizzazione Importante: Non esiste un algoritmo di ottimizzazione universale Ci sono molti algoritmi, ciascuno dei quali adatto a un problema specifico Scelta dell algoritmo opportuno è responsabilità dell utente Velocità con cui un problema viene risolto dipende dall algoritmo scelto

7 Continua vs Discreta Ottimizzazione Dicreta: problemi con variabili intere Ottimizzazione Continua: problemi con variabili continue Ottimizzazione Mista Intera: problemi con variabili intere e continue Problemi di ottimizzazione continua in generale più semplici da risolvere Ci occuperemo di problemi di ottimizzazione continua

8 Continua vs Discreta Ottimizzazione Dicreta: problemi con variabili intere Ottimizzazione Continua: problemi con variabili continue Ottimizzazione Mista Intera: problemi con variabili intere e continue Problemi di ottimizzazione continua in generale più semplici da risolvere Ci occuperemo di problemi di ottimizzazione continua

9 Non Vincolata vs Vincolata Ottimizzazione Non Vincolata: nessun vincolo sul valore che assumono le variabili Ottimizzazione Vincolata: vincoli sul valore che assumono le variabili In alcuni casi preferibile trascurare i vincoli sulle variabili Problemi vincolati spesso trasformati in problemi non vincolati equivalenti (metodi di penalità) Vincoli possono essere di diverso tipo: semplici bounds sulle variabili: 0 x 100 vincoli lineari: c T x d vincoli non lineari g(x) 0 Ci occuperemo di problemi di ottimizzazione non vincolata

10 Non Vincolata vs Vincolata Ottimizzazione Non Vincolata: nessun vincolo sul valore che assumono le variabili Ottimizzazione Vincolata: vincoli sul valore che assumono le variabili In alcuni casi preferibile trascurare i vincoli sulle variabili Problemi vincolati spesso trasformati in problemi non vincolati equivalenti (metodi di penalità) Vincoli possono essere di diverso tipo: semplici bounds sulle variabili: 0 x 100 vincoli lineari: c T x d vincoli non lineari g(x) 0 Ci occuperemo di problemi di ottimizzazione non vincolata

11 Globale vs Locale Ottimizzazione Globale: trovare un ottimo globale Ottimizzazione Locale: trovare un ottimo locale Ottimo globale necessario (o almeno desiderabile) in molte applicazioni Ottimo globale difficile da identificare Ottimizzazione convessa: Ottimo locale = Ottimo globale Ci occuperemo di problemi di ottimizzazione locale

12 Globale vs Locale Ottimizzazione Globale: trovare un ottimo globale Ottimizzazione Locale: trovare un ottimo locale Ottimo globale necessario (o almeno desiderabile) in molte applicazioni Ottimo globale difficile da identificare Ottimizzazione convessa: Ottimo locale = Ottimo globale Ci occuperemo di problemi di ottimizzazione locale

13 Stocastica vs Deterministica Ottimizzazione Stocastica: elementi probabilistici nel modello del problema (es. f.o.) Ottimizzazione Deterministica: modello del problema completamente specificato Ci occuperemo di problemi di ottimizzazione deterministica

14 Stocastica vs Deterministica Ottimizzazione Stocastica: elementi probabilistici nel modello del problema (es. f.o.) Ottimizzazione Deterministica: modello del problema completamente specificato Ci occuperemo di problemi di ottimizzazione deterministica

15 Algoritmi di Ottimizzazione Gli algoritmi di ottimizzazione sono iterativi Partono da una stima della soluzione Generano una sequenza di punti fino al raggiungimento di una soluzione Strategia per passare da un punto ad un altro varia da algoritmo ad algoritmo Strategie utilizzano valore della f. o., derivate prime e seconde della funzione Strategie utilizzano informazioni derivanti dalle iterazioni precedenti, altri usano informazioni al punto corrente

16 Proprietà di un Algoritmo Robustezza: affidabile su varie tipologie di problemi Efficienza: richieste di tempo e memoria limitate Accuratezza: capace di identificare una soluzione con una certa precisione Obiettivi in conflitto tra loro (es. metodo robusto potrebbe essere molto lento)

17 Proprietà di un Algoritmo Robustezza: affidabile su varie tipologie di problemi Efficienza: richieste di tempo e memoria limitate Accuratezza: capace di identificare una soluzione con una certa precisione Obiettivi in conflitto tra loro (es. metodo robusto potrebbe essere molto lento)

18 Convessità Insieme Convesso S R n è un insieme convesso se un qualsiasi segmento congiungente due punti appartenenti all insieme S giace completamente in S. Dati due punti x, y S abbiamo che αx + (1 α)y S, α [0, 1] Funzione Convessa f è una funzione convessa se, dati due punti x, y nel dominio di f, il grafico della funzione giace al di sotto della congiungente dei punti (x, f(x)) e (y, f(y)). Abbiamo quindi f(αx + (1 α)y) αf(x) + (1 α)f(y) α [0, 1]

19 Formulazione del Problema Il problema che vogliamo risolvere è il seguente: min f(x) x R n

20 Minimo Locale e Globale Minimo Globale x R n è un punto di minimo globale se risulta: f(x ) f(x), x R n. Minimo Locale x R n è un punto di minimo locale se esiste un intorno B(x, ε) risulta: f(x ) f(x), x B(x, ε). Se funzione f convessa minimo globale e minimo locale coincidono

21 Minimo Locale e Globale Minimo Globale x R n è un punto di minimo globale se risulta: f(x ) f(x), x R n. Minimo Locale x R n è un punto di minimo locale se esiste un intorno B(x, ε) risulta: f(x ) f(x), x B(x, ε). Se funzione f convessa minimo globale e minimo locale coincidono

22 Il Teorema di Weierstrass Teorema di Weierstrass Sia S R n un insieme compatto non vuoto e sia f : S R una funzione continua su S. Allora esiste un minimo globale di f su S. Condizione Suff. di Esistenza Sia S R n un insieme non vuoto e sia f : S R una funzione continua su S. Supponiamo che esista x 0 S tale che l insieme di livello L(f(x 0 )) = {x S : f(x) f(x 0 )} sia compatto. Allora esiste un minimo globale di f su S.

23 Condizioni di Esistenza per Problemi non Vincolati Condizione Suff. di Esistenza Sia f : R n R una funzione continua e supponiamo che esista un insieme di livello compatto di f. Allora esiste un minimo globale di f su R n. Compattezza Insiemi di Livello Sia f : R n R una funzione continua. Condizione necessaria e sufficiente affinchè tutti gli insiemi di livello di f siano compatti è che f sia coerciva, ossia che, per ogni successione {x k } tale che lim k x k =, risulti: lim k f(xk ) =.

24 Condizioni di Ottimalità per Problemi non Vincolati Direzione di Discesa Sia f : R n R. Si dice che un vettore d R n, d 0 è direzione di discesa per f in x se esiste t > 0 tale che f(x + td) < f(x), t (0, t]. Condizione Suff. di Discesa Sia f : R n R una funzione continuamente differenziabile e sia d R n un vettore non nullo. Allora, se risulta f(x) T d < 0 la direzione d è di discesa per f in x. Condizione Necessaria del Primo Ordine Sia f : R n R una funzione continuamente differenziabile e sia x R n. Condizione necessaria perchè x sia un minimo locale di f è che x sia un punto stazionario di f, ossia: f(x ) = 0.

25 Condizioni di Ottimalità per Problemi non Vincolati Direzione a Curvatura Negativa Sia f : R n R tale che esiste ed è continua la matrice Hessiana 2 f(x). Si dice che un vettore d R n, d 0 è una direzione a curvatura negativa per f in x se risulta d T 2 f(x)d < 0. Condizione di Discesa del Secondo Ordine Sia f : R n R tale che esiste ed è continua la matrice Hessiana 2 f(x). Supponiamo che risulti f(x) T d = 0, e che d sia una direzione a curvatura negativa in x. Allora, la direzione d è una direzione di discesa per f in x. Condizione Necessaria del Secondo Ordine Sia f : R n R tale che esiste ed è continua la matrice Hessiana 2 f(x) e sia x R n. Condizione necessaria perchè x sia un minimo locale di f è che: f(x ) = 0; y T 2 f(x )y 0, per ogni y R n.

26 Condizioni di Ottimalità per Problemi non Vincolati Condizione Sufficiente del Secondo Ordine Sia f : R n R tale che esiste ed è continua la matrice Hessiana 2 f(x) e sia x R n. Condizione sufficiente perchè x sia un minimo locale di f è che: f(x ) = 0; eisite un ρ > 0 tale che: y T 2 f(x)y 0, per ogni x x < ρ e ogni y R n. se f(x ) = 0 e 2 f(x ) definita positiva, x minimo locale.

27 Condizioni di Ottimalità per Problemi non Vincolati Condizione Sufficiente del Secondo Ordine Sia f : R n R tale che esiste ed è continua la matrice Hessiana 2 f(x) e sia x R n. Condizione sufficiente perchè x sia un minimo locale di f è che: f(x ) = 0; eisite un ρ > 0 tale che: y T 2 f(x)y 0, per ogni x x < ρ e ogni y R n. se f(x ) = 0 e 2 f(x ) definita positiva, x minimo locale.

28 Convergenza Sequenza {x k } Def. Ω = {x R n : f(x) = 0}. esiste un punto x N tale che x N Ω; La successione {x k } converge a un punto di Ω: lim k x k = x f( x) = 0; Ogni sottosuccessione di {x k } ammette un punto di accumulazione e ogni punto di accumulazione di {x k } appartiene ad Ω. Condizione soddisfatta se e solo se lim k f(xk ) = 0; Esiste un punto di accumulazione di {x k } che appartiene ad Ω. Condizione soddisfatta se e solo se lim inf k f(xk ) = 0.

29 Rapidità Convergenza Sequenza {x k } Sia {x k } una successione convergente a x. Se esiste un σ (0, 1) tale che, per k abbastanza grande si abbia: x k+1 x σ x k x si dice che {x k } converge (almeno) Q-linearmente a x. Se lim sup k x k+1 x x k x = 0 si dice che {x k } converge (almeno) Q-superlinearmente a x. Se esiste un C > 0 tale che, per k abbastanza grande si abbia: x k+1 x C x k x 2 si dice che {x k } converge (almeno) Q-quadraticamente a x.

30 Line Search vs Trust Region Esistono due diversi approcci nell ottimizzazione non vincolata: Line Search Trust Region Per Approfondire: L Grippo, Appunti del corso di Algoritmi di Ottimizzazione D. P. Bertsekas, Nonlinear Programming A. R. Conn, N. I. M. Gould, P. L. Toint, Trust-Region Methods

31 Line Search Nei metodi di tipo Line Search, l algoritmo sceglie una direzione d k e, a partire dal punto corrente x k, cerca lungo d k un nuovo punto con un valore della funzione obiettivo più basso: x k+1 = x k + αd k, f(x k+1 ) < f(x k ). Il valore α viene determinato risolvendo il seguente problema: min α f(xk + αd k ). (1) IDEA: Risolvo (1) in maniera esatta PRO: migliore risultato possibile CON: molto dispendioso Utilizzo un agoritmo di ricerca unidimensionale che trova, in un numero finito di passi, una soluzione approssimata di (1).

32 Line Search Nei metodi di tipo Line Search, l algoritmo sceglie una direzione d k e, a partire dal punto corrente x k, cerca lungo d k un nuovo punto con un valore della funzione obiettivo più basso: x k+1 = x k + αd k, f(x k+1 ) < f(x k ). Il valore α viene determinato risolvendo il seguente problema: min α f(xk + αd k ). (1) IDEA: Risolvo (1) in maniera esatta PRO: migliore risultato possibile CON: molto dispendioso Utilizzo un agoritmo di ricerca unidimensionale che trova, in un numero finito di passi, una soluzione approssimata di (1).

33 Trust Region Nei metodi di tipo Trust Region, l informazione relativa a f viene utilizzata al passo k per costruire un modello m k che approssima la funzione originaria in un intorno di x k. Necessario restringere la ricerca in un intorno di x k. Iterazione k Risolviamo il seguente problema: min d m k (x k + d) (2) s.t. d 2 k k rappresenta l ampiezza della Trust Region.

34 Trust Region Nei metodi di tipo Trust Region, l informazione relativa a f viene utilizzata al passo k per costruire un modello m k che approssima la funzione originaria in un intorno di x k. Necessario restringere la ricerca in un intorno di x k. Iterazione k Risolviamo il seguente problema: min d m k (x k + d) (2) s.t. d 2 k k rappresenta l ampiezza della Trust Region.

35 Trust Region Nei metodi di tipo Trust Region, l informazione relativa a f viene utilizzata al passo k per costruire un modello m k che approssima la funzione originaria in un intorno di x k. Necessario restringere la ricerca in un intorno di x k. Iterazione k Risolviamo il seguente problema: min d m k (x k + d) (2) s.t. d 2 k k rappresenta l ampiezza della Trust Region.

36 Trust Region Se soluzione x k + d ottenuta risolvendo (2) non determina una sufficiente riduzione di f Riduciamo la Trust Region e Risolviamo nuovamente il problema (2). Il modello m k è solitamente definito nella seguente maniera: m k (x k + d) = f(x k ) + f(x k ) T d dt B k d, con B k matrice Hessiana di f oppure una sua approssimazione.

37 Trust Region Se soluzione x k + d ottenuta risolvendo (2) non determina una sufficiente riduzione di f Riduciamo la Trust Region e Risolviamo nuovamente il problema (2). Il modello m k è solitamente definito nella seguente maniera: m k (x k + d) = f(x k ) + f(x k ) T d dt B k d, con B k matrice Hessiana di f oppure una sua approssimazione.

38 Trust Region Se soluzione x k + d ottenuta risolvendo (2) non determina una sufficiente riduzione di f Riduciamo la Trust Region e Risolviamo nuovamente il problema (2). Il modello m k è solitamente definito nella seguente maniera: m k (x k + d) = f(x k ) + f(x k ) T d dt B k d, con B k matrice Hessiana di f oppure una sua approssimazione.

39 Line Search vs Trust Region Line Search e Trust Region differiscono nei modi in cui vengono scelti direzione, passo (lunghezza dello spostamento). Line Search Fissiamo la direzione d k e ci muoviamo lungo di essa con un passo α k Trust Region Fissiamo una distanza massima (raggio k ) e cerchiamo una direzione e un passo opportuni. Se punto ottenuto non soddisfacente, riduciamo k e riproviamo.

40 Line Search vs Trust Region Line Search e Trust Region differiscono nei modi in cui vengono scelti direzione, passo (lunghezza dello spostamento). Line Search Fissiamo la direzione d k e ci muoviamo lungo di essa con un passo α k Trust Region Fissiamo una distanza massima (raggio k ) e cerchiamo una direzione e un passo opportuni. Se punto ottenuto non soddisfacente, riduciamo k e riproviamo.

41 Line Search vs Trust Region Line Search e Trust Region differiscono nei modi in cui vengono scelti direzione, passo (lunghezza dello spostamento). Line Search Fissiamo la direzione d k e ci muoviamo lungo di essa con un passo α k Trust Region Fissiamo una distanza massima (raggio k ) e cerchiamo una direzione e un passo opportuni. Se punto ottenuto non soddisfacente, riduciamo k e riproviamo.

42 Schema Algoritmo Schema Algoritmo Line Search INIZIALIZZAZIONE: Scegli x 0 R n e poni k = Se x k : f(x k ) = 0 allora STOP. 2. Calcola una direzione di ricerca d k R n 3. Calcola passo α k R lungo d k. 4. Determina punto x k+1 = x k + α k d k, poni k = k + 1 e Torna al Passo 1. HYP: Funzione f continuamente differenziabile. Esempio Criterio di Arresto : f(x) ε. Scelta di d k dipende dall algoritmo. Scelta di α k mediante ricerca unidimensionale (solitamente approssimata).

43 Schema Algoritmo Schema Algoritmo Line Search INIZIALIZZAZIONE: Scegli x 0 R n e poni k = Se x k : f(x k ) = 0 allora STOP. 2. Calcola una direzione di ricerca d k R n 3. Calcola passo α k R lungo d k. 4. Determina punto x k+1 = x k + α k d k, poni k = k + 1 e Torna al Passo 1. HYP: Funzione f continuamente differenziabile. Esempio Criterio di Arresto : f(x) ε. Scelta di d k dipende dall algoritmo. Scelta di α k mediante ricerca unidimensionale (solitamente approssimata).

44 Primo Risultato Proposizione 1 Sia {x k } la successione prodotta dall algoritmo. Supponiamo che L 0 = {x : f(x) f(x 0 )} compatto; f(x k+1 ) f(x k ). Allora: a) La successione {x k } rimane in L 0 e ammette punti di accumulazione; b) Ogni punto di accumulazione di {x k } appartiene ad L 0 ; c) La successione {f(x k )} converge.

45 Funzione di Forzamento Definizione Una funzione σ : [0, ) [0, ) si dice funzione di forzamento se, per ogni successione {t k } [0, ) tale che lim k σ(tk ) = 0, si ha lim k tk = 0.

46 Condizioni di Convergenza Proposizione 2 Sia {x k } la successione prodotta dall algoritmo. Supponiamo che L 0 compatto e che d k 0 per f(x k ) 0. Supponiamo inoltre che valgano le seguenti condizioni: i) f(x k+1 ) f(x k ); ii) se f(x k ) 0 si ha: f(x k ) T d k lim k d k = 0; (3) iii) esiste una funzione di forzamento σ tale che per d k 0 abbiamo: f(x k ) T d k d k σ( f(x k ) ). (4) Allora, o esiste un indice N 0 tale che x N L 0 e f(x N ) = 0, oppure viene prodotta una successione infinita tale che: a) La successione {x k } rimane in L 0 e ammette punti di accumulazione; b) Ogni punto di accumulazione di {x k } appartiene ad L 0 ; c) La successione {f(x k )} converge; d) lim k f(x k ) = 0; e) ogni punto di accumulazione x di {x k } soddisfa f( x) = 0.

47 Commenti Le condizioni (i)-(iii) possono essere ricondotte a condizioni su d k e α k : Se d k direzione di discesa (i) soddisfatta con una scelta opportuna di α k (abbiamo f(x k+1 ) < f(x k )); La condizione (ii) impone che derivata direzionale lungo d k / d k converga a zero. Soddisfatta mediante l uso di tecniche di ricerca unidimensionale; La condizione (iii) pone delle limitazioni sulla scelta di d k. Es. σ(t) = ct, c > 0 e f(x k ) T d k < 0, allora f(x k ) T d k c d k f(x k ).

48 Metodo di Armijo DATI: δ (0, 1) e γ (0, 0.5) INIZIALIZZAZIONE: Poni α = k > 0 e j = Se f(x k + αd k ) f(x k ) + γα f(x k ) T d k (5) allora α k = α STOP. 2. Poni α = δα, j = j + 1. Vai al Passo 1. OSSERVAZIONE: La condizione al passo 1 dell algoritmo impone che φ(α) = f(x k + αd k ) sia sotto la retta: l(α) = φ(0) + γ φ(0)α.

49 Metodo di Armijo DATI: δ (0, 1) e γ (0, 0.5) INIZIALIZZAZIONE: Poni α = k > 0 e j = Se f(x k + αd k ) f(x k ) + γα f(x k ) T d k (5) allora α k = α STOP. 2. Poni α = δα, j = j + 1. Vai al Passo 1. OSSERVAZIONE: La condizione al passo 1 dell algoritmo impone che φ(α) = f(x k + αd k ) sia sotto la retta: l(α) = φ(0) + γ φ(0)α.

50 Metodo di Armijo: Figura

51 Terminazione Finita del Metodo di Armijo Proposizione 3 Sia f : R n R con f continuo su R n e sia soddisfatta la seguente: f(x k ) T d k < 0. Allora il metodo di Armijo determina ad un iterazione s un valore α k > 0 tale che a) f(x k + α k d k ) f(x k ) + γα k f(x k ) T d k e risulti soddisfatta la seguente: b) α k = δ s k e tale che f(x k + αk δ dk ) > f(x k ) + γ αk δ f(xk ) T d k per s > 0.

52 Convergenza del Metodo di Armijo Proposizione 4 Sia f : R n R con f continuo su R n Supponiamo che l insieme di livello L 0 sia compatto e che valga la condizione f(x k ) T d k < 0 per ogni k. Supponiamo, inoltre, che il passo k R soddisfi la seguente k 1 k f(x ) T d k d k σ( d k ) con σ : R + R + funzione di forzamento. Allora il metodo di Armijo determina in un numero finito di passi un valore α k > 0 tale che la successione definita da x k+1 = x k + α k d k soddisfi le condizioni: c1) f(x k+1 ) f(x k ); c2) lim k f(x k ) T d k d k = 0.

53 Commenti Convergenza nella dimostrazione non essenziale x k+1 = x k + α k A dk, basta infatti f(x k+1 ) f(x k + α k A dk ). La dimostrazione vale anche per la ricerca esatta. Svantaggi del Metodo di Armijo Calcolare funzione in tutti i punti δ j k. Iniziare la ricerca a partire da una stima k in alcuni casi poco significativa.