Vous êtes sur la page 1sur 108

Thse

Prpare au
Laboratoire dAnalyse et dArchitecture des Systmes du CNRS


En vu dobtention du grade de
Docteur de lInstitut National de Sciences Appliques de Toulouse



Spcialit : Systmes Industriels

par

Carmen DRAGHICI


__________________________

MODELISATION ET CONCEPTION DALGORITHMES POUR LA
PLANIFICATION AUTOMATIQUE DU PERSONNEL DE COMPAGNIES
AERIENNES
__________________________



Soutenue le 29 septembre 2005 devant le jury :







Rapporteurs : Jean-Charles BILLAUT
Christian PRINS

Examinateurs : Simona Iuliana CARAMIHAI
Jacques ERSCHLER


Invit : Herv LE ROY

Directeurs de thse : Jean-Claude HENNET
Olivier PAILLOT
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6







A ma grand-mre

Tas vu ? Je suis docteur
maintenant. Pas un qui gurit les
malades, mais docteur quand
mme
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6






Rsum

La planification et la gestion optimale des ressources humaines jouent un rle important dans la
productivit et la comptitivit des entreprises. Dans cette thse nous nous intressons la
modlisation et la rsolution de diffrents problmes doptimisation soulevs par la construction de
plannings pour les agents qui travaillent dans un contexte aronautique : la cration de vacations, la
cration de rotation, laffectation de vacations et de rotations. Pour le problme de construction de
vacations, nous proposons une approche de modlisation base sur le concept de plage horaire et
ensuite une mthode heuristique de rsolution base sur lalgorithme FFD (First Fit Decreasing) et sur
la gnration de colonnes. Le problme de cration de rotations est rsolu par une mthode de
programmation linaire en variables mixtes. Les problmes daffectation de vacations et de rotations
sont modliss comme des problmes de multi-affectation gnralis. Nous proposons une
dcomposition temporelle et par qualification et ensuite une transformation du problme daffectation
gnralis en un problme daffectation simple par relaxation Lagrangienne. Un algorithme ad-hoc est
utilis pour la rsolution de chaque problme de base. La plupart des algorithmes labors ont t
coupls des bases de donnes relles et commercialiss par la socit IFR-France.

Mots cls: optimisation de plannings, problmes, First Fit Decreasing, gnration de colonnes,
programmation linaire en variables mixtes, problme de multi-affectation gnralis, relaxation
Lagrangienne.




Abstract

Optimal scheduling and management of human resources have an important role in the
productivity and competitiveness of an enterprise. In this thesis we are interested in modeling and
solving different optimisation problems which rise during the construction of schedules for agents
working in an airline context: the shift generation problem, the crew pairing problem, the rostering
problem. For the shift generation problem, we propose a modeling approach based on the concept of
time slot and then a resolution method based on the First Fit Decreasing algorithm and the column
generation technique. The crew pairing problem is solved using a mixed linear programming method.
The rostering problem is modeled as a generalized multi-assignment problem. We propose a
decomposition in time and by qualification and then a transformation of the generalized assignment
problem into a simple assignment problem by Lagrangian relaxation. An ad hoc algorithm is used for
the resolution of each basic problem. Most of the proposed algorithms were connected to real
databases and commercialised by IFR France.

Keywords: schedules optimisation, First Fit Decreasing, column generation, mixed linear
programming, generalized multi-assignment problem, Lagrangian relaxation.

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
Remerciements
Ce travail de thse naurait pu tre raliss sans mes deux directeurs de thse,
Monsieur Jean-Claude Hennet, directeur de recherche au LAAS-CNRS, et Monsieur Olivier
Paillot, ingnieur IFR France, que je tiens trs vivement remercier. Je suis trs
reconnaissante pour leur confiance et pour lautonomie quils mont accorde.

Je remercie aussi Monsieur Christian Prince, professeur LUniversit de Technologie
de Troyes et Monsieur Jean-Charles Billaut, professeur LUniversit Franois Rabelais
de Tours pour lhonneur quils mont fait daccepter de rapporter ce travail et lintrt quils y
ont port.

Je tiens galement remercier Monsieur Jacques Erschler, professeur lInstitut
National des Sciences Appliques de Toulouse et Madame Simona Caramihai, professeur
lUniversit Politehnica de Bucarest pour le crdit quils ont accord mon travail en
participant au jury de cette thse. Un mot particulier pour Madame Caramihai qui a guid mes
premiers pas dans le monde de la recherche lUniversit Politehnica de Bucarest et qui
ma donn ensuite lenvie et la motivation deffectuer cette thse.

Mes remerciements vont aussi vers Marcel Mongeau, matre de confrences
lUniversit Paul Sabatier de Toulouse. Notre collaboration sur lun des chapitres de ce
document et aussi ses nombreux conseils mont t prcieux. Je lui remercie aussi pour son
amiti et pour le courage davoir partag avec moi le bureau pendant ma dernire anne de
thse.

La motivation et le plaisir quotidien deffectuer cette thse nauraient pu tre les mmes
sans mes collgues du LAAS, doctorants ou stagiaires : Yasemin, Manue, Catherine, Steff,
Malika, Codruta, Marcos, Sergio, Carmen, Andreea, Tatiana, Franois, Julien Merci pour
votre aide et votre soutien, mais aussi pour les agrables moments de dtente passs
ensemble.

Je suis reconnaissante Herv Le Roy et Joan Vich qui ont accept le dfit dune thse
CIFRE et qui mont chaleureusement accueilli au sein dIFR France et de lquipe KEOPS.

Jadresse toute ma sympathie ceux qui chaque matin ont droit un Bonjour,
KEOPS ! : Nathalie, Gg, Sissi, Abdel, Seb, Nino, Pete, Yannick. Ils mont conseill et
aid tout au long de cette thse.

Je ne pourrais pas passer sous silence Flo, Sandrine et Jean-Marc que jai bien harcel
avec mes problmes administratives o logistiques. Merci pour votre disponibilit et
efficacit.

Je remercie de tout cur ma famille et mes amis de Roumanie qui, malgr la
distance qui nous spare, mont soutenu et support durant ces trois ans.

Enfin, je ne pourrais terminer sans citer celui qui est pour moi le "pisoi cel mai dragut
foc".
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6

Table de matires
Introduction...5

1. Planification des ressources humaines....9
1.1 INTRODUCTION..................................................................................................................................... 9
1.2 QUELQUES NOTIONS SUR LA PLANIFICATION ........................................................................................ 9
1.3 LA PLANIFICATION DANS UN CONTEXTE AERONAUTIQUE.................................................................... 11
1.3.1 Personnel au sol ............................................................................................................................ 11
1.3.2 Personnel navigant........................................................................................................................ 12
1.4 CONCLUSIONS..................................................................................................................................... 14

2. Modles et techniques de rsolution pour les problmes de planification d'horaires..15
2.1 INTRODUCTION................................................................................................................................... 15
2.2 PROBLEMES CLASSIQUES DOPTIMISATION COMBINATOIRE ................................................................ 15
2.2.1 Problme daffectation.................................................................................................................. 15
2.2.2 Problme de bin-packing............................................................................................................... 16
2.2.3 Problme de recouvrement densemble........................................................................................ 17
2.3 TECHNIQUES DE RESOLUTION RETENUES ............................................................................................ 18
2.3.1 Mthodes de rsolution de problmes de couplage et daffectation.............................................. 18
2.3.1.1 Bip Match............................................................................................................................................ 18
2.3.1.2 Lalgorithme de Busacker et Gowen ................................................................................................... 20
2.3.1.3 Lalgorithme hongrois......................................................................................................................... 20
2.3.1.4 Mthode de relaxation Lagrangienne pour le problme daffectation gnralis ................................ 21
2.3.2 Algorithmes de rsolution pour le problme de bin-packing ........................................................ 22
2.3.2.1 Algorithmes on-line............................................................................................................................. 22
2.3.2.2 Algorithmes off-line ............................................................................................................................ 23
2.3.3 Gnration de colonnes pour la rsolution du problme de recouvrement densemble................ 23
2.3.3.1 Convergence de la mthode................................................................................................................. 25
2.3.3.2 Lalgorithme gnrateur ...................................................................................................................... 26
2.3.3.3 Recherche des solutions entires ......................................................................................................... 26
2.4 CONCLUSION ...................................................................................................................................... 27

3. Cration de vacations pour le personnel au sol....29
3.1 INTRODUCTION................................................................................................................................... 29
3.2 CONCEPTS DE BASE : TACHES ET VACATIONS...................................................................................... 29
3.2.1 Tches ........................................................................................................................................... 30
3.2.2 Vacations....................................................................................................................................... 30
3.2.3 Personnel....................................................................................................................................... 31
3.3 PRESENTATION DU PROBLEME ............................................................................................................ 31
3.3.1 Contraintes rglementaires ........................................................................................................... 32
3.3.2 Mthodes de rsolution dans la littrature.................................................................................... 33
3.3.2.1 Modlisation par recouvrement densemble........................................................................................ 33
3.3.2.2 Mthodes itratives.............................................................................................................................. 35
3.4 MODELISATION PROPOSEE.................................................................................................................. 35
3.4.1 La reprsentation du temps ........................................................................................................... 35
3.4.2 Plages horaires ............................................................................................................................. 36
3.4.3 Tches, vacations, contraintes ...................................................................................................... 37
3.4.4 Modlisation du problme............................................................................................................. 41
3.5 METHODE DE RESOLUTION PROPOSEE................................................................................................. 42
3.5.1 Gnration de vacations................................................................................................................ 42
3.5.1.1 Construction des patrons de vacations................................................................................................. 42
3.5.1.2 Traitement des tches fixes.................................................................................................................. 42
3.5.1.3 Traitement des tches mobiles............................................................................................................. 44
3.5.2 Remplissage de vacations.............................................................................................................. 45
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
3.6 RESULTATS OBTENUS ......................................................................................................................... 45
3.7 CONCLUSIONS..................................................................................................................................... 46

4. Cration de rotations pour le personnel navigant....49
4.1 INTRODUCTION................................................................................................................................... 49
4.2 CONCEPTS DE BASE............................................................................................................................. 49
4.2.1 Rotations ....................................................................................................................................... 50
4.2.2 Activits hors-vol........................................................................................................................... 52
4.2.3 Personnel....................................................................................................................................... 52
4.3 MODELISATION ET RESOLUTION DU PROBLEME .................................................................................. 52
4.3.1 Contraintes rglementaires ........................................................................................................... 53
4.3.2 Mthodes de rsolution dans la littrature.................................................................................... 53
4.3.3 Modlisation propose .................................................................................................................. 56
4.3.3.1 Construction des PdS........................................................................................................................... 56
4.3.3.2 Construction de rotations partir des PdS........................................................................................... 62
4.3.4 Rsultats ........................................................................................................................................ 64
4.3.4.1 Construction des PdS........................................................................................................................... 64
4.3.4.2 Construction de rotations partir des PdS........................................................................................... 65
4.3.5 Post traitement des rotations......................................................................................................... 65
4.4 PERSPECTIVES : CONSTRUCTION DALGORITHMES APPROCHES........................................................... 68
4.4.1 Construction de PdS...................................................................................................................... 68
4.4.2 Constructions de rotations ............................................................................................................ 68
4.5 CONCLUSIONS..................................................................................................................................... 69

5. Affectation de vacations/ rotations....71
5.1 INTRODUCTION................................................................................................................................... 71
5.2 PRESENTATION DU PROBLEME ............................................................................................................ 71
5.2.1 Contraintes rglementaires ........................................................................................................... 71
5.3 METHODES DE RESOLUTION DANS LA LITTERATURE........................................................................... 72
5.3.1 Affectation de vacations ................................................................................................................ 72
5.3.2 Affectation de rotations ................................................................................................................. 75
5.4 MODELISATION DU PROBLEME............................................................................................................ 78
5.5 METHODE DE RESOLUTION PROPOSEE................................................................................................. 79
5.5.1 Construction de la matrice de cot ............................................................................................... 80
5.5.2 Calcul des cots ............................................................................................................................ 81
5.5.3 Laffectation de rserves pour le personnel navigant ................................................................... 84
5.5.4 Affectation de squences ............................................................................................................... 86
5.6 IMPLEMENTATION ET RESULTATS ....................................................................................................... 86
5.6.1 Validation de la mthode............................................................................................................... 86
5.6.2 Implmentation.............................................................................................................................. 87
5.7 CONCLUSION ...................................................................................................................................... 91

Conclusion....93

Bibliographie.......97
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
INTODUCTION



5

