Vous êtes sur la page 1sur 47

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #1

Algorithmes mémétiques pour les problèmes de tournées de véhicules

Christian PRINS*

Institut Charles Delaunay, FRE CNRS 2848 Université de Technologie de Troyes (UTT), Troyes

christian.prins@utt.fr

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #2

Plan

1. Un algorithme mémétique (MA) pour le VRP

2. Adaptation aux tournées sur arcs (CARP et MCARP)

3. Une extension de la structure: MA|PM

4. Cas des flottes hétérogènes (HVRP)

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #3

Partie 1

Un algorithme mémétique pour le VRP

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #4

GA classique – Version incrémentale

1: initialiser population Pop de nc chromosomes 2: répéter

3:

choisir deux parents P 1 , P 2 dans Pop

4:

croiser P 1 et P 2 enfants C 1 , C 2

5:

pour chaque enfant C faire

6:

muter C (petite probabilité)

7:

remplacer une solution B de Pop par C

8:

fin pour

9: jusqu'à (critère d'arrêt).

Pas assez agressif pour l'optimisation combinatoire. Peu compétitif avec méthodes taboues, par exemple.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #5

Algorithme mémétique (MA)

Avec recherche locale LS. Structure de Moscato (1989) :

1:

initialiser la population Pop

2:

améliorer chaque solution s de Pop : s LS(s)

3:

répéter

4:

choisir deux parents P 1 , P 2 dans Pop

5:

croiser P 1 et P 2 enfants C 1 , C 2

6:

pour chaque enfant C faire

7:

améliorer : C LS(C)

8:

muter C (petite probabilité)

9:

remplacer une solution B de Pop par C

10:

fin pour

11:

jusqu'à (critère d'arrêt).

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #6

VRP (Vehicle Routing Problem)

Données:

réseau avec n + 1 nœuds nœud 0: dépôt avec véhicules de capacité W nœuds 1 à n: "clients" avec des demandes connues q i matrice D des "coûts" de déplacement entre nœuds.

But: trouver un ensemble de tournées de coût total min.

Notes:

nombre de tournées libre. pas de livraisons partielles NP-difficile : TSP si demande totale W.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #7

Point de départ du travail

Années 90: GA efficaces pour le TSP et le VRPTW (Potvin et Bengio, 1996), mais pas pour le VRP.

Gendreau (1998): "The published GAs for the VRP cannot compete with the best TS methods".

Chromosomes avec délimiteurs de tournées :

1

5

4

0

2

7

3

0

6

8

Réparation des violations de capacité des véhicules. Perturbe l'hérédité des bonnes séquences.

Idée-clé : chromosomes sans délimiteurs de tournées.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #8

Chromosome et croisement

Chromosome :

permutation S des n clients plus courts chemins implicites entre clients sans délimiteurs de tournées : "tour géant" avec W=

Tout croisement pour le TSP est utilisable, exemple LOX:

2 points de coupure aléatoires

P1

: 1 3 2|6 4 5|9 7 8

P2

: 3 6 8|1 4 9|2 5 7

C1

:

3

8 1

6 4

5

9

2 7

Mais comment en déduire une solution pour le VRP ?

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #9

Evaluation : procédure SPLIT 1/2

Chromosome S graphe auxiliaire H = (V,A,C) :

un arc (i,j) A pour chaque tournée S i+1 S j :

V = (0, 1, 2, …, n), nœud fictif 0

j

k =+1 i

(

q S

k

)

W

C ij coût de la tournée :

C = d

ij

(0,

S

i

+

1

)

+

j 1

k =+ i 1

d S S

(

k

,

k

+

1

)

+ d S

(

j

,0)

Découpage optimal: chemin optimal de 0 à n dans H.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #10

Evaluation : procédure SPLIT 2/2

c (4)

b (4) 30 25 d (2) 30 10 40 15 25 a (5) e (7)
b
(4)
30
25
d (2)
30
10
40
15
25
a (5)
e (7)
20
35
Chromosome S = (a,b,c,d,e)

c

b d T2 T1:55 60 T3:90 a e
b
d
T2
T1:55
60 T3:90
a
e

Découpe optimale, coût 205

