Sei sulla pagina 1di 31

Il Vehicle Routing Problem:

Modelli ed Algoritmi

Daniele Vigo
D.E.I.S. - Universita di Bologna
Vehicle Routing Problem 1

Problemi di Routing

\servizio di un insieme di clienti da parte di veicoli, localizzati in uno o


piu depositi, che e ettuano i loro spostamenti utilizzando una opportuna
rete stradale"

Componenti fondamentali:
 rete stradale
 clienti
 depositi
 veicoli
 autisti
 vincoli operativi sui viaggi e globali
 obiettivi dell'ottimizzazione

Daniele Vigo D.E.I.S. - Universita 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 ...)

j6 - j6
1 2 j
-3
}ZZ
-
ZZ
?j -5j? j
-~Z6?
6 > 6
4

j
7 j
- 8?= 9? j
 matrice dei percorsi minimi ) (grafo completo)
Algoritmo di Floyd-Warshall (O(n3))
0 1 2 3 4 5   0 1 2 3 4 5  
0 @@@@@@@@@ @@@@@@ 0 @@@
1 @@@@@ @ @@@ 1 @
2 @@@@@@ @ @ ) 2 @@@
3 @ @@ @@@@@ 3 @
4 @@@@@ @@ @@ 4 @@
5. @ @ @ @ @ 5. @@
. .

 proprieta di triangolarita: cij  cik + ckj 8i; j; k


Grafo euclideo (simmetrico e \triangolarizzato")
Daniele Vigo D.E.I.S. - Universita di Bologna
Vehicle Routing Problem 3

Clienti:

 vertice del grafo in cui e localizzato


 quantita 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 + penalita 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 priorita di servizio
 costi/penalita per il mancato servizio (parziale o totale)

Depositi:

 uno o piu depositi ( vertici)


 numero e tipo dei veicoli basati nei depositi
 possibilita 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. - Universita di Bologna


Vehicle Routing Problem 4

Veicoli:

 otta di dimensione ssa o variabile


 deposito di appartenenza (ritorno al deposito ?)
 capacita di carico (peso, volume, unita di imballo ...)
 ev. suddivisione in scomparti
 ev. non idoneita per determinati tipi di merce
 metodologia di carico/scarico,
disponibilita di dispositivi per la movim. della merce
(transpallets, pianali mobili, : : :)
 impossibilita 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. - Universita di Bologna


Vehicle Routing Problem 5

Vincoli operativi:

) natura del trasporto e ettuato


) qualita del servizio desiderato
) contratti di lavoro
 capacita dei veicoli
 massima lunghezza/durata dei viaggi
 possibilita di mix raccolta/distribuzione
 rispetto delle nestre temporali
 vincoli di precedenza tra i clienti:
{ necessita 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. penalita associate al mancato o parziale servizio di clienti.
spesso diversi obiettivi in contrasto tra loro

Daniele Vigo D.E.I.S. - Universita di Bologna


Vehicle Routing Problem 6

Altre caratteristiche:

 servizio che si articola su piu giorni


 piu 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 termini
stocastici.

Esempi di applicazioni

1) Distribuzione di merci in un centro storico:


sensi unici ) grafo orientato
2) Distribuzione prodotti alimentari in una regione:
300-400 clienti, servizio mattina e/o pomeriggio
2-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 (capacita, elevatore, personale ... ), taxi
minimizzazione uso taxi e buon livello di servizio.
) risparmio 80% di taxi e 10% Km, ottimo livello di serv.
Daniele Vigo D.E.I.S. - Universita 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 ) = i2S di; S  V
P

 domanda completamente soddisfatta


 K veicoli identici (capacita C ), un solo viaggio per veicolo
 solo vincoli di capacita dei veicoli
 Kmin: minimo num. di veicoli su . per servire tutti i clienti
