Ottimizzazione numerica

Похожие документы
Laboratorio di Matematica Computazionale A.A Lab. 4

Corso di Calcolo Numerico

NOME:... MATRICOLA:... Corso di Laurea in Fisica, A.A. 2009/2010 Calcolo 1, Esame scritto del

Facoltá di Scienze MM.FF.NN. Corso di Studi in Informatica- A.A

Risoluzione di problemi ingegneristici con Excel

Equazioni non lineari

DERIVATE SUCCESSIVE E MATRICE HESSIANA

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Equazioni, funzioni e algoritmi: il metodo delle secanti

NOTE DI MATEMATICA APPLICATA ALL ECONOMIA

Parte V: Rilassamento Lagrangiano

Esercizi sulla retta. Gruppo 1 (4A TSS SER, 4B TSS SER, 4A AM )

EQUAZIONI E PROBLEMI: GUIDA D'USO

Calcolo Numerico Informatica Manolo Venturin A.A Guida all esame

Corso di Calcolo Numerico

Quali condizionisi si possono richiedere sulla funzione interpolante?

valore di a: verso l alto (ordinate crescenti) se a>0, verso il basso (ordinate decrescenti) se a<0;

Sommario. Calcolo della radice quadrata. Calcolo della radice quadrata. y0 a rappresenta un approssimazione per eccesso dll della radice. y 1 a.

Appunti sul corso di Complementi di Matematica mod.analisi prof. B.Bacchelli a.a. 2010/2011

Esercizi riassuntivi per la prima prova di verifica di Analisi Matematica. n, n IN.

1. riconoscere la risolubilità di equazioni e disequazioni in casi particolari

Lezioni sullo studio di funzione.

Funzioni elementari: funzioni potenza

Distribuzioni di Probabilità

Laboratorio 5-6 Metodi di Bisezione, Newton e Punto Fisso

Principi e Metodologie della Progettazione Meccanica

Corso di Laurea in Ingegneria Informatica Analisi Numerica

Note sull implementazione in virgola fissa di filtri numerici

Ellisse. DEF: "il luogo dei punti la cui somma delle distanze da due punti dati detti fuochi. è costante"; CONSIDERAZIONI:

EQUAZIONI CON VALORE ASSOLUTO DISEQUAZIONI CON VALORE ASSOLUTO

1) D0MINIO. Determinare il dominio della funzione f (x) = ln ( x 3 4x 2 3x). Deve essere x 3 4x 2 3x > 0. Ovviamente x 0.

CORSO DI ANALISI MATEMATICA 1 ESERCIZI. Carlo Ravaglia

Equazioni differenziali Corso di Laurea in Scienze Biologiche Istituzioni di Matematiche A.A Dott.ssa G. Bellomonte

Attrito statico e attrito dinamico

2. APPUNTI SUI FASCI DI CIRCONFERENZE (raccolti dal prof. G. Traversi)

ax 1 + bx 2 + c = 0, r : 2x 1 3x = 0.

1 Definizione di sistema lineare omogeneo.

FUNZIONI QUADRATICHE

B6. Sistemi di primo grado

Graficazione qualitativa del luogo delle radici

Derivate delle funzioni di una variabile.

INTERPRETAZIONE CINEMATICA DELLA DERIVATA

PROBLEMI NON-LINEARI NEL CALCOLO STRUTTURALE

MATEMATICA GENERALE Prova d esame del 4 giugno FILA A

Definizione: Dato un sottoinsieme non vuoti di. Si chiama funzione identica o identità di in sé la funzione tale che.

LA FORZA...SIA CON TE!

Programmazione per competenze del corso Matematica, Quinto anno

La riduzione a gradini e i sistemi lineari (senza il concetto di rango)

Robotica industriale. Richiami di statica del corpo rigido. Prof. Paolo Rocco

Appunti delle esercitazioni di Ricerca Operativa

Equazioni Polinomiali II Parabola

ANALISI MATEMATICA II Sapienza Università di Roma - Laurea in Ingegneria Informatica Esame del 16 febbraio Soluzioni compito 1

ESPONENZIALI E LOGARITMI. chiameremo logaritmica (e si legge il logaritmo in base a di c è uguale a b ).

Equazioni e disequazioni algebriche. Soluzione. Si tratta del quadrato di un binomio. Si ha pertanto. (x m y n ) 2 = x 2m 2x m y n + y 2n

