+ All Categories
Home > Documents > Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing...

Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing...

Date post: 22-Jul-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
31
Transcript
Page 1: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

Il Vehicle Routing Problem:Modelli ed Algoritmi

Daniele VigoD.E.I.S. - Universit�a di Bologna

Page 2: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 3: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 4: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 5: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 6: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 7: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 8: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 9: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 10: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 11: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 12: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 13: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 14: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 15: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 16: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 17: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 18: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 19: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 20: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 21: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 22: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 23: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 24: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 25: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 26: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 27: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 28: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 29: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 30: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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

Page 31: Il Vehicle Routing Problem: Modelli ed Algoritmi · ehicleV Routing Problem 1 Problemi di Routing \servizio di un insieme di clienti da parte di veicoli, localizzati in uno o upidep

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


Recommended