Introduction
Le transport arien connat une croissance vertigineuse depuis les annes 60 car, si en
1945, le trafic arien comptait 9 millions de passagers par an, il est pass aujourdhui 1,8
milliard. Les compagnies ariennes sont nombreuses et ont tendance se grouper car la
concurrence est importante. Rester rentable dans un environnement complexe et concurrentiel
est dautant plus difficile quune compagnie est oblige de faire face dnormes dpenses
pour payer le carburant, le personnel, les taxes dutilisation des aroports, lentretien, la
location ou lachat des aronefs. Les augmentations de recettes tant trs difficiles sur ce
march trs concurrentiel, une ventuelle rduction des cots est essentielle pour assurer la
rentabilit dune compagnie.
La deuxime source de dpense dune compagnie arienne aprs le carburant est
constitue par le personnel ; elle reprsente 15-20% du budget oprationnel. Une gestion
efficace des plannings du personnel est donc dune importance majeure, car une baisse de
seulement quelques pourcents de ces cots entrane des conomies annuelles qui peuvent
slever des dizaines de millions de dollars pour des grandes compagnies.
Gnrer des plannings est un processus difficile, soumis des rgles complexes et
parfois contradictoires. De plus, aux contraintes rglementaires se rajoutent des rgles
sociales, de scurit, de prfrences personnelles...
Dans cette thse nous nous intressons la modlisation et la rsolution de diffrents
problmes doptimisation soulevs par la construction de plannings pour les agents qui
travaillent dans un contexte aronautique : le personnel au sol dun aroport et le personnel
navigant dune compagnie arienne. Ce sont des problmes qui ressemblent aux problmes
doptimisation combinatoire classiquement tudis en recherche oprationnelle mais, issus
dapplications relles, ils sont le plus souvent complexes et de grande taille.
Les travaux prsents dans ce manuscrit ont t effectus dans le cadre dune
Convention Industrielle de Formation par la Recherche entre la socit IFR France et le
groupe Modlisation, Organisation et Gestion Intgre des Systmes dActivits du
Laboratoire dAnalyse et dArchitecture des Systmes du Centre National de Recherche
Scientifique.
IFR France conoit, ralise et commercialise des produits logiciels permettant de
matriser les diffrents aspects de la gestion dune compagnie arienne, un grand intrt tant
port la gestion de personnel. Lobjectif principal de ma thse a t dtudier, de concevoir
et dimplmenter des algorithmes daide llaboration des plannings de personnel, en
combinant la recherche acadmique et lexpertise du domaine dapplication spcifique.
Le manuscrit est divis en 5 chapitres. Le premier chapitre prsente la problmatique de
la planification des emplois du temps dans un cadre gnral. Le problme de cration de
plannings dans un contexte aronautique est dcrit par la suite. Dans un tel contexte, la charge
de travail est constitue des tches raliser en vol et au sol. Selon le type dactivit
effectue, le personnel se divise en personnel au sol et en personnel navigant : le personnel au
sol effectue tout le travail au niveau de laroport (l'enregistrement des passagers, l'accueil
l'arrive et au dpart, le service de correspondance et de transit aux aroports) ; le personnel
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
INTODUCTION



6
navigant est celui qui constitue les quipages des vols effectuer : les pilotes, les copilotes,
les htesses, ...
Compte tenu du fait que la charge de travail est assez importante, les plannings
individuels ne sont jamais crs directement partir des tches ou des vols. Pour le personnel
au sol, les tches sont groupes dans un premier temps dans ce que lon appelle des vacations.
Les vols effectuer par les navigants sont aussi groups dans des squences nommes
rotations. Cest partir de ces vacations/ rotations que les plannings sont ensuite construits.
Le deuxime chapitre passe en revue des problmes doptimisation combinatoire qui
mergent diffrents stades de la planification dhoraires : le problme daffectation, le
problme de bin-packing et le problme de recouvrement densemble. Quelques techniques de
base retenues pour la rsolution de ces problmes sont ensuite prsentes : lalgorithme
hongrois, le Bip Match et lalgorithme de Busacker et Gowen pour rsoudre le problme
daffectation et quelques algorithmes approchs pour le problme de bin-packing. Quelques
notions sur la gnration de colonnes sont aussi prsentes, car cette mthode est utilise avec
succs pour la rsolution de problmes de trs grande taille, problmes pour lesquels les
mthodes classiques de programmation linaire ne peuvent plus tre utilises.
Le problme de cration de vacations avec ses deux versions (construction proprement
dite ou remplissage) est prsent dans le troisime chapitre. Dans la littrature, il est trait le
plus souvent comme un problme de recouvrement densemble. Les mthodes de rsolution
proposes sont bases sur la programmation linaire ou sur des mthodes itratives
dexploration de listes.
Comme ce problme repose sur la satisfaction de nombreuses contraintes temporelles,
nous proposons une approche de modlisation base sur le concept de plage horaire. Le
modle obtenu permet une reprsentation simple des contraintes, partir de laquelle nous
proposons une mthode heuristique de construction de vacations base sur la mthode FFD
(First Fit Decreasing) et sur la gnration de colonnes. Lalgorithme que nous proposons pour
la construction de vacations peut aussi tre utilis, aprs quelques modifications, pour le
problme de remplissage de vacations prdfinies.
Le quatrime chapitre traite le problme de cration de rotations. La cration de
rotations est un problme complexe, car, dun ct, la rglementation laquelle les rotations
sont soumises traite beaucoup de cas particuliers et, dun autre ct, la combinatoire du
problme est considrable. Cest pour cette raison quil est habituellement rsolu en deux
tapes : une premire tape, la construction de priodes de service, groupe les vols dans des
journes de travail (ou priodes de service) ; la deuxime tape enchane les journes de
travail, de manire crer des rotations.
Aprs avoir prsent quelques mthodes proposes dans la littrature pour la
construction de rotations, nous proposons une modlisation du problme de cration de
priodes de services par programmation linaire en variables mixtes. Lavantage de cette
mthode est quelle peut prendre en compte les diffrents types des priodes de services. Pour
le groupement des priodes de services dans des rotations, un modle linaire en variables
entires est utilis.
Lutilisation dun logiciel de programmation linaire permet la rsolution exacte dune
version relche de ce problme, obtenue en simplifiant certaines contraintes. Ceci prsente
lintrt majeur de fournir des bornes qui permettent dvaluer la qualit des diffrentes
mthodes heuristiques proposes pour la recherche de solutions admissibles performantes.
Lanalyse du problme en termes de modlisation, de structure et des possibilits de
dcomposition permet de ramener sa rsolution, globalement trs complexe celle dun
ensemble de sous-problmes plus faciles et bien matriss. Ainsi, la rsolution exacte de
certaines parties du problme global, a pu tre intgre efficacement dans la mthode globale
heuristique de rsolution.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
INTODUCTION



7
Une approche similaire par dcomposition et simplification est construite dans le dernier
chapitre pour rsoudre les problmes daffectation du personnel aux vacations et aux
rotations.
Le problme daffectation reprsente la deuxime tape dans la rsolution du problme
de cration de plannings. Compte tenu de la similarit entre laffectation des vacations et
laffectation des rotations, les deux cas sont prsents ensemble dans le cinquime chapitre.
Aprs avoir numr les contraintes rglementaires communes ou spcifiques chaque cas,
nous analysons quelques modles et mthodes de rsolution proposs dans la littrature.
Ensuite lapproche que nous retenons est expose. En raison des nombreuses contraintes
rglementaires, le problme est modlis comme un problme de multi-affectation gnralis.
Nous proposons une dcomposition temporelle et par qualification et ensuite une
transformation du problme daffectation gnralis en problme daffectation simple par
relaxation Lagrangienne. Un algorithme ad-hoc est utilis pour la rsolution de chaque
problme de base.
IFR France a dvelopp un produit commercial pour laffectation de rotations au
personnel navigant dune compagnie arienne qui utilise notre approche de rsolution. Le
chapitre V sachve avec la prsentation de ce produit.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 1 Planification de ressources humaines




9

Chapitre 1
Planification des ressources humaines

1.1 Introduction

La planification et la gestion optimale des ressources humaines jouent un rle important
dans la productivit et la comptitivit dune entreprise. Les fonds allous la rmunration
du personnel sont assez levs : dans une compagnie arienne, par exemple, les fonds allous
pour payer le personnel reprsentent les plus importantes dpenses [Anbil et al. 92] aprs le
cot du carburant ; dans un tablissement des soins, les cots salariaux peuvent reprsenter
jusqu 70% du budget oprationnel [Weil et al. 98]. Une gestion efficace du personnel est
donc un facteur conomique primordial.
Ce chapitre prsente la problmatique de la planification des emplois du temps dans
un cadre gnral. Le problme de cration de plannings dans un contexte aronautique est
dcrit, ainsi quun passage en revue de quelques mthodes de modlisation et de rsolution
proposes dans la littrature.
1.2 Quelques notions sur la planification

La planification dhoraires de travail vise, pour un horizon de planification dun jour
quelques mois, dimensionner une force de travail et optimiser lutilisation de cette
ressource, de faon a couvrir un besoin exprim par une charge de travail prvisionnelle, tout
en respectant un ensemble de contraintes prcises. Elle aboutit des programmes dfinissant
les horaires de travail et de repos de la force de travail, en trouvant le meilleur compromis
entre les prfrences des diffrents acteurs [Rmi-Robert, 03].
Les contraintes qui viennent dtre mentionnes couvrent ce que lon appelle les aspects
JuSTE [Chan 02] :
Juridique : la lgislation en matire de droit du travail (dures de travail et de repos) sur
diffrents horizons de temps (journalier, hebdomadaire, mensuel et annuel)
Social : rpartition quitable des tches entre salaris, entre hommes et femmes, avec
respect des disponibilits, prfrences individuelles et autres souhaits des salaris; rpartition
quitable du temps de travail et du repos
Technique : les rglements des diffrents mtiers de lentreprise (prise en compte des
comptences et des niveaux requis)
Economique : respect des besoins de lentreprise chaque moment de lhorizon de
planification. Cela se prsente comme la meilleure adaptation de lnergie disponible aux
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 1 Planification de ressources humaines




10
charges chaque moment de lhorizon. On cherche ne pas dpenser inutilement cette
nergie.
La difficult de la cration dun planning est moins le processus de cration en lui-
mme que lobtention dun planning de bonne qualit. Comment peut-on dfinir un planning
de bonne qualit, alors quau sein dune entreprise, chacun a son propre point de vue? Le
planificateur souhaite que le planning soit assez flexible en ce qui concerne la main duvre,
pour pouvoir traiter les possibles imprvus. Pour le chef dentreprise, le planning doit
permettre le dimensionnement de la force de travail au plus juste et sa rpartition de manire
obtenir le meilleur service au meilleur cot. Pour linspection du travail, le planning doit
respecter dans les moindres dtails la lgislation du travail et les conventions collectives. Le
salari recherche la satisfaction sociale de son travail, par rapport ses disponibilits, ses
desiderata ou par rapport lquit de traitement. La cration des plannings qui prennent en
compte toutes ces contraintes, parfois contradictoires, implique la fois une bonne
connaissance du cadre de travail, mais aussi lutilisation des techniques doptimisation
combinatoire.
Suivant leur spcificit et leur domaine dapplication, les plannings portent diffrents
noms : un planning prcisant le programme de travail de chaque employ sur un mois
sappelle tableau de service.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Briand C. M M S M N N R R N S M S S R S
Esquirol P. M N S N R M M S M M N R R S N
Hennet J.-C. M S N R N S S S N R M S N N N
Huguet M.-J. N N R M S M S S N R N N S M S
Lopez P. M S N M S N R M S N R M S N N
Mongeau M. S M S S N R N N N S S R M M M

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
M M S M N N R R N S M S S R S
M N S N R M M S M M N R R S N
M S N R N S S S N R M S N N N
N N R M S M S S N R N N S M S
M S N M S N R M S N R M S N N
S M S S N R N N N S S R M M M
(M=matin ; S=soir ; N=nuit ; R=repos)

Tableau 1.1. Exemple de tableau de service

Si le planning reprsente les programmes de travail et de repos non nominatifs sur un nombre
entier de semaines, il sagit de grille de travail. Si les horaires individuels sont priodiques,
les plannings sont cycliques, sinon, on parle des plannings acycliques.

Semaine Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche
1 M M S M N R R
2 S N S N R M M
3 M S N R R S S
4 N R R M S M S
(M=matin ; S=soir ; N=nuit ; R=repos)

Tableau 1.2. Exemple de grille de travail cyclique sur 4 semaines

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 1 Planification de ressources humaines




11
Mme si les premiers travaux datent des annes 50 (cration dhoraires de travail pour
les agents dun poste de page [Dantzig 54]), lintrt concernant le problme de cration des
plannings de personnel na pas diminu. De plus en plus nombreux sont les secteurs viss :
lindustrie sidrurgique (industrie flux continu ), le secteur bancaire [Jacques 93], les
services hospitaliers ([Brusco et Showalter 98], [Weil et al. 98], [Bellanti et al. 04]), les
centres dappel ([Keith 79], [Grossman et al. 99]), les aroports ([Jacquet-Lagrze et al. 98],
[Partouche 98]), les compagnies de transport arien, ferroviaire ([Caprara et al. 98b]) et
urbain ([Martello & Toth 86]), les commissariats de police et les gendarmeries, les services
postaux, la restauration rapide ([Loucks & Jacobs 91]), les caissiers du secteur de la
distribution ([Thompson 88]), etc.
Dans [Ernst et al. 04] on trouve une revue de littrature sur la planification de personnel
en gnral. Des outils, des modles et des mthodes utiliss dans diffrents secteurs sont
dtaills.
1.3 La planification dans un contexte aronautique

Dans un contexte aronautique, la charge de travail est constitue des tches raliser
en vol et au sol, tches qui sont dtermines la plupart du temps par le programme des vols.
Suivant le type du travail effectuer, le personnel se divise en deux catgories : le personnel
au sol et le personnel navigant. Dans la suite de ce chapitre, nous allons prsenter les
problmes spcifiques de chacune de ces deux catgories et quelques mthodes de
modlisation et de rsolution proposes dans la littrature. Dans les chapitres suivants, nous
dcrirons nos contributions la rsolution de ces problmes.
1.3.1 Personnel au sol

Le programme des vols dune compagnie arienne impose un ensemble de tches
effectuer au sol : l'enregistrement des passagers, l'accueil l'arrive et au dpart, le service de
correspondance et de transit aux aroports. Ces tches sont effectues par ce que lon appelle
le personnel au sol.
Le problme de planification du personnel au sol nest pas directement formul partir
des tches effectuer ; il y a une tape intermdiaire : les tches doivent tre groupes en
vacations, et ce sont ces vacations qui sont ensuite affectes au personnel. On appelle
vacation un ensemble de tches excutes conscutivement par la mme personne pendant
son service journalier.
Suivant le type de contrat du personnel, les vacations doivent tre cres ou remplies
avant dtre affectes aux agents. Gnralement, le contrat des agents spcifie des bornes
infrieures et suprieures pour la dure du travail journalier et mensuel, lexistence des pauses
pendant la journe de travail et leurs dures.
Ainsi, chaque type de contrat devient une sorte de patron partir duquel des
vacations seront construites et ensuite remplies avec des tches. Pour plus de clart, prenons
un exemple : soit un agent dont le contrat impose un travail journalier de sept heures au
minimum et dix heures au maximum, avec une pause prvue entre 8h00 et 14h00, dune dure
minimum dune heure et maximum de deux heures. Une vacation qui commence 6h00 du
matin et qui finit 14h30, avec une pause entre 9h30 et 11h00 respecte les demandes du
contrat. Une autre vacation qui commence 8h00 et finit 16h00, avec une pause entre 12h15
et 14h00 est aussi une vacation lgale . Il reste trouver si les tches effectuer ce jour par
cet agent peuvent tre plus facilement insres dans la premire ou dans la deuxime vacation.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 1 Planification de ressources humaines




12
Si, par contre, le personnel travaille en grille, les vacations sont dj fournies, car
chaque case de la grille de travail correspond une journe de travail, donc une vacation
vide. Les heures de dbut et de fin tant prcises, il reste seulement les remplir avec des
tches. Si, par exemple, la grille de travail propre un certain agent prcise que mardi lagent
commence le travail 7h30 et finit 15h30, alors la vacation du mardi commence 7h30 et
finit 15h30 et les tches que lagent va effectuer ce jour ne doivent pas dpasser cet
intervalle de temps.
Dans la littrature, beaucoup de mthodes de rsolution du problme de cration des
vacations reposent sur des approches par recouvrement densemble. Dans une premire tape,
tout ou une partie de lensemble des vacations candidates sont gnres ([Easton & Rossin
91], [Bechold & Brusco 94]). Ensuite, les vacations faisant partie de la solution finale sont
slectionnes selon diffrentes mthodes : partir dune premire solution gnre par la
rsolution dun problme de recouvrement densemble relch ([Dantzig 54], [Morris &
Showalter 83]) ou par une heuristique de construction itrative o les vacations sont
slectionnes les unes aprs les autres ([McGinnis et al. 78], [Brusco & Johns 96]).
[Segal 74] montre que la cration des vacations peut tre interprte comme un
problme de flot cot minimal.
La mthode de rsolution que nous proposons pour la cration de vacations part dune
modlisation du problme en tant que problme de bin-packing : les tches sont assimiles
aux objets et les vacations aux conteneurs. Nous avons choisi cette modlisation car, malgr
le fait que le problme de bin-packing est NP-difficile, il existe de nombreux algorithmes qui
donnent des solutions approches. La mthode propose a en outre lavantage de pouvoir tre
utilise, sans lui apporter beaucoup de modifications, pour la cration et pour le remplissage
de vacations. Nous allons la prsenter en dtails dans le chapitre 3.
1.3.2 Personnel navigant

Le personnel navigant dune compagnie arienne est celui qui constitue les quipages
des vols effectuer : les pilotes, les copilotes, les htesses, ...
La cration de plannings pour le personnel navigant est un problme qui attire
considrablement lattention des compagnies ariennes et en mme temps des communauts
de la recherche oprationnelle. Comme les navigants reprsentent lune des ressources les
plus coteuses dune compagnie, une gestion efficace du personnel simpose naturellement
comme indispensable. Le problme est intressant aussi du point de vue mathmatique, car il
fait lobjet de nombreuses modlisations et de nombreuses techniques de rsolution, qui
relvent le plus souvent de loptimisation combinatoire.
La plupart des compagnies ariennes ont divis la construction du planning en deux
sous-problmes : la cration des rotations (problme connu aussi dans la littrature sous le
nom de crew pairing ) et laffectation de ces dernires aux navigants ( crew rostering ).
Une rotation est une squence dactivits qui commence et qui finit dans la ville de domicile
dun quipage, appele base. Elle peut couvrir un ou plusieurs jours.
Le but du premier sous-problme est de crer un ensemble de rotations cot minimum
qui couvre tous les vols effectuer par la compagnie dans un certain intervalle temporel. Une
fois les rotations cres, elles sont ensuite affectes aux personnels navigants (PN).
Les travaux dans le domaine sont nombreux. En 1969, [Arabeyre et al, 69] fait dj un
tour dhorizon des travaux ddies la cration de rotations. Dans [Etschmaier et al, 85] et
[Rushmeier et al, 95] on trouve des revues de littrature plus rcentes.
Les dernires recherches formulent le problme de cration de rotations comme un
problme de partitionnement densemble. Aprs avoir gnr lensemble [Yan et al. 02] ou
une partie [Chu et al. 97] des rotations admissibles, diffrentes heuristiques sont proposes
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 1 Planification de ressources humaines




13
pour trouver la solution de cot minimum. Une autre approche consiste grouper les vols en
priodes de service [Desaulniers et al. 97a] et, partir de ces dernires, crer des rotations.
Les rfrences [Crainic & Rousseau 87] et [Lavoie et al. 88] proposent des mthodes de
rsolution bases sur la gnration de colonnes.
Laffectation des rotations peut tre ralise suivant diffrentes approches. Lapproche
utilise par la plupart des compagnies nord-amricaines (bidline approach) consiste crer
des plannings anonymes sur lhorizon concern et les affecter ensuite aux navigants, par
ordre de priorit et aussi suivant leurs prfrences. Lavantage de cette approche est que
chacun sait exactement si le planning quil accepte est en concordance avec ses prfrences.
Les rfrences [Campbell et al 97] et [Christou et al. 99] proposent des mthodes de
constructions des plannings utilisant cette approche. Cette approche a en particulier t
applique dans les compagnies FedEx et Delta Air Lines. Les plannings sont construits en
deux tapes. Dans une premire tape, on cre, en nombre maximal, des plannings individuels
de trs bonne qualit, cest--dire qui respectent les contraintes (dures et souples) dans les
moindres dtails. Dans la deuxime tape on complte ces plannings partir des rotations qui
nont pas pu tre affectes auparavant. Les plannings sont ensuite affects aux navigants par
ordre de priorit de ces derniers (qualification et anciennet). La rfrence [Campbell et al.
97] utilise le recuit simul pour la premire tape et une procdure gloutonne pour la
deuxime. Ltude [Christou et al. 99] propose une procdure base sur des algorithmes
gntiques.
La plupart des compagnies europennes crent directement des plannings personnaliss
pour chaque navigant. Dans ce type dapproche, le navigant exprime ses prfrences avant la
cration du planning, sans connatre la configuration finale des rotations.
Pour la cration de plannings personnaliss, plusieurs mthodes heuristiques ont t
proposes, mais les mthodes bases sur le partitionnement densemble (set partitioning)
sont de plus en plus utilises. [Ryan 92] propose une mthode heuristique pour la construction
des plannings valides, en utilisant une matrice de contraintes qui facilite la recherche des
solutions. Le problme est ensuite rsolu par programmation en nombres entiers. [Gamache et
al. 99] dcrit une mthode de rsolution base sur la gnration de colonnes. [El Moudani et
al. 00] propose une mthode daffectation des rotations utilisant des algorithmes gntiques.
Cette mthode prend aussi en compte les ventuels changements de planning.
La programmation par contraintes est aussi utilise pour rsoudre le problme
daffectation de rotations. Cette technique est surtout utilise dans les cas o le problme a
beaucoup de contraintes et o on peut se contenter dune solution faisable mme si elle nest
pas optimale. Souvent, elle est combine avec des techniques de recherche oprationnelle.
Les auteurs [Guerinik et al. 95] utilisent la programmation par contraintes comme technique
de prtraitement, pour rduire la dimension du problme. Ensuite, il est rsolu laide dune
mthode de programmation linaire complte par un algorithme de Branch & Bound. Une
autre alternative est dutiliser la programmation par contraintes pour gnrer des colonnes
dans un problme de recouvrement densemble (set covering) [Caprara et al. 98a]. Cette
technique facilite la reprsentation des contraintes les plus complexes lors de la gnration de
colonnes, tout en garantissant la qualit de la solution, grce lutilisation de la
programmation en nombres entiers.
Pour rsoudre le problme daffectation de rotations, nous avons choisi lapproche
europenne - des plannings personnaliss. Notre problme peut tre vu comme un
problme daffectation multiple gnralis. Dans le chapitre 5, nous proposons une
dcomposition du problme dans un ensemble de problmes daffectation simple et un
algorithme ad-hoc pour la rsolution de chaque sous-problme.

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 1 Planification de ressources humaines




14
1.4 Conclusions

Dans ce chapitre, nous avons prsent le problme de cration des plannings dans
diffrents domaines dactivit, en insistant particulirement sur le contexte aronautique.
Le tour dhorizon sur la littrature dans le domaine nous montre que ce problme fait
lobjet dintrt de la communaut de Recherche Oprationnelle depuis plus dune trentaine
dannes. Plus rcemment, des recherches ont t effectues galement dans le domaine de
lIntelligence Artificielle.
De nombreux modles et mthodes ont t proposs pour la constitution de plannings.
Dans le chapitre suivant, nous allons prsenter quelques problmes classiques doptimisation
combinatoire utilise pour la modlisation des problmes de cration de plannings. Quelques
mthodes couramment utilises pour la rsolution de ces problmes doptimisation
combinatoire sont aussi dcrites.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




15

Chapitre 2
Modles et techniques de rsolution pour les
problmes de planification dhoraires

2.1 Introduction

La cration de plannings relve de nombreux problmes doptimisation. Ces problmes
ressemblent aux problmes doptimisation combinatoire classiquement tudis en recherche
oprationnelle, mais prsentent galement certaines spcificits : issus dapplications relles,
ils sont le plus souvent complexes et de grande taille.
Les algorithmes de programmation linaire en variables mixtes (continues et discrtes)
sont des outils puissants pour la rsolution de nombreux problmes de recherche
oprationnelle. Face des problmes rels de grande taille, ils perdent rapidement leur
efficacit. Cest pourquoi, en pratique, pour des problmes de planification, on se contente
souvent de solutions faisables qui remplissent certains critres de qualit, mme si elles ne
sont pas optimales. Des mthodes approches sont alors utilises la place des mthodes
exactes. Lavantage de ces mthodes est quelles prsentent un trs bon rapport entre la
qualit de la solution fournie et le temps de calcul.
Ce chapitre propose un bref passage en revue des problmes doptimisation
combinatoire qui mergent dans diffrents stades de la planification dhoraires : le problme
daffectation, le problme de bin-packing et le problme de recouvrement densemble. Nous
prsentons ensuite les techniques de base retenues pour la suite de nos travaux pour rsoudre
ces problmes.
2.2 Problmes classiques doptimisation combinatoire
2.2.1 Problme daffectation

Le problme daffectation consiste trouver des liens entre les lments de deux
ensemble distincts, de manire minimiser un cot et respecter des contraintes dunicit de
lien. En thorie des graphes, un problme daffectation simple peut tre vu comme un
problme de couplage parfait dans un graphe biparti. Un graphe G sappelle biparti si lon
peut diviser ses sommets en deux sous-ensembles et X
2
avec aucune arte de type (i,j) avec i
et j dans X
1
ou bien i et j dans X
2
. On appelle couplage dun graphe G un sous-ensemble
dartes non adjacentes deux deux.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




16
Problme daffectation simple

Soit un ensemble de m oprations qui doivent tre excutes par n ressources, m n .
Chaque couple (opration i, ressource j) (i = 1 m, j = 1 n) a un cot associ c
ij
, qui
reprsente la dpense associe la ralisation de lopration i par la ressource j. En supposant
que chaque opration doit tre excute une seule fois et que chaque ressource est utilise au
plus par une seule opration, le problme peut tre modlis de la manire suivante :
Min

= =
m
i
n
j
ij ij
x c
1 1
(2.1)
sous :

=
=
n
j
ij
x
1
1 { } m i ,.., 1 (2.2)

m
i
ij
x
1
1 { } n j ,.., 1 (2.3)
{ } 1 , 0
ij
x { } m i ,.., 1 , { } n j ,.., 1 (2.4)

o x
ij
est une variable binaire associe chaque paire (opration i, ressource j) et qui
vaut 1 si lopration i est effectue par la ressource j et 0 sinon. Si lon considre que X
1

reprsente lensemble des oprations (|X
1
| = m) et X
2
lensemble des ressources (|X
2
| = n) du
problme (2.1)-(2.4), avec n m alors chaque arte entre un sommet i de X
1
et un sommet j
de X
2
signifie que lopration i peut tre effectue par la ressource j. On associe chacune de
ces artes un cot gal c
ij
. Comme le cot total dun couplage est donn par la somme des
cots de chaque arte, le problme daffectation revient trouver un couplage de cardinal m et
de cot minimal.
Ce modle correspond ce que lon appelle le problme daffectation simple.

Problme daffectation gnralis

Dans un cadre plus gnral, o par exemple les ressources sont agrges, la contrainte
(2.3), appel contrainte de capacit, nest plus suffisante pour dcrire lutilisation des
ressources. Dans ce cas, une ressource j est caractrise par sa capacit S
j
et chaque opration
i ncessite la quantit de ressource r
ij
si elle utilise la ressource j. La contrainte (2.3) devient :

m
i
k
j ij
k
ij
S x r
1
{ } { } K k n j ,..., 1 , ,.., 1 (2.5)
Dans la formulation du problme, lindice k traduit lexistence frquente de plusieurs
contraintes de capacit gnralement lies lutilisation de ressources annexes ou
complmentaires par rapport aux ressources de base [Hennet 97]. Le problme daffectation
simple ayant des contraintes de capacit exprimes par (2.5) devient un problme
daffectation gnralis.
2.2.2 Problme de bin-packing

Un des problmes les plus souvent rencontrs dans le domaine de la recherche
oprationnelle est le problme de bin-packing. Celui-ci consiste placer des objets ayant une
taille donne dans des conteneurs de capacit connue. Dans les problmes les plus basiques,
les tailles et les capacits ont une seule dimension (poids, longueur) et tous les conteneurs
ont la mme capacit. Dans les problmes plus complexes, il y a plusieurs types de conteneurs
et les objets ont plusieurs dimensions. Souvent, il sagit de dimensions gomtriques ou de
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




17
caractristiques physiques (poids, volume).
Les objectifs les plus frquents sont soit de remplir au maximum les conteneurs utiliss,
sachant que les objets ne doivent pas forcment tre tous slectionns, soit de placer tous les
objets dans un nombre minimal de conteneurs, ou encore dquilibrer les charges.
[Dyckhoff 90] propose une typologie des problmes de bin-packing, chaque type tant
caractris par les attributs suivants :
Dimension. Ce paramtre prcise le nombre minimal des variables ncessaires la
description gomtrique du modle : une dimension (1), deux dimensions (2), trois
dimensions (3), N dimensions (N).
Type dassignation. Deux cas sont envisags : soit tous les objets sont affects une
slection de conteneurs (V), soit une slection dobjets est affecte tous les conteneurs (B).
Capacit des containeurs. Soit il y un seul conteneur (O) soit il y en a plusieurs avec des
capacits identiques (I) ou avec des capacits diffrentes (D).
Taille des objets. Il peut y avoir peu dobjets de formes diffrentes (F), plusieurs objets
de plusieurs formes diffrentes (M), plusieurs objets de peu de formes diffrentes (R), ou des
objets de formes identiques (C).
D'une faon classique [Guret et al. 00], un problme lmentaire de bin-packing peut
tre formul de la manire suivante :
Min

=
n
j
j
y
1
(2.6)
sous : 1
1
=

=
n
j
ij
x { } m i ,..., 1 (2.7)

m
i
j j ij i
y b x a
1
. . { } n j ,..., 1 (2.8)
{ } 1 , 0
ij
x { } m i ,..., 1 , { } n j ,..., 1 (2.9)
{ } 1 , 0
j
y { } n j ,..., 1 (2.10)
ou m est le nombre des objets placer dans des conteneurs, n est le nombre des conteneurs, a
i

donne la taille de lobjet i, b
j
donne la capacit du conteneur j, x
ij
est une variable binaire qui
vaut 1 si lobjet i se trouve dans le conteneur j, 0 sinon et y
j
est une variable binaire qui vaut 1
si le conteneur j fait partie de la solution, 0 sinon.
Il est bien connu que le problme de bin-packing est un problme NP-difficile
[Coffman et al. 98]. Cependant, il existe de nombreux algorithmes de rsolution approchs
efficaces. Les plus performants parmi ces algorithmes seront analyss dans le paragraphe
2.3.4.
2.2.3 Problme de recouvrement densemble

Un problme de recouvrement densemble (set covering problem) peut tre modlis
sous la forme suivante :
Min

=
n
j
j j
x c
1
(2.11)
sous :

n
j
j ij
x a
1
1 { } m i ,.., 1 (2.12)
{ } 1 , 0
j
x { } n j ,.., 1 (2.13)

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




18
Si lingalit (2.12) est remplace par une galit, on a un problme de partitionnement
densemble (set partitioning problem). Dans le cas o lingalit ( ) change de sens ( ), on
a un problme demballage (set packing problem).
De nombreuses applications peuvent tre modlises comme problmes de
recouvrement densemble. Les problmes de livraison ou de tourne, les problmes de
planification ou les problmes de localisation dentrepts sont traits comme problmes de
recouvrement densemble ds que lon veut s'assurer que chaque client est servi par un certain
entrept, vhicule ou personne. La rfrence [Balas & Padberg 76] contient une bibliographie
importante sur les domaines dapplications du problme de recouvrement densemble.
Les problmes modliss en tant que problmes de recouvrement densemble sont
gnralement des problmes de trs grande taille et ne peuvent pas tre formuls
explicitement. Une des techniques les plus utilises pour la rsolution de ce genre de
problmes est la gnration de colonnes. Nous allons discuter plus en dtail de la gnration
de colonnes dans 2.3.1.
La gnration de colonnes a t utilise pour la premire fois pour la rsolution dun
problme de dcoupe [Gilmore&Gomory 61]. Des problmes daffectation et
dordonnancement de tches [Savelsbergh 97], [Van Den Akker et al. 00], des problmes de
tourne avec contraintes supplmentaires fentres de temps et contraintes de ressources
[Desrosiers et al. 84, Desrochers et al. 92, Ribeiro & Soumis 94] et des problmes de
construction de plannings dans le domaine des transports ariens [Desaulniers et al. 97a],
[Barnhart et al. 98a] ont aussi t rsolus en utilisant cette mthode.
2.3 Techniques de rsolution retenues

Dans la paragraphe prcdent, nous avons vu quelques modles de recherche
oprationnelle souvent rencontrs pour modliser des problmes lis laffectation du
personnel. Ce paragraphe prsente les techniques les plus performantes pour rsoudre ces
problmes de recherche oprationnelle.
2.3.1 Mthodes de rsolution de problmes de couplage et daffectation

Le problme daffectation simple (2.1)-(2.4) est parmi les problmes combinatoires les
plus faciles rsoudre. En effet, sa matrice de contraintes pour les contraintes (2.2)-(2.3) a la
proprit dunimodularit. Les contraintes binaires (2.4) peuvent donc tre remplaces par les
contraintes de la relaxation continue suivante sans changer la solution optimale du problme
qui est naturellement binaire.
1 0
ij
x { } m i ,.., 1 , { } n j ,.., 1 (2.14)
Une consquence vidente de cette proprit est que des problmes daffectation
simples de trs grande dimension peuvent tre rsolus directement par des logiciels de
programmation linaire en nombres rels.
Cependant, pour des raisons de souplesse dutilisation et dimplmentation dans des
progiciels commerciaux, nous avons choisi de rsoudre les problmes daffectation simples
par des algorithmes ad-hoc, que nous allons maintenant passer en revue.
2.3.1.1 Bip Match

Le Bip Match est un algorithme rapide utilisant les chanes alternes amliorantes pour
trouver un couplage maximal dans un graphe biparti [Prins 94]. Pour un graphe G et un
couplage C, une chane est alterne si elle emprunte alternativement des artes dans C et hors
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




19
C. Pour un couplage, une chane alterne est amliorante (ou augmentante) si ses deux
extrmits sont insatures par le couplage.
Le fonctionnement de lalgorithme est bas sur les deux suivantes proprits dues
Berge [Berge 83] :

Proprit 1. Soit un graphe G, C un couplage de G et une chane alterne amliorante
pour C. Un transfert sur donne un nouveau couplage C avec |C| = |C| + 1.
1

Proprit 2. Un couplage est maximal si est seulement si il nadmet aucune chane
alterne amliorante.

Le Bip Match part dun couplage initial non vide, obtenu en cherchant les chanes
alternes amliorantes rduites une arte - on affecte chaque sommet de X son premier
successeur libre, cest--dire ntant pas dj extrmit dune arte du couplage.
A partir de cette affectation initiale, on cherche les chanes amliorantes, par une
exploration en largeur du graphe. Cette recherche vise amliorer la solution trouve par
laffectation initiale, puis la solution courante, par laugmentation de la cardinalit du
couplage. On part toujours dun sommet insatur de X et on sarrte la plus courte chane
trouve. On va explorer les sommets alternativement (un sommet de X, un sommet de Y),
de manire que la chane ait une arte hors du couplage, puis une arte dans le couplage.
Lalgorithme sarrte quand il narrive plus trouver des chanes amliorantes.
La recherche du couplage maximal est schmatise dans la Figure 2.1 :



Figure 2.1 Le Bip Match


1
Lopration de transfert sur consiste enlever de C les artes de qui faisaient partie du couplage et
ajouter C les artes de qui nen faisant pas partie. Ceci revient inverser le statut dans C / hors C des artes
de .
Construire le graphe biparti et tablir
le couplage initial non vide
Pour chaque sommet insatur de X,
chercher une chane alterne amliorante
Mettre jour le nouveau couplage
Y a-t-il des chanes
amliorantes?
Couplage de cardinal
maximal ?
SOLUTION
OPTIMALE
SOLUTION
sous optimale
OUI
OUI
NON
NON
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




20
Le Bip Match sinscrit dans la catgorie des mthodes primales. En effet, la recherche
des chanes alternes amliorantes qui augmente la cardinalit du couplage correspond la
construction dune squence de solutions admissibles qui converge vers loptimum.
Lavantage dune mthode primale est dtre trs rapide dans le cas de plusieurs solutions
quivalentes. Comme le but est damliorer la solution initiale, les solutions quivalentes ne
sont pas explores. Sil y a une solution meilleure, elle est retenue, sinon, on arrte
lexploration.
2.3.1.2 Lalgorithme de Busacker et Gowen

Un problme daffectation ou de couplage maximal dans un graphe biparti peut tre
modlis comme un problme de flot ; ainsi, la recherche dune affectation optimale revient
la recherche dun flot maximal de cot minimal. Cest un problme classique de la thorie des
graphes qui cherche faire passer un dbit maximal travers un rseau moindre cot.
Lalgorithme de Busacker et Gowen [Busacker&Gowen 61] est une mthode simple et
efficace pour trouver un tel flot. Son principe de fonctionnement est quivalent celui du Bip
Match : il part dun flot nul et il laugmente progressivement, par recherche des chanes
augmentantes.
Cest aussi une mthode primale comme le Bip Match, donc il prsente les mmes
avantages que celui-ci. De plus, il prend en compte les cots daffectation.
2.3.1.3 Lalgorithme hongrois

Un cas particulier du problme daffectation, souvent trait dans la littrature est celui
o le nombre des oprations effectuer est gal au nombre des ressources utilises. En effet,
tout problme daffectation simple peut tre mis sous cette forme par introduction
doprations fictives cot nul pour toutes les ressources dans le cas m<n, ou de ressources
fictives cot nul pour toutes les oprations dans le cas m>n. Une mthode de rsolution du
problme daffectation qui prend en compte cette structure est lalgorithme hongrois.
Dvelopp en 1955 par H.W.Kuhn et nomm ainsi en honneur des mathmaticiens J.
Egervary et D. Knig, lalgorithme hongrois [Kuhn 55] est un algorithme dual qui utilise la
modlisation sous forme de programme linaire du problme daffectation. Toutefois, il peut
tre vu comme une variante de lalgorithme de Busacker et Gowen, spcialise pour la
structure bipartie du graphe. Du fait de sa grande efficacit sur ce type de problme, cest
lalgorithme de rfrence en Recherche Oprationnelle pour rsoudre le problme
daffectation. Son principe est bas sur le fait que les couplages de poids minimal dans le
graphe du problme primal sont exactement les couplages de cardinalit maximale dans le
graphe du problme dual. Une schmatisation simpliste de lalgorithme hongrois pourrait tre
la suivante :
Etape 1. On cre la matrice des cots (c
ij
) (i = 1m, j = 1n, m = n) initiale, qui est
considre non ngative.
Etape 2. Pour chaque ligne de la matrice, on trouve llment minimal et on le soustrait
tous les lments de cette ligne. Sil reste des colonnes sans coefficients nuls,
pour chacune de ces colonnes, on trouve llment minimal et on le soustrait
tous les lments de cette colonne.
Etape 3. On cherche une affectation admissible en vrifiant si, pour chaque ligne et
chaque colonne il existe exactement une case marque. Si oui, laffectation
trouve est optimale. Sinon, on trace des traits (en nombre minimal) sur les
lignes et les colonnes de la matrice, pour couvrir tout les 0 au moins une fois.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




21
Etape 4. On cherche llment minimal non marqu. On le soustrait tous les lments
non marqus et on ladditionne tous les lments marqus deux fois (tous les
lments qui se trouvent lintersection de deux traits). On retourne Etape 3.

La Figure 2.2 schmatise lalgorithme hongrois.




























Figure 2.2 Lalgorithme hongrois

2.3.1.4 Mthode de relaxation Lagrangienne pour le problme
daffectation gnralis

Pour rsoudre un problme daffectation gnralis, on peut chercher le transformer en
un problme daffectation simple et ensuite rsoudre ce problme. Une mthode frquemment
utilise pour ce genre de transformation est la relaxation Lagrangienne. En dualisant la
contrainte (2.5), le critre (2.1) est remplac par lexpression lagrangienne suivante :

= = = = =
+ =
n
j
K
k
m
i
k
i ij
k
ij
k
ij
m
i
n
j
ij ij
S x r x c L
1 1 1 1 1
) ( (2.15)
En relaxant les contraintes de capacit (2.5) et en pondrant leur non-respect, on a
rsoudre un problme daffectation simple, avec les paramtres de cots c
ij
remplacs par les
paramtres c
ij
dfinis par :
OUI
Pour chaque colonne sans 0, soustraire
llment minimal de la colonne tous les
lments de cette colonne
Cration matrice des cots
Pour chaque ligne, soustraire llment minimal de la
ligne tous les lments de cette ligne
Est-ce qu-il
reste des colonnes sans
0 ?
Affectation admissible ?
SOLUTION
OPTIMALE
Tracer des traits (en nombre minimal) sur
les lignes et les colonnes ayant des 0
Soustraire llment non-barr minimal
toutes les cases non-barres et additionner
llment non-barr minimal toutes les
cases barres deux fois
OUI
NON
NON
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




22

=
+ =
K
k
k
ij
k
ij ij ij
r c c
1
'
(2.16)
Le choix des valeurs numriques, ncessairement non ngatives, des variables duales
k
ij

est bien sr trs important, car la solution optimale du problme daffectation gnralis est
obtenue pour les valeurs optimales de ces variables duales. Des valeurs candidates pour les
paramtres
k
ij
peuvent tre obtenues en rsolvant le problme daffectation gnralis dans
lequel les contraintes binaires sur les variables ont t relaxes. Cela revient rsoudre le
problme en remplaant (2.4) par (2.14):
1 0
ij
x { } m i ,.., 1 , { } n j ,.., 1

Pour la rsolution dun problme daffectation simple, les algorithmes dcrits ci-dessus
peuvent tre utiliss.
2.3.2 Algorithmes de rsolution pour le problme de bin-packing

Il est bien connu que le problme de bin-packing est un problme NP-difficile. Il y a
toutefois de nombreux algorithmes de rsolution qui donnent des solutions approches en un
temps de rponse polynomial. La qualit de chacun de ces algorithmes est donne par la
garantie de performance dans le pire cas [Coffman et al. 98]. Soit A un algorithme qui donne
une solution approche et OPT un algorithme qui donne la solution optimale. A(k) reprsente
le nombre de conteneurs utiliss par lalgorithme A pour caser k objets et OPT(k) reprsente
le nombre optimal de conteneurs pour caser les mmes k objets. Avec ces notations, la
garantie de performance de lalgorithme A, dans le pire cas est dfinie par :

) (
) (
lim
k OPT
k A
R
k
A

= (2.17)

Dans la suite, nous allons prsenter quelques algorithmes et leurs performances.
Auparavant, nous donnons quelques prcisions :
Tous les conteneurs sont vides au dbut. Chaque conteneur qui nest pas vide est soit
ferm, soit ouvert. Un conteneur est ouvert si lon peut encore mettre des objets dedans. Un
conteneur ferm nest plus disponible pour recevoir des objets; une fois ferm, il nest plus
rouvert.
Les objets mettre dans des conteneurs se trouvent dans une liste
L = { o
1
, o
2
, o
3
}. Cette liste peut tre trie suivant la taille des objets, mais la rgle de tri
dpend de lalgorithme choisi.
Suivant la modalit dinspection des objets caser dans des conteneurs, les algorithmes
sont diviss en deux catgories : algorithmes on-line et algorithmes off-line.

2.3.2.1 Algorithmes on-line

Un algorithme on-line traite les objets dans leur ordre, sans aucune connaissance de la
taille ou du nombre des objets pas encore traits. Les conteneurs sont traits dans lordre C
1
,
C
2
, C
3
Comme rgle gnrale, lalgorithme commence par mettre lobjet o
1
dans le
conteneur C
1
et ensuite il traite les autres objets dans lordre o
2
, o
3
, o
4
Parmi les algorithmes
on-line les plus connus, on trouve : Next-Fit, Worst-Fit, First-Fit, Best-Fit.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




23
Next-Fit (NF) est peut tre le plus simple des algorithmes de rsolution du binpacking.
Une fois le premier objet plac, NF met chaque objet restant dans le conteneur du dernier
objet plac. Si il ny a pas de place, il ferme ce conteneur et place lobjet courant dans un
conteneur vide. Cet algorithme a une complexit en O(n) et une garantie 2 =

NF
R . Une
analyse complte concernant

NF
R se trouve dans [Johnson 74].
Worst-Fit (WF) place lobjet courant dans le conteneur le moins rempli o lobjet peut
rentrer. Si il y a plusieurs conteneurs de ce type, celui avec lindex le plus petit est choisi. Sil
ny a pas de conteneur ouvert dans lequel lobjet courant peut tre plac, un conteneur vide est
ouvert. Cet algorithme a la mme garantie que NF [Johnson 74].
First-Fit (FF) place lobjet courant dans le premier conteneur ouvert ayant le plus petit
index o lobjet rentre. Si il ny a pas un tel conteneur, un autre sera ouvert. Lalgorithme a
une complexit en O(n log n), donc plus leve que celle du NF, mais une meilleure garantie
de performance relative au pire, car 10 / 17 =

FF
R [Johnson et al. 74].
Best-Fit (BF) place lobjet courant dans le conteneur le plus rempli o lobjet rentre. Si
il y en a plusieurs quivalents, celui avec le plus petit index est choisi. Si il ny a pas de
conteneur qui puisse recevoir cet objet, un conteneur vide est ouvert. Lalgorithme a une
complexit O(n log n) et une garantie de performance relative au pire 10 / 17 =

BF
R [Johnson
et al. 74].
2.3.2.2 Algorithmes off-line

Un algorithme off-line permet le tri des objets avant de commencer les ranger dans les
conteneurs. La rgle la plus naturelle trie les objets en ordre dcroissant de leur taille. En
effet, un gros objet est plus facile insrer lorsque le choix des conteneurs candidats est
important. Selon la mme logique, il est plus facile de complter un conteneur dj rempli
avec un petit objet quavec un gros.
En combinant cette rgle de tri avec les algorithmes qui viennent dtre prsents, on
obtient les algorithmes suivants : Next Fit Decreasing (NFD), First Fit Decreasing (FFD),
Best Fit Decreasing (BFD). FFD et BFD ont la mme garantie de performance :
9 / 11 = =

BFD FFD
R R , donc meilleure que dans le cas on-line.
Pendant des annes, le FFD a t considr comme le meilleur algorithme
dapproximation pour la rsolution du problme de bin-packing. Toutefois, des modifications
ont t apportes au FFD, en essayant de trouver une meilleure garantie. Yao [Yao 80] a cr
lalgorithme Refined First Fit Decreasing (RFFD) dont la garantie de performance est
7
10 9 / 11


RFFD
R , mais avec une complexit en O(n
10
log n). Ensuite, [Garey & Johnson
85] ont propos lalgorithme Modified First Fit Decreasing (MFFD) qui amliore encore plus
le FFD. Sa complexit est la mme que celle du FFD, O(n log n), mais la garantie de
performance est meilleure : . 60 / 71 =

MFFD
R
Plus de dtails concernant les diffrents algorithmes prsents ci-dessus figurent dans
[Coffman et al. 98].
2.3.3 Gnration de colonnes pour la rsolution du problme de
recouvrement densemble

Une particularit du problme de recouvrement densemble dcrit par (2.11) (2.13) est
que, dans de nombreuses application, il a un trs grand nombre de variables, ce qui est
quivalent au fait que la matrice (a
ij
) (i = 1m, j = 1n) a un trs grand nombre de colonnes
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




24
(n>>m), de telle sorte que toutes ses colonnes ne peuvent pas tre explicites. La question qui
se pose alors est de construire une technique capable de rsoudre un tel problme, sans tenir
compte en mme temps de faon explicite de toutes les variables du problme.
Une telle technique est la gnration de colonnes. Le principe consiste ne manipuler
quun nombre restreint de variables la fois et identifier (gnrer) les variables ou les
combinaisons de variables (colonnes) entrantes dans la solution au cours de la rsolution, sans
les numrer explicitement.
Dune manire plus gnrale, on peut rcrire (2.14) (2.16) sous la forme suivante :

0
: ) (
1
x
b Ax sous
cx Min
P (2.18)

o c et x sont des vecteurs de dimension n, A est une matrice mn, et b est un vecteur de
dimension m. Mme si la matrice A ne peut pas tre explicite, on suppose quelle est connue
implicitement, cest--dire que ses colonnes correspondent aux lments dun ensemble que
lon sait caractriser. On suppose aussi que lon dispose dun algorithme gnrateur pour
gnrer une colonne de A minimisant une fonction linaire de la forme :
j j j
A c A z = ) ( (2.19)
ou = (
1
, ..,
m
) est un vecteur ligne de paramtres.
Soit un sous-ensemble des variables du problme (P
1
) et A la sous-matrice de A
correspondante (rang(A) = m). On note (P
2
) la restriction de (P
1
) . En utilisant par
exemple lalgorithme du simplexe
2
, (P
2
) a comme solution optimale :
b B x
B
1
*

= (2.20)
o B
*
est une base de A, avec rang (B
*
) = m.
Cette solution est admissible pour P
1
, mais pas forcment optimale. Pour lamliorer, on
suit la mthode du simplexe : on cherche une colonne hors base dont le cot rduit est ngatif,
pour la faire entrer dans la base. Cest ici que lalgorithme gnrateur intervient. Comme la
colonne que lon cherche ne se trouve pas dans , il faut donc exhiber une ou plusieurs
variables non explicite de P
1
et de gnrer une nouvelle colonne pour A. On sait que le cot
marginal dune variable hors base est :
j j
j A c c = (2.21)
o est le vecteur de multiplicateurs du simplexe associs B*. A laide de lalgorithme
gnrateur, on peut gnrer la colonne A
r
de manire que :
) (
j j
j
r A c Min c = (2.22)
Tant que lon trouve un c
r
ngatif, on ajoute x
r
, A
r
A et on initie une nouvelle
itration, en rsolvant le nouveau programme linaire. Lorsque lalgorithme gnrateur
dtermine c
r
0, lalgorithme sarrte : toutes les variables hors base ont alors un cot rduit
positif ou nul ; la solution courante est donc minimale pour P
1
.
Dune faon synthtique, lapproche de rsolution par gnration de colonnes peut tre
vue comme un schma itratif de coopration entre deux types de problmes plus faciles
rsoudre que le problme global :
le problme matre, qui est une restriction un sous-ensemble de variables du
problme P
1
initial et donc, chaque itration on ne rsout que cette restriction ;

2
Pour une prsentation plus dtaill sur le simplexe, le lecteur peut se rfrer des ouvrages spcialiss comme
[Dantzig 63], [Lasdon 70] ou, plus rcemment, [Gondran & Minoux 95].
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




25
le problme esclave, rsolu chaque itration par un algorithme gnrateur qui
consiste gnrer, si elle existe, une colonne de cot rduit ngatif qui, insre dans la
matrice du problme matre restreint courant, permet damliorer la solution courante.

La Figure 2.3, prsente le schma de coopration entre les deux problmes (cf. [Mancel
04]) :


Figure 2.3 Schma de fonctionnement de la gnration de colonnes

2.3.3.1 Convergence de la mthode

Comme le simplexe, la gnration de colonnes est une mthode convergente et exacte.
La vitesse de convergence dpend du nombre ditrations ncessaires jusqu la preuve
doptimalit, autrement dit, dpend de lefficacit de lalgorithme gnrateur. Le rle de cet
algorithme est de fournir chaque itration une nouvelle colonne dont le cot marginal
ngatif peut amliorer la valeur de la fonction objectif. Mme si thoriquement, nimporte
quelle colonne de cot ngatif peut amliorer la solution courante, il se trouve quen pratique
un compromis doit tre trouv entre la vitesse de convergence et la complexit de
lalgorithme gnrateur. Lalgorithme gnrateur peut donc rsoudre un problme esclave
restreint, ou bien faire appel des mthodes approches, afin de rduire le temps de calcul. De
toute faon, il faut noter que pour sortir du processus itratif il faut utiliser un algorithme
exact pour prouver quil ny a aucune colonne de cot rduit ngatif.
Une mthode couramment pratique pour lacclration de la gnration de colonnes est
la gnration simultane de plusieurs colonnes amliorantes chaque itration [Lasdon 70],
[Gamache et al. 99]. Ceci permet de rduire le nombre ditrations ncessaires pour gnrer
les colonnes de la base optimale du problme.
Un autre aspect important li la convergence est le fait que les valeurs duales
convergent vers loptimum en oscillant de manire irrgulire. Diffrents travaux de
recherche portent sur les techniques dacclration de la convergence, consistant contrler
Problme esclave

- mettre jour la fonction objectif
(calcul des profits marginaux)
- rsoudre le problme
(lalgorithme gnrateur)
nouvelle colonne

Test darrt :
Y a-t-il une colonne amliorante ?
Oui Non
Initialisation
- trouver une base admissible B pour P
1

- initialiser
- initialiser P
2
, la restriction de P
1

Problme matre

A= B r colonnes non explicites




- mettre jour (et P
2
)
- rsoudre le nouveau P
2

solution optimale de P
2

valeurs duales de P
2

STOP
colonnes
duales
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




26
au mieux ces valeurs duales. Parmi ces travaux, les mthodes de stabilisation de la procdure
de rsolution proposes par [Merle et al. 99] puis [Ben Amor 02] sont particulirement
efficaces ; elles se basent sur lintroduction des perturbations dans le problme matre,
couples avec des bornes sur les variables duales. Les rsultats reports dans ces travaux
montrent dimportantes rductions du nombre ditrations et des temps de calcul sur diffrents
problmes, ainsi que la possibilit de rsoudre des problmes de plus grande taille.
2.3.3.2 Lalgorithme gnrateur

Pour gnrer de nouvelles colonnes pour le problme matre, une des mthodes les plus
souvent utilises dans la littrature est la recherche de plus court chemin dans un graphe. En
effet, une colonne peut souvent tre interprte comme un chemin dans un graphe ou comme
un flot dans un rseau.
Les algorithmes gnrateurs font souvent appel la thorie des graphes et la
programmation dynamique et, plus rarement, dautres mthodes comme la programmation
linaire ou la programmation non linaire (cf. [Lasdon 70]). Ainsi, la gnration dune
nouvelle colonne se ramne frquemment un problme de plus court chemin dans un graphe
avec des contraintes supplmentaires. Les algorithmes gnrateurs dvelopps pour ce type de
problme se basent essentiellement sur un algorithme de programmation dynamique, pseudo-
polynomial, prsent dans [Desrochers et Soumis 88, Desrochers et al. 92] pour la rsolution
par gnration de colonnes dun problme de tourne de bus scolaires (avec fentres
temporelles et contraintes de ressources). Le principe de cet algorithme est dassocier
chaque chemin partiel du graphe une tiquette fournissant une valuation multi-critre (sur le
temps et la consommation des diffrentes ressources) et dliminer des chemins partiels grce
des rgles de dominance. Cest une extension de lalgorithme classique de Bellman-Ford
pour la recherche de plus courts chemins dans un graphe [Prins 94].
Des mthodes approches peuvent galement tre utilises pour gnrer les colonnes du
problme matre ; elles se basent gnralement sur les mmes principes mais se contentent de
rechercher un chemin ralisable dans le graphe, satisfaisant lensemble des contraintes du
sous-problme. Cependant, une itration donne, le fait de ne pas trouver de colonne
amliorante, par un algorithme heuristique, ne prouve pas loptimalit de la solution courante
du problme matre. Pour terminer le processus itratif, on doit donc utiliser un algorithme
gnrateur exact.
2.3.3.3 Recherche des solutions entires

La gnration de colonnes applique un problme matre en nombres entiers fournit
une solution optimale de sa relaxation linaire. Gnralement, cette solution nest pas entire,
mais elle reprsente une borne infrieure de la solution entire du problme matre.
Une premire approche pour la recherche dune solution entire consiste lancer une
recherche arborescente classique de type Branch & Bound sur le problme matre restreint
lensemble des colonnes explicites lors du processus de gnration de colonnes. Cest une
approche heuristique car, mme si lensemble de colonnes permet de trouver la solution
optimale continue du problme matre la racine de larborescence, on nest pas assur
dobtenir la solution optimale (ni mme une solution ralisable) aux autres noeuds de larbre,
car des colonnes hors , sont susceptibles damliorer la solution (ou de rendre le problme
admissible) au cours de la recherche arborescente.
Ainsi, une deuxime approche, appele Branch & Price [Barnhart et al. 98b,
Vanderbeck & Wolsey 96, Vanderbeck 00], adapte les principes du Branch & Bound au
contexte de la gnration de colonnes, en permettant dexpliciter de nouvelles colonnes
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 2 Modles et techniques de rsolution pour les problmes de planification dhoraires




27
chaque noeud de larbre, cest--dire en utilisant une procdure dvaluation des noeuds par la
mthode de gnration de colonnes. Les techniques de sparation doivent alors permettre de
supprimer des solutions fractionnaires, tout en nintroduisant que des contraintes qui puissent
tre prises en compte aisment par lalgorithme gnrateur.
2.4 Conclusion

Dans ce chapitre, nous avons prsent quelques modles et mthodes que nous allons
utiliser dans les chapitres suivants pour la modlisation et la rsolution du problme de
cration de plannings. Dans la suite, nous allons voir que des sous-problmes du problme de
cration de plannings peuvent tre modliss en tant que problmes daffectation ou de bin-
packing. Les principes de ces problmes ont t prsents ainsi que diffrentes mthodes de
rsolution : lalgorithme hongrois, le Bip Match et lalgorithme de Busacker et Gowen pour
rsoudre le problme daffectation et quelques algorithmes approchs pour le problme de
bin-packing.
Quelques notions sur la gnration de colonnes ont aussi t prsentes, car cette
mthode est utilise avec succs pour la rsolution de problmes de grande taille, problmes
pour lesquels les mthodes classiques de programmation linaire ne peuvent plus tre
utilises. Cette mthode sera utilise, sous une forme simplifie, au chapitre 3.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



29

Chapitre 3
Cration de vacations pour le personnel au sol

3.1 Introduction
Le programme des vols dune compagnie arienne impose un ensemble de tches
effectuer au sol : des tches commerciales comme l'enregistrement des passagers, l'accueil
l'arrive et au dpart, le service de correspondance et de transit aux aroports et des tches
techniques comme le guidage de lavion sur la piste datterrissage, la mise en place des
toboggans, les vrifications techniques, le remplissage du rservoir, Cest le personnel au
sol qui effectue ces tches.
La cration de plannings consiste partager entre les agents toutes les tches effectuer
durant un intervalle temporel donn, de manire respecter des contraintes lies la
rglementation du travail, la prise en compte des comptences du personnel et en mme
temps tablir un quilibre entre la charge de travail de chaque agent.
Crer directement des plannings personnaliss partir des tches effectuer peut
devenir un problme assez difficile rsoudre, vu le nombre des tches effectuer et la
complexit de la rglementation. Cest pour cette raison quhabituellement ce problme est
dcompos en deux sous-problmes indpendants (cf. 1.3.1) : la cration de vacations et
laffectation de vacations.
Dans ce chapitre nous allons prsenter le problme de cration de vacations. Dans la
littrature, il est trait le plus souvent comme un problme de recouvrement densemble. Les
mthodes de rsolution proposes sont bases sur la programmation linaire ou sont des
mthodes itratives qui construisent directement lensemble de vacations.
Comme ce problme repose sur la satisfaction de nombreuses contraintes temporelles,
nous proposons une approche de modlisation base sur le concept de plage horaire [Hennet
et al. 03]. Ce concept permet une reprsentation gnrique des tches et des vacations et une
gestion logique des relations temporelles par l'intermdiaire d'une algbre d'intervalles. A
partir de ce modle, nous proposons une mthode heuristique de construction de vacations
base sur le FFD et la gnration de colonnes [Draghici&Hennet 05].
Si les agents travaillent en grille, la cration de vacations se transforme en un problme
de remplissage de vacations. Lalgorithme que nous proposons pour la cration de vacations
peut tre utilis aussi, avec quelques modifications, pour le problme de remplissage.
3.2 Concepts de base : tches et vacations

Avant de dcrire le modle utilis et la mthode de rsolution que nous proposons pour
la cration de vacations, nous allons prsenter avec plus de dtails les notions de tche et de
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



30
vacation, leurs caractristiques et les diffrents types rencontrs. Les principaux attributs du
personnel sont aussi exposs.
3.2.1 Tches

Chaque tche est caractrise par un numro identifiant, une date de dbut, un horaire et
une qualification requise au personnel qui va leffectuer. On appelle dlai de convocation
lintervalle de temps quune personne doit passer son poste avant le dbut de la tche
quelle doit effectuer. Dune faon quivalente, le dlai de couverture est donn par
lintervalle de temps pendant lequel la mme personne ne doit pas quitter son poste aprs la
fin de la tche (Figure 3.1).

Figure 3.1 Reprsentation dune tche

Selon leur position dans le temps, les tches se divisent en deux catgories :
- tches fixes. Une telle tche est, comme son nom le prcise, fixe dans le temps. Donc
on connat lheure de dbut de convocation, lheure de dbut et lheure de fin de la
tche proprement dite, lheure de fin de convocation.
- tches mobiles. Une tche mobile peut tre effectue nimporte quand dans un
intervalle de temps donn. Pour ce type de tche, on connat le dbut et la fin de cet
intervalle de temps, ainsi que la dure de la tche. Souvent, pour les tches mobiles,
lheure de dbut de la convocation concide avec lheure de dbut de la tche et
lheure de fin de convocation avec lheure de fin de la tche.
3.2.2 Vacations

Chaque vacation est caractrise par un numro identifiant, une date de dbut, une heure
de dbut et une heure de fin, la qualification requise pour la personne qui doit la raliser (la
mme pour toutes les tches de la vacation) et la liste des tches comprises. Dans le cas o les
vacations sont gnres, lheure de dbut dune vacation concide avec lheure de dbut de
convocation de la premire tche comprise dans la vacation et lheure de fin concide avec
lheure de fin de convocation de la dernire tche de la vacation. Pour le remplissage, les
heures de dbut et de fin dune vacation sont donnes par le dbut et la fin de la case
correspondante de la grille de travail. Pour deux tches successives dune vacation, la fin du
dlai de couverture de la premire tche ne correspond pas ncessairement au dbut de
convocation de la suivante : il est suprieur ou gal, mais pas forcment gal.
On distingue deux types de vacations :
- vacations continues. Ce sont des vacations o le travail est effectu en une seule fois.
Lhoraire mentionne lheure de dbut de la vacation et lheure de fin. La dure est
dtermine par lintervalle de temps compris entre le dbut de la premire tche et la
fin de la dernire (Figure 3.2 a).
- vacations fractionnes. Ce sont des vacations coupes en deux par une pause non
compte dans le temps de travail. Une pause a les mme caractristiques quune tche
Intervalle dexcution possible
Dure tche
a) tche fixe a) tche mobile
Dbut de
convocation
Fin de
convocation
Dlai de
couverture
Dbut de
tche
Fin de tche
Dlai de
convocation
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



