UNIVERSITÀ DEGLI STUDI DI GENOVA Corso di Laurea Specialistica in Ingegneria Gestionale Corso di Ricerca Operativa 2 (CD) – codice 60204 A.A. 2011/2012 Docente: Mauro Gaggero ___________ PROGRAMMA DEL CORSO 1. Introduzione al corso e definizioni preliminari 1.1. 1.2. 1.3. Problema di programmazione non lineare in forma standard libero e vincolato Definizioni di punti di minimo e massimo locali e globali Esempi di problemi formulabili come problemi di programmazione non lineare 2. Condizioni di esistenza della soluzione 2.1. Teorema di Weirstrass e funzioni coercive 1 2.2. 2.3. 3. Problemi di ottimizzazione convessi 3.1. 3.2. 3.3. 4. Forme e funzioni quadratiche Gradiente, Hessiana, matrici simmetriche, matrici definite positive e negative Definizione e proprietà di funzioni convesse Definizione e proprietà di insiemi convessi Definizione e proprietà di problemi di programmazione non lineare convessi Programmazione matematica non vincolata 4.1. 4.2. 4.3. 4.4. Condizioni necessarie di ottimalità e condizioni sufficienti di ottimalità Condizioni di ottimalità per funzioni quadratiche Utilizzo delle condizioni di ottimalità per la ricerca di soluzioni Esempi di applicazione delle condizioni di ottimalità per la risoluzione di semplici problemi di ottimizzazione 4.5. Algoritmi iterativi e algoritmi di discesa 4.6. Proprietà di convergenza finita e convergenza asintotica 4.7. Proprietà di convergenza locale e globale 4.8. Concetti generali circa gli algoritmi di discesa: definizione di direzione di discesa e algoritmo di discesa 4.9. Discussione dei principali punti che costituiscono un algoritmo di discesa: scelta del punto iniziale, criteri di arresto, scelta della direzione di discesa, scelta del passo di discesa 4.10. Principali situazioni in cui ci si può trovare durante l’utilizzo di un metodo di discesa: minimi locali e fenomeno dello zig-zag. 5. Algoritmo del gradiente 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 6. Definizione dell’algoritmo e principali proprietà Teorema di convergenza dell’algoritmo del gradiente a passo fisso Definizione della velocità di convergenza di un algoritmo di discesa Esempi di applicazione dell’algoritmo del gradiente a funzioni di prova Varianti dell’algoritmo del gradiente: algoritmo del gradiente a passo non costante Metodi di ricerca di linea esatta (caso quadratico e non) e inesatta (metodo di Armijo e del passo decrescente) Applicazione del metodo del gradiente per la minimizzazione di funzioni quadratiche Algoritmo di Newton 6.1. 6.2. Definizione dell’algoritmo e principali proprietà Confronto con il metodo del gradiente 2 6.3. 6.4. 6.5. 6.6. 6.7. 7. Metodi delle direzioni coniugate 7.1. 7.2. 7.3. 7.4. 7.5. 7.6. 8. Approssimazione delle derivate con differenze finite negli algoritmi di discesa Algoritmo delle discese coordinate Algoritmo di Powell Algoritmo delle tangenti parallele (Partan) Algoritmi esplorativi basati su campionamenti dell’insieme ammissibile Metodi di Line Search 9.1. 9.2. 10. Introduzione ai metodi delle direzioni coniugate Concetto di direzioni coniugate Metodo del gradiente coniugato per la minimizzazione di funzioni quadratiche Proprietà di convergenza finita dell’algoritmo Metodo del gradiente coniugato per funzioni non quadratiche: metodi di PolakRibiere e Fletcher-Reeves Esempi di applicazione dell’algoritmo a funzioni di prova Metodi non derivativi 8.1. 8.2. 8.3. 8.4. 8.5. 9. Confronto con il metodo di Newton per la ricerca degli zeri di una funzione Teorema di convergenza dell’algoritmo di Newton Esempi di applicazione dell’algoritmo a funzioni di prova Convergenza locale e globale dell’algoritmo Varianti dell’algoritmo di Newton: metodi quasi-Newton e metodi per ridurre l’onere computazionale Algoritmo di Fibonacci e della sezione aurea Algoritmi basati su interpolazioni quadratiche e cubiche Introduzione alla programmazione matematica non lineare vincolata 10.1. 10.2. 10.3. 10.4. Caso particolare di problemi di ottimizzazione su insiemi convessi Condizioni di ottimalità Algoritmi delle direzioni ammissibili Algoritmo del gradiente proiettato 11. Approccio Lagrangiano per problemi di programmazione matematica non lineare vincolata 11.1. Definizioni di funzione Lagrangiana, vincoli attivi e vincoli regolari 3 11.2. Condizioni necessarie e condizioni sufficienti di ottimalità per problemi di programmazione non lineare vincolata con soli vincoli di uguaglianza 11.3. Condizioni necessarie e condizioni sufficienti di ottimalità per problemi di programmazione non lineare vincolata con soli vincoli di disuguaglianza: condizioni di Karush-Kuhn-Tucker (KKT) 11.4. Condizioni necessarie e condizioni sufficienti di ottimalità per problemi di programmazione non lineare vincolata con vincoli sia di uguaglianza sia di disuguaglianza 11.5. Utilizzo delle condizioni di ottimalità per la ricerca di soluzioni 11.6. Esempi di applicazione delle condizioni di ottimalità per la risoluzione di semplici problemi 12. Metodi delle funzioni di penalità e funzioni barriera 12.1. 12.2. 12.3. 12.4. 12.5. 13. Definizione di metodo delle funzioni di penalità Illustrazione del metodo e proprietà di convergenza Definizione di metodo delle funzioni barriera Illustrazione del metodo e proprietà di convergenza Metodo del punto interno per la soluzione di problemi di programmazione lineare Attività di laboratorio 13.1. Introduzione all’uso di Matlab. Presentazione dei principali comandi tramite esempi ed esercitazioni guidate al calcolatore. 13.2. Esercitazione: programmazione in Matlab dell’algoritmo del gradiente a passo costante per la risoluzione di semplici problemi di programmazione non lineare libera. 13.3. Esercitazione: utilizzo delle funzioni di libreria di Matlab per la risoluzione di problemi di programmazione non lineare libera. 13.4. Esercitazione: utilizzo delle funzioni di libreria di Matlab per la risoluzione di problemi di programmazione non lineare vincolata. 14. Approfondimenti e seminari 14.1. Esempi di problemi di interesse per un ingegnere gestionale formulabili come problemi di programmazione non lineare. 14.2. Esempio: allocazione ottima delle risorse di movimentazione all’interno di un terminale intermodale portuale. 14.3. Esempio: pianificazione ottima a livello strategico e tattico della movimentazione delle merci all’interno di catene di distribuzione. 4 Riferimenti bibliografici [1] D. Bertsekas – Nonlinear Programming. Athena Scientific, 1999. [2] D. Luenberger, Y. Ye – Linear and nonlinear programming. Springer, 2008. [3] Materiale fornito dal docente. 5