Introduzione alla Ricerca Operativa e al Corso

Operations Research
Docente:
Marcello Sanguineti
[email protected]
Via Opera Pia, 13 - Pad. E, IV piano
010 353 2071
320 433 0866
Operations Research
(& Management Science)

Metodi matematici rivolti alla soluzione di problemi
decisionali

Nata durante la II guerra mondiale (gestione di risorse
limitate, problemi militari di logistica, decriptazione codice
Enigma)

Si è sviluppata grazie alla disponibilità di strumenti
automatici di calcolo (computer)

Obiettivo: determinare la decisione ottima dato un problema
in presenza di risorse limitate

I
problemi
vengono
affrontati
definendone
rappresentazione quantitativa (modello matematico)
una

La soluzione dei problemi è cercata per mezzo di tecniche di
ottimizzazione

Applicazioni:
 Logistica e trasporti
 Economia
 Computer Science
 Telecomunicazioni
 Medicina e Biologia
 ...
Esempi di applicazioni:

Problemi logistici della produzione
 Pianificazione della produzione
 Controllo delle scorte
 Scheduling
 Trasporto
Esempi di applicazioni:

Problemi decisionali di tipo economico
 Allocazione di capitali
 Acquisto/Produzione di beni
Esempi di applicazioni:

Problemi di gestione operativa
 Definizione dei turni di lavoro
 Definizione delle rotte di mezzi di
trasporto
 Facility location
 Gestione ottima di risorse idriche
 Ottimizzazione di politiche di controllo
 Gestione ottima di aree di
carico/scarico
 Problemi in reti di comunicazione e
distribuzione
Esempi di applicazioni:

Problemi di computer science
 Computational complexity
 Ingegneria del software
 Worst-case execution times dei
programmi
 Boolean circuits
 Design di database relazionali
Formulazione dei problemi decisionali

Decisione: processo di selezione tra più alternative

Alternative finite o infinite

Alternative definite esplicitamente o implicitamente

Scelta sulla base di uno o più criteri (obiettivi)

Condizioni di certezza, incertezza o rischio
Problema
Formulazione
Modello
Matematico
- Identificare/formulare un modello matematico con cui
studiare in modo sistematico il problema decisionale
Modello Matematico
Obiettivi
Variabili decisionali
Vincoli
- Studiare le proprietà del modello
- Sfruttare tali proprietà per trovare una metodologia
risolutiva efficiente per problemi di grandi
dimensioni
- “Tradurre” tale metodologia in un algoritmo
Obiettivi del Corso
Far acquisire le competenze che consentano di:
interpretare e modellare un processo decisionale nei termini di
un problema di ottimizzazione, individuando cioè le variabili
decisionali, la funzione di costo (o la cifra di merito) da minimizzare
(o da massimizzare) e i vincoli;

inquadrare il problema nella gamma dei problemi considerati
“canonici” (lineari/non-lineari, discreti/continui, deterministici/
stocastici, ecc.);

identificare una metodologia risolutiva, tradurla in un algoritmo
(da scegliere tra quelli esistenti o da progettare) e realizzare il
"matching" fra quest’ultimo e un supporto software di
elaborazione.

