• Aucun résultat trouvé

Formulation mathématique (MIP-3.1)

Dans le document The DART-Europe E-theses Portal (Page 73-77)

3.3 Planification Hebdomadaire (PH)

3.3.3 Formulation mathématique (MIP-3.1)

Dans cette partie, nous décrivons le modèle proposé pour la planification hebdomadaire.

Nous présentons, les données du problème, la fonction objectif à optimiser et les contraintes prises en compte. Nous modélisons le modèle mathématique sous la forme d’un programme linéaire en nombres mixtes que l’on note par (MIP-3.1).

3.3.3.1 Paramètres et notations

Nous présentons dans cette section les différents paramètres et variables de décision ainsi que la fonction objectif et les contraintes. Un ensemble d’infirmiers notéR ={1, ...r}

doit effectuer un ensemble de tâches. Un ensemble de périodes noté par T = {1, ...t}

représente l’horizon de planification. A = ∪r∈R,t∈TA(r, t) est l’ensemble de tâches avec A(r, t) indiquant l’ensemble des tâches faisables par chaque ressource r et pour chaque

3.3. Planification Hebdomadaire (PH) 59 périodet.V =∪r∈R,t∈TV(r, t)est l’ensemble de tâches avecV(r, t) = A(r, t)∪{ddr}∪{adr} etddr et adr des tâches fictives représentant les dépôts de départ et d’arrivé pour chaque ressource r, respectivement. Les temps de déplacement entre deux tâches j et k notés tjk

avec j , k ∈ V sont supposés connus. Chaque tâche j nécessite une durée de service dj. Les dates de visites au plus tôt et au plus tard sont représentées tous les jours parej et lj respectivement. La charge de travail cible de chaque périodet ∈T est donnée par Et. On définit α ∈ R+ un cœfficient de pénalisation. On pénalise par α la somme des écarts Ht entre la charge de travail réelle et la charge de travail cible de chaque période. M est une valeur choisie assez grande.

Nous définissons trois variables de décisions relatives au premier modèle. Une première variable binaireXjkrt qui vaut 1 si la ressourcerse déplace directement de la tâchej vers la tâchek à la période t. Une deuxième variable de décision notéeSrjt qui représente l’horaire de début de service de la tâche j par la ressource r à la période t. La dernière variable de décision notée Ht décrit le dépassement de la charge de travail cible à la périodet.

3.3.3.2 Modèle mathématique

Dans la littérature, plusieurs critères ont été optimisés tels que la minimisation des heures de travail supplémentaires [Cheng & Rich 1998], la maximisation du nom-bre de visites à domicile [De Angelis 1998] et la minimisation des coûts de transport [Bertels & Fahle 2006]. Dans la plupart des problèmes pratiques d’optimisation, plusieurs critères sont à prendre en considération afin d’obtenir une solution satisfaisante.

Dans ce chapitre, nous considérons deux objectifs : la minimisation du coût de déplace-ment et la minimisation du dépassedéplace-ment de la charge de travail cible. Le modèle MIP-3.1 est décrit comme suit :

Xjkrt = 0 ∀r∈R, t∈T, k /∈V(r, t) (3.8) Xjkrt ∈{0,1} ∀j, k ∈V, r ∈R, t∈T (3.9) ej ≤Srjt ≤lj ∀j ∈V, r ∈R, t∈T (3.10) La fonction objectif (3.2) minimise une somme pondérée du coût total de transport et de la somme de dépassements des charges de travail cibles. Les contraintes (3.3) as-surent que chaque tâche est affectée à une seule ressource et une seule période. Les con-traintes (3.4) déterminent le temps d’arrivée en fonction des concon-traintes de précédences.

Les contraintes (3.5) assurent la continuité des tournées. Les contraintes (3.6) et (3.7) définissent le dépassement de la charge de travail cible. Les contraintes (3.8) mettent cer-taines variables à zéro ; ils peuvent être maintenu par une étape de prétraitement. Les contraintes (3.9) définissent les variables binaires. Les contraintes (3.10) assurent que les fenêtres de temps sont respectées. Appliquées aux dépôts, les contraintes (3.10) imposent la durée maximale des tournées.

3.3.4 Recherche tabou

La recherche tabou (TS) est l’une des approches métaheuristiques les plus efficaces sur de nombreux problèmes de tournées de véhicules. En outre, TS requiert un développement et un paramétrage relativement léger. Notre TS est inspirée de la recherche tabou proposée dans [Cordeau et al. 1997] pour les problèmes de tournées de véhicules périodiques multi-dépôts pour lesquels les opérateurs de voisinage standards génèrent de nombreuses solutions irréalisables. Le schéma général de notre recherche tabou est décrit dans l’algorithme 3.

Algorithme 3 : Algorithme de recherche tabou

1: X :=X := déterminer une solution initiale ;

2: N(X) := ensemble des solutions voisines ;

