Génération de Programmes de Travail par un
Algorithme de Listes
Jean-Claude Hennet, Carmen V. Draghici, Frédéric Py
LAAS-CNRS, 7 avenue du Colonel Roche, 31077 Toulouse Cedex 4
Mots-clefs : optimisation combinatoire, problème de bin-packing, algorithme de listes
1 Introduction
Le problème considéré consiste en la construction de programmes de travail, qui peuvent être des
journées de travail (vacations) ou des séquences d’activités (rotations), à partir de tâches à horaire le plus
souvent imposé. Ce problème se rencontre fréquemment dans les professions aéronautiques et
aéroportuaires, comme première étape de la construction du planning de travail pour le personnel au sol
(affectation des vacations) et pour le personnel navigant (affectation des rotations). Dans ces deux cas, les
tâches de travail à horaire imposé sont préalablement déterminées par la programmation des vols. Dans
cette présentation, nous nous intéressons principalement au problème de génération de vacations pour le
personnel au sol.
Ce problème est du type "bin-packing" [1], avec des contraintes additionnelles, liées en particulier
au non-chevauchement des tâches au sein d'une vacation et aux contraintes réglementaires sur la structure
des vacations (existence de pauses ou de coupures). Le caractère fortement contraint du problème de
génération de vacations conduit à privilégier une approche heuristique reposant sur un algorithme de
listes. L’approche de modélisation retenue repose sur le concept de plage horaire. Ce concept permet une
représentation générique des tâches et des vacations et une gestion logique des relations temporelles par
l'intermédiaire d'une algèbre d'intervalles [2]
2 L'approche par plages horaires
Les plages horaires sont des intervalles de temps dont on peut indiquer l’heure de début, l’heure de fin
ainsi que la durée. On définit ici deux types de base :
− les plages continues : une plage continue est le type de plage le plus simple. En effet c’est une plage
horaire définie par un début et une fin.
− les plages fractionnées : une plage fractionnée est un ensemble de plages continues disjointes. Elle est
définie par une liste de plages continues. Cette liste peut être vide.
Une vacation est décrite par une plage continue ou par une plage fractionnée. Les différents types de
vacations doivent être compatibles avec les différents contrats de travail, caractérisés par des durées, des
plages horaires de début et de fin et des durées minimales de pause ou de coupure. Le nombre ou la
proportion de vacations des différents types doit correspondre à l'effectif moyen disponible pour les
différents contrats dans les différentes qualifications.
Les tâches sont caractérisées par une date, une qualification et par une plage horaire définie par 4
instants : heure de convocation, heure de début, heure de fin, heure de fin du délai de couverture.
Seules des tâches du même jour et de même qualification peuvent être affectées à une même vacation.
L'heure de début de la vacation correspond à l' heure de convocation de la première tâche de la vacation.
L'heure de fin de la vacation correspond à l'heure de fin du délai de couverture de la dernière tâche de la
vacation. En cours de vacation, les délais de couverture et les délais de convocation de 2 tâches
successives peuvent se chevaucher, sans que les tâches elles-mêmes se chevauchent.
Actes (CD-Rom) de ROADEF 2003, Avignon, Février 2003, résumé pp.245-246.