Salta al contenuto principale della pagina

OPERATIONS RESEARCH

CODICE 80155
ANNO ACCADEMICO 2017/2018
CFU 9 cfu al 1° anno di 8733 INGEGNERIA INFORMATICA (LM-32) GENOVA

7 cfu al 3° anno di 8760 MATEMATICA (L-35) GENOVA

7 cfu al 1° anno di 9011 MATEMATICA (LM-40) GENOVA

SETTORE SCIENTIFICO DISCIPLINARE MAT/09
LINGUA Italiano
SEDE GENOVA (INGEGNERIA INFORMATICA )
PERIODO 1° Semestre

PRESENTAZIONE

Il Corso introduce a modelli e metodi di ottimizzazione utilizzabili per la soluzione di problemi decisionali. Si articola nei temi fondamentali della modellazione di problemi, dello studio della trattabilità computazionale e della risoluzione tramite algoritmi implementabili su un calcolatore. La materia viene presentata nei suoi aspetti metodologici, teorici ed applicativi. Vengono considerati vari contesti applicativi e sono trattati in dettaglio "case-studies" in ambito informatico.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Il Corso introduce a modelli e metodi di ottimizzazione utilizzabili per la soluzione di problemi decisionali. Si articola nei temi fondamentali della modellazione di problemi, dello studio della trattabilità computazionale e della risoluzione tramite algoritmi implementabili su un calcolatore. Vengono considerati vari contesti applicativi e sono trattati in dettaglio alcuni "case-study" in ambito informatico. Scopo del Corso è far acquisire le competenze che consentano di affrontare problemi applicativi, sviluppando modelli e metodi che operino in modo efficiente in presenza di risorse limitate. Agli studenti verrà insegnato a: interpretare e modellare un processo decisionale nei termini di un problema di ottimizzazione, individuando cioè le variabili decisionali, la funzione di costo da minimizzare (o la cifra di merito da massimizzare) e i vincoli; inquadrare il problema nella gamma dei problemi considerati “canonici” (lineari/non lineari, discreti/continui, deterministici/stocastici, statici/dinamici, ecc.); realizzare il "matching" tra l’algoritmo risolutivo (da scegliere tra quelli esistenti o da progettare) e un adeguato supporto software di elaborazione.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Scopo del Corso è far acquisire le competenze che consentano di affrontare problemi applicativi, sviluppando modelli e metodi che operino in modo efficiente in presenza di risorse limitate. Agli studenti verrà insegnato a:

  • interpretare e modellare un processo decisionale nei termini di un problema di ottimizzazione, individuando cioè le variabili decisionali, la funzione di costo da minimizzare (o la cifra di merito da massimizzare) e i vincoli;
  • inquadrare il problema nella gamma dei problemi considerati “canonici” (lineari/non lineari, discreti/continui, deterministici/stocastici, statici/dinamici, ecc.);
  • realizzare il "matching" tra l’algoritmo risolutivo (da scegliere tra quelli esistenti o da progettare) e un adeguato supporto software di elaborazione.
  •  

MODALITA' DIDATTICHE

Lezioni frontali ed esercitazioni.

PROGRAMMA/CONTENUTO

INTRODUZIONE ALLA RICERCA OPERATIVA

Le origini della Ricerca Operativa.

Problemi reali e modelli matematici. Limiti dei modelli.

Obiettivi, variabili decisionali, vincoli.

Classificazioni dei problemi di ottimizzazione.

Dimensione dei problemi e inefficienza degli algoritmi “brute force”.

Un esempio numerico introduttivo.

Il ruolo e l’utilità della Ricerca Operativa nell’ambito dell’ICT.

PROGRAMMAZIONE LINEARE (PL)

Modelli di PL di importanza applicativa.

Esempio grafico introduttivo.

Algebra e geometria della PL.

Algoritmo del simplesso. Interpretazioni algebrica e geometrica. Simplesso sul tableau.

Analisi di post-ottimalità.

DUALITÀ

Problemi duali: modelli di PL di importanza applicativa.

Dualità debole e dualità forte.

Interpretazione economica della dualità (prezzi ombra).

Slackness complementare.

PROGRAMMAZIONE LINEARE A NUMERI INTERI (PLI)

Modelli di PLI di importanza applicativa (Matching, Sequencing, Fixed-Charge, Knapsack, Steiner Tree, Plant Location, Scheduling). 

Algebra e geometria della PLI. Matrici totalmente unimodulari.

Algoritmo di tipo branch-and-bound.

