Pénaliser les directions fractionnaires dans le simplexe en
nombres entiers. Application au transport aérien.
Samuel Rosat1,2, Frédéric Quesnel1,2, François Soumis1,2, Issmail Elhallaoui1,2
1Polytechnique Montréal, C.P. 6079, Succ. Centre-Ville, Montreal (QC) H3C 3A7, Canada
{samuel.rosat,frederic.quesnel,francois.soumis,issmail.elhallaoui}@polymtl.ca
2Laboratoire du GERAD, 3000, ch. de la Côte-Sainte-Catherine, Montréal (QC) H3T 2A7, Canada
Mots-clés :problème de partitionnement, algorithmes primaux, méthodes d’augmentation,
normalisation, planification de personnel
1 Contexte et objectifs
Les algorithmes primaux sont des méthodes de résolution de programmes mathématiques
qui se basent sur le schéma suivant : partir d’une solution entière non optimale, trouver une
direction qui mène vers une meilleure solution entière, puis itérer ce processus jusqu’à atteindre
l’optimalité. À chaque étape, un sous-problème d’augmentation est résolu, c’est-à-dire trouver
une direction d’amélioration (ou d’augmentation) ou affirmer que la solution courante est
optimale. Il existe bien moins de travaux concernant les méthodes primales que sur le branch-
and-bound qui représente depuis 40 ans la filière dominante pour la résolution de problèmes
linéaires en nombres entiers. Développer une méthode primale efficace en pratique constituerait
ainsi un changement majeur.
Des travaux computationels sur des algorithmes primaux ressortent deux principaux défis
rencontrés lors de la conception et l’implémentation de ces méthodes. D’une part, de nom-
breuses directions d’amélioration sont irréalisables, c’est-à-dire qu’effectuer un pas, aussi petit
soit-il, dans ces directions implique une violation des contraintes du problème. On parle alors de
dégénérescence ; c’est par exemple le cas des directions associées à certains pivots de simplexe
(pivots dégénérés). Les directions irréalisables ne permettent pas à l’algorithme de progresser
et peuvent mettre en péril sa terminaison s’il est impossible de déterminer de direction réali-
sable. D’autre part, lorsqu’une direction d’amélioration réalisable pour la relaxation linéaire a
été déterminée, il est difficile de s’assurer que la solution vers laquelle elle mène est entière.
Parmi les méthodes primales existantes, celle qui apparait comme la plus prometteuse est
le simplexe en nombres entiers avec décomposition (Integral Simplex Using Decomposition,
ISUD) de Zaghrouti et al. [2] car il intègre au cadre primal des techniques de décomposition
permettant de se prémunir des effets néfastes de la dégénerescence. Cet algorithme s’attache à
la résolution du problème de partitionnement d’ensembles (set partitioning problem), modèle
répandu en optimisation et permettant notamment de représenter des problèmes d’horaires de
personnel ou de véhicules. Il s’agit à notre connaissance d’un des seuls algorithmes de type
primal capable de battre le branch-and-bound sur des instances de grande taille ; par ailleurs,
la différence est d’autant plus importante que le problème est grand. Bien que fournissant
des éléments de réponse à la problématique de la dégénerescence, cette méthode n’aborde
pas pour autant la question de l’intégralité lors du passage à une solution de meilleur coût ;
et pour qu’ISUD puisse envisager de concurrencer les méthodes de type branch-and-bound, il
lui faut parcourir cette deuxième moitié du chemin. Il s’agit là de l’objectif de ce travail :
augmenter le taux de directions entières trouvées par ISUD pour le rendre applicable aux
instances industrielles de grande taille de type planification de personnel.