Il Vehicle Routing Problem:Modelli ed Algoritmi
Daniele VigoD.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 1
Problemi di Routing\servizio di un insieme di clienti da parte di veicoli, localizzati in uno opi�u depositi, che e�ettuano i loro spostamenti utilizzando una opportunarete stradale"
Componenti fondamentali:� rete stradale� clienti� depositi� veicoli� autisti� vincoli operativi sui viaggi e globali� obiettivi dell'ottimizzazione
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 2
Rete stradale:� Grafo (sparso)� vertici � incroci, sedi di clienti, depositi ...� archi � tratti stradali
{ orientati, non orientati{ \costo" di transito (lunghezza, tempo ...)
j1j4
j7jj3
j8j6
j2- -?-�?
66
-���������
?6 -�����=���
��>ZZZZZ~ZZZZZ}� -
?j9?6
�5
� matrice dei percorsi minimi ) (grafo completo)Algoritmo di Floyd-Warshall (O(n3))
0 1 2 3 4 50012345
@@��@@��@@@@@@@@��������
0 1 2 3 4 50012345
@@��@@��@@@@@@@@��������
@@@@ @@@@���� ����@@@@@@@@@@
����������
@@@@@@@@@@
����������
@@��@@��@@ @@�� ��@@@@@@������
� � �
...
� � �
...
)
� propriet�a di triangolarit�a: cij � cik + ckj 8i; j; kGrafo euclideo (simmetrico e \triangolarizzato")Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 3
Clienti:� vertice del grafo in cui �e localizzato� quantit�a di merce consegnata e/o raccolta� �nestre temporali, per il servizio(orari di apertura, orari di accesso a Z.T.L., ...)ist. desiderato di servizio + penalit�a di violazione
� tempi di carico/scarico della merce� ev. sottoinsieme di veicoli utilizzabili(es. veicoli piccoli per i clienti di un centro storico)
Se la domanda non viene soddisfatta interamente:� livelli di priorit�a di servizio� costi/penalit�a per il mancato servizio (parziale o totale)
Depositi:� uno o pi�u depositi (� vertici)� numero e tipo dei veicoli basati nei depositi� possibilit�a di non ritornare al dep. di origine� ev pre-assegnazione di alcuni clienti ai depositi
� in alcuni casi problema separabile (uno per deposito)
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 4
Veicoli:� otta di dimensione �ssa o variabile� deposito di appartenenza (ritorno al deposito ?)� capacit�a di carico (peso, volume, unit�a di imballo ...)� ev. suddivisione in scomparti� ev. non idoneit�a per determinati tipi di merce� metodologia di carico/scarico,disponibilit�a di dispositivi per la movim. della merce(transpallets, pianali mobili, : : :)
� impossibilit�a al transito in alcune strade� costi (per Km, per ora, per viaggio, : : :).
Autisti:� dipendenti o \padroncini"� vincoli sindacali: (orario di lavoro, numero e durata pause,straordinario,: : :)
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 5
Vincoli operativi:) natura del trasporto e�ettuato) qualit�a del servizio desiderato) contratti di lavoro� capacit�a dei veicoli� massima lunghezza/durata dei viaggi� possibilit�a di mix raccolta/distribuzione� rispetto delle �nestre temporali� vincoli di precedenza tra i clienti:
{ necessit�a di servizio nello stesso viaggio (Pickup/Delivery){ ordine pre�ssato se nello stesso viaggio (Linehaul/Backhaul)
Obiettivi:� min. (costo di trasporto + costi �ssi per veicoli ed equipaggi)� min. numero di veicoli e/o di autisti necessari� bilanciamento dei diversi viaggi� min. penalit�a associate al mancato o parziale servizio di clienti.
spesso diversi obiettivi in contrasto tra loro
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 6
Altre caratteristiche:� servizio che si articola su pi�u giorni� pi�u viaggi nello stesso giorno per i veicoli
� conoscenza parziale o non con. a priori della domanda(problemi stocastici, dinamici, on-line)
� dipendenza dal tempo del costo degli archi o presenza di terministocastici.
Esempi di applicazioni1) Distribuzione di merci in un centro storico:
sensi unici ) grafo orientato2) Distribuzione prodotti alimentari in una regione:
300-400 clienti, servizio mattina e/o pomeriggio2-3 viaggi giornalieri per veicolo (30-40 clienti)) risparmio di circa il 15%-20% sui Km percorsi
3) Raccolta ri�uti: suddivisione nei quartieri (800-1000 p.ti)10 veicoli, 2 viaggi giornalieri, (30-50 p.ti/viaggio)�nestre temporali strette) risparmio di 1-2 viaggi e 15% Km percorsi
4) Trasporto handicappati in ambito urbano:Pickup/Delivery, utenti di tipo diverso (carrozzella,...)veicoli diversi (capacit�a, elevatore, personale ... ), taximinimizzazione uso taxi e buon livello di servizio.) risparmio 80% di taxi e 10% Km, ottimo livello di serv.
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 7
Capacitated VRP� n clienti (� vertici, V ), un solo deposito (vertice 0)� solo consegne di merce di un unico tipo (di; i = 1; : : : ; n)D(S) = Pi2S di; S � V
� domanda completamente soddisfatta� K veicoli identici (capacit�a C), un solo viaggio per veicolo� solo vincoli di capacit�a dei veicoli� Kmin: minimo num. di veicoli su�. per servire tutti i clienti() BPP associato; Kmin � dD(V )=Ce) ) K � Kmin
� (S), S � V : minimo num. di veicoli su�. per servire tutti i clientiin S () BPP). (V n f0g) = Kmin
� grafo completo orientato (ACVRP) o non orientato (CVRP)cij � 0 8(i; j) 2 A; e cii = +1 8i 2 V
� minimizzazione della lunghezza dei viaggiACVRP e CVRP: det. K circuiti semplici (routes) di costo minimo:(i) ogni circuito passi per il vertice 0;(ii) ogni vertice j 6= 0 sia visitato da un solo circuito;(iii) somma delle domande dei vertici visitati da un circuito � CACVRP e CVRP sono NP-hard in senso forte, casi particolari:� Traveling Salesman Problem (C > D(V ) e K = Kmin = 1)� Bin Packing Problem
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 8
Modelli ILP per ACVRP
a) Modello a 2 indici
xij :=8><>: 1 (i; j) nella soluzione ottima0 altrimenti
(ACVRP1) min Xi2V
Xj2V cijxij (1)
con i vincoliXi2V xij = 1 per ogni j 2 V n f0g (2)Xj2V xij = 1 per ogni i 2 V n f0g (3)Xi2V xi0 = K (4)Xj2V x0j = K (5)
Xi62S
Xj2S xij � (S) per ogni S � V n f0g; jSj � 2 (6)xij 2 f0; 1g per ogni i; j 2 V: (7)
per (2){(5) si haXi 62S
Xj2S xij =
Xi2S
Xj 62S xij per ogni S � V n f0g; S 6= ; (8)
Xi62S
Xj2S xij � (V n S) per ogni S � V; 0 2 S: (9)
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 9
Alternativa ai capacity-cut:1) generalized subtour elimination constraints (GSEC):
Xi2S
Xj2S xij � jSj � (S) per ogni S � V n f0g; S 6= ;; (10)
2) Miller, Tucker and Zemlin (1960):ui � uj + Cxij � C � dj per ogni i; j 2 V n f0g; i 6= j;
tali che di + dj � C; (11)di � ui � C per ogni i 2 V n f0g; (12)
ui, i 2 V n f0g, carico del veicolo dopo la visita ad i
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 10
b) Modello a 3 indici
�ijk :=8>><>>:1 (i; j) nella sol. ottima, percorso dal veicolo k0 altrimenti
yik :=8>><>>:1 cliente i assegnato al veicolo k0 altrimenti
(ACVRP2) min Xi2V
Xj2V cij
KXk=1 �ijk (13)
subject toKXk=1 yik = 1 per ogni i 2 V n f0g (14)KXk=1 y0k = K (15)X
j2V �ijk =Xj2V �jik = yik per ogni i 2 V; k = 1; : : : ; K (16)Xi2V diyik � C per ogni k = 1; : : : ; K (17)X
i=2SXj2S �ijk � yhk per ogni S � V n f0g;
k = 1; : : : ; K; h 2 S (18)yik 2 f0; 1g per ogni i 2 V; k = 1; : : : ; K (19)�ijk 2 f0; 1g per ogni i; j 2 V; k = 1; : : : ; K: (20)
incorpora facilmente altre caratteristiche:ad esempio veicoli diversi
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 11
Modelli ILP per CVRP
a) specializzazione dei modelli (ACVRP1) ed (ACVRP2):1 sola tra xij ed xji (di solito i < j)
b) uso esplicito dell'insieme dei lati E: (S) := fe 2 E con entrambi gli estremi in S � V g�(S) := fe 2 E con un solo estremo in S � V gxe := num. di volte in cui l'arco e 2 E �e utilizzato nella sol. ottimae 62 �(0) ) xe 2 f0; 1gxe 2 �(0) ) xe 2 f0; 1; 2g
(CVRP3) min Xe2E cexe (21)
subject toX
e2�(i)xe = 2 per ogni i 2 V n f0g (22)X
e2�(0)xe = 2K (23)X
e2�(S)xe � 2 (S) per ogni S � V n f0g; jSj � 2 (24)xe 2 f0; 1; 2g per ogni e 2 �(0) (25)xe 2 f0; 1g per ogni e 62 �(0): (26)
(GSEC):X
e2�(S)xe � jSj � (S) per ogni S � V n f0g; jSj � 2 (27)
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 12
Rilassamenti per ACVRP1: K+SSA� eliminazione vincoli sul grado uscente dai vertici (3)� eliminazione vincolo sul grado entrante nel deposito (4)� indebolimento capacity cut constraints (�(S)! 1) )cut constraints: solo connessione della soluzione
(R1) determinazione Shortest Spanning Arborescence (SSA)con grado K uscente dal depositorisolubile in O(n2) (Gabow e Tarjan, 1984)sol. di ACVRP contiene n +K archi:SSA (n archi) + K archi a costo minimo entranti nel depositobound analogo con l'Anti-Arborescenza e per il CVRP (Spanning Tree)
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 13
ACVRP: AP relaxation(Laporte, Mercure, Nobert, '86)
� by removing the capacity-cut constraints (6)we obtain a Transportation Problem (TP)
� TP may be transformed into an Assignment Problem (AP)by adding K � 1 copies of the depot to GG0 = (V 0; A0), V 0 := V [ fn + 1; : : : ; n +K � 1g
c0ij :=8>>>>>>>>><>>>>>>>>>:
cij for i; j 2 V n f0g;ci0 for i 2 V n f0g; j 2 W ;c0j for i 2 W; j 2 V n f0g;+1 for i; j 2 W:
Branch-and-bound algorithm:� Extension of the subtour elimination branching rule� reduction, feasibility checks, dominance procedures ...
Results: (Vax 11/780, up to 5000 sec.)� random problems with n � 90 and K = Kmin = 2 (n � 20 if K = 4)� random problems with n � 260 and K = Kmin + 2 or Kmin + 4.� random Euclidean problems with n � 30
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 14
ACVRP: Additive lower bounds(Fischetti, Toth, Vigo, '94)
1) Disjunctive bound on infeasible arc subsetsB � A is infeasible if P(a;b)2B xab � jBj � 1 is validjBj problems are de�ned:RP ab, have condition xab = 0 for a di�erent (a; b) 2 B#ab := LB for RP ab (AP relaxation with cab := +1)Overall disjunctive bound:
LD := min �#ab : (a; b) 2 B� � LAP
Given the unrestricted AP solution, B is chosen as:i) a circuit which is disconnected from 0ii) a sequence of customer vertices whose total demand exceeds C,iii) a feasible circuit whose total demand is smaller than Dmin.Di�erent B, di�erent LD ) Additive procedure ADD DISJ
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 15
2) Min-cost ow based lower boundLet fS1; : : : ; Smg be a partition of V with 0 2 S1,
A1 := m[h=1 f(i; j) 2 A : i; j 2 Shg
A2 := A n A1:LP := #1 + #2
(R1) #2 = min X(i;j)2A2
cijxij (28)subject to
Xi2V :(i;j)2A2
xij �8><>: 1 for all j 2 V n f0g;K for j = 0; (29)
Xj2V :(i;j)2A2
xij �8><>: 1 for all i 2 V n f0g;K for i = 0; (30)
Xi=2Sh
Xj2Sh xij =
Xi2Sh
Xj =2Sh xij �
8><>: �(V n Sh) for h = 1;�(Sh) for h = 2; : : : ;m; (31)
xij 2 f0; 1g for all (i; j) 2 A2: (32)
R1 may be e�ciently solved by viewing it as a min-cost ow problem
Di�erent partitions, di�erent LP ) Additive procedure ADD FLOW
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 16
����sn+ k � 1 SSSSSSw
0,jSmj����������
0,jShj������������������������
0,jS1j+ k � 1
����t n+ k � 1
0,jSmj
0,jShj
0,jS1j+ k � 1
CCCCCCCCCCCCCCCCCCCCCCW
AAAAAAAAAU
������7
@@@@@@ �������
0,jSmj � �(Sm)����am����n+
����j+����
����30,1-0,1QQQQs0,1 ��
��bm����n� ����30,1����j� -0,1����QQQQs0,1
������ @@@@@@R
0,jShj � �(Sh)
: : : : : :
����ah
������������i+����
0,1JJJJJJ
0,1ZZZZ~0,1-0,1����* ��
��bh
����
�0,1��������>0,1����i� -0,1����
HHHHj0,1
������ @@@@@@R
0,jS1j+ k � 1� �(V n S1)
: : : : : :����a1������������1+
ZZZZ~0,1-0,1����>0,k ��
��b1������������1�
0,10,10,kZZZZ~-
����>
ci;j,1JJJJJJJJJJJJJJJJ
Auxiliary layered network for R1
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 17
Branch-and-bound algorithm� Extended subtour elimination branching rule
� Overall additive procedure combining ADD DISJ and ADD FLOW
� BPP-based feasibility checks� reduction and variable �xing� dominance procedures� instance shrinking
� E�ective heuristic at every node
Results: (DECstation 5000/240, up to 1000 sec.)� LMN random instances with n � 300 and K = Kmin = 4� \triangualrized" random instances with n � 300 and K = Kmin = 8� real-world instances with n � 70 and K = Kmin = 3(distribution in urban areas of pharmaceutical products)
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 18
CVRP: K-tree relaxation (Fisher, '94)
deg. constr. K-tree: set of n + K edges (jV j = n + 1) that spans Gand with degree 2K at the depotmay be computed in O(n3) (Fisher, 1994)
CVRP = deg. c. K-tree + side constraintsxij =
8><>: 1 if arc (i; j) 2 A; i < j in the optimal solution0 otherwise
X = fx : xj 2 f0; 1g; x de�nes a deg. c. K-treeg) routes with single customer are not allowed
(CVRP1') minx2XXi2V
Xj>i cijxij (33)
subject to(ui) X
h<ixhi +Xj>ixij = 2 8i 2 V n f0g (34)
(vS) Xi2S<j 62S xij +
Xi 62S<j2S xij � 2�(S) 8S � V n f0g; jSj � 2 (35)
� by removing (34) and (35) we obtain the d.c. K-tree relaxation whichis generally poor (55-85%).
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 19
� ��� ��� ��
� ��
� ��
� ��
� ��� ��� ��
����
((((((((
((��
@@
HHHHH
aaaa
aaaa
aa
�����
��
��
���
HHHHHHHHHH
degree constrained K-tree relaxation (K = 2)
� ��� ��� ��
� ��
� ��
� ��
� ��� ��� ��
����
��
@@
aaaa
aaaa
aa
�����
��
��
���
HHHHHHHHHH
QQQQQQQQ
BBBBBBBBBBBB
b-matching relaxation (K = 2)Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 20
� Lagrangian bound by dualizing (34) and a subset(S) = fS1; : : : ; Smg of the exponentially many (35)s ) (82-100%).
(LR1) minx2XXi2V
Xj>i �cijxij + 2 X
i2V nf0gui + 2 XS2S vS�(S) (36)
where �cij = cij � ui � uj � XS : i 2 S < j 62 Sor i 62 S < j 2 S
vS� good multipliers are obtained with a subgradient optimizationprocedure
� S is initialized with an explicit set containing the subsets nestedaround K + 3 seed customers:K customers farthest from 0 along a given feasible solution3 maximalliy distant form 0 and other seeds
� for each seed, 60 nested sets are generated
� after 50 iterations new sets are added to S by indentifying violatedc-cuts in the current Lagrangian solution
� sets are removed when vS = 0 for 3 consecutive iterations
� 2000-3000 iterations are performed (at the root node)
� Lagrangian heuristics which exploit the information of the currentrelaxation are used within the bounding procedure
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 21
� traditional branch-and-bound which uses mixed branching oncustomers and on edges ) unsuccessful
� new branching rule based on macroproperties of the optimal solutions� �nd a suitable set T � V and generate two nodes:Pi2T<j 62T xij + Pi 62T<j2T xij
8>>><>>>:= 2 dD(T )=Ce� 2 dD(T )=Ce + 2
� rules are given to identify \good" sets T
Results:� the CMT problem with n = 100 solved� 6 new real-world problems with n = 25� 71 solved� lower bounds within 82-97% wrt the best UB for CE problems withn = 50� 199.
� real cost matrices were used
� extension of the approach to VRPTW and ACVRP were described(but not tested)
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 22
CVRP: b-matching relax. (Miller, '95)
(S) := fe 2 E with both endpoints in S � V g�(S) := fe 2 E with only one endpoint in S � V g
(CVRP3) min Xe2E cexe (37)
subject toX
e2�(i)xe = 2 for all i 2 V n f0g (38)X
e2�(0)xe = 2K (39)X
e2 (S)xe � jSj � �(S) for all S � V n f0g; jSj � 3 (40)xe 2 f0; 1; 2g for all e 2 �(0) (41)xe 2 f0; 1g for all e 62 �(0) (42)
) routes with single customer are allowed
� by removing (40) we obtain the b-matching relaxation.� b-matching explicitly considers the degree constraints
� Lagrangian bound by dualizing a subset (S) = fS1; : : : ; Smg of theexponentially many (40)'s ) (95-100%).
(LR2) min Xe2E �cexe + X
S2S �S(jSj � �(S)) (43)where �ce = ce + X
S:e2 (S)�SDaniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 23
� good multipliers are detected by means of a subgradientoptimization procedure
� S is initially empty� at each iteration new violated GSECs, if any, are detected in theLagragrangian solution and added to S
� also underloaded routes constraints are separated:X
e2 (S)xe � jSj � 1 for all S � V; 0 2 S;D(S) < Dmin (44)where Dmin = D(V )� (K � 1)C
� the step size is modi�ed in an adaptive way
� the procedure is stopped when no improvement is obtained since 50iterations (root node)
� binary branching on edges extending the current partial solution (theedge chosen belongs to the �nal Lagrangian solution)
� variable �xing based on b-matching reduced costs
� 11 CE problem with n � 50 solved within 15000 sec on a Sun Sparc 2� integer cost matrices were used� no comparison with the results of Fisher
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 24
Euristici per il VRPAlgoritmi costruttivi :uno o pi�u viaggi vengono iterativamente estesi in modo ammissibile.a) modalit�a di costruzione dei viaggi:
{ sequenziali: un viaggio alla volta{ paralleli: pi�u di uno alla volta
b) criterio di espansione dei viaggi:quale cliente inserire? dove inserirlo ?
Criteri di espansione:score (punteggio) per ciascun clienti non inserito� saving: sij = ci0 + c0j � cijrisparmio ottenuto servendo i e j nella stessa route� extra mileage: mij` = ci` + c`j � cijcosto aggiuntivo per inserire ` tra i e j� criteri misti
ee
0i
jee
0i
jee
0i
je`ee
0i
je`���� bbb
"""""
saving
extra mileage
eee
meglio per extra mileage(vicino alla route)meglio per saving(lontano dal deposito)
�����9�
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 25
Algoritmo di Clarke-Wright1. si calcola il saving per ogni coppia (i; j);2. si parte con ogni cliente servito da solo in un viaggio;3. si considerano le coppie (i; j) sec. sij decrescenti;4. se i e j sono estremi di viaggi parziali e
se i due viaggi possono essere uniti) inserisce l'arco (i; j) in soluzione
5. se sono state esaminate tutte le coppie stop;altrimenti considera la prossima e vai a 4.
j1
0j2
j3j4
j5j6
12
23 1
2C = 4, K = 3
1 2 3 4 5 6 i j sij i j sij0 4.5 4.1 3.6 7.1 7.3 4.2 5 6 7.4 2 6 1.11 3.6 7.0 11.4 9.2 5.1 4 5 7.1 1 3 1.12 4.5 10.8 11.0 7.3 1 6 3.6 3 5 0.63 7.3 10.3 7.8 3 4 3.4 2 4 0.44 7.3 8.2 2 3 3.3 2 5 0.45 4.1 4 6 3.1 3 6 0.0
non garantisce di trovare una soluzione con K viaggiDaniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 26
Algoritmi Cluster-�rst-route-second:1) si suddividono i clienti in sottoinsiemi ammissibili
(uno per viaggio)2) per ciascun sottoinsieme si determina l'itinerario (TSP)
ee
ee
ee
e e
ee
e'
&
$
%#" !
'
&
$
%
ee
ee
ee
e e
ee
eAAA
���@@@@���
��@@
Algoritmi Route-�rst-cluster-second:1) si determina un tour complessivo su tutti i clienti2) si suddivide il tour in pezzi ammissibili (viaggi)
ee
ee
ee
e e
ee
ee
eee
ee
e e
ee
eAAA
���@@@@���
��@@
AAA���@@@@@@@@@������������@@�
�����
ee
ee
ee
e e
ee
e���@@@@@@@����������@@�
��������
@@R
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 27Algoritmo di Fisher-Jaikumar (1981)� di tipo cluster-�rst-route-second� i cluster sono ottenuti risolvendo un GAP (Assegn. Generalizzato)derivato da una scomposizione del VRP
min Xi2V
Xj2V cij
KXk=1 �ijk (45)
con i vincoliXi2V diyik � C per ogni k = 1; : : : ; K (46)
KXk=1 yik = 1 per ogni i 2 V n f0g (47)KXk=1 y0k = K (48)yik 2 f0; 1g per ogni i 2 V; k = 1; : : : ; K (49)
Xj2V �ijk =
Xj2V �jik = yik per ogni i 2 V; k = 1; : : : ; K (50)
Xi=2S
Xj2S �ijk � yhk per ogni S � V n f0g;
k = 1; : : : ; K; h 2 S (51)�ijk 2 f0; 1g per ogni i; j 2 V; k = 1; : : : ; K: (52)
� Assegnamento Generalizzato (GAP): (46){(49)� Traveling Salesman (TSP): (50){(52)
Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 28
Clustering ) GAP non linearemin KX
k=1 f (yk) (53)con i vincoli
Xi2V diyik � C per ogni k = 1; : : : ; K (54)
KXk=1 yik = 1 per ogni i 2 V n f0g (55)KXk=1 y0k = K (56)yik 2 f0; 1g per ogni i 2 V; k = 1; : : : ; K (57)
dove yk = fi : yik = 1g� f (yk) funzione non lineare : soluzione ottima del TSP sui clienti in yk
) approssimazione lineare di f (yk): PKk=1 Pni=1 �ikyik�ik cerca di rappresentare il \costo" del servizio di i nella route k
1. si scelgono K \seed" fi1; : : : ; iKg rappresentative dei viaggi2. dik = minfc0;i + ci;ik + cik;0; c0;ik + cik;i + ci;0g � c0;ik � cik;03. si risolve il GAP e si determinano i cluster4. per ogni cluster si determina l'itinerario risolvendo un TSP
� di solito GAP e TSP si risolvono euristicamenteDaniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 29
j1
0j2
j3j4
j5j6
12
23 1
2C = 4, K = 3
1 2 3 4 5 6
0 4.5 4.1 3.6 7.1 7.3 4.21 3.6 7.0 11.4 9.2 5.12 4.5 10.8 11.0 7.33 7.3 10.3 7.84 7.3 8.25 4.1
seed = f1; 4; 5g1 2 3 4 5 6
1 0.0 3.2 6.1 +1 +1 4.82 +1 7.8 3.8 0.0 +1 5.43 +1 7.8 6.6 +1 0.0 1.0
GAP : f1; 3g, f2; 4g, f5; 6g,0! 1! 3! 00! 2! 4! 00! 5! 6! 0costo = 52.7Daniele Vigo D.E.I.S. - Universit�a di Bologna
Vehicle Routing Problem 30
Ricerca localeEsplorazione di un intorno (neighborhood) di una soluzione sIntorno di s: insieme di soluzioni \prossime" ad sad es., che possono essere ottenute da s mediante:a) spostamento di un vertice: (a inserito dopo b)
ee
0
a�(b)
e�(a)
e�(a)
eb
�����
���ZZZ����
ee
0
a�(b)
e�(a)
e�(a)
eb
""""
���ZZZAAAA TTT
�iab := (c�(a)a + ca�(a) + cb�(b))� (c�(a)�(a) + cba + ca�(b)):
b) scambio di archi: (a; �(a)) e (b; �(b)) ! (a; b) e (�(a); �(b))(b 6= �(a))
e e
0
b�(a)
ea e�(b)ZZZ
e
�������L
LL���eeee"""
e e
0
b�(a)
ea e�(b)ZZZ
eLLL���
"""���� ����
�sab := (ca�(a) + cb�(b))� (cab + c�(a)�(b)):con opportune strutture dati valutazione di ogni mossa in O(1):(costo ed ammissibilit�a) ) esame completo del neighborhood: O(n2)Daniele Vigo D.E.I.S. - Universit�a di Bologna