Un algorithme mémétique pour un problème de tournées de véhicules en soins à domicile Mohamed Cissé, Yannick Kergosien, Christophe Lenté Université François-Rabelais de Tours, CNRS, LI EA 6300, OC ERL CNRS 6305, Tours, France {mohamed.cisse, yannick.kergosien, christophe.lente}@univ-tours.fr Mots-clés : tournées de véhicules, soins à domicile, santé, algorithme mémétique 1 Introduction Le problème de tournées de véhicules en soins à domicile consiste à planifier pour un ou plusieurs jours des soins à domicile que nécessitent des patients. De nombreux travaux de recherches [1, 2] ont déjà été publiés. Cependant, la plupart de ces études sont dédiées à des contextes spécifiques. Les méthodes de résolution proposées sont donc difficilement transposables d’une étude à une autre car elle ne tiennent pas compte des mêmes spécificités et contraintes du problème de tournées. Nous nous sommes donc proposés de généraliser le problème afin de formuler dans un même modèle le plus de cas rencontrés dans la littérature. Afin de le résoudre, nous avons développé un algorithme mémétique utilisant un codage indirect. 2 Le problème de tournées de véhicules dans un contexte de soins à domicile Le problème de tournées de véhicules en soins à domicile combine plusieurs caractéristiques qui peuvent être trouvées dans différents problèmes de tournées de véhicules classiques de la littérature : le problème de tournées de véhicules avec fenêtres de temps (VRPTW) ; le problème de tournées de véhicules périodique (PVRP) ; le problème de tournées de véhicules multi-dépôts (MDVRP). Une description synthétique du problème étudié est la suivante. Un ensemble de patients nécessite un ou plusieurs soins à prodiguer sur un horizon de planification d’un ou plusieurs jours. Ces soins devront être réalisés au domicile des patients par le personnel de soins ou soustraités à une structure externe. Ces soins sont caractérisés par une durée de traitement, des fenêtres de temps dans lesquelles ils devront être réalisés, des délais minimaux et maximaux en heures et en jours entre ces soins, et un ensemble de soins ne devant pas être réalisés en même temps. Chaque membre du personnel de soins est caractérisé par un lieu de départ et d’arrivée de ses tournées, un ensemble de jours pour lesquels il est disponible, des horaires de travail, une durée de travail réglementaire quotidienne, un nombre d’heures supplémentaires maximum par jour et par semaine, un coût supplémentaire pour chaque heure entamée, une qualification indiquant quels soins il peut prodiguer, un pause journalière éventuelle. Enfin, pour prendre en compte la continuité des soins, chaque patient est caractérisé par un ensemble de soignants lui ayant déjà prodigué des soins et un nombre maximum de nouveaux soignants qui peuvent encore intervenir. Les données décrites ci-dessus nous permettent de formuler un problème de tournées de véhicules multi-dépôts, périodique, avec fenêtres de temps. Enfin, des contraintes spécifiques au contexte du soin à domicile ont été incluses dans le modèle comme la continuité des soins, la sous-traitance, la synchronisation des soins ou encore leur exclusion. 3 Un algorithme mémétique La méthode proposée pour résoudre ce problème est une hybridation entre un algorithme génétique et une recherche locale, nommée algorithme mémétique. La représentation des solutions est basée sur un codage indirect proposé par Prins [3]. Cette représentation a été utilisée dans de nombreuses métaheuristiques [5] permettant de résoudre efficacement des problèmes de tournées de véhicules classiques. Cependant, ces métaheuristiques ne sont clairement pas adaptées pour le problème traité. Une solution est codée par une séquence de soins sans démiliteur, plusieurs soins pouvant concerner un même patient. Ce codage a l’avantage d’une part, de représenter toutes les solutions de l’espace de recherche et d’autre part, l’algorithme de calcul de la solution à partir d’une séquence peut prendre en compte de nombreuses contraintes. L’algorithme Split proposé dans [4] pour le problème de tournées avec une flotte fixée de véhicules hétérogènes, a été adapté pour décoder une solution. Cet algorithme Split a une complexité exponentielle en théorie bien qu’en pratique une complexité polynomiale soit observée. Des opérateurs de sélection et de croisement classiques ont été utilisés au sein de l’algorithme mémétique. Afin de garantir une diversité parmi les individus, plusieurs mesures de distance entre les individus ont été implémentées. Tout au long de la recherche, cette diversité est maintenue pour éviter la convergence prématurée de l’algorithme. Enfin, les opérateurs de voisinage habituels (k-opt, Or-exchange, CROSS-exchange, . . .) ont été testés pour la recherche locale. Des expérimentations ont été conduites sur des instances générées aléatoirement et sur des instances récupérées de la littérature. Les performances de l’algorithme mémétique ont été comparées à celles de CPLEX, d’algorithmes issues de la littérature et d’algorithmes que nous avions développé auparavant. Références [1] Kris Braekers, Richard F. Hartl, Sophie N. Parragh, and Fabien Tricoire. A bi-objective home care scheduling problem : Analyzing the trade-off between costs and client inconvenience. European Journal of Operational Research, 000 :1–16, 2015. [2] Dorota Slawa Mankowska, Frank Meisel, and Christian Bierwirth. The home health care routing and scheduling problem with interdependent services. Health care management science, jun 2013. [3] Christian Prins. A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 31(12) :1985–2002, oct 2004. [4] Christian Prins, Philippe Lacomme, and Caroline Prodhon. Order-first split-second methods for vehicle routing problems : A review. Transportation Research Part C : Emerging Technologies, 40 :179–200, 2014. [5] Thibaut Vidal, Teodor Gabriel Crainic, Michel Gendreau, and Christian Prins. A unified solution framework for multi-attribute vehicle routing problems. European Journal of Operational Research, 234(3) :658–673, may 2014.