Slides Problemi di Trasporto - Dipartimento di Informatica

Introduzione
TSP asimmetrico
VRP
Il problema del commesso viaggiatore
e problemi di vehicle routing
Laura Galli
Dipartimento di Informatica
Largo B. Pontecorvo 3, 56127 Pisa
[email protected]
http://www.di.unipi.it/~galli
2 Dicembre 2014
Ricerca Operativa 2
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
A.A. 2014/15
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
1 / 33
Introduzione
TSP asimmetrico
VRP
Problema del commesso viaggiatore (TSP)
Problema
Grafo (N, A) completo; cij = costi sugli archi.
Trovare un ciclo di costo minimo che passi su tutti i nodi una ed una sola volta
(ciclo hamiltoniano).
Teorema
Questo problema `e NP-hard.
Quante sono le soluzioni ammissibili?
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
2 / 33
Introduzione
TSP asimmetrico
VRP
Problema del commesso viaggiatore (TSP)
Applicazioni
• trasporti, logistica: (N ′ , A′ ) rete stradale. S ⊆ N ′ , cerco ciclo di costo
minimo che passi su tutti i nodi di S. Il problema `e un TSP sul grafo (N, A),
dove N = S, A = S × S, cij = costo cammino minimo da i a j sul grafo
(N ′ , A′ ).
• scheduling (problema 1|sjk |Cmax )
• produzione di circuiti integrati
• data analysis
• sequenze DNA
• . . . (vedi http://www.tsp.gatech.edu/)
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
3 / 33
Introduzione
TSP asimmetrico
VRP
Perch´
e ciclo hamiltoniano?
William Rowan Hamilton (1805-1865): in un dodecaedro regolare `e possibile
partire da un vertice e, passando sugli spigoli, toccare tutti i vertici una ed una
sola volta e tornare al vertice di partenza?
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
4 / 33
Introduzione
TSP asimmetrico
VRP
Perch´
e ciclo hamiltoniano?
Icosian game: in un dodecaedro regolare `e possibile partire da un vertice e,
passando sugli spigoli, toccare tutti i vertici una ed una sola volta e tornare al
vertice di partenza?
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
5 / 33
Introduzione
TSP asimmetrico
VRP
TSP simmetrico e asimmetrico
Se la matrice dei costi `e simmetrica, cio`e cij = cji per ogni arco (i, j), il problema
`e detto simmetrico; altrimenti `e detto asimmetrico.
TSP simmetrico
TSP asimmetrico
2
1
2
6
7
1
2
2
3
5
6
5
8
4
4
5
4
7
6
7
3
4
3
6
8
4
Prima tratteremo il problema asimmetrico (pi`
u generale) e poi quello simmetrico
(caso particolare).
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
6 / 33
Introduzione
TSP asimmetrico
VRP
Modello 1
Variabili: xij =
(
1 se arco (i, j) ∈ ciclo hamiltoniano,
0 altrimenti.
min
X
cij xij
(i ,j)∈A
X
xij = 1
∀j ∈N
(1)
xij = 1
∀i ∈N
(2)
i ∈N\{j}
X
j∈N\{i }
X
xij ≥ 1
∀ S ⊆ N,
S 6= ∅, N
(3)
(i ,j)∈A: i ∈S, j ∈S
/
xij ∈ {0, 1}
∀ (i, j) ∈ A
(1)-(2): per ogni nodo deve esistere un arco entrante e un arco uscente
(3): eliminazione di sottocicli.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
7 / 33
Introduzione
TSP asimmetrico
VRP
Modello 2
Variabili: xij =
(
1 se arco (i, j) ∈ ciclo hamiltoniano,
0 altrimenti.
min
X
cij xij
(i ,j)∈A
X
xij = 1
∀j ∈N
(4)
xij = 1
∀i ∈N
(5)
i ∈N\{j}
X
j∈N\{i }
X
xij ≤ |S| − 1
∀ S ⊆ N,
S 6= ∅, N
(6)
(i ,j)∈A: i ∈S, j∈S
xij ∈ {0, 1}
∀ (i, j) ∈ A
(4)-(5): per ogni nodo deve esistere un arco entrante e un arco uscente
(6): eliminazione di sottocicli.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
8 / 33
Introduzione
TSP asimmetrico
VRP
Modello 3
(
1 se arco (i, j) ∈ ciclo hamiltoniano
0 altrimenti
ui ≥ 1 per ogni i ∈ N, dove ui = k se i `e il k–esimo nodo visitato nel ciclo.
Variabili: xij =
min
X
cij xij
(i ,j)∈A
X
xij = 1
∀j ∈N
(7)
xij = 1
∀i ∈N
(8)
i ∈N\{j}
X
j∈N\{i }
|N| xij + ui − uj ≤ |N| − 1 ∀ (i, j) ∈ A, j 6= 1
xij ∈ {0, 1}
∀ (i, j) ∈ A
u1 = 1
2 ≤ ui ≤ |N|
(9)
∀ i ∈ N, i 6= 1
(7)-(8): per ogni nodo deve esistere un arco entrante e un arco uscente
(9): eliminazione di sottocicli.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
9 / 33
Introduzione
TSP asimmetrico
VRP
Modello 3
Perch´e il vincolo
|N| xij + ui − uj ≤ |N| − 1
∀ (i, j) ∈ A, j 6= 1
(9)
elimina i sottocicli?
Se xij = 1, con j 6= 1, allora uj ≥ ui + 1. Se xij = 0 allora ui − uj ≤ |N| − 1.
Se x soddisfa i vincoli (7)-(8) ma non `e un ciclo hamiltoniano, allora `e una
famiglia di sottocicli, quindi esiste un sottociclo S che non passa per il nodo 1.
Applicando il vincolo (9) agli archi di S si ottiene una contraddizione sulle variabili
u, quindi (9) non `e soddisfatto.
Il vincolo (9) `e soddisfatto da ogni ciclo hamiltoniano. Infatti, al ciclo
1 − 4 − 2 − 3 − 1 corrisponde la soluzione x14 = 1, x42 = 1, x23 = 1, x31 = 1,
u1 = 1, u4 = 2, u2 = 3, u3 = 4 che soddisfa il vincolo (9).
Il vincolo (9) `e costituito da O(n2 ) disequazioni (polinomiale)
I vincoli (3) e (6) sono costituiti da O(2n ) disequazioni (non polinomiale)
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
10 / 33
Introduzione
TSP asimmetrico
VRP
Modello 4
Variabili: xij =
(
1 se arco (i, j) ∈ ciclo,
0 altrimenti,
min
X
yij = flusso inviato lungo (i, j)
cij xij
(i ,j)∈A
X
xij = 1
∀j ∈N
(10)
xij = 1
∀i ∈N
(11)
yij = 1
∀ i ∈ N, i 6= 1
(12)
0 ≤ yij ≤ (|N| − 1) xij
∀ (i, j) ∈ A
(13)
xij ∈ {0, 1}
∀ (i, j) ∈ A
i ∈N\{j}
X
j∈N\{i }
X
j∈N\{i }
yji −
X
j∈N\{i }
(10)-(11): per ogni nodo deve esistere un arco entrante e un arco uscente
(12)-(13): eliminazione di sottocicli.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
11 / 33
Introduzione
TSP asimmetrico
VRP
Metodo Branch and Bound: rilassamenti
• Rilassamenti continui dei modelli 1, 2, 3, 4.
• Eliminare i vincoli di connessione dal modello 1: si ottiene un problema di
assegnamento di costo minimo:
XX
min
cij xij
i ∈N j∈N
X
xij = 1
∀j ∈N
xij = 1
∀i ∈N
i ∈N
X
j∈N
xij ∈ {0, 1} ∀ i, j ∈ N
Questo problema `e un flusso di costo minimo e quindi `e risolubile in tempo
polinomiale.
La soluzione ottima `e una famiglia di cicli orientati che coprono tutti i nodi.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
12 / 33
Introduzione
TSP asimmetrico
VRP
Metodo Branch and Bound: rilassamenti
Esempio
Consideriamo la seguente matrice dei costi:
1
2
3
4
5
1
–
33
39
35
60
2
33
–
33
29
54
3
13
46
–
12
30
4
25
58
12
–
23
5
33
76
30
23
–
1
5
2
4
3
La soluzione ottima del rilassamento `e formata da due cicli:
x13 = 1,
x32 = 1,
x21 = 1,
x45 = 1,
x54 = 1,
e ha valore 125 = vI (P).
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
13 / 33
Introduzione
TSP asimmetrico
VRP
Metodo Branch and Bound: metodi euristici
Metodo greedy sugli archi
Dispongo gli archi in ordine crescente di costo.
Seguendo l’ordine, inserisco un arco se vengono rispettati tutti i vincoli.
Esempio
1
2
3
4
5
1
–
33
39
35
60
2
33
–
33
29
54
3
13
46
–
12
30
4
25
58
12
–
23
5
33
76
30
23
–
1
5
2
4
3
x34 = 1, x43 = 0, x13 = 1, x45 = 1, x54 = 0, x14 = 0, x42 = 0, x35 = 0, x53 = 0,
x12 = 0, x15 = 0, x21 = 1, x32 = 0, x41 = 0, x31 = 0, x23 = 0, x52 = 1.
Il ciclo trovato `e 3-4-5-2-1-3 di costo 135.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
14 / 33
Introduzione
TSP asimmetrico
VRP
Metodo Branch and Bound: metodi euristici
Algoritmo del nodo pi`
u vicino
Parti da un nodo i. Il nodo successivo `e il pi`
u vicino a i tra quelli non ancora
visitati. E cos`ı via.
Esempio
1
2
3
4
5
1
–
33
39
35
60
2
33
–
33
29
54
3
13
46
–
12
30
4
25
58
12
–
23
5
33
76
30
23
–
Partendo dal nodo 1 si ottiene il ciclo 1–3–4–5–2–1 di costo 135.
Partendo dal nodo 5 si ottiene il ciclo 5–4–3–2–1–5 di costo 134.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
15 / 33
Introduzione
TSP asimmetrico
VRP
Metodo Branch and Bound: metodi euristici
Algoritmi di inserimento
Costruisco un ciclo su un sottoinsieme di nodi. Estendo questo ciclo inserendo uno
alla volta i nodi rimanenti fino ad inserire tutti i nodi.
L’implementazione di questo schema dipende da:
• come costruisco il ciclo iniziale: ciclo qualsiasi, ciclo sui 3 nodi che formano il
triangolo pi`u grande, ciclo che segue l’involucro convesso dei nodi (quando
cij = distanza euclidea tra i e j), . . .
• come scelgo il prossimo nodo da inserire: il pi`
u vicino al ciclo, il pi`u lontano
dal ciclo, quello il cui inserimento causa il minimo incremento nella lunghezza
del ciclo, . . .
• dove inserisco il nodo scelto: di solito `
e inserito nel punto che causa il
minimo incremento nella lunghezza del ciclo
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
16 / 33
Introduzione
TSP asimmetrico
VRP
Metodo Branch and Bound: metodi euristici
Esempio
1
2
3
4
5
1
–
33
39
35
60
2
33
–
33
29
54
3
13
46
–
12
30
4
25
58
12
–
23
5
33
76
30
23
–
Scelgo un ciclo a caso: 1-2-3-1.
Il nodo 4 ha distanza 12 dal ciclo, mentre il nodo 5 ha distanza 30. Scelgo il nodo
pi`u vicino al ciclo: 4.
Dove inserisco il nodo 4?
Se inserisco 4 tra 1 e 2, la lunghezza del ciclo aumenta di 25 + 29 − 33 = 21
Se inserisco 4 tra 2 e 3, la lunghezza del ciclo aumenta di 58 + 12 − 46 = 24
Se inserisco 4 tra 3 e 1, la lunghezza del ciclo aumenta di 12 + 35 − 39 = 8
Quindi inserisco il nodo 4 tra 3 e 1. Il ciclo diventa 1-2-3-4-1.
Dove inserisco il nodo 5? Conviene inserirlo tra 3 e 4, quindi il ciclo hamiltoniano
`e 1-2-3-5-4-1 di costo 167.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
17 / 33
Introduzione
TSP asimmetrico
VRP
Metodo Branch and Bound: metodi euristici
Algoritmo basato sulla soluzione ottima del rilassamento.
Algoritmo delle toppe (patching)
1. L’assegnamento di costo minimo `e formato da una famiglia di cicli orientati
F = {C1 , . . . , Cp }.
2. Per ogni coppia di cicli Ci , Cj ∈ F , calcola l’incremento di costo γij
corrispondente alla fusione di Ci e Cj nel modo pi`
u conveniente possibile.
3. Effettua la fusione dei due cicli Ci e Cj ai quali corrisponde il minimo valore
di γij . Aggiorna F .
4. Se F contiene un solo ciclo allora STOP
altrimenti torna al passo 2.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
18 / 33
Introduzione
TSP asimmetrico
VRP
Metodo Branch and Bound: metodi euristici
Esempio
1
2
3
4
5
1
–
33
39
35
60
2
33
–
33
29
54
3
13
46
–
12
30
4
25
58
12
–
23
5
33
76
30
23
–
1
5
2
4
3
La soluzione ottima del rilassamento `e formata da due cicli: 1–3–2–1 e 4–5–4.
Le possibili fusioni dei due cicli sono le seguenti:
sostituire gli archi
(1, 3) e (4, 5)
(1, 3) e (5, 4)
(2, 1) e (4, 5)
(2, 1) e (5, 4)
(3, 2) e (4, 5)
(3, 2) e (5, 4)
con gli
(1, 5) e
(1, 4) e
(2, 5) e
(2, 4) e
(3, 5) e
(3, 4) e
archi
(4, 3)
(5, 3)
(4, 1)
(5, 1)
(4, 2)
(5, 2)
si ottiene il ciclo
1-5-4-3-2-1
1-4-5-3-2-1
1-3-2-5-4-1
1-3-2-4-5-1
1-3-5-4-2-1
1-3-4-5-2-1
di costo
134
144
180
187
128
135
La fusione pi`
u conveniente trova il ciclo 1-3-5-4-2-1 di costo 128.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
19 / 33
Introduzione
TSP asimmetrico
VRP
Metodi euristici: ricerca locale
Dopo aver trovato una soluzione ammissibile, provo a migliorarla.
1. Trovo una soluzione ammissibile x
2. Genero un insieme N(x) di soluzioni “vicine” ad x (intorno)
3. Se in N(x) esiste una soluzione ammissibile x ′ migliore di x
allora x := x ′ e torno al passo 2
altrimenti STOP (x `e una soluzione ottima locale)
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
20 / 33
Introduzione
TSP asimmetrico
VRP
Metodi euristici: ricerca locale
Nel caso del TSP, come definisco un intorno N(x)?
Una possibile scelta `e:
N(x) = {cicli hamiltoniani che hanno 2 archi diversi da x}.
1
2
6
1
3
5
6
4
3
5
4
x ′ ∈ N(x)
x
L. Galli
2
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
21 / 33
Introduzione
TSP asimmetrico
VRP
Metodi euristici: ricerca locale
Esempio
Consideriamo il TSP sul grafo
1
11
31
36
23
24
5
34
2
25
29
15
4
27
3
Effettuiamo la ricerca locale a partire dal ciclo 1-3-5-2-4 di costo 142.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
22 / 33
Introduzione
TSP asimmetrico
VRP
Metodi euristici: ricerca locale
Esempio
x
1-3-5-2-4-1
1-5-3-2-4-1
1-2-3-5-4-1
costo
142
141
125
1-3-5-4-2
122
L. Galli
elimino archi
(1,3) (5,2)
(1,5) (2,4)
(1,2) (3,5)
(1,2) (5,4)
(2,3) (5,4)
(2,3) (4,1)
...
Corso di Ricerca Operativa 2
-
inserisco archi
(1,5) (3,2)
(1,2) (5,4)
(1,3) (2,5)
(1,5) (2,4)
(2,5) (3,4)
(2,4) (3,1)
...
x′
1-5-3-2-4-1
1-2-3-5-4-1
1-3-2-5-4-1
1-5-3-2-4-1
1-2-5-3-4-1
1-3-5-4-2-1
...
Laurea Magistrale in Ingegneria Gestionale
costo
141
125
127
141
132
122
...
Universit`
a di Pisa
23 / 33
Introduzione
TSP asimmetrico
VRP
Problemi di vehicle routing
Servire un insieme di clienti utilizzando una flotta di veicoli, localizzati in uno o
pi`u depositi, che si spostano su una rete stradale.
Rete stradale
Grafo completo (N, A), dove N={clienti, depositi}, A ={tratti stradali},
cij = lunghezza del cammino minimo da i a j → vale disuguagliaza triangolare
tij = tempo di viaggio da i a j
Clienti
- il cliente i ha una domanda di
- tempi di carico/scarico
- eventuali finestre temporali (orari apertura, orari accesso ZTL, . . . )
- eventuali veicoli non utilizzabili
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
24 / 33
Introduzione
TSP asimmetrico
VRP
Problemi di vehicle routing
Veicoli
-
veicoli di dimensione fissa o variabile (rimorchio?)
veicolo pu`
o ritornare in un deposito diverso da quello di origine
capacit`a di carico (volume, peso, unit`a, . . . )
archi che un veicolo non pu`
o attraversare
costi (per km, per ora, . . . )
Autisti
- dipendenti o ditte esterne
- vincoli su orario di lavoro, durata pause, . . .
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
25 / 33
Introduzione
TSP asimmetrico
VRP
Problemi di vehicle routing
Vincoli operativi
- capacit`a dei veicoli
- `e permessa solo la consegna di merce ai clienti, oppure solo il ritiro, oppure
entrambe le operazioni
- massima lunghezza/durata dei viaggi
- rispetto finestre temporali
- precedenze tra clienti (pickup and delivery): la merce prelevata da un cliente
deve essere consegnata ad un altro cliente dallo stesso veicolo
- precedenze tra clienti (vehicle routing with backhaul): tutte le consegne di merce
devono essere effettuate prima dei ritiri di merce
Obiettivi
- minimizzare costo totale di trasporto (distanza percorsa + costi veicoli)
- minimizzare numero dei veicoli utilizzati
- minimizzare penalit`a associate al mancato servizio di clienti
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
26 / 33
Introduzione
TSP asimmetrico
VRP
Problemi di vehicle routing
Applicazioni
• distribuzione di merci a clienti dislocati in diverse zone geografiche
• distribuzione di merci ai negozi di una citt`
a
• raccolta rifiuti solidi urbani
• ...
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
27 / 33
Introduzione
TSP asimmetrico
VRP
VRP capacitato
un solo deposto (nodo 0) da cui partono e in cui tornano i veicoli
n clienti (nodi 1, . . . , n)
solo consegne di merce di un unico tipo
di = domanda del cliente i
K veicoli identici di capacit`a C , un solo viaggio per veicolo
obiettivo: minimizzare lunghezza totale percorsa
3
4
2
5
0
1
6
7
Questo problema `e NP-hard (perch´e il TSP `e un caso particolare per K = 1).
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
28 / 33
Introduzione
TSP asimmetrico
VRP
Modello 1
Variabili: xij =
(
1
0
se arco (i, j) ∈ sol. ottima
altrimenti
X
min
cij xij
(i ,j)∈A
X
xij = 1
∀ j ∈ N \ {0}
(14)
xij = 1
∀ i ∈ N \ {0}
(15)
i ∈N\{j}
X
j∈N\{i }
X
xi 0 = K
(16)
i ∈N\{0}
XX
i ∈S j ∈S
/
xij ≥
P
i ∈S
di
C
xij ∈ {0, 1}
∀ S ⊆ N \ {0},
S 6= ∅
(17)
∀ (i, j) ∈ A
(14)-(15): un arco entrante e un arco uscente per ogni cliente. (16): K veicoli usati.
(17): capacit`
a dei veicoli ed eliminazione di sottocicli.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
29 / 33
Introduzione
TSP asimmetrico
VRP
Modello 2
Variabili: xij =
(
1
0
se arco (i, j) ∈ sol. ottima
altrimenti
X
min
ui = carico veicolo prima di visitare i
cij xij
(i ,j)∈A
X
xij = 1
∀ j ∈ N \ {0}
(18)
xij = 1
∀ i ∈ N \ {0}
(19)
i ∈N\{j}
X
j∈N\{i }
X
xi 0 = K
(20)
i ∈N\{0}
uj − ui + C xij ≤ C − di
∀ i, j ∈ N \ {0},
xij ∈ {0, 1}
∀ (i, j) ∈ A
di ≤ ui ≤ C
∀ i ∈ N \ {0}
i 6= j
(21)
(18)-(19): un arco entrante e un arco uscente per ogni cliente. (20): K veicoli usati.
(21): capacit`
a dei veicoli ed eliminazione di sottocicli.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
30 / 33
Introduzione
TSP asimmetrico
VRP
Modello 3
Variabili: xijk =
(
1
0
se veicolo k passa sull’arco (i , j)
yik =
altrimenti
min
X
cij
K
X
(
1
0
se i assegnato al veicolo k
altrimenti
xijk
k=1
(i ,j)∈A
K
X
yik = 1
∀ i ∈ N \ {0}
(22)
k=1
K
X
y0k = K
(23)
k=1
X
j∈N\{i }
xijk =
X
xjik = yik
∀ i ∈ N, k = 1, . . . , K
(24)
di yik ≤ C
∀ k = 1, . . . , K
(25)
∀ S ⊆ N \ {0}, h ∈ S, k = 1, . . . , K
(26)
j∈N\{i }
X
i ∈N\{0}
XX
xijk ≥ yhk
i ∈S j ∈S
/
xijk ∈ {0, 1}, yik ∈ {0, 1}
∀ i , j, k
(22): ogni cliente `
e assegnato a un solo veicolo. (23): K veicoli usati. (24): se i `
e assegnato a
k, allora k entra ed esce da i . (25): capacit`
a dei veicoli. (26): eliminazione sottocicli.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
31 / 33
Introduzione
TSP asimmetrico
VRP
Modello 4
Indichiamo con R = {R1 , . . . , Rq } l’insieme di tutte le rotte ammissibili (Rj `e un
ciclo che include(il deposito e rispetta le capacit`a)(e cj = costo della rotta Rj .
1 se i ∈ Rj
1 se scelgo la rotta Rj
Definiamo aij =
Variabili: xj =
0 altrimenti
0 altrimenti
min
q
X
cj xj
j=1
q
X
aij xj = 1 ∀ i ∈ N \ {0}
(27)
j=1
q
X
xj = K
(28)
j=1
xj ∈ {0, 1}
∀j
(27): ogni cliente `e assegnato a una sola rotta. (28): K veicoli usati.
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
32 / 33
Introduzione
TSP asimmetrico
VRP
Metodi euristici
Costruttivi: trovano gradualmente una soluzione ammissibile, senza fasi di
miglioramento
A due fasi:
• cluster-first-route-second: prima si dividono i clienti in sottoinsiemi
ammissibili (rispettando le capacit`a), poi per ogni sottoinsieme si determina
la rotta (risolvendo un TSP)
• route-first-cluster-second: prima si trova un ciclo hamiltoniano su tutti i
clienti (TSP), poi si suddivide il ciclo in pezzi ammissibili (rispettando le
capacit`a)
Ricerca locale: prima trovano una soluzione ammissibile, poi cercano di migliorarla
esplorando un intorno, fino a trovare una soluzione ottima locale
L. Galli
Corso di Ricerca Operativa 2
-
Laurea Magistrale in Ingegneria Gestionale
Universit`
a di Pisa
33 / 33