31
mobile : un intervalle de temps pendant lequel elle doit tre effectue et une dure.
(Dans le cas de la cration de vacations, seule la dure de la pause est prcise). La
dure dune vacation fractionne est gale la dure de la mme vacation si elle tait
continue, moins la dure de la pause (Figure 3.2 b).

Figure 3.2 Reprsentation dune vacation
3.2.3 Personnel

La force de travail est reprsente par lensemble des salaris, appels aussi agents,
susceptibles de couvrir la charge de travail. Elle est constitue de diffrentes classes de
personnel. Chaque classe est caractrise par un type de contrat de travail (les mmes types de
contrat qui gnrent les patrons des vacations).
Les caractristiques de base du personnel sont leffectif, la disponibilit et les
qualifications.
Leffectif. Mme si dans une dmarche stratgique, on peut supposer le personnel en
nombre illimit, afin de le dimensionner, dans une approche plus oprationnelle, leffectif de
chaque classe de personnel est contraint en nombre et en disponibilit. Vu la limitation en
nombre des agents, il est possible que la charge de travail ne puisse pas tre couverte
entirement. Dans ce cas, des agents en sureffectif (nomms aussi agent temporaires) vont
effectuer la charge du travail en excs. Toutefois, il faut mentionner que le nombre des agents
en sureffectif ne peut pas dpasser un certain pourcentage daugmentation de leffectif.
La disponibilit. Pour quun agent puisse effectuer une tche, il doit tre disponible pour
cette tche. Il faut voir la disponibilit sous deux angles : dun ct, la prise en compte des
ventuelles activits pr-affectes et des indisponibilits (cong, arrt maladie,), et dun
autre ct la prise en compte des desiderata de chaque agent.
Les qualifications. Un agent peut avoir une seule qualification ou peut tre multi-
qualifi. Il est possible que les qualifications soient hirarchises, ce qui veut dire quun agent
ayant une qualification suprieure peut effectuer le travail dun agent avec une qualification
infrieure, mais pas linverse. En tout cas, il faut respecter certaines limites pour ce genre
daffectation, car du point de vue de lagent, il nest pas toujours agrable deffectuer un
travail qui demande une qualification infrieure.
3.3 Prsentation du problme

Le problme de cration de vacations consiste grouper un ensemble de tches dans un
nombre minimum de vacations, tout un respectant une srie de contraintes rglementaires.
Pause
Tche 1 Tche 2 Tche 3
Vacation
Tche 1 Tche 2 Tche 3
Vacation
a) vacation continue dans le cas gnration de
vacations (le dbut/ la fin de la vacation concide
avec le dbut/ la fin de la premire / dernire tche
de la vacation)
b) vacation fractionne dans le cas remplissage de
vacations (le dbut/ la fin de la vacation concide avec le
dbut/ la fin de case correspondante de la grille de travail)
Dbut
case
Fin
case
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



32
Nous avons expliqu au 3.1 que, suivant les types des contrats du personnel, les vacations
doivent tre gnres ou remplies. Lobjectif du problme change selon le cas abord.
Dans le premier cas, les vacations doivent tre gnres en nombre minimal et en
respectant une certaine proportion vacations continues/ vacations fractionnes, proportion
conforme avec leffectif moyen disponible pour les diffrents contrats et qualifications.
Si les vacations sont remplies, leur nombre ne peut pas tre modifi, car il correspond au
nombre des cases de la grille concerne. Dans ce cas, lobjectif du problme est dquilibrer la
charge de travail entre les vacations, de manire viter les priodes dactivit trop longues et
ne pas faire travailler les agents sur des priodes trop courtes.
Les contraintes respecter lors de la cration de vacations changent aussi suivant le type
de problme (gnration ou remplissage). Nous allons prsenter quelques contraintes et
comment elles sont interprtes selon le cas.
3.3.1 Contraintes rglementaires

Pour que les vacations cres soient valides, de nombreuses contraintes doivent tre
respectes. Ce sont des contraintes lies aux caractristiques des tches et des vacations ou
imposes par les diffrents types de contrats du personnel. Beaucoup de ces contraintes sont
spcifiques au contexte du travail donc, pour garder la gnralit, nous allons dcrire les plus
importantes dentre elles.
(1) Condition de compatibilit tche vacation : seules des tches du mme jour et de
mme qualification peuvent faire partie de la mme vacation. Comme une vacation
reprsente un travail journalier, cest vident que lon ne peut pas grouper au sein
dune mme vacation des tches tales sur plusieurs jours. On sait quune tche peut
tre effectue par une personne seulement si cette personne a la qualification requise.
Gnralement, les tches dun jour ne demandent pas toutes la mme qualification et
les agents ne sont pas forcment multi-qualifis. Une vacation tant effectue
entirement par une seule personne qui a une qualification prcise, alors toutes les
tches comprises dans cette vacation doivent avoir la mme qualification associe.
(2) Condition dinclusion : toute tche faisant partie dune vacation doit tre entirement
comprise dans la vacation. La validit de cette condition est vrifie diffremment,
selon le problme. Dans le cas de la gnration de vacations, lhoraire dune vacation
nest pas connu priori ; tout ce que lon connat est la dure maximale rglementaire
dune vacation. Donc, pour un ensemble de tches grouper dans la mme vacation, la
condition dinclusion peut tre formule de la manire suivante : la dure de
lintervalle de temps compris entre le dbut de la convocation de la premire tche et
la fin de la convocation de la dernire tche doit tre infrieure ou gale la dure
maximale dune vacation. Si les vacations reprsentent les cases de la grille de travail
(le cas du remplissage des vacations), le dbut et la fin de la vacation sont connus. La
condition dinclusion revient : une tche peut faire partie dune vacation si elle
commence aprs ou en mme temps que la vacation et finit avant ou en mme temps
que la vacation (en loccurrence, si la convocation de la tche commence aprs ou en
mme temps que la vacation et finit avant ou en mme temps que la vacation).
(3) Condition de pause. Dans le cas dune vacation fractionne, les tches qui en font
partie ne doivent pas craser la pause et ni la partager en plusieurs parties. Il est
possible quune tche chevauche lintervalle dexcution possible de la pause ; cela
nest pas considr comme non respect de la condition si ce qui reste de cet intervalle
permet toujours que la pause soit effectue. Pour plus de clart, prenons un exemple :
soit une vacation lintrieur de laquelle, entre 11h00 et 14h00 il faut placer une
pause dune dure de deux heure. On veut affecter cette vacation une tche qui
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



33
commence 13h30 et qui finit aprs 14h00. Comme une pause de deux heures peut
toujours tre effectue entre 11h00 et 13h30, cette tche peut tre affecte la
vacation. Par contre, une tche qui commence 11h30 et qui finit 13h45 ne peut pas
faire partie de la vacation, car la pause ne peut tre accorde ni avant la tche ni aprs.
(4) Condition de non-chevauchement : en cours de vacation, les tches ne doivent jamais
se chevaucher. Toutefois, dans certains cas le dlai de couverture dune tche peut
chevaucher le dlai de convocation de la tche qui la suit, la condition de non-
chevauchement sappliquant aux tches proprement dites.
3.3.2 Mthodes de rsolution dans la littrature

Les mthodes proposes dans la littrature pour la construction de vacations peuvent
tre divise en deux catgories :
- les mthodes qui modlisent le problme comme un problme de recouvrement
densemble
- les mthodes itratives qui construisent directement lensemble de vacations
3.3.2.1 Modlisation par recouvrement densemble

Le problme de cration de vacations peut tre modlis comme un problme de
recouvrement densemble.
Un modle simplifi et non-linaire pour ce genre de problme est le suivant :
Min

=
=
n
j
j j
x c z
1
(3.1)
Sous : 1
1

=
n
j
j ij
x a { } m i ,..., 1 (3.2)

m
i
j i ij
d b a
1
{ } n j ,..., 1 (3.3)
o
n : le nombre de vacations faisables
m : le nombre des tches grouper dans des vacations
x
j
: une variable binaire qui vaut 1 si la vacation j fait partie de la solution et 0 sinon
c
j
: le cot de la vacation j
a
ij
: une variable binaire qui vaut 1 si la tche i fait partie de la vacation j et 0 sinon
b
i
: la dure de la tche i
d
j
: la dure de la vacation j

Notons que ce modle ne suffit pas dcrire le problme de cration de vacations dans
le contexte aronautique et aroportuaire car il ne prend pas en compte les contraintes
rglementaires (1), (2), (3), (4) ci-dessus. Lutilisation des approches classiques dcrites ci-
dessous ncessiterait donc de nouveaux tests de faisabilit des vacations candidates.
En gnral, le problme est rsolu de la manire suivante : selon la dimension du
problme, toutes ou un sous-ensemble des vacations faisables sont gnres. Ayant ainsi fix
les valeurs des paramtres
ij
a dfinissant les vacations candidates, une solution courante est
calcule soit en rsolvant le problme relch (et linaris, car
ij
a ne sont plus des variables)
de recouvrement densemble, soit laide dune heuristique qui slectionne les vacations les
unes aprs les autres. La solution finale est trouve partir de cette solution initiale, en
utilisant diffrentes procdures itratives.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



34
Lapproche de Dantzig

Dantzig [Dantzig 54] propose une mthode de rsolution pour un problme de cration
de vacations pour les agents dun poste de page. Toutes les vacations crer ont une dure
de 7 heures et doivent contenir une pause de 30 minutes au milieu. Comme toutes les
vacations sont considres avoir le mme cot, lobjectif du problme est dans ce cas de
minimiser le nombre des vacations cres. Le critre (3.1) prend donc la forme suivante :
Min

=
=
n
j
j
x z
1
(3.4)
Dantzig est le premier avoir propos lutilisation de la solution du programme linaire
relch dans les rels comme point de dpart dans la recherche dune solution entire. Sur les
quelques tests effectus, il remarque que la solution de dpart est quand mme entire.
Toutefois, il propose un algorithme pour arrondir la solution du problme relch de manire
ce que toutes les contraintes soient respectes et admet que cette solution peut tre
considre comme trs proche de la solution optimale.

Lapproche de Henderson et Berry

Henderson et Berry [Henderson & Berry, 76] proposent une mthode de rsolution du
problme partir dun sous-ensemble de vacations faisables. Lensemble complet de
vacations est dfini laide de plusieurs paramtres. Ensuite, un sous-ensemble est gnr.
Deux mthodes heuristiques sont proposes pour la gnration de ce sous-ensemble :
- chaque itration, on choisit la vacation qui couvre le plus de tches non encore
couvertes par dautres vacations faisant dj partie du sous-ensemble
- les vacations du sous-ensemble sont choisies au hasard
Une fois le sous-ensemble gnr, il reste trouver une solution. De nouveau, plusieurs
mthodes sont proposes :
- une premire mthode calcule la solution du problme relch de recouvrement
densemble formul pour le sous-ensemble trouv avant. Ensuite, cette solution est
arrondie.
- une autre mthode part de la solution obtenue par la premire mthode et essaye de
remplacer deux vacations par une troisime qui fait partie du sous-ensemble de dpart.
- la dernire mthode propose utilise la mme technique de rsolution que la deuxime,
mais en partant dune solution ralisable obtenue au hasard.
Dans cet article, Henderson et Berry ont montr que des sous-ensembles relativement
limits en taille par rapport lensemble complet donnent des solutions dont le cot est trs
proche de celui de loptimum thorique. De plus ils ont montr quau-dessus dune certaine
taille, la mthode qui choisit le sous-ensemble des vacations au hasard est aussi performante
que lautre, la premire restant toutefois la meilleure pour des sous-ensembles de petite taille.
En ce qui concerne les mthodes proposes pour le calcul de la solution finale, les
auteurs ont constat que les deux mthodes qui utilisent comme point de dpart la solution du
problme relch donnent des rsultats bien meilleurs que la mthode qui part dune solution
gnre au hasard.

Lapproche de Morris et Showalter

Dans leur article [Morris et Showalter 83], les auteurs proposent des approches simples
pour diffrents problmes de planification dhoraire.
En particulier, ils sappuient sur une mthode de coupes planes et une procdure de
sparation et valuation.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



35
La contribution des auteurs est mentionner, car les tests effectus sont nombreux et les
courbes de charge varies. Ils ont montr quenviron 50% des problmes traits donnent une
solution entire ds la premire rsolution du problme relch, environs 20% une fois que la
borne infrieure du critre t arrondie suprieurement et seulement 30% ncessitent la
sparation et lvaluation.
3.3.2.2 Mthodes itratives

Les heuristiques de construction itrative reposent sur le calcul dun indice
daugmentation qui dtermine la vacation devant entrer dans la solution.
[Buffa et al. 76] proposent lune des premires heuristiques de construction itrative
pour rsoudre le problme de construction de vacations. Lapproche propose utilise un indice
daugmentation dvelopp par Luce en 1973 qui tente dquilibrer le sur-effectif et le sous-
effectif.
[McGinnis et al. 78] comparent quatre heuristiques de construction itrative pour
rsoudre le problme de construction de vacations lorsque des vacations continues, de dure
unique, doivent couvrir une charge continue sur 7 jours.
3.4 Modlisation propose

Nous avons vu que les caractristiques des tches et des vacations sont lies au temps :
heure de dbut, heure de fin, dure. De plus, les contraintes respecter lors de la cration de
vacations sont, pour la plupart, des contraintes temporelles. Cest pourquoi un problme
mthodologique cl qui se pose est le choix de la reprsentation du temps.
3.4.1 La reprsentation du temps

LIntelligence Artificielle est un domaine o la modlisation du temps joue un rle
important, car les contraintes temporelles sont omniprsentes dans toute activit et influencent
fortement la logique de son droulement. La plupart de ces activits concernent le monde rel,
qui est un monde dynamique. Les faits et les phnomnes qui sy produisent se produisent
dans le temps. La perception et la comprhension humaine du monde rel intgre la notion de
temps. Les vnements sont lis temporellement, quil sagisse de leur squencement logique
(avant, pendant, aprs) ou de leur ordonnancement (dates de dbut et de fin). Le temps
apparat donc comme une entit fondamentale dans les activits humaines aussi bien que dans
les phnomnes physiques.
Cest pour cette raison que nous avons port notre attention sur des travaux concernant la
modlisation du temps dans le domaine de l Intelligence Artificielle.
Les premiers travaux qui considrent le temps comme une entit indpendante, et non pas
comme un paramtre associ chaque activit, remontent au dbut des annes 80. McDermott
dfinit une thorie du temps qui repose sur des instants, un intervalle temporel tant considr
comme un ensemble dinstants [McDermott 82]. Allen a dvelopp ensuite une logique
temporelle base sur la notion dintervalle [Allen 84], les instants tant considrs comme des
intervalles de temps trs courts. Ainsi, 13 relations lmentaires dordre entre intervalles ont
t proposes (7 directes et 6 inverses). Deux intervalles quelconques I
1
et I
2
sont
ncessairement lis par lune des relations suivantes :
- I
1
est entirement compris dans I
2
(ou I
2
est entirement compris dans I
1
)
- I
1
et I
2
commencent en mme temps, mais I
1
finit avant I
2
(ou I
1
et I
2
commencent en
mme temps, mais I
2
finit avant I
1
)
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



36
- I
1
et I
2
finissent en mme temps, mais I
1
commence aprs I
2
(ou I
1
et I
2
finissent en mme
temps, mais I
2
commence aprs I
1
)
- I
1
se trouve avant I
2
et il ny a pas de chevauchement entre les deux (ou I
2
se trouve avant
I
1
et il ny a pas de chevauchement entre les deux)
- I
1
commence avant I
2
et les intervalles se chevauchent (ou I
2
commence avant I
1
et les
intervalles se chevauchent)
- I
1
se trouve avant I
2
, mais il ny a pas dintervalle entre les deux donc, I
1
finit quant I
2

commence (ou I
2
se trouve avant I
1
, mais il ny a pas dintervalle entre les deux donc, I
2
finit quant I
1
commence)
- I
1
et I
2
reprsente le mme intervalle.
Dans ses travaux, Shoham considre que, mme si lapproche par intervalles est la plus
naturelle, il serait galement souhaitable de pouvoir reprsenter un phnomne instantan.
Donc, il dfinit une autre smantique du temps, dans laquelle la notion dinstant et celle
dintervalle peuvent tre conjointement supports [Shoham 87].
Le but de ce paragraphe est de donner une simple ide sur la reprsentation du temps dans
la littrature, pour pouvoir focaliser ensuite sur le choix que nous avons fait. Pour une
description plus dtaille sur le raisonnement temporel, le lecteur est envoy [Vila 94, Vidal
95].
3.4.2 Plages horaires

En partant des travaux prsents dans la section prcdente sur la reprsentation du
temps, nous proposons une modlisation de notre problme base sur la notion de plage
horaire [Hennet et al. 03], qui repose principalement sur la notion dintervalle.
Les plages horaires sont des intervalles de temps dont on peut indiquer lheure de dbut,
lheure de fin ainsi que la dure. On dfinit ici trois types de base :
les plages continues : une plage continue est le type de plage le plus simple. En effet cest
une plage horaire dfinie par un dbut et une fin (Figure 3.3.a). Sa dure est dduite de ces
deux attributs :
dure = fin dbut (3.5)
les plages fractionnes : une plage fractionne est un ensemble de plages continues
disjointes. Elle est dfinie par une liste de m plages continues (Figure 3.3.b). Nous
prcisons que cette liste peut tre vide (m = 0). La dure dune plage fractionne est la
somme des dures de chaque de ses sous plages :
) (
1 1

= =
= =
m
i
i i
m
i
i
dbut fin dure dure (3.6)
les plages mobiles: une plage mobile est une plage dune dure dtermine pouvant
dbuter a diverses heures. Elle est caractrise par une dure et une plage fractionne
symbolisant les heures de dbut possible (Figure 3.3.c). Les oprations sur les plages
mobiles se ramnent donc des oprations sur des plages fractionnes.

Figure 3.3 Types de plages horaires
Dbut Fin
Dure
Dbut
Fin
Dure
Dbuts possibles
Dure
a) plage continue
c) plage mobile
b) plage fractionne
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