Svolgimento degli esercizi sulla circonferenza

Esercizi svolti. risolvere, se possibile, l equazione xa + B = O, essendo x un incognita reale

La corrente alternata

Progetto del controllore

determinare le coordinate di P ricordando la relazione che permette di calcolare le coordinate del punto medio di un segmento si

Appunti ed esercizi sulle coniche

Progettazione di Algoritmi

PROGRAMMAZIONE STRUTTURATA

CORSO DI ANALISI MATEMATICA 2 ESERCIZI. Carlo Ravaglia

1 Punti di massimo o di minimo e punti stazionari 1

Circonferenze del piano

Funzioni di secondo grado

Insiemi numerici La retta numerica. Numeri naturali. Numeri interi. Blocco per appunti Quaderno teoria Quaderno esercizi

Le disequazioni frazionarie (o fratte)

URTI: Collisioni fra particelle (e/o corpi) libere e vincolate.

Applicazioni lineari e diagonalizzazione. Esercizi svolti

METODI DI OTTIMIZZAZIONE

Classi: 4A inf Sirio Disciplina: MATEMATICA Ore settimanali previste: 3

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi

Esercizi sulla conversione tra unità di misura

Quadro riassuntivo di geometria analitica

CORSO DI LAUREA IN MATEMATICA

Metodo dei minimi quadrati e matrice pseudoinversa

SCHEDA N 8 DEL LABORATORIO DI FISICA

Esercizio. Sia a R non nullo e siano m, n numeri interi non nulli con m n. Allora a m /a n è uguale a. [1] 1/a n m [2] 1/a m n [3] 1/a n m [4] a n m

Optimization Toolbox di MATLAB

UNIVERSITÀ DEGLI STUDI DI PADOVA FACOLTÀ DI INGEGNERIA (sede di Vicenza)

Variabili aleatorie Parte I

Funzioni Pari e Dispari

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative

Protocollo dei saperi imprescindibili Ordine di scuola: professionale

Unità Didattica N 2 Le funzioni

Analisi Univariata e Multivariata dei Dati Economici Bruno Ricca (Dipartimento di studi su risorse, impresa, ambiente e metodologie quantitative)

FISICA: Le Forze. Giancarlo Zancanella (2014)

Recupero primo quadrimestre CLASSE QUARTA FUNZIONE REALE IN UNA VARIABILE REALE IL CAMPO DI ESITENZA

ESERCIZI SVOLTI SUL CALCOLO INTEGRALE

Транскрипт:

Funzioni univariate 28 Ottobre 2010

Funzioni univariate Outline 1 Funzioni univariate 2 optim

Funzioni univariate I metodi di ottimizzazione consentono di trovare i punti estremanti (massimi, minimi) di una funzione obiettivo f : R n R. Poiché max f (x) = min( f (x)), è sufficiente concentrarsi sui metodi per la ricerca del minimo min f (x) x Ω R n dove Ω è l insieme definito dai vincoli, se presenti. Per semplicità, nel seguito supporremo l esistenza e l unicità del punto di minimo x (locale e globale), e tratteremo l ottimizzazione in assenza di vincoli.

Funzioni univariate Metodi numerici per l ottimizzazione Ecco i metodi numerici che vedremo e implementeremo in R: per funzioni univariate: golden section search gradiente discendente per funzioni multivariate: optim (built-in R function)

Funzioni univariate Algoritmo piuttosto semplice e intuitivo per la ricerca del minimo di una funzione all interno di un intervallo [a,b] con a < b e x [a,b]. Richiede che la funzione f sia unimodale. Definizione Funzione f : R R è unimodale se esiste m R tale che f è decrescente per x m e crescente per x m. m è quindi il punto di minimo (globale).

Funzioni univariate Ecco come funziona il metodo golden section search: 1 Si parte considerando l intervallo [a 0,b 0 ] := [a,b] e si fissa una tolleranza ǫ 2 Si restringe iterativamente l intervallo a [a k+1,b k+1 ] [a k,b k ] in modo che il punto di minimo x continui a cadere al suo interno 3 Ci si arresta quando b k a k < ǫ, e si accetta b k a k 2 come una buona approssimazione del punto di minimo x Al passo 2, si determinano x 1,x 2 [a k,b k ] tali che x 1 < x 2. Poiché la funzione obiettivo è unimodale e abbiamo supposto esserci un unico punto di minimo x [a,b], se succede f (x 1 ) > f (x 2 ) allora significa x [x 1,b k ], altrimenti se f (x 1 ) < f (x 2 ) allora x [a k,x 2 ]. Selezionato l intervallo corretto, si prosegue in modo iterativo.