() BPP associato; Kmin  dD(V )=C e) ) K  Kmin
 (S ), S  V : minimo num. di veicoli su . per servire tutti i clienti
in 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 viaggi
ACVRP 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  C
ACVRP 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. - Universita di Bologna
Vehicle Routing Problem 8

Modelli ILP per ACVRP

a) Modello a 2 indici
8
:= 10 (altrimenti
i; j ) nella soluzione ottima
>
<
xij >
:

(ACVRP1) min X X
cij xij (1)
i2V j 2V
con i vincoli
X
=1
xij per ogni j 2 V n f0g (2)
i2V
X
xij = 1 per ogni i 2 V n f0g (3)
j 2V
X
xi0 = K (4)
i 2V
X
x0 j = K (5)
j 2V
X X
xij  (S ) per ogni S  V n f0g; jS j  2 (6)
i62S j 2S
xij 2 f0; 1g per ogni i; j 2 V: (7)

per (2){(5) si ha
X X
xij =X X
xij per ogni S  V n f0g; S 6= ; (8)
i62S j 2S i2S j 62S
X X
xij  (V n S ) per ogni S  V; 0 2 S: (9)
i62S j 2S

Daniele Vigo D.E.I.S. - Universita di Bologna


Vehicle Routing Problem 9

Alternativa ai capacity-cut:
1) generalized subtour elimination constraints (GSEC):
X X
xij  jS j (S ) per ogni S  V n f0g; S 6= ;; (10)
i 2S j 2S

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
8
>
>
< 1 (i; j ) nella sol. ottima, percorso dal veicolo k
ijk := >
: 0 altrimenti
8
< 1 cliente i assegnato al veicolo k
>
yik := >
: 0 altrimenti
>

K
(ACVRP2) min X X
cij
X
ijk (13)
i2V j 2V k =1
subject to
K
X
yik = 1 per ogni i 2 V n f0g (14)
k =1
K
X
=K
y0k (15)
k =1
X X
ijk = jik = yik per ogni i 2 V; k = 1; : : : ; K (16)
j 2V j 2V
X
diyik  C per ogni k = 1; : : : ; K (17)
i2V
X X
ijk  yhk per ogni S  V n f0g;
i2
=S j 2 S
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 g

xe := num. di volte in cui l'arco e 2 E e utilizzato nella sol. ottima


e 62  (0) ) xe 2 f0; 1g
xe 2  (0) ) xe 2 f0; 1; 2g

(CVRP3) min X cexe (21)


e 2E
subject to
X
=2 xe per ogni i 2 V n f0g (22)
e2 (i)
X
xe = 2K (23)
e2 (0)
X
xe  2 (S ) per ogni S  V n f0g; jS j  2 (24)
e2 (S )
xe 2 f0; 1; 2g per ogni e 2 (0) (25)
xe 2 f0; 1g per ogni e 62 (0): (26)

(GSEC):
X
xe  jS j (S ) per ogni S  V n f0g; jS j  2 (27)
e2 (S )

Daniele Vigo D.E.I.S. - Universita di Bologna


Vehicle Routing Problem 12

Rilassamenti per ACVRP

1: 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 deposito
risolubile in O(n2) (Gabow e Tarjan, 1984)
sol. di ACVRP contiene n + K archi:
SSA (n archi) + K archi a costo minimo entranti nel deposito
bound analogo con l'Anti-Arborescenza e per il CVRP (Spanning Tree)

Daniele Vigo D.E.I.S. - Universita 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 G
G0 = (V 0; A0), V 0 := V [ fn + 1; : : : ; n + K 1g
8
>
>
>
>
cij for i; j 2 V n f0g;
>
>
>
< ci0
cij := >
0 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. - Universita di Bologna


Vehicle Routing Problem 14

ACVRP: Additive lower bounds


(Fischetti, Toth, Vigo, '94)

1) Disjunctive bound on infeasible arc subsets


B  A is infeasible if P(a;b)2B xab  jB j 1 is valid
jB j 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 0
ii) 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. - Universita di Bologna