ab:55 cd :95 40 55 150 a :40 b :50 c :60 115 d :80
ab:55
cd :95
40
55
150
a :40
b
:50
c :60
115 d :80
e :70
0
205
bc:85
bcd:120
de:90

Graphe auxiliaire des tournées pour W=10. Chemin optimal en gras.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #11

Avantages de SPLIT

Simplicité :

pas de problèmes avec les délimiteurs de tournées réutilisation possible de croisements pour le TSP.

Pas de perte d'information :

le MA explore l'espace des permutations SPLIT évalue chaque permutation optimalement. il existe un chromosome optimal.

Rapidité :

algorithme de Bellman pour graphes sans circuit complexité O(m) pour m arcs dans H et m = O(n 2 ).

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #12

Deux extensions simples de SPLIT

Contraintes au niveau tournée (temps de conduite max):

les tournées infaisables sont exclues de H ensuite, le calcul du chemin optimal n'est pas affecté!

Flotte limitée de p véhicules:

chemin optimal d'au plus p arcs algorithme général de Bellman

F

0

(0)

(

F j

k

)

=

=

0;

j

0:

min (

F

k

1

(

F j

0

)

( )

i

+

C

= +∞ prédécesseur de

ij

:

i

j )

L'itération k donne les chemins d'au plus k arcs. on stoppe à l'itération p, complexité: O(pm).

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #13

Population

Table Pop de nc chromosomes distincts :

pour éviter convergence prématurée (clones) meilleure dispersion (et donc exploration) des solutions

Règle de dispersion simple :

tout enfant violant cette règle est rejeté taux de rejet peu élevé si nc petit, exemple nc = 30

P 1 , P 2 Pop : |cost(P 1 ) – cost(P 2 )|

Composition initiale de Pop:

3 bonnes solutions (heuristiques classiques du VRP) nc-3 permutations aléatoires, évaluées par SPLIT.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #14

Recherche locale du MA 1/2

a b u v y Depot x
a
b
u
v
y
Depot
x
a b u v y
a
b
u v
y

x

2-OPT

Croisement de deux arêtes

Or-OPT Déplacement de chaînes

u u v v x y x y
u
u
v
v
x y
x
y

Des échanges de nœuds sont aussi considérés.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #15

Recherche locale du MA 2/2

u v T1 T2 x y
u v
T1
T2
x y
u v T1 T2 x y
u v
T1
T2
x y
u v x y
u v
x y
u v x y
u
v
x
y

Mouvements appliqués aussi à deux tournées, exemple 2-OPT.

L'ensemble des mouvements est

évaluable en O(n 2 ).

Première amélioration au lieu de meilleure amélioration.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #16

Résumé du MA pour le VRP

1: construire Pop avec nc chromosomes dispersés

2: trier Pop par coûts croissants (meilleure soln Pop(1)) 3: répéter

4:

choisir P 1 , P 2 par tournoi binaire

5:

croisement OX sur P 1 , P 2 enfant C

6:

si random < P LS alors C LS(C) finsi

7:

choisir B au hasard dans la pire moitié de Pop

8:

si (Pop\{B}){C} vérifie règle de dispersion alors

9 :

B C

10:

finsi

11: jusqu'à (critère d'arrêt).

NB: différences avec modèle de MA de Moscato.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #17

Exemples de résultats

14 instances de Christofides, n=50-199

Type

Auteurs

Année

Ecart aux meilleures solns

TS

Taillard

1993

0.05

%

MA

Prins

2001

0.08 %

TS

Gendreau et al.

1994

0.20

%

TS

Taillard

1992

0.39

%

TS

Rego et Roucairol

1996

0.55

%

TS

Gendreau et al.

1991

0.68

%

TS

Rego et Roucairol

1996

0.77

%

TS

Gendreau et al.

1994

0.86

%

TS

Osman

1993

1.01

%

SA

Osman

1993

2.09

%

Source: Crainic & Laporte, Fleet Management and Logistics, Kluwer, 1998.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #18

Références

Ce travail :

Prins, A simple and effective evolutionary algorithm for the VRP, Comp. Oper. Res. 31(12), p. 1985-2002, 2004.