Funzioni univariate Nota Il nome del metodo è dovuto alla proporzione aurea esistente tra le distanze dei punti scelti dagli estremi dell intervallo: Osservazione pro: non richiede la conoscenza delle derivate contro: convergenza lenta x 2 x 1 x 1 a = x 1 a b x 1

Implementazione in R Funzioni univariate golden.r function che implementa il metodo golden section search valutazione delle funzioni obiettivo main per testare gli esempi

Esempi Funzioni univariate Esempio 1 f (x) = x 3.5 + (x 2) 2 Determinare il punto di minimo x [0,5]. (x = 2.5,f (x ) = 1.25) 10 8 6 4 1 2 3 4 5 Figure: f (x) = x 3.5 + (x 2) 2

Esempi Funzioni univariate Esempio 2 f (x) = x 3 + sinx x 2 Determinare minimi/massimi e osservare il comportamento del metodo golden section search al variare dell intervallo di ricerca. 2 1 2 2 4 6 8 1 2 Figure: f (x) = x 3 + sin x x 2

Esempi Funzioni univariate La funzione dell esempio 2 ha due minimi e due massimi nell intervallo [ 3,9]. A seconda dell intervallo di ricerca scelto, il metodo converge a uno dei minimi: [ 3,9]: due massimi, due minimi; converge a uno dei minimi [0,9]: un massimo, un minimo; converge al minimo [3,6]: un minimo; converge a quello

Funzioni univariate I metodi di discesa sono metodi iterativi che, a partire da un iterato iniziale x 0 R n, generano una successione di punti {x k } k N definiti dall iterazione x k+1 = x k + α k p k dove il vettore p k è una direzione di ricerca e lo scalare α k è un parametro positivo chiamato lunghezza del passo (step length) che indica la distanza di cui ci si muove lungo la direzione p k.

Funzioni univariate In un metodo di discesa, il vettore p k e il parametro α k sono scelti in modo da garantire la decrescita della funzione obiettivo f a ogni iterazione: f (x k+1 ) < f (x k ) k 0 In particolare, come vettore p k si prende una direzione di discesa, cioè tale che la retta x = x k + α k p k forma un angolo ottuso con il vettore gradiente f (x k ). In questo modo è possibile garantire la decrescita di f, purché α k sia sufficientemente piccolo.

Funzioni univariate Scelta della direzione di discesa A seconda della scelta di p k si hanno diversi metodi di discesa. Noi vedremo: metodo del gradiente discendente metodo di

Funzioni univariate Scelta della lunghezza del passo Esistono diverse tecniche per la scelta di α k in modo tale da garantire la convergenza del metodo verso punti stazionari di f. Step length: troppo piccola: può tradursi in una convergenza lenta troppo grande: rischio di superare il punto di minimo

Funzioni univariate Scelta della lunghezza del passo Sceglierne una step length costante, o che verifica semplicemente la condizione di decrescita f (x k+1 ) < f (x k ), non sempre garantisce convergenza. Si può determinare con: ricerca in linea esatta condizioni di Wolfe (condizione di Armijo + condizione della curvatura) sola condizione di Armijo + backtracking

Funzioni univariate Metodo del gradiente discendente: x k+1 = x k δf (x k ) direzione di ricerca (gradiente): p k = f (x k ) step length: α k = δ costante Richiede f C 1 (derivabile con continuità), e conoscenza dell espressione analitica della derivata prima. Osservazione Nome dovuto al fatto che si sceglie come direzione di ricerca quella opposta al gradiente (derivata prima, nel caso univariato).

Funzioni univariate Costo computazionale 1 valutazione della derivata prima per iterazione. Osservazione pro: converge a punti di minimo (e non genericamente a punti stazionari) non richiede il calcolo della derivata seconda (matrice Hessiana nel caso multivariato) contro: alto numero di iterazioni sensibilità rispetto all iterato iniziale (se x 0 è preso troppo lontano dal minimo x, e δ è scelta piccola, il metodo può non arrivare alla soluzione in tempi ragionevoli)

