Programma - Matematica - Seconda Università degli Studi di Napoli

Dipartimento di Matematica e Fisica
Seconda Università degli Studi di Napoli
Corso di Laurea Magistrale in Matematica
Programma del corso di Metodi Numerici per l’Ottimizzazione (8 CFU)
A.A. 2013/2014
Prof. Daniela di Serafino
1. Argomenti trattati
Introduzione all’ottimizzazione
Problemi di ottimizzazione: formulazione ed esempi. Ottimizzazione continua, locale e globale.
Ottimizzazione vincolata e non vincolata. Ottimizzazione convessa.
Ottimizzazione non vincolata
§ Generalità
Direzioni di discesa. Condizioni di ottimo del primo e del secondo ordine. Metodi line-search:
schema generale, calcolo del passo mediante ricerca esatta ed inesatta, condizioni di Armijo e di
curvatura, convergenza, algoritmi per la scelta del passo (backtracking, interpolazione
quadratica e cubica). Cenni ai metodi trust-region. Criteri di arresto.
§ Metodi del gradiente
Richiami sui metodi del gradiente e del gradiente coniugato per la minimizzazione di funzioni
quadratiche convesse. Metodo del gradiente per la minimizzazione di generiche funzioni non
lineari. Convergenza e velocità di convergenza.
§ Metodi di tipo Newton
Metodo di Newton. Convergenza e velocità di convergenza del metodo di Newton. Metodi di
Newton inesatti. Metodi di Newton con line search: metodo di Newton troncato (Newton-CG),
metodo di Newton modificato, strategie per la modifica della matrice Hessiana (shift diagonale
e fattorizzazione di Cholesky modificata). Convergenza e velocità di convergenza dei metodi di
Newton inesatti e con line search. Metodi quasi-Newton: metodi BFGS e DFP, convergenza e
velocità di convergenza dei metodi BFGS, cenni ai metodi BFGS a memoria limiata.
Ottimizzazione vincolata
§ Generalità
Cono tangente e cono delle direzioni ammissibili del primo ordine, condizione di qualificazione
dei vincoli LICQ. Condizioni di ottimo del primo ordine (KKT) e del secondo ordine.
Derivazione delle condizioni di ottimo nel caso di vincoli lineari; cenni alla derivazione di tali
condizioni nel caso di vincoli non lineari. Funzione Lagrangiana e moltiplicatori di Lagrange.
Analisi della sensibilità della funzione obiettivo alle perturbazioni dei vincoli.
§ Programmazione lineare: aspetti fondamentali
Definizione di problema di programmazione lineare, forme canoniche, forma standard.
Richiami sui poliedri convessi. Poliedro ammissibile. Caratterizzazione dei vertici del poliedro
ammissibile. Matrici e variabili di base. Soluzioni di base e vertici del poliedro ammissibile.
Vertici degeneri. Teoremi fondamentali della programmazione lineare. Condizioni KKT per i
1
§
§
§
problemi di programmazione lineare. Problema duale. Dualità e ottimo (teorema di dualità della
programmazione lineare).
Metodo del simplesso
Introduzione al metodo del simplesso: idee di base. Fasi I e II del metodo. Fase II:
caratterizzazione degli spigoli uscenti da un vertice, costi ridotti, criterio di ottimo, criterio di
illimitatezza, determinazione del passo e cambiamento della base, vertici degeneri e ciclaggio,
terminazione finita. Fase I: problema artificiale, ammissibilità del problema originario,
individuazione di una matrice di base ammissibile del problema originario. Cenni ai metodi di
risoluzione di sistemi lineari nell’ambito del metodo del simplesso. Complessità computazionale
del metodo del simplesso.
Metodi a punto interno per la programmazione lineare
Introduzione ai metodi a punto interno: idee di base. Metodi primali-duali. Central path. Intorni
del central path. Metodi path-following primali-duali ammissibili (short-step e long-step).
Metodi a punto interno inammissibili. Metodo predictor-corrector di Mehrotra. Cenni sulla
risoluzione dei sistemi KKT nel contesto dei metodi a punto interno. Convergenza e complessità
computazionale dei metodi path-following: studio del metodo long-step.
Programmazione quadratica
Definizione di problema di programmazione quadratica. Condizioni KKT per i problemi di
programmazione quadratica. Programmazione quadratica convessa e dualità. Estensione ai
problemi quadratici convessi dei metodi a punto interno per la programmazione lineare
precedentemente introdotti.
2. Attività di laboratorio
Costituiscono parte integrante del programma del corso le attività di laboratorio di seguito elencate,
svolte in ambiente Matlab.
1. Sviluppo di una funzione che implementa il metodo del gradiente con line search inesatta per la
minimizzazione di funzioni non lineari (utilizzare sia una procedura di backtracking sia una
procedura di interpolazione); applicazione di tale funzione ad un insieme di problemi test ed
analisi dei risultati.
2. Sviluppo di funzioni che implementano i metodi di Newton, Netwton-CG, Newton con
modifica della matrice Hessiana (shift diagonale e fattorizzazione di Cholesky modificata);
applicazione di tali funzioni ad un insieme di problemi test ed analisi dei risultati.
3. Sviluppo di una funzione che implementa il metodo BFGS con approssimazione dell’inversa
della matrice Hessiana; confronto di tale funzione con l’implementazione dei metodi BFGS e
DFP nella funzione fminunc dell’Optimization Toolbox di Matlab, su un insieme di problemi
test.
4. Uso dell’ambiente CUTEst per il testing di programmi per l’ottimizzazione. Applicazione di
almeno una delle funzioni di cui ai punti 1-3 a qualche problema di CUTEst.
5. Risoluzione di problemi di programmazione lineare mediante Excel ed analisi dei risultati.
6. Sviluppo di una funzione che implementa il metodo del simplesso (fasi I e II) per la risoluzione
di problemi di programmazione lineare in forma standard; applicazione di tale funzione ad un
insieme di problemi test ed analisi dei risultati.
7. Applicazione della funzione linprog dell’Optimization Toolbox di Matlab ad un insieme di
problemi test, utilizzando sia il metodo del simplesso sia il metodo a punto interno implementati
in tale funzione. Confronto con la funzione di cui al punto 6.
2
3. Riferimenti bibliografici
§
§
§
§
J. Nocedal, S. Wright, Numerical Optimization, Second Edition, Springer, 2006.
P.E. Gill, W. Murray, M.H. Wright, Practical Optimization, Academic Press, 1981 (capitolo 3).
D. Goldfarb, M.J. Todd, Linear Programming, in “Handbooks in Operations Research and
Management Science – Optimization”, G.L. Nemhauser, A.H.G. Rinnooy Kan, M.J. Todd eds.,
Elsevier , 1984 (capitolo 2).
J.E. Dennis Jr., R.B. Schnabel, Numerical Methods for unconstrained Optimization and
Nonlinear Equations, SIAM, 1996 (appendice B).
Caserta, 6 giugno 2014
Il docente del corso
Prof. Daniela di Serafino
3