Manuel Iori
Dipartimento di Scienze e Metodi dell’Ingegneria (DISMI)
Università degli studi di Modena e Reggio Emilia
Via Amendola 2, Pad. Buccola, 42122 Reggio Emilia
web: www.or.unimore.it/iori/iori.htm
email: [email protected]
tel: 0522 522 653
1. Introduzione
1
Struttura del Corso
Durata
– 81 ore totali (9 crediti), divise in:
38 ore di lezione
10 ore di seminari e casi di studio
33 ore di laboratorio informatico
Modalità d’esame
– Tesina:
Progetto informatico da sviluppare in gruppo utilizzando il software Xpress
Assegnata ad ogni gruppo durante il corso, con una precisa data
di consegna
Indispensabile per poter passare al successivo esame orale
– Esame orale:
domande su tutto il programma trattato nelle ore di lezione
Materiale didattico
– Tutte le slides e gli esercizi svolti sono disponibili su:
www.or.unimore.it/corsi/MOLP/MOLP.htm
– Tutte le informazioni sulle tesine e sugli esami orali su:
www.or.unimore.it/corsi/MOLP/MOLP-Esami.htm
Propedeuticità (consigliate)
– Ricerca Operativa
– Modelli e Metodi per il Supporto alle Decisioni I
Metodi di Ottimizzazione per la Logistica e la Produzione
1. Introduzione
2
Alcuni testi consigliati
– R. Baldacci, M. Dell’Amico, Fondamenti di Ricerca Operativa,
Pitagora
– S. Martello, Ricerca Operativa per la Laurea Magistrale, Progetto Leonardo
– A. Colorni, M. Bruglieri, Ricerca Operativa, Edizioni Zanichelli
– M. Fischetti, Lezioni di Ricerca Operativa, Edizioni Libreria Progetto, Padova
– P. Serafini, Ottimizzazione, Zanichelli
– P. Toth, D. Vigo, The Vehicle Routing Problem, SIAM
– D. Bertsimas, J.N. Tsitsiklis, Introduction to Linear Optimization, Athena Scientific
– F. Glover, G.A. Kochenberger, Handbook of Metaheuristics,
Kluwer
Metodi di Ottimizzazione per la Logistica e la Produzione
1. Introduzione
3
Programma
Introduzione
1. Introduzione alle tematiche del corso
(a) Problemi affrontati
(b) Tecniche risolutive proposte
2. Introduzione all’uso del software Xpress
(a)
(b)
(c)
(d)
La programmazione in Xpress
Utilizzo di Xpress per la Programmazione Lineare
Utilizzo di Xpress per la Programmazione Lineare Intera
Soluzione di alcuni esercizi di base
3. Cenni sulla teoria della complessità
(a) La complessità degli algoritmi
(b) La complessità dei problemi di ottimizzazione
Modelli Matematici ed Algoritmi Euristici
4. Modelli matematici ed algoritmi euristici per alcuni problemi di ottimizzazione
(a) Introduzione
(b) Classificazione degli algoritmi di tipo euristico
(c) Presentazione di alcuni problemi di base, sviluppo di modelli e
di semplici algoritmi euristici per la loro soluzione:
Problema del Knapsack
Problema del Bin Packing
Problema del Parallel Processor Scheduling
Problema del Traveling Salesman
Problema del Set Covering
(d) Laboratorio: implementazione in Xpress degli algoritmi trattati
Metodi di Ottimizzazione per la Logistica e la Produzione
1. Introduzione
4
Algoritmi Metaeuristici
5. Algoritmi di ricerca locale e metaeuristici
(a) Classificazione
(b) Algoritmi di ricerca locale
(c) Algoritmo Multi Start
(d) Applicazione al problema dell’Equicut
(e) Algoritmi a soglia
(f) Simulated Annealing
(g) Algoritmi Genetici
(h) Tabu Search
(i) Ant Colony Optimization
Metodi di Ottimizzazione per la Logistica e la Distribuzione
6. I problemi di trasporto e distribuzione
(a) Breve introduzione
(b) Vincoli e complicazioni
(c) Vehicle Routing Problem (VRP) ed estensioni
7. Algoritmi esatti per il VRP
(a) Formulazione 2-indici
(b) Formulazione di tipo Set Partitioning
(c) Formulazione 2-commodity
(d) Metodi esatti di tipo branch-and-cut
(e) Casi di studio su recenti applicazioni industriali
Metodi di Ottimizzazione per la Logistica e la Produzione
1. Introduzione
5
8. Algoritmi euristici per il VRP
(a) Euristici costruttivi
(b) Ricerca locale
(c) Esempi di algoritmi sviluppati in letteratura
(d) Tabu Search per il VRP
(e) Casi di studio su recenti applicazioni industriali
9. Localizzazione di Servizi
(a) Problemi di localizzazione di facilities
(b) Algoritmi euristici
(c) Modelli matematici
(d) Casi di studio su recenti applicazioni industriali
Metodi di Ottimizzazione per la Produzione e la Schedulazione
10. La pianificazione della produzione
(a) Breve introduzione alla pianificazione della produzione
(b) Le linee di produzione
i. Il dimensionamento della linea
ii. Gestione delle precedenze di lavorazione
iii. Il bilanciamento della linea
(c) Modelli aggregati
i. Il bilanciamento dei flussi
ii. Modellazione della capacità produttiva
iii. Lot sizing
(d) Il problema della disaggregazione
(e) Casi di studio su recenti applicazioni industriali
Metodi di Ottimizzazione per la Logistica e la Produzione
1. Introduzione
6
11. Schedulazione
(a) Gli elementi della schedulazione
(b) Problemi a macchina singola
(c) Problemi a macchine parallele
(d) Shop problem
(e) Funzioni obiettivo
(f) La classificazione dei problemi di schedulazione
(g) Dispatching rules
(h) Esempi di algoritmi esatti polinomiali
(i) Job Shop
(j) Casi di studio su recenti applicazioni industriali
Metodi di Ottimizzazione per la Logistica e la Produzione
1. Introduzione
7
Introduzione
Molti problemi reali possono essere formulati come problemi di ottimizzazione nel modo seguente:
Minimize
subject to
f (x)
x∈X
dove f è definita funzione obiettivo ed X ⊆ Rn è l’insieme dei
vincoli.
Ogni x ∈ X è definita soluzione ammissibile di costo f (x).
Se esiste una soluzione x∗ ∈ X tale che:
f (x∗) ≤ f (x),
∀x ∈ X
allora x∗ è chiamata soluzione ottima (o minimo globale).
Per f (x) ed X qualsiasi (Programmazione Matematica), non esiste
un algoritmo esatto omnicomprensivo.
Esistono alcuni casi particolari in cui è possibile determinare la soluzione ottima:
– Programmazione Convessa;
– Programmazione Lineare;
– Programmazione Lineare Intera.
Metodi di Ottimizzazione per la Logistica e la Produzione
1. Introduzione
8
Se f (x) e i vincoli definenti X sono lineari e x ∈ Rn siamo nell’ambito della Programmazione Lineare:
Minimize
subject to
c′ x
Ax = b
Senza perdita di generalità ci si riconduce usualmente a variabili non
negative:
Minimize
subject to
c′ x
Ax = b
x≥0
Esitono algoritmi ottimi per la risoluzione di problemi di programmazione lineare:
– Eesempio: algoritmo del simplesso.
Se inoltre x può assumere solo valori interi, siamo nell’ambito della
Programmazione Lineare Intera:
Minimize
subject to
c′ x
Ax = b
x ≥ 0, intero
La programmazione lineare intera è definita NP-difficile
– non si conoscono algoritmi esatti polinomiali.
I tempi di esecuzione possono essere molto elevati.
Metodi di Ottimizzazione per la Logistica e la Produzione
1. Introduzione
9
Un grandissimo numero di problemi industriali e gestionali (decisionali) può essere formulato come programmazione lineare intera.
Esempio: Vehicle Routing Problem (VRP):
– Dato un deposito di partenza, una flotta di veicoli, una rete
stradale e un insieme di clienti richiedenti una data quantità di
merce, determinare gli instradamenti dei veicoli per soddisfare
le richieste dei clienti con la minima spesa.
Algoritmo più performante per il VRP:
– Soluzione ottima fino a 100 clienti;
– Tempi di risoluzione di qualche giorno su un PC standard.
In generale, l’obiettivo è quello di determinare una soluzione ottima
con metodi esatti.
Ad esempio si costruisce il modello matematico del problema e lo si
risolve tramite software.
Spesso le istanze di interesse pratico hanno dimensioni tali da rendere proibitivo l’utilizzo di algoritmi esatti.
In tali casi ci si accontenta di una buona soluzione fra le soluzioni
ammissibili.
Si utilizzano gli algoritmi euristici, che permettono di trovare in
tempi brevi soluzioni ammissibili di buona qualità.
Metodi di Ottimizzazione per la Logistica e la Produzione
1. Introduzione
10
Gli algoritmi euristici possono essere classificati come segue:
– Algoritmi costruttivi;
– Di ricerca locale;
– Metaeuristiche.
Sono efficaci non solo per problemi di programmazione lineare intera, ma anche di ottimizzazione generale.
Differenti compromessi tra qualità della soluzione e tempo di calcolo.
Per valutare la soluzione euristica ottenuta si usa una stima (lower
bound per problemi di minimo):
– Limite inferiore al valore raggiungibile dalla soluzione ottima;
– Esempi: rilassamento continuo, rilassamento lagrangiano.
Se il valore della soluzione euristica è uguale al lower bound, allora
è anche ottimo. Altrimenti ho una stima dell’approssimazione.
Esempio, metaeuristici per VRP:
– Pochi minuti di esecuzione su un PC;
– Generalmente entro un 5% dal lower bound (e spesso entro un
1% dal valore ottimo, se conosciuto).
Obiettivo del corso: fornire una conoscenza di base di tecniche di
ottimizzazione euristiche, lower bound ed esatte per problemi industriali, con particolare riferimento alla logistica dei trasporti, alla
localizzazione di depositi, alla produzione e alla schedulazione.
Metodi di Ottimizzazione per la Logistica e la Produzione