37
Dfinissons maintenant quelques oprations mathmatiques sur les plages horaires:
addition, soustraction, intersection. On note quil sagit bien de lois de composition internes
dans lensemble des plages horaires.
Laddition des deux plages horaires. Le rsultat est une plage horaire, dhabitude
fractionne, dont lensemble des sous plages contient toutes les sous plages des deux termes
additionns (Figure 3.4). Sil y a des plages qui se chevauchent, elles seront runies.


Figure 3.4 Adition des deux plages horaires

La soustraction des deux plages horaires. Lopration retire de lensemble de sous plages
du premier terme la priode correspondante aux sous plages du deuxime terme (Figure 3.5).



Figure 3.5 Soustraction des deux plages horaires

Lintersection des deux plages horaires. La plage rsultante contient les sous plages (ou
des parties de sous plages) communes aux deux plages horaires (Figure 3.6).


Figure 3.6 Intersection des deux plages horaires
3.4.3 Tches, vacations, contraintes

A laide des plages horaires, les tches, les vacations et les contraintes peuvent tre
modlises dune manire trs naturelle :
Une tche fixe peut tre caractrise par deux plages continues embotes : la plage de
convocation et la plage de la tche (Figure 3.7). Une tche mobile est dcrite par une plage
mobile. Un ensemble de sous plages donne les dates de dbut possibles de la tche.

a) deux plages continues b) une plage continue et
une plage fractionne
c) deux plages fractionnes
Plage
1

Plage
2

Rsultat
a) deux plages continues b) une plage continue et
une plage fractionne
c) deux plages fractionnes
Plage
1

Plage
2

Rsultat
a) deux plages
continues
b) une plage continue et
une plage fractionne c) deux plages fractionnes
Plage
1

Plage
2

Rsultat
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



38

Figure 3.7 Modlisation des tches laide des plages horaires

Une vacation continue est dfinie par une plage continue qui fixe le dbut et la fin de la
vacation et par lensemble de plages qui dfinissent les tches de la vacation. Mais lensemble
des plages qui dfinissent les tches de la vacation forment une plage fractionne. Pour
construire une vacation fractionne dans lensemble des plages horaires, il suffit de construire
la vacation continue contenant toutes ses tches et de lui ajouter la plage fractionne des dates
de dbut possibles de la pause, ainsi que la dure minimum de la pause. Mentionnons que la
pause est ainsi reprsente comme une plage mobile.
Nous allons maintenant dcrire les rgles respecter lors de la cration dun planning,
exprimes en termes de plages horaires (les rgles (2) (4) du paragraphe 3.3.1). Lapproche
par plages horaires nous permet dexprimer ces contraintes par des relations mathmatiques
entre les attributs des diffrentes plages considres : dbut, fin, dure.
Soit un ensemble de V vacations et un ensemble de T tches. Chaque vacation v

est
caractrise par une qualification g
v
, une date de dbut z
v
, une heure de dbut a
v
et une heure
de fin b
v
. Si la vacation est fractionne, on considre en plus I lensemble des sous plages des
dbuts possibles de la pause,
i
v
m le dbut de la sous plage i,
i
v
n la fin de la sous plage i et p
v

la dure minimum de la pause. De la mme manire, pour chaque tche t, q
t
donne la
qualification de la tche, s
t
la date de dbut et c
t
et d
t
les heures de dbut et de fin. Si la tche
est mobile, J reprsente lensemble des sous plages des dbuts possibles de la tche,
j
t
u et
j
t
w
le dbut et la fin de la sous plage j et l
t
la dure de la tche.
Condition dinclusion. Toute tche t faisant partie dune vacation v doit tre entirement
comprise dans la vacation. Pour une tche fixe, les relations mathmatiques sont :

c
t
a
v
(3.7)
d
t
b
v
(3.8)

Pour une tche mobile, la condition dinclusion de la tche dans la vacation est un peu
diffrente. Pour au moins un intervalle [
j
t
u ,
j
t
w ] de dbut possible de la tche, il faut trouver
lintrieur un instant deb
t
tel que :

deb
t
a
v
(3.7)
deb
t
+ l
t
b
v


(3.8)

Pour traduire cette condition dans la logique dintervalles, on peut calculer dabord
lintersection des deux plages horaires correspondant la tche et la vacation. Pour une
tche fixe, si la dure de la plage rsultante est au moins gale la dure de la tche, la
contrainte est vrifie (Figure 3.8.a).
Pour une tche mobile, la plage correspondante est reprsente par lensemble des sous
plages des dbuts possibles de la tche, chaque sous plage prolonge droite par la dure
de la tche. Ainsi, chaque sous plage de dbuts possibles devient une sous plage possible de la
Plage de tche

Plage de convocation (dure)
Dbut de
convocation
Fin de
convocation
a) tche fixe
Plages des dbuts
possibles

Dbut le
plutt possible
Dbut le plus
tard possible
Dure
b) tche mobile
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



39
tche. Dans ce cas, lopration dintersection est effectue squentiellement, sous plage par
sous plage. Si, pour une sous plage possible, la dure de la plage rsultante est au moins gale
la dure de la tche, la contrainte est vrifie. (Figure 3.8.b).











Figure 3.8 Toute tche faisant partie dune vacation doit tre entirement comprise dans la vacation
concerne

Condition de pause. Dans le cas dune vacation fractionne, les tches qui en font partie
ne doivent pas craser la pause. Pour une tche fixe, la condition est vrifie si lune des deux
relations suivantes est vraie pour au moins une des sous plages des dbuts possibles de la
pause (un intervalle de type [
i
v
m ,
i
v
n ] ):

d
t
<
i
v
n (3.9)
i
v
m + p
v
c
t
(3.10)

Les relations ci-dessus expriment deux contraintes disjonctives, suivant la position de la
tche par rapport lintervalle [
i
v
m ,
i
v
n ]: (3.9) la pause peut tre place aprs la tche, (3.10)
la pause peut tre place avant la tche.

Pour une tche mobile, les relations (3.9) et (3.10) peuvent tre crites de manire
suivante :

i
v
m + p
v
<
j
t
w (3.9)
j
t
u + l
t

i
v
n (3.10)

La contrainte est vrifie si soit (3.9) soit (3.10) est vraie pour au moins un intervalle
du type [
i
v
m ,
i
v
n ] et au moins un intervalle du type [
j
t
u ,
j
t
w ].
Analysons la compatibilit tche pause en termes de plages mobiles. Les plages
correspondant une tche mobile et la pause de la vacation sont reprsentes de la mme
manire quauparavant : chaque sous plage des dbuts possibles est transforme en sous plage
possible de la tche ou bien de la pause.
On effectue lopration daddition squentiellement, entre paires de plages du type
(plage de tche, sous plage possible de la pause) ou bien (sous plage possible de la tche, sous
plage possible de la pause). Pour une plage rsultante fractionne (deux plages disjointes), la
contrainte est respecte. Pour une plage rsultante continue, la contrainte est respecte si la
dure de cette plage est au moins gale la somme des dures de la tche et de la plage.
(Figure 3.9).

a) vacation continue, tche fixe
i) la tche chevauche la vacation
ii) la tche entre dans la vacation
iii) la tche chevauche la vacation

b) vacation continue, tche mobile
i) la tche peut entrer dans la vacation
ii) la tche peut entrer dans la vacation
iii) la tche chevauche la vacation

ii)
i)
ii)
i) iii)
iii)
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



40











Figure 3.9 En cas de vacation fractionne, les tches qui en font partie ne doivent pas craser
la pause


Condition de non-chevauchement. En cours de vacation, les plages de couverture de deux
tches successives peuvent se chevaucher, sans que les tches elles-mmes ne se chevauchent.
Si lon considre que pour une tche t, c
t
et d
t
reprsentent le dbut et la fin de la plage de
convocation et si lon note
'
t
c et
'
t
d

le dbut et la fin de la tche proprement dite, pour deux
tches fixes t et t (t avant t), la relation mathmatique est la suivante :

'
t
d <
'
' t
c (3.11)

Si une tche est mobile (ou bien les deux), on se retrouve dans le contexte de la condition
de pause, o la tche mobile prend la place de la pause et lintervalle [c
t
, d
t
] est substitu
[
'
t
c ,
'
t
d ].
En termes de plages horaires, on effectue lopration daddition entre les deux plages
horaires correspondant aux deux tches. Une tche fixe est reprsente par la plage de la tche
proprement dite (et non pas par la plage de couverture, comme auparavant). Pour une tche
mobile, la plage de couverture et la plage de la tche proprement dite sont identiques donc, la
reprsentation dune tche mobile reste la mme (ensemble de sous plages possibles).


Figure 3.10. En cours de vacation, les plages de couverture de deux tches fixes successives
peuvent se chevaucher, sans que les tches elles-mmes se chevauchent

La condition de non-chevauchement est respecte si la plage rsultante est fractionne ou
si la dure de la plage rsultante continue est au moins gale la dure des deux tches. La
Figure 3.10 prsente le cas o les deux tches sont fixes. Si lune des tches est mobile, le
contexte est reprsent en Figure 3.9.a si lon substitue la pause par la tche mobile. En
gardant la mme substitution, la Figure 3.9.b illustre le cas o les deux tches sont mobiles.
i) les plages de couverture ne se chevauchent pas
ii) les plages de couverture se chevauchent, mais
pas les tches elles-mmes
iii) les plages des tches se chevauchent

ii) i)
iii)
plage de couverture
plage de la tche
a) vacation fractionne, tche fixe
i) condition de pause respecte
ii) la tche crase la pause
iii) condition de pause respecte
b) vacation fractionne, tche mobile
i) iii) condition de pause respecte

i)
iii)
i)
ii)
iii) ii)
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



41
3.4.4 Modlisation du problme

La cration de vacations peut tre modlise comme un problme de bin-packing, o les
vacations reprsentent les conteneurs remplir et les tches reprsentent les objets mettre
dans les conteneurs. Le modle du problme est celui du chapitre 2, en sachant quil faut
ajouter les contraintes additionnelles qui ont t prsentes dans le paragraphe prcdant. Pour
rsoudre notre problme, nous avons choisi dutiliser lalgorithme FFD, combin avec la
gnration de colonnes [Draghici Hennet 05].
Avant de prsenter en dtail la mthode de rsolution choisie, quelques dfinitions sont
ncessaires.
Rappelons que la dure d
V
dune vacation est donne par une des deux relations
suivantes :
1
_ _ convoc deb convoc fin d
m V
= (3.12)
case case V
deb h fin h d _ _ = (3.13)

La relation (3.12) exprime la dure dune vacation dans le cas de la cration de vacations o
fin_convoc
m
reprsente lheure de fin de la convocation de la dernire tche comprise dans la
vacation et deb_convoc
1
reprsente lheure de dbut de convocation de la premire tche
comprise dans la vacation. La relation (3.13) donne la dure dune vacation pour le
remplissage de vacations, o h_deb
case
et h_fin
case
expriment lheure de dbut et lheure de fin
caractrisant la case correspondante la vacation V dans la grille de travail.
On appelle dure rentable dune vacation d_rent
V
la somme des dures des tches
comprises dans la vacation.
On appelle taux de remplissage dune vacation tR
V
le rapport suivant :

V
V
V
d
rent d
tR
_
= (3.14)

Si la vacation est vide, le taux de remplissage est gal zro.
Une vacation fractionne est quilibre si la plage horaire de la pause est incluse dans
la plage continue commenant au dbut de la vacation et finissant la fin de la vacation. En
bref, il faut quil y ait au moins une tche de chaque cot de la pause.
Le taux dquilibre dune vacation fractionne tE
V
est calcul laide de lexpression
suivante :
V
VP
V
d
centre d
tE
_ 1
= (3.15)

o d_centre
VP
reprsente la distance entre le centre de la vacation et le centre de la pause. Si la
vacation est continue, le taux dquilibre est gal au taux de remplissage. Un taux de 100%
indique un parfait quilibre tandis quun taux de 0% indique un dsquilibre maximum.
Le taux de contrainte dune tche fixe tC
V
dans un ensemble de tches fixes est gal au
nombre de tches (elle exclue) qui chevauchent la plage horaire de cette tche.


t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



42
3.5 Mthode de rsolution propose
3.5.1 Gnration de vacations

Dans ce paragraphe, nous allons prsenter la mthode de rsolution propose pour la
construction de vacations dans le cas o le profil des vacations est donn par les diffrents
types de contrats du personnel.
Les tches fixes et les tches mobiles sont traites sparment. Ce choix est justifi par
le fait que, en pratique, les plannings du personnel au sol contiennent beaucoup plus de tches
fixes que de tches mobiles. Ainsi, notre mthode sappuie principalement sur la gnration
de vacations partir de lensemble des tches fixes. Ensuite, les tches mobiles sont utilises
pour amliorer les vacations dj cres. Eventuellement, elles conduisent crer dautres
vacations.
Lalgorithme se droule en trois tapes :
- construction des patrons de vacations
- traitement des tches fixes
- traitement des tches mobiles
3.5.1.1 Construction des patrons de vacations

Un patron de vacation est un gnrateur de vacations dun type donn. Ce type est
spcifi par les diffrents types de contrats du personnel. Ainsi, un patron est cr pour
chaque type de contrat. (cf. 1.3.1). Chaque patron est spcifi par : une description des
vacations crer (continue/fractionne), la dure minimum souhaitable, la dure maximum,
un rapport de priorit de ce patron et un nombre de vacations dj gnres avec succs pour
ce patron.
Le rapport de force est une forme de proportion. Pour deux patrons x et y, x ayant un
rapport de 2 et y un rapport de 1, on pourra considrer que pour 3 vacations cres, il y aura 1
cre par y et 2 par x.
3.5.1.2 Traitement des tches fixes

Les donnes dentre du problme sont :

La liste des tches fixes. Cette liste contient toutes les tches fixes que lon souhaite
placer dans des vacations. Elle est trie par ordre dcroissant des taux de contrainte de chaque
tche. Cet ordre correspond celui qui va de la tche la plus difficile placer la plus facile
placer. Les tches sont traites ensuite squentiellement.
La liste des vacations. Au dbut, cette liste est vide car aucune vacation na t cre.
Dans le cas o la liste contient des vacations dj construites partiellement que lalgorithme
doit prendre en compte et amliorer, aucune des tches de ces vacations ne doit tre dclare
dans la liste des tches.
La liste des patrons de vacations. Elle contient lensemble des patrons construits durant
ltape prcdente. La liste peut tre trie selon le nombre de vacations dj gnres avec
succs pour chaque patron. Ce tri aide dans le choix du patron le plus pertinent afin de
respecter les proportions.




t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



43
FFD et gnration de colonnes

Le principe gnral de fonctionnement suit le schma classique du FFD. La liste des
tches est trie une seule fois au dbut de lalgorithme et traite ensuite squentiellement. La
liste des vacations candidates est trie selon lordre dans laquelle les vacations ont t
ouvertes . Une vacation est ouverte au moment o la premire tche y est insre. La tche
courante est place dans la premire vacation de la liste qui peut la contenir.
La gnration de colonnes peut tre utilise afin de rduire la dimension de la liste des
vacations candidates qui doivent tre testes. Une nouvelle colonne correspond une nouvelle
vacation. Si aucune vacation dj cre ne peut contenir la tche courante, une nouvelle
vacation est cre, selon un des patrons existants. Cette nouvelle vacation peut tre continue
ou fractionne, tant quelle peut contenir la tche courante. Toutefois, si la nouvelle vacation
cre est fractionne, lalgorithme cherche une deuxime tche, afin dquilibrer la vacation
ds sa construction : il place une tche avant la pause et lautre aprs la pause. Sil ne trouve
pas de tche pour quilibrer, la vacation est dtruite, car les vacations fractionnes non
quilibres ne sont pas acceptes. Une vacation continue est cre sa place.
Cette procdure simplifie de gnration de colonnes se rvle suffisante pour la
rsolution du problme de gnration, car une vacation qui vient dtre cre est caractrise
seulement par la tche quelle contient et peut tre positionne dans le temps de manire
souple, compatible avec son type. Comme dans [Sarin & Aggarwal 01] le problme matre
prend alors la forme dun problme de recouvrement densemble : pour un ensemble de
tches T , il faut gnrer un ensemble de vacations V, de manire que :

, T t une seule vacation V V ; V t (3.16)

Ci-dessous, nous prsentons lalgorithme pour le traitement des tches fixes :

Procedure Gen_Traite_tches_fixes

Tant que(Liste_tches_fixes pas vide)
Tche_courante=retirer_tte(Liste_tches_fixes) ;
Compteur itrations= Compteur itrations+1 ;
Si(Compteur itration correspond Frquence de tri)
Trier(Liste vacations) ;
Fin Si
Pour Vacation_Courante parcourt (Liste_vacations)
Si(On peut ajouter Tche_courante Vacation_Courante)
Ajoute(Tche_courante Vacation_Courante);
Aller Succs_Insertion
Fin Si
Fin Pour
Trier par ordre de priorit (Liste_patrons_vacations);
Pour Patron_Courant parcourt (Liste_patrons_vacation)
Nouvelle_vacation = Gnre_colonne(Patron_Courant);
Si(on peut ajouter Tche_courante Nouvelle_vacation)
Ajoute(Tche_courante Nouvelle_vacation);
Si(Nouvelle_vacation pas quilibre)
Tche_Equilibre=trouver une tche dans Liste_tches
telle que (on peut lajouter Nouvelle_vacation) et
que( Nouvelle_vacation quilibre) ;
Si(Tche_Equilibre existe)
Ajouter(Tche Equilibre Nouvelle_vacation);
Compteur_itrations = Compteur itrations + 1 ;
Aller Succs Patron
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



44
Fin Si
Aller Echec_Patron
Fin Si
Succs_Patron :
Ajouter(Nouvelle_vacation en fin de Liste_vacations);
Aller Succs insertion
Fin Si
Echec Patron :
Dtruire(Nouvelle vacation)
Signaler_chec(Patron_Courant)
Fin Pour
Echec Insertion -> Cette tache est carte du traitement
Succs insertion :
Fin tant que


Amlioration de la solution : tri dynamique de la liste des vacations

Lobjectif classique de notre problme (3.16) est de minimiser le cardinal de V, donc
le nombre de vacations cres. Cependant, en pratique, celui-ci nest pas le seul objectif
prendre en compte, car la qualit des vacations cres est essentielle pour valuer et optimiser
la qualit du travail et lquit entre les agents. Cest pour cette raison que nous avons
dvelopp une deuxime version de lalgorithme, qui inclut un tri dynamique de la liste des
vacations partiellement remplies. Ce tri permet lamlioration de la qualit des vacations.
La liste des vacations dj cres est ordonne plusieurs fois lors de la construction de
nouvelles vacations. Le tri est fait par ordre croissant des taux de remplissage et d'quilibre de
chaque vacation. Ainsi, les vacations avec un taux faible de remplissage/ quilibre peuvent
tre vites. Un paramtre de qualit dtermine la frquence de tri.
Les deux objectifs du problme sont maintenant de crer des vacations de bonne qualit
et den crer en nombre minimum. Avec le tri des vacations, la qualit gnrale des vacations
est amliore, mais leur nombre peut augmenter avec la frquence de tri. Le compromis entre
la qualit des vacations et leur nombre est laiss lutilisateur, par le choix de la valeur du
paramtre de qualit qui est li la frquence du tri. Ce nouvel algorithme est du type best
fit , donc il a une complexit plus leve que celle du FFD.
Il faut noter que le tri dynamique de la liste des vacations nest pas li au traitement des
tches fixes ; il est galement utilis pendant le traitement des tches mobiles.

3.5.1.3 Traitement des tches mobiles

Une fois le placement des tches fixes termin, la liste des tches mobiles est analyse.
Le donnes du problme sont similaires celles considres pour les tches fixes : la liste des
tches mobiles, la liste des vacations, la liste des patrons de vacations. La liste de vacations
nest plus vide comme dans le cas prcdant ; elle contient maintenant les vacations cres
pour insrer les tches fixes.
La procdure de traitement est similaire celle des tches fixes. Pour pouvoir trier les
tches mobiles de la mme faon que les tches fixes, on associe chaque tche lattribut
suivant : dure de la tche/amplitude des dbuts possibles. Les tches sont ordonnes dans la
liste en ordre croissant de cet attribut. Si deux tches ont la mme valeur, la tche qui a la plus
longue dure sera place la premire.


t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



45
Rgle dinsertion dune tche mobile dans une vacation :
Si une tche mobile est insre dans une vacation :
- si elle est ajoute une vacation contenant des tches fixes elle sera fixe
- si elle est ajoute un vacation vide elle sera place telle quelle
- si elle est ajoute une vacation ne contenant que des tches mobiles elle sera
place en dbut ou en fin de la vacation.
Une tche mobile est fixe si lon impose son heure de dbut et de fin. Nous avons
choisi de fixer une tche mobile de manire ce que son centre concide avec le centre de
lintervalle dexcutions possibles.
3.5.2 Remplissage de vacations

Si le personnel travaille en grille, on ne parle plus de gnration de vacations, mais de
remplissage (cf. 3.1). En effet, les vacations vides sont fournies par les cases de la grille de
travail.
La rsolution du problme de remplissage de vacations est une adaptation de
lalgorithme propose dans 3.5.1. Les diffrences par rapport la gnration de vacations
sont :
- la liste de patrons de vacations nexiste plus
- la liste des vacations nest plus vide au dpart, car elle contient toutes les vacations
vides remplir avec des tches.
Dans ce contexte, la boucle sur la liste des patrons de vacations devient la suivante:
Pour Patron_Courant parcourt (Liste_patrons_vacation)
dcrite dans la procedure Gen_Traite_tches_fixes seffectue maintenant sur la liste des
vacations et la boucle du dbut de la procdure sur la liste des vacations :
Pour Vacation_Courante parcourt (Liste_vacations)
est enleve.

Tri de la liste des vacations
On peut noter que dans le cas du remplissage, le nombre de vacations remplir est fix a
priori. Lobjectif du problme est alors dobtenir des vacations de bonne qualit. Cest
pourquoi la liste des vacations est trie lors du processus de remplissage. Noublions pas que
la liste contient des vacations vides et des vacations partiellement remplies. Les vacations
partiellement remplies sont tries facilement, suivant leur taux de remplissage/ quilibre, mais
les vacations vides ont toutes ce taux gal zro. Elles sont places en dbut de liste, dans
lordre croissant de leur heure de dbut. Si plusieurs vacations commencent la mme heure,
la liste est ordonne en slectionnant une de chaque type, afin de favoriser toutes les vacations
et non pas seulement les vacations qui commencent le plus tt. Pour plus de clart, prenons
une exemple : soit un ensemble de sept vacations V
1
V
7
dont les trois premires
commencent 9h00, la quatrime 10h47, la cinquime et la sixime 11h16 et la septime
12h23. Lordre final de ces vacations dans la liste est la suivante : V
1
(9h00), V
4
(10h47), V
5

(11h16), V
7
(12h23), V
2
(9h00), V
6
(11h16), V
3
(9h00).
3.6 Rsultats obtenus

Lalgorithme dvelopp pour la gnration des vacations a t implment en C++ et
test sur un processeur Intel Celeron (930 MHz, 248 Mo de RAM). Il a t test sur un
problme rel de taille moyenne : 450 tches tales sur une semaine et correspondant deux
qualifications. Les temps de rponse obtenus (de 2 5 secondes) ont t considrs comme
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



46
trs satisfaisants. En mme temps, les paramtres de qualit ont prouv leur importance en ce
qui concerne loptimisation de lalgorithme. Les rsultats sont illustrs dans le Table 1.
Pour le cas du remplissage des vacations, ladaptation de lalgorithme de cration de
vacations prsente dans 3.5.1 a t aussi implmente et teste pour des donnes sur une
semaine : 226 vacations et 455 tches correspondant 2 qualifications. Les rsultats sont
prsents dans la Table 3.1.

Cration des vacations Remplissage des vacations
Temps
[secondes]
Vacations cres Temps
[secondes]
Tches
affectes
Vacations
restes vides
Algorithme
rapide
2 259 5 370 9
Charge
quilibre
entre
vacations
4 261 71 365 3
Vacations de
qualit
5 260 74 365 3

Table 3.1. Cration et remplissage des vacations rsultats.

Dans le cas de la cration des vacations, cette dgradation reste limite: comme on peut
le voir dans le Table 1, si lon prfre un algorithme rapide, sans tenir compte de la qualit
des vacations remplies , le rsultat est obtenu dans 2 secondes. Si lon est intress par
lquilibrage de la charge entre vacations ou par la qualit des vacations, le temps de rponse
est de 4, respectivement de 5 secondes.
Dans le cas du remplissage des vacations, un rsultat sans amliorations est obtenu en
quelques secondes et un rsultat de qualit est fourni en plus dune minute. Cela
sexplique par la dimension de la liste des vacations et par le fait que lamlioration du
rsultat est base sur le rordonnancement de cette liste. Dans le cas de la gnration, la liste
est vide au dbut. Elle est remplie au fur et mesure que les vacations sont cres.
Naturellement, le traitement dune liste vide ou de petite taille prend moins de temps que celui
dune liste de grande taille, comme dans le cas du remplissage des vacations o toutes les
vacations sont donnes ds le dbut.
Si la premire application groupe toutes les tches dans des vacations, les rsultats de la
Table 3.1 montrent quenviron 80 tches nont pas t affectes lors du remplissage des
vacations. Ce sont des tches dont lhoraire ne correspond pas lhoraire des grilles (donc
lhoraire des vacations). En pratique, elles pourront tre effectues par des employs qui
travaillent hors grille.
3.7 Conclusions

Dans ce chapitre, nous avons prsent le problme de cration de vacations. Selon les
contrats des agents, on distingue deux types de problmes. Le premier type est celui de la
cration de vacations par regroupement de tches. Le deuxime est propre aux
environnements o lactivit des agents est programme selon des grilles de travail ; les
vacations vides existent dj sous la forme des cases de grilles de travail - on parle donc dun
problme de remplissage de vacations.
Lapproche de modlisation que nous proposons repose sur le concept de plage horaire.
Ce concept permet une reprsentation gnrique des tches et des vacations et une gestion
logique des relations temporelles par l'intermdiaire d'une algbre d'intervalles. Le problme a
t formul comme un problme du type bin-packing , avec des contraintes additionnelles.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 3 Cration de vacations pour le personnel au sol



47
Il a t rsolu par une approche heuristique qui combine le FFD avec une procdure simplifie
de gnration de colonnes.
Aprs quelques modifications, le modle propos a pu tre aussi utilis avec succs pour
la rsolution de problmes de remplissage de vacations prdfinies.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



49

Chapitre 4
Cration de rotations pour le personnel
navigant dune compagnie arienne

4.1 Introduction

La construction de plannings pour le personnel navigant de compagnies ariennes est un
problme difficile, dune part cause de sa grande taille et dautre part cause de la
complexit de la rglementation du travail prendre en compte. La plupart des compagnies
ariennes construisent des plannings en deux tapes considres comme indpendantes :
durant la premire tape, appele cration de rotations, un ensemble de rotations est construit
partir dune liste de vols. Ce problme est connu sous le nom anglais de Crew Pairing. La
deuxime tape est celle daffectation de rotations (Crew Rostering en anglais). Elle construit
des plannings pour tous les navigants, en leur affectant des rotations, des jours de rserves et
de repos rglementaire et en tenant compte des activits pr-affectes. Ce chapitre prsente la
cration de rotations, le problme daffectation tant trait dans le chapitre 5.
La cration de rotations est un problme complexe, car, dun ct, la rglementation
laquelle les rotations sont soumises traite beaucoup de cas particuliers et, dun autre ct, la
combinatoire du problme est exponentielle. Nous avons vu dans le chapitre 1 que les travaux
ddis la cration de rotations rsolvent le problme en deux tapes. Une premire tape, la
construction de priodes de service, groupe les vols dans des journes de travail (ou priodes
de service). La deuxime tape enchane les journes de travail, de manire crer des
rotations.
Nous commenons le chapitre par lintroduction de quelques notions de base. Ensuite,
nous allons dcrire quelques mthodes proposes dans la littrature pour la construction de
rotations. Nous rsolvons le problme de construction de priodes de service par une mthode
de programmation linaire en variables mixtes. Loriginalit de cette mthode est quelle peut
prendre en compte les diffrents types des priodes de services. Pour le groupement des
priodes de services dans des rotations, nous proposons un modle linaire en variables
entires.
4.2 Concepts de base

Pour viter dventuelles confusions, nous allons introduire quelques dfinitions. Mme
si elles sont extraites du Code de lAviation Civile, et donc propres la rglementation
franaise, ces dfinitions introduisent des notions standard , qui sont utilises
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



50
habituellement dans un contexte aronautique, indpendamment du pays et de la
rglementation concerne:
Temps de vol Cest le temps dcompt depuis le moment o l'aronef commence se
dplacer en vue de gagner l'aire de dcollage jusqu'au moment o il
s'immobilise la fin du vol
Priode de vol Cest la somme des temps de vol entre deux temps d'arrts successifs
Temps darrt Cest le temps dcompt depuis le moment o l'aronef s'immobilise la fin
de la dernire tape jusqu'au moment o l'aronef commence se dplacer en
vue de gagner l'aire de dcollage pour effectuer la premire tape d'une
nouvelle priode de vol. (Une tape reprsente un vol.)
4.2.1 Rotations

Une rotation est constitue dun ensemble de vols, dbutant la base du navigant et le
ramenant sa base en fin de rotation. La base dun navigant est son aroport de rattachement.
Les vols effectuer pendant une rotation peuvent tre des vols en fonction ou des vols
de mise en place. Les vols en fonction sont des vols quun navigant effectue en tant que
membre de lquipage. Les vols de mise en place sont des vols que les navigants prennent en
tant que passagers. Ce sont des vols qui transfrent les navigants entre deux aroports pour
quils puissent continuer leur rotation ou qui les ramnent la base en fin de rotation. Ces
vols peuvent tre effectus par la compagnie mme ou bien par dautres compagnies. En
gnral, les vols hors-compagnie ne sont choisis que dans les cas o la compagnie nassure
pas certaines liaisons entre diffrents aroports.

Priodes de service. Une rotation pouvant couvrir un ou plusieurs jours, les vols quelle
contient sont groups dans des journes de travail, appeles priodes de service ( duty
periods en anglais).
Chaque priode de service (PdS) commence avec un dlai de convocation o briefing et
finit avec un dbriefing. Les dures du briefing et du dbriefing ont des valeurs prdfinies et
sont spcifiques chaque compagnie. A la fin de chaque PdS il y a obligatoirement une
priode de repos, proportionnelle au temps de vol effectu durant la PdS.
Dans certaines compagnies ariennes, une notion de type de PdS est introduite. Ainsi,
selon lheure de dbut et de fin, une PdS est de jour ou de nuit. Une PdS est considre
comme une PdS de nuit si elle commence ou finit dans lintervalle [
deb
t ,
fin
t ]. Les valeurs de
deb
t et
fin
t sont spcifiques chaque compagnie arienne et sont exprimes en heure locale de
laroport de dpart/ arrive de la PdS. Il faut noter que :

