R´ esum´ eDans le probl`eme de tourn´ees de v´ehicules Vehicle RoutingProblem - VRP une flotte de v´ehicules est disponible pourservir un ensemble de clients avec la demande connue.. Dan
Trang 1Institut de la Francophonie pour l’Informatique
MEMOIRE DE FIN D’ETUDES MASTER D’INFORMATIQUE
par NGUYEN Thanh Tuan
Trang 2A ma famille
Trang 3Je remercie tous les professeurs, les doctorants du toire Math´ematique Appliqu´ees du Havre, Monsieur Fran¸coisVanderbeck, C´edric Joncour et les membres de l’´equipe REA-LOPT - INRIA qui m’ont donn´e les meilleurs supports toute
Labora-la dur´ee de mon stage
Merci enfin `a mes camarades de promotion 12 IFI qui m’ontdonn´e les meilleurs sentiments dans mes ´etudes `a l’IFI
i
Trang 4R´ esum´ e
Dans le probl`eme de tourn´ees de v´ehicules (Vehicle RoutingProblem - VRP) une flotte de v´ehicules est disponible pourservir un ensemble de clients avec la demande connue Chaqueclient est n´ecessaire pour ˆetre visit´e exactement par un v´ehi-cule et l’objectif est de r´eduire la distance totale voyag´ee Dans
Le probl`eme de tourn´ees de v´ehicules avec livraisons divisibles(Split Delivery Vehicle Routing Problem - SDVRP) la restric-tion que chaque client doit ˆetre visit´e exactement une fois estsupprim´ee, c’est-`a-dire, des livraisons divisibles sont autoris´ees,plusieurs v´ehicules peuvent ˆetre utilis´es pour satisfaire la de-mande de chaque client Dans cette m´emoire, nous pr´esentons
un ´etat de l’art de SDVRP et l’approche de la g´en´eration decolonnes pour le SDVRP qui a ´et´e impl´ement´ee avec la plate-forme BapCod Des r´esultats num´eriques montrent lˇSefficacit´e
de la m´ethode propos´ee
Mots cl´es : Le probl`eme de tourn´ees de v´ehicules, Le bl`eme de tourn´ees de v´ehicules avec livraisons divisibles, Re-cherche Op´erationnelle, G´en´eration de Colonnes
pro-ii
Trang 5In the classical Vehicle Routing Problem (VRP) a fleet ofcapacitated vehicles is available to serve a set of customers withknown demand Each customer is required to be visited byexactly one vehicle and the objective is to minimize the totaldistance traveled In the Split Delivery Vehicle Routing Pro-blem (SDVRP) the restriction that each customer has to bevisited exactly once is removed, i.e., split deliveries are allo-wed, the demand of each customer can be fulfilled by severalvehicles In this report we present a survey of the state-of-the-art on the SDVRP and a column generation approach which
is implemented for the SDVRP with the place-form BapCod.Computational results show the effectiveness of the proposedmethod
Keywords: Vehicle Routing Problem, Split Delivery hicle Routing Problem, Operations Research, Column Genera-tion
Ve-iii
Trang 6Table des mati` eres
0.1 Equipe REALOPT - Reformulations et algorithmes
pour l’Optimisation combinatoire 1
0.2 Description du stage 2
0.2.1 Objectifs d´etaill´es du stage 3
0.2.2 Organisation du rapport 4
1 Le probl`eme de tourn´ees de v´ehicules avec li-vraisons divisibles 6 1.1 Introduction 6
1.2 D´efinition et formulation du probl`eme 7
1.3 Propri´et´es et complexit´e 10
1.3.1 La complexit´e 10
1.3.2 Les propri´et´es 11
1.3.3 Analyse au pire cas 14
1.3.4 Un exemple 14
iv
Trang 7TABLE DES MATI ` ERES v
2 G´en´eration de Colonnes et Reformulations 16
2.1 Introduction 16
2.2 La g´en´eration de colonnes 18
2.3 La reformulation du SDVRP 21
2.3.1 La reformulation en g´en´eration de colonnes 21 2.3.2 L’algorithme de g´en´eration de colonnes 23 3 Impl´ementation et Test´e 25 3.1 BAPCOD - a generic Branch-And-Price Code 25 3.2 Impl´ementation 26
3.2.1 Codes 27
3.2.2 Instances 27
3.2.3 R´esultats 28 Conclusion et Perspectives 30
A Un exemple d’instance 35
B Codes de SDVRP dans BapCod 36
Trang 8Table des figures
0.1 Un exemple du TSP 3
0.2 Un exemple du VRP 4
0.3 Un exemple du SDVRP 5
1.1 Un cycle 4-split 12
1.2 Un exemple de VRP et SDVRP 15
2.1 L’algorithme de g´en´eration de colonnes 24
3.1 R´esultats 28 3.2 Le changement de borne duale dans l’instance ”test02” 28
vi
Trang 9et algorithmes pour l’Optimisation combinatoire
Ce stage a ´et´e r´ealis´e au sein de l’´equipe REAOPT de RIA
l’IN-Pr´esentation de l’´equipe de recherche
L’´equipe REALOPT commune avec le LaBRI (CNRS/Universit´e
de Bordeaux 1/ENSEIRB) et l’IMB (CNRS/Universit´es de deaux 1 et 2) L’objectif de l’´equipe est de travailler sur laqualit´e des formulations de probl`emes d’optimisation combina-toire S’approche consiste `a combiner des techniques avanc´eestelles que l’approche poly´edrale, l’approche de d´ecompositionLagrangienne, et les techniques venant de l’optimisation non-lin´eaire et de la th´eorie des graphes En partenariat avec desindustriels, l’´equipe REALOPT travaille sur des applicationscomplexes en logistique (probl`emes de tourn´ees), en planifica-tion de la production et ordonnancement des tˆaches, conception
Bor-et gestion des r´eseaux et des horaires, et sur des probl`emes ded´ecoupe et de placement
1
Trang 10TABLE DES FIGURES 2
Axes de recherche
Le projet de l’´equipe rassemble des expertises compl´taires en optimisation combinatoire : programmation en nombresentiers (´etudes poly´edrales, m´ethode de ”branch-and-price-and-cut ”), programmation quadratique (”semi-definite-programming”),
emen-et th´eorie des graphes (mod´elisation dans les graphes et tation de r´esultats pour r´eduire l’espace des solutions) REA-LOPT d´eveloppe des solutions approch´ees aux probl`emes degrande taille et des heuristiques primales bas´ees sur des ap-proches de programmation math´ematiques
Le sujet du stage
Le probl`eme du Voyageur de Commerce (Traveling man Problem - TSP) est un des probl`emes d’optimisation com-binatoire les plus connus, Il pose le probl`eme suivant; Avec seulv´ehicule partir d’un d´epˆot, trouver un chemin de longueur to-tale minimale qui passe exactement une fois par chaque client
Sales-et revienne au d´epˆot (voir figure 0.1)
Le probl`eme de tourne´es de v´ehicules (Vehicle Routing blem - VRP) est une version tendue du Probl`eme du Voyageur
Pro-de Commerce, qui consiste visiter Pro-des clients partis d’un d´epˆot
et au moyen d’une flotte de v´ehicules, avec un coˆut minimal(voir figure 0.2)
Le probl`eme de tourn´ees de v´ehicules avec livraisons divisibles(Split Delivery Vehicle Routing Problem - SDVRP) est un as-souplissement du VRP o`u il s’autorise que plusieurs v´ehiculespeuvent ˆetre utilis´es pour satisfaire la demande de chaque client(voir figure 0.3), si elle r´eduit les coˆuts globaux Cette relaxa-tion est tr`es importante si la demande de chaque client peut
Trang 11TABLE DES FIGURES 3
Fig 0.1: Un exemple du TSP
ˆ
etre sup´erieure `a la capacit´e de v´ehicule
Le SDVRP a ´et´e introduit par Dror et Trudeau ([13], [14]), quiont soulign´e les propri´et´es des solutions optimales et ont pro-pos´es une heuristique de recherche locale Depuis lors, plusieursheuristiques ont ´et´e d´evelopp´ees pour le SDVRP Ce stage ´etu-die une approche pour r´esoudre le SDVRP : la m´ethode de g´e-n´eration de colonnes
0.2.1 Objectifs d´ etaill´ es du stage
Les objectifs d´etaill´es sont :
- ´Etudier l’´etat de l’art du SDVRP, la formulation, les pri´et´es, la compl`exit´e
pro Comprendre la m´ethode de g´en´eration de colonnes, muler le probl`eme
refor ´Etudier la plate-forme BapCod, sur laquelle, impl´ementerl’algorithme de g´en´eration de colonnes propos´ee pour le SD-
Trang 12TABLE DES FIGURES 4
Trang 13TABLE DES FIGURES 5
Fig 0.3: Un exemple du SDVRP
Trang 14Chapitre 1
divisibles
Dans le probl`eme de tourn´ees de v´ehicules avec livraisonsdivisibles une flotte de v´ehicules homog`enes capacit´es est dispo-nible pour servir d’un ensemble de clients Chaque client peutˆ
etre visit´e plusieurs fois, contrairement `a ce qui est g´en´ment suppos´e dans le probl`eme de tourne´es de v´ehicules, et
erale-la demande de chaque client peut ˆetre sup´erieure `a la cit´e de v´ehicule Chaque v´ehicule doit d´emarrer et terminerson tour au d´epˆot Le probl`eme consiste `a trouver un ensembled’routes v´ehicule qui servent tous les clients, telle que la sommedes quantit´es livr´ees dans chaque tour n’exc`ede pas la capacit´ed’un v´ehicule et la distance totale voyag´ee est r´eduite
capa-Le SDVRP a ´et´e introduit dans la litt´erature il y a ron vingt ans par Dror et Trudeau ([13] et [14]) qui ont mo-tiv´e l’´etude du SDVRP par prouver qu’il peut avoir des ´econo-mies g´en´er´ees en permettant aux livraisons divisibles Archetti,Savelsbergh et Speranza [7] analysent les ´economies possibles
envi-6
Trang 15CHAPITRE 1 LE PROBL ` EME DE TOURN ´ EES DE V ´ EHICULES AVEC LIVRAISONS DIVISIBLES 7
maximales obtenues par permettant des livraisons divisibles,tandis que dans [8], des auteurs ont mˆeme pr´esent une ´etudecalcule afin de montrer comment les ´economies d´ependent lescaract´eristiques de l’instance Les in´egalit´es valides pour le SD-VRP sont d´ecrites par Dror, Laporte et Trudeau [14], tandisque Belenguer, Martinez et Mota [4] propose une limite inf´e-rieure pour le cas o`u la demande de chaque client n’exc`edepas la capacit´e de v´ehicule Archetti, Mansini et Speranza [11]analysent la complexit´e algorithmique du SDVRP et le cas desv´ehicules avec petite capacit´e
Les applications r´eelles de SDVRP ses trouvent dans le vail par Mullaseril, Dror et Leung [6], o`u les auteurs consid`erent
tra-le probl`eme de la gestion d’une flotte de camions pour buer d’aliment dans un ranch de b´etail et formulent comme
distri-un SDVRP avec fenˆetres de temps (time windows) Sierksma
et Tijssen [5] consid`erent le probl`eme de d´eterminer l’horaire
de vol pour h´elicopt`eres aux plates-formes pour l’´echange del’´equipage personnes employ´ees sur ces plates-formes hors terre
Dans ce chapitre, nous pr´esenterons la formulation de bl`eme dans section 1.2, puis les propri´et´es et la complexit´e deSDVRP en section 1.3
pro-1.2 D´ efinition et formulation du probl` eme
Rappel de la th´eorie des graphes
Rappelons quelques notions essentielles de la th´eorie des graphes.D´efinition 1.2.1 (Graphe simple non-orient´e) Un graphe simplenon-orient´e G est un couple (V,E), o`u V est un ensemble dontles ´el´ements sont les sommets, E est un ensemble de paires(non ordonn´ees) de sommets, appel´ees arˆetes
Trang 16CHAPITRE 1 LE PROBL ` EME DE TOURN ´ EES DE V ´ EHICULES
AVEC LIVRAISONS DIVISIBLES 8
D´efinition 1.2.2 (Chemin) Un chemin d’un noeud X `a unnoeud Y dans un graphe non-orient´e G est un ensemble d’arˆetes
A = (X1,X2),(X2,X3), ,(Xn−1,Xn) tel que A ∈ V et X = X1
et Xn = Y ; la longueur du chemin A est |A|
D´efinition 1.2.3 (Chemin El´ementaire) Un chemin A = {(X1,X2),(X2,X3), ,(Xn−1,Xn)} est ´el´ementaire si chacun des sommets
du parˆeteours est visit´e une seule fois : ∀i,j tels que 1 ≤ i,j ≤ n
et i 6= j on a : Xi 6= Xj Un chemin ´el´ementaire est un min simple (chaque arˆete est emprunt´ee une seule fois) et sansboucle
che-Le SDVRP peut ˆetre d´efini sur un graphe G = (V,E) avecl’ensemble de sommet V = {0,1, ,N }, o`u 0 d´esigne le d´e-
pˆot et les autres sommets repr´esentent les clients, et l’ensembled’arˆetes E Le coˆut cij (´egalement appel´ee longueur) du parˆe-teours d’une arˆete (i,j) ∈ E, suppose qu’elle n’est pas n´egative
et satisfaite `a l’in´egalit´e triangulaire Une demande di est ci´ee chaque client i ∈ V − {0} Un nombre illimit´e de v´ehiculessont disponible, chacune avec capacit´e Q ∈ Z Nous supposonsqu’une limite sup´erieure M sur le nombre de v´ehicules n´eces-saires pour servir les clients est disponible
asso-Chaque v´ehicule doit d´emarrer et terminer son tour au d´
e-pˆot Les demandes de clients doivent ˆetre satisfaites, et la tit´e livr´ee dans chaque visite ne peut pas d´epasser Q L’objectifest de r´eduire la distance totale voyag´ee par les v´ehicules
quan-Nous offrons ci-dessous une enti`ere mixte programmationformulation (P) pour le SDVRP Nous utilisons les notationssuivantes :
– xij est une variable binaire qui prend la valeur 1 si lev´ehicule k voyage directement `a partir de i `a j et 0 sinon,– aik est la quantit´e de la demande de i livr´ee par le v´ehicule
Trang 17CHAPITRE 1 LE PROBL ` EME DE TOURN ´ EES DE V ´ EHICULES AVEC LIVRAISONS DIVISIBLES 9
Trang 18CHAPITRE 1 LE PROBL ` EME DE TOURN ´ EES DE V ´ EHICULES AVEC LIVRAISONS DIVISIBLES 10
contraintes 1.5 et 1.6 assurent que la livraison totale de la route
ne peut pas d´epasser la capacit´e de v´ehicule mais doit ˆetre aumoins PN
i di − (M − 1)Q Les contraintes 1.7 garante que lademande est satisfaite pour tous les points Enfin, on retrouveles contraintes d’´elimination des sous-tours en 1.8
On peut distinguer deux cas du SDVRP, la demande di dechaque client i est discr`ete ou continue, c’est-`a-dire, dans le casque la demande est unitaire, aik est enti´ere, et inversement, aikest continue Dans ce rapport, nous ´etudions seulement le casque la demande est discr`ete
1.3 Propri´ et´ es et complexit´ e
Dans cette section on r´esume les contributions `a la plexit´e du SDVRP et on vois aussi les certaines propri´et´es duSDVRP
com-1.3.1 La complexit´ e
Dans le cas Q = 2, nous montrer que toute instance duSDVRP peut ˆetre transform´ee en une instance du ”minimumweight b-matching problem” On a un algorithme de polynˆomepour r´esoudre ce probl`eme, qui est un cas particulier du ”mat-ching problem” g´en´eral, le SDVRP peut ˆetre r´esolu en tempspolynˆomial Le ”minimum weight b-matching problem” est d´e-fini comme suit Laisser ˜G = ( ˜V , ˜E) un graphe non-orient´e, pos-sible avec des boucles, ˜ce le poids de l’arˆete e ∈ E et bi ∈ Z+
un param`etre associ´e `a vertex i ∈ ˜V L’objectif est de trouver
un vecteur int´egrante de poids minimum x ∈ Z| ˜E| telles que
Trang 19CHAPITRE 1 LE PROBL ` EME DE TOURN ´ EES DE V ´ EHICULES AVEC LIVRAISONS DIVISIBLES 11r´esolus en temps polynˆomial.
Preuvu ´Etant donn´e une instance du SDVRP avec Q = 2d´efini sur graphe G = (V, E), nous construisons une instance
du ”minimum weight b-matching problem” comme suit Nousconstruisons un graphe compl`ete non-orient´e ˜G = ( ˜V , ˜E) o`u
de x sur l’arˆete (i,j) donne le nombre des routes qui visitentdes sommets i et j La valeur de x sur une boucle sur le som-met i donne le nombre de routes directs du d´epˆot au sommet
i Si la somme de x des bords incidents `a i et deux fois de xdes boucles sur i d´epasse di, il d´epasse di par une unit´e et celasignifie que l’un des v´ehicules qui visite i comporte uniquementune division
Dans le cas Q ≥ 3, le SDVRP est NP-difficile
Th´eor`eme 1.3.2 [11] Le SDVRP o`u chaque client a la mande unitaire est NP-difficile pour Q ≥ 3
de-1.3.2 Les propri´ et´ es
Dans l’article [10], Arhetti, Hertz et Speranza ont preuvesqu’il existe toujours une solution optimale enti`ere `a (P )
Th´eor`eme 1.3.3 Si (P ) a les solutions r´ealisables alors ilexiste toujours une solution optimale que les variables aik sontenti`eres
Dans le SDVRP, la demande de clients peut ˆetre sup´erieure
`
a la capacit´e de v´ehicule Il existe une classe d’instances o`u nous
Trang 20CHAPITRE 1 LE PROBL ` EME DE TOURN ´ EES DE V ´ EHICULES AVEC LIVRAISONS DIVISIBLES 12
Fig 1.1: Un cycle 4-split
savons comment de fa¸con optimale servir la partie de d´epasser
la capacit´e de v´ehicule de la demande
D´efinition 1.3.1 (k − split cycle) ´Etant donn´e k clients et kroutes La route 1 visite les clients i1 et i2, la route 2 visite lesclients i2 et i3, la route k − 1 visite les clients ik−1 et ik et laroute k visite les clients ik et i1 Le sous-ensemble de clients
i1,i2, ,ik est appel´e k-split cycl´e
On peut trouver un exemple d’un cycle 4-split dans la figure1.1 Dror et Trudeau ont montr´e que, si les distances satisfontl’in´egalit´e triangulaire, alors il existe toujours une solution op-timale pour le SDVRP qui ne contient pas de cycles de k −split,
k ≥ 2
Th´eor`eme 1.3.4 [14] Si la distance cij satisfait l’in´egalit´e angulaire, alors il existe une solution optimale du SDVRP pourlaquelle il n’y a pas de k − split cycle (pour tout k)
tri-Ce r´esultat est d’une grande importance puisqu’elle permetune r´eduction du nombre de solutions examin´ees pour trouverl’optimum, comme illustr´e dans le corollaire remarquable sui-vant
Corollaire 1.3.0.1 [14] Si le coˆut cij satisfait l’in´egalit´e angulaire, il existe une solution optimale pour le SDVRP o`uaucun couple de routes n’a plus d’un client split´e en commun
Trang 21tri-CHAPITRE 1 LE PROBL ` EME DE TOURN ´ EES DE V ´ EHICULES AVEC LIVRAISONS DIVISIBLES 13
Une autre propri´et´e structurelle des solutions optimales auSDVRP est d´eriv´ee d’Archetti, Savelsbergh et Speranza [7] quiporte le nombre de divisions sur le nombre de routes Laisser
ni ˆetre le nombre de livraisons re¸cues par client i, c’est-`a-dire
le nombre de routes que visite client i Nous disons que client
i est un client avec une livraison divisible si ni > 1 et que lenombre de divisions au client i est ni − 1 Par cons´equent, lenombre total de divisions est ´egal `a Pn
i=1(ni − 1)
Th´eor`eme 1.3.5 [7] Si le coˆut cij satisfait l’in´egalit´e gulaire, il existe une solution optimale pour le SDVRP o`u lenombre de divisions est inf´erieur au nombre de routes
trian-Preuvu Par contradiction Envisager un contre-exemple `a lapropri´et´e avec aucun cycle de k-split (une solution toujoursexiste en raison de th`eor`eme 1.3.4) et le num´ero plus petit desroutes Tout d’abord, nous constatons qu’il devra y avoir aumoins deux divisions par route Supposons qu’il y a un routeavec un division unique Puis nous peuvons r´eduire la demande
du client `a la livraison divisible par le nombre qu’il re¸coit sur
la route et supprimer tous les autres clients servis sur la route.Nous avont r´eduit le nombre de divisions par un et nous avonsr´eduit le nombre de routes par un Par cons´equent, nous avontconstruit un contre-exemple avec un route moins, qui contredit
la minimality de la contre-exemple original ´Etant donn´e quechaque visite a au moins deux divisions et en raison de corol-laire 1.3.0.1, chaque tour est fait ”connect´e” grˆace `a ses clientsavec les livraisons divisibles au moins deux autres routes Celasignifie qu’il existe toutefois au moins un cycle de k-split, quiest une contradiction Par cons´equent, il existe toujours une so-lution optimale de SDVRP dans laquelle le nombre de divisionsest inf´erieur au nombre de routes
Trang 22CHAPITRE 1 LE PROBL ` EME DE TOURN ´ EES DE V ´ EHICULES AVEC LIVRAISONS DIVISIBLES 14
1.3.3 Analyse au pire cas
Le coˆut d’une solution optimale du VRP (z(V RP )) est par´e avec le coˆut d’une solution optimale du SDVRP (z(SDV RP ))par calculer une limite sup´erieure de l’´ecart entre deux valeurs.Dans le travail par Archetti, Savelsbergh Speranza [7] il estd´emontr´e que :
com-z(V RP )z(SDV RP ) ≤ 2 (1.9)
et que cette limite est serr´ee, c’est-`a-dire il existe une instanceo`u la solution optimale du VRP a une valeur qui est deux foisaussi grand que la valeur de la solution optimale du SDVRP Cer´esultat affirme que, avec ´egard pour une solution du VRP, leslivraisons divisibles peuvent ´economiser jusqu’`a 50 % du coˆut
Les instances utilis´es pour d´emontrer l’´etanch´eit´e de limiteci-dessus, tous les v´ehicles ont grande capacit´e et la demandeest discr`ete Par cons´equent, il est int´eressant d’analyser un casavec les v´ehicles de petite capacit´e Dans le travail par Archetti,Savelsbergh Speranza [7], il est montre que, lorsque la capacit´eest Q = 3, puis z(SDV RP )z(V RP ) ≤ 32 et que cette limite est serr´ee
1.3.4 Un exemple
La figure 1.2 illustre les diff´erences entre les deux probl`emes,
le VRP et le SDVRP On consid`ere un r´eseau non orient´e avecdes coˆuts sur les arˆetes, un d´epˆot central et quatre clients a,
b, c, d avec leurs demandes entre crochets On dispose d’uneflotte de trois v´ehicules identiques On a alors des v´ehicules
de capacit´e 18 et des demandes respectives de 7, 10, 6 et 13pour les quatre clients La solution optimale du VRP a un coˆuttotal de 22 et comprend trois tourn´ees : (a, b), (c) et (d) Pour
le SDVRP, la solution optimale a un coˆut ´egal `a 19 et deux
Trang 23CHAPITRE 1 LE PROBL ` EME DE TOURN ´ EES DE V ´ EHICULES AVEC LIVRAISONS DIVISIBLES 15
tourn´ees (a, b, c) et (a, d) On visite deux fois le client a, pourlui livrer 2 puis 5 unit´es de produit
Fig 1.2: Un exemple de VRP et SDVRP