An example of the OR approach to
decision problems
•
Suppose you decide to ride a bicycle around Ireland
– you will start in Dublin
– the goal is to visit Cork, Galway, Limerick, and Belfast before returning to Dublin
•
What is the best itinerary?
– how can you minimize the number of kilometers yet make sure you visit all the cities?
Optimal Tour
•
If there are only 5 cities it’s not too hard to figure out the optimal tour
– the shortest path is most likely a “loop”
– any path that crosses over itself will be longer than a path that travels in a big circle
Increasing the number of cities
•
As we add cities to our tour, however, it is much harder to figure out the
optimal tour
– a simple strategy of going to the
closest city does not always lead
to the shortest tour
– this example has 25 cities
– after visiting 4 cities, where would
–
you go next?
Exaustive search:
too many tours!!
•
One way to find the optimal tour is to consider all possible paths
•
BUT: there is a problem with the exhaustive search strategy
– the number of possible tours of a map with n cities is (n − 1)! / 2
– n! is the product n × (n − 1) × (n − 2) ... × 2 × 1
•
The number of tours grows incredibly quickly as we add cities to the
map!!
#cities
#tours
5
12
6
60
7
360
8
2,520
9
20,160
10
181,440
The number of tours for 25 cities:
310,224,200,866,619,719,680,000
Real-Life Applications
•
It’s not likely anyone would want to plan a bike trip to 25 cities…
•
…but the solution of several important real-world problems is the same
as finding a tour of a large number of cities
– transportation: school bus routes,
service calls, delivering meals, ...
– manufacturing: an industrial robot
that drills holes in printed circuit
boards
– VLSI (microchip) layout
– communication: planning new
telecommunication networks
– …
For many of these problems n
(the number of “cities”) can be
1,000 or more
The Traveling Salesman
•
The problem of finding an optimal path between n points is called the
Traveling Salesman Problem (TSP)
•
The TSP is a famous problem
– first posed by Irish mathematician
W. R. Hamilton in the 19th century
– intensely studied in
Operations Research and
other areas since 1930
This tour of 13,500 US cities was
generated by an advanced algorithm
that used several “tricks” to limit the
number of possible tours
Required 5 “CPU-years”
[1 CPU Year = amount of computing work done by a 1 GFLOP reference machine
in a year of dedicated service (8760 hours). As of 2010, the fastest six-core PC
processor reached 109 GFLOPs )
http://www.tsp.gatech.edu/
What can Operations Research do?
Goals of Operations Researchers
working on the TSP:
•
developing mathematical models for the TSP (e.g., Integer Linear
Programming models);
•
investigating their properties;
•
exploiting such properties to devise methodologies that explore
possible tours in the TSP much more efficiently than exhaustive
search;
•
“translating” such methodologies into algorithms that can be
implemented in computers.
La Ricerca Operativa
sul grande schermo
A Beautiful Mind
[Ron Howard, 2001]
Adattamento cinematografico
della biografia del
premio Nobel
John Forbes Nash jr.
[Russel Crowe]
 Teoria dei Giochi
Enigma
[Michael Apted, 2001]
Spy story, dall'omonimo
romanzo di Robert Harris
The Imitation Game
[Morten Tyldum , 2014]
Adattamento cinematografico
della biografia Alan Turing
[Benedict Cumberbatch]
Programma del Corso

INTRODUZIONE ALLA RICERCA OPERATIVA

PROGRAMMAZIONE LINEARE (PL)

DUALITÀ

PROGRAMMAZIONE LINEARE A NUMERI INTERI (PLI)

CENNI ALLA TEORIA DELLA COMPLESSITÀ

GRAFI E RETI

PROGRAMMAZIONE DINAMICA (PD)

CENNI ALLA PROGRAMMAZIONE NON LINEARE (PNL)

STRUMENTI SOFTWARE
ESERCITAZIONI SVOLTE IN MODO DISTRIBUITO DURANTE IL CORSO
INTRODUZIONE ALLA RICERCA OPERATIVA
Le origini della RO
Problemi reali e modelli matematici; limiti dei modelli
Obiettivi, variabili decisionali, vincoli
Dimensione dei problemi e inefficienza degli algoritmi
“brute force”: esempio numerico introduttivo
Classificazioni dei problemi di ottimizzazione
Il ruolo della RO nell’Informatica
PROGRAMMAZIONE LINEARE (PL)
Modelli di PL di importanza applicativa
Esempio grafico introduttivo
Algebra e geometria della PL
Algoritmo del simplesso: punto di vista algebrico e punto di
vista geometrico
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
Algoritmo di tipo branch-and-bound
Algoritmo basati su piani di taglio; tagli di Gomory
Algoritmi di tipo branch-and-cut
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
Il teorema di Cook
La classe dei problemi NP-completi
GRAFI E RETI
Grafi e loro rappresentazioni
Shortest Path (SP). Algoritmo di Dijkstra. Algoritmo di
Bellman-Ford
Shortest Spanning Tree (SST). Algoritmo di Kruskal.
Algoritmo di Primm-Dijkstra
Algoritmi greedy
Cenni al Travelling Salesman Problem (TSP)
Network flow problems: max flow e min cut
Cenni al Vehicle Routing
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 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.
Teorema di Kuhn-Tucker. Metodi con funzioni di
penalità. Metodi barriera o a punto interno.
STRUMENTI SOFTWARE
(EXCEL)
LINGO
CPLEX Optimization Studio
MATLAB Optimization Toolbox
ESERCITAZIONI
Svolte in modo distribuito durante il Corso