Implementazione in R Funzioni univariate gradiente.r function che implementa il metodo del gradiente discendente valutazione delle funzioni obiettivo main per testare gli esempi

Esempi Funzioni univariate Esempio 3 f (x) = e x + x 4 Determinare il punto di minimo. (x 0.528252,f (x ) 0.667504) 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0.5 1.0 Figure: f (x) = e x + x 4

Funzioni univariate Metodo di : x k+1 = x k f (x k ) f (x k ) direzione di ricerca (Newton): p k = f (x k )/f (x k ) step length: α k = 1 Ha la forma del metodo di Newton per la ricerca degli zeri di una funzione, applicato a f, in quanto determinare il punto di minimo della funzione f equivale a determinare la radice della derivata prima f.

Funzioni univariate Il metodo è solitamente preferito rispetto al gradiente discendente, per la sua velocità, nonostante richieda f C 2, f 0, conoscenza dell espressione analitica delle derivate prima e seconda, e converga indistintamente a minimi e massimi. Nota Se f ha un espressione semplice, la function deriv consente di calcolarne simbolicamente le derivate prima e seconda.

Funzioni univariate Costo computazionale A ogni iterazione: valutazione di derivata prima e seconda. Osservazione pro: convergenza veloce (quadratica) contro: convergenza locale alto costo per iterazione Esistono varianti che rendono il metodo a convergenza globale e che abbassano il costo computazionale evitando di risolvere con metodi diretti il sistema per la determinazione di p k.

Implementazione in R Funzioni univariate newton optim.r function che implementano il metodo di per l ottimizzazione (uni- e bi-variata) valutazione delle funzioni obiettivo main per testare gli esempi

Esempi Funzioni univariate Esempio 3 f (x) = e x + x 4 Determinare il punto di minimo e confrontare il numero di iterazioni effettuate dal metodo di con quelle richieste dal metodo del gradiente discendente, visto in precedenza.

Funzioni univariate optim Dall espansione di Taylor nel caso multidimensionale, il metodo di multivariato assume la forma: x k+1 = x k H f (x k ) 1 f (x k ) dove ora x k R n e H f è la matrice Hessiana (derivate seconde) di f. direzione di ricerca (Newton): p k = H f (x k ) 1 f (x k ) step length: α k = 1 Osservazione La direzione di Newton è di discesa H f è definita positiva.

Funzioni univariate optim Il metodo di multivariato richiede f C 2, e conoscenza dell espressione analitica del gradiente e della matrice Hessiana. Nota Se f ha un espressione semplice, la function deriv consente di calcolarne simbolicamente il gradiente e la matrice Hessiana. Costo computazionale A ogni iterazione: valutazione di gradiente, Hessiana e risoluzione del sistema n n H f (x k )p k = f (x k ) per la determinazione di p k (costo O(n 3 )).

Funzioni univariate optim Implementazione in R newton optim.r function che implementano il metodo di per l ottimizzazione (uni- e bi-variata) valutazione delle funzioni obiettivo main per testare gli esempi

Funzioni univariate optim optim optim è una R-function per l ottimizzazione di funzioni anche di più variabili. L utente può scegliere quale metodo usare, tra: Nelder-Mead (default): robusto ma relativamente lento BFGS (quasi-newton) CG (gradiente coniugato)

Funzioni univariate optim Esempi Esempio 4 f (x,y) = 1 ( 2 0.001(x 1) 2 + (x 2 y) 2) (funzione di tipo Rosenbrock) Determinare il punto di minimo. (x = (1,1)) 0 1 2 1 10 2 5 0 2 1 0 1 2 ( Figure: f (x, y) = 1 2 0.001(x 1) 2 + (x 2 y) 2)

Funzioni univariate optim Esempi Esempio 5 ( ) f (x,y) = sin x 2 2 y2 4 cos (2x e y ) Determinare i punti di minimo e massimo. 1.0 0.5 0.0 0.5 1.0 2 0 1 2 1 0 1 ( x Figure: f (x, y) = sin 2 1 2 2 ) cos(2x e y ) 2 y2 4

Funzioni univariate optim Esempi La funzione dell esempio 5 presenta molti punti di minimo e di massimo, pertanto scegliendo iterati iniziali diversi (e metodi diversi), si può arrivare a soluzioni diverse (a seconda della grandezza dei bacini di attrazione dei punti stazionari).