- pour tablir si une PdS est de nuit ou de jour, lheure prise en compte comme
heure de dbut de la PdS est lheure de dbut du briefing et non pas lheure du
dbut du premier vol. De la mme manire, lheure de fin de la PdS est
spcifie par lheure de fin du dbriefing. Donc, pour une PdS dont le premier
vol commence
premier
deb
h , le dernier vol finit
dernier
fin
h , le dure du briefing est
brief
D et la dure du dbriefing de
dbrief
D la procdure pour tablir le type de la
PdS est la suivante :

Procedure Calcul_type_PdS

type_PdS = PdS_de_jour //par dfaut, toutes les PdS sont des PdS de jour

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



51
brief
premier
deb
PdS
deb
D h h =
dbrief
dernier
fin
PdS
fin
D h h =

Si (
deb
PdS
deb
t h ou
fin
PdS
deb
t h )
type_PdS = PdS_de_nuit
Fin Si

Si(
deb
PdS
fin
t h ou
fin
PdS
fin
t h )
type_PdS = PdS_de_nuit
Fin Si

-
deb
t et
fin
t tant exprims en heure locale de chaque aroport, lhoraire de
chaque vol doit tre aussi en heure locale de laroport de dpart/ arrive.

Le type dune PdS est assez important, car il a des influences sur la dure et les limites
de temps de vol de la PdS. En gnral, une PdS de nuit est plus courte quune PdS de jour et
demande un repos rglementaire dune plus longue dure.
Les PdS sont soumises des contraintes rglementaires concernant la dure maximum,
la priode de vol maximum, la dure du repos rglementaire. Ces rgles sont tablies par le
gouvernement de chaque pays et donnent le cadre gnral dapplication. Ensuite, les
conventions civiles de chaque compagnie, complmentaires la loi, peuvent allger ou
renforcer certaines contraintes.

Equipage. Chaque rotation a une configuration dquipage qui prcise le nombre de
navigants de chaque qualification dont la rotation a besoin. La configuration dun quipage
est dfinie pour chaque vol et dpend du type et du secteur de lavion qui effectue le vol. Dans
un cas idal, les vols dune rotation ont tous la mme configuration dquipage, donc
lquipage est le mme durant toute la rotation. En pratique, cela ne se produit pas tout le
temps, car les rotations peuvent contenir des vols appartenant plusieurs secteur avion, donc
avec des configurations dquipage diffrentes. Toutefois, un quipage en configuration
minimale doit couvrir toute la rotation, une solution alternative (mise en place ou stand-by)
tant trouve pour les navigants en surplus sur les autres vols. Prenons un exemple simple :
soir une rotation avec 3 vols : v
1
, v
2
et v
3
. Les vols v
1
et v
3
demandent comme quipage un
pilote, un copilote et 3 htesses. Le vol v
2
a besoin dun pilote, un copilote et 2 htesses.
Durant toute la rotation, le pilote, le copilote et deux htesses sont en fonction. La troisime
htesse est considre en fonction sur v
1
et v
3
et en mise en place sur v
2
. Si la place du vol
v
2
on retrouve deux vols v
2-1
et v
2_2
de manire que laroport de dpart de v
2-1
concide avec
laroport darrive de v
2_2
, la solution la moins coteuse est de laisser au sol, en stand-by, la
troisime htesse durant ces deux vols.

Identificateur. A chaque rotation on attribue une sorte dtiquette, appele identificateur,
qui donne des informations sur les vols contenus. Cette tiquette nest pas unique. Si
plusieurs rotations contiennent les mmes vols, elles auront le mme identificateur. Ceci
arrive dans le cas des vols rptitifs. Soient deux vols rptitifs
1
v et
2
v . Le vol
1
v est effectu
chaque lundi durant le mois courant (
11
v - premier lundi du mois,
12
v - deuxime lundi du
moins, ) et
2
v chaque mardi (
21
v - premier mardi du mois,
22
v - deuxime mardi du mois,
). Deux rotations { }
12 11 1
, v v R = et { }
22 21 2
, v v R = auront le mme identificateur.

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



52
4.2.2 Activits hors-vol

Un navigant effectue aussi des activits au sol, appeles activits hors-vol. Un type
important dactivit hors-vol est constitu par les rserves. Une rserve reprsente une journe
de travail pendant laquelle le navigant neffectue pas de vol, en restant toutefois disponible
pour remplacer un autre navigant, si ce dernier se trouve dans limpossibilit deffectuer un
vol qui lui a t affect.
Les jours de rserves attribus un navigant pendant un mois peuvent tre tals sur
tout le mois ou groups sur plusieurs jours conscutifs, dans ce que lon appelle un
block-rserve. La manire dont on affecte les rserves est soumise des contraintes
rglementaires et est la mme pour tous les navigants. Dans tous les cas, un certain
quilibrage entre les jours de rserves accords aux navigants simpose, car rester bloqu au
sol pendant un ou plusieurs jours nest une activit ni agrable ni valorisante.
Parmi les activits hors-vol, on peut mentionner aussi les priodes de formation et
dentranement, les activits administratives, les visites mdicales priodiques. Gnralement,
ces dernires activits sont programmes des chances fixes et ajoutes automatiquement
au planning de chaque navigant. Elles ne font lobjet de ce chapitre que dans une petite
mesure car, par la suite, nous allons les appeler et les considrer comme des activits pr-
affectes.
4.2.3 Personnel

Le personnel navigant dune compagnie arienne est divis en deux catgories : le
personnel navigant technique (pilotes et copilotes) et le personnel navigant commercial (chef
de cabine et htesses/stewards).
Les qualifications de chaque catgorie sont hirarchises : un navigant ayant une
qualification suprieure est autoris effectuer le travail dun navigant moins qualifi (un
pilote peut effectuer un vol en tant que copilote et un chef de cabine peut voler comme
htesse ou stewart).
Le seul fait dtre pilote ou htesse ne suffit pas pour pouvoir effectuer un vol, car la
flotte est souvent compose de diffrents types (ou secteurs) davion et chaque secteur
demande des qualifications spcifiques. Si, gnralement, un navigant qualifi pour un
appareil dun secteur donn est qualifi pour tous les appareils appartenant au mme secteur,
il nest pas obligatoirement qualifi pour un autre secteur. En rsum, tre qualifi pour un vol
signifie avoir la qualification requise par le vol effectuer sur le secteur davion concern.
Selon leur anciennet sur diffrents secteurs davion, les navigants peuvent tre juniors
ou seniors. Lanciennet est calcule en fonction du nombre dheures de vol effectues sur ce
secteur davion, donc, en fonction de lexprience ; un navigant peut tre senior sur un secteur
et junior sur un autre. Lanciennet des navigants est trs importante pour la constitution dun
quipage, pour que les moins expriments (les juniors) soient toujours accompagns par les
plus expriments (les seniors).
4.3 Modlisation et rsolution du problme

Le problme de cration de rotations consiste construire un ensemble de rotations qui
couvre toutes les vols de la compagnie sur un horizon temporel donn - en gnral un mois
calendaire. La caractristique de base des rotations est quelles doivent tre faisables par
rapport la rglementation du travail et aux conventions civiles.
Lobjectif principal du problme de cration de rotations est de gnrer des rotations qui
couvrent de la meilleure faon tous les vols de la compagnie. La qualit des rotations est juge
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



53
le plus souvent selon le nombre des rotations cres, mais il y a aussi dautres critres comme
la dure totale des rotations, le nombre de vols de mise en place utilises, la rtribution paye
par la compagnie aux navigants qui effectuent ces rotations,
Une compagnie arienne peut avoir plusieurs bases, donc les vols couvrir et les
rotations crer sont partages entre ces bases.
4.3.1 Contraintes rglementaires

Les contraintes respecter lors de la cration de rotations sont nombreuses et
spcifiques chaque pays et chaque compagnie arienne. Toutefois, il y a des contraintes qui
se retrouvent partout, comme celles concernant les limitations sur le temps de vol et de travail
ou les repos. Sans perdre de gnralit, nous allons en prsenter quelques-unes :
(5) Condition sur le temps de vol : au sein dune PdS, le temps de vol ne doit pas dpasser
une certaine limite suprieure. Toutefois, il y a des cas spciaux o des PdS dpassent
cette limite. Ces PdS ont besoin de lautorisation du Ministre du Transport pour tre
effectues et sappellent priodes de service drogatoires .
(6) Condition sur la dure dune PdS : la dure dune PdS ne doit pas dpasser une
certaine limite suprieure.
(7) Condition de repos : aprs chaque PdS, une priode de repos doit tre accorde. La
dure du repos dpend de la dure et du temps de vol de la PdS associe. Parfois, une
nouvelle PdS peut commencer avant la fin rglementaire du repos. Dans ce cas, la
dure du repos qui na pas t effectue sera cumule la dure du repos
correspondant la nouvelle PdS.
(8) Condition sur le temps descale : le temps descale entre deux vols conscutifs doit
tre suprieur une certaine limite infrieure. La valeur de cette limite est calcule en
fonction des dures des oprations comme le dbarquement et lembarquement des
passagers, le temps ncessaire au nettoyage et/ ou lalimentation en carburant, ...
Naturellement, elle dpend du type davion.
4.3.2 Mthodes de rsolution dans la littrature

La littrature consacre au problme de cration de rotations est trs riche et la grande
majorit des mthodes de rsolution proposes modlisent le problme comme un problme
de recouvrement densemble. Une formulation non linaire de ce problme est prsente ci-
dessous :
Min

j
j j
x c (4.1)
Sous


j
j ij
x e 1, m i ... 1 = (4.2)
o :
m = nombre de vols grouper dans des rotations
n = nombre de rotations gnres
j
c = cot de la rotation j. Le cot dune rotation peut tre calcul en fonction de sa dure
et du temps de vol, mais peut reprsenter aussi le cot pay par la compagnie pour que la
rotation soit effectue. Si lon souhaite seulement minimiser le nombre de rotations gnres,
sans tenir compte des cots, il suffit de mettre c
j
= 1 dans (4.1).
j
x = variable binaire qui vaut 1 si la rotation j fait partie de la solution et 0 sinon
ij
e = variable binaire qui vaut 1 si le vol i est couvert par la rotation j et 0 sinon

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



54
Il faut noter que ce modle prend en compte les possibles vols de mise en place au sein
de la compagnie, car (4.2) permet quun vol se retrouve en mme temps dans plusieurs
rotations. Dans une rotation il sera considr comme vol en fonction, dans les autres comme
vol de mise en place. Si le problme est formul comme un problme de partitionnement
densemble (donc (4.2) devient galit), la possibilit dintgrer des vols de mise en place est
exclue.

Le problme formul ainsi ((4.1)-(4.2)) est rsolu gnralement en deux tapes :
a. gnration dune solution initiale
b. amlioration de la solution

Lors de la premire tape, un ensemble de rotations faisables est gnr. Ayant ainsi fix
les valeurs des paramtres
ij
e dfinissant les rotations candidates, une solution courante est
calcule en rsolvant le problme linaris de recouvrement densemble:

Min

J j
j j
x c (4.1)
Sous

j i j
j
x
:
1 I i (4.2)
o :
J : ensemble des rotations gnres
I : ensemble des vols grouper dans des rotations
j
c : cot de la rotation j.
j
x : variable binaire qui vaut 1 si la rotation j fait partie de la solution et 0 sinon.
Chaque colonne j a un lment 0 sur la ligne i si le vol i fait partie de la rotation j et 0
sinon.

Pendant la deuxime tape, de nouvelles rotations susceptibles damliorer la solution
initiale sont construites et rajoutes au modle linaire (4.1)-(4.2). Une nouvelle solution est
calcule. Le processus se rpte jusqu ce que lamlioration de la solution devienne
ngligeable.

Une des mthodes les plus utilises pour la construction de nouvelles rotations (4.1)-
(4.2) est la gnration de colonnes. Chaque colonne gnre correspond une rotation
candidate.
Comme les contraintes rglementaires concernant les PdS sont assez complexes, les
rotations ne sont pas construites directement partir des vols ; il y a une tape intermdiaire :
la construction de PdS. Les rotations sont ensuite gnres partir de ces PdS.

Lapproche de Rubin

Rubin [Rubin, 73] propose un modle de partitionnement densemble pour crer des
rotations. En ajoutant des limites sur le temps de vol disponible par base, le modle prend en
compte laspect multi-base :

U
k
j
j kj
L
k
H x h H

(4.3)
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



55
L
k
H et
U
k
H reprsentent les limites infrieure et suprieure dheures de vol par personne et par
mois disponibles pour la base k. Ces limites sont calcules en fonction du temps de vol
rglementaire qui peut tre effectu par un navigant.
kj
h quantifie le nombre dheures de vols par personne gnres par la rotation j pour la base k.
Si la rotation ne part pas de k, 0 =
kj
h .
Mme si (4.2) exclut les vols de mise en place, il y a toutefois la possibilit den
prendre en compte quelques uns, en rajoutant des lignes supplmentaires la matrice (e
ij
). Ces
lignes sont prises en compte seulement dans le calcul des cots des rotations qui les couvrent,
mais ne sont pas prises en compte par le problme de partitionnement. Lavantage de cette
modlisation est quelle intgre les deux catgories de vols de mise en place : compagnie et
hors compagnie.
Lamlioration de la solution initiale S (qui est connue ds le dbut) est obtenue en
rsolvant plusieurs sous-problmes de partitionnement densemble de taille rduite : pour un
ensemble de rotations S T qui couvre un ensemble de vols, toutes les rotations faisables qui
peuvent couvrir ces vols sont gnres. Sil existe un ensemble T avec un cot meilleur que
celui de T, T est remplac par T.

Lapproche de Crainic et Rousseau

[Crainic & Rousseau, 87] proposent une mthode de construction de rotations en deux
tapes. La premire tape gnre des PdS partir de la liste des vols. La gnration des PdS
est un simple processus denchanement de vols ; toutefois, lon cherche gnrer des PdS de
bonne qualit, en interdisant la construction de certaines PdS. Une fois cres, les PdS ne sont
plus retouches.
La deuxime tape construit, laide dun processus itratif, des rotations partir des
PdS. :
1. Un ensemble R de rotations de bonne qualit, contenant une seule PdS est construit.
Pour les PdS qui ne se retrouvent pas dans ces rotations, des rotations supplmentaires sont
gnres, mme si elles sont de mauvaise qualit. Un compteur s est cr et initialis 2. Ce
compteur donne des informations sur le nombre de PdS que les nouvelles rotations doivent
contenir.
2. Le problme continu de recouvrement densemble est rsolu pour les rotations de R.
3. Rest gnr, ensemble de rotations maximum s PdS, qui pourraient amliorer la
solution.
4. Si R 0, alors R ' R R et on revient au pas 2. Sinon, on augmente la valeur de s
dune unit et on revient au pas 1. Lalgorithme sarrte si la valeur du compteur dpasse une
certain seuil S. La valeur de S est choisie en fonction des limites que la plupart des
compagnies ariennes imposent pour la dure maximale des rotations.

Une fois toutes les rotations gnres, la solution entire est obtenue avec lheuristique
de Salkin [Salkin 75].

Lapproche de Lavoie, Minoux et Odier

Les auteurs [Lavoie et al. 88] modlisent le problme de construction de rotations en
tant que problme de recouvrement densemble avec beaucoup de colonnes, chaque colonne
reprsentant une rotation valide. On part dune solution initiale qui est amliore par une
mthode de gnration de colonnes. Le modle construit des rotations pour une seule base.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



56
Lalgorithme construit en premier les PdS et ensuite des rotations. Le nombre de vols
dans une PdS tant limit, lnumration de toutes les PdS est possible. Une fois cres, les
PdS ne sont plus modifiables.
Une solution initiale est obtenue en rsolvant le problme restreint laide de techniques
de coupe. Cette solution fournit un ensemble de rotations de bonne qualit.
Lalgorithme gnrateur utilis pour trouver une nouvelle colonne de cot rduit ngatif
est quivalent un problme de plus court chemin dans un graphe o les nuds sont des PdS
et les artes des enchanements valides entre deux PdS conscutives. Ce problme est rsolu
laide de lalgorithme de Dijkstra. Comme lalgorithme gnrateur est assez coteux,
chaque appel tous les plus courts chemins de cot ngatif sont gards.
Gnralement, lalgorithme fournit directement la solution entire, mme sil rsout la
relaxation continue du problme. En cas contraire, des mthodes comme Branch&Bound ou
des mthodes de coupe sont utilises.
4.3.3 Modlisation propose

Comme nous lavons vu dans 4.3.1, les contraintes prendre en compte lors de la
construction de rotations, visent plus les PdS que les rotations : si les PdS dune rotation et
les repos correspondants sont lgales, la rotation est lgale aussi. Cest pour cette raison que
nous avons dcid de garder le schma traditionnel du problme de cration de rotations :
gnration des PdS, ensuite construction de rotations par groupement de PdS.
4.3.3.1 Construction des PdS

Mme si la littrature ddie au problme de cration de rotations est trs riche, notre
connaissance, peu dattention t accorde ltape de construction des PdS. Des travaux
minutieux ont t effectus sur la construction de rotations partir dune liste de PdS, mais
tous ces travaux laissent de cte les algorithmes de gnration des PdS ou traitent ce problme
dune manire simpliste.
Etant donn le grand nombre de contraintes rglementaires et leur impact beaucoup plus
important sur les PdS que sur les rotations, nous proposons une mthode de cration de
rotations qui suit le schma classique en deux tapes cration de PdS et ensuite construction
de rotations partir des PdS mais qui met laccent sur la premire tape et non pas sur la
deuxime. Loriginalit de cette mthode rside dans le fait quelle prend en compte
linfluence que les vols ont sur les PdS, en modifiant leur type de jour ou de nuit.
A partir de la liste des vols couvrir sur une priode de temps donne, nous proposons
de les grouper entirement dans des PdS. On connat le nombre des vols, le nombre maximum
de PdS qui peuvent tre cres (dans le pire des cas une PdS pour chaque vol) et le nombre
maximum de vols qui peuvent tre inclus dans une PdS. Pour chaque vol, on connat lheure
de dpart et darrive, la dure du vol, les aroports de dpart et darrive. On connat aussi la
dure maximum dune PdS de jour et de nuit, le temps de vol maximum compris dans une
PdS, la dure du briefing et du dbriefing.
Nous proposons une formalisation du problme de construction des PdS sous forme
dun programme linaire en variables mixtes. Nous introduisons dabord les indices et
paramtres suivants :

i : numro de vol, i=1..I, o I est le nombre de vols grouper dans des PdS
j : numro de PdS, j=1..J, ou J est le nombre de PdS construites
k : rang dun vol au sein dune PdS, k=1..K, o K est le nombre maximum des vols dans
une PdS
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



57

i
d
h : heure de dpart du vol
i

i
a
h : heure darrive du vol
i

d
i
: dure du vol
i
. Il faut noter que
i
d
i
a i
h h d .Comme une PdS de nuit est dtermine
par rapport lheure locale de laroport de dpart/ arrive de son premier/ dernier
vol, lhoraire de chaque vol est donn en heure locale de laroport de dpart/ arrive.
i
d
a : aroport de dpart du vol
i

i
a
a : aroport darrive du vol
i


i
d
n : donne binaire qui vaut 1 si
i
vol peut dterminer une PdS de nuit en tant que
premier vol de cette PdS
i
f
n : donne binaire qui vaut 1 si
i
vol peut dterminer une PdS de nuit en tant que
dernier vol de cette PdS

T
max
: dure maximum de vol dans une PdS

DJ
max
: dure maximum dune PdS de jour (sans compter le briefing et le dbriefing)
DN
max
: dure maximum dune PdS de nuit (sans compter le briefing et le dbriefing)
Dif = DJ
max
- DN
max
(diffrence de dure entre un PdS de jour et une PdS de nuit)

D
brief
= dure du briefing
D
dbrief
= dure du dbriefing

B = la base (Le problme prend en compte une seule base.)

Nous introduisons les variables suivantes :
ijk
x : variable binaire qui vaut 1 si le
i
vol se trouve dans la PdS
j
en position k ; 0
sinon.
jk
escale : variable continue qui donne la dure de lescale comprise entre le vol en
position k ( 1 ... 1 = K k ) et le vol en position k+1 de la PdS
j
. Cette escale existe
seulement si il y a un vol sur la position k+1.

=
+
= =
+
=
I
i
ijk
i
a
I
i
ijk
I
i
i
d ijk jk
x h x h x escale
1
1
1 1
1
* ) ( (4.4)


=
+
= =
+
=
+
=
I
i
ijk
i
a
I
i
ijk
I
i
ijk
I
i
i
d ijk jk
x h x x h x escale
1
1
1 1
1
1
1
* *

) 2 ( ) 1 (
jk jk jk
esc esc escale =
La forme de cette quation sort du cadre de la programmation linaire, car cest une
soustraction de deux produits entre une variable continue (le premier facteur de chaque
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



58
produit) et une variable binaire

=
+
I
i
ijk
x
1
1
. Selon [Bs et al. 02]
3
, chacun de ces deux produits
peut tre remplac de la manire suivante :
0
) 1 (

jk
esc (4.5)

=
+

I
i
ijk jk
x MAX esc
1
1
) 1 (
* (4.6)

=
+

I
i
i
d ijk jk
h x esc
1
1
) 1 (
(4.7)

=
+
=
+
+
I
i
i
d ijk
I
i
ijk jk
h x x MAX esc
1
1
1
1
) 1 (
) 1 ( * (4.8)

0
) 2 (

jk
esc (4.5)

=
+

I
i
ijk jk
x MAX esc
1
1
) 2 (
* (4.6)

I
i
i
a ijk jk
h x esc
1
) 2 (
(4.7)

= =
+
+
I
i
i
a ijk
I
i
ijk jk
h x x MAX esc
1 1
1
) 2 (
) 1 ( * (4.8)

{ } 1 , 0
1
1

=
+
I
i
ijk
x (4.9)
MAX h x
I
i
i
d ijk

=
+
1
1
(4.10)

MAX h x
i
a
I
i
ijk

=1
(4.10)

MAX fournit la valeur maximale que
i
d
h et
i
a
h peuvent prendre. Comme les deux
paramtres reprsentent des heures, MAX = 24 heures.

j
z : dure de la
j
PS , sans compter le briefing et le dbriefing. Elle est calcule
comme somme des dures des vols contenus laquelle on rajoute la somme des escales :

3
Un produit dune variable binaire b avec une variable continue x peut tre remplace par lajout dune variable
(continue) p et de 4 contraintes dingalit linaires. Si 0 > m , alors :
{ }
[ ]
{ }

=
] , 0 [
1 , 0
) 1 ( *
*
0 ) , , (
, 0
1 , 0
* ) , , (
m x
b
x b m p
x p
b m p
p p b x
m x
b
x b p p b x


t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



59
z
j
=


= = =
+
1
1
) 2 ( ) 1 (
1 1
) ( *
K
k
jk jk
K
k
i
I
i
ijk
esc esc d x (4.11)
jk
X : variable continue qui vaut 1 sil y a un vol sur la position k de la
j
PS ; 0
sinon :

=
=
I
i
ijk jk
x X
1
(4.12)

jk
f
n : variable continue qui vaut 1 sil y a un vol en position k dans la PdS
j
et si ce
vol peut dterminer une PdS de nuit; 0 sinon :

=
=
I
i
ijk
i
f
jk
f
x n n
1
* (4.13)
j
f
n : variable continue qui vaut 1 si le dernier vol de la PdS
j
transforme la PdS dans
une PdS de nuit ; 0 sinon

=
+
+ =
1
1
1
) 1 ( *
K
k
jk
jk
f
jK
f
j
f
X n n n (4.14)
Encore une fois le produit

=
+

1
1
1
) 1 ( *
K
k
jk
jk
f
X n sort du cadre de la programmation
linaire. En utilisant la transformation de Fortet
4
[Fortet 60], il est remplac par une
variable continue
jk
p (k = 1 K-1), de manire que :

) 1 ( *
1 +
=
jk
jk
f jk
X n p (4.15)
0
jk
p (4.16)
jk
f jk
n p (4.17)
1
1
+

jk jk
X p (4.18)
1 +

jk
jk
f jk
X n p (4.19)
{ } 1 , 0
jk
f
n (4.20)
{ } 1 , 0 1
1

+ jk
X (4.21)

A ce moment, on peut crire :

=
+ =
1
1
K
k
jk
jK
f
j
f
p n n (4.22)


4
Un produit de deux variables binaires b
1
et b
2
peut tre remplace par lajout dune variable (continue) p et de 4
contraintes dingalit linaires:
{ }
{ }
{ }

=
1 , 0 ,
1
0 ) , , (
1 , 0
1 , 0
* ) , , (
2 1
2 1
2
1
2 1
2
1
2 1 2 1
b b
b b p
b p
b p
p p b b
b
b
b b p p b b


t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



60
j
p : variable qui vaut 1 si
j
PS est une PdS de nuit; 0 sinon. Si
j
PS commence dans
lintervalle qui dfinit la priode de nuit, alors

=
I
i
ij
i
d
x n
1
1
=1 ; si
j
PS finit dans lintervalle
qui dfinit la priode de nuit, alors
j
f
n =1. On peut dduire la valeur de
j
p en fonction de

=
I
i
ij
i
d
x n
1
1
et de
j
f
n . Le tableau suivant montre les valeurs possibles de
j
p , calcules en
fonction des valeurs de

=
I
i
ij
i
d
x n
1
1
et de
j
f
n :


j
p

=
I
i
ij
i
d
x n
1
1

j
f
n
0 0 0
1 1 0
1 0 1
1 1 1

Tableau 4.1 Calcul des valeurs possibles de
j
p
On peut crire :

j
p = (

=
I
i
ij
i
d
x n
1
1
ou
j
f
n ) (1-
j
p ) = (1-

=
I
i
ij
i
d
x n
1
1
)*(1-
j
f
n )


= =
+ =
I
i
ij
i
d
j
f
j
f
I
i
ij
i
d j
x n n n x n p
1
1
1
1
* (4.23)
En utilisant la mme procdure que pour les produits

=
+
=
+
I
i
ijk
I
i
i
d ijk
x h x
1
1
1
1
* ) ( et

=
+
=
I
i
ijk
i
a
I
i
ijk
x h x
1
1
1
* ) ( , on introduit
j
Pr (j = 1 J) variable continue, de manire que :

=
=
I
i
ij
i
d
j
f j
x n n
1
1
* Pr (4.24)
0 Pr
j
(4.25)

I
i
ij
i
d j
x n
1
1
Pr (4.26)
j
f j
n Pr (4.27)
j
f
I
i
ij
i
d j
n x n +

=
1 Pr
1
1
(4.28)
[ ] 1 , 0
j
f
n (4.29)
{ } 1 , 0
1
1

=
I
i
ij
i
d
x n (4.30)
Ainsi,
j
p peut tre crit sous la forme suivante :
j
j
f
I
i
ij
i
d j
n x n p Pr
1
1
+ =

=
(4.31)
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



61

Les contraintes du problme sexpriment par les quations suivantes :

= =

K
k
I
i
i ijk
T d x
1
max
1
J j ... 1 = (4.32)
Dif p DJ z
j j
*
max
J j ... 1 = (4.33)

= =
=
J
j
K
k
ijk
x
1 1
1 I i ... 1 = (4.34)
1
1

=
I
i
ijk
x K k J j ... 1 ; ... 1 = = (4.35)

=
+
=

I
i
ijk
I
i
ijk
x x
1
1
1
1 ... 1 ; ... 1 = = K k J j (4.36)
1
1
1
+
+ jk i ijk
x x si (
i
a
i
d
a a
1
ou B a
i
a
= ou
1
i
d
h <
i
a
h )
1 ... 1 , ... 1 ,
1
, ... 1
1
, = = = K k J j i i I i i (4.37)
0 =
ijk
x si B a
i
d
= K k J j I i ... 2 , ... 1 ; ... 1 = = = (4.38)

Les deux premires contraintes assurent la lgalit du temps de vol (4.32) et de la dure
(4.33) dune PdS. La contrainte prend en compte le type de PdS (de nuit si 1 =
j
p et de jour si
0 =
j
p ), car la dure rglementaire varie en fonction de celle-ci.
La contrainte (4.34) impose le fait que chaque vol soit couvert une seule fois, ce qui est
quivalent au fait que les vols de mise en place compagnie ne sont pas accepts. Dans le cas
o lon souhaite intgrer dans le modle la prise en compte des vols de mise en place,
lquation (4.34) peut tre remplace par les contraintes suivantes :

= =

J
j
K
k
ijk
x
1 1
1 et

= =

J
j
K
k
ijk
mep x
1 1

o mep reprsente le nombre maximum de fois quun vol peut tre couvert : une fois en tant
que vol en fonction, mep-1 fois en tant que vol de mise en place.
La contrainte (4.35) garantit lexistence dau maximum un vol sur chaque position
lintrieur dune rotation.
La contrainte (4.36) assure le fait quil ny a pas de trou lintrieur dune PdS. Une
PdS peut contenir K k < vols. Dans ce cas, on veut que les k vols se trouvent sur les k
premires positions de la PdS.
Les contraintes (4.37) et (4.38) traitent lenchanement des vols au sein dune PdS : un
vol
1
i
v peut suivre un vol
i
v si laroport de dpart du
1
i
v concide avec laroport darrive du
i
v et si lheure de dpart du
1
i
v est suprieure lheure darrive du
i
v . En mme temps, les
vols avec dpart/ arrive base sont interdits lintrieur dune PdS (sauf en premire/
dernire position).
Les solutions recherches doivent respecter les contraintes (4.32) (4.38) et minimiser
le temps hors vol (briefing, dbriefing, escales) de chaque PdS.

Minimiser :

=

=
+ +
J
j
K
k
jk jk dbrief brief j
esc esc D D X
1
1
1
) 2 ( ) 1 (
1
] ) ( ) ( * [ (4.39)

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



62
Si, en mme temps, lon dsire la minimisation du nombre de PdS construites, le critre
peut tre modifi ainsi :
Minimiser :

= =

=
+ + +
J
j
j
J
j
K
k
jk jk dbrief brief j
X esc esc D D X
1
1
1
1
1
) 2 ( ) 1 (
1
] ) ( ) ( * [
(4.40)
4.3.3.2 Construction de rotations partir des PdS

A la fin de ltape de construction de PdS, la seule caractristique de chaque PdS cre
est la liste des vols correspondants; le briefing, le dbriefing et le repos rglementaire de fin
de PdS ne sont pas calculs explicitement. Le briefing et le dbriefing peuvent tre calculs
facilement, car leurs dures sont prdfinies. La dure du repos dpend parfois de la rotation
qui la contient, selon les rgles de construction utilises. Il y a deux modalits denchanement
de PdS : une qui permet un pseudo chevauchement entre deux PdS conscutives et une autre
qui interdit le chevauchement. Dans le premier cas, une PdS a le droit de chevaucher la
priode du repos rglementaire appartenant la PdS davant. Dans ce cas, son propre repos
est prolong avec la dure du repos davant qui na pas t effectue.
Nous utilisons la mthode qui interdit les chevauchements. Dans ce cas, le repos dune
PdS est calcul une seule fois et il ne sera pas modifi. Afin de simplifier ltape de
construction de rotations, les dures correspondantes du briefing, du dbriefing et du repos
sont calcules avant et colles la PdS. Ainsi, chaque PdS sera caractrise par :
- lheure de dbut, qui concide avec lheure du dbut du briefing
- lheure de fin, qui concide avec lheure de fin du repos rglementaire
- laroport de dpart du premier vol
- laroport darrive du dernier vol
La Figure 4.1 prsente lvolution du profil dune PdS entre la fin de ltape de cration
de PdS et le dbut de ltape de construction de rotations.


Figure 4.1 Profil dune PdS
a) issus de ltape de cration de PdS ; b) aprs le calcul du briefing, du dbriefing et du repos ;
c) au dbut de ltape de construction de rotations


