Servizi di trasporto merci: Problemi di routing di veicoli Daniele Vigo DEIS, Università di Bologna tel. 051/2093029 fax 2093073 email: [email protected]http://www.or.deis.unibo.it VRP-TO.2 D. Vigo Programma I. Introduzione alla Ricerca Operativa ed ai problemi di routing: • Componenti del problema • Esempi di applicazioni reali II. Vehicle routing problem • Modelli matematici e di teoria dei grafi • Algoritmi euristici
60
Embed
Bologna Servizi di trasporto merci: Problemi di routing di ... · Maggio 2001 6 Daniele Vigo - DEIS, Università di Bologna Servizi di trasporto merci D. Vigo VRP-TO.11 Modelli matematici
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Maggio 2001
1
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
Servizi di trasporto merci:Problemi di routing di veicoli
ProgrammaI. Introduzione alla Ricerca Operativa ed ai
problemi di routing: • Componenti del problema• Esempi di applicazioni reali
II. Vehicle routing problem• Modelli matematici e di teoria dei grafi• Algoritmi euristici
Maggio 2001
2
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.3D. Vigo
Aspetti economici• Trasporto merci 10% - 25% del costo totale dei
beni di consumo• Razionalizzazione delle infrastrutture per il
trasporto ed il trattamento delle merci• Informatizzazione + Tecnologia + Tecniche di
ottimizzazione:• Sistemi di supporto alle decisioni• Risparmi 5% - 20% costi totali di trasporto
VRP-TO.4D. Vigo
Tecniche di ottimizzazione• Sistemi per il supporto alle Decisioni:
• Pianificazione strategica (what if ?)• Pianificazione operativa (on-line)
• Integrazione nella realtà operativa industriale e commerciale
• Modelli ed algoritmi di ottimizzazione• tengono conto di tutte le caratteristiche dei problemi
reali• hanno tempi di calcolo compatibili con le esigenze
operative
Maggio 2001
3
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.5D. Vigo
Ricerca Operativa ?• applicazione di metodi scientifici
a problemi decisionali che si presentano in strutture organizzate complesse
Matematica Informatica
Ricerca Operativa (Operations Research)Scienza della Gestione (Management Sc.)
Scienza delle Decisioni (Decision Sc.)
VRP-TO.6D. Vigo
Sistemi Organizzati• insieme di elementi legati da forme di interazione
Es. Reparto di produzione
M1 M2
M3 M4
Elementi: macchine
Interazione: flussi di materiale
Maggio 2001
4
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.7D. Vigo
Problemi decisionali• Scelta, tra diverse alternative, della configurazione
relativa ad un insieme di decisioni che consente di ottenere dal sistema le prestazioni desiderate
Decisioni:• layout impianto• tipo di macchine• sequenza lavorazioni
Prestazioni: max produttività, min costo, …
M1 M2
M3 M4
VRP-TO.8D. Vigo
Problemi decisionali (2)• Livello Strategico (Pianificazione/Planning)
• Definizione e valutazione delle alternative• generalmente si opera in regime probabilistico• Es. layout impianto, scelta delle macchine, …
• Livello Operativo (Programmazione/Management)• Definizione della prassi operativa nell’ambito delle
scelte strategiche fatte• generalmente si opera in regime deterministico
Scelte strategiche
Scelte operative
Maggio 2001
5
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.9D. Vigo
Sistemi e Modelli• Modello:
rappresentazione semplificata di un sistema reale,progettata per rispondere, mediante analisi sperimentali, a domande specifiche (risposta agli ingressi/decisioni).
ModelloUscite
(Prestazioni)Ingressi
(Decisioni/Controlli)
VRP-TO.10D. Vigo
Classificazione• Modello Fisico:
riproduzione in scala (similitudine o analogia) • Modello Matematico:
insieme di relazioni logico/matematiche che descrivono il comportamento del sistema
• Statico: sistema in equilibrio• Dinamico: sistema in evoluzione (nel tempo)• Analitico: descritto mediante equazioni/diseq.• Numerico: descritto mediante algoritmi di calcolo
Maggio 2001
6
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.11D. Vigo
Modelli matematiciz = f (x1,x2, …)
• z valore delle “prestazioni” (v. dipendente)• x1,x2, …variabili decisionali (v. indipendenti)• spesso (x1,x2, …) devono assumere valori entro un
insieme specifico (regione ammissibile)• Es. 1 s = v t • Es. 2 z = max {f (x), x ∈ F}
VRP-TO.12D. Vigo
Modelli matematici (2)• Modelli Prescrittivi:
• forma di f (•) nota • valori delle x noti e controllabili dal decisore• normalmente usati a livello Operativo per la
determinazione dei valori di x che “massimizzano” z• Modelli Descrittivi:
• forma di f (•) nota • valori delle x non noti e/o non controllabili dal decisore• normalmente usati a livello Strategico per la
determinazione/stima dei valori di alcune x in funzione di altre
Maggio 2001
7
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.13D. Vigo
Modelli e realtà• Proprietà di un modello:
• astrazione (scalabilità, generalità)• sintesi (solo le caratteristiche rilevanti)
• Un modello può migliorare il grado di comprensione della realtà:
• individuazione delle componenti importanti• relazioni di causa effetto
⇒Può migliorare le decisioni
VRP-TO.14D. Vigo
Modelli e Ricerca Operativa (1)• Sistema “reale” di distribuzione merci
Magazzini ClientiFabbriche
Maggio 2001
8
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.15D. Vigo
Assunzioni ed ipotesiProblema tattico di determinazione dei flussi:• staticità (Es. problema “giornaliero”):
• domanda media• non si considerano i tempi di servizio
• costi di trasporto “lineari” = cij xij
• solo vincoli di capacità: • fabbriche (produzione massima nel periodo)• magazzini (massima q.tà di merce “trattabile”)
(bilanciamento dei flussi)x1a + x2a … = ya1 + y a2 …
F1
F2
Ma
Mb
Mc
C1
C2
C3
C4
C5
m1
m2
c1ac1b
ta1 d1
d2
d3
d4
d5
Maggio 2001
10
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.19D. Vigo
III. Verifica del modello• Calibrazione dei parametri del modello:
• si determinano i valori dei parametri caratteristici in modo che il modello fornisca risposte (valori misurati) aderenti alla realtà
• Esperimenti sul modello e confronto dei risultati con valori osservati nella realtà
• Eventuale revisione del modello
127 1000 127 ~1000Modello
VRP-TO.20D. Vigo
IV. Determinazione delle soluzioni• Mediante un “algoritmo” si generano soluzioni
alternative (Es. diversi n) e si sceglie la “migliore” (minor costo)
• Es. pochi valori di n da “tentare”: enumerazione
C
n1 2 3 4 5 6 7 8 9
sol. “ottima”
Maggio 2001
11
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.21D. Vigo
I sette ponti di Königsberg• Problema di Eulero (1707-1783)
Pregel
È possibile effettuare una passeggiata, ritornando al punto di partenza, dopo aver attraversato tutti i ponti una sola volta ?
VRP-TO.22D. Vigo
Modello del problema dei ponti• Rappresentazione astratta del problema:
nascita della Teoria dei Grafi• Grafo equivalente alla mappa:
Pregel B
A
C
D
Maggio 2001
12
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.23D. Vigo
Soluzione del problema
• Esiste un percorso chiuso che attraversa tutti gli archi del grafo una ed una sola volta ?(Circuito Euleriano)
B
A
C
D
Cond. necessaria e sufficiente(Eulero, 1736): Il circuito esiste se e solo se in ogni nodo ha un numero pari di lati incidenti
⇒ Il problema di Königsbergnon ha soluzione !!
VRP-TO.24D. Vigo
Problemi di trasporto merciServizio di un insieme di clienti da parte di veicoli, localizzati in uno o più depositi, che effettuano i loro spostamenti utilizzando un’opportuna rete stradale
• Archi : tratti stradali • orientati, non orientati: (i,j)∈A o e∈E• “costo” di transito (lunghezza, …): cij• tempo di transito: tij
• Interazione/integrazione con cartografia e GIS
Maggio 2001
14
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.27D. Vigo
Rete stradale (2)
scala regionale: grafo non orientato
VRP-TO.28D. Vigo
Rete stradale (3)
scala urbana: grafo orientato
Maggio 2001
15
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.29D. Vigo
Rete stradale (4)
Soluzioni ibride
VRP-TO.30D. Vigo
Rete Stradale (5)• Grafo sparso ⇒ completo
4,31 2 3 0
4 5 6
7 8 9
3,3
3,3
5,4
6,73,3
3,24,4
5,5
n = 9, cij tij
c0,8 = 9, t0,8 = 10
Maggio 2001
16
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.31D. Vigo
Rete Stradale (6)• Proprietà di triangolarità
k
i j
c c c i j kij ik k j≤ + ∀ , ,
8
3 6
VRP-TO.32D. Vigo
Clienti• vertice del grafo• domanda = quantità merce consegnata e/o raccolta• finestre temporali per il servizio
• (orari di apertura, orari di accesso a ZTL)• istante desiderato di servizio + penalità di violazione
• tempi di carico/scarico della merce• sottoinsieme di veicoli utilizzabili• Servizio da parte di più veicoli (split deliveries)
Maggio 2001
17
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.33D. Vigo
Veicoli• flotta di dimensione fissa o variabile • flotta aziendale o di terzi• deposito di appartenenza (ritorno?)• capacità di carico (peso, volume, …)
• suddivisione in scomparti• non idoneità per determinati tipi di merci
• impossibilità al transito in alcune strade• costi (per km, ora, viaggio, …)• metodologia di carico/scarico
VRP-TO.34D. Vigo
Autisti• dipendenti o “padroncini”• vincoli sindacali
• orario di lavoro• numero e durata pause• straordinario• …
• disponibilità nel periodo in esame
Maggio 2001
18
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.35D. Vigo
Depositi• uno o più depositi (vertici del grafo)• numero e tipo dei veicoli appartenenti ai depositi• pre-assegnazione di clienti ai depositi• in alcuni casi problema separabile:
un problema per ciascun deposito
VRP-TO.36D. Vigo
Vincoli operativiDipendono da:• natura del trasporto effettuato• qualità del servizio desiderato• contratto di lavoro degli autisti
Due tipi:• Vincoli relativi ad un viaggio (locali)• Vincoli sull’insieme dei viaggi (globali)
Maggio 2001
19
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.37D. Vigo
Vincoli operativi per i viaggi• capacità del veicolo• massima lunghezza/durata• possibilità di mix raccolta/distribuzione• rispetto delle finestre temporali• vincoli di precedenza tra clienti:
• servizio nello stesso viaggio (pickup/delivery)• ordine prefissato se nello stesso viaggio
(linehaul/backhaul)
VRP-TO.38D. Vigo
Vincoli globali• Numero massimo di viaggi
• per tipologia veicoli• per deposito
• Bilanciamento del carico di lavoro• Aggregazione dei viaggi in giornate lavorative
• massimizzazione della produttività• sosta minima tra un viaggio ed il successivo
Maggio 2001
20
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.39D. Vigo
Obiettivi
• Minimizzare: costo globale dei viaggi + costi fissi per veicoli ed autisti
• Minimizzare numero veicoli e/o autisti• Bilanciare viaggi• Minimizzare penalità associate al mancato o
parziale servizio di clienti
obiettivi in contrasto tra loro
costo viaggio = somma costi degli archi
VRP-TO.40D. Vigo
Altre caratteristiche• servizio su più giorni• più viaggi nello stesso giorno per i veicoli• più richieste per ciascun cliente• conoscenza a priori della domanda parziale o nulla
(problemi stocastici, dinamici, on-line)• dipendenza dal tempo del costo degli archi o
presenza di perturbazioni stocastiche
Maggio 2001
21
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.41D. Vigo
Problema del Commesso Viaggiatore (TSP)
• caso particolare: • 1 deposito• 1 veicolo di capacità illimitata• minimizzare il costo per servire tutti i clienti
Circuito a costo minimo
passante per tutti i vertici
Circuito Hamiltoniano
VRP-TO.42D. Vigo
Applicazioni del TSP• percorsi di rappresentanti, manutentori …• sequenza di perforazione di un circuito stampato
• plotting di disegni (minimizzare il percorso a vuoto della penna)
• Sequenziamento di decolli ed atterraggi
Maggio 2001
22
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.43D. Vigo
TSP• Soluzione ≡ permutazione di {1, …, n}• se G completo ⇒ (n-1)! soluzioni
• 2 casi per la matrice dei costi:
TSP o STSP :simmetrica ⇒∀= jicc jiij ,
ATSP :aasimmetric ⇒∀
≠=
jicc jiij ,
VRP-TO.44D. Vigo
TSP simmetricoGrafo non orientato G(V,E):
V={1,…,n} vertici |V|=nE={e1,…,em} lati (edges) |E|=mce ≥ 0 costo lato e
SS δ (S) = ins. Lati incidenti in S
σ (S) = ins. Lati interni ad S
eα(e) β(e)
Maggio 2001
23
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.45D. Vigo
Circuito Hamiltoniano• Cammino elementare chiuso che visita tutti i
vertici del grafo• ogni vertice deve avere grado 2• ogni vertice deve essere raggiunto • ogni “taglio” deve essere attraversato almeno 2 volte
S
VRP-TO.46D. Vigo
Modello matematico a 2 indici
=
∈
altrimenti0soluzionein lato se1
: lato ogniper e
x
Ee
e
eα(e) β(e)
Maggio 2001
24
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.47D. Vigo
Funzione obiettivo• Minimizzare il costo degli archi scelti
∑∈
=Ee
ee xcz min
VRP-TO.48D. Vigo
i
Vincoli di grado• Ogni vertice deve avere due archi incidenti
( )Vix
iee ∈∀=∑
∈
2δ
δ(i)
Maggio 2001
25
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.49D. Vigo
Soluzione non ammissibile
Subtour isolato
VRP-TO.50D. Vigo
Vincoli di connessione 1
( )2,2 ≥⊂∀≥∑
∈
SVSxSe
e δ
Vincoli di taglio (CUT):Ogni taglio deve essere attraversato almeno 2 volte
S
Maggio 2001
26
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.51D. Vigo
Vincoli di connessione 2• Vincoli di Subtour elimination:
il numero di archi interni ad un sottoinsieme S selezionati deve essere minore di |S|
( )2,1 ≥⊂∀−≤∑
∈
SVSSxSe
e σ
S
VRP-TO.52D. Vigo
Vehicle Routing Problem (VRP)• Ciascun viaggio è eseguito da un veicolo che:
• parte da un deposito • serve alcuni clienti• ritorna al deposito di partenza
Circuito passante per il deposito
Maggio 2001
27
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.53D. Vigo
Vehicle Routing Problem (VRP)• Determinare un insieme di viaggi in modo da:
• servire (se possibile) tutti i clienti• rispettare i vincoli operativi per ogni viaggio• minimizzare un’assegnata funzione costo
• raccolta di prodotti:latte, vuoti (bottiglie, bombole), posta …
• consegna/raccolta di prodotti:corrieri espressi, consegne ai supermercati e raccolta dai fornitori
Maggio 2001
28
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.55D. Vigo
Applicazioni del VRP (2)• raccolta di rifiuti solidi urbani• pulizia delle strade (spazzaneve, potatura alberi, …)• trasporto persone / portatori di handicap• minibus “a richiesta”• autobus per servizi scolastici• viaggi di rappresentanti, controllori, postini,
manutentori ...
risparmio medio sui costi: 5%-20%
VRP-TO.56D. Vigo
Consegna prodotti a negozi• distribuzione giornaliera salumi a livello regionale• 5 veicoli, circa 400 negozi• 2-3 viaggi al giorno per ciascun veicolo• 30-40 consegne per viaggio• finestre temporali: {8-12, 15-17}, {8-12},
Soluzione manuale: 1138 km, 14 viaggiSoluzione ottimizzata: 943 km (-17%), 12 viaggi
Maggio 2001
29
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.57D. Vigo
Grande distribuzione• Distribuzione di prodotti a punti vendita su scala
Salumi e Latticini)• 300 punti-vendita (fino a 6 visite settimanali)• molti carichi completi (GV)• finestre temporali (30’– 4ore) • tempi di carico-scarico diversificati sui clienti• flotta eterogenea (fino a 6 tipi di veicoli)• viaggi di tipo “network”: DepA → DepB → DepA
VRP-TO.58D. Vigo
Risultati (1)• Generi vari : giornata “tipo”
44 pdv, 613 pallets (1-5 pdv per viaggio)
89-96%66-94%Utilizzo veicolo (carico/capacità)
119h124hTempo totale
3537n. Viaggi
Route+Attuale
Maggio 2001
30
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.59D. Vigo
Risultati (2)• Ortofrutta : giornata “tipo”
48 pdv, 298 pallets (2-8 pdv per viaggio)
91-94%66-86%Utilizzo veicolo (carico/capacità)
83h92hTempo totale
1621n. Viaggi
Route+Attuale
VRP-TO.60D. Vigo
Raccolta di rifiuti solidi urbani• punti di raccolta (cassonetti/campane)
sensi unici e cassonetti sui due lati: grafo orientatoMolti cassonetti: domanda associata agli archi
Maggio 2001
31
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.61D. Vigo
Raccolta di rifiuti solidi urbani
• Frequenza di svuotamento variabile (1-6 v/sett.) • 1-2 viaggi giornalieri per ogni veicolo • 30-50 punti di raccolta per viaggio• finestre temporali per alcune zone (ZTL, mercato…)• riconfigurazione postazioni/frequenze• Es. 1: Valle del Senio (BO) extraurb. (~2000 cass/s):
• 1 viaggio in meno, durata/percorrenza –19%, svuot –30%• Es. 2: Forli’ 2 zone urbane (~1500 cass/s):
• 2 viaggi in meno, durata/percorrenza –12%, svuot –24%
VRP-TO.62D. Vigo
Analisi conferimenti• Gestione delle rilevazioni periodiche dei
conferimenti in peso e/o volume• Sensori di peso sui veicoli• Software di raccolta dati su palmari• Tracking dei viaggi e dei tempi di servizio
Maggio 2001
32
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.63D. Vigo
Analisi conferimenti (2)
Riempimento osservato
VRP-TO.64D. Vigo
Analisi conferimenti (3)
Dai dati storici sui conferimenti si ricavano le leggi di conferimento nel tempo
Stima
valoriosservati
Maggio 2001
33
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.65D. Vigo
Ottimizzazione dell’offerta• Nota la domanda:
• Definizione delle frequenze di servizio ottimali per i punti di conferimento
• Definizione delle capacità ottimali delle postazioni (n. e tipo contenitori) assegnata la frequenza di servizio
• Allo scopo di:• Potenziamento dell’offerta (stagionalità)• Minimizzazione dei costi di servizio (n. di svuotamenti)• Ottimizzazione del parco contenitori (acquisto,
ricollocazione, gestione)
VRP-TO.66D. Vigo
Sistema di gestione
Maggio 2001
34
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.67D. Vigo
Ottimizzazione offerta
Tipi di contenitoriutilizzabili e loro caratteristiche
2. Riconfigurazione punti conferimento275 cassonetti (- 11%)
3. Ottimizzazione frequenze di servizio:1100 svuotamenti (- 28.6 %)
Maggio 2001
36
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.71D. Vigo
Pianificazione dei viaggi• Modello flessibile in grado di incorporare le più
diverse condizioni operative:• Flotte di veicoli eterogenei• Depositi e discariche multiple• Capacità dei veicoli (peso e/o volume)• Finestre temporali per il servizio (orari di accesso, zone
a traffico limitato, mercati …)• Durata e bilanciamento dei viaggi
VRP-TO.72D. Vigo
Pianificazione dei viaggi (2)• Profili di servizio diversificati:
• es. 2 v./sett. lun–gio (3gg+4gg) o lun–ven (4gg+3gg)
• Viaggi aggregati per comune o zona• Compatibilità tra veicoli e punti o strade• Velocità dipendente dal tipo di veicolo e strada• Orizzonte di pianificazione di uno o più giorni • Incertezza sulla domanda, sui tempi di viaggio …
Maggio 2001
37
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.73D. Vigo
Trasporto urbano PRCM• Persone a ridotta capacità motoria:
• Carrozzella, accompagnatore, …
• Pickup e Delivery, Ist. des. di serv. + penalità…• Flotta eterogenea: auto, taxi, pulmini, …• Compatibilità con i veicoli e max tempo a bordoEsempio: Bologna 1994, (~ 1500 trip/sett)
• Veicoli usati (–57%, taxi da 108 a 42)• Percorrenza –11%• Qualità del servizio molto migliore
VRP-TO.74D. Vigo
VRP con vincoli di capacità• n clienti (vertici 1, …, n)• 1 deposito (vertice 0), V= {0,1,…,n}• solo consegne di un unico tipo d i ni = 1, ,K
D S d S Vii S
( ) = ∀ ⊆∈∑
domanda completamente soddisfatta K veicoli identici (capacità C )1 solo viaggio per veicolosolo vincoli di capacità
d0 0=
Maggio 2001
38
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.75D. Vigo
VRP con vincoli di capacità (2)• Kmin = numero minimo di veicoli
per servire tutti i clienti
minmin /)( KKCVDK ≥⇒≥v(S) = numero minimo di veicoli per
servire tutti i clienti in S
})0{\(min VvK =Grafo completo orientato (ACVRP) o non orientato (CVRP)
c i j A c i Vij ii≥ ∀ ∈ = +∞ ∀ ∈0 ( , ) ,minimizzazione del costo totale dei viaggi
VRP-TO.76D. Vigo
Problema ACVRP
• determinare K circuiti semplici (viaggi) di costo totale minimo tali che:• ogni circuito passa per il vertice 0 (deposito)• ogni cliente è visitato da un solo circuito• la somma delle domande dei vertici visitati da un circuito
non supera C• ACVRP e CVRP sono NP-hard
(la determinazione della soluzione ottima richiede nel caso peggiore tempi di calcolo esponenziali in n)
• TSP caso particolare: C > D(V), K = Kmin = 1
Maggio 2001
39
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.77D. Vigo
Modello matematico a 2 indici
=
∈
altrimenti0soluzionein ),( arco se1
:),( arco ogniper ji
x
Aji
ij
( ) SSvVS
servireper veicolidi n.minimo: dato
=⊆
i j
VRP-TO.78D. Vigo
Funzione obiettivo
z c xij ijj Vi V
=∈∈∑∑min
Maggio 2001
40
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.79D. Vigo
Vincoli di grado per i clienti
{ }0\ 1 VjxVi
ij ∈∀=∑∈
jj
ii{ }0\ 1 VixVj
ij ∈∀=∑∈
VRP-TO.80D. Vigo
Vincoli di grado per il deposito
x Kii V
0∈∑ =
x Kjj V
0∈∑ =
00
00
2=K
Maggio 2001
41
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.81D. Vigo
Soluzione non ammissibile (1)
53
2
3
622
3
2
K = 3, C = 10
Subtour isolato dal deposito
S
VRP-TO.82D. Vigo
5
3
2
3
622
3
2
Soluzione non ammissibile (2)
K = 3, C = 10
Route sovraccarica
Maggio 2001
42
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.83D. Vigo
Connessione e capacità
( )
{ }
x v S
S V S
ijj Si S ∈∉∑∑ ≥
∀ ⊆ ≠ ∅ \ ,0
S v S: ( ) = 2
Capacity-cut constraints
VRP-TO.84D. Vigo
5
3
2
3
622
3
2
K = 3, C = 10
Soluzione non ammissibile (3)
Maggio 2001
43
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.85D. Vigo
{ }0\ 1 VjxxVi
jiVi
ij ∈∀== ∑∑∈∈
x x Kii V
ii V
0 0∈ ∈∑ ∑= =
( ) { }x v S V Sijj Si S ∈∉∑∑ ≥ ∀ ⊆ ≠ ∅ S \ ,0
{ }x i , j Vi j ∈ ∀ ∈0 1,
Modello ACVRP
z c xij ijj Vi V
=∈∈∑∑min
VRP-TO.86D. Vigo
Algoritmi esatti per il VRP• algoritmi “Branch & Bound”• algoritmi “Branch & Cut”
• in grado di risolvere problemi con:• vincoli di capacità e/o durata massima• n < 50 (alcuni problemi n = 100)
• per problemi con vincoli e dimensioni reali si usano Algoritmi euristici
Maggio 2001
44
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.87D. Vigo
Algoritmi euristici per il VRP• tutti i vincoli operativi dei problemi reali• soluzioni ammissibili di buona qualità
(2%-3% dall’ottimo)• tempi di calcolo limitati (pochi minuti su PC)• vengono presentati gli algoritmi euristici
nel caso di grafi non orientati• algoritmi costruttivi e di ricerca locale
VRP-TO.88D. Vigo
Algoritmi costruttivi per il VRP• vengono costruiti uno o più viaggi inserendo ad
ogni iterazione un cliente in uno dei viaggi in costruzione
• inizializzazione dei viaggi• criteri di espansione dei viaggi:
• quale cliente inserire ?• dove (viaggio, posizione) inserirlo ?
• Modalità di costruzione dei viaggi:• sequenziali (un viaggio alla volta)• paralleli (più viaggi alla volta)
Maggio 2001
45
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.89D. Vigo
Inizializzazione dei viaggi
• scelta del pivot:• lontano dal deposito• elevato “grado di difficoltà”
• grado di difficoltà d(i) del cliente i:• domanda elevata• finestre temporali strette• pochi veicoli utilizzabili• priorità elevata• pochi clienti vicini non ancora serviti
p
ciascun viaggio inizializzato con un solo cliente (pivot) p: (deposito, p, deposito)
VRP-TO.90D. Vigo
Criteri di espansione dei viaggi• scelta del cliente i (non ancora servito) che deve
essere inserito nell’iterazione attuale in uno dei viaggi in costruzione:
• scelta del viaggio• vincoli statici: capacità, utilizzabilità, …
• scelta della posizione nel viaggio• vincoli dinamici: finestre temporali, durata massima,
precedenze, …
• criterio del saving (risparmio)• criterio dell’extramileage (aumento percorrenza)
Maggio 2001
46
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.91D. Vigo
Criteri di espansionetra dep e 2
5
3
2
3
622
3
2
K = 3, C= 10
1
2
3
4
5
9
67
8
tra 3 e deptra 2 e 3
VRP-TO.92D. Vigo
Criterio del “saving”• saving dei clienti i e j (max):
risparmio ottenibile servendoli nello stesso viaggio e non in due viaggi separati
ijji cccjis −+= 00),(
i
j
i
j(s(i,j) = – ∞ se (i,j) non ammissibile)
Maggio 2001
47
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.93D. Vigo
Criterio dell’ “extramileage”• extramileage di h rispetto ad i e j (min):
aumento del costo del viaggio coonseguenteall’inserzione di h tra i e j
ijhjih cccjhim −+=),,(
(m(i,h,j)= +∞ se non ammissibile)
i
j
hi
j
h
VRP-TO.94D. Vigo
Costruzione dei viaggiMetodi sequenziali• si costruisce un viaggio alla volta• ad ogni iterazione si sceglie il “miglior cliente”
non servito e lo si inserisce nella “miglior posizione” all’interno del viaggio
• si termina il viaggio attuale quando non si possono inserire altri clienti
• non si può valutare se è meglio inserire un cliente nel viaggio attuale o aspettare per inserirlo in uno dei viaggi successivi
Maggio 2001
48
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.95D. Vigo
Metodo sequenziale (extramileage)viaggio 1
5
3
2
3
622
3
2
K = 3, C= 10
1
2
3
4
5
9
67
8
cliente 9cliente 3
pivot 1
VRP-TO.96D. Vigo
Metodo sequenziale (extramileage)viaggio 2
cliente 6pivot 8
5
3
2
3
622
3
2
K = 3, C= 10
1
2
3
4
5
9
67
8
cliente 7cliente 2
Maggio 2001
49
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.97D. Vigo
Metodo sequenziale (extramileage)viaggio 3
cliente 5pivot 4
5
3
2
3
622
3
2
K = 3, C= 10
1
2
3
4
5
9
67
8
VRP-TO.98D. Vigo
Metodo sequenziale (pivot diversi)viaggio 1pivot 2
5
3
2
3
622
3
2
K = 3, C= 10
1
2
3
4
5
9
67
8
viaggio 2pivot 8viaggio 3pivot 5
Maggio 2001
50
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.99D. Vigo
Costruzione dei viaggiMetodi paralleli• si costruiscono m viaggi alla volta• i viaggi vengono costruiti simultaneamente,
scegliendo ad ogni iterazione il “miglior cliente” non servito ed inserendolo nella “miglior posizione” del “migliore viaggio” tra gli m attuali
• quando gli m viaggi attuali sono terminati, si itera il procedimento considerando m nuovi viaggi
Costruzione dei viaggi• i metodi paralleli richiedono tempi di esecuzione
maggiori di quelli corrispondenti ai metodi sequenziali
• i metodi paralleli ottengono in generale soluzioni migliori di quelle ottenibili con i metodi sequenziali
• nei metodi sequenziali gli ultimi viaggi raccolgono in generale clienti lontani tra loro
VRP-TO.104D. Vigo
Algoritmi Cluster-first-route-second• si suddividono i clienti in sottoinsiemi
ammissibili:uno per ogni viaggio
• per ciascun sottoinsieme si determina l’itinerario (circuito a costo minimo passante per il deposito e i clienti)
Maggio 2001
53
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.105D. Vigo
Cluster-first-route-second (1)
55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
VRP-TO.106D. Vigo
55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
Cluster-first-route-second (2)
Maggio 2001
54
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.107D. Vigo
Algoritmi Route-first-cluster-second• si determina un circuito a costo minimo
complessivo per tutti i clienti• si suddivide il circuito in pezzi ammissibili
(viaggi)
VRP-TO.108D. Vigo
55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
vertice iniziale 1vertice iniziale 1
Route-first-cluster-second (1)
Maggio 2001
55
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.109D. Vigo
55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
vertice iniziale 2vertice iniziale 2
Route-first-cluster-second (2)
VRP-TO.110D. Vigo
Algoritmo di Clarke-Wright1. calcola il saving s(i,j) per ogni coppia (i,j)2. ordina le coppie (i,j) per s(i,j) decrescenti3. ogni cliente servito da solo in un viaggio4. considera la prossima coppia (i,j)5. se i e j sono estremi di viaggi parziali e se i
due viaggi possono essere uniti: inserisci l’arco (i,j) in soluzione
6. se esistono coppie non esaminate ripeti 47. completa i viaggi collegandoli con il deposito
Maggio 2001
56
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.111D. Vigo
55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
ijji cccjis −+= 00),((7,8) NO(1,2) NO(3,4) NO(5,6) NO
Algoritmo di Clarke-Wright
VRP-TO.112D. Vigo
Algoritmi di ricerca locale
• esplorazione di un intorno di una soluzione S:insieme di soluzioni ottenibili da S mediante le seguenti “mosse”1. spostamento di un cliente2. scambio tra due clienti3. scambio tra due coppie di archi• nello stesso viaggio, in viaggi diversi
• si esegue la mossa che minimizza il costo• se non si ottengono miglioramenti STOP
Maggio 2001
57
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.113D. Vigo
Spostamento di un cliente
55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
cliente 6
VRP-TO.114D. Vigo
Spostamento di un cliente
55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
cliente 6
Maggio 2001
58
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.115D. Vigo
Scambio tra due clienti
55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
clienti 7 e 2
VRP-TO.116D. Vigo
Scambio tra due clienti
55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
clienti 7 e 2
Maggio 2001
59
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.117D. Vigo
Scambio tra due coppie di archi
archi (6,8), (7,9)55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
VRP-TO.118D. Vigo
Scambio tra due coppie di archi
archi (6,8), (7,9)55
33
22
33
662222
33
22
K = 3, C= 10
11
22
33
44
55
99
6677
88
Maggio 2001
60
Daniele Vigo - DEIS, Università di Bologna
Servizi di trasporto merci
VRP-TO.119D. Vigo
Algoritmi “Tabu Search”• si esegue la mossa migliore che cambia la
soluzione attuale S, anche se la nuova soluzione S’ ha un costo globale maggiore
• per evitare di “ripassare” per le stesse soluzioni si memorizza una lista delle ultime m soluzioni esplorate che quindi risultano “tabu” (le mosse che portano alle soluzioni tabu vengono proibite)