Algoritmo basati su piani di taglio. Tagli di Gomory.

Algoritmi di tipo branch-and-cut.

GRAFI E RETI

Definizioni e generalità sui grafi.

Rappresentazione dei grafi.

Il problema di Shortest Path (SP) e il suo modello di PLI. Algoritmo di Dijkstra. Algoritmo di Bellman-Ford.

Il problema di Shortest Spanning Tree (SST) e il suo modello di PLI. Algoritmo di Kruskal. Algoritmo di Primm-Dijkstra.

Algoritmi greedy.

Cenni al Travelling Salesman Problem (TSP) e al suo modello di PLI.

“CASE-STUDIES” IN AMBITO INFORMATICO

Stima del worst-case execution time (WCETP: “Worst-Case Execution Time Problem”) di un programma

Control flow graph per WCETP

Modello di PLI per WCETP

Il problema della selezione degli indici (ISP: “Index Selection Problem”) nei database relazionali

Modello di PLI per ISP

Risoluzione di ISP con mediante branch-and-bound

Risoluzione di ISP con mediante branch-and-cut

Confronto numerico fra le due metodologie di risoluzione per ISP

CENNI ALLA TEORIA DELLA COMPLESSITÀ

Concetto di istanza e dimensione di un'istanza.

Complessità computazionale di un algoritmo.

Problemi trattabili ed intrattabili. Problemi in forma decisionale.

Classi P, NP e co-NP. Concetto di algoritmo non-deterministico.

Il teorema di Cook. La classe dei problemi NP-completi.

Esempi di problemi NP-completi e rispettivi modelli di PLI: knapsack, Steiner tree, …

Problemi NP-hard.

PROGRAMMAZIONE DINAMICA (PD) 

Esempio introduttivo.

Problemi di ottimizzazione a stadi. Contesto deterministico.

Fase backward e fase forward.

Principio di ottimalità.

Le equazioni di Bellman.

Estensione al contesto stocastico.

La “maledizione della dimensionalità”.

CENNI ALLA PROGRAMMAZIONE NON LINEARE (PNL)

PNL libera:

Esistenza e caratterizzazione dei minimi. Condizioni necessarie e sufficienti. Metodi del gradiente. Metodo di Newton-Raphson. Velocità di convergenza.

PNL vincolata:

Esistenza e caratterizzazione dei minimi. Condizioni necessarie e sufficienti. Moltiplicatori di Lagrange. Metodi con funzioni di penalità. Metodi barriera o a punto interno.

ESERCITAZIONI

  • Esercizi sugli argomenti del Corso.
  • Strumenti software per la Ricerca Operativa (Lingo, Matlab Optimization Toolbox, ecc.).

TESTI/BIBLIOGRAFIA

Dispense fornite dal Docente.

DOCENTI E COMMISSIONI

Commissione d'esame

MARCELLO SANGUINETI (Presidente)

FEDERICA BRIATA

MAURO GAGGERO

DANILO MACCIO'

LEZIONI

MODALITA' DIDATTICHE

Lezioni frontali ed esercitazioni.

INIZIO LEZIONI

18 settembre 2017

Orari delle lezioni

L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

ESAMI

MODALITA' D'ESAME

Scritto

Calendario appelli

Data Ora Luogo Tipologia Note
29/01/2018 10:00 GENOVA Scritto 21/12/2017 AULA E3 29/01/2018 AULA G3A 16/02/2018 AULA B5 28/05/2018 AULA G3A 03/07/2018 AULA E4 13/09/2018 AULA G3A
16/02/2018 14:00 GENOVA Scritto 21/12/2017 AULA E3 29/01/2018 AULA G3A 16/02/2018 AULA B5 28/05/2018 AULA G3A 03/07/2018 AULA E4 13/09/2018 AULA G3A
28/05/2018 10:00 GENOVA Scritto 21/12/2017 AULA E3 29/01/2018 AULA G3A 16/02/2018 AULA B5 28/05/2018 AULA G3A 03/07/2018 AULA E4 13/09/2018 AULA G3A
03/07/2018 10:00 GENOVA Scritto 21/12/2017 AULA E3 29/01/2018 AULA G3A 16/02/2018 AULA B5 28/05/2018 AULA G3A 03/07/2018 AULA E4 13/09/2018 AULA G3A
13/09/2018 10:00 GENOVA Scritto 21/12/2017 AULA E3 29/01/2018 AULA G3A 16/02/2018 AULA B5 28/05/2018 AULA G3A 03/07/2018 AULA E4 13/09/2018 AULA G3A