2

3
1
4 5
Dbut PdS Fin PdS
1 vols
2 escales





3 briefing
4 dbriefing
5 repos rglementaire
a)
b)
c)
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



63
Le problme de constructions de rotations a t modlis comme un programme linaire
en variables entires. Le modle peut tre vu comme une version simplifie du problme de
cration de PdS, car :
- les rgles concernant lenchanement des vols dans une PdS restent pour la
construction de rotations. Dans une PdS, un vol peut suivre un autre seulement
si son aroport de dpart concide avec laroport darrive du vol davant et si
les deux vols ne chevauchent pas. De la mme manire, deux PdS peuvent tre
enchanes sil y a une PdS qui commence aprs la fin de lautre et laroport
de fin de lautre.
- Toute la rglementation concernant les limites lgales du temps de vol, du temps
de travail ou le type dune PdS nest plus prise en compte, vu que les PdS la
respectent dj.
Ainsi, la construction de rotations peut tre modlise comme un programme linaire en
nombre entiers. On introduit les paramtres suivants :

i : numro de PdS, i=1..I, o I est le nombre des PdS grouper dans des rotations
j : numro de rotation, j=1..J, ou J est le nombre des rotations construites
k : rang dune PdS au sein dune rotation, k=1..K, o K est le nombre maximum de PdS
dans une rotation. Comme une PdS peut tre assimile une journe de travail, le
nombre de jours conscutifs de travail tant limit par la loi, la valeur de K peut tre
choisie en fonction de cette limite.

On connat :

i
d
h : heure de dbut de la PdS
i

i
f
h : heure de fin de la PdS
i

i
d
a : aroport de dpart du premier sol de la PdS
i

i
f
a : aroport darrive du dernier vol de la PdS
i


Les contraintes respecter :

= =

J
j
K
k
ijk
x
1 1
1 ) ,..., 1 ( I i (4.41)

I
i
ijk
x
1
1 ) ,..., 1 ( ), ,... 1 ( K k J j (4.42)

= =

I
i
K
k
j ijk
y K x
1 1
* ) ,... 1 ( J j (4.43)
1
1
1
+
+ jk i ijk
x x si
i
f
i
d
a a
1
et
i
f
i
d
h h <
1

) 1 ,... 1 ( ), ,... 1 ( ), ,..., 1 (
1
, K k J j I i i (4.44)

= =
+

I
i
ijk
I
i
ijk
x x
1 1
1
) 1 ,.. 1 ( ), ,.., 1 ( K k I j (4.45)
0
1
=
ij
x si B a
i
d
) ,..., 1 ( I i , ) ,... 1 ( J j (4.46)

=
+

I
i
ijk jk i
x x
1
1
1
si B a
i
f

1
) 1 ,... 2 ( ), ,... 1 ( ), ,..., 1 (
1
K k J j I i (4.47)

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



64
x
ijk
est une variable binaire qui vaut 1 si la PdS
i
est en position k dans la rotation ; 0
sinon..
y
j
est une variable binaire qui vaut 1 si la rotation j a t cre et 0 sinon.
La contrainte (4.41) assure que chaque PdS soit affecte au plus une seule fois.
Rciproquement, la contrainte (4.42) impose que chaque rotation ait au maximum une PdS sur
chaque position. La contrainte (4.43) garantit le nombre maximal de PdS dans une rotation.
La contrainte (4.44) vrifie les rgles denchanement de deux PdS conscutives lintrieur
dune rotation. La contrainte (4.45) garantit quune rotation avec seulement p PdS (p < K) a
les PdS dans les p premires positions. Les contraintes (4.46) et (4.47) assurent le dpart de la
base au dbut de la rotation et le retour la base en fin de rotation.

Lobjectif est de minimiser le nombre de rotations cres et le nombre de PdS non
comprises dans des rotations. La fonction objectif du modle est la suivante :
Minimiser

= = =
+
J
j
K
k
ijk
J
j
j
x y
1 1 1
) 1 ( (4.48)

4.3.4 Rsultats

Nous avons valid et test notre modle en utilisant le logiciel de programmation
linaire Xpress-MP. Les rsultats obtenus nous permettent de trouver une solution optimale
pour des problmes rduits quelques dizaines de vols et sur un horizon de calcul dune
journe.
4.3.4.1 Construction des PdS

Jusqu maintenant, notre mthode na t teste que sur des donnes exprimentales et
des rsultats trs satisfaisants ont t obtenus. Le tableau 4.1 prsente quelques rsultats :


Pb. Nbr.
vols
Nbr.max.
PdS (J)
Vols par
PdS (K)
Contraintes Variables Elments
non zro
Temps
sol.opt. [s]
1 7 3 3 376 84 1380 0.4
2 12 3 4 1566 174 4776 0.1
3 12 5 3 1747 215 5390 78.9
4 15 4 4 3035 280 8852 0.9
5 15 6 3 3045 312 8976 300*
6 19 5 4 6059 430 16570 6.2
7 20 5 4 6930 450 18560 0.9
8 20 8 3 7404 536 20016 555*
9 23 6 4 10583 612 27690 258.5
10 24 6 4 11898 636 30612 1.5

Tableau 4.1. Cration de FdP rsultats exprimentaux

Chaque ligne donne des informations sur le nombre de vols grouper, le nombre de PdS
crer, le nombre maximum de vols dans une PdS, le nombre de contraintes, de variables et
dlments non zro gnrs par le modle, ainsi que le temps de rponse pour la solution
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



65
optimale. Dans presque tous les cas tests, la solution optimale a t trouve. Pour les cases
avec un astrisque, le programme a t interrompu avant dobtenir la solution optimale.
Malgr loptimalit de la solution obtenue dans presque tous les cas, le modle prsente
un inconvnient majeur : le temps de rponse augmente trs vite avec la taille du problme.


4.3.4.2 Construction de rotations partir des PdS

Comme pour la cration des PdS, le modle propos pour la construction de rotations a
t test sur des donnes exprimentales. Le tableau 4.2 prsente quelques rsultats :

Pb. Nbr.
PdS
Nbr.max.
rotations
PdS par
rotation
Contraintes Variables Elments
non zro
Temps
sol.opt. [s]
1 19 5 4 5374 404 14884 0.4
2 20 5 4 5945 425 16255 0.5
3 21 6 4 7881 531 21519 1.1
4 21 7 4 9191 616 25102 1.4
5 21 8 4 1051 701 28685 3
6 22 8 4 11510 734 1
7 23 6 4 9425 581 25445 0.7
8 23 7 4 10992 674 29682 1.1
9 24 6 4 1023 606 27366 0.6
10 24 7 4 11938 703 31086 11.6
11 27 7 4 5610*
12 30 8 4 6228*

Tableau 4.2. Cration de rotations rsultats exprimentaux

Chaque ligne du tableau donne des information sur le nombre total de PdS, le nombre de
rotations crer, le nombre maximum de PdS dans une rotation, le nombre de contraintes, de
variables et dlments non zro gnrs pas le problme, ainsi que le temps de rponse pour
la solution optimale.
Ce modle prsente les mmes avantages et inconvnients que celui pour la construction
de PdS : la solution optimale est obtenue trs vite (quelques secondes) pour des jeux de
donnes de petite taille, mais le temps de rponse augmente trs vite avec la taille du
problme.
4.3.5 Post traitement des rotations

Pour certaines compagnies ariennes, le programme des vols contient en grande majorit
des vols rptitifs. Dans ce cas, la construction des rotations peut tre faite manuellement, en
exploitant au maximum la priodicit des vols. Il faut noter que la liste des rotations obtenues
contient beaucoup de rotations ayant le mme identificateur. Avec cette structure particulire
de rotations, lors de ltape daffectation (qui sera prsente en dtail dans le chapitre 5), des
rgles concernant lquilibrage du temps de travail et du temps de vol, des jours de rserve ou
de repos entre les navigants sont plus facilement respectes. Ainsi, des plannings quitables et
satisfaisants sont construits.
Loutil que nous proposons essaie dutiliser les connaissances du planificateur humain.
Son exprience lui a prouv que certaines squences dactivits contenant des rotations, des
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



66
jours de repos ou de rserve facilitent le respect des rgles dquilibrages. Ainsi, avant ltape
daffectation, nous proposons un post traitement des rotations. Le choix de ce post traitement
est laiss lutilisateur. Sil dsire le groupement des rotations dans des squences, il fournit
le profil des squences quil souhaite construire.
Lutilisateur peut proposer un ou plusieurs type squences. Un type de squence est
reprsent par une liste qui donne des informations sur le type dactivit souhait et lordre
denchanement. Une squence dont le type a la forme suivante
Type_squence_1 : ID
1
, Rserve, Repos, ID
2
, ID
3
, Repos
doit contenir, dans la mme ordre : une rotation ayant lidentificateur ID
1
, un jour de rserve,
un jour de repos, une rotation ayant lidentificateur ID
2
, une rotation ayant lidentificateur ID
3

et un jour de repos. Une squence doit tre compacte : des jours sans aucune activit ne sont
pas permis lintrieur dune squence. La Figure 4.2 prsente trois squences construites
selon le type Type_squence_1. Squence_1 est une squence valide, Squence_2 et
Squence_3 sont des mauvaises squences, car il y a des trous lintrieur. Squence_2 laisse
un jour non couvert entre la premire rotation et le jour de rserve. Dans Squence_3 il y a un
jour sans aucune activit entre la deuxime et la troisime rotation.


Figure 4.2 Squences de rotations


Pour construire des squences possibles, nous proposons un algorithme de listes. Afin
de faciliter la recherche des rotations dans la liste, elles sont tries en ordre croissant de la
date et de lheure de dbut. Les types de squences sont traits squentiellement ; pour chaque
type on cherche construire le maximum de squences possibles. Si les rotations se rptent
chaque jour, une squence sera construite pour chaque jour du mois.

Construction dune squence. Les lments dun type de squence sont traits un par un
et sans changer leur ordre. Si llment courant est un jour de rserve ou de repos, un jour de
rserve ou de repos est cr et ajout la squence en cours de construction. Si llment
donne lidentificateur dune rotation, alors la liste des rotations est parcourue pour trouver la
premire rotation avec cet identificateur. Dans le cas o llment courant nest pas le premier
jour 1 jour 2
jour
n+1
jour k jour n
Squence_1
Squence_2
jour 3
Squence_3
jour
n+2
Rotation avec ID
2

Rotation avec ID
3

Rotation avec ID
1

Jour de rserve
Jour de repos
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



67
lment de la squence, quelques conditions supplmentaires doivent tre respectes. On
distingue trois cas diffrents, selon la nature de llment courant :
- llment courant est un jour de rserve. On cherche DateFin et HeureFin, la date et
lheure de fin de la dernire activit insre dans la squence en train de construire. On essaie
de construire une rserve le jour DateFin. Lhoraire dune rserve tant prdfini, la rserve
peut tre construite seulement si son heure de dbut est suprieure HeureFin. Si ce nest pas
le cas, la rserve sera construite pour le jour suivant, DateFin+1.
- llment courant est un jour de repos. Un jour de repos sera construit le jour
DateFin+1.
- llment courant donne lidentificateur dune rotation. Dans la liste des rotations, on
cherche une rotation ayant lidentificateur demand, qui commence le jour DateFin et aprs
HeureFin. Sil ny a pas de rotation avec ces caractristiques, une nouvelle recherche est
lance pour le jour DateFin+1. Si la nouvelle recherche finit par un chec, la squence ne
peut pas tre construite jusqu la fin. La partie qui a t construite jusqu ce moment est
dtruite. Le processus essaye de construire une nouvelle squence du mme type qui
commence un autre jour.
Si la squence a t construite avec succs, toutes les rotations comprises sont enleves
de la liste des rotations, car une rotation ne peut pas tre insre dans plusieurs squences.

Nous prsentons ci-dessous la procdure de construction de squences :

Procedure Construction_squences

Tri(Liste_rotations)
Pour Type_Squence_Courant parcourt (Liste_Types_Squences)
Pour(chaque jour du mois)
Activit_Courante =Retirer_tte(Liste_activits_Type_Squence_Courant)
Si(Activit_Courante = rserve)
Cre (Nouvelle_squence)
Nouvelle_squence.Commence_avec(jour_de_rserve)
enConstruction = VRAI
Fin Si
Si(Activit_Courante = repos)
Cre (Nouvelle_squence)
Nouvelle_squence.Commence_avec(jour_de_repos)
enConstruction = VRAI
Fin Si
Si(Activit_Courante=rotation avec ID
k
)
Cherche_dans(Liste_rotations) premire rotation ayant ID
k

Si(trouv)
Cre (Nouvelle_squence)
Nouvelle_squence.Commence_avec(rotation_trouve)
enConstruction = VRAI
Fin Si
Fin Si

Tant_que (Liste_activits_Type_Squence_Courant pas_vide et
enConstruction)
Fin_Nouvelle_squence = Date_fin(Dernire_activit_squence)
Si(Activit_Courante = rserve ou repos)
Cre(rserve ou repos) le jour (Fin_Nouvelle_squence)
Si (ChevauchementAvec(Dernire_activit_squence))
Cre(rserve ou repos) le jour (Fin_Nouvelle_squence+1)
Fin Si
Ajoute(rserve ou repos Nouvelle_squence)
Fin Si
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



68

Si(Activit_Courante=rotation avec ID
l
)
Cherche_dans(Liste_rotations) premire rotation avec ID
l
qui
commence le jour(Fin_Nouvelle_squence)
Si(pas_trouve ou
ChevauchementAvec(Dernire_activit_squence))
Cherche_dans(Liste_rotations) premire rotation avec ID
l

qui commence le jour(Fin_Nouvelle_squence+1)
Fin Si
Si(trouv)
Ajoute(rotation_trouve Nouvelle_squence)
Fin Si
Sinon // non trouv ou chevauchement
Dtruit(Nouvelle_squence)
enConstruction = FAUX
Fin Sinon
Fin Si
Fin Tant_que

Si(enConstruction)// Nouvelle_squence construite avec succs
Enlve_de(Liste_rotations) toutes les rotation comprises dans
Nouvelle_squence
Fin Si
Fin Pour
Fin Pour

4.4 Perspectives : construction dalgorithmes approchs

Les tests effectus sur les deux modles proposs ont fourni de trs bons rsultats : la
solution optimale est souvent obtenue en quelques secondes. Par contre, les deux modles
proposs fonctionnent trs bien sur des jeux de donnes de petite taille, mais leur temps de
rponse augmente de faon exponentielle avec la taille du problme. Cet aspect nous mne
explorer dautres modalits de rsolution.
4.4.1 Construction de PdS

Pour la construction de PdS, une mthode heuristique base sur un algorithme de listes
pourrait tre envisage. Cet algorithme repose sur le fait que le temps descale entre deux vols
varie selon que lquipage effectue le vol suivant sur le mme avion ou quil change davion.
Dans le premier cas, la dure du temps descale diminue. Comme lobjectif du problme reste
de minimiser le temps hors-vol dune PdS, cette caractristique du temps descale peut tre
exploite. Les vols sont groups en listes selon lavion qui les effectue (une liste pour tous les
vols sur le mme avion) et tris en ordre croissant de leur date et heure de dpart; ensuite, les
listes sont traites sparment :

Pour chaque liste, on essaie de construire le maximum de PdS entirement comprises
dans la liste. Cette technique de construction rduit a priori la combinatoire du problme.
Sil reste des vols non couverts, dautres PdS sont construites par exploration des listes
des vols.
4.4.2 Constructions de rotations

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 4 Cration de plannings pour le personnel navigant



69
Comme nous lavons dj mentionn, les rotations sont soumises moins de contraintes
que les PdS et, a priori, les rotations construites par enchanement de PdS lgales restent
lgales, donc les possibilits de combiner des PdS afin de construire des rotations sont
infinies. Dans ces conditions, la premire voie explorer pour la construction de rotations
reste la gnration de colonnes. La combinaison dun algorithme du type FFD et de la
gnration de colonne, qui sest rvle trs efficace pour la gnration de vacations, est donc
aussi prometteuse pour la cration de rotations.
4.5 Conclusions

Dans ce chapitre, nous avons prsent le problme de cration de rotations. Nous avons
vu que cest un problme complexe, habituellement rsolu en deux tapes : construction de
priodes de service et groupement de ces deux dernires en rotations. La littrature dans le
domaine met laccent sur la deuxime tape, la construction des priodes de service tant mise
un peu dans lombre.
Nous proposons une mthode de rsolution du problme de cration de rotations,
galement en deux tapes, mais en transfrant une grande partie de la complexit du problme
sur la construction des priodes de service. Les deux sous-problmes ont t modliss
comme programmes linaires en variables mixtes pour la construction des priodes de service
et en variables entires pour le groupement dans des rotations.
Enfin, une tape supplmentaire de post traitement des rotations permet de les grouper
en squence, avant ltape daffectation.
Il est important de noter que les mthodes proposes ci-dessus pour la cration des PdS
et des rotations traitent le problme de faon rigoureuse, en cherchant loptimalit. En
contrepartie, ces mthodes ne sappliquent qu de petits jeux de donnes. En pratique, elles
permettent dvaluer la qualit des algorithmes de rsolution approche. Quelques pistes pour
llaboration dalgorithmes applicables des jeux de donnes rels ont t prsents en
complment.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



71

Chapitre 5
Affectation de vacations/ rotations

5.1 Introduction

Le sous-problme daffectation reprsente la deuxime tape dans la rsolution du
problme de cration de plannings. Compte tenu de la ressemblance entre laffectation de
vacations et celle de rotations, nous avons dcid de prsenter les deux cas ensemble, mais en
mettant en vidence les aspects spcifiques de chaque cas.
Ce chapitre commence par une prsentation des deux problmes daffectation. Aprs
avoir numr les contraintes rglementaires communes ou spcifiques chaque cas, nous
analysons quelques modles et mthodes de rsolution proposs dans la littrature.
Ensuite lapproche que nous retenons est expose. En raison des nombreuses contraintes
rglementaires le problme est modlis comme un problme daffectation gnralise. Nous
proposons une dcomposition temporelle et par qualification et ensuite une transformation du
problme daffectation gnralis en problme daffectation simple par relaxation
Lagrangienne. Un algorithme ad-hoc est utilis pour la rsolution de chaque problme de
base.
IFR France a dvelopp un produit commercial pour laffectation de rotations au
personnel navigant dune compagnie arienne et qui utilise notre approche de rsolution. Le
chapitre finit par la prsentation de ce produit.
5.2 Prsentation du problme

Laffectation de vacations consiste affecter aux agents du personnel au sol (PS),
moindre cot, toutes les vacations effectuer, de manire respecter les contraintes lies la
rglementation du travail et aux disponibilits des agents, en prenant en compte leurs
prfrences.
Laffectation de rotations consiste affecter au personnel navigant (PN) toutes les
rotations effectuer sur un intervalle temporel donn, de manire respecter les contraintes
lies la rglementation du travail et aux disponibilits des agents, en prenant en compte leurs
prfrences. De manire quivalente, il faut trouver des quipages complets pour chaque
rotation.
5.2.1 Contraintes rglementaires

Le processus daffectation doit tenir compte de plusieurs contraintes rglementaires. Ces
contraintes reprsentent lensemble des lois et rglements consigns dans le Code du travail
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



72
complt par la jurisprudence, les conventions collectives compltant les dispositions lgales
en matire dheures supplmentaires et de modulation des horaires. Il faut mentionner que
pour un navigant, une journe de travail est reprsente par une PdS et le temps de travail est
quivalent au temps de vol effectu.
Dans un cadre trs gnral, trois niveaux de contraintes peuvent tre distingus :

(1) Contraintes quotidiennes : dure minimum et maximum dune journe de travail,
dure maximum du temps de travail. Pour les PS : nombre de pauses avec leurs
dures et la fentre de temps au cours de laquelle chaque pause peut tre prise.
(2) Contraintes sur n jours glissants : temps de travail minimum et maximum, temps de
repos ncessaire entre deux jours de travail successifs, nombre maximum de jours
de travail successifs, temps de repos minimum, positionnement des jours de repos
dans la semaine (le week-end ou dans la semaine)
(3) Contraintes sur une priode de plusieurs semaines : dure exacte du temps de travail
effectif moyen sur lhorizon considr, nombre maximum dheures
supplmentaires permises.

Pour les navigants, il y a aussi des contraintes concernant la qualification sur des vols et
la configuration des quipages :

(4) Contraintes sur la qualification pour un vol: un navigant peut effectuer un vol sil a
effectu un nombre minimum requis dheures de vol sur le secteur davion
correspondant ce vol dans un intervalle temporel qui prcde le vol (exemple : un
navigant peut effectuer un vol sur un avion de type A sil a effectu au moins x
heures de vol sur le mme type davion, lors des y derniers mois avant le vol).
(5) Contraintes entre les membres dun quipage : dans le cockpit, si lun des navigants
(pilote ou copilote) est junior, lautre doit tre senior. Dans la cabine, vers
certaines destinations, un nombre minimum dhtesses doivent parler certaines
langues.

Suivant leur importance, les rgles respecter lors de laffectation peuvent tre divises
en deux catgories : rgles dures et rgles souples. Les rgles dures doivent tre respectes
imprativement, car ce sont des rgles qui fixent le cadre de travail et la validit des
affectations (les rgles imposes par la loi). Les rgles souples contribuent la qualit de
laffectation (rgles conomiques, de qualit ou de prfrence). Elles peuvent tre
progressivement relaxes si ncessaire, afin daccrotre le domaine de solutions admissibles.
5.3 Mthodes de rsolution dans la littrature
5.3.1 Affectation de vacations

Malgr lintrt accord au problme de cration de vacations, peu de travaux ont t
ddis exclusivement au problme daffectation de ces dernires aux agents. Souvent, cette
deuxime tape de la cration de plannings est traite la suite de la construction des
vacations. Pour des raisons dintgrit, nous avons dcid de prsenter entirement les tudes
qui traitent ensemble la cration et laffectation de vacations.




t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



73
Lapproche dAlvarez-Valdes

Alvarez-Valdes et ses co-auteurs [Alvarez-Valdes et al. 99] proposent une mthode
daffectation de personnel sur un horizon temporel dune semaine. Le problme est rsolu en
trois tapes. Dans une premire tape, on prend en compte seulement les types des vacations
(de nuit, de matin et daprs-midi) et le nombre de jours de repos accorder par semaine. Des
enchanements admissibles de vacations et jours de repos sur 7 jours sont dfinis. Le but de
cette premire tape est de trouver lensemble minimal de ces enchanements qui couvre
toutes les vacations de la semaine. Le modle du problme est le suivant :
Min

S s
s s
x c
Sous :
t
S s
s ts
r x a

, T i
s s
b x ,
s
x entier
s
x compatible avec la semaine prcdente
o :
S = ensemble des enchanements admissibles
T = priodes de la semaine
c
s
= cot de lenchanement s
x
s
= nombre de fois o lenchanement s est pris dans la solution
r
t
= nombre de personnels demands pour la priode t
a
ts
= variable binaire qui vaut 1 si lenchanement s couvre la priode t et 0 sinon
b
s
= borne infrieure pour x
s


Le problme est rsolu par une recherche tabou, base sur la procdure de [Glover &
McMillan 86] pour des problmes de sac dos multidimensionnel. La mthode suit une
oscillation stratgique qui alterne des phases constructives et destructives. Dans une phase
constructive, la valeur de x
s
est augmente progressivement et dans une phase destructive elle
est diminue progressivement.
La deuxime tape est un simple problme daffectation de n enchanements n
personnels. Le cot daffectation est calcul en fonction des objectifs suivants : quilibrage du
nombre de week-ends non-travaills et du nombre dheures de nuit travailles, pnalisation
pour des squences trop longues de jours conscutifs travaills. Le problme est rsolu
laide de lalgorithme hongrois.
La dernire tape affecte les vacations proprement dites aux personnels, en fonction des
enchanements qui leur ont t attribus lors de la deuxime tape. Cela se fait en deux
parties. La premire partie affecte les vacations de manire respecter toutes les contraintes.
Chaque personnel reoit chaque jour la vacation la plus longue admissible ayant le type dfini
par lenchanement correspondant. Deux procdures de correction sont possibles durant cette
partie : le remplacement de certaines vacations dj affectes aux agents et lchange
denchanements entre deux agents.
La deuxime partie cherche amliorer la solution par rapport certaines contraintes
secondaires, lies au nombre requis dagents et aux limites de temps de travail. Cela peut se
faire en remplaant certaines vacations par dautres plus courtes ou en accordant plus de jours
de repos.
Cette approche fournit une solution admissible, pas forcment optimale, mais qui donne
de bons rsultats en pratique.



t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



74
Lapproche de Mason

Dans [Mason et al., 98], on nous propose une mthode daffectation de vacations pour le
personnel du service de douane de lAroport International dAuckland, Nouvelle Zlande.
Les vacations doivent tre affectes des programmes de travail journaliers, intgrs dans des
squences de 9 jours conscutifs (6 jours de travail et 3 jours de repos). Comme il ny a pas de
vacations cheval sur deux jours, le problme est dcompos dune faon naturelle en sous-
problmes indpendants qui couvrent un jour, sachant que chaque jour est divis en priodes
de temps de 15 minutes.
Chaque sous-problme a pour objectif de minimiser le cot associ aux agents
ncessaires pour effectuer toutes les vacations du jour. Le modle du problme est le suivant :

Min

=
n
j
j j
x c
1

Sous :
i
m
j
ij j
b a x

=1
, { } m i ,..., 1
0
j
x ,
j
x entier, { } n j ,..., 1
o :
a
ij
= variable binaire qui vaut 1 si la priode i est couverte par la vacation j, 0 sinon
x
j
= nombre dagents qui doivent effectuer la vacation j
b
i
= nombre minimum de personnel requis pour effectuer la tche j
c
j
= cot de la vacation j, calcul en fonction de la dure de la vacation (nombre de
priodes de 15 minutes couvertes)

Chaque problme de ce type est rsolu par programmation linaire en nombres entiers
[Ryan 80]. La solution entire est obtenue par un schma standard de branchement sur les
variables.
Les problmes sont en gnral de petite taille, donc de trs bons temps de rponse sont
obtenus (quelques dizaines de secondes).
Ensuite, des plannings individuels couvrant des enchanements de 9 jours sont construits
laide dune heuristique [Panton 91] qui dtermine les jours travaills et les jours de repos.
Cette heuristique gnre des plannings faisables de bonne qualit, en assurant en mme temps
la qualit des plannings plus longs, obtenus par la succession de plusieurs enchanements
conscutifs. Une fois lenchanement cr, les vacations sont affectes en ordre dcroissant de
leur taille.

Lapproche de Duffuaa et Al-Sultan

[Duffuaa & Al-Sultan, 99] proposent un modle stochastique pour laffectation des
vacations au personnel de maintenance des avions dans un aroport. Les travaux de
maintenance des avions se divisent en deux catgories : la premire, appele maintenance
planifie inclut la maintenance de routine et prventive ; la deuxime, la maintenance non-
planifie , inclut les pannes et les urgences.
Si la maintenance planifie a un comportement dterministe, la maintenance non-
planifie a un caractre stochastique et peut perturber compltement le planning des tches/
vacations planifies.
Le modle propos contient une partie dterministe et une partie stochastique. La partie
dterministe reprend le modle dcrit dans [Roberts & Escudero, 83] qui est un programme
linaire en nombre entires. La partie stochastique combine une approche anticipative et une
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



75
approche adaptive, de manire trouver un compromis entre un planning long terme et un
planning ayant une bonne ractivit face aux urgences de chaque jour.
5.3.2 Affectation de rotations

Lapproche de Ryan

Un des articles qui a beaucoup influenc la suite des travaux dans le domaine est celui
de Ryan [Ryan 92]. Il est lun des premiers avoir modlis le problme daffectation de
rotations comme un problme de partitionnement densemble. Lide de base est de gnrer
tous les plannings faisables de chaque navigant. Chaque planning doit respecter la
rglementation et les activits pr-affectes. Pour obtenir une solution faisable, un sous-
ensemble de ces plannings doit tre slectionn, de manire affecter un seul planning
chaque navigant et assurer des quipages complets pour chaque rotation. Pour un problme
avec p navigants et t rotations, le modle gnral est le suivant:

Min x c z
T
=
Sous : b Ax =
{ } 1 , 0
i
x
avec A une matrice unimodulaire qui a la forme suivante :

=
p
p
L L L L
C C C C
A
...
...
3 2 1
3 2 1


o :
T
i i
e e C = est une matrice de dimension
i
n p avec ] 0 ,..., 1 ,... 0 , 0 [ =
i
e (1 en position i) et
] 1 ,..., 1 , 1 [ =
T
e .
i
L : matrice ce dimension
i
n t ou
i
n reprsente le nombre de plannings faisables pour le
navigant i. Chaque lment
jk
l vaut 1 si le k-ime planning du navigant contient la
rotation j et 0 sinon.
La matrice A est de dimension

=

p
i
i
n m
1
, o t p m + = .
Les lments du vecteur b ont les valeurs suivantes :
i
b = 1 pour p i ... 1 = et
i i p
r b =
+
pour
t i ... 1 = , o
i
r reprsente le nombre de navigants requis pour la i-ime rotation.

Ryan propose une construction par simple numration des plannings faisables pour
chaque navigant. Comme le nombre de plannings pour un seul agent peut atteindre des
milliers, des techniques de filtration [Ryan & Falkner, 88] sont utilises pour limiter leur
nombre. Ensuite, le problme est rsolu comme un programme linaire en nombre entiers. La
relaxation linaire obtenue laide de lalgorithme primal du simplexe est amliore en
utilisant une version des stratgies de programmation linaire lastique utilises par [Brown &
Graves, 75]. La solution entire est obtenue laide dune technique de Branch&Bound qui
effectue le branchement sur les contraintes et non pas sur les variables. Larbre de recherche
est explor en profondeur, en parcourant toujours dabord la branche dont la valeur de la
contrainte est fixe 1.

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



76
Lapproche de Dawid

En utilisant le model de Ryan, Dawid [Dawid et al. 01] propose une mthode de
rsolution laide dune technique de Branch&Bound. Cette approche cherche une solution
faisable, mais pas forcment optimale. Lavantage de cette mthode est quelle arrive
rduire le temps de rponse par rapport dautres mthodes proposes dans la littrature pour
le mme genre de problme.
Le modle peut tre dcrit de la manire suivante : soit W un ensemble de plannings
individuels gnrs a priori, M un ensemble de navigants et P un ensemble de rotations, en
sachant que chaque rotation j a besoin de
j
d navigants.
Un planning L est constitu dun sous-ensemble de rotations qui ne chevauchent
pas P j , assujetties aux contraintes rglementaires. W W
M
k
reprsente lensemble de
plannings faisables associs au navigant k. Pour tout
2 1
k k , les ensembles
M
k
W
1
et
M
k
W
2
sont
disjoints. { } L j L W
P
j
= reprsente lensemble de tous les plannings L contenant la rotation
j.
Une variable binaire
i
x est associe chaque planning W. Si le planning est slectionn
dans la solution,
i
x prend la valeur 1, sinon 0 =
i
x . Chaque planning a une utilit
i
u . Cette
valeur est utilise pour maximiser lutilit totale de la solution.
A laide de ces notions, Dawid modlise le problme de la manire suivante :

Min

=
n
i
i i
x u
1

Sous : 1 =

M
k
W i
i
x , { } m k ,..., 1
j
W i
i
d x
P
j
=

, { } q j ,..., 1

{ } 1 , 0
i
x , { } n i ,..., 1

Par rapport au modle de Ryan, Dawid intgre dans son modle la sur-qualification, ce
qui veut dire quun navigant ayant une qualification suprieure peut effectuer un travail qui
demande une qualification infrieure (par exemple, un chef de cabine peut effectuer une
rotation en tant que stewart). Cette approche permet la rsolution des problmes ou le nombre
de PN ayant une certaine qualification nest pas suffisant pour couvrir toutes les rotations.
Lalgorithme de rsolution propos, qui est une adaptation de lalgorithme de Davis-
Putman [Davis & Putman, 96], est une numration implicite. Mme si la recherche dune
solution se fait dans un arbre, cette mthode nest pas un Branch&Bound traditionnel, car il
ny a pas de bornes pour limiter lespace de recherche dune solution : cest une technique de
propagation de contraintes qui est utilise pour rduire le nombre de noeuds valuer.
Dans chaque noeud de larbre ltat du modle est dfini : { }
free neg pos
S S S S , , = o
pos
S
dfinit lensemble des variables
i
x dont la valeur a t fixe 1,
neg
S lensemble des
variables
i
x dont la valeur a t fixe 0 et
free
S lensemble des variables
i
x dont la valeur
na pas encore t fixe. Ltat initial du modle est { } W S , 0 , 0
0
= . Une solution faisable est
obtenue si { } 0 *,*, = S et si toutes les contraintes sont respectes.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



77
Dans chaque noeud de larbre de recherche, la variable de branchement est choisie
parmi les lments de
free
S . Si
free
S est vide et le modle est toujours dans un tat faisable,
alors une solution a t trouve et la recherche sarrte. Sinon, ltat courant du modle est
sauvegard, la valeur de la variable de branchement choisie est fixe 1 et une propagation de
contraintes est effectue. Si le modle reste toujours faisable on descend dans larbre de
recherche et un autre nud est examin. Si le modle devient infaisable aprs un changement
dtat ou suite un backtracking, lancien tat doit tre restaur et la valeur de la dernire
variable choisie est fixe 0. Si la nouvelle solution est toujours infaisable le nud courant
est enlev de larbre de recherche et un backtracking est effectu. Sinon, la procdure se
rpte pour une autre variable libre.

Lapproche de Gamache

[Gamache et al. 99] utilisent la mme modlisation que Ryan, mais ils proposent une
mthode de rsolution base sur la gnration de colonnes.
Une rotation mre est une rotation qui doit tre affecte un quipage entier. Chaque
rotation mre peut tre dcompose en plusieurs rotations filles, une rotation fille pour chaque
membre de lquipage. Lobjectif du problme est de maximiser la dure des rotations
couvertes, donc de minimiser la dure des rotations qui nont pas t couvertes.
Le modle mathmatique du problme matre est le suivant :
Min

=
n
p
p p
e c
1

Sous :
p p
m
k
r
R r
pr
b e x a
k
= +

= 1
, { } n p ,..., 1
1 =

k
R r
r
x , { } m k ,..., 1
0
p
e { } n p ,..., 1
{ } 1 , 0
r
x
U
m
k
k
R r
1 =

ou
k
R : ensemble de plannings faisables pour le navigant k
p
c : dure de la rotation p
p
b : nombre des rotations filles composant la rotation mre p
p
e : nombre de rotation filles appartenant la rotation mre p et non affectes
pr
a : variable binaire qui vaut 1 si la rotation p fait partie du planning r et 0 sinon
r
x : variable binaire qui vaut 1 si le planning r fait partie de la solution et 0 sinon

La relaxation linaire du problme matre est rsolue laide du simplexe pour un
ensemble de plannings donns. Le problme esclave utilise une technique de gnration de
colonne pour construire de nouveaux plannings de cot rduit ngatif.
Dans le problme esclave, un rseau est associ chaque navigant. Le nud source et le
nud puits modlisent le dbut et la fin du mois. Tous les autres noeuds reprsentent des
instants de temps associs au dbut ou la fin dune activit. Chaque arc reprsente soit une
activit (rotation, repos, activit pre-affecte) soit un lien entre deux instants de temps. Un
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



78
arc reprsentant une rotation fait partie du rseau associ un navigant seulement si le
navigant peut leffectuer.
Chaque chemin trouv dans un rseau reprsente un planning valide pour le navigant en
question. Le cot associ a chaque chemin reprsente le cot rduit du planning dans le
problme matre et il est calcul laide des variables duales fournies par celui-ci. A chaque
rsolution dun problme, tous les plannings de cot rduit ngatif sont envoys vers le
problme matre. Cette technique est dcrite en dtail dans [Desrosiers et al. 95].
La solution entire est obtenue laide dune recherche partielle de type
Branch&Bound. Lheuristique utilise une stratgie de recherche en profondeur et sarrte la
premire solution entire trouve.

5.4 Modlisation du problme

En raison des nombreuses contraintes rglementaires, le problme daffectation de
vacations/ rotations est un problme daffectation multiple gnralis. Ce problme admet une
formulation linaire en variables mixtes : des variables binaires pour reprsenter les choix
daffectation et des variables relles pour reprsenter les dates et les dures dans les
contraintes de rglementation. Il est donc naturel de chercher le rsoudre par les logiciels
commerciaux de programmation linaire en variables mixtes, comme CPLEX ou XPRESS-
MP. Cependant, malgr lefficacit remarquable et sans cesse amliore de ces logiciels, la
rsolution globale de ce problme reste inaccessible en raison de lexplosion combinatoire.
Cest pour cette raison que nous proposons une dcomposition du problme global, ainsi
quune relaxation du problme daffectation gnralise en un problme daffectation simple.

Une dcomposition temporelle et par qualification pour laffectation de vacations

Le problme global tant formul sur un mois calendaire, nous proposons une
dcomposition temporelle et par qualification. Chaque sous-problme est relatif une
qualification et couvre un intervalle de temps plus court (typiquement une journe de travail).
Les vacations reprsentant des journes de travail, une dcomposition par jours est presque
naturelle. Un ensemble de sous-problmes est ainsi dfini pour chaque groupe de vacations
qui commencent le mme jour. Ainsi, la dcomposition par jour nexclut en rien les priodes
de travail nocturnes. Les contraintes du problme global qui couplent les sous-problmes sont
celles lies aux dures de travail et de repos : contraintes sur n jours glissants et contraintes
sur une priode de plusieurs semaines. Dans la dcomposition squentielle journalire du
problme global, ces contraintes vont tre rparties sur chaque jour, cette rpartition tant
mise jour de faon dynamique partir du calcul des cumuls de dures de travail et de dures
des repos.

Une dcomposition temporelle et par qualification pour laffectation de rotations

Une rotation a une structure un peu plus complexe quune vacation, car elle stale sur
plusieurs jours et est effectue par un quipage complet et non pas par une seule personne.
Mme si la dcomposition du problme par jours de travail nest plus ralisable, une
dcomposition temporelle est toujours possible si les rotations sont groupes suivant leur date
de dbut : un sous-problme est ainsi dfini pour chaque groupe de rotations qui commencent
le mme jour.
Les quipages changent au cours du mois, les navigants tournent entre plusieurs
quipages. Etant donnes aussi les contraintes qui existent au sein dun quipage, une autre
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



79
dcomposition sera faite par qualification (pilotes, copilotes, htesses). On appellera job
le travail lmentaire dune qualification donne au sein dune rotation donne. Dans le cas o
p navigants ayant la mme qualification sont requis sur une rotation, on dfinira p jobs et on
rsoudra en squence p sous-problmes de faon traiter de proche en proche les contraintes
internes lies aux ventuelles incompatibilits rglementaires entre membres du mme
quipage.
Une troisime dcomposition possible peut se faire selon les secteurs davion, car les
navigants ne sont pas obligatoirement qualifis sur tous les secteurs davion. Cette
dcomposition sera faite seulement dans les cas o les navigants sont mono qualifis. En cas
de multi qualification, la dcoupe du problme par secteur na pas dintrt.
Pour conclure, le problme daffectation de rotations peut tre dcompos dans le
temps, par qualification de navigants et, ventuellement, par secteur davion: un sous-
problme est ainsi dfini pour chaque groupe de rotation qui commence le mme jour et pour
tous les navigants disponibles ayant la mme qualification (sur le secteur avion correspondant
aux rotations slectionnes).

Problme daffectation simple

Le sous-problme daffectation dfini ci-dessus peut tre vu comme un problme
daffectation gnralis car, en plus de la contrainte de base qui impose que chaque vacation/
rotation doit tre affecte un agent, il y a des contraintes supplmentaires respecter. Nous
proposons une transformation du problme daffectation gnralis en problme daffectation
simple par relaxation Lagrangienne : les contraintes sont dualises et des termes pnalisant
leur non respect sont intgrs dans le critre sous forme de cots. Compte tenu du grand
nombre de contraintes, les valeurs des pondrations correspondantes sont tablies a priori et
non laide dune mthode itrative. Toutes les contraintes seront ainsi traites comme des
contraintes souples, le non-respect des contraintes strictes tant trs fortement pnalis
(mthode du grand M en Programmation Linaire). Au paragraphe 5.5.2, nous allons
dtailler le calcul des pondrations.

En rsum, le problme global de multi-affectation gnralis avec beaucoup de
variables est dcompos en plusieurs sous-problmes daffectation simple. Cette
dcomposition confre en outre la technique de rsolution, un caractre modulaire facilitant
linterprtation des rsultats et la prise en compte de modifications locales. Les contraintes
couplantes, gnralement dorigine rglementaire, sont transformes en contraintes localises
par des mises jour temporelles la fin de chaque priode. En outre, le paramtrage des
contraintes souples est ralis grce une interface. Le programme fournit ainsi une aide la
dcision pour le responsable en charge du planning.

5.5 Mthode de rsolution propose

Pour la rsolution du problme, nous proposons une combinaison de deux mthodes
classiques de rsolution des problmes daffectation. Une mthode duale est utilise comme
mthode de base, mais ltape de dcision sur ladmissibilit de la solution courante est
effectue par une mthode primale. Nous avons retenu lalgorithme hongrois comme mthode
duale et le Bip Match comme mthode primale. La combinaison choisie essaie de maximiser
les avantages des deux mthodes et de minimiser leurs inconvnients.
Lavantage dune mthode duale est quelle fournit toujours la solution optimale, sil en
existe une. Son inconvnient est le fait que la nest obtenue qu la convergence de
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



80
lalgorithme (caractristique de base des mthodes duales, qui sont dites non-admissibles ).
Il ny a donc pas de solution intermdiaire admissible disponible dans le cas o la
convergence est lente. De plus, cette mthode peut prendre beaucoup de temps dans le cas de
plusieurs solutions quivalentes, car elles sont toutes explores.
Les mthodes primales construisent une squence de solutions admissibles qui converge
vers loptimum. Ceci a pour consquence que, en mettant des dlais temporels pour le
droulement de lalgorithme, si lalgorithme na pas trouv loptimum la fin de ce dlai, il
fournit une solution admissible, mais sous-optimale. On peut imposer quune mthode
primale amliore strictement la solution courante chaque itration, ce qui vite lexploration
des solutions quivalentes. Appliqu des matrices creuses (beaucoup de solutions
quivalentes), ce type de mthode est alors trs rapide. Lalgorithme primal choisi, le Bip
Match, sapplique la recherche dun couplage maximal de cot nul. Dans ce cas, la solution
fournie par le Bip Match nest donc en gnral quune solution partielle.
Il faut mentionner que les deux algorithmes choisis ont des complexits polynomiales et
trs proches lune de lautre : lalgorithme hongrois a une complexit en O(n
3
) et le Bip
Match a une complexit en O(n
2
), o n reprsente le nombre des vacations affecter.
5.5.1 Construction de la matrice de cot

Lalgorithme hongrois dbute par la construction de la matrice de cot. Les dimensions
de la matrice sont fournies par les nombres des vacations/rotations (V/R) et des agents
susceptible de les effectuer: une ligne pour chaque V/R et une colonne pour chaque agent. La
particularit de cette matrice est quelle doit tre carre, se qui signifie que lalgorithme
hongrois rsout le problme seulement dans le cas o le nombre des V/R est gal au nombre
des agents. En pratique, ceci narrive presque jamais. Il faut donc trouver une mthode pour
ramener notre problme la forme impose par lalgorithme standard.

Dimensionnement de la matrice

Soit m le nombre des V/R effectuer et p le nombre des agents supposs les excuter
(m p) ; la matrice a donc m lignes et p colonnes. Pour transformer la matrice dans une
matrice carre, nous introduisons des lignes (si m<p) ou des colonnes (si m>p)
supplmentaires, jusqu ce que les nombres de lignes et de colonnes de la matrice soit gal
n = max(m, p) + k. Les k lignes ou colonnes supplmentaires donnent des degrs de libert,
pour viter par exemple des affectations interdites. La valeur de k est tablie de manire
exprimentale. Nous allons parler plus en dtail de la signification des affectations interdites
dans 5.2.4.2. Les lignes supplmentaires sont interprtes comme des V/R fictives et les
colonnes supplmentaires comme des agents en sureffectif. La matrice finale prsente un des
profils reprsents sur la Figure 5.1.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



81


Figure 5.1. La matrice des cots
5.5.2 Calcul des cots

Chaque lment de la matrice ( n i 1 , n j 1 ), reprsente le cot daffectation de la
V/R i lagent j. Ce cot est calcul en fonction de chaque contrainte respecter, par
dualisation des contraintes. Pour chaque paire (V/R i, agent j) et chaque contrainte
rglementaire un cot pondr est tabli. Le cot total correspondant au couple (vacation i,
agent j) est donn par la somme de cots de chaque rgle respecter.
Dans notre modle, la valeur des cots varie entre 0 et M (o M +). Un cot gal
0 reprsente le cas idal daffectation, un cot gal M rend laffectation impossible.
Le cot associ chaque rgle dpend de limportance accorde la rgle. Les rgles
dures se traduisent facilement en termes de cots. Comme ce sont des rgles de type tout ou
rien , le cot impos par une telle rgle pour laffectation dune V/R un agent est 0 si la
rgle est respecte, ou M sinon. Les rgles souples se traduisent parfois par des objectifs
contradictoires. Par consquent, chacune dentre elles aura un cot brut et une pondration
associe ce cot, comprise dans lintervalle [0%,100%]. Le cot brut est une fonction des
caractristiques du couple (vacation i, agent j) pour lesquels la rgle est vrifie. La
pondration est introduite dans le modle de manire interactive, de faon que lutilisateur
puisse choisir la pondration de chaque rgle souple, en fonction de limportance quil
accorde chacune dentre elles. Ainsi, le cot final impos par une rgle souple pour
laffectation (V/R i, agent j) est le produit entre le cot brut de la rgle et de la pondration
tablie par lutilisateur. Comme les rgles souples servent amliorer la qualit des plannings
crs, leurs cots ne peuvent jamais prendre la valeur M (qui interdirait laffectation).
Cette manire de calculer les cots nest valable que pour m i 1 , p j 1 . Pour les
lments supplmentaires, le cot est calcul diffremment. On distingue trois situations
diffrentes :
(1) m i 1 et n j p < . Cette situation correspond un couple (vraie V/R, agent en
sureffectif).
(2) n i m < et p j 1 . Cette situation correspond un couple (V/R fictive, agent
rel).
(3) n i m < et n j p < . Cette situation correspond un couple (vacation fictive,
agent en sureffectif).
m

m

p-m+k
vacations
fictives

p p





m-p+k
agents en
sureffectif

k
k
a) m<p. On rajoute p-m+k
lignes supplmentaires.
b) p<m. On rajoute m-p+k
colonnes supplmentaires.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