Références générales sur le VRP :

Crainic et Laporte, Fleet management and logistics, Kluwer, 1998.

Toth et Vigo, The vehicle routing problem, SIAM, 2002.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #19

Adaptations à d'autres problèmes

En résumé :

MA très efficace pour le VRP Structure générale assez simple et flexible. Chromosomes sans séparateurs de tournées (SPLIT).

Extensions déjà traitées :

Problèmes de tournées sur arcs (CARP, MCARP) MA avec gestion de population (MA|PM) Flottes hétérogènes de véhicules (HFVRP) Tournées périodiques (PVRP, PCARP) Demandes aléatoires (SVRP, SCARP) Problème de tournées multi-objectifs.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #20

Partie 2

Adaptation aux problèmes de tournées sur arcs

En collaboration avec :

J.M. Belenguer, E. Benavent (Univ. Valencia, Espagne) P. Lacomme (Univ. Blaise Pascal, Clermont-Ferrand) W. Ramdane-Chérif (Ecole des Mines de Nancy)

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #21

CARP et CARP mixte (MCARP)

NB: CARP = Capacitated Arc Routing Problem. Données :

graphe mixte G = (V,E,A) pour le MCARP graphe non-orienté G = (V,E) pour le CARP (A = ) n nœuds dont un dépôt de véhicules de capacité W m liens (arcs ou arêtes) dont t tâches (liens à traiter) chaque lien e a un coût de traversée c(e) si tâche, demande q(e) et coût de traitement s(e)

But: traiter les tâches par des tournées de coût minimal.

NP-difficile: Problème du Postier Rural en cas particulier.

Applications: collecte de déchets urbains, déneigement …

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #22

Un petit exemple de CARP: gdb1

2 3 18 2 9 20 9 13 4 5 17 16 4 1 12
2
3
18
2
9 20
9
13 4
5
17
16
4
1
12 11
5
14 19
19
18
3 7
12 10
3
7
11
8 8
4 6
10
20
T1 : 99 T2 : 30 T3 : 66 T4 : 71 T5: 50 Optimum:
T1 : 99
T2 : 30
T3 : 66
T4 : 71
T5: 50
Optimum:
5 trips
total cost 316

n=12 (dépôt : 1), m=t=22, demandes=1, capacité W=5

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #23

Utilité du MCARP

Modèle très général avec 2 types de liens: arcs et arêtes. Cas de la collecte de déchets, entre deux nœuds i et j:

i

j

Un arc Rue à sens unique

i

j

2 arcs opposés Rue à double sens Côtés indépendants

i

j

Une arête Rue à double sens Collecte bilatérale

Complications gérables : liens //, interdictions de tourner etc.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #24

Codage du réseau: graphe orienté

Une arête = 2 arcs. Arcs indexés de 1 à m' = 2.|E|+|A|. Deux arcs u,v codant la même arête sont liés par un pointeur inv: inv(u)=v et inv(v)=u.

Matrice des distances entre arcs D, m'×m'.

8

Matrice des distances entre arcs D , m' × m' . 8 7 6 i j

7

7
7

6

des distances entre arcs D , m' × m' . 8 7 6 i j no
des distances entre arcs D , m' × m' . 8 7 6 i j no

i

j

no u
no
u

10

10

10

entre arcs D , m' × m' . 8 7 6 i j no u 10

no

v

v

D(u,v)=21: distance de l'arc u à l'arc v (u,v non inclus), tenant compte des interdictions de tourner.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #25

Chromosome et croisement

Après ce codage, le MA ressemble à celui pour le VRP, mais avec des index d'arcs au lieu d'index de nœuds.

Chromosome:

suite de t indices d'arcs (1 par tâche). plus courts chemins implicites entre tâches. pas de délimiteurs de tournées (tour géant avec W=) chaque tâche figure sous forme d'un de ses deux arcs!

Adaptation des croisements LOX et OX :

on copie un arc u d'un parent dans un enfant seulement si u et inv(u) ne sont pas déjà dans C.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #26

Evaluation: procédure SPLIT in O(t 2 )

a(4)