3: M ⊂P(N(X)) := meilleur ensemble des mouvements indépendants ;

4: X :=M appliqué pour X;

5: X :=X si Z(X∗)> Z(X);

6: Mettre à jour la liste tabou et les niveaux d’aspirations ;

7: Si le critère d’arrêt n’est pas satisfait, aller à l’étape 2.

Une solution initiale est générée avec un algorithme de liste glouton à l’étape (1) ; la liste des patients est générée aléatoirement. Un ensemble des solutions voisines à l’étape (2) est déterminé avec les opérateurs de voisinages (0-1) et (1-1). Le premier voisinage compte toutes les solutions d’insertion possibles pour chaque tâche après l’avoir retirée de sa po-sition courante. L’opérateur de voisinage (1-1) est défini par l’échange de deux tâches. On

3.3. Planification Hebdomadaire (PH) 61 notera, dans notre implémentation, que les mouvements sont considérés entre les tournées des différents jours possibles de la réalisation de chaque tâche.

La figure3.2 montre un exemple d’application des opérateurs de voisinages et les mou-vements indépendants. Supposant qu’on a une solution de départ avec un centre HAD (dépôt), 3 tournées d’infirmiers et 11 patients à visiter. Dans un premier cas, la position du patient 3 est déplacée dans la même tournée en appliquant l’opérateur de voisinage (0-0). Ce mouvement coûte 6. Dans un deuxième cas, l’opérateur de voisinage (1-1) est ap-pliqué en remplaçant les positions des deux patients 7 et 10 de deux tournées différentes et des deux journées différentes. Ce mouvement coûte 8. Parmi tous les mouvements évalués, le meilleur ensemble de mouvements indépendants est sélectionné à l’étape (3). Les mouve-ments qualifiés doivent satisfaire toutes les contraintes du modèle (3.2)- (3.10) à l’exception des contraintes de fenêtres de temps. Les mouvements sont indépendants si la combinaison de leurs contributions (lorsque les mouvements sont tous effectués) à la fonction objectif est égale à la somme des contributions indépendantes de chaque mouvement. Par exemple, deux mouvements faisant intervenir différents jours sont indépendants. Des mouvements sur une seule tournée, peuvent être indépendants quand aucune contrainte de fenêtre de temps n’est violée avant et après les mouvements. Le sous ensemble optimal de mouvements indépendants est calculé par la résolution d’un problème général d’appariement (General matching problem) sur un graphe où les nœuds sont des paires d’employés (tournées) et de périodes, et les arêtes sont pondérées par la meilleure valeur parmi tous les voisins portant sur ses deux nœuds extrêmes.

Figure 3.2 – Opérateurs de voisinage et mouvements indépendants

Une solution voisine est évaluée par une fonction fitnessgdéfinie dans l’équation (3.11).

Le dernier terme pénalise les contraintes de violation de fenêtres de temps avec le paramètre

variableγ.

Chaque nœud est reproduit afin de modéliser les voisins sur des itinéraires simples.

L’indépendance est vérifiée pour le temps de travail et les coûts des fenêtres de temps, mais pas pour le dépassement des charges cibles. Des expérimentations ont montré que ce biais peut être négligé puisque ce cas apparaît rarement et induit de petits écarts dans l’évaluation globale des solutions. L’algorithme polynomial (cubique) résolvant le General matching problem est celui implémenté par [Gabow 1976].

À l’étape (5), la meilleure solution connue est mise à jour avec la solution obtenue par l’application des mouvements sélectionnés. Comme dans [Cordeau et al. 1997], deux paramètres sont mis à jour à l’étape (6) en vue de contrôler la divergence de l’exploration.

Le principal est la liste tabou. Pour chaque tâche repérée dans un mouvement sélectionné, l’attribut d’origine (jour, employé, position dans la séquence) de la tâche est interdit pour un certain nombre fixe d’itérations. De cette façon, on peut espérer éviter les boucles sur un petit ensemble de solutions.

Chaque position est également associée à une valeur d’aspiration, qui est définie comme le coût de la meilleure solution possible trouvée avec cette position. Ainsi, une solution voisine X¯ de la solution courante X peut être considérée uniquement si : (i) toutes les nouvelles positions qui ne sont pas dans X mais dans X, sont non-tabou, ou (ii)¯ X¯ est faisable etz( ¯X)est inférieure aux valeurs d’aspiration de ces positions. Les étapes (2)- (7) sont répétées jusqu’à ce qu’un nombre limité d’itérations soit atteint.

La complexité en temps des deux voisinages explorés est cubique car l’évaluation de la violation des contraintes de fenêtres de temps est de complexité linéaire. Généralement, ce pire des cas n’est pas rencontré car les mouvements à évaluer ne concernent que les employés qualifiés et les jours de visites possibles.

Dans le document The DART-Europe E-theses Portal (Page 73-77)