82
Chaque lment qui correspond aux points (1) ou (2) aura une valeur stricte positive
b<<M, choisie de manire exprimentale. Lexplication pour cela est assez simple : si, un
moment donne, pour une V/R i (i=1..m) il ny a aucun agent qui puisse leffectuer (c
ij
= M,
j=1p), on affecte la V/R un agent temporaire ( j > p) dont cot
ij
= b. De mme manire si,
pour un agent j il ny a aucune vraie V/R qui peut lui tre affecte, on lui en affecte une
fictive ( m i > ). Par convention, chaque cot daffectation cot
ij
( m i > , k p j p + < ou
p j > et k m i m + < ) dune V/R fictive un agent en sureffectif est nul.
Pour tout couple (V/R i, navigant j), le non-respect dune seule rgle dure rend
laffectation impossible. Comme les rgles vrifier sont assez nombreuses et coteuses en
terme de temps de calcul, pour diminuer le temps de rponse, les rgles dures seront testes
avant les rgles souples et chaque fois quun rgle dure nest pas respecte par un couple
(V/R i, navigant j), on passe au couple suivant, sans tester les autres rgles.

Les fonctions des cots, en gnral non linaires, sont approximes par des fonctions
linaires par morceaux. Les pondrations reprsentent les paramtres de Kuhn Tucker. Les
valeurs des pondrations sont calcules de manire exprimentale et sans rechercher leurs
valeurs optimales, car une valeur qui permet la prise en compte de la rgle suffit.
Les pondrations associes chaque rgle dpendent de limportance accorde la
rgle. Les valeurs des paramtres de Kuhn Tucker associs aux rgles dures sont trouves
facilement. Comme ce sont des rgles de type tout ou rien , le non respect dune telle rgle
rend laffectation impossible. Il est connu quen survaluant la valeur du paramtre de Kuhn
Tucker correspondant, la rgle est prise en compte. Donc, pour chaque rgle dure, nous avons
dcid de survaluer cette valeur M (o M +)

Disponibilit. La disponibilit dun agent tant essentielle pour lexcution dune V/R,
le test de disponibilit peut tre considr comme une rgle dure. En mme temps, pour
diminuer au minimum le temps de calcul, nos utilisons ce test comme premier test dans le
calcul des cots.
Etablir si un navigant est disponible pour une rotation est un processus un peu plus
complexe que la vrification de la disponibilit dun personnel au sol. La simple vrification
du fait que le navigant na pas dautres activits pr-affectes pendant toute la dure de la
rotation ne suffit pas. La validit du contrat dembauche et de la qualification doit tre prise
en compte aussi. En effet, le contrat dembauche ou le contrat de qualification peuvent
commencer ou finir en cours du mois. Le navigant peut effectuer une rotation seulement si la
dure de la rotation est entirement comprise dans la priode de validit du contrat
dembauche et du contrat de qualification.

Lalgorithme de calcul des lments c
ij
( m i 1 , p j 1 ) est le suivant :

Procedure Matrice_cot

Pour i = 1m
Pour j = 1p

//tape dinitialisation

peut_travailler = VRAI

Si agent
j
Est_disponible pour V/R r
i

c
ij
= 0
Sinon
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



83
c
ij
= M
peut_travailler = FAUX
Fin Si

//c
ij
pour les rgles dures

Si (peut_travailler)
Tant qu(il y a des rgles dures vrifier et peut_travailler)
Si rgle_courante nest pas vrifie
c
ij
+= M
peut_travailler = FAUX
Fin Si
Fin Tant que
Fin Si

//c
ij
pour les rgles souples

Si (peut_travailler)
Pour chaque rgle souple
c
ij
+= CotRgle*PondrationRgle
Fin Pour
Fin Si
Fin Pour
Fin Pour


Introduction des cumuls

Chaque problme daffectation simple est excut a priori indpendamment des autres.
Linconvnient est qu lintrieur du problme il ny a pas de visibilit sur tout lhorizon
temporel concernant le problme global. Donc, si la solution dun sous problme respecte
toutes les contraintes du problme local, il est possible que lensemble de toutes les solutions
ne respectent pas les contraintes globales. Prenons un exemple simple. Dans le cas de
laffectation de rotations, le problme global P est dcompos en l sous-problmes de base.
Soit deux problmes de base,
i
P et
k
P :
-
i
P doit affecter un ensemble de rotations (R
1
, , R
s
, R
m
) un ensemble dagents
(a, b, c, .). Dans la solution de
i
P , lagent b effectue la rotation Rs. Cette rotation
commence le jour j et stend sur 4 jours : 3 , 2 , 1 , + + + j j j j .
-
k
P affecte un ensemble de rotations (R
1
, , R
t
, R
n
) un ensemble dagents
(b, d, e). La solution indique que lagent b effectue la rotation R
t
qui commence le jour
4 + j et a une dure de 5 jours : 8 , 7 , 6 , 5 , 4 + + + + + j j j j j .
Supposons quune des rgles dures impose au maximum 7 jours de travail conscutifs.
Lagent b travaille 4 jours pour effectuer la rotation R
s
et 5 jours pour effectuer la rotation R
t
.
Donc, cette rgle est respecte pour chaque sous-problme trait indpendamment. Ce qui na
pas t pris en compte est le fait que les deux rotations sont conscutives, donc b travaille en
total 9 jours conscutifs, ce qui nest plus rglementaire.
Pour viter ce genre de situation, nous introduisons des cumuls qui gardent
lhistorique de chaque agent sur tout lhorizon : temps de travail/ de vol dj effectu, jours
conscutifs travaills. Les cumuls sont mis jour la fin de chaque sous-problme. Ainsi,
chaque rgle sera vrifie lors de chaque sous-problme par rapport ces cumuls, et non plus
par rapport aux valeurs absolues du problme global.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



84
Soit le mme problme P dcompos en l sous-problme :
l k
P P P P ,..., ,..., ,
2 1
et le mme
agent x. La solution de chaque problme
k
P affecte une rotation dune dure
k
d lagent x.
La dure maximum du travail sur tout lhorizon est
max
D . Lors de la rsolution du
problme
i
P , lagent x a effectu dj