c(5) 20 20 b(3) 5 d(1) 5 5 20 15 9 10 11 13 11
c(5)
20
20
b(3)
5 d(1)
5
5
20
15
9
10 11
13
11
14
5 12
10
7
16
20 depot

e(6)

Chromosome S = (a,b,c,d,e)

5 Trip 3 5 5 20 15 10 11 13 9 Trip 1 5 7
5
Trip 3
5
5 20
15
10
11
13
9
Trip 1
5
7
20
16
Découpe optimale, coût 141
bcd(80) bc(56) de(50) 0 a(37) 37 b(27) 51 c(40) 91 d(32) 115 e(33) 141 ab(51)
bcd(80)
bc(56)
de(50)
0 a(37)
37 b(27)
51 c(40)
91 d(32)
115 e(33)
141
ab(51)
cd(64)

Graphe auxilaire des tournées pour W=9. Chemin optimal en gras.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #27

Recherche locale du MA 1/2

2-OPT + Or-opt + échanges, dans 1 ou 2 tournées. Les deux directions d'une arête doivent être gérées!

Exemple avec 2-OPT: des arêtes peuvent être inversées.

u y T1 T2 x v depot
u
y
T1
T2
x
v
depot

Before

T1
T1

x

u

inversées. u y T1 T2 x v depot Before T1 x u T2 y v After
inversées. u y T1 T2 x v depot Before T1 x u T2 y v After

T2

y

y v

v

v
u y T1 T2 x v depot Before T1 x u T2 y v After (case

After (case 1)

u y T1 T2 inv ( x) inv (v)
u
y
T1
T2
inv ( x)
inv (v)

After (case 2)

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #28

Recherche locale du MA 1/2

Complications soulevées dans le cas du MCARP :

suite de liens NON inversible si elle contient des arcs. la matrice des distances D n'est PAS symétrique. le coût d'une suite peut changer après inversion si on accepte les arêtes "venteuses" (windy : c ij c ji ).

Il est quand même possible d'évaluer l'ensemble des mouvements en O(t 2 ) seulement…

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #29

Résultats pour le CARP

Comparaison avec méthode taboue de Hertz et al. (2000)

Instances

DeArmon 23 pbs, t 55

Belenguer 34 pbs, t 97

Eglese 24 pbs, t 190

 

TS

MA

TS

MA

TS

MA

Ecart moy BI %

0.48

0.15

1.90

0.61

4.74

2.47

Ecart max BI %

4.62

1.78

8.57

4.26

8.61

4.46

BI atteinte

18

21

15

22

0

0

Meilleures solns

19

23

17

32

0

19

Durée (s) 1 GHz

9.0

5.3

63.9

38.3

?

527.0

BI: borne inférieure de Belenguer et Benavent (2003). Longo (2006): le MA résoud tous les DeArmon optimalement!

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #30

Résultats pour le MCARP

Borne inférieure BI basée sur une formulation linéaire en nombres entiers et une méthode polyédrale.

34 instances de taille moyenne (disponibles)

Obtenues en orientant des arêtes dans des instances classiques du CARP: 24-50 nœuds, 43-138 tâches. Ecart moyen à BI = 0.49%, 24 optima prouvés.

15 instances de très grande taille (disponibles)

Imitant la collecte de déchets, jusqu'à 1200 arcs. Ecart moyen à BI = 0.32%, 6 optima prouvés.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #31

Exemple de MCARP: n=28, m=68, t=50 240-33-273 264-18-282 183-20-203 214-21-235 047-22-069 1 23456 265-33-298
Exemple de MCARP: n=28, m=68, t=50
240-33-273
264-18-282
183-20-203
214-21-235
047-22-069
1
23456
265-33-298
097-18-115
325-20-345
000-21-021
207-22-229
000
000
122
324
112
285
453
453
22
22
19
20
21
21
19
19
022
022
141
344
133
306
472
472
066-21-087
014-18-032
205
7
187-44-231
8
9
10
11
41
246
000-18-018
300
088
000
379
101
311
153
17
21
17
17
18
18
23
317
109
017
396
119
329
176
depot and dumping site
172-40-212
000-18-018
301-15-316
12
13
14
15
16
17
014-21-035
372-19-391
381
390
000
000
000
000
139
110
377
20
20
19
19
27
17
26
15
15
401
410
019
019
027
017
165
125
392
343-37-380
000-19-019
094-18-112
308-19-327
349-21-370
18
19
20
21
22
23
238
204
000
707
707
159
053
146
478
478
14
18
18
22
22
17
25
204
17
17
26
255
229
014
724
724
185
071
164
500
500
25
229
334-39-373
000-18-018
247-21-268
715-37-752
24
25
26
27
28
147-39-186
054-18-072
368-21-389
715-37-752

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #32

Références

Lacomme, Prins, Ramdane-Chérif, Competitive memetic algo- rithms for arc routing problems, Annals of OR, 131, p. 159- 185, 2004.

Belenguer, Benavent, Lacomme, Prins, Lower and upper bounds for the mixed CARP, Comp. Oper. Res., 33(12), p. 3363-3383, 2006.

Prins, Bouchenoua, An MA solving the VRP, the CARP, and more general routing problems with nodes, edges and arcs. In Hart et al. (éd.): Recent advances in memetic algorithms, Springer, 2004.

NB: nous sommes les seuls à avoir publié sur le MCARP.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #33

Partie 3

Renforcement des MA :

MA|PM

En collaboration avec :

K. Sörensen (Univ. Anvers, Belgique) M. Sevaux (Univ. Bretagne-Sud, Lorient)

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #34

MA|PM (Sörensen, 2003)

Memetic Agorithm with Population Management.

Principe. MA avec :

petite population de bonnes solutions bien diversifiées gestion de la population pour contrôler la diversité.

Gestion de population :

distance d(x,y) dans l'espace des solutions distance à une population P: d P (s) = min {d(s,x): xP} nouvelle solution s ajoutée à P seulement si d P (s) ajustement dynamique du seuil de diversité

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #35

MA|PM pour les pbs de tournées

1:

initialiser population P et seuil de diversité

2:

répéter

3:

choisir deux parents P 1 , P 2 dans P

4:

croisement OX sur P 1 , P 2 enfant C

5:

si random < P LS alors C LS(C) finsi

6:

choisir B au hasard dans la pire moitié de P

7:

tant que d P (C) <

ou

| si d P (C) alors

8:

muter C

|

B C

9:

fintantque

| finsi

10:

B C

| //sinon ignorer C

11:

mettre à jour le seuil

12:

jusqu'à (critère d'arrêt).

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #36

