43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 [email protected]

Transcript of 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

Page 1: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

[email protected]

Page 2: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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)

Page 3: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

Page 4: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 P1, P2 dans Pop 4: croiser P1 et P2 → enfants C1, C2 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.

Page 5: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 P1, P2 dans Pop 5: croiser P1 et P2 → enfants C1, C2 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).

Page 6: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 qi 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.

Page 7: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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.

Page 8: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 ?

Page 9: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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) :

V = (0, 1, 2, …, n), nœud fictif 0 un arc (i,j) ∈ A pour chaque tournée Si+1…Sj :

WSqj

ikk ≤∑

+= 1

)(

Cij coût de la tournée :

)0,(),(),0(1

111 j

j

ikkkiij SdSSdSdC ++= ∑

+=++

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

Page 10: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

Evaluation : procédure SPLIT 2/2

a(5)

b(4)c(4)

d (2)

e(7)

10

30 25

1530 40

35

25

20

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

a

bc

d

eT1:55 T3:90T260

Découpe optimale, coût 205

a:40 b:50 c:60 d:80 e:70

ab:55

bc:85bcd:120

cd :95

de:90

040 55 115 150

205

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

Page 11: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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(n2).

Page 12: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

+=+∞=≠∀=

− ) deur prédécesse:)((min)()(:0;0)0(

1

00

jiCiFjFjFjF

ijkk

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

Page 13: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 :

∀ P1, P2 ∈ Pop : |cost(P1) – cost(P2)| ≥ ∆ tout enfant violant cette règle est rejeté taux de rejet peu élevé si nc petit, exemple nc = 30

Composition initiale de Pop:

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

Page 14: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

Recherche locale du MA 1/2

v

xyDepot

u v

xy

u

a ba b

Or-OPT Déplacement de chaînes

2-OPT Croisement de deux arêtes

u v u v

x y x y

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

Page 15: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

x yT1 T2

u v

x y

u v

x yT1 T2

u v

x y

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

L'ensemble des mouvements est évaluable en O(n2).

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

Page 16: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 P1, P2 par tournoi binaire 5: croisement OX sur P1, P2 → enfant C 6: si random < PLS 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.

Page 17: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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.

Page 18: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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.

Page 19: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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.

Page 20: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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)

Page 21: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 …

Page 22: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

Un petit exemple de CARP: gdb1

1

2 3

4

5

6

7

8

9

10

11

12

2

3 3

4

4

5

127

11

810

13

14

16

19

17

18

209

20

19 18

T1 : 99 T2 : 30

T3 : 66 T4 : 71

T5: 50 Optimum:5 tripstotal cost 316

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

Page 23: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

i

j

i

j

Un arc Rue à sens unique

2 arcs opposés Rue à double sens

Côtés indépendants

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

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

Page 24: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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'.

i j

10 10

7 8 6

u vno no

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

Page 25: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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.

Page 26: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

Evaluation: procédure SPLIT in O(t2)

a(4)

b(3)c(5)

d(1)

e(6)5

55

5

7

20

12

1111

20 1513

14

10

16

10

20 20

9

depot

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

205

10

5

5

5

1120 15

13 9

716

Trip 1

Trip 3

Découpe optimale, coût 141

a(37)115

b(27) c(40) d(32) e(33)

ab(51) cd(64)

bc(56) de(50)

bcd(80)

9151370 141

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

Page 27: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

x v

T1

T2

depot

Before After (case 1)

u

v

After (case 2)

u y

inv (x) inv (v)

T1 T2T1

T2

y

x

Page 28: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 : cij ≠ cji). Il est quand même possible d'évaluer l'ensemble des mouvements en O(t2) seulement…

Page 29: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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!

Page 30: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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.

Page 31: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 1 2 3 4 5 6

7 8 9 10 11

12 13 14 15 16 17

18 19 20 21 22 23

24 25 26 27 28

depot and dumping site

265-33-298

240-33-273

000 22022

097-18-115

264-18-282

325-20-345

183-20-203 214-21-235

000-21-021 207-22-229

112 21133

047-22-069

453 19472

187-44-231

101 18119

122 19141

153 23176

324 20344

285 21306

066-21-087

000-18-018

453 19472

014-18-032

000 17017

000 22022

311 18329

381 20401

172-40-212

000 19019

205 41246

000-18-018

000 19019

300 17317

301-15-316

014-21-035

088 21109

372-19-391

379 17396

110 15125

390 20410

343-37-380

478 22500

478 22500

000-19-019

238 17255

000 27027

094-18-112

204 25229

000 14014

000 17017

308-19-327

707 17724

139 26165

349-21-370

377 15392

053 18071

147-39-186

204 25229

334-39-373

054-18-072 368-21-389

000-18-018

707 17724

159 26185

247-21-268 715-37-752

715-37-752

146 18164

Page 32: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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.

Page 33: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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)

Page 34: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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: dP(s) = min {d(s,x): x∈P} nouvelle solution s ajoutée à P seulement si dP(s) ≥ ∆ ajustement dynamique du seuil de diversité ∆

Page 35: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 P1, P2 dans P 4: croisement OX sur P1, P2 → enfant C 5: si random < PLS alors C ← LS(C) finsi 6: choisir B au hasard dans la pire moitié de P 7: tant que dP(C) < ∆ ou | si dP(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).

Page 36: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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).

Page 37: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 : DH(X,Y) = nb de positions avec valeurs ≠ dans X, Y.

∑=

≠=ni

H iYiXYXD,1

))()((),(

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

Distance des "paires cassées" : DR(X,Y)=nb de paires {Xi,Xi+1} non adjacentes dans Y. Valeurs dans [0,n-1]. Calculable en O(n).

Page 38: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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") DL :

X et Y vus comme des chaînes de symboles DL(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(n2) par programmation dynamique.

Exemple. DL("fruits","brutes") = 4:

fruits → bruits → bruts → brutes

Page 39: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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 dP(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.

Crossoversmin value: 1

max value:0.7 x dmax

New best soln found Stop

Page 40: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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.

Page 41: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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)

Page 42: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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é Qk et disponibilité ak coût fixe Fk "coût variable" Vk (= coût par unité de distance)

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

C = Fk + Vk . L But: minimiser le coût total des tournées, chacune

étant affectée à un véhicule compatible.

Page 43: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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)

a:40 b:50 c:60 d:80 e:70

ab:55

bc:85bcd:120

cd :95

de:90

040 55 115 150

205

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!

Page 44: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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).

Page 45: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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

Programmation dynamique Soit F(j,x1,x2,…,xt) :

le coût d'une découpe optimale de S1…Sj avec 0 ≤ xk ≤ ak véhicules de chaque type k.

Notre but est de calculer F(n,a1,a2,…,at) et nous avons :

F(0,x1,x2,…,xt)=0, pour tout type k et tout 0 ≤ xk ≤ ak

∀j > 0, F(j,x1,x2,…,xt) = min {F(i,x1,x2,…,xk-1,…,xt): i ≤ j, load(i,j) ≤ Qk, xk>0)

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

Page 46: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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!

Page 47: 43613706 2006 Algorithmes Memetiques Pour Les Problemes de Tournees de Vehicules Slides

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…).