=
=
1
1
) (
k
ind
ind
d x Cum heures de travail. Donc on peut lui
affecter une rotation r dune dure
r
d seulement si ) (
max
x Cum D d
r
.

Algorithme de rsolution

Une fois la matrice construite, lalgorithme retient les cots nuls ou, sil ny en a pas, il
en cre pour chaque ligne et chaque colonne de la matrice. A ce point, on intgre lalgorithme
du Bip Match qui cherche une affectation optimale complte partir de ces cots. Sil nen
trouve pas, on commute vers lalgorithme hongrois qui cre de nouveaux cots nuls pour un
nouvel appel du Bip Match. Le processus se rpte jusqu ce que lon trouve une solution
optimale ou jusqu ce que le dlai impos pour trouver le rsultat touche sa fin. Dans le
deuxime cas, le Bip Match, qui fournit une solution sous optimale mais partielle, est
complt par quelques itrations de lalgorithme de Busacker et Gowen, ce qui assure une
solution complte, mais sous-optimale. La Figure 5.2 prsente le schma de rsolution
propose.


Figure 5.2. Algorithme daffectation

5.5.3 Laffectation de rserves pour le personnel navigant

Le problme daffectation de rotations prvoit aussi laffectation dun nombre prdfini
de rserves par jour et pour chaque qualification. Nous rappelons que les rserves sont des
journes de travail horaire fixe ne contenant a priori aucun vol.
OUI
BipMatc
h
Cration matrice
des cots
Gnration de cots
modifis nuls.
Dlai depass ?
Couplage
maximal ?
SOLUTION
OPTIMALE
Cration
nouveaux
cots nuls.
NON
NON
OUI
Algo
tronqu
Busacker
et Gowen
SOLUTION
SOUS-
OPTIMALE
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



85
Pour laffectation de rserves, nous utilisons la mme mthode de rsolution que pour
les rotations, les rserves tant dj partages par qualification et par jour.
Une premire ide a t daccorder la mme importance aux rserves quaux rotations et
de les affecter en mme temps. Mais, si les rotations doivent tre effectues obligatoirement,
les rserves sont effectives seulement si un navigant se retrouve dans limpossibilit
deffectuer une rotation qui lui t dj alloue et donne sa place la rserve. Le navigant
en rserve reste bloqu au sol durant la journe, mais il neffectue pas obligatoirement une
rotation pendant sa rserve.
Ces rflexions nous ont dcid daffecter les rotations en premier et ensuite les rserves
aux navigants qui navaient pas reu des rotations.
On commence par la dcomposition temporelle : pour chaque jour du mois, on cherche
toutes les rotations qui commencent ce jour et on les met dans Liste_rotations_du_jour. On
parcourt la liste des rotations pour dterminer les secteurs couverts et les qualificaitons
requises par les configuration quipage ; on cre les listes Liste_secteurs_du_jour et
Liste_qualifications_du_jour.
On continue avec la dcomposition par secteur et par qualification : pour chaque secteur
de la Liste_secteurs_du_jour et chaque qualification de la
Liste_qualifications_du_jour on cre la Liste_rotations qui contient toutes les
rotations du jour sur le secteur courant ayant besoin dau moins un navigant avec la
qualification courante. Ensuite, on cherche tous les navigants ayant la qualification courante
sur le secteur courant ; la Liste_navigants est cre.
A ce moment, on peut affecter les rotations de la Liste_rotations aux navigants de la
Liste_navigants en utilisant la mthode propose dans 5.2.2.
Une fois les rotations affectes, les rserves peuvent tre affectes leur tour. La
Liste_navigants est mise jour, en enlevant de la liste les navigants qui ont t affects
des rotation. On cherche les rserves affecter pour la qualification courante et pour le
secteur courant ; la Liste_rserves_du_jour est cre. Les rserves de la
Liste_rserves_du_jour sont affectes aux navigants de la Liste_navigants de la mme
manire que les rotations.
Ci-dessous, la procdure Affectation dcrit laffectation de rotations et de rserves :

Procedure Affectation_PN

Pour (chaque jour_du_mois)
Cre (Liste_rotations_du_jour)
Cre (Liste_secteurs_du_jour)
Cre (Liste_qualifications_du_jour)
Pour secteur_courant parcourt (Liste_secteurs_du_jour)
Pour qualification_courante parcourt
(Liste_qualifications_du_jour)
Cre (Liste_rotations)
Cre (Liste_navigants)
Affecte les rotations de la Liste_rotations
aux navigants de la Liste_navigants







rotations
de
n Affectatio



Met__jour (Liste_navigants)
Cre (Liste_rserves_du_jour)
Affecte les rserves de la Liste_rserves_du_jour
aux navigants de la Liste_navigants

Fin Pour
Fin Pour
Fin Pour

rserves
de
n Affectatio


t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



86


5.5.4 Affectation de squences

Comme nous lavons vu dans le chapitre 4, la fin de ltape de cration de rotations il
peut y avoir un post traitement des rotations qui consiste en la construction des squences. Si
tel est le cas, le processus daffectation traite les squences et non plus les rotations
indpendantes. Pour le problme daffectation, les squences peuvent tre assimiles des
rotations beaucoup plus longues et avec une structure un peu plus complexe, car les squences
permettent lexistence des jours de repos lintrieur. Donc, lalgorithme daffectation a pu
tre utilis pour le traitement des squences sans quil ait t ncessaire de lui apporter des
modifications importantes.
Parfois, les squences cres ne couvrent pas lintgralit des rotations effectuer
durant le mois. Dans ce cas, les squences sont traites en premier, les rotations tant
affectes une fois que les squences ont trouv leurs places dans les plannings des navigants.
Cet ordre est naturel et se justifie par la taille plus grande des squences en comparaison avec
celle des rotations. Comme dans les algorithmes off-line de rsolution de problmes de
bin-packing, les objets sont tris en ordre dcroissant de leur taille, car un gros objet est plus
facile insrer au dbut qu la fin et, en mme temps, il est plus facile de complter un
conteneur dj rempli avec un petit objet quavec un gros. Dun autre cte, le choix de cet
ordre sexplique par lexistence mme des squences : rappelons que leur construction a
comme but une meilleure rpartition de la charge de travail entre navigants, donc
lamlioration de la qualit des plannings individuels. Cest donc normal de leur accorder plus
dimportance.
5.6 Implmentation et rsultats
5.6.1 Validation de la mthode

Lalgorithme propos pour la rsolution des problmes daffectation simple a t
implment en C++ et test sur plusieurs jeux de donnes. Ces jeux de donnes on t gnrs
alatoirement, en variant la dimension de la matrice de cots et la plage des valeurs des cots.
Le tableau 5.1 synthtise les rsultats obtenus :

Nb. problmes tests4600
Dimension (n) matrice de cots (nxn)....entre 5 et 50
Valeurs cots....entre 0 et 1000
% problmes avec solution sous-optimale..15%
Temps de rponse.1- 2 secondes

Tableau 5.1. Validation de lalgorithme daffectation

Nous avons considr que les tests effectus sur des matrices de dimension plus grande
que 50 par 50 ne sont pas dintrt, car dans le cas rel tudi, la dimension de ces matrices
dpasse rarement cette limite. En ce qui concerne les bornes des valeurs des cots, nous avons
choisi 0 pour le cas idal daffectation ; 1000 reprsente la valeur choisie pour M (cf.
5.5.2).
Pour avoir une meilleure vision des rsultats obtenus, le problme daffectation simple a
t modlis en tant que programme linaire, implment laide dun module de
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



87
programmation linaire commercial (Xpress-MP) et test sur plusieurs jeux de donnes. Dans
tous les cas, le programme linaire a fourni la solution optimale en moins dune seconde. Les
mmes jeux de donnes ont t utiliss pour tester la mthode que nous proposons.
Le Tableau 5.2 prsente les rsultats fournis par lalgorithme daffectation propose :


n = 10 n = 20 n = 30 n = 40 n = 50
Nb. problmes rsolus
1000 1000 1000 500 500
% sol sous-opt.
11.6 25 22.6 23 36.6
Dev.moyenne sol. opt.
1.2% 1.2% 1.6% 0.8% 0.5
Dev.max sol. opt
11% 11% 11% 9% 5%
Temps rponse moyen[s]
<1 1 2 4 4
Temps rponse max[s]
<1 2 14 116 118

Tableau 5.2 Rsultats pour lalgorithme daffectation

On peut observer quen fonction de la dimension de la matrice de cots, le pourcentage
de problmes dont la solution obtenue est sous-optimale augmente. Ce qui est important
prciser est le fait que la dviation par rapport la solution optimale calcule par le
programme linaire reste limite moins de 2%. Il y a des cas o la solution sous-optimale
scarte plus de 10 pour cent de la solution optimale , mais ils sont trs isols.
Gnralement, le temps moyen de rponse dun problme varie entre 1 et 2 secondes.
Pour des problmes dont la taille de la matrice de cots est comprise dans lintervalle [30, 40],
le temps de rponse peut augmenter jusqu 10 15 secondes. Dans peu de cas et pour des
matrices de cots avec plus de 40 lignes, le temps de rponse peut dpasser 1 minute.
La solution dun problme rsolu par la mthode propose est un compromis entre le
temps de rponse et une solution de qualit (solution optimale). Lalgorithme a t conu pour
sarrter aprs un certain nombre ditrations. Pour la valeur choisie, les tests ont prouv que
la solution sous-optimale obtenue reste de bonne qualit. A priori, cette qualit peut tre
encore amliore si le nombre ditrations augmente.
Notre mthode de rsolution a des poins faibles par rapport la mthode exacte utilise
par la programmation linaire : temps de rponse plus lev et solution pas toujours optimale.
Pourtant, l abandon de la programmation linaire est justifi. Nous rappelons que nos
travaux ont eu aussi un but industriel : comme la compagnie IFR France dveloppe des
produits logiciels commerciaux, un module daffectation de personnel devait tre intgr dans
un de ces logiciels. Pour des raisons de cot conomique du produit final destin aux
compagnies ariennes, une des contraintes du cahier des charges interdisait lutilisation des
logiciels commerciaux de programmation linaire. En mme temps, les rsultats obtenus suite
aux tests, ont prouv que la mthode propose fournit des rsultats de qualit dans un temps
de rponse raisonnable.
5.6.2 Implmentation

La compagnie IFR France a dvelopp un produit commercial pour laffectation
automatique des rotations, produit qui intgre la mthode de rsolution propose dans ce
chapitre. Il cre des plannings pour tous les navigants dune compagnie arienne, en leur
affectant des rotations, des jours de rserve et des jours de repos si ncessaire. Lhorizon
temporel considr est dun mois calendaire.
Le module est assez flexible, car il ne dclenche pas automatiquement le processus
global daffectation. Lutilisateur a tout dabord la possibilit de choisir le mois, la base, les
secteurs avion et les qualifications pour lesquels il dsire effectuer laffectation (Figure 5.3).
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



88









Figure 5.3 Lutilisateur peut choisir le mois, la base, les secteurs avion et les qualifications
pour lesquels il dsire effectuer laffectation

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



89
Ensuite, lutilisateur choisit des pondrations pour les rgles souples (cf. 5.5.2), en
fonction de limportance quil veut accorder chaque rgle (Figure 5.4)
:








Figure 5.4 Pondrations associes aux rgles souples
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



90
Avant de lancer laffectation, une visualisation les plannings des navigants concerns est
possible. A ce stade, leurs plannings contiennent seulement les activits pr-affectes.



Figure 5.5 Avant laffectation, les plannings des navigants contiennent seulement les activits
pr-affectes

Une fois laffectation effectue et accepte par lutilisateur, les plannings sont mis
jour :



Figure 5.6. Les plannings des navigants la fin de laffectation

t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CHAPITRE 5 Affectation de vacations/ rotations



91
Le module daffectation a t implment en Visual C++. Des tests ont t effectus sur
des donnes relles, relatifs une compagnie arienne de taille moyenne. Pour des raisons de
confidentialit, son nom ne sera pas prcis. Tous les tests on t effectus sur un processeur
Intel Celeron (930 MHz, 248 Mo de RAM). Quelques informations sur les cas tests sont
prsentes dans le Tableau 5.3

Nb. rotationsentre 555 et 959
Nb. navigants.entre 71 et 191
Nb. secteurs avions... entre 1 et 3
Nb. sous-problmes rsolus.... entre 112 et 206
Temps de rponse...entre 7 et 1500

Tableau 5.3
5.7 Conclusion

Ce chapitre prsente la deuxime tape du problme de cration de plannings, celui de
laffectation des vacations/ rotations. Nous avons vu que dans la littrature, ce problme est
souvent modlis comme un problme de recouvrement/ partitionnement densemble et rsolu
laide de la programmation linaire et des techniques de Branch&Bound et/ ou de
gnration de colonnes.
Nous proposons une approche de modlisation du problme en tant que problme
daffectation gnralis. Aprs une dcomposition temporelle et par qualification, chaque
sous-problme rsultant est transform en un problme daffectation simple.
Un algorithme ad-hoc qui combine deux mthodes classiques de rsolution des
problmes daffectation est utilis pour rsoudre chaque problme daffectation simple. Bien
que les rsultats obtenus en rsolvant le mme problme comme un programme linaire soient
de meilleure qualit, les rsultats fournis par notre mthode de rsolution restent comparables
avec ces derniers.
Le chapitre se conclut par la prsentation dun produit commercial dvelopp par IFR
France pour laffectation de rotations au personnel navigant dune compagnie arienne et qui
utilise notre approche de rsolution.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CONCLUSION




93

Conclusion
La cration de plannings dans un contexte aronautique attire lattention de la
communaut de Recherche Oprationnelle depuis plus de quarante ans, car ce problme
concentre de nombreux enjeux sur les plans commerciaux et mthodologiques et constitue un
domaine dapplication privilgi pour loptimisation combinatoire. En dbut de ce manuscrit
nous prsentons les principaux problmes soulevs par la cration de plannings, ainsi que des
modles et des mthodes proposs dans la littrature pour leur rsolution.
Nos travaux ont port sur la construction de plannings pour le personnel travaillant dans
un contexte aronautique : le personnel navigant dune compagnie arienne et le personnel au
sol dun aroport. Problme complexe et de grande taille, la cration de plannings est divise
en deux sous-problmes indpendants : pour le personnel au sol, le premier sous-problme
consiste grouper les tches dans ce que lon appelle des vacations. Les vols effectuer par
les navigants sont aussi groups dans des squences nommes rotations. Le deuxime sous
problme est commun aux deux types de personnel et consiste affecter aux agents les
vacations/ rotations cres, de manire construire des plannings personnaliss.
Nous nous sommes intresss sparment aux problmes de cration de vacation et de
rotations. Compte tenu de la ressemblance entre laffectation de vacations et laffectation de
rotations, les deux cas ont t analyss ensemble, en tenant compte bien sr des
caractristiques spcifiques de chaque problme.
La cration de vacations tant un problme qui repose sur la satisfaction de nombreuses
contraintes temporelles, nous proposons une approche de modlisation base sur le concept de
plage horaire. Le modle obtenu permet une reprsentation simple des contraintes, partir de
laquelle nous proposons une mthode heuristique de construction de vacations base sur la
mthode FFD (First Fit Decreasing) et sur la gnration de colonnes. La solution obtenue avec
cet algorithme peut tre amliore si lon veut que le critre du problme prenne aussi en
compte la qualit des vacations construites. Nous analysons aussi le cas o les agents
travaillent en grille : le remplissage de vacations. Un des avantages de lalgorithme que nous
proposons pour le problme de cration est quil peut tre utilis, avec quelques
modifications, pour le problme de remplissage.
La cration de rotations est un problme complexe, car, dune part, la rglementation
laquelle les rotations sont soumises traite beaucoup de cas particuliers et, dautre part, la
combinatoire du problme est considrable. Cest pour cette raison que nous proposons une
rsolution en deux tapes : une premire tape, la construction de priodes de service (PdS),
groupe les vols dans des journes de travail (ou priodes de service) ; la deuxime tape
enchane les journes de travail, de manire crer des rotations. Nous proposons une
modlisation du problme de cration de priodes de services par programmation linaire en
variables mixtes. Lavantage de cette mthode est quelle peut prendre en compte les
diffrents types des priodes de services. Pour le groupement des priodes de services dans
des rotations, un modle linaire en variables entires est utilis.
Les tests effectus sur les deux modles proposs ont fourni de trs bons rsultats sur
des jeux de donnes de petite taille, puisque la solution optimale est obtenue en quelques
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CONCLUSION




94
secondes mais le temps de rponse augmente exponentiellement avec la taille du problme.
Cet aspect nous amne explorer dautres modalits de rsolution.
Pour la construction de PdS, une mthode heuristique base sur un algorithme de listes a
t envisage et pourrait maintenant tre implmente. Cet algorithme est bas sur le fait que
le temps descale entre deux vols dpend du fait que lquipage effectue le vol suivant sur le
mme avion ou sur un autre. Dans le premier cas la dure du temps descale diminue. Comme
lobjectif du problme reste de minimiser le temps hors-vol dune PdS, cette caractristique
du temps descale peut tre exploite. Les vols sont groups en listes selon lavion qui les
effectue (une liste pour tous les vols sur le mme avion) et tris en ordre croissant de leur date
et heure de dpart; ensuite, les listes sont traites sparment : pour chaque liste, on essaie de
construire le maximum de PdS entirement comprises dans la liste. Cette technique de
construction rduit a priori la combinatoire du problme. Sil reste des vols non couverts,
dautres PdS sont construites par exploration des listes des vols.
En ce qui concerne le problme de construction de rotations partir des PdS, la premire
voie explorer pour rendre plus performante la construction de rotations reste la gnration
de colonnes.
Pour le problme daffectation du personnel aux vacations et aux rotations, nous
proposons une approche par dcomposition et simplification du problme global. En raison
des nombreuses contraintes rglementaires, le problme est modlis comme un problme de
multi-affectation gnralis. Nous proposons une dcomposition temporelle et par
qualification et ensuite une transformation du problme daffectation gnralis en problme
daffectation simple par relaxation Lagrangienne. Un algorithme ad-hoc est utilis pour la
rsolution de chaque problme de base.
La dcomposition par qualification permet la prise en compte dune manire plus
flexible des contraintes existant entre les diffrentes qualifications au sein du mme
lquipage. La dcomposition temporelle divise lhorizon du problme global en plusieurs
intervalles de temps. Pour garder la visibilit sur tout lhorizon, nous introduisons des
cumuls qui gardent lhistorique de chaque agent sur tout lhorizon : temps de travail/ de vol
dj effectu, jours conscutifs travaills. Les cumuls sont mis jour la fin de chaque sous-
problme. Ainsi, chaque rgle sera vrifie lors de chaque sous-problme par rapport ces
cumuls, et non plus par rapport aux valeurs absolues du problme global.
Notre mthode de rsolution nest pas aussi performante que la mthode exacte de
programmation linaire pour la rsolution des problmes daffectation simple: temps de
rponse plus lev et solution pas toujours optimale. Pourtant, globalement, l abandon de
la programmation linaire est peu pnalisant. Nous rappelons que nos travaux ont eu aussi un
but industriel : le module daffectation de personnel devait tre intgr dans un des produits
logiciels commerciaux de la compagnie IFR France. Pour des raisons de cot conomique du
produit final destin aux compagnies ariennes, une des contraintes du cahier des charges
interdisait lutilisation des logiciels commerciaux de programmation linaire. En mme
temps, les rsultats obtenus suite aux tests, ont prouv que la mthode propose fournit des
rsultats de qualit dans un temps de rponse raisonnable.
Une des perspectives du travail concernant laffectation de vacations/ rotations,
concerne la prise en compte des desiderata des agents, car la satisfaction des souhaits du
personnel a des rpercutions importantes sur la qualit du travail. Deux types de desiderata
sont distingus : les desiderata individuels et les desiderata concernant les couples travaillant
ensemble. Des problmes dagrgation de prfrences se posent alors et il serait intressant de
rflchir la logique dagrgation privilgier. Une approche multicritre pourrait tre
galement dveloppe pour le problme daffectation : au critre classique du problme, de
nature conomique, laspect de satisfaction du personnel peut tre ajout comme deuxime
critre.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
CONCLUSION




95
A plus long terme, nous souhaitons intgrer dans de futures approches laspect prvision
de la charge de travail, phase amont la planification, et laspect rgulation, phase aval du
planning. Dans ce deuxime cas, lanalyse des alas entranant la modification des plannings
pourrait dboucher sur la construction de plannings prvisionnels plus robustes, c'est--dire
supportant mieux les alas.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
BIBLIOGRAPHIE


97



Bibliographie


[Allen 84] J. F. Allen: Towards a General Theory of Action and Time.
Artificial Intelligence, vol. 23, pages 123-154, 1984
[Alvarez-Valdes
et al. 99]
R. Alvarez-Valdes, E.Crespo, J.M.Tamarit. Labour scheduling at an
airport refuelling installation. Journal of the Operational Research
Society, vol. 50, pages 211-218, 1999
[Anbil et al. 92] R.Anbil, R.Tanga, E.L.Johnson: A global approach to crew pairing
optimisation. IBM Systems Journal, vol. 31, no. 1, pages 71-78,
1992
[Arabeyre et al. 69] J.P. Arabeyre, J. Fearnley, C. Steiger, W. Teather. The airline crew
scheduling problem: A survey. Transportation Science, vol. 3,
pages 140-163, 1969
[Balas & Padberg 76] E.Balas, M.W.Padberg. Set Partitioning: A survey. SIAM Review,
vol. 18, pages 710-760, 1976
[Barnhart et al. 98a]

C. Barnhart, N.L. Boland, L.W. Clarke, E.L. Johnson, G.L.
Nemhauser, R.G. Shenoi. Flight string models for aircraft fleeting
and routing. Transportation Science, vol. 32, no. 3, pages 208220,
1998.
[Barnhart et al. 98b] C. Barnhart, E.L. Johnson, G.L. Nemhauser, M.W.P. Savelsbergh,
P.H. Vance: Branch and price : column generation for solving
huge integer programs. Operations Research, vol. 46, no. 3, pages
316329, 1998.
[Bechold & Brusco 94] S.E.Bechold, M.J.Brusco: Working set generation methods for
labour tour scheduling. European Journal of Operational Research,
vol. 74, pages 540-551, 1994
[Bellanti et al. 04] F.Bellanti, G.Carello, F.Della Croce, R.Tadei: A greedy-based
neighbourhood search approach to a nurse rostering problem.
European Journal of Operational Research, vol. 153, pages 28-40,
2004
[Ben Amor 02] H. Ben Amor. Stabilisation de lalgorithme de gnration de
colonnes. Phd thesis, cole Polytechnique, Montral, 2002.
[Berge 83] Graphes, Gauthier-Villars, 1983
[Bs et al. 02] C.Bs, J-B.Hiriart-Urruty, M.Mongeau, D.Noll. Communication
prive, Universit Paul Sabatier, Toulouse, 2002
[Brown & Graves, 75] G.G.Brown, G.W.Graves.Elastic programming: a new approach to
large scale mixed integer optimisation. Paper presented at
ORSA/TIMS meeting, Las Vegas, 1975
[Brusco & Johns 96] M.J.Brusco, T.R.Johns: A sequential integer programming method
for discontinuous labour tour scheduling. European Journal of
Operational Research, vol. 95, pages 249-261, 1996
[Brusco & Showalter 93] M.J.Brusco , M.J.Showalter: Constraint nurse staffing analysis.
Omega, vol. 21, no. 1, pages 175-186, 1993
[Buffa et al. 76] E.S. Buffa, M.J. Cosgrove, B.J. Luce: An integrated work shift
scheduling system. Decision Sciences, vol.7, pages 620-630, 1976
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
BIBLIOGRAPHIE


98
[Busacker & Gowen 61] R.G.Busacker, P.J.Gowen. A procedure for determining a family of
minimal-cost network flow patterns. Technical Report 15,
Operational Research Office, Johns Hopkins University, Baltimore,
1961.
[Campbell et al. 97] K.W.Campbell, R.B.Durfee, G.S.Hines: FedEx Generates Bid
Lines Using Simulated Annealing. Interfaces, vol. 27, no. 2, pages
1-16, 1997.
[Caprara et al. 98a] A.Caprara, F.Focacci, E.Lamma, P.Mello, M.Milano, P.Toth,
D.Vigo: Integrating constraint logic programming and operations
research techniques for the crew rostering problem. Software
Practice and Experience, vol.28, no.1, pages 49-76, 1998
[Caprara et al. 98b] A.Caprara, P.Toth, D.Vigo, M.Fischetti : Modeling and solving the
crew rostering problem. Operations Research, vol.46, no.6, pages
820-830, 1998
[Chan 02] P.Chan. La planification du personnel: acteurs, actions et termes
multiples pour une planification oprationnelle des personnes.
Thse de doctorat, Universit Joseph Fourier, Grenoble, 2002
[Christou et al. 99] I.T.Christou, A.Zakarian, J.-M.Liu, H.Carter: A Two-Phase Genetic
Algorithm for Large-Scale Bidline-Generation Problems at Delta
Air Lines. Interfaces vol. 29, no. 5, pages 51-65, 1999
[Chu et al. 97] H.D. Chu, E. Gelman, E. L. Johnson. Solving large scale crew
scheduling problems. European Journal of Operational Research vol.
97, pages 260-268, 1997
[Coffman et al. 98] E.G.Cofmann Jr, G.Galambos, S.Marttello, D.Vigo: Bin Packing
Approximation Algorithms: Combinatorial Analysis in Handbook
of Combinatorial Optimization, D.-Z. Du and P. M. Pardalos Eds.,
Kluwer Academic Publishers, Amsterdam, 1998
[Crainic & Rousseau 87] T.G. Crainic, J. Rousseau. The column generation principle and the
airline crew scheduling problem. INFOR vol. 25, pages 136-151,
1987
[Dantzig 54] G.B.Dantzig: A comment on Eddies traffic delay at toll booths.
Operations Research, vol. 2, pages 339-341, 1954
[Dantzig 63] G.B.Dantzig: Linera Programming and Extensions, Princetown
University Press, 1963
[Davis & Putman, 96] M.Davis, H.Putman. A computing procedure for quantification
theory. Journal of the ACM, vol. 7, pages 201-215, 1960
[Dawid et al. 01] H.Dawid, J.Knig, C.Strauss. An enhanced rostering model for
airline crews. Conputers & Operations Research vol. 28, pages
671-688, 2001
[Desaulniers et al.
97a]
G. Desaulniers, J. Desrosiers, Y. Dumas, S. Marc, B. Rioux, M. M.
Solomon. Crew Pairing at Air France. EJOR vol. 97, pages 245-
259, 1997
[Desaulniers et al.
97b]
G. Desaulniers, J. Desrosiers, Y. Dumas, M.M. Solomon & F.
Soumis. Daily aircraft routing and scheduling. Management
Science, vol. 43, no. 6, pages 841855, 1997.
[Desrochers & Soumis
88]
M. Desrochers & F. Soumis. A generalized permanent labelling
algorithm for the shortest path problem with time windows.
INFOR, vol. 26, no. 3, pages 191212, 1988.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
BIBLIOGRAPHIE


99
[Desrochers et al. 92] M. Desrochers, J. Desrosiers & M.M. Solomon. A new
optimization algorithm for the vehicle routing problem with time
windows. Operations Research, vol. 40, no. 2, pages 342354,
1992.
[Desrosiers et al. 84] J. Desrosiers, F. Soumis & M. Desrochers. Routing with time
windows by column generation. Networks, vol. 14, pages 545565,
1984.
[Desrosiers et al. 95] J. Desrosiers, Y. Dumas, M.M.Solomon, F.Soumis. Time constraint
routing and scheduling. Handbooks in Operations Research and
Management Science. Network Routing. vol. 8, pages 35-139, 1995
[Draghici 04] C.Draghici. Construction des plannings pour le personnel navigant
de compagnies ariennes, Rapport LAAS 04425, 2004
[Draghici et al. 04] C.Draghici, J.C.Hennet, O.Paillot. Planification prvisionnelle des
personnels navigants, Rapport Convention CIFRE N 1412707.00
Rapport LAAS N04005
[Draghici & Hennet, 04] C.Draghici, J.C.Hennet, Une approche par dcomposition du problme
d'affectation de rotations. Actes 5me Conference Francophone de
MOdelisation et SIMulation (MOSIM'04), 2004, pp.481-486.
[Draghici & Hennet, 05] C.Draghici, J.C.Hennet, Generation of shift schedules - a time slot
approach , Actes IESM'05, Marakech (Maroc) 2005.
[Duffuaa & Al-Sultan,
99]
S.O.Duffuaa, K.S.Al-Sultan. A Stochastic model for scheduling
maintenance personnel. Applied Mathematical Modelling, vol. 25,
pages 385-397, 1999
[Dyckhoff 90] H. Dyckhoff: A typology of cutting and packing problems.
European Journal of Operational Research vol. 44, pages 145-160,
1990
[Easton & Rossin 91] F.F.Easton, D.F.Rossin: Sufficient working subsets for the tour
scheduling problem. Management Science, vol. 37, pages 1441-
1451, 1991
[El Moudani et al.00] W.El Moudani, C.A.Cosenza, M.de Coligny, F.Mora-Camino: A
bi-criterion Approach for the Airlines Crew Rostering Problem,
rapport LAAS no. 00428, octobre 2000.
[Ernst et al. 04] A.T.Ernst, H.Jiang, M.Krishnamootthy, D.Sier. Staff scheduling
and rostering: A review of applications, methods and models.
European Journal of Operational Research vol. 153, pages 3-27, 2004
[Etschmaier et al. 85] M.M. Etschmaier, Dennis F.X. Mathaisel. Airline scheduling: an
overview. Transportation Science vol. 19, pages 127-138, 1985
[Fortet 60] R.Fortet. Applications de lalgbre de boole en recherche
oprationnelle. Revue Franaise de Recherche Oprationnelle,
vol.4, pages 17-26, 1960
[Gamache et al.99] M.Gamache, F.Soumis, G.Marquis : A Column Generation
Approach for Large-Scale Aircrew Rostering Problems. Operations
Research, vol. 47, no. 2, pages 247-263, 1999.
[Garey & Johnson 85] M.R.Garey, D.S.Johnson : A 71/60 theorem for bin-packing.
Journal of Complexity, vol. 1, pages 65-106, 1985
[Gilmore & Gomory, 61] P.C.Gilmore, R.E.Gomory. A Linear Programming Approach to
the Cutting Stock Problem. Operations Research, vol.9, pages 849-
859, 1961
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
BIBLIOGRAPHIE


100
[Glover & McMillann
86]
F.Glover, C.McMillann. The general employee scheduling
problem: an integration of MS and AI. Computers & Operations
Research, vol. 13, pages 563-573, 1986
[Gondran & Minoux 95] M.Gondran, M.Minoux: Graphes et Algorithmes. Eyrolles, 1995.
[Grossman et al. 99] T. Grossman, D.Samuelson, S.Oh, T.Rohleder : Call Centers.
Technical Report, Haskayne School of Business, U. Calgary, 1999
[Guret et al. 00] C. Guret, C. Prins et M. Sevaux, Programmation Linaire.
Eyrolles, 2000
[Guerinik et al. 95] N.Guerinik, M. van Canaghem: Solving crew scheduling problems
by constraint programming. Lecture Notes in Computer Science
Proceedings of the 1
st
International Conference on Principles and
Practice of Constraint Programming, pages 481- 498, 1995
[Henderson & Berry 76] W.B. Henderson, W.L. Berry: Heuristic methods for telephone
operator shift scheduling. An experimental analysis. Management
Science, vol. 22, pages 1372-1380, 1976
[Hennet 97] J.C.Hennet : De lallocation optimale aux rgles dallocation en
temps rel. Concepts et outils pour les systmes de production,
Cpadus Editions, Coordination : JC.Hennet, 1997, pp.69-85
[Hennet et al. 03] J.C. Hennet, C.V. Draghici, F. Py, Gnration de Programmes de
Travail par un Algorithme de Listes. Actes ROADEF 2003, Rapport
LAAS N03494.
[Jacques 93] P.Jacques: Solving a manpower planning problem using constraint
programming. Belgian Journal of Operations Research, Statistics
and Computer Science, vol. 33, no. 4, pages 77-85, 1993
[Jacquet-Lagrze
et al. 98]
E.Jacquet-Lagrze, D.Montaut, A. Partouche: The Shift scheduling
problem : Different formulations and solution methods.
Foundations of Computing and Decision Sciences, vol.23, no.4,
pages 199-207, 1998
[Johnson 74] D.S.Johnson: Fast algorithms for bin packing. Journal of
Computers and System Sciences, vol. 8, pages 272-314, 1974
[Johnson et al. 74] D.S.Johnson, AZ.Demers, J.D.Ullman, M.R.Garey, R.L.Graham:
Worst-case performance bounds for simple one-dimensional
packing algorithms. SIAM Journal of Computing, vol. 3, pages 256-
278, 1974
[Keith 79] E.Keith: Operator Scheduling. AIIE Transactions vol. 11, pages 37-
41, 1979
[Kuhn 55] H.W.Kuhn: The Hungarian Algorithm for the assignment problem.
Naval Research Logistic Quarterly, vol. 2, pages 83-97, 1955
[Lasdon 70] L.S.Lasdon: Optimisation Theory for Large Systems, Macmillan
Series in Operations Research, 1970
[Lavoie et al. 88] S. Lavoie, M. Minoux, E. Odier. A new approach for crew pairing
problems by column generation with an application to air
transportation. EJOR vol. 35, pages 45-58, 1988
[Loucks & Jacobs 91] J.S. Loucks, F.R.Jacobs: Tour scheduling and task assignment of a
heterogenous work force: A heuristic approach. Decision Science,
vol. 22, no. 4, pages 719-738, 1991
[Mancel 04] C.Mancel. Modlisation et rsolution de problmes doptimisation
combinatoire issus dapplications spatiales. Thse de doctorat,
Institut National de Sciences Appliques de Toulouse, 2004
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
BIBLIOGRAPHIE


101
[Martello & Toth 86] S.Martello P.Toth: A heuristic approach to the bus driver
scheduling problem. European Journal of Operational Research,
vol. 24, pages 106-117, 1986
[Mason et al., 98] A.J.Mason, D.M.Ryan, D.M.Panton. Integrated Simulation,
Heuristic and Optimisation Approaches to Staff Scheduling.
Operations Research, vol. 46, no.2, pages 161-175, 1998
[McDermott 82] D.V.McDermott: A Temporal Logic for Reasoning about Processes
and Plans. Cognitive Science, vol. 6, pages 101-155, 1982
[McGinnis et al. 78] L.F.McGinnis, W.D.Culver, R.H.Deane : One- and two-phase
heuristics for workforce scheduling. Computers and Industrial
Engineering, vol. 2, pages 7-15, 1978
[Merle et al. 99] O. Du Merle, D. Villeneuve, J. Desrosiers & P. Hansen. Stabilized
column generation. Discrete Mathematics, vol. 194, pages 229237,
1999.
[Morris & Showalter 83] J.G.Morris, M.J.Showalter: Simple approaches to shift, days-off
and tour scheduling problems. Management Science vol. 29, no. 8,
pages 942-950, 1983
[Panton 91] D. Panton. On the creation of multiple shift continuous operation
rosters under general workforce conditions. Asia Pacific Journal of
Operations Research. vol.8, pages 189-210, 1991
[Partouche 98] A.Partouche : Planification dhoraires de travail. Mthodologie,
modlisation et rsolution laide de la Programmation Linaire en
Nombres Entiers et de la Programmation par Contraintes. Thse de
doctorat, Universit Paris-Dauphine, Paris, 1998
[Prins 94] C.Prins. Algorithmes de graphes avec programmes en Pascal.
Eyrolles 1994
[Rmi-Robert, 03] A.J. Rmi-Robert : Systmes interactifs daide llaboration de
plannings de travail de personnel. Thse de doctorat, Universit
Joseph Fourier, Grenoble, 2003
[Ribeiro & Soumis 94]

C.C. Ribeiro & F. Soumis. A column generation approach to the
multiple-depot vehicle scheduling problem. Operations Research,
vol. 42, no. 1, pages 4152, 1994.
[Roberts & Escudero,
83]
S.M.Roberts & L.F.Escudero. Minimum problem-size formulation
for the scheduling of plant maintenance personnel. Journal of
Optimisation Theory and Applications, vol. 39, nro.3, pages 345-
362, 1983
[Rubin 73] J.Rubin : A Technique for the Solution of Massive Set Covering
Problems, with Application to Airline Crew Scheduling.
Transportation Science, vol. 7, pages 34-48, 1973
[Rushmeier et al, 95] R.Rushmeier, K.Hoffman, M.Padberg. Recent advances in exact
optimisation of airline scheduling problems. Technical Report,
Department of Operations Research and Operations Engineering,
George Mason University, 1995.
[Ryan 80] D.M.Ryan. Zip a zero-one integer programming package for
scheduling. Technical Report, Report C.S.S. 85, AERE Harwall,
Oxfordshire
[Ryan 92] D.M.Ryan: The Solution of Massive Generalised Set Partitioning
Problems in Aircrew Rostering. Journal of Operational Research
Society, vol. 43, no. 5, pages 459-467, 1992.
t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6
BIBLIOGRAPHIE


102
[Ryan & Falkner, 88] D.M.Ryan, J.K.Falkner. On the integer properties of scheduling set
partitioning models. European Journal of Operational Research
vol. 35, pages 442-456, 1988
[Salkin 75] H.M.Salkin. Integer Programming, Addison-Wesley, 1975
[Sarin & Aggarwal 01] S.C. Sarin, S. Aggarwal. Modeling and Algorithmic development
of a staff scheduling problem. European Journal of Operational
Research, vol. 128, pages 558-569, 2001
[Savelsberg 97] M. Savelsbergh. A branch-and-price algorithm for the generalized
assignment problem. Operations Research, vol. 45, no. 6, pages
831841, 1997.
[Segal 74] M.Segal: The operator-scheduling problem: A network flow
approach. Operations Research, vol. 22, pages 808-823, 1974
[Shoham 87] Y. Shoham: Temporal logics in AI: Semantical and Ontological
Considerations. Artificial Intelligence, vol. 33, pages 89-104, 1987
[Thompson 88] G.M. Thompson: A comparison of techniques for scheduling non-
homogeneous employees in a service environment subject to non-
cyclical demand. Ph.D. Thesis, Florida State University, 1988
[Van Den Akker et al.
00]
J.M. Van Den Akker, C.A.J. Hurkens & M.W.P. Savelsbergh.
Time-indexed formulations for machine scheduling problems :
column generation. Informs Journal on Computing, vol. 12, no. 2,
pages 111125, 2000.
[Vanderbeck 00] F. Vanderbeck. On Dantzig-Wolfe decomposition in integer
programming and ways to perform branching in a branch-and-price
algorithm. Operations Research, vol. 48, no. 1, pages 111128,
2000.
[Vanderbeck &
Wolsey 96]
F. Vanderbeck & L.A. Wolsey. An exact algorithm for IP column
generation. Operations research letters, vol. 19, pages 151159,
1996.
[Vidal 95] T. Vidal : Le Temps en Planification et en Ordonnancement, Thse
de Doctorat UPS, Toulouse, 1995
[Vila 94] L.Vila: A Survey on Temporal Reasoning in Artificial Intelligence.
AI Communications, vol. 7, no. 1, pages 4-28, 1994
[Weil et al. 98] G.Weil, K.Heus, P.Chan, P.Franois. The nurse scheduling
problem: a combinatorial problem solved by the combination of the
constraint programming and real users heuristics. Medinfo98. B
Cesnik et al. (Eds.) IOS Press, Amsterdam; pages 508-512, 1998
[Yan et al. 02] S. Yan, T.-T. Tung, Y.-P. Tu. Optimal construction of airline
individual crew pairings. Computer & Operations Research vol. 29,
pages 341-363, 2002
[Yao 80] A.C.-C.Yao. New algorithms for bin-packing. Journal of the ACM,
vol. 27, no. 2, pages 207-227, 1980


t
e
l
-
0
0
0
1
1
3
9
9
,

v
e
r
s
i
o
n

1

-

1
7

J
a
n

2
0
0
6