Vehicle Routing Problem 15

2) Min-cost ow based lower bound


Let fS1; : : : ; Smg be a partition of V with 0 2 S1,
m
[
A1 := f(i; j ) 2 A : i; j 2 Shg
h=1
A2 := A n A1:

LP := #1 + #2
X
(R1) #2 = min cij xij (28)
(i;j )2A2

subject to
8
X
xij  1K for
>
< for all j 2 V n f0g; (29)
i2V :(i;j )2A2
>
: j = 0;
8
X
xij  1K for
>
< for all i 2 V n f0g; (30)
j 2V :(i;j )2A2
>
: i = 0;
8
 ((VS n) Sh) for h = 1;
X X X X >
<
xij = xij >
: for h = 2; : : : ; m; (31)
= Sh j 2Sh
i2 i2Sh j 2
= Sh h
xij 2 f0; 1g for all (i; j ) 2 A2: (32)

R1 may be eciently 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. - Universita di Bologna


Vehicle Routing Problem 16

0,jS1 j + k 1  (V n S1)
@@
  @
>  @@
+
Z
   Z-~Z
1 1
 Z R@
 - 0,k
   
0,k
a 1 b
 ZZ~Z 
1
0,1 Z >

0,1

   CC

0,1
  CCC 0,1

 ::: 0, Sh j j  (S ) :::
C
 h

@
j 1j
0, S + k 1    @@ C j 1j
CC
0, S + k 1


  0,1  -
 *
 
H H
@@
HjHR@ CC
C
  -
  
0,1
a + b C
  J Z  
i i
h
0,1 Z J >

0,1


A
h

CC

  JJ Z~Z 0,1 J
J  

AA C
0,1
CC
 j j JJ^J J
J 


A
j jAA CC
  0,1

  

0, Sh
 c ,1
J
i;j

J
J
 0,1 0, Sh
A C
AAU
WC
 JJ
 7
::: :::
n+k 1 s
S
SSj j
 J 
J j j 
t n+k 1

  J 
0, Sm
3
 J Q 0, Sm
SS   QQ 
0,1 0,1
 J
^ sQ 
w - + - 
   3
0,1 0,1
a j j b
@QQQ  
m m

0,1
 
0,1 
@@ sQ + 
n
@@  
n

@ 0,jSm j  (S )
m

Auxiliary layered network for R1

Daniele Vigo D.E.I.S. - Universita 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. - Universita 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 G


and with degree 2K at the depot
may be computed in O(n3) (Fisher, 1994)
CVRP = deg. c. K-tree + side constraints
8
< 1 if arc (i; j ) 2 A; i < j in the optimal solution
>
xij = >
: 0 otherwise

X = fx : xj 2 f0; 1g; x de nes a deg. c. K-treeg

) routes with single customer are not allowed