Quelques avantages de MA|PM

Chaînon manquant entre MA et Scatter Search (SS). Contrôle actif de diversité avec la gestion de population. Structure de type MA : plus facile à implémenter que SS. Peut s'appliquer à tout MA existant (upgrade).

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #37

Exemples de distances possibles 1/2

Deux chromosomes X,Y pour le VRP (n clients), sans délimiteurs de tournées : distances entre permutations.

Distance de Hamming :

D H (X,Y) = nb de positions avec valeurs dans X, Y.

D

H

(

X Y

,

)

=

i

= 1,

n

(

( )

X i

Y i

( ))

Valeurs dans [0,n]. Calculable en O(n). Inconvénient: D H (X,Y) = n si Y est une "rotation" de X.

Distance des "paires cassées" :

D R (X,Y)=nb de paires {X i ,X i+1 } non adjacentes dans Y. Valeurs dans [0,n-1]. Calculable en O(n).

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #38

Exemples de distances possibles 2/2

Distance de Levenshtein ("edit distance") D L :

X et Y vus comme des chaînes de symboles D L (X,Y) nb min d'opérations pour changer X en Y. Autorisées : effacer, insérer ou remplacer un symbole. Valeurs dans [0,n]. Calculable en O(n 2 ) par programmation dynamique.

Exemple. D L ("fruits","brutes") = 4:

fruits bruits bruts brutes

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #39

Politiques de contrôle du seuil

MA|PM accepte un enfant C si d P (C) . Politiques :

= constante, exemple =1 pas de clones augmenter depuis 1 jusqu'à une valeur maximale idem, mais reset si la meilleure solution est améliorée.

max value:

0.7 x dmax

min value: 1

New best soln found Stop Crossovers
New best soln found
Stop
Crossovers

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #40

Résultats

Etude sur le CARP présentée à TRISTAN 5 (2004) :

meilleurs résulats avec distance des paires cassées résultats un peu meilleurs que le MA de base mais 5 fois moins de croisements (converge plus vite) et temps de calcul divisés par 3.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #41

Partie 4

VRP à flotte hétérogène (HVRP)

En collaboration avec :

P. Lacomme (Univ. Blaise Pascal, Clermont-Ferrand) N. Labadi (UTT)

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #42

Le HVRP

VRP mais t types de véhicules. Type k défini par :

capacité Q k et disponibilité a k coût fixe F k "coût variable" V k (= coût par unité de distance)

Coût d'une tournée de longueur L faite par le type k:

C = F k + V k .L

But: minimiser le coût total des tournées, chacune étant affectée à un véhicule compatible.

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #43

Comment adapter SPLIT ? 1/2

Chromosome S et une tournée faisable T de longueur L.

VRP classique :

cost(T) = L

découpe en O(m) pour m arcs (algorithme de Bellman)

ab:55 cd :95 40 55 150 a :40 b :50 c :60 115 d :80
ab:55
cd :95
40
55
150
a :40
b
:50
c :60
115 d :80
e :70
0
205
bc:85
bcd:120
de:90

Vehicle Fleet Mix Problem (VFMP, disponibilités infinies) :

cost(T)=F(k)+V(k).L, k type compatible le moins cher. le calcul du chemin optimal ne change pas!

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #44

Comment adapter SPLIT ? 2/2

Vrai HVRP. Les disponibilités a(k) sont limitées :

le coût de T dépend du véhicule utilisé ceci peut se modéliser avec des arcs parallèles chemin faisable: au plus a(k) véhicules par type k

Chemin optimal à contraintes de ressources!

NP-difficile si une seule resource et si chaque arc a besoin de plusieurs unités (Meggido, 1979). Nous avons prouvé qu'il reste NP-difficile dans notre cas (réduction de PATH WITH FORBIDDEN PAIRS).

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #45

Programmation dynamique

Soit F(j,x 1 ,x 2 ,…,x t ) :

le coût d'une découpe optimale de S 1 S j avec 0 x k a k véhicules de chaque type k.

Notre but est de calculer F(n,a 1 ,a 2 ,…,a t ) et nous avons :

F(0,x 1 ,x 2 ,…,x t )=0, pour tout type k et tout 0 x k a k j > 0, F(j,x 1 ,x 2 ,…,x t ) = min {F(i,x 1 ,x 2 ,…,x k -1,…,x t ): i j, load(i,j) Q k , x k >0)

Peut être résolu en O(mn t ) si t n. SPLIT est donc NP-difficile, mais pseudo-polynomial. Elle est même polynomiale pour t fixé!

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #46

Quelques résultats

8 instances de Taillard, n=50-100 Meilleures solutions connues (BKS) dans Tarantilis et al. Un seul réglage de parameters - PC à 2.4 GHz

Auteurs

Année

Méthode

Ecart BKS

Durée (s)

Li et al.

à paraître

RTR

-0.49%

286

Lacomme et al.

en cours

MA|PM

-0.45%

75

Lacomme et al.

en cours

MA

-0.04%

50

Tarantilis et al.

2004

TA

0.09%

86

Taillard

1999

HCG

0.40%

26

Le MA améliore 4 meilleures solutions connues. Le RTR et le MA|PM en améliorent 6!

C. PRINS - Algorithmes mémétiques pour les problèmes de tournées de véhicules - Slide #47

Conclusion

Nos MA sans délimiteurs de tournées sont des outils efficaces pour les problèmes de tournées de véhicules.

La procédure SPLIT est très flexible, tant que le problème de chemin optimal est polynomial (VRP, CARP, MCARP, PCARP) ou au moins pseudo-polynomial (HVRP) !

Point de vue du génie logiciel : l'extension progressive GA MA MA|PM est (relativement) facile.

Remarques confirmées par d'autres applications non citées ici (Stochastic CARP, tournées multi-objectifs…).