Optimization Toolbox di MATLAB
|
|
|
- Lorenza Coppola
- 9 anni fa
- Visualizzazioni
Transcript
1 Università degli studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Optimization Toolbox di MATLAB Tesina di Ottimizzazione Studente: Prof. Giancarlo Raiconi Anno Accademico 2011/2012 Gianluca Carbone
2 INTRODUZIONE Il presente lavoro riguarda lo studio delle più importanti funzioni che il tool mette a disposizione, degli algoritmi utilizzati e applicazione del software a problemi di test reperibili in rete. 2
3 INTRODUZIONE Nello specifico ho lavorato su : Comprensione generale del tool Optimization Toolbox; Utilizzo del tool su problemi di nonlineare nonvincolata e di minimizzazione unidimensionale; Utilizzo del tool su problemi riguardo i minimi quadrati lineari e nonlineari. 3
4 Il tool nel complesso Una collezione di funzioni che estendono la capacità dell'ambiente di calcolo numerico di Matlab. La toolbox include procedure per molti tipi di ottimizzazione tra cui: Minimizzazione non lineare non vincolata; Minimizzazione non lineare vincolata, tra cui problemi goal attainment, problemi minimax e problemi di minimizzazione semi- infinita; Programmazione quadratica e lineare; Minimi quadrati e curve-fitting non lineari; Risoluzione di sistemi di equazioni non lineari; Minimi quadrati lineari vincolati; Problemi su larga scala sparsi e strutturati. 4
5 ALGORITMI Due classi di algoritmi: 1. Medium Scale ( or Standard) algorithm : - Minimizzazione non vincolata : metodi di ricerca del simplesso Nelder - Mead e il metodo Quasi-Newton di BFGS( Broyden-Fletcher-Goldfarb-Shanno ); - Minimizzazione vincolata (minimax, goal attainment e ottimizzazione semi infinita ) : sono usate variazioni della programmazione quadratica sequenziale (SQP); - Minimi quadrati non lineari : metodi di Gauss Newton e Levemberg Marquardt; - Equazioni non lineari : risoluzione anche attraverso l algoritmo Trust Region Dogleg; 5
6 ALGORITMI 2. Large Scale algorithm : - Tutti gli algoritmi su larga scala, eccetto la programmazione lineare, sono metodi Trust Region. - I problemi vincolati sono risolti usando metodi di Newton Riflessivo. - I problemi con vincoli di eguaglianza sono risolti con i metodi del Gradiente Coniugato Precondizionato; - Per individuare il passo corrente per risolvere sistemi lineari, si possono utilizzare risolutori sparsi o risolutori sparsi diretti. - Il metodo di programmazione lineare è una variante dell algoritmo predictorcorrector di Mehrotra, un metodo primale duale interior-point. L idea di base dei metodi di trust - region è di determinare la direzione e l ampiezza dello spostamento da effettuare a partire dal punto corrente x, in modo da minimizzare un modello quadratico della funzione obiettivo in una regione sferica di centro x. 6
7 FUNZIONI Il tool mette a disposizione tre categorie di funzioni : 1. Minimization : minimizzazione scalare(fminbnd), minimizzazione non vincolata (fminunc, fminsearch), linear programming (linprog), programmazione quadratica (quadprog), minimizzazione vincolata (fmincon), goal attainment( fgoalattain), minimax (fminimax), minimizzazione semi infinita (fseminf); 2. Rioluzione di equazioni : equazioni lineari ( \ (slash)), equazioni non lineari di una variabile (fzero), equazioni non lineari (fsolve); 7
8 FUNZIONI 3. Minimi quadrati (curve fitting) : minimi quadrati lineari ( \(slash)), minimi quadrati lineari non negativi (lsqnonneg), minimi quadrati lineari vincolati (lsqlin), minimi quadrati non lineari (lsqnonlin), curve fitting (lsqcurvefit). Il curve fitting è il processo di costruzione di una curva o di una funzione matematica, che abbia la migliore corrispondenza ad una serie di punti assegnati, possibilmente soggetti a limitazioni. Il curve fitting può implicare sia l'interpolazione, dove è richiesta un'esatta corrispondenza con i punti dati, o lo spianamento, dove viene costruita una funzione piana che combaci approssimativamente con i dati. 8
9 Tornando agli algoritmi Qualche algoritmo standard : Gradient methods : i metodi del gradiente usano informazioni circa la pendenza della funzione per dettare una direzione di ricerca dove si ritiene che sia il minimo. Il più semplice di questi è il metodo di steepest descent(gradiente) in cui viene eseguita una ricerca in una direzione, -f(x), dove f(x) è il gradiente della funzione obbiettivo. Questo metodo è inefficiente quando la funzione da minimizzare ha lunghe curvature strette. Quasi Newton methods : utilizza le informazioni del gradiente, costruisce le informazioni della curvatura ad ogni iterazione per formulare il problema del modello quadratico della forma: H matrice Hessiana, c vettore costante, b costante Implementazione consiste di due fasi: - Determinazione di una direzione di ricerca( aggiornamento Hessiano); - Procedure di Line Search. 9
10 Tornando agli algoritmi Qualche algoritmo Standard Quasi Newton : Il metodo di tipo-newton (come opposto ai metodi Quasi -Newton) calcola H direttamente e procede in una direzione di discesa per localizzare il minimo dopo un numero di iterazioni. Calcolare H numericamente comporta un grande numero di computazioni. I metodi Quasi -Newton evitano questo usando il comportamento osservato di f(x) e f(x) per costruire le informazioni di curvatore per fare un approssimazione di H usando un appropriata tecnica di aggiornamento. Tra le tecniche di aggiornamento dell Hessiano vi è BFGS: dove 10
11 ALGORITMI ancora qualche algoritmo Standard Ottimizzazione con i minimi quadrati Metodo Gauss Newton : è ottenuta una direzione di ricerca D di k ad ogni iterazione k, cioè una soluzione del problema dei minimi quadrati. La direzione di ricerca D può essere utilizzata come parte di una strategia di ricerca di linea per garantire che ad ogni iterazione la funzione f(x) decrementa. Questo metodo ha limiti con valori molto grandi nell equazione. J matrice Jacobiaba, G vettore gradiente, H matrice hessiana Problemi risolti nel metodo di Levemberg-Marquardt. Levemberg Marquardt : trova una soluzione di un insieme lineare di equazioni, usa una direzione di ricerca che è un incrocio tra la direzione di Gauss Newton e Steepest Descent. 11
12 ALGORITMI Algoritmi su Larga scala Trust Region : esempio minimizzare f(x). Supponiamo di essere in un punto x in uno spazio n e vogliamo migliorare ad un valore di funzione inferiore. L idea di base è di approssimare f ad una semplice funzione q, che riflette adeguatamente il comportamento della funzione f in un vicino N intorno al punto x. Questo punto è detto trust region. Il punto viene aggiornato solo se la soluzione è migliorata. Preconditioned Conjugate Gradients : risolvere grandi sistemi definiti positivi simmetrici di equazioni lineari o l equivalente problema di programmazione quadratica. Consiste nel decomporre un problema di minimo quadratico n dimensionale in n problemi monodimensionali mediante l introduzione di direzioni coniugate. Leggermente più complesso di steepest descent ma molto più veloce nella convergenza. 12
13 ALGORITMI algoritmi su Larga scala Minimi quadrati non lineari : Il metodo di base usato per risolvere questo problema è lo stesso come nel caso generale descritto per Trust Region. Tuttavia la struttura del problema dei minimi quadrati non lineari è sfruttata per migliorare l efficienza. Minimi quadrati lineari : Ogni iterazione implica la soluzione approssimata di un sistema lineare grande (di ordine n dove n è la lunghezza di x). Il metodo dei gradienti è utilizzato per risolvere approssimativamente l equazione normale, ad esempio, Il metodo Trust-region è utlizzato per individuare una direzione di ricerca 13
14 FUNZIONI ANALIZZATE Le funzioni che sono state analizzate: fminsearch : trova il minimo di una funzione multi-variabile non lineare non vincolata ; fminunc : trova il minimo di una funzione multi variabile non lineare non vincolata ; fmincon : trova il minimo di una funzione multi-variaible non lineare vincolata lsqlin : risolve il problema dei minimi quadrati lineari ; lsqnonlin : risolve problemi dei minimi quadrati non lineari (data-fitting non lineari). Per ognuna delle funzioni vi sono diverse sezioni, in particolare : scopo descrizione note particolari algoritmi che utilizzano 14
15 fminsearch [x,fval,exitflag,output] = fminsearch(fun,x0,options,p1,p2, ) Input fun -> funzione da minimizzare x0 -> punto di inizio options -> permette di modificare i parametri di ottimizzazione P1,P2 -> argomenti addizionali passati a fun. Output x -> minimo locale della funzione descritta in fun fval -> valore della funzione obbiettivo alla soluzione x exitflag -> descrive la condizione di uscita output -> contiene informazioni circa l ottimizzazione (iterazioni, algoritmo, ecc). Algoritmi Usa il metodo di ricerca del simplesso; potrebbe solo dare una soluzione locale; minimizza solo su numeri reali ( ha bisogno di scomporre variabili complesse). 15
16 fminunc [x, fval, exitflag, output, grad, hessian]= fminunc(fun, x0, options, P1, P2, ); Input fun -> funzione da minimizzare x0 -> punto di inizio options -> permette di modificare i parametri di ottimizzazione P1,P2 -> argomenti addizionali passati a fun. Output x -> minimo locale della funzione descritta in fun fval -> valore della funzione obbiettivo alla soluzione x exitflag -> descrive la condizione di uscita output -> contiene informazioni circa l ottimizzazione (iterazioni, algoritmo, ecc) grad -> è il valore del gradiente di fun alla soluzione x hessian -> è il valore dell Hessiano della funzione obbiettivo fun alla soluzione x. Algoritmi - large-scale (on) : metodo Trust- Region,Newton interior- reflective,gradiente(pcg). - large scale (off) : quasi- Newton, formula BFGS e DFP, steepest descent. 16
17 lsqlin [x, resnorm, residual, exitflag, output, lambda]= lsqlin(c, d, A, b, Aeq, beq, lb, ub, x0, options, p1, p2, ); Input C,A e Aeq sono matrici d, b, beq, lb(lower bound), e ub(upper bound) sono vettori P1,P2 -> argomenti addizionali passati a fun x0 -> punto di inizio options -> permette di modificare i parametri di ottimizzazione Output x -> minimo locale della funzione descritta in fun residual-> C*x-d; exitflag -> descrive la condizione di uscita output -> contiene informazioni circa l ottimizzazione (iterazioni, algoritmo, ecc) Lambda -> struttura contenente il moltiplicatore di Lagrange alla soluzione x; Resnorm -> norm(c*x-d)^2; Algoritmi Large Scale (on) -> metodo trust region basato sul metodo di Newton interior-reflective, gradienti: Large Scale (off) -> programmazione quadratica 17
18 lsqnonlin [x, resnorm, residual, exitflag, output, lambda, jacobian] = lsqnonlin (fun,x0,lb,ub,options,p1,p2, ); Input Fun -> funzione in input lb(lower bound), e ub(upper bound) sono vettori P!,P2 -> argomenti addizionali passati a fun x0 -> punto di inizio options -> permette di modificare i parametri di ottimizzazione Output x -> minimo locale della funzione descritta in fun residual-> C*x-d; exitflag -> descrive la condizione di uscita output -> contiene informazioni circa l ottimizzazione (iterazioni, algoritmo, ecc) Lambda -> struttura contenente il moltiplicatore di Lagrange alla soluzione x; Resnorm -> norm(c*x-d)^2; Jacobian -> ritorna lo Jacobiano di fun alla soluzione x Algoritmi Larga scala(on) -> trust- region si basa sul metodo di Newton interior-reflective, gradienti preconditioned Larga scala(off) -> Levemberg Marquardt con ricerca di linea, Gauss- Newton con ricerca di linea 18
19 Esempi Fminunc - minimizzare la funzione data, trovare x1 e x2. X0[-1,1]; Options =optimset( LargeScale, off ); [x,fval,exitflag,output] =fminunc(@objfun,x0,options); algoritmo-> medium scale, Quasi-Newton line search X=0.5000, -1,000 19
20 Esempi Fminsearch - minimizza la funzione unidimensionale per trovare un minimo vicino a 2 Function : sen(x) + 3 x = fminsearch (@myfun2,2); x= ; 20
21 Esempi Esempio tratto da COPS Problema - il più grande tra poligoni piccoli, cioè trovare il poligono di massima area, tra i poligoni con n lati e diametro d<=1; Se sono le coordinate dei vertici dei poligoni, allora dobbiamo massimizzare: con i vincoli : 21
22 GRAZIE PER L ATTENZIONE 22
Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali
Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Tesina di Ottimizzazione Anno Accademico 2011/2012 Optimization Toolbox di Matlab: Studio delle più importanti funzioni
LEZIONE ICO 12-10-2009
LEZIONE ICO 12-10-2009 Argomento: introduzione alla piattaforma Matlab. Risoluzione numerica di problemi di minimo liberi e vincolati. Lucia Marucci [email protected] http://www.mathworks.com/access/helpdesk/help/toolbo
Il Toolbox di ottimizzazione di Matlab. Mauro Gaggero
Mauro Gaggero I Toolbox di Matlab I Toolbox di Matlab sono pacchetti software utili per risolvere problemi specifici. Questi pacchetti non fanno parte del kernel vero e proprio di Matlab. Si tratta di
Equazioni e sistemi non lineari
Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Metodo di Newton-Raphson
Esercizi di programmazione matematica Dott. Gianluca Cretì Scuola di specializzazione R.O.S.D.
Esercizi di programmazione matematica Dott. Gianluca Cretì Scuola di specializzazione R.O.S.D. A. Esercizio n.7 B. Esercizio n.8 C. Esercizio n. 9 D. Esercizi e 8 E. Esercizio F. Esercizio G. Esercizio
Equazioni e sistemi non lineari
Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Metodo di Newton-Raphson
Ottimizzazione della geometria. Ottimizzazione della geometria A.A ! " B. Civalleri Chimica Computazionale a.a
Ottimizzazione della geometria A.A. 2006-07 07! " B. Civalleri Chimica Computazionale a.a. 2006-07 1 Ottimizzazione della geometria Definizioni (I) Superficie di energia potenziale (PES) La PES descrive
3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI
3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:
Kernel Methods. Corso di Intelligenza Artificiale, a.a Prof. Francesco Trovò
Kernel Methods Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 14/05/2018 Kernel Methods Definizione di Kernel Costruzione di Kernel Support Vector Machines Problema primale e duale
Equazioni e sistemi non lineari
Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Bisezione Metodo di Newton-Raphson
Capitolo 3: Ottimizzazione non vincolata parte II. E. Amaldi DEI, Politecnico di Milano
Capitolo 3: Ottimizzazione non vincolata parte II E. Amaldi DEI, Politecnico di Milano 3.3 Metodi basati su direzioni di ricerca Problema di ottimizzazione non vincolata: min x R n f(x) con f : R n R di
Ottimizzazione numerica
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
MATEMATICA GENERALE APPLICAZIONI DI MATEMATICA PER L ECONOMIA 1/6/2011 A. NOME e COGNOME Matricola. x = x 3 + 1
1/6/2011 A NOME e COGNOME Matricola I parte: quesiti preliminari (riportare le soluzioni su questo foglio, giusti cando la risposta) i) Si risolva l equazione: x + 5 7 = x 3 + 1 ii) Si risolva la disequazione:
Esercizio 1. Esercizio 2
Sia data la matrice A A(α) = Esercizio α 2 2α 2 2, α R.) determinare per quali valori del parametro reale α é verificata la condizione necessaria e sufficiente di convergenza per il metodo di Jacobi;.2)
Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano
Capitolo 3: Ottimizzazione non vincolata parte III E. Amaldi DEI, Politecnico di Milano 3.4 Metodi di ricerca unidimensionale In genere si cerca una soluzione approssimata α k di min g(α) = f(x k +αd k
Equazioni e sistemi non lineari
Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Bisezione Metodo di Newton-Raphson
Chimica Computazionale
Chimica Computazionale Ottimizzazione della geometria A.A. 2013-14 Bartolomeo Civalleri Dip. Chimica IFM Via P. Giuria 5 10125 Torino [email protected] B. Civalleri Chimica Computazionale a.a.
Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Risoluzione di Equazioni non lineari Sia F C 0 ([a, b]), cioé F è una funzione continua in un intervallo [a, b] R, tale che F(a)F(b) < 0 1.5 1 F(b) 0.5 0 a
Raccolta di esercizi di Calcolo Numerico Prof. Michela Redivo Zaglia
Raccolta di esercizi di Calcolo Numerico Prof. Michela Redivo Zaglia Nota Bene: Gli esercizi di questa raccolta sono solo degli esempi. Non sono stati svolti né verificati e servono unicamente da spunto
SQP (Sequential Quadratic Programming ) La soluzione del problema min f o (x) g i (x) = 0, i I
SQP (Sequential Quadratic Programming ) La soluzione del problema min f o (x) g i (x) = 0, i I e caratterizzata dalle condizioni f o (x) + i I μ i g i (x) = 0 e dall ammissibilita ( g i (x) = 0, i I )
5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate. min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n
5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate Consideriamo il generico problema di PNL min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n dove f e le c i sono di classe
Risoluzione di sistemi lineari sparsi e di grandi dimensioni
Risoluzione di sistemi lineari sparsi e di grandi dimensioni Un sistema lineare Ax = b con A R n n, b R n, è sparso quando il numero di elementi della matrice A diversi da zero è αn, con n α. Una caratteristica
1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso
Domanda 1 1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso x n+1 = x n f(x n), n = 0, 1, 2,... K dove x 0 è il punto iniziale, f(x) = x 3 cos(x) e K è una costante assegnata.
Esercizi su ottimizzazione vincolata
Esercizi su ottimizzazione vincolata 1. Rispondere alle seguenti domande (a) Quando un vincolo di disuguaglianza è detto attivo? (b) Cosa è l insieme delle soluzioni ammissibili? Gli algoritmi di ricerca
Esercizi di Programmazione Lineare
Esercizi di Programmazione Lineare 1 grafica Si consideri il seguente problema di programmazione lineare: max 3x 1 + 2x 2 s.t. + 2x 1 + x 2 4 2x 1 + x 2 2 + x 1 x 2 1 x 1, x 2 0 a) Risolvere il problema
Introduzione al Calcolo Scientifico
Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli
Corso di laurea in Matematica Laboratorio di Programmazione e Calcolo Prof. A. Murli. Esercizi di riepilogo - LABORATORIO
Cognome: Nome: 1 Matricola: Corso di laurea in Matematica Laboratorio di Programmazione e Calcolo Prof. A. Murli Esercizi di riepilogo - LABORATORIO Creare una directory nominata cognome nome dove cognome
Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie
Complementi di Matematica e Calcolo Numerico A.A. 2010-2011 Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie Cosideriamo il seguente Problema di Cauchy: Trovare una funzione y : I
Esame di Ricerca Operativa del 08/01/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:
Esame di Ricerca Operativa del 08/0/ Cognome) Nome) Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x + x x +x x x 0 x + x x x 8 x x 8