X X
(CVRP1') min
x2 X
cij xij (33)
i2Vj>i

subject to
X X
(ui) xhi +
j>i
= 2 8i 2 V n f0g
xij (34)
h<i
X X
(vS ) xij + xij  2 (S ) 8S  V n f0g; jS j  2 (35)
i2S<j 62S i62S<j 2S

 by removing (34) and (35) we obtain the d.c. K-tree relaxation which
is generally poor (55-85%).

Daniele Vigo D.E.I.S. - Universita di Bologna


Vehicle Routing Problem 19




  
 HHHHH 
aaaa
a
aa((((((((( 
aaa
@@


 HHH
HH

HH
HHH

degree constrained K-tree relaxation (K = 2)


 QQQ
QQ
 QQ  

aaaa
a
  
aaa
aa
BB

@@
B 
BB


B
BB
HHH BB
HH

HH
HHH BB

b-matching relaxation (K = 2)
Daniele Vigo D.E.I.S. - Universita 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%).
X X X X
(LR1) min
x2 X
cij xij + 2 ui + 2 vS  (S ) (36)
i2Vj>i i2V nf0g S 2S

X
where cij = cij ui uj
S : 2
i S < j 26 S
vS
or 62
i S < j 2 S

 good multipliers are obtained with a subgradient optimization


procedure

 S is initialized with an explicit set containing the subsets nested


around K + 3 seed customers:
K customers farthest from 0 along a given feasible solution
3 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 violated


c-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 current


relaxation are used within the bounding procedure
Daniele Vigo D.E.I.S. - Universita di Bologna
Vehicle Routing Problem 21

 traditional branch-and-bound which uses mixed branching on


customers and on edges ) unsuccessful
 new branching rule based on macroproperties of the optimal solutions
 nd a suitable set T  V and 8
generate two nodes:
< = 2 dD (T )=C e
>
>
>
i2T <j 62T xij + i62T <j 2T xij >
P P
:  2 dD (T )=C e + 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 with
n = 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 X cexe (37)


e2E
subject to
X
xe=2 for all i 2 V n f0g (38)
e2 (i)
X
xe = 2K (39)
e2 (0)
X
xe  jS j  (S ) for all S  V n f0g; jS j  3 (40)
e2 (S )
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 the


exponentially many (40)'s ) (95-100%).

(LR2) min X cexe + X


S (jS j  (S )) (43)
e 2E S 2S
X
where ce = ce + S
S :e2 (S )

Daniele Vigo D.E.I.S. - Universit


a di Bologna
Vehicle Routing Problem 23

 good multipliers are detected by means of a subgradient


optimization procedure
 S is initially empty
 at each iteration new violated GSECs, if any, are detected in the
Lagragrangian solution and added to S

 also underloaded routes constraints are separated:


X
xe  jS j 1 for all S  V; 0 2 S; D(S ) < Dmin (44)
e2 (S )

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 50


iterations (root node)
 binary branching on edges extending the current partial solution (the
edge 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. - Universita di Bologna
Vehicle Routing Problem 24

Euristici per il VRP

Algoritmi costruttivi :
uno o piu viaggi vengono iterativamente estesi in modo ammissibile.
a) modalita di costruzione dei viaggi:
{ sequenziali: un viaggio alla volta
{ paralleli: piu 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 cij


risparmio ottenuto servendo i e j nella stessa route
 extra mileage: mij` = ci` + c`j cij
costo aggiuntivo per inserire ` tra i e j
 criteri misti
ej ej ` e e e e
` bbb
""" j 
 j
ie ie e i e
" "
i
extra mileage
0 0 0 0
saving meglio per extra mileage
e9 (vicino alla route)
e
meglio per saving
e (lontano dal deposito)
Daniele Vigo D.E.I.S. - Universita di Bologna
Vehicle Routing Problem 25

Algoritmo di Clarke-Wright
1. 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.
j
4 2

1 3 j
C = 4, K = 3

j
2
0

j
2

j j
6
5 2

1 1
3

1 2 3 4 5 6 i j sij i j sij
0 4.5 4.1 3.6 7.1 7.3 4.2 5 6 7.4 2 6 1.1
1 3.6 7.0 11.4 9.2 5.1 4 5 7.1 1 3 1.1
2 4.5 10.8 11.0 7.3 1 6 3.6 3 5 0.6
3 7.3 10.3 7.8 3 4 3.4 2 4 0.4
4 7.3 8.2 2 3 3.3 2 5 0.4
5 4.1 4 6 3.1 3 6 0.0
non garantisce di trovare una soluzione con K viaggi
Daniele Vigo D.E.I.S. - Universita 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)
' e$ e

e e 'ee
$ e e
AA ee
e
& % e eA @@
e e
@@
# &e %  

eee eee
@@
"!
Algoritmi Route- rst-cluster-second:
1) si determina un tour complessivo su tutti i clienti
2) si suddivide il tour in pezzi ammissibili (viaggi)
e
@@
e

e@@
e e
AA

 @
@@ee eee AA
 
e@@e e e e @@e e
@R 
 @
e A

@@
e@@ 
A @@ e  @@ e

  e
  e   e
 
   
eee

@@
e e
@@e
e e
@@e

Daniele Vigo D.E.I.S. - Universita di Bologna


Vehicle Routing Problem 27

Algoritmo 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

X X K
X
min cij ijk (45)
i 2V j 2V k =1
con i vincoli
X
diyik  C per ogni k = 1; : : : ; K (46)
i 2V
K
X
yik = 1 per ogni i 2 V n f0g (47)
k =1
K
X
=K
y0k (48)
k =1
yik 2 f0; 1g per ogni i 2 V; k = 1; : : : ; K (49)
X X
ijk = = yik per ogni i 2 V; k = 1; : : : ; K
jik (50)
j 2V j 2V
X X
ijk  yhk per ogni S  V n f0g;
= S j 2S
i2
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. - Universita di Bologna


Vehicle Routing Problem 28

Clustering ) GAP non lineare


K
X
min f (yk ) (53)
k =1
con i vincoli
X
diyik  C per ogni k = 1; : : : ; K (54)
i2V
K
X
yik = 1 per ogni i 2 V n f0g (55)
k =1
K
X
=K
y0k (56)
k =1
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 ik yik


ik cerca di rappresentare il \costo" del servizio di i nella route k

1. si scelgono K \seed" fi1; : : : ; iK g rappresentative dei viaggi


2. dik = minfc0;i + ci;ik + cik ;0; c0;ik + cik ;i + ci;0g c0;ik cik ;0
3. si risolve il GAP e si determinano i cluster
4. per ogni cluster si determina l'itinerario risolvendo un TSP

 di solito GAP e TSP si risolvono euristicamente

Daniele Vigo D.E.I.S. - Universita di Bologna


Vehicle Routing Problem 29

j
4 2

1 3 j
C = 4, K = 3

j
2
0

j
2

j j
6
5 2

1 1
3

1 2 3 4 5 6

0 4.5 4.1 3.6 7.1 7.3 4.2


1 3.6 7.0 11.4 9.2 5.1
2 4.5 10.8 11.0 7.3
3 7.3 10.3 7.8
4 7.3 8.2
5 4.1

seed = f1; 4; 5g
1 2 3 4 5 6

1 0.0 3.2 6.1 +1 +1 4.8


2 +1 7.8 3.8 0.0 +1 5.4
3 +1 7.8 6.6 +1 0.0 1.0

GAP : f1; 3g, f2; 4g, f5; 6g,


0!1!3!0
0!2!4!0
0!5!6!0
costo = 52.7
Daniele Vigo D.E.I.S. - Universita di Bologna
Vehicle Routing Problem 30

Ricerca locale

Esplorazione di un intorno (neighborhood) di una soluzione s


Intorno di s: insieme di soluzioni \prossime" ad s

ad es., che possono essere ottenute da s mediante:


a) spostamento di un vertice: (a inserito dopo b)
e  (b) " e  (b)
e e
a  eA a
e"T ""
 (a)   (a)

e
 
  b
e AA T
e e
a A Z  b
 (a) ZZZ  ( )
ZZ 
0 0

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))
 LL
e  LL
e
be

e 
L a e ( ) e  Le
b
 (a)

 ee  

a e
  e
ZZZ """  b e a eZZ "" e 
 (b)
Z "
( )

0 0

sab := (ca(a) + cb(b)) (cab + c(a)(b)):


con opportune strutture dati valutazione di ogni mossa in O(1):
(costo ed ammissibilita) ) esame completo del neighborhood: O(n2)
Daniele Vigo D.E.I.S. - Universita di Bologna

Potrebbero piacerti anche