Page de garde - univ-annaba.dzbiblio.univ-annaba.dz/wp-content/uploads/2014/09/... · Pr....
Transcript of Page de garde - univ-annaba.dzbiblio.univ-annaba.dz/wp-content/uploads/2014/09/... · Pr....
وزارة الـتـعـلـيـم الـــعــالي و الـبـحــث الــــعـــلمي
جامعة باجــي مـخـتار عـنـابـة
Année 2004/2005
FACULTE DES SCIENCES DE L’INGENIEUR DEPARTEMENT D’INFORMATIQUE
MEMOIRE
Présenté en vue de l’obtention du diplôme de MAGISTER
Option Intelligence Artificielle Distribuée
Par ZEDAIRIA Abdallah
Directeur de mémoire : Dr. M. BABES Maître de conférence Université de Annaba
Devant le jury :
Président : Pr. Mohamed-Chaouki Batouche Professeur Université de Constantine Examinateur : Dr. Mohamed-Tarek Khadir Maître de conférence Université de Annaba
BADJI MOKHTAR- ANNABA UNIVERSITY
UNIVERSITE BADJI MOKHTAR- ANNABA
Définition d’une heuristique hybride pour
résoudre un problème de planification de
personnel dans un milieu hospitalier.
I
مـــلـــخــص
إن جـل األعمال اإلنسانية تستوجب تخطيطا مجمال للوسائل عبر الزمن، حيث أن نظرية التخطيط تعالج نماذج
رياضية، ولكنها كذلك تحلل حاالت واقعية جد معقدة.
نالحظ بأن تعيين األشخاص، و خاصة عمال القطاع الصحي؛ الذين يخضعون لقيود متعددة - وأحيانا متعارضة
- تعتبر مسألة جد صعبة و معقدة، و لهذا تستوجب طرقا استكشافية لحلها.
يعتبر هدفنا األساسي في هذا البحث هو إيجاد حل لمسألة واقعية، وهي إنشاء استعمال زمن أسبوعي لمجموعة
من األطباء، الذين يعملون في مصلحة أشعة بمستشفى. هذه المسألة لها عدة قيود ومن أنواع جد◌◌◌◌◌ مختلفة.
لقد استعملنا خوارزمية جينية من أجل تحسين و تقليل تكلفة تعيين األطباء في المناصب. والمتغيرات التي تخص
معيار التقليل هي مجموع حسابات خرق القيود.
، (IA) والذكاء اإلصطناعي (RO)نظرا ألهمية الموضوع، تم تطوير عدة طرق في مجالي البحث التطبيقي
هذه الطرق يمكن تصنيفها عموما إلى قسمين كبيرين : الطرق الدقيقة (الكاملة) التي تضمن كمال الحل، والطرق
التقريبية (غير الكاملة) التي تخسر من كمال الحل لتربح في الفعالية.
المبدأ األساسي للطرق الدقيقة يتمثل عموما في عد -وبطريقة ضمنية- مجموعة الحلول في مجال البحث. و
بالرغم من النتائج المحققة، فنظرا لتزايد مدة حساب الحل تزايدا أسيـا مع حجم المسألة، فالطرق الدقيقة تالقي
صعوبات كبيرة في مواجهة التطبيقات ذات الجحم الكبير.
الطرق التقريبية تشكل بديال جد هام لدراسة مسائل التحسين ذات الحجم الكبير، إذا كانت األفضلية ليست
رئيسية أو جوهرية. والدليل على ذلك أن هذه الطرق مستعملة و من زمن طويل من كثير من الباحثين و التطبقيين.
II
في ضوء هذه المعطيات، تبين لنا أنه من المعقول اإلعتماد على الطرق العرضية للتحسين - التي هي عبارة عن
طرق تقريبية -، إال أننا لم نرد أن نقتصر على بحث عشوائي بحت. مما جعلنا نستلهم بعض خصائص اإلنتقاء
الطبيعي.
في هذا البحث نقترح تطبيق خوارزمية جينية لحل المسألة سالفة الذكر، هذه الخوارزمية نوع من الخوارزميات
. ولقد اقترحنا في هذه الدراسة طرق تقاطع و تبديل (طفرة)، (AI)التطورية التي تنتمي إلى حقل الذكاء اإلصطناعي
كما عرفنا نموذج مناسب النتقاء اآلباء من أجل إيجاد أحسن األبناء المرشحين إلنشاء فصيلة جديدة.
إن اقتراحات التحسين التي قمنا بها، سمحت لنا بضمان اتجاه الخوارزمية إلى حلول مناسبة. و نظرا لكون
المسألة المدروسة، جد صعبة، فإن كل طريقة استكشافية تعتبر مساهمة في حلها.
كما هو معلوم، فإن دراسة الحاالت الطارئة و عالجها في إنشاء مخطط زمني، ال يقل أهمية من إيجاد الحل
األمثل االبتدائي. فاألخذ بعين االعتبار لهذه الحاالت يؤدي إلى إيجاد حل أكثر مرونة و مالئمة للواقع. لذلك
خصصنا الجزء من بحثنا لدراسة الحاالت الطارئة الناتجة عن تغيب األشخاص أو توقف الوسائل المادية. واقترحنا
حلول مناسبة لمعالجتها، رغم قلة المراجع في هذا المجال.
وحسب النتائج المشجعة المتحصل عليها يمكننا القول بأن طريقة الحل المقترحة أداة ذات فعالية كبيرة لحل
كل مسألة تصاغ على منوال مسألتنا.
III
ABSTRACT
For all their activities, the human beings need to plan their acquisition of certain
resources. The scheduling theory deals mathematical models but also analyze complex real
situations. Although the state of the art is rather rich, the existing contributions stay far from
being complete and optimal.
Let us notice that the planning of the staff, and in particular the hospital staff planning,
which is subjected to a variety of constraints -sometimes contradictory-, is a problem NP-
Hard in the strong sense. Consequently, heuristic methods must be used to resolve it.
In this study, our main objective is the resolution of a concrete problem of weekly
generation of doctors' timetables in a service of radiology. This problem possesses
constraints of very varied types. We implemented a genetic algorithm for the optimization
of affectation cost related to the doctors in the post offices. The criterion of optimality is
the minimization of the sum of the violation measures related to the constraints in order to
make it equal to zero.
Many methods were developed in operational research (OR) and in artificial
intelligence (IA) domains to solve this problem. These methods can be briefly classified in
two big categories: the (complete) exact methods which guarantee the completion of the
solution and the (incomplete) approached methods which lose the completion in search of
efficacy.
The essential principle of an exact method consists generally in enumerating, often in an
implicit way, all the solutions of the research space. In spite of the realized progress, the
necessary calculation time to find a solution risk to increase exponentially with the size of
the problem. The exact methods meet generally difficulties in front of applications of
important sizes.
The approached methods constitute a very interesting alternative to treat optimization
problems of big sizes if the optimality is not essential. These methods were used for a long
time ago by numerous practitioners.
IV
In this optics, it seemed to us reasonable to envisage stochastic methods of optimization
which are approached methods. Nevertheless, we did not want to content ourselves with an
arbitrarily unpredictable search. In that sense, it is interesting to be inspired by the process
of natural selection.
We thus propose the application of the genetic algorithms to resolve the above-
mentioned problem. They represent a type of evolutionary algorithms that belongs to the
artificial intelligence field. We proposed, in this study, methods of crossing, mutation and
an appropriate mode of selecting parents to supply good candidates’ sons for every new
generation. This made effective our proposed algorithm. Let us notice that the consideration
of the inconvenient conditions within a schedule is neither is not less important nor easier to
resolve. In fact, in this last case, the solution is endowed with a more realistic and dynamic
character. For this reason, we dedicated the second part of this thesis to the study of the
inconvenient conditions which can be due to the failing of the resources (human and\or
material). In spite of the few realized programs in the field considering this phenomenon
due to its difficulty in term of formalization and complexity of the resolution method, if it
exists, we try to establish an heuristic that conjugates the user interactive.
According to the attained and encouraged results, we consider that the proposed method
is a very effective means used to resolve all problems which are similar to our proper one.
V
RESUME
Pour toutes leurs activités, les êtres humains ont besoin de planifier dans le temps leur
acquisition de certaines ressources. La théorie de la planification traite des modèles
mathématiques mais analyse également des situations réelles forts complexes. Quoique l'état
de l'art est assez riche, les contributions existantes restent loin d'être complètes et optimales.
Remarquons que la planification du personnel, et en particulier le personnel hospitalier,
qui est soumise à une variété de contraintes -parfois contradictoires-, est un problème NP-
difficile au sens fort. Par conséquent, des méthodes heuristiques doivent être utilisées pour
le résoudre.
Dans cette étude, nous nous sommes donnés comme objectif principal la résolution d’un
problème concret de génération hebdomadaire d'emplois du temps de médecins dans un
service de radiologie. Ce problème possède des contraintes de types très variés. Nous avons
mis en œuvre un algorithme génétique pour l’optimisation de coût d’affectation des
médecins aux postes. Le critère d'optimalité est la minimisation de la somme des mesures de
violation des contraintes pour la rendre nulle.
Étant donnée l'importance de ces problèmes, de nombreuses méthodes de résolution ont
été développées en recherche opérationnelle (RO) et en intelligence artificielle (IA). Ces
méthodes peuvent être classées sommairement en deux grandes catégories : les méthodes
exactes (complètes) qui garantissent la complétude de la solution et les méthodes
approchées (incomplètes) qui perdent en complétude pour gagner en efficacité.
Le principe essentiel d'une méthode exacte consiste généralement à énumérer, souvent
de manière implicite, l'ensemble des solutions de l'espace de recherche. Malgré les progrès
réalisés, le temps de calcul nécessaire pour trouver une solution risque d'augmenter
exponentiellement avec la taille du problème. Les méthodes exactes rencontrent
généralement des difficultés face aux applications de tailles importantes.
VI
Les méthodes approchées constituent une alternative très intéressante pour traiter les
problèmes d'optimisation de grandes tailles si l'optimalité n'est pas primordiale. Ces
méthodes sont utilisées depuis longtemps par de nombreux praticiens.
Dans cette optique, il nous a paru raisonnable d’envisager des méthodes stochastiques
d’optimisation qui sont des méthodes approchées. Néanmoins, nous n’avons pas voulu nous
restreindre à une recherche arbitrairement aléatoire. En ce sens, il est intéressant de
s’inspirer du processus de sélection naturelle.
Nous proposons donc l’application des algorithmes génétiques pour résoudre le
problème susmentionné. Ce sont un type d’algorithmes évolutionnaires qui font partie du
champ de l’intelligence artificielle (IA). Nous avons proposé, dans cette étude, des
méthodes de croisement, de mutation et un mode adéquat de sélection des parents afin de
fournir de bons fils candidats à chaque nouvelle génération. Ceci a rendu efficace notre
algorithme proposé.
Constatons que prendre en considération les conditions intempestives au sein d'un
planning n'est pas moins important ni plus facile à résoudre. En effet, dans ce dernier cas, la
solution est dotée d'un caractère dynamique et plus réaliste. Dans ce but, nous avons
consacré la deuxième partie de cette thèse à l'étude des conditions intempestives qui peuvent
être dues à la défaillance des ressources (humaines et/ou matérielles). Malgré le peu de
plannings réalisés dans la littérature prenant en considération ce phénomène vu sa difficulté
en terme de formalisation et la complexité de la méthode de résolution si celle-ci existe,
nous avons tenté d'établir une heuristique conjuguant l'interactif de l'utilisateur.
D’après les résultats obtenus, qui ont été encourageantes, nous jugeons que la méthode
proposée est un outil d’une grande efficacité pour la résolution de tout problème qui peut se
formuler de la même manière que le notre.
VII
DEDICACE
A mes parents,
A mes frères et sœurs,
A tous ceux qui m’ont aidé,
Je dédie ce travail.
VIII
REMERCIEMENTS
Tous mes remerciements à :
Dr. M. Babes qui, en qualité de directrice de ce mémoire, m’a guidé par ses remarques, son
savoir faire scientifique et ses suggestions. Je luis suis reconnaissant, qu’elle trouve, ici, ma
profonde gratitude.
Pr. Mohamed-Chaouki Batouche de l’université de Constantine qui m’a considérablement
honoré en acceptant de présider ce jury.
Dr. Mohamed Tarek Khadir de l’université de Annaba, pour l’effort qu’il s’est donné en
acceptant de critiquer ce travail.
ZEDAIRIA Abdallah
IX
LISTE DES TABLEAUX
0BPAGE 1BTITRE 2BN° TABLEAU
48 Exemple de population. 1
49 Résultats obtenus par notre algorithme génétique sur quelques instanciations du problème. 2
X
LISTE DES FIGURES
0BPAGE 1BTITRE 2BN° Fig. 3BN° Ch.
33 Le codage choisi pour la représentation des solutions. 1
CH
API
TR
E II
I
40 Exemple de croisement à « un point ». 2
42 Etapes de l'algorithme génétique proposé. 3
43 Processus de notre Algorithme génétique. 4
44 Exemple de planning hebdomadaire généré par notre algorithme. 5
45 Interface principale de l’application. 6
46 Pré-affectations d’un membre du personnel. 7
46 Ouverture d’un service. 8
50 Convergence de notre algorithme. 9
57 Défaillance d’une resource humaine. 10
CH
API
TR
E IV
59 Défaillance d’une ressource humaine (cas non déterministe). 11
61 Défaillance d’une ressource matérielle. 12
63 Défaillance d’une ressource matérielle (cas non déterministe). 13
65 Comparaison entre les solutions prévues et les solutions réelles. 14
73 Modèle de la roulette ; représentation d’une population de 6 individus. A.1
AN
NE
XE
A
76 Exemple de croisement à « un point » ; (cas du codage binaire). A.2
77 Exemple de croisement «à 2 points» ; (cas du codage binaire). A.3
78 Opération de mutation. A.4
XI
82 Structure de données (Fichier personnel). B.1 A
NN
EX
E B
84 Structure de données (fichier services). B.2
85 Ouvertures d'un service pour une semaine et propagation de ces ouvertures pour d'autres semaines. B.3
86 Interface Gestion des médecins. B.4
86 Interface Disponibilités d'un médecin. B.5
86 Interface Pré-affectaions d'un médecin. B.6
87 Interface Gestion des compétences. B.7
87 Iinterface Gestion des postes. B.8
88 Interface Gestion des Ouvertures d'un poste. B.9
88 Interface Gestion des Préférences. B.10
89 Interface principale. B.11
XII
TABLE DES MATIERES
01 Introduction ............................................................................................................
Chapitre I : La planification d'horaires de travail 05 1. Enjeux de la planification d'horaires .................................................................... 06 2. Problématique de la planification d'horaires ........................................................ 06 2.1 Un processus complexe ................................................................................... 07 2.2 Qu’est-ce que la planification ? ....................................................................... 07 2.3 Qu’est-ce qu’un bon planning ? ...................................................................... 08 2.4 Le contexte de la planification ........................................................................ 10 2.5 Le facteur humain dans les plannings ............................................................. 11 3. Types de plannings ............................................................................................... 11 3.1 Plannings sportifs ............................................................................................ 12 3.2 Plannings pédagogiques .................................................................................. 13 3.3 Plannings aériens ............................................................................................. 14 4. La planification hospitalière ................................................................................. 15 5. Types de plannings hospitaliers ........................................................................... 19 6. Conclusion ............................................................................................................
Chapitre II : Choix de la méthode utilisée 21 1. Introduction .......................................................................................................... 23 2. Analyse des approches utilisées pour résoudre les problèmes de planification ... 23 2.1. Exploitation et exploration ............................................................................. 26 2.2. Quelle métaheuristique utiliser ?.................................................................... 26 2.3. Notre choix .....................................................................................................
XIII
Chapitre III : Proposition d’un algorithme génétique pour la résolution de notre problème de planning hospitalier.
30 I. PRESENTATION DU PROBLEME ETUDIE ............................................................... 32 II. PRESENTATION DE L'ALGORITHME GENETIQUE CONÇUE ............................... 32 II.1 Alphabet de codage et fonction d’adaptation .................................................... 32 a. L’alphabet de codage ....................................................................................... 34 b. La fonction d’évaluation .................................................................................. 35 c. Modélisation des contraintes ............................................................................ 37 d. Structure de données ........................................................................................ 38 II.2 Initialisation de la population ............................................................................ 38 II.3 Les opérateurs utilisés ....................................................................................... 38 a. La sélection ...................................................................................................... 40 b. Le croisement ................................................................................................... 41 c. La mutation ...................................................................................................... 41 II.4 Condition d’arrêt ...............................................................................................
42 II.5 Les étapes de notre algorithme génétique .........................................................
44 III. IMPLEMENTATION ET EXPERIMENTATION ......................................................
47 Quelques résultats ..................................................................................................... 49 Convergence de l'algorithme ....................................................................................
50 Conclusion ................................................................................................................
Chapitre IV : Gestion des conditions intempestives 53 1. Introduction .......................................................................................................... 53 2. Les défaillances au sein d'un planning ................................................................. 53 2.1 Défaillances humaines……………………………………………………... 54 2.1.1. Absences volontaires………………………………………………….. 54 2.1.2. Absences involontaires……………………………………………….. 54 2.1.2.a. Cas déterministe…………………………………………………..
XIV
58 2.1.2.b. Cas non déterministe…………………………………………… 60 2.2. Défaillances matérielles…………………………………………………… 60 2.2.a. Cas déterministe………………………………………………………. 62 2.2.b. Cas non déterministe…………………………………………………. 64 3. Implémentation et critiques des résultats obtenus…………………………….. 66 4. Conclusion…………………………………………………………………….. 67 Conclusion générale et perspectives .....................................................................
ANNEXE A : ALGORITHMES GÉNÉTIQUES.
ANNEXE B : PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET
D'INTERFACES COMPLEMENTAIRES. 94 Bibliographie ...........................................................................................................
INTRODUCTION GENERALE
1
Introduction générale
L'évolution des sociétés est marquée par une reconnaissance accrue des enjeux
économiques et sociaux liés à une utilisation efficace de la ressource travail. Cette tendance
est particulièrement sensible dans le secteur des services où le travail n'est pas ou peu
stockable et où il s'agit de répondre, dans des délais extrêmement courts, à une demande
souvent très fluctuante. Dés lors que la charge de travail varie au sein de la journée et de la
semaine ou excède en durée les plages de travail individuelles, se posent des problèmes
d'adéquation de l'effectif à la charge et d'aménagement des horaires de travail et de repos
dans le respect de la réglementation.
Les problèmes de planification d'horaires concernent typiquement les sociétés et
services exerçant une activité continue ou quasi-continue. Il en va ainsi par exemple des
compagnies aériennes, services portuaires, entreprises de transport, hôpitaux,… etc.
La planification d'horaires vise à dimensionner la force de travail et à programmer
l'utilisation de ressources sur un horizon allant de la journée à quelques mois, de manière à
atteindre le meilleur équilibre entre qualité de service, coût et satisfaction sociale.
L’objectif de cette thèse consiste alors à définir et à mettre en œuvre une méthode
permettant de résoudre le problème de planification dans un cas concret : planning d’un
service de radiologie dans un grand hôpital.
Les problèmes de planification d'horaires, de nature fortement combinatoire,
appartiennent à la classe des problèmes dits NP-Complets, dont la résolution requière
l'utilisation de techniques appropriées. Depuis Dantzig [DAN 1954], de nombreuses
méthodes de résolution ont été développées en recherche opérationnelle (RO). Récemment,
quelques méthodes ont vu le jour en intelligence artificielle (IA). Ces méthodes peuvent être
classées sommairement en deux grandes catégories : la première; les méthodes exactes
(complètes) qui garantissent la complétude de la résolution, parmi ces méthodes on trouve :
la programmation linéaire en nombres entiers [PAR 1998], relaxation lagrangienne [TRI
1980], …etc. La deuxième catégorie; les méthodes approchées (incomplètes) qui perdent la
complétude pour gagner en efficacité, parmi ces méthodes on trouve : la recherche tabou
[HAM 2000], le recuit simulé [BRU 1993, THO 1996], les algorithmes génétiques [COL
1996, CAI 2000],…etc.
INTRODUCTION GENERALE
2
Le principe essentiel d'une méthode exacte consiste généralement à énumérer, souvent
de manière implicite, l'ensemble des solutions de l'espace de recherche. Ce type de
méthodes rencontre généralement des difficultés dans les applications de tailles importantes.
En effet, le temps de calcul nécessaire pour trouver une solution risque d'augmenter
exponentiellement en fonction de la taille du problème.
Les méthodes approchées constituent une alternative très intéressante pour traiter les
problèmes d'optimisation de grande taille, si l'optimalité n'est pas primordiale. En effet, ces
méthodes sont utilisées depuis longtemps par de nombreux praticiens.
Parmi les méthodes incomplètes, encore appelées méthodes stochastiques, existe la
famille des algorithmes évolutionnaires qui sont des heuristiques inspirées par l’évolution
des systèmes biologiques. Ils explorent simultanément différentes régions de l’espace de
recherche et sont peu sensibles à l’attraction d’un optimum local; de plus, ils conviennent
bien pour la résolution de problèmes d’optimisation combinatoire et d’affectation sous
contraintes (ces notions seront définies plus loin). Leurs bases théoriques ont été proposées
par J. Holland [HOL 1975].
Les algorithmes évolutionnaires, et en particulier les algorithmes génétiques, constituent
une voie prometteuse pour la résolution des problèmes de planification de personnel. Cette
thèse, se rapportent à ce thème. Nous proposons des méthodes de sélection, croisement et de
mutation afin de rendre plus efficace l'algorithme de base initialement proposé.
Notre travail est organisé comme suit :
Le premier chapitre comporte un exposé sur les problèmes de planification d’horaires. Il
présente le cadre général dans lequel s'inscrit la planification
d'horaires. Nous mettons l'accent ensuite sur les différents types
de plannings (pédagogiques, aériens, sportifs,…) et plus
particulièrement les plannings hospitaliers.
Le deuxième chapitre est une présentation succincte des principales méthodes de
résolution des problèmes d’optimisation. Nous ferons une
analyse de ces différentes méthodes, et nous nous justifions notre
choix des algorithmes génétiques comme approche de résolution.
INTRODUCTION GENERALE
3
Au troisième chapitre, nous présentons la mise en œuvre de l’algorithme génétique et
l’implémentation de notre application pour résoudre le problème
posé. Nous proposons des améliorations de l'algorithme en jouant
sur les différentes variations possibles de ses paramètres.
Le quatrième chapitre, est consacré à la présentation des conditions intempestives au
sein d'un planning (la défaillance d'une ou de plusieurs
ressources à un moment de la réalisation de ce planning). Ce que
l'on se propose, de réaliser dans cette partie, est d'essayer
d'apporter des éléments de solutions à un tel problème.
Nous terminons notre thèse, en énonçant un ensemble de remarques et de suggestions
concernant l’application de ce type d’algorithmes et la résolution d'un problème de
planification, ce qui permettra d’orienter nos futurs recherches.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
4
I CHAPITRE
LA PLANIFICATION D'HORAIRES DE TRAVAIL
Résumé : Les problèmes de planification d'horaires sont au cœur des préoccupations de toute société active. Ils ont suscité ces dernières années l'intérêt de diverses disciplines. En effet, économistes, gestionnaires, juristes et sociologues se sont interrogés sur la question de l'aménagement du temps de travail et de ses enjeux, incitant ainsi les chercheurs à proposer méthodes et techniques pour aider à gérer « au mieux » une nouvelle diversité des horaires.
Dans ce chapitre, nous introduisons et caractérisons ces problèmes. Nous présentons d'abord les différents acteurs économiques et sociaux concernés par la planification des horaires, leurs rôles et leurs enjeux pouvant être conflictuels. Nous définissons ensuite la problématique de la planification d'horaires dans un contexte général. Celle-ci consiste à élaborer les horaires de travail d'un personnel, afin de couvrir une charge représentant des tâches et tout en respectant un ensemble de contraintes.
Ensuite, nous passerons en revue les différents types de plannings pédagogiques, aériens, sportifs,…et plus particulièrement les plannings hospitaliers.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
5
1. Enjeux de la planification d'horaires
Depuis le début des années 80, dans le monde occidental la flexibilité du travail, et plus
particulièrement la flexibilité du temps de travail, constitue aux yeux de tous une solution au
moins partielle à de nombreux problèmes économiques et sociaux : chômage, compétitivité
des entreprises, animation des cités, développement de pratiques culturelles et sportives,...
[PAR 1998].
Des enjeux économiques
L'utilisation efficace de la force de travail est reconnue comme un facteur primordial de
productivité aussi bien dans le secteur industriel que dans celui des services. Le problème
est toutefois plus crucial dans les services. En effet, si les industries manufacturières sont
capables de gains de productivité en substituant des équipements au travail, le recours à
l'automatisation pour délivrer un service reste limité. D'où l'enjeu est encore plus important
pour les sociétés de services dans la mesure où leur activité opérationnelle est directement
liée à la demande. En effet, dans les services :
(a) le travail n'étant pas (ou peu) stockable, il est impossible de constituer des stocks de
sécurité qui permettraient de lisser la demande en personnel ;
(b) le service doit être rendu dans une fenêtre de temps plus ou moins réduite selon
l'urgence de la tâche ;
(c) production et consommation de services étant indissociables, les activités
productives ne peuvent être effectuées qu'après l'apparition de la demande. Aussi,
une capacité de services non exploitée est perdue ;
(d) la demande peut être extrêmement variable selon la saison, la semaine, le jour,
l'heure et même sur des intervalles très courts.
De ce fait, les besoins en personnel dans certains services peuvent s'exprimer sur des
périodes aussi courtes que cinq ou dix minutes. Ces caractéristiques typiques des services
imposent des techniques de planification d'horaires adaptées et souvent plus sophistiquées
que pour les industries manufacturières.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
6
Ainsi, la ressource travail est une composante essentielle de la productivité des
entreprises et tout particulièrement dans le secteur des services.
Des enjeux sociaux
Les salariés trouvent un grand intérêt aux formes plus souples d'aménagement du temps
de travail, mais cet intérêt ne coïncide pas toujours avec celui des entreprises. De plus, la
flexibilité du temps de travail, parce qu'elle améliore la qualité de vie, favorise un meilleur
« moral » des salariés avec un impact certain sur la motivation du capital humain en
entreprise [PAR 1998] : moins d'absentéisme ou de retards, amélioration des
performances,...
La planification des horaires présente donc des enjeux à la fois sur un plan économique
et un plan social. Toutefois, sa complexité, en particulier dans le secteur des services, impose
de s'appuyer sur une démarche scientifique pour apporter des réponses pragmatiques à une
catégorie générale de problèmes.
Il s'agit donc de développer des outils de planification d'horaires, basés sur des
techniques efficaces d'optimisation de ressources qui permettent de construire des
programmes de travail individuels, respectant la réglementation du travail et autres accords
avec les salariés et garantissant une bonne couverture de charge tout en limitant les coûts.
Notons que ces outils pourront être utilisés à la fois dans un contexte opérationnel, c'est-
à-dire pour effectivement établir des programmes de travail ou dans une démarche plus
stratégique, pour évaluer les conséquences en termes de coût ou de qualité de service de
modifications de la charge ou des contraintes de planification.
2. Problématique de la planification d'horaires
Pour mieux cerner ce qui est la planification ainsi que la complexité inhérente à sa
réalisation, nous commençons par donner les différentes définitions de la planification sous
plusieurs formes.
2.1 Un processus complexe
La planification d'horaires de travail vise, pour un horizon de planification d'un jour à
quelques mois, à dimensionner une force de travail et à optimiser l'utilisation des ressources,
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
7
de façon à couvrir un besoin exprimé par une charge de travail prévisionnelle, tout en
respectant un ensemble de contraintes précises. Elle aboutit à des programmes définissant
les horaires de travail et de repos de la force de travail [CHA 2002].
Les contraintes évoquées ci-dessus sont relatives à la législation du travail ou à des
accords spécifiques c'est-à-dire un ensemble de règles de planification liées aux habitudes
de fonctionnement de l'entreprise ou à des conventions collectives et qui contribuent à la
satisfaction du personnel (par exemple le nombre minimum de jours de travail successifs,
l'absence de jours de repos isolés ou l'absence de journées de travail avec une coupure, ...).
2.2 Qu’est-ce que la planification ?
Afin de rester dans l’économie globale moderne, toute entreprise doit organiser et
planifier le travail de ses salariés. Ceci passe par la détermination des capacités des
employés par le recensement des activités futures et des besoins en personnel. L’entreprise
doit satisfaire ces derniers en affectant la bonne personne, à la bonne place au bon moment.
Définition opérationnelle de la planification
La planification vise à affecter les ressources humaines pour chaque intervalle de temps
sur un horizon donné, de telle sorte que les besoins par intervalle soient couverts et que les
différentes contraintes soient satisfaites [CHA 2002].
Définition mathématique de la planification
La planification peut être définie sous la forme de fonction mathématique qui associe un
salarié et un intervalle de temps à une affectation [CHA 2002]. Exemple :
fj(Salarié, Période) = Activité / Compétence.
Sur la journée, cette fonction permet de déterminer les heurs de présences du salarié (ce
qui définit sa vacation) et ses activités de la journée.
2.3 Qu’est-ce qu’un bon planning ?
Si un planning n'est pas toujours facile à obtenir, un bon planning l’est beaucoup moins.
S’agissant des personnes, le coût d’un planning n’est pas la somme des coûts horaires des
employés. En effet, la planification est rendue beaucoup plus complexe avec les contraintes
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
8
et souhaits individuels. La satisfaction des salariés est un facteur important sur leur
motivation et leur productivité.
Compte tenu des différents points de vue au sein d’une même entreprise, des contraintes
complexes et parfois contradictoires, créer un bon planning implique à la fois une
négociation entre le planificateur et les différents employés concernés, et un calcul
d’optimisation combinatoire.
2.4 Le contexte de la planification
Où faut-il planifier ?
Le problème du planning est central dans toutes les entreprises disposant de ressources
humaines. En fait, le problème de planning apparaît systématiquement dans les situations
suivantes :
1. Si le travail doit être assuré pendant plus d’une journée, il faut prévoir la
succession de plusieurs personnes sur le même poste dans la journée. Un outil d’aide est
nécessaire lorsque le nombre de postes dépasse la quinzaine.
2. Si le travail doit être assuré pendant plus de 35 h par semaine, un outil
automatique devient indispensable lorsque le nombre de postes dépasse la trentaine pour
gérer la succession de plusieurs personnes dans la semaine, ainsi que les absences
imprévues.
Planifier quoi ?
En se limitant à la planification des ressources humaines (sans prendre en considération
les ressources matérielles), il faut décider si l’on planifie les horaires de présence du
personnel ou les tâches effectuées par le personnel.
La planification des horaires de présence
Un planning peut être utilisé pour prévoir les horaires de présence du personnel sans
préciser les tâches journalières à effectuer. Dans certains services, on ne peut affecter
qu’un certain nombre de personnes pour chaque heure quel que soit le besoin réel pour
des raisons de postes disponibles ou de budget fixe.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
9
La planification des tâches
Dans les entreprises à haute technicité, comportant de nombreux métiers et
compétences distincts, lorsqu’un besoin non satisfait se traduit en perte d’affaires, il est
souhaitable d’affecter le personnel en fonction des tâches. Cela exige d’une part une
décomposition fine des opérations ou des tâches en gammes opératoires et d’autre part, le
repérage des tâches que chaque personne est capable d’accomplir.
Planifier qui ?
La planification anonyme raisonne au niveau du nombre de salariés dans des groupes
homogènes identifiés par les modèles appropriés. Ainsi, il est possible que le découpage en
groupes prenne en compte les différences en matière de compétences ou de contrats temps.
Cette approche permet de prendre en compte un grand nombre de salariés et de profiter au
maximum de la synergie entre les salariés. Cependant, elle ne tient compte ni des
préférences individuelles ni des plannings antérieurs.
La planification individuelle raisonne au niveau de chaque salarié, en s’appuyant sur :
• Les compétences individuelles,
• Les contrats temps par exemple plein temps, mi-temps ou autres,
• Les préférences individuelles pour les horaires et les durées de travail et/ou de
pauses,
• L’historique du planning afin d’assurer l’équité entre personnes au niveau des
horaires désagréables telles que les affectations tôt le matin, les affectations un jour
férié, etc.
Cela exige un calcul plus lourd et limite le nombre de personnes traitées par rapport à la
planification anonyme.
L’horizon de planification
Le planning journalier convient à l’affectation des tâches lorsque le planning est
discontinu et lorsque les tâches sont connues de façon précise. A ce niveau, on peut gérer les
pauses et déterminer qui va être affecté et quand il sera affecté.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
10
Le planning hebdomadaire est utilisé dans certains pays pour une paie hebdomadaire.
On gère le repos hebdomadaire et la durée de travail hebdomadaire.
Le planning mensuel est utile pour le calcul des coûts pour les besoins de paie.
Le planning annuel est utile pour l’annualisation des heures de travail et permet de gérer
les congés annuels ou la formation continue.
Il y a deux types de plannings : acyclique et cyclique :
Un planning est acyclique s’il est différent chaque semaine. Pour construire un planning
mensuel automatiquement, on dispose de règles qui permettent d’enchaîner les vacations
pour la même personne.
Le planning acyclique correspond à une pratique de gestion nécessitée par la demande
de service rendu. Il est typiquement utilisé dans le cas d’un besoin non satisfait, ce serait
une perte, le client pourrait se diriger vers un concurrent.
Un planning est cyclique si au bout d’une durée P, le salarié retrouve son planning de
départ. La période P est généralement mesurée en termes de semaines par exemple 4, 6, 12,
13 ou 17 semaines. Ces cycles hebdomadaires permettent de tenir compte des week-ends.
Les cycles à 13 ou à 17 semaines sont qualifiés d’annuel car ils s’effectuent un nombre fixe
de fois par an : 4 fois 13 étant 52 et 3 fois 17 donnant 51.
La planification des horaires peut être cyclique, car on ne distingue que les heures
effectuées et on confond les tâches spécifiques devant avoir lieu. Par contre, la planification
des tâches ne peut être qu’acyclique, sauf cas exceptionnel où les tâches sont répétitives
d’une semaine à l’autre.
2.5 Le facteur humain dans les plannings
Malgré les progrès de la modélisation de plannings, le planificateur a toujours un rôle à
jouer parce qu’il détient des connaissances sur le fonctionnement de l’entreprise ou de
l’équipe. Ces connaissances sont difficiles à mettre en évidence car elles peuvent résulter
des négociations ou du contexte spécifique à l’entreprise. En général, les fonctionnements
spécifiques ne sont pas pris en compte par les logiciels standards et le planificateur doit
contrôler le planning manuellement pour en assurer la conformité.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
11
Une collaboration réussie avec le logiciel de planification, doit permettre au
planificateur de participer efficacement à l’élaboration des plannings. L’interface homme-
machine joue un rôle primordial : il est indispensable pour le planificateur de comprendre
la situation planifiée dans sa globalité et ses détails. Dans la pratique le planificateur
cherche un outil qui peut rendre service dès le début, et ce, sans une formation approfondie.
Un générateur automatique de plannings doit donc admettre des pré-affectations faites
manuellement, pour que l’utilisateur puisse réagir avec les plannings automatiques. Très
souvent les diverses contraintes applicables sont contradictoires : le planificateur doit
choisir les contraintes à assouplir afin de produire des plannings.
3. Types de plannings
3.1 Plannings sportifs
L'établissement de l'horaire pour une association sportive est un travail qui doit être
repris avant le début de chaque championnat en raison des changements qui apparaissent
d'une année à l'autre.
De nombreuses fédérations sportives sont confrontées à des problèmes de planification
de matchs lors de tournois. Les règles qui régissent ces tournois sont autant de contraintes à
prendre en compte avec les exigences des équipes, les souhaits des sponsors, etc. :
minimisation des distances de déplacement, un seul match par équipe et par jour,
indisponibilité de certains stades à certaines dates, nombre minimal de jours entre le match
aller et le match retour correspondant, etc. La création de calendrier respectant ces
conditions est donc un problème très difficile.
Les approches utilisées pour résoudre certains de ces problèmes sont nombreuses, avec
des performances variables : la programmation linéaire en nombres entiers [FLE 1993,
NEM 1998], programmation par contraintes [HEN 1998], recherche locale (recuit simulé
[TER 1994], tabou [WRI 1994], recherches hybrides [COS 1995]).
J. Hamiez et J. Hao [HAM 2000] ont utilisé une approche de recherche locale avancée
fondée sur la méthode tabou. Ils ont effectué une étude expérimentale pour un problème
précis de la planification de rencontres sportives qu'ils ont modélisé sous forme de CSP
(Constraint Satisfaction Problem). Les résultats empiriques des expérimentations ont montré
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
12
que la méthode tabou est plus robuste que la programmation linéaire en nombre entiers qui
se limite à un nombre d'équipes inférieur à 12 alors que la méthode tabou proposée va
jusqu'à 22 équipes.
J. C. Régin [REG 1998, REG 1999] propose deux approches basées sur la
programmation par contraintes. La première utilisant des algorithmes de filtrage puissants,
fournit déjà de meilleurs résultats aussi bien en terme de rapidité d'exécution que de
robustesse puisqu'il résout des problèmes de tailles importantes. Dans la seconde approche,
il transforme le problème en un problème équivalant en ajoutant une contrainte
d'implication, avec une nouvelle heuristique et des algorithmes de filtrages spécifiques à
chaque type de contraintes. Ses résultats sont encore meilleurs et très impressionnants.
3.2 Plannings pédagogiques
La confection d'horaires dans les établissements scolaires est un travail difficile à
réaliser qui requiert généralement un investissement de temps considérable de la part d'une
ou de plusieurs personnes. La diversification des plans d'études, l'interdépendance des
programmes d'enseignement, l'apparition des cours à option, les exigences toujours plus
nombreuses du corps enseignant, la disponibilité limitée des salles sont telles que les
plannings scolaires deviennent avec le temps de plus en plus complexes à réaliser. Etant
donné le volume d'information à traiter, les risques d'erreurs sont importants malgré toute la
compétence et l'application des personnes impliquées. Il en résulte que des systèmes
toujours plus performants sont développés pour concevoir des horaires qui tiennent compte
de tous les éléments souhaités.
Il existe deux types de problèmes différents dans le domaine de la planification des
horaires scolaires : les horaires de cours hebdomadaires et les horaires d'examens.
De nombreux modèles et algorithmes ont été proposés dans la littérature spécialisée
pour confectionner de tels plannings. Parmi les techniques qui ont rencontré un certain
succès, citons les méthodes constructives [OST 1982], séquentielles [ABR 1991], évolutives
[COL 1996], ou d'autres méthodes plus spécifiques faisant appel à des modèles de flots
[CHA 1989], de coloration de graphes [WER 1985], de relaxation lagrangienne [TRI 1980],
et de réseaux de neurones [CAO 1991]. Schaerf [SCH 1995a] a utilisé une méthode tabou
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
13
pour résoudre ce problème. Il emploi le codage matriciel Mj,k qui contient le nom de la
classe du professeur j à la période k. Les voisinages proposés sont :
• Echanger deux cours pour un même professeur.
• Déplacer un cours à une autre période.
Pour des instances de tailles moyennes, les résultats obtenus ont été encourageants.
3.3 Plannings aériens
L’activité du transport aérien est un processus complexe qui fait intervenir des
investissements lourds, du personnel hautement qualifié et une informatique temps réel très
coûteuse.
La première richesse d’une compagnie aérienne est constituée par sa flotte. Le
problème que l’on rencontre consiste à planifier cette flotte en construisant un programme
de vol optimisé.
La planification des équipages se décompose en 2 phases : la construction de rotations
des équipages et la construction des plannings.
Bien entendu, les rotations d'équipages ne peuvent être indépendantes des rotations
des avions puisqu’un équipage qui se retrouve hors base doit bien finir par rentrer à sa base,
même si son vol retour ne s’effectue pas sur le même appareil que le vol aller. D’autres
contraintes, comme les limitations en heures de vol par exemple, régissent la construction
de rotations d'équipages. Quant aux plannings des équipages, ils sont constitués
d’enchaînements de rotations et de périodes de repos qui respectent une multitude de règles
issues du droit du travail, de conventions collectives et de normes de sécurité.
A cette intention il faut développer des outils d’aide à la décision permettant par
exemple de « croiser des vols » (échanger des avions sur des vols donnés) pour améliorer la
ponctualité, revenir rapidement à une situation normale (retour au programme) lors d’un
évènement très pénalisant (comme une fermeture de piste), ré-ordonnancer la maintenance
des avions (re-matriculation), etc.
Plusieurs méthodes ont été proposées dans la littérature spécialisée pour confectionner
de tels plannings. Parmi les techniques qui ont rencontré un certain succès, citons les
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
14
méthodes basés sur les algorithmes génétiques [DEL 1995], les réseaux de neurones [LEF
1996] ou d’autres approches [DIA 1998], [DES 2000].
4. La planification hospitalière
Les plannings hospitaliers sont des calendriers de travail où figurent à la fois le temps,
et l'affectation des personnels, - jours et horaires de travail, congés et repos -. Établis au
niveau de chaque équipe, ils sont à la fois une tâche, un document d'organisation du travail,
et un élément contribuant à la gestion administrative du personnel, prenant en compte le
droit du travail, et retentissant sur la paye. Cette tâche est parmi les plus difficiles et les plus
délicates; difficile parce que reposant fondamentalement sur la recherche de solutions à
caractère combinatoire, répondant à des contraintes multiples, remises en cause de manière
fréquente par l'absentéisme; délicate car imposant toujours une négociation avec les acteurs
(médecins, infirmiers) de l'équipe, mais aussi parfois avec la direction du service de soins et
l'administration, lorsqu'il faut trouver des remplaçants ou rémunérer des heures
supplémentaires. Le document établi est un calendrier sur lequel on inscrit les affectations
de médecins ou encore un tableau à double entrée avec en ligne le personnel et en colonne le
temps. Dans tous les cas, cela revient à représenter le temps sur une ou deux dimensions
(jours × heures), et le personnel sur une dimension.
Problème ancien, et non nécessairement propre au secteur de la santé, ces plannings ont
fait l'objet depuis longtemps, de nombreux travaux, tantôt non spécifiques, tantôt
spécifiques au secteur de la santé. Ils ont pour caractéristiques communes de relever d'une
approche faisant appel aux techniques de la recherche opérationnelle, et de n'avoir, en dépit
de leur nombre et leur ancienneté, pas conduit à des logiciels permettant l'établissement de
plannings à la fois souples et optimisés.
Aujourd'hui, l'apparition de nouvelles techniques issues principalement de l’intelligence
artificielle IA, et l'accroissement considérable de la puissance de calcul des ordinateurs,
associée aux qualités de leurs interfaces graphiques, permettent d'espérer trouver de
nouvelles solutions à ces problèmes anciens, et par conséquent de développer une
application de gestion des plannings, ayant un niveau de performance appréciable.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
15
La confection d’horaires en milieu hospitalier s’effectue aujourd’hui encore très souvent
de façon manuelle. Ces horaires doivent obéir à de nombreuses règles, d’une part les règles
des conventions collectives, mais également des règles ayant pour but de maximiser la
qualité des soins. Dépendant des établissements, l’objectif est une combinaison variable de
considérations en termes de coûts, de qualité des soins et de satisfaction du personnel. Très
souvent, les gestionnaires font face à la difficulté d’obtenir des horaires réalisables : dans un
contexte de pénurie de personnel : par exemple, pour les médecins et les infirmières, le défi
est souvent de trouver un horaire réalisable qui satisfait les contraintes de quotas pour tous
les quarts de travail de l’horizon considéré.
Le but des travaux sur la planification hospitalière concerne :
• l’amélioration des diverses techniques d’optimisation pour la confection d’horaires,
• la comparaison de ces techniques,
• la validation de modèles et de méthodes d’optimisation pour la confection
d’horaires avec différents partenaires hospitaliers.
Les approches utilisées dans la littérature spécialisée pour gérer de tels plannings sont
nombreuses avec des performances variables. Parmi ces techniques, on peut citer : la
programmation linéaire en nombres entiers PLNE, la programmation par contraintes PPC, la
recherche locale (recuit simulé, tabou, recherches hybrides), algorithmes évolutifs, …etc.
5. Types de plannings hospitaliers
a. Elaboration des roulements infirmiers
Les roulements infirmiers sont des plannings de travail qui consistent à affecter des
vacations (exemple : matin, soir, nuit) aux personnels infirmiers, pour répondre à des
exigences bien déterminées. Cette tâche est parmi les plus difficiles et les plus délicates;
difficile parce que reposant fondamentalement sur la recherche de solutions à caractère
combinatoire, répondant à des contraintes multiples, remises en cause de manière fréquente
par l'absentéisme; délicate car imposant toujours une négociation avec les infirmiers de
l'équipe. De nouvelles techniques de recherche permettent d'espérer trouver de nouvelles
solutions à ces problèmes anciens.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
16
a.1. Méthodes heuristiques de type recherche tabou [JAU 2000]
L’idée est de développer une classe d’heuristiques pouvant s’adapter facilement aux
différentes caractéristiques des unités de soins pour lesquels des horaires sont développés
(unités de soins dans un hôpital avec des tailles variables, par exemple de 10 à parfois 100
infirmières, équipe d’infirmières dans une clinique, fonctionnement journalier d’un centre
de prélèvements, fonctionnement 24h d’une urgence). Dans cette optique, l’idée est de
regarder des mouvements très locaux du type échange de quarts de travail jusqu’à des
mouvements du type changement de l’horaire d’une infirmière pour les grosses unités de
soins. Dans une première étape, les différentes variantes ou heuristiques seront développées
de façon indépendante, mais avec le souci de pouvoir les intégrer dans une même
heuristique avec des stratégies variables dans une seconde étape.
Malheureusement, la recherche tabou est une technique d'optimisation sans contraintes.
Effectivement, les transitions d'un état à un autre peuvent engendrer des violations de
contraintes, sauf si elles ont été conçues spécifiquement.
a.3. Programmation par contraintes [PES 2000]
Cette méthode permet de modéliser rapidement des contraintes complexes. Elle produit
rapidement de bonnes solutions pour les problèmes peu contraints. Elle pourrait présenter
des avantages par rapport aux approches de plus courts chemins avec contraintes de
ressources pour modéliser certaines conventions collectives.
Les auteurs de [WEI 1994] ont développé un outil de gestion de roulements infirmiers
"Gymnaste" basé sur la programmation par contraintes. L'approche proposée dans le cadre
de ce projet consiste à considérer ce problème comme relevant d'une collaboration
homme/machine intelligente: à l'utilisateur d'apprécier les facteurs humains nécessaires à la
planification et à la machine de résoudre de façon optimale le casse-tête proposé. La
véritable difficulté réside dans la nécessité de bien dissocier ce qui relève de la négociation
de ce qui relève du calcul combinatoire. L'objectif déclaré de ce projet est de développer un
outil d'aide à la décision et non pas un outil de planification rigide.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
17
b. Confection d’horaires de médecins
Dans la vie quotidienne des unités médicales hospitalières, l'organisation du service des
médecins tient à bien des égards une place critique. En effet, de sa qualité dépend
l'adéquation des compétences des médecins aux besoins et donc l'efficacité des soins, le
confort des médecins et par là même leur motivation et bien sûr également la capacité
d'optimiser les ressources humaines. Organiser le travail des médecins d'une ou de plusieurs
unités médicales, c'est mettre en regard des besoins précis (période concerné, compétences
requises, types d'horaires attendus, nombre de personnes,...) les ressources humaines
adéquates (les médecins) de façon que les contraintes réglementaires de service soient
respectées (droit aux congés, modalités d'enchaînement des horaires, indisponibilités), et
que les vœux des médecins soient satisfaits au mieux.
L'établissement du planning des médecins est une tâche complexe, longue, qui
comprend une importante dimension de négociation, mais aussi une dimension relevant du
calcul combinatoire. Le récent développement de techniques logicielles particulièrement
adaptées à la résolution de problèmes de ce type pose donc la question de l'automatisation
de ce travail. L'idée d'automatiser tout ou partie de la planification des emplois du temps des
médecins n'est pourtant pas d'aujourd'hui. Mais jusqu'à maintenant elle n'a pas débouché sur
un produit efficace et exploitable en raison de la complexité du problème traité.
b.1. Méthodes de génération de colonnes [GEN 2001]
Ces méthodes reposent sur un modèle de génération de colonnes qui consiste à
reformuler le problème de confection d’horaires comme un problème se décomposant en un
problème maître et des problèmes auxiliaires. Le problème maître contient les contraintes
relatives à l’ensemble des horaires (par exemple les contraintes de quotas) tandis que chaque
problème auxiliaire contient les contraintes relatives à l’horaire d’un médecin ou d’un
groupe de médecin avec un profil semblable. Le problème auxiliaire correspond à un
problème de plus courts chemins avec contraintes de ressources, soit avec un certain nombre
d’étiquettes associées à chacun des sommets du graphe représentant les quarts de travail de
l’horizon de planification (6 semaines par exemple). Le compromis efficacité-temps de
calcul doit faire en sorte de minimiser ce nombre d’étiquettes, et le défi consiste donc à
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
18
intégrer toutes les contraintes particulières des unités de soins avec un nombre minimum de
telles étiquettes par sommet du graphe.
Cette méthode résout alternativement le problème maître et les sous-problèmes
(problèmes auxiliaires) jusqu'à l'obtention de la solution optimale. Le problème maître peut
être résolu par l'algorithme du simplexe, qui consiste à couvrir les tâches avec un ensemble
restreint de colonnes. Les sous-problèmes génèrent des chemins à ajouter au problème
maître pour améliorer la solution courante.
La difficulté est de calculer les coûts réduits et les bornes dans le contexte de la
génération de colonnes où il faut travailler à la fois sur le problème maître et le sous-
problème.
b.2. Algorithme hybride (programmation par contraintes / recherche tabou) [GAN 2002]
L'objectif est l’application d’une méthode générique combinant programmation par
contraintes et recherche tabou à la confection d’horaires de médecins. Ce type d'algorithmes
consiste à étudier les différentes structures de voisinage, afin d’améliorer leur efficacité dans
le contexte particulier d’exploration de voisinage par énumération implicite au moyen de la
programmation par contraintes.
c. La planification sanitaire
La planification sanitaire régionale est un problème de décision multi-objectif qui
concerne l’allocation spatiale de ressources présentes en quantités finies et en majorité non
sécables (lits, scanners, postes d'hémodialyse et postes d’IRM par exemple). Il s’agit de
déterminer le nombre de sites hospitaliers entre lesquels les ressources seront distribuées, de
les localiser et de déterminer leur taille en terme de volume de ressources allouées à chacun
de ces sites. L’objectif poursuivi lors de ces choix de localisation et d’allocation est
multiple. Il concerne l’amélioration de la qualité des soins produits ainsi que de leur
accessibilité pour la population. La complexité des relations entre les différentes
composantes du système de soins, sa nature dynamique, ainsi que l'importance du caractère
politique de la décision ne permettent pas de définir de façon précise le contexte
décisionnel.
CHAPITRE I : LA PLANIFICATION DES HORAIRES DE TRAVAIL
19
Une étude des différentes méthodes, disponibles et présentées dans la littérature [JOU
1995], montre que les obstacles principaux à l'application des méthodes de planification
sanitaire proposées sont d'ordres conceptuel et technique. En effet, leur échec dans leur
application est principalement dû à trois raisons : - un manque de données structurées
concernant l’offre, la demande et la consommation des soins dans une région - un manque
d’interactivité entre le système et le planificateur - une grande rigidité du système face à
l’évolution de l’environnement.
La répartition spatiale des ressources ne peut donc s'obtenir à l'issue de l'application
d'une théorie. Ainsi, le choix d'un schéma de répartition de ressources sanitaires ne peut se
justifier qu'à partir du système de valeurs sur lequel les décideurs se sont fondés pour
l'évaluer, soit les critères, les contraintes et les préférences.
Dans [PEL 1999] l'auteur a élaboré un outil HERO (HEalthcare Resource
Optimization), interactif, évolutif et qui aide le planificateur à structurer les données. HERO
est un système interactif d’aide à la planification qui allie un Système d’Information
Géographique (SIG) et un outil de résolution. Son rôle est d’assister le planificateur dans la
phase de diagnostic de la situation sanitaire et la phase de conception de la solution.
6. Conclusion
D'après ce qu'on a vu des paragraphes précédents, on peut constater que la planification
de personnel est un processus complexe qui présente des enjeux à la fois sur le plan
économique et sur le plan social. Cette complexité s'accroît considérablement dans le
secteur des services.
Parmi tous les types de plannings cités, c'est sur les plannings hospitaliers que nous
allons porter notre intérêt, et tout particulièrement sur les plannings des médecins. Nous
nous sommes donnés comme objectif la résolution d'un problème concret de génération
d'emploi du temps hebdomadaire de médecin dans un service de radiologie dans un grand
hôpital.
Les problèmes de planification en général sont des problèmes NP-Complets; donc, tout
apport en terme d'approche de résolution ne peut qu'être bénéfique.
CHAPITRE II : CHOIX DE LA METHODE UTILSEE
20
II
CHAPITRE
Choix de la méthode utilisée
Dans ce chapitre nous commençons par présenter en bref les principales méthodes de résolution des problèmes d’optimisation (en particulier les problèmes de planification de personnel). Nous ferons une analyse de ces méthodes pour justifier le choix de l'approche utilisée.
CHAPITRE II : CHOIX DE LA METHODE UTILSEE
21
1. Introduction
Étant donnée l'importance des problèmes de planification, de nombreuses méthodes de
résolution ont été développées en recherche opérationnelle (RO) et en intelligence
artificielle (IA) pour les résoudre. Ces méthodes peuvent être classées sommairement en
deux grandes catégories : les méthodes exactes (complètes) qui garantissent la complétude
de la résolution et les méthodes approchées (incomplètes) qui perdent en complétude pour
gagner en efficacité.
Le principe essentiel d'une méthode exacte consiste généralement à énumérer, souvent
de manière implicite, l'ensemble des solutions de l'espace de recherche. Pour améliorer
l'énumération des solutions, cette méthode dispose de techniques pour détecter le plus tôt
que possible les échecs (calculs de bornes) et d'heuristiques spécifiques pour orienter les
différents choix [TAL 1999]. Parmi les méthodes exactes, on peut citer la plupart des
méthodes traditionnelles telles les techniques de séparation et évaluation progressive (SEP)
ou les algorithmes avec retour arrière. Les méthodes exactes ont permis de trouver des
solutions optimales pour des problèmes de tailles raisonnables. Malgré les progrès réalisés,
les méthodes exactes rencontrent généralement des difficultés face aux applications de
tailles importantes.
Les méthodes approchées constituent une alternative très intéressante pour traiter les
problèmes d'optimisation de grande taille si l'optimalité n'est pas primordiale. En effet, ces
méthodes sont utilisées depuis longtemps par de nombreux praticiens.
Depuis une dizaine d'années, des progrès importants ont été réalisés avec l’apparition
d’une nouvelle génération de méthodes approchées puissantes et générales, souvent
appelées métaheuristiques. Une métaheuristique est constituée d’un ensemble de concepts
fondamentaux (par exemple, la liste tabou et les mécanismes d’intensification et de
diversification pour la métaheuristique tabou), qui permettent d'aider à la conception de
méthodes heuristiques pour un problème d'optimisation. Ainsi les métaheuristiques sont
adaptables et applicables à une large classe de problèmes.
CHAPITRE II : CHOIX DE LA METHODE UTILSEE
22
Grâce aux métaheuristiques on peut aujourd'hui proposer des solutions approchées pour
des problèmes d'optimisation classiques de plus grande taille et pour de très nombreuses
applications qu'il était impossible de traiter auparavant. On constate, depuis ces dernières
années, que l'intérêt porté aux métaheuristiques augmente continuellement dans la
résolution des problèmes non polynomiaux.
Parmi les métaheuristiques on peut citer les deux grandes familles de méthodes : les
méthodes de voisinage et les algorithmes évolutifs.
Les méthodes de voisinage sont fondées sur la notion de voisinage (l'ensemble des
configurations admissibles d'un problème). Une méthode typique de voisinage débute avec
une configuration initiale, et réalise ensuite un processus itératif qui consiste à remplacer la
configuration courante par l'un de ses voisins en tenant compte de la fonction de coût. Ce
processus s'arrête et retourne la meilleure configuration trouvée quand une condition d'arrêt
est réalisée. Cette condition d'arrêt concerne généralement une limite pour le nombre
d'itérations ou un objectif à réaliser. Plusieurs méthodes de voisinage ont été développées
pour résoudre des problèmes d'optimisation; la recherche tabou et le recuit simulé sont les
plus intéressants.
Les algorithmes évolutifs (AE) doivent leur nom à l'analogie avec les mécanismes
d'évolution des espèces vivantes.
Les AE sont une classe d’algorithmes d’optimisation par recherche probabiliste basés
sur le modèle de l’évolution naturelle (voir Annexe A). Ils ont montré leur capacité à éviter
la convergence des solutions d'un problème donné vers des optima locaux, aussi bien
lorsqu’ils sont combinés avec des méthodes de recherche locale comme la rétro-propagation
du gradient [QUA 1997] que lorsqu’ils sont seuls [GOL 1989].
Quel que soit le type de problème à résoudre, les AE opèrent selon les principes
suivants : la population est initialisée de façon dépendante du problème à résoudre
(l’environnement), puis évolue de génération en génération à l’aide d’opérateurs de
sélection, de croisement et de mutation. L’environnement a pour charge d’évaluer les
individus en leur attribuant une performance (ou fitness). Cette valeur favorise la sélection
CHAPITRE II : CHOIX DE LA METHODE UTILSEE
23
des meilleurs individus, en vue, après reproduction (opérée par la mutation et/ou le
croisement), d’améliorer les performances globales de la population.
2. Analyse des approches utilisées pour résoudre les problèmes de planification
Malgré les progrès réalisés au niveau des méthodes exactes; PLNE, PPC, …, le temps
de calcul nécessaire pour trouver une solution à l'aide de ces méthodes risque d'augmenter
exponentiellement avec la taille du problème. Ces méthodes rencontrent généralement des
difficultés face aux applications de tailles importantes.
Les méthodes approchées (heuristique) constituent une alternative intéressante pour
résoudre les problèmes de planification. C'est pour cette raison qu'on a opté pour les
méthodes heuristiques, mais quelle heuristique faut-il utiliser?
2.1. Exploitation et exploration
Les inventeurs des algorithmes génétiques ont introduit les notions de l'exploitation et
de l'exploration. L’exploitation insiste sur la capacité d’examiner en profondeur des zones
de recherche particulières, alors que l’exploration met en avant la capacité de découvrir des
zones de recherche prometteuses. Ces deux notions complémentaires concernent au fait la
plupart des méthodes de recherche. Il est donc pertinent d'analyser l'ensemble des
heuristiques en fonction de ces deux notions.
Les méthodes de voisinage (recuit simulé, recherche tabou, …) entendent exploiter les
bonnes propriétés de la fonction de voisinage pour découvrir rapidement des configurations
de bonne qualité. Elles reposent sur l'hypothèse que les zones les plus prometteuses sont
situées à proximité des configurations (déjà visitées) qui sont les plus performantes. Le
principe d'exploitation consiste à examiner en priorité ces zones.
Dans les algorithmes génétiques, la sélection a pour effet de concentrer la recherche
autour des configurations de meilleures performances. Dans les méthodes de voisinage,
l'exploitation est principalement assurée par la préférence accordée à une configuration de
bonne performance dans la procédure de réparation. Plusieurs méthodes introduisent des
CHAPITRE II : CHOIX DE LA METHODE UTILSEE
24
mécanismes spécifiques supplémentaires d'exploitation : c'est le cas de l'intensification dans
la méthode tabou.
Cependant, l'application systématique du seul principe d'exploitation ne permet pas une
recherche efficace. En effet, l'exploitation conduit à confiner la recherche dans une zone
limitée qui finit par s'épuiser. Le cas de l'amélioration itérative rapidement piégée dans un
optimum local illustre cruellement ce phénomène. Une autre illustration souvent évoquée
est fournie par le problème de convergence prématurée des algorithmes génétiques
classiques: du fait de la sélection, la population finit par n'être constituée que d'individus
tous similaires. L'une des préoccupations majeures dans les algorithmes génétiques consiste
d'ailleurs à préserver le plus longtemps possible une diversité suffisante dans la population.
Face à ces difficultés, la solution consiste à diriger la poursuite de la recherche vers de
nouvelles zones, i.e., à recourir à l'exploration.
En plus de la relance, les heuristiques emploient principalement deux autres stratégies
dans le but d'explorer : la première consiste à perturber aléatoirement et la seconde à
caractériser les régions visitées pour pouvoir ensuite s'en éloigner.
La première stratégie qui est aussi la plus simple consiste à introduire des perturbations
aléatoires : c'est le cas pour les mutations aléatoires dans les algorithmes génétiques ainsi
que pour la génération aléatoire d'un voisin dans le recuit simulé. Dans les deux cas, la
configuration courante est altérée de manière aléatoire et un mécanisme d'acceptation est
appliqué a posteriori. Ces deux méthodes admettent donc en permanence des perturbations
aléatoires.
La deuxième stratégie pour explorer consiste à mémoriser au cours de la recherche des
caractéristiques des régions visitées et à introduire un mécanisme permettant de s'éloigner
de ces zones. C'est ce que fait la méthode tabou avec la liste tabou (court terme) et avec la
diversification (long terme). La recherche locale guidée reprend cette même idée. Nous
pouvons remarquer que cette seconde stratégie nécessite l'utilisation d'une mémoire.
Notons enfin que la recombinaison est parfois présentée comme une manière
supplémentaire de contribuer à l'exploration.
CHAPITRE II : CHOIX DE LA METHODE UTILSEE
25
Nous venons de voir qu'il existe différents modes d'exploration. Les heuristiques se
différencient également selon la manière dont elles font varier l'intensité de l'exploration au
cours de la recherche. Le recuit simulé présente une manière spécifique de procéder : le
niveau des perturbations aléatoires (responsables de l'exploration), est initialement fixé à un
niveau élevé et abaissé progressivement au cours de la recherche. La méthode tabou illustre
une manière très différente de doser l'exploration : un mécanisme particulier d'exploration
(la diversification) succède régulièrement à de longues phases de recherche.
La recombinaison constitue un autre principe général qui complète l'exploitation et
l'exploration. Elle consiste à construire de nouvelles configurations en combinant la
structure de deux ou plusieurs configurations déjà trouvées, c'est l'idée des algorithmes
génétiques. Des travaux récents ont montré qu'une recombinaison appropriée de solutions
peut améliorer sensiblement l'efficacité de la recherche.
La puissance d'une heuristique est d'abord liée à son aptitude à intégrer des
connaissances spécifiques du problème. La connaissance du problème la plus fondamentale
réside dans le codage du problème et dans le choix des paramètres. En général, il n'existe
pas de codage universellement efficace. Un « bon » codage doit permettre de restreindre
l'espace de recherche et d'intégrer des connaissances du problème.
Les heuristiques tentent également d'améliorer leur efficacité en incorporant des
connaissances supplémentaires dans leurs opérateurs. Plus les opérateurs d'une méthode
utilisent des connaissances spécifiques, plus la méthode dispose de moyens potentiels pour
conduire efficacement la recherche. En contrepartie, l'intégration de ces connaissances
spécifiques (en supposant que ces connaissances soient disponibles) nécessite un effort pour
spécialiser ou adapter la méthode. La méthode tabou vise à incorporer le plus possible de
connaissances du problème pour atteindre le maximum d'efficacité : l'utilisateur doit définir
de façon pertinente le type de caractéristique figurant dans la liste tabou. De leur coté, les
algorithmes génétiques se sont éloignés du modèle standard pour intégrer également des
connaissances du problème : codage non binaire, opérateurs spécifiques. Au contraire, le
recuit simulé est parfois présenté comme une méthode facile à adapter à un problème et qui
ne tente pas d'exploiter de connaissances spécifiques.
CHAPITRE II : CHOIX DE LA METHODE UTILSEE
26
En général, une méthode offrant des possibilités d'intégrer des connaissances du
problème a plus de chance de produire de bons résultats, mais demande un effort
d'adaptation et de spécialisation. Au contraire, une méthode très générale qui prétend
n'intégrer aucune connaissance propre ne peut être compétitive.
2.2. Quelle métaheuristique utiliser ?
Le premier problème pratique qui se pose à un utilisateur confronté à une application
concrète est d'effectuer un choix parmi les différentes heuristiques disponibles. Ce choix est
d’autant plus difficile qu'il n'existe pas de comparaison générale et fiable des différentes
heuristiques. Cependant, il est possible de caractériser les heuristiques selon quelques
critères généraux, ce qui pourrait faciliter ce choix. Parmi les critères les plus
représentatives citons :
• simplicité de l'heuristique, i.e. simplicité de la méthode elle-même,
• facilité d'adaptation au problème,
• possibilité d'intégrer des connaissances spécifiques du problème,
• qualité des meilleures solutions trouvées,
• rapidité, i.e., le temps de calcul nécessaire pour trouver une telle solution (sur une
machine séquentielle).
2.3. Notre Choix
Parmi toutes les approches citées, c'est sur l'approche génétique que nous avons porté
notre intérêt, ceci revient aux nombreux avantages des algorithmes génétiques. Nous
résumons ci-dessous les principaux avantages de cette approche:
• généralité et application possible à une large classe de problèmes,
• efficacité pour de nombreux problèmes,
CHAPITRE II : CHOIX DE LA METHODE UTILSEE
27
• leurs grandes robustesses; ils permettent de fournir une ou plusieurs solutions de «bonne»
qualité (pas nécessairement optimales, mais satisfaisantes en pratique) à des problèmes très
variés, en sollicitant un investissement (temps et puissance de calcul) assez faible,
• optimisation rapide de fonctions objectives quelconques sur des espaces de recherche
de grande taille,
• l’exploration parallèle de l’espace de recherche (Les algorithmes génétiques recherchent
une solution à partir d’une population de points et non pas à partir d’un seul point),
• Les algorithmes génétiques n’imposent aucune régularité sur la fonction étudiée (continuité,
dérivabilité, convexité…). C’est un des atouts des algorithmes génétiques.
• leur facilité de mise en œuvre,
• possibilité de compromis entre qualité des solutions et temps de calcul,
• existence de preuves de convergence asymptotique (Raphaël Cerf [CER 1994]
montre que l’algorithme génétique converge asymptotiquement vers tous les optima
quand la population dépasse une taille critique dépendant fortement du problème
d’optimisation),
• L’application réussite des algorithmes génétiques aux certains problèmes de
planification de personnel :
Les algorithmes génétiques pour la résolution de problèmes d’emploi du temps
des cours aux universités [BUR 1994a, BUR 1994c].
Les algorithmes génétiques pour la résolution de problèmes d’emploi du temps
des examens aux universités [FAN 1992, BUR 1995c, BUR 2000, PAQ 2001,
MER 2003, BUR 2001a].
Résolution des problèmes d’emploi du temps des employées en utilisant des
algorithmes génétiques basés sur une heuristique de réduction de conflit [KAN
2001].
Gestion des plannings aériens (planification du personnel navigant) [DEL
1995].
Un algorithme génétique parallèle pour résoudre le problème d’emploi du
temps d’une école [ABR 1992].
CHAPITRE II : CHOIX DE LA METHODE UTILSEE
28
Rappelons qu'il s'agit d'une méthode heuristique dont l'objectif n'est pas le même que
celui des méthodes exactes. En particulier, ces algorithmes ne garantissent pas de trouver
une solution optimale ni de prouver l'optimalité de la solution trouvée. Néanmoins ils ont
prouvé leur grande efficacité pour fournir des solutions approchées de bonne qualité pour un
grand nombre de problèmes de planification et d'applications réelles de grande taille. C'est
pourquoi l'étude de ces méthodes est actuellement en plein développement. En outre les
problèmes de planification étant des problèmes NP-Complets, tout apport en terme
d'approches ou de solutions ne peut que leur être bénéfique.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
29
III
CHAPITRE
Proposition d’un Algorithme génétique pour résoudre le problème étudié.
Ce chapitre est divisé en trois parties :
Dans la première on présente notre problème étudié, et les différents types de contraintes qui le caractérisent.
Dans la deuxième partie nous présentons notre algorithme génétique conçu, en donnant les choix utilisés pour définir le codage des données, l’initialisation de la population, l’évaluation des chromosomes et la procédure de sélection. Nous étudierons également, les incidences de certains paramètres comme : la probabilité de croisement, la probabilité de mutation, la taille de la population et le nombre de générations (itérations).
Dans la troisième partie, nous présentons notre application, et nous discutons les résultats obtenus en tirant les conclusions et perspectives d’une telle étude.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
30
I. PRESENTATION DU PROBLEME ETUDIE
Dans le cadre de notre étude, nous considérons un problème concret de génération
d'emplois du temps hebdomadaires de médecins dans un service au sein d'un hôpital de
taille considérable. La personne chargée de la planification dans ce service dispose d'un
certain nombre de postes et d'une équipe de médecins avec des compétences diverses à
affecter aux postes par demi-journées (matin et après-midi). Elle doit, de plus, prendre en
compte de nombreuses contraintes de différents types. Par exemple, elle dispose d'un
planning d'ouvertures des postes et de disponibilités des médecins. Dans une journée, sur
certains postes, le médecin affecté le matin doit être différent de celui affecté l'après-midi.
Chaque médecin exprime des préférences et il est graduellement compétent pour travailler
sur les différents postes. A noter également que certains médecins ne peuvent être seuls sur
certains postes tant qu'ils n'ont pas été assez formés. De plus, un médecin ne peut être
affecté plus de trois fois dans la semaine au même poste.
Ce balayage succinct montre que le problème possède des contraintes très variées. De
plus, les différentes contraintes sont classées par niveau : certaines contraintes peuvent être
relâchées (on parle alors de contraints molles) alors que d'autres doivent être maintenues
dans touts les cas de figures (elles sont dites dures).
Il est claire que la méthode de formalisation et de résolution proposée doit permettre une
gestion dynamique des contraintes : les contraintes et les types de contraintes sont
susceptibles de changer d'une semaine à l'autre.
Pour notre cas d’étude nous prenons en compte les considérations suivantes :
• Les postes sont dynamiques : ouverts, fermés, supprimés ;
ouvert : le poste fonctionne normalement.
fermé : le poste est considéré pour une période donnée -plage de fonctionnement-
comme étant fermé s'il n'y a pas suffisamment de ressources pour l'ouvrir.
supprimé : un poste est supprimé s’il n’y a pas suffisamment de ressources pour
l’ouvrir (suffisamment de médecins ou de moyens).
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
31
Un poste est considéré fermé pour un hôpital donné si ce poste a été affecté à d’autres
hôpitaux (autres que celui qui nous intéresse).
• Les plages de fonctionnement de notre système sont : le matin et l’après midi, donc
lorsqu’on affecte un médecin à un poste on l’affecte soit le matin soit l’après midi.
• Les médecins sont affectés pendant leurs périodes de disponibilité. Un médecin
peut enseigner, faire de la recherche, faire des consultations, …etc. A la fin d’une
semaine donnée, on sait quelles sont les disponibilités de chaque médecin pour la
semaine à suivre. D’où, si un médecin est toujours occupé le mercredi matin, par
exemple, il est inutile de l’affecter le mercredi matin.
• Les affectations préalables sont des affectations réalisées manuellement : par
exemple, on voudrait que pendant les deux prochaines semaines Dr. X assure le
poste scanner le samedi matin.
• Au couple (médecin, poste) on associe la compatibilité et la compétence. Un
médecin ne peut être affecté à un poste si celui-ci n’entre pas dans sa spécialité.
Pour le même poste, on a deux médecins qui peuvent l’assurer mais l’un est plus
compétent que l’autre.
• Un médecin ne peut être affecté plus de 3 fois au même poste pendant la semaine,
et pas au même poste le matin et l’après-midi dans la même journée sauf les
urgences.
• On a des préférences d’affectations de certains médecins à certain postes : si le
poste X est ouvert et si A, B, et C sont qualifiés pour ce poste, alors affecter de
préférence A sinon B et si les deux ne peuvent l’être, alors affecter C.
• Les postes sont : Urgences, Echographie1, Echographie2, Scanner, Vasculaire,
Mammographie.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
32
II. PRESENTATION DE L'ALGORITHME GENETIQUE CONÇU
D’une manière générale, on peut très bien transformer un problème d’optimisation avec
contraintes en un problème de minimisation en associant un poids ou une pénalité à chaque
violation de contrainte. Cette violation est incluse dans l’évaluation de la fonction
d’adaptation.
Avec cette méthode, quand une contrainte est violée, la valeur de la fonction
d’adaptation est pénalisée d’un montant en fonction de la violation de cette contrainte.
Lorsque toutes les contraintes sont satisfaites, le phénotype de l’individu correspondant est
dit solution du problème posé.
Pour appliquer la méthode génétique à notre problème, on présentera les choix utilisés
pour définir le codage des données, l’initialisation de la population, l’évaluation, les
opérateurs génétiques et la procédure de sélection.
II.1 Alphabet de codage et fonction d’adaptation
Le codage des solutions potentielles sous forme de chromosomes et le calcul de leurs
adaptations (fitness) sont les deux parties essentielles pour la réussite de tout algorithme
génétique.
a. L’alphabet de codage
Le codage dépend étroitement du problème à résoudre. En effet, sa définition permet de
cerner l’espace des solutions possibles. Ce codage doit, de plus, être aussi compact que
possible pour permettre une évolution rapide.
Principalement, le codage binaire est le plus commun, car les premiers travaux,
appliquant les algorithmes génétiques, ont utilisé ce type de codage. Pour notre problème,
l’utilisation du codage binaire est d’une difficulté qui complique le décodage des solutions.
Dans cette optique, nous avons opté pour un codage direct des solutions ; chaque gène
correspond à l’affectation d’un médecin à un poste dans une période de travail (voir figure
1).
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
33
Poste: Echographie1
Poste: Mammographie
Samedi Dimanche Lundi Mardi Mercredi Samedi Dimanche Lundi Mardi Mercredi
M A.M M A.M M A.M M A.M M A.M M A.M M A.M M A.M M A.M M A.M
C A B # A # D C # B # D C # F B E # A #
Figure 1 : Le codage choisi pour la représentation des solutions.
Dans l’exemple de la figure 1, les lettres A, B, C, … correspondent aux noms réels des
médecins. Le docteur C est affecté au poste Echographie1 le samedi matin, et le mardi
après-midi, et il est affecté au poste Mammographie le dimanche matin. La valeur # pour un
gène signifie que le poste est fermé pendant cette période; par exemple, le poste
Echographie1 est fermé le dimanche après-midi.
Dans cette représentation, la taille N du chromosome, sera calculée comme suit :
N = nombre de jours de travail par semaine
× nombre de périodes de travail par jour
× nombre de postes (services)
Dans notre cas :
Nombre de jours de travail par semaine = 5 (du samedi au mercredi)
Nombre de périodes de travail par jour = 2 (le matin et l’après-midi)
Nombre de postes (services) = 6.
Donc la taille du chromosome est 60.
Les chromosomes des individus qui vont constituer la population à chaque génération
sont des tableaux de 60 éléments. Ce codage a été très bien adapté à notre problème,
puisqu’il nous a permis d’éviter le réajustement dans la procédure du décodage des
solutions obtenues, tant que le chromosome solution sera lu directement comme une
affectation des médecins à des postes.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
34
b. La fonction d’évaluation
Il est clair que la fonction d’évaluation ne peut être universelle à tous les problèmes
d’optimisation avec contraintes; car, c’est à ce niveau que sont gérées les contraintes.
Celles-ci étant diverses, l’efficacité de l’algorithme dépendra donc du problème à traiter. En
effet, même si l’approche stochastique des algorithmes génétiques permet de trouver des
solutions pour des problèmes très contraints en un temps raisonnable, les tests associés à la
vérification de ces contraintes affectera à coup sûr le temps imparti à tout l’algorithme.
Rappelons qu’il faut impérativement minimiser le nombre de contraintes violées, et dans le
meilleur des cas rendre cette violation nulle.
Pour notre algorithme, nous avons opté pour la fonction d’évaluation pénalisante, où le
poids de chaque contrainte change dynamiquement suivant le nombre de violations de cette
contrainte par une instanciation I donnée du problème.
∑=
=m
iii )I,C(Fwff
1
Où m est le nombre total de contraintes, et
= sinon1
Csatisfait I si0 ii )I,C(F
wi est le poids associé à la contrainte Ci. Il est calculé comme suit :
wi = pi × NbVi où Pi est un poids constant associé à chaque contrainte suivant son
importance (on associe un poids élevé aux contraintes dures et un poids conséquent aux
contraintes molles), et NbVi est le nombre de violations de la contrainte Ci par
l’instanciation I (voir paragraphe suivant).
Le but principal de l’algorithme est de minimiser la fonction d’évaluation. On ne
parlera de solution du problème que si cette fonction est égale à zéro.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
35
c. Modélisation des contraintes
Comme nous l'avons vu au début de ce chapitre, notre problème est doté de plusieurs
contraintes. On peut les diviser en deux catégories, les contraintes qui doivent être
accomplies sous toutes les circonstances (contraintes dures) et les contraintes qui devraient
être accomplies si possible (les contraintes molles) ;
Les contraintes dures
1. Un médecin ne peut être affecté à 2 postes différents à la même période.
2. Ne pas affecter un médecin à un poste qui n’entre pas dans sa compétence.
3. Ne pas affecter un médecin dans une période où il n’est pas disponible.
Les contraintes molles
4. Un médecin ne peut être affecté plus de 3 fois au même poste pendant la semaine.
5. Un médecin ne peut être affecté au même poste le matin et l’après-midi dans la
même journée sauf les urgences.
6. Contrainte de préférence d’affectation de certains médecins à certains postes : si le
poste X est ouvert et si A, B, et C sont qualifiés pour ce poste, alors affecter de
préférence A, sinon B, et si les deux ne peuvent l’être, alors affecter C.
7. Un médecin débutant (junior) ne peut être seul dans un poste; il faut qu’il soit
accompagné d’un senior (médecin confirmé).
Calcul du nombre de violations NbVi de chaque contrainte
Soit NbVi (i=1..6) le nombre de violations de chaque contrainte pour une instanciation
donnée I :
1. NbV1(I) = ∑=
NbMédecins
1jj,I)NbConflit( où NbMédecins est le nombre de médecins total, et
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
36
>
=
période) même la à différents postesk à affectéest Jmédecin (le conflitsk ay ils' 0)(kk
donnée. période une dans fois seule une affectéest jmédecin le d-à-cconflit de pas ay n ils' 0
I)j,NbConflit(
Par exemple si le médecin D est affecté 2 fois le samedi matin, alors NbConflit(D,I)=2,
et s’il est affecté aussi 2 fois le lundi l’après-midi, alors NbConflit(D,I)=4.
2. NbV2(I) = ∑=
N
1jI),Poste(j),Médecin(j) Apte( où N est la taille du chromosome
Médecin(j) retourne le médecin travaillant la période j, dans l’exemple de la figure 1,
Médecin(7) = D (le médecin travaillant au poste échographie1 le mardi matin). Poste(j)
retourne le poste correspondant à la période j dans le chromosome représentant
l’instanciation I, donc pour j=1..10 Poste(j)=Echographie1, …, pour j=51..60
Poste(j)=Mammographie, dans l’exemple de la figure 1, Poste(7)=Echographie1.
=sinon 1
Iion instanciatl'pour médecin x du scompétence les dans entrey poste le si 0 I)y, Apte(x,
Par exemple Apte(D,Echo1,I) = 0 si le médecin D est compétant pour travailler au poste
Echographie1.
Pour une instanciation donnée I, NbV2(I) représente le nombre de médecins affectés à des
postes qui n’entrent pas dans leurs compétences.
3. NbV3(I) = ∑=
N
1j),I),Période(jMédecin(j) (Disponible
Période(j) retourne la période correspondant dans le chromosome, par exemple
Période(7) = le mardi matin.
=sinon 1
Iion instanciatl'pour p période la à disponibleest médecin x le si 0 I)p, (x,Disponible
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
37
Pour une instanciation donnée I, NbV3(I) représente le nombre de médecins affectés à des
périodes où ils ne sont pas disponibles.
4. NbV4(I) = ∑∑==
NbMédecins
1k
NbPostes
1jI),Médecin(k)Poste(j), s(PlusDeTroi où
NbPoste est le nombre de postes considérés dans l'étude,
=fois) troisde (plussinon 1
Iion instanciatl' dans x,posteau moinsou fois troisaffectéest y médecin le si 0 I) y,s(x,PlusDeTroi
Pour une instanciation donnée I, NbV4(I) représente le nombre de médecins affectés plus de
trois fois à un même poste.
5. NbV5(I) = ∑∑==
NbJours
1k
NbPostes
2I)Jour(k),(j),Midi(PosteMatinAprès
joù
NbPoste est le nombre de postes considérés, et j commence de 2 pour exclure le poste des
urgences.
= sinon 1
Iion instanciatl'pour x posteau y jour du midi-aprèsl'et matin le affectémédecin un ay ils' 0
I)y,Midi(x,MatinAprès
6. NbV6(I) = ∑=
N
1jI),Poste(j),Médecin(j) (Préférence où N est la taille du chromosome, et
+
=
poste lepour compétant 1)(k le comme classéest médecin x le sik ...
poste lepour compétant 3 le comme classéest médecin x le si 2poste lepour compétant 2 le comme classéest médecin x le si 1
y poste lepour compétant plus leest médecin x le si 0
I)y,s(x,Préférence
ème
ème
ème
d. Structure de données
L’individu sera représenté par un tableau de N éléments représentant les gènes
(médecins).
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
38
La population sera un tableau d’individus. Nous aboutissons donc à une structure de
matrice POP :[1..taille, 1..N], où taille sera la taille de la population et N la taille du
chromosome.
II.2 Initialisation de la population
La genèse de la population initiale se fera de manière totalement aléatoire, ce qui
convient parfaitement aux problèmes de plannings ; car, rappelons-le, il s’agit de problèmes
dont on ne connaît souvent aucune solution préalable à améliorer, et pour lesquelles il est
difficile d’imaginer une solution admissible.
Nous avons donc choisi de générer des solutions qui satisfont le plus possible de
contraintes. Notre démarche consiste à intégrer une méthode de propagation de contraintes
avant l'étape de génération de la population initiale, afin de réaliser un filtrage pour réduire
l’espace de recherche. Les domaines des variables sont déjà substantiellement réduits par la
propagation des contraintes posées qui assure l’arc-consistance1
• Choisir aléatoirement deux individus dans la population (procédure coupler),
du problème, ce qui évite à
l’algorithme de prospecter des zones de recherche où il n’y a pas de solutions.
II.3 Les opérateurs utilisés
a. La sélection
Dans une première phase, nous avons opté pour la sélection par tournoi (voir Annexe
A). Ce type de sélection permet de maintenir une certaine diversité dans la population. Une
technique simple consiste à :
• Comparer leur fonction d’évaluation,
• Prendre le meilleur et l’ajouter à la population intermédiaire.
Comme il a été déjà établi, la variance de cette méthode est malheureusement assez
élevée. Il est possible qu’un individu, de mauvaise qualité, soit sélectionné pour la 1 Le filtrage par consistance d'arc consiste à éliminer les éléments qui ne peuvent trivialement figurer deux à deux dans aucune solution.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
39
reproduction autant de fois qu’il y ait d’individus à remplacer. Il est possible également
qu’un individu ayant une bonne valeur d’adaptation, ne soit jamais sélectionné. Par
exemple, si les deux individus choisis par le tournoi sont très bons (très faible valeur de la
fonction d’évaluation), le moins bon des deux est rejeté. Ce même individu qui a été rejeté
peut être meilleur que tous les autres individus sélectionnés, mis à part celui contre qui il a
combattu. Ce phénomène est responsable de la dérive génétique qui permet à certains
individus de survivre au déterminant d’individus meilleurs.
Pour limiter ce risque, concernant le meilleur individu, la formation des couples qui
entrent en compétition est améliorée de façon à donner la même chance à chaque individu
pour être sélectionné. De cette manière, on est assuré que le meilleur individu sera
sélectionné pour la génération intermédiaire. La procédure coupler est changée, de façon à
ce que tous les individus soient concernés par la formation des couples d’individus.
Concernant la déperdition des bons éléments, nous avons opté pour une opération de
marquage des individus de façon à pouvoir inclure systématiquement les n meilleurs
individus dans la population intermédiaire (dans le cas où ils ne l’ont pas été) et on en retire
aléatoirement n autres (ou moins, s'il y a déjà des individus parmi les n meilleurs qui ont été
déjà choisis par la sélection) parmi les moins bons. n est un paramètre qui dépend de la taille
de la population et qui est suffisamment petit pour éviter une forte pression de sélection
(trop de bons éléments) ; ce qui mènerait inévitablement à une convergence prématuré de
l’algorithme, autrement dit, on se retrouve bloqué dans un optimum local. Après plusieurs
essais (n= de 5% à 20%), n est pris égale à 10% de la taille de la population. Ce quota étant
significatif sans pour être trop élevé.
Justification du choix
Nous avons essayé, à ce niveau, de combiner les avantages de la technique élitiste
(garder les meilleurs individus dans la population intermédiaire) et celle de la sélection par
tournoi (qui garantit une certaine diversité dans la population) tout en évitant les
inconvénients de l’une et de l’autre.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
40
• On évite la trop pression de sélection (élitisme) : une sélection se basant uniquement sur
le choix des meilleurs individus augmente la probabilité que l’algorithme soit bloqué
dans un optimum local.
• On évite que le ou les meilleurs individus ne soient pas sélectionnés, ce qui minimise
les chances de l’algorithme de converger vers l’optimum global.
b. Le croisement
Il consiste en l’obtention de deux nouveaux individus en combinant deux individus
parents. Nous avons procédé à un croisement simple en un point. Le point de croisement est
choisi aléatoirement. Malheureusement au cours de l’implémentation de notre algorithme,
nous avons constaté que la contrainte N°5 (Un médecin ne peut être affecté au même poste
le matin et l’après-midi dans la même journée) est presque tout le temps violée. D’où, afin
d’éviter de générer des solutions qui ne satisfont pas cette contrainte, nous avons choisi une
valeur paire pour le point de croisement, afin que les éléments échangés entre les deux
individus parents soit des bloques de journées et non des demi-journées (voir figure 2).
Scanner Scanner
Samedi Dimanche Lundi Mardi Mercredi Samedi Dimanche Lundi Mardi Mercredi
M A.M M A.M M A.M M A.M M A.M M A.M M A.M M A.M M A.M M A.M
Parent 1 : B A D # # B E # C E B A D # # A C D C # Enfant 1
Parent 2 : A F # D B A C D C # A F # D B B E # C E Enfant 2
Figure 2.a : Exemple d'un point de coupure qui entraîne la violation de la contrainte N°5,
(le médecin b est affecté au poste scanner le matin et l’après-midi la même journée : le lundi)
Parent 1 : B A D # # B E # C E B A D # # B C D C # Enfant 1
Parent 2 : A F # D B A C D C # A F # D B A E # C E Enfant 2
Figure 2.b : Point de coupure qu'assure la satisfaction de la contrainte N°5,
Figure 2 : Exemple de croisement à « un point ».
violation de contrainte Point de croisement = 15
Point de croisement = 16
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
41
Après plusieurs essais, la probabilité de croisement Pc a été choisie égale à 0.8. Nous
sommes partis de la valeur 0.5, la population avait tendance à s’uniformiser trop tôt,
aboutissant souvent à l’arrêt de l’algorithme sans trouver de solutions, le nombre de
générations prévues étant atteint. Plus on augmentait Pc, et meilleurs étaient les résultats,
jusqu’à 0.85, valeur au bout de laquelle une légère détérioration de la solution a été
observée. Les meilleurs résultats ont été observés pour des valeurs entre 0.75 et 0.85 et nous
avons donc choisi la valeur 0.8 comme probabilité de croisement.
c. La mutation
Pour une première phase, nous avons opté pour une mutation de ce type :
• Choisir aléatoirement une position dans le chromosome,
• Changer la valeur du gène correspondant à la position. Ce changement se fera en
tirant au hasard une valeur du domaine de la variable considérée (le domaine est
l’ensemble des médecins qualifiés pour ce poste et disponibles à cette période), la
nouvelle valeur doit être différente de l’ancienne.
Ensuite, nous avons essayé d’améliorer essentiellement le choix du point de mutation.
Ce choix qui était purement aléatoire, nous avons choisi, dans le chromosome, le gène ayant
comptabilisé le maximum de violation de contraintes (surtout les contraintes dures) et de le
muter, avec une probabilité Pm, à une autre valeur choisie parmi les valeurs restantes dans
son domaine (médecins disponibles à cette période et qualifiés pour ce poste). En tenant
compte des préférences d’affectation des médecins, et pour maintenir la contrainte N°5, il
faut que le médecin choisi n'ait pas été affecté à ce poste le période complémentaire de la
journée.
Là aussi, nous avons essayé plusieurs probabilités Pm , la valeur qui à donné les meilleurs
résultats est 0.2.
II.4 Condition d’arrêt
L’algorithme génétique, suivant un processus stochastique, il n’y a aucune certitude à
ce qu’il trouve une solution et encore moins une solution optimale. Pour palier à ces
éventualités, notre algorithme s’arrête si :
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
42
• La somme des violations des contraintes est nulle, ou que la fonction d’évaluation
n’évolue plus sur plusieurs générations.
• On arrive au nombre de générations maximum, le nombre de génération NbGenMax
étant arrêté à l’avance (en fonction de la taille du problème).
II.5 Les étapes de notre algorithme génétique
Le principe de base de notre algorithme génétique est de simuler l’évolution d’une
population de solutions en suivant les règles citées ci-dessus, en vue d’obtenir une solution
optimale (violations nulles), ou un ensemble de solutions les plus adaptées au problème à
résoudre.
Figure 3 : Etapes de l'algorithme génétique proposé.
A chaque génération, un nouvel ensemble de solutions est créé en utilisant les phases :
évaluation, sélection, croisement et mutation de manière itérative sur P(t) (la figure 4
schématise un tel fonctionnement) jusqu’à satisfaction de la condition de fin (fonction
d’adaptation atteint sa meilleure valeur ou le nombre de génération dépasse NbGenMax).
P(t) étant la population à la génération t.
GENERER_POP {génération de la population initiale}
t :=0 ;
EVALUER (P(t)) ; {évaluation des individus}
Tant que (condition de fin non vérifiée) faire {fadaptation=0 ou t=NbGenMax}
Début
t :=t+1 ;
SELECTIONNER P(t) parmi P(t-1) ; {sélection des individus}
RECOMBINER (P(t)) ; {croisement et mutation}
EVALUER (P(t)) ; {évaluation des nouveaux individus}
Fin ;
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
43
Une nouvelle population est ainsi produite. Le processus sera répété jusqu'à ce qu'une solution admissible soit trouvée.
ff = x
×
Initialisation
Évaluation
Sélection
Opérateurs (croisement & mutation)
Une population initiale des plannings est créée aléatoirement.
Chaque planning est évalué selon un ensemble de critères (nombre de violation de contraintes, …)
Des plannings sont aléatoirement sélectionnés pour être la base de la prochaine génération. Les meilleurs plannings sont favorisés.
L'opérateur de mutation change aléatoirement un médecin dans une période…
L'opérateur de croisement prend des paires de plannings, les recombine pour produire un nouveau planning.
Figure 4 : Les différentes étapes de l'Algorithme proposé.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
44
III. IMPLEMENTATION ET EXPERIMENTATION
Ce travail vise à mettre au point et à expérimenter un logiciel d'aide à la planification
hospitalière et donc d'aide à la décision. Pour les utilisateurs, ce logiciel a comme objectifs :
• Aide à l'élaboration des plannings,
• Gain de temps,
• Transmission des éléments destinés à la gestion du personnel.
Notre but est de créer un emploi du temps cyclique dont la période de base est la
semaine et est destiné à un personnel intervenant dans un service d’un hôpital. La figure 5
suivante schématise un exemple d'un tel planning.
Jour Poste Samedi Dimanche Lundi Mardi Mercredi
Matin
Urgences Keldasni Seguir Djaba Bouasla Djaba Echo1 Rahim Rahim Mahdi Fraga Echo2 Seguir Mahdi Abaidia Seguir Benseguir
Vasculaire Fraga Aksa Fraga Keldasni Zaimen Scanner Zaimen Ouaness Seguir Batouri Seguir Mammo Boutéraa Keldasni Rahim Rahim
Après-midi
Urgences Rahim Keldasni Keldasni Seguir Seguir Echo1 Nasri Ouaness Nasri Benseguir Echo2 Abaidia Ouaness Fraga Mahdi Nasri
Vasculaire Keldasni Aksa Keldasni Scanner Ouaness Zaimen Abaidia Abaidia Batouri Mammo Fraga Djaba Djaba Boutéraa
Figure 5 : Exemple de planning hebdomadaire généré par notre algorithme.
Pour réaliser un tel emploi du temps, nous disposons de données associées à chaque
intervenant et à chaque service. Ces données par leur structure engendrent des contraintes.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
45
Ces contraintes sont formalisées puis résolues par le moteur existant (l’algorithme
génétique). Nous obtenons alors un planning qui s’affiche via une interface graphique.
Figure 6 : Interface principale.
Notre démarche a été découpée en deux grandes parties :
1. Implémentation de l’algorithme génétique (le moteur).
2. Les interfaces utilisateurs : interface d’entrée et interface de sortie. L’interface
d’entrée permet à un utilisateur d’injecter des informations concernant le personnel
et les services.
Pour chaque médecin, il lui est associé un nom et une fonction et ces compétences (il
peut intervenir dans certains postes et pas dans d’autres). Une fois ces éléments précisés, la
fenêtre suivante (figure 7) permet d’indiquer les disponibilités et les pré-affectations des
médecins (par exemple, pour des vacations fixes). Ces pré-affectations peuvent être
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
46
propagées sur un certain nombre de semaines : par exemple si un médecin intervient dans le
poste «Scanner» tous les mercredis après-midi, nous le générons automatiquement.
Figure 7 : Pré-affectations d’un membre du personnel.
Pour les postes, il est possible de définir des ouvertures et de les propager sur plusieurs
semaines consécutives (par exemple un poste sera considéré comme fermé s’il est
systématiquement «prêté» à un autre hôpital tous les Lundis après-midi). La fenêtre suivante
(figure 8) indique par exemple que pendant la semaine 20, le poste Vasculaire est ouvert
toute la semaine sauf le lundi après-midi.
Figure 8 : Ouverture d’un service.
CHAPITRE III : PROPOSITION D’UN AG POUR RESOUDRE LE PROBLEME ETUDIE
47
Quelques résultats
Nous avons exécuté notre programme sur un micro-ordinateur Pentium IV dont la
vitesse d’horloge est de l’ordre de 1700 MHz. Le tableau N° 2 montre le temps d’exécution
de notre algorithme pour quelques instanciations de notre problème.
Les 60 premières colonnes de notre tableau synthétique suivant représentent les gènes
(des emplois du temps hebdomadaires); chaque numéro correspond à un nom réel d'un
médecin. D'où, un gène représente l'affectation d’un médecin à un poste dans une période
donnée. La dernière colonne indique la valeur d’adaptation de chaque individu. La valeur #
pour un gène signifie que le poste est fermé pendant cette période.
CHAPITRE III : PROPOSITION D’UN AG POUR LA RESOLUTION D’UN PROBLEME DE PLANNING
48
Chromosome Fitness
4 9 12 # # 7 4 6 3 13 1 13 4 10 14 1 10 13 7 15 7 1 7 1 7 6 1 10 # 11 5 5 10 15 15 3 3 9 9 10 13 3 9 5 13 11 5 5 13 4 10 4 5 4 2 5 9 4 2 # 17
4 2 6 # # 4 9 7 2 7 13 13 1 14 4 10 15 13 13 1 7 10 10 6 6 14 14 14 # 5 15 3 5 5 9 3 3 15 5 11 6 5 11 8 13 11 13 9 8 10 9 4 15 4 5 2 5 5 9 # 37.4
6 6 3 # # 8 8 2 2 1 7 1 14 4 7 15 1 4 14 15 10 10 1 7 15 14 6 7 # 11 9 15 5 15 9 11 5 9 3 8 13 5 11 13 6 5 10 13 13 10 2 4 10 10 2 2 2 15 10 # 15.3
8 8 4 # # 3 4 3 12 7 10 10 7 7 10 7 7 14 13 14 6 13 15 14 6 10 10 10 # 5 11 11 3 11 11 5 9 9 11 9 9 5 8 10 8 8 6 13 3 10 4 9 9 15 9 15 5 15 4 # 45.9
3 8 6 # # 7 7 8 12 15 10 7 13 4 1 10 4 10 10 13 6 15 1 6 7 15 14 14 # 5 15 9 11 3 9 5 15 15 9 11 8 6 9 9 3 13 11 6 11 10 5 5 4 2 5 4 9 9 4 # 28.9
9 6 7 # # 7 3 6 7 14 4 15 15 10 14 4 7 1 14 15 15 10 10 7 13 15 14 15 # 11 3 11 11 3 15 3 9 9 9 8 5 3 8 11 9 10 13 11 3 9 10 9 9 5 4 9 15 4 5 # 42.5
6 8 7 # # 12 6 3 4 4 10 10 4 14 15 13 7 10 1 14 13 14 6 6 1 1 14 1 # 9 3 3 11 9 9 10 15 9 10 6 8 5 8 5 6 11 8 5 6 10 15 15 2 10 2 9 10 15 9 # 17
4 7 12 # # 12 9 9 3 15 13 14 15 7 1 14 1 7 7 13 6 1 7 1 14 13 6 10 # 10 5 3 9 10 5 5 10 11 5 5 11 5 8 9 6 6 8 6 11 4 2 4 4 4 10 2 4 15 9 # 17
12 4 6 # # 7 6 7 6 10 7 1 15 15 1 4 13 13 10 13 1 10 10 7 13 1 10 15 # 11 3 11 5 9 9 9 5 9 15 5 9 5 3 11 10 3 9 3 3 9 10 2 2 4 4 15 4 4 5 # 23.8
8 12 7 # # 7 4 7 4 10 7 1 13 4 13 13 10 4 1 7 14 10 14 7 14 14 1 1 # 15 3 5 5 11 15 10 9 11 11 11 10 3 6 5 6 3 8 13 5 5 15 9 9 2 2 4 15 5 10 # 27.2
12 8 9 # # 8 9 6 2 1 13 4 13 15 4 7 13 7 1 7 6 14 7 10 14 6 14 10 # 11 3 11 10 11 5 15 11 11 15 5 9 5 11 8 11 11 3 13 5 9 5 2 2 2 15 5 15 15 4 # 28.9
12 12 2 # # 3 7 2 7 13 1 14 10 14 14 13 13 10 14 10 14 10 7 13 13 7 15 7 # 15 11 11 15 9 9 15 5 15 15 5 8 5 5 10 5 9 9 5 8 9 5 15 4 2 10 4 4 4 2 # 49.3
8 2 9 # # 8 2 4 3 13 15 4 15 13 14 13 15 1 7 15 1 15 14 1 15 15 13 7 # 3 3 11 10 9 3 5 9 5 9 10 9 13 3 8 11 10 6 13 5 2 2 9 5 4 5 4 10 10 15 # 27.2
7 12 8 # # 4 9 9 12 14 4 7 13 13 10 15 14 13 1 13 6 15 1 1 15 13 13 14 # 9 10 11 15 5 5 5 11 5 9 11 13 13 10 11 6 10 8 6 8 2 15 10 2 4 4 9 5 15 5 # 30.6
8 12 8 # # 12 3 7 8 14 4 1 4 15 15 10 4 1 7 10 13 13 6 10 14 7 1 13 # 5 9 10 15 5 11 9 9 3 3 3 6 11 3 3 8 5 6 11 10 15 15 2 5 2 5 2 15 15 2 # 30.6
4 12 7 # # 12 7 3 12 14 1 14 14 10 7 1 1 4 13 13 15 13 15 1 1 15 14 15 # 10 9 9 5 11 5 9 3 9 5 9 11 3 3 8 11 3 9 11 6 4 5 10 2 9 4 2 15 5 4 # 18.7
4 8 7 # # 9 9 12 7 1 10 10 1 4 10 4 14 4 1 15 13 7 6 7 6 7 13 1 # 11 3 11 11 11 9 5 15 9 10 10 9 9 10 8 3 10 5 8 5 4 5 2 5 9 5 15 2 2 9 # 13.6
8 12 7 # # 9 4 2 9 13 13 14 1 4 4 13 13 13 7 10 6 7 13 13 15 14 6 1 # 9 5 10 11 9 9 11 15 11 15 6 3 11 3 5 8 5 5 8 6 15 9 4 10 15 10 4 10 15 4 # 37.4
4 9 4 # # 9 12 6 4 10 10 7 7 13 14 15 1 1 15 1 13 1 10 15 6 1 6 14 # 15 3 5 9 9 11 5 9 3 9 11 5 13 8 11 5 3 11 5 5 2 9 10 15 10 4 4 15 10 2 # 18.7
2 12 2 # # 3 12 6 12 10 7 7 1 14 14 13 10 15 10 1 6 10 10 15 6 1 7 14 # 3 10 5 5 9 11 15 3 9 9 5 11 11 11 3 5 9 9 8 13 9 15 15 15 2 9 10 4 2 4 # 35.7
Tableau N°1 : Exemple de population.
CHAPITRE III : PROPOSITION D’UN AG POUR LA RESOLUTION D’UN PROBLEME DE PLANNING
49
Nombre de médecins
Taille de la population
Nombre de générations
Valeur d’adaptation
(Fitness)
Temps de calcul (S)
100 500 20 80 2
120 700 50 75 3
140 800 80 60 5
160 900 100 40 7
180 1000 2000 28 24
200 1100 2700 20 26
220 1200 2900 20 28
240 1500 3000 12 31
Tableau 2 : Résultats obtenus par notre algorithme génétique sur quelques instanciations du problème.
Dans ce tableau, la colonne N°3 indique le nombre de générations (NbGen) au bout
duquel on a atteint la meilleure solution possible. Ce nombre est au plus égal au nombre
maximum de génération (NbMaxGen).
Convergence de l’algorithme
Afin de valider notre approche, nous avons expérimenté notre algorithme génétique sur
un cas réel possédant un vaste espace de recherche (au niveau de deux grands hôpitaux
publiques à la wilaya de Annaba : Ibn Rochd et Ibn Sina).
Le comportement de notre algorithme est visualisé en figure 9, où la courbe continue
indique la valeur d'adaptation du meilleur individu (le plus adapté) et la courbe en pointillé
représente la moyenne des fonctions d'adaptation de l'ensemble d'individus.
On peut constater de la figure 9 que l’amélioration de la population est très rapide au
début (recherche globale) et devient de plus en plus lente à mesure que le temps passe
(recherche locale). Le bruit dans la moyenne est essentiellement dû aux mutations. On voit
CHAPITRE III : PROPOSITION D’UN AG POUR LA RESOLUTION D’UN PROBLEME DE PLANNING
50
que la valeur moyenne de la fonction d’adaptation a tendance à se rapprocher de celle de
l’individu le plus adapté. Cela correspond à une uniformisation croissante de la population.
0
10
20
30
40
50
60
70
80
90
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
moyennemeilleur individu
Figure 9 : Convergence de notre algorithme.
D’après De-Jong [DEJ 1975], quand la solution fournie par un algorithme génétique est
optimale, la population a tendance à s’uniformiser; c’est à dire que la majeure partie des
individus devient identique. C'est le cas dans notre algorithme, où nous remarquons une
tendance à la minimisation de la valeur d’adaptation (Fitness). De plus, les deux courbes se
rapprochent ce qui s’interprète par l’uniformisation de la population et constitue une preuve
de convergence.
Conclusion
Nous avons présenté une méthode d’optimisation où la résolution d’un problème de
planification de personnel hospitalier est réalisée par un algorithme génétique. Nous avons
constaté que l’algorithme défini initialement ne conduit pas à une convergence assurée et ne
donne pas les résultats attendus. Cependant, l’efficacité de l’algorithme à été
considérablement améliorée en utilisant des opérateurs plus appropriés au problème étudié.
Cette efficacité repose sur les éléments suivants :
Génération
Fonction d'adaptation
CHAPITRE III : PROPOSITION D’UN AG POUR LA RESOLUTION D’UN PROBLEME DE PLANNING
51
Une meilleure sélection qui combine les avantages de la technique élitiste (garder les
meilleurs individus dans la population intermédiaire) et celle de la sélection par
tournoi (qui garantit une certaine diversité dans la population) tout en évitant les
inconvénients de l’une et de l’autre.
Un croisement approprié un point. Ce point est choisi de manière à éviter de générer
des solutions qui ne satisfont pas certaines contraintes.
Une mutation adoptée, où le choix du point de mutation consiste à chercher le gène
ayant comptabilisé le maximum de violation de contraintes, et de le muter à une
autre valeur choisie parmi les valeurs restantes dans son domaine.
Les propositions d’amélioration, sur l’algorithme de base, que nous avons formulées
nous ont permis de garantir la convergence de l’algorithme amélioré vers des solutions de
bonnes qualités.
Nous pouvons donc conclue que l'expérience que nous venons de mener avec un
planning hospitalier est assez enrichissante, nous pensons même qu'elle est très bien
adaptable à beaucoup d'autres plannings et sans prétention aucune à certains problèmes Np-
Complets dont l'énoncé est essentiellement basé sur les contraintes.
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
52
IV
CHAPITRE
Gestion des conditions intempestives
Ce que l'on entend par conditions intempestives au sein d'un planning est la défaillance d'une ou de plusieurs ressources à un moment de la réalisation de ce planning.
La question légitime qui se pose alors, est faut-il rejeter totalement le planning réalisé? Un bon concepteur, ne doit en aucun cas permettre une telle fatalité.
Ce que l'on se propose dans ce chapitre, est d'essayer justement d'apporter des éléments de réponses à de tels questionnements.
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
53
1. Introduction
Comme nous l'avons précisé dans l'introduction générale, élaborer un planning dans
n'importe quel milieu est un gros problème ; prendre en considération les conditions
intempestives qui peuvent subvenir en est un autre !
Très peu de plannings réalisés dans la littérature prennent en considération ce phénomène
vu sa difficulté en terme de formalisation et la complexité de la méthode de résolution si
celle-ci existe.
Ce que l'on entend par conditions intempestives au sein d'un planning est la défaillance
d'une ou de plusieurs ressources à un moment de la réalisation de ce planning.
La question légitime qui se pose alors, est faut-il rejeter totalement le planning réalisé ? Un
bon concepteur, ne doit en aucun cas permettre une telle fatalité.
Ce que l'on se propose, justement, de réaliser dans cette partie, est d'essayer d'apporter des
éléments de réponses à de tels questionnements.
2. Les défaillances au sein d'un planning
Celles-ci peuvent être de deux types : matériels et humaines. Tandis que la tombé en
panne d'un matériel peut être plus au moins maîtrisée, l'absence subite d'un médecin est
généralement plus difficile à gérer.
Nous allons dégager tous les cas de figures qui peuvent subvenir et proposer des
"réparations locales" que nous propagerons sur le reste des périodes du planning établi.
2.1 Défaillances humaines
Il y a deux genres d'absences :
Absences involontaires pour des motifs indépendants de la volonté du médecin (maladie
ou accident par exemple).
Absences volontaires : Le médecin se déclare indisponible puisqu'il est appelé à d'autres
occupations.
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
54
Tandis qu'habituellement la majorité des absences sont involontaires, différentes études
montrent que l’absentéisme volontaire pourrait représenter entre 20 % et 40 % de toutes les
absences. Les conséquences de l’absentéisme sont considérables. L’absentéisme entraîne :
• Une diminution de la productivité des employés;
• Une baisse du moral des employés;
• Une hausse des frais généraux.
De plus, des études montrent que l’efficacité du personnel de remplacement n’est que
d’environ 75%. Nous avons voulu examiner la gestion de l’absentéisme, parce que nous
estimons qu’il s’agit d’un aspect important de l’optimisation des ressources dans le domaine
de la prestation de services.
2.1.1. Absences volontaires
Pour ce type d'absence, le médecin indique à l'avance la plage des périodes pendant
laquelle il sera absent, afin que le planificateur tienne compte de ces informations en
déclarant ce médecin indisponible pendant ces périodes, et s'il a été pré-affecté à certains
postes ces pré-affectations seront supprimées.
2.1.2. Absences involontaires
Si après la génération d’un planning Pl pour une semaine donnée S, un médecin X est
involontairement absent, on distingue alors deux cas : le nombre de périodes NbPer où le
médecin X sera absent est connu à l'avance, c'est le cas déterministe, le cas où NbPer n'est
pas connu à l'avance, c'est le cas non déterministe. Rappelons qu'une période est une demi
journée de travail : le matin ou l'après-midi.
2.1.2.a. Cas déterministe
Soit E l’ensemble des périodes où le médecin X est affecté pendant le reste de la semaine en
cours S. Pour chaque période Pi (i=1..Card(E)) de l’ensemble E, on procède comme suit :
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
55
1. Déterminer la période Pi.
2. Déterminer le poste Y où le médecin X a été affecté pendant cette période Pi.
3. Soit A=Aptes(Y) l’ensemble des médecins aptes à occuper le poste Y, (à l’exception
du médecin X).
4. Trier l’ensemble A selon l’ordre décroissant des compétences des médecins pour
occuper le poste Y.
5. Pour chaque médecin Mj (j=1..Card(A)) de l’ensemble A, on procéde comme suit :
a. Si le médecin Mj est disponible à la période Pi essayer de l’affecter au poste Y.
b. Calculer le nombre de violations des contraintes NbViolj produites par
l’affectation du médecin Mj au poste Y.
Les contraintes auxquelles nous faisons référence ici sont les contraintes molles
(contraintes N°4,5,6, voir chapitre X page Y); car les contraintes dures sont déjà vérifiées
(le médecin Mj est choisi parmi les médecins aptes et disponibles).
Soit w4, w5, w6 les poids respectifs associés aux contraintes 4, 5, 6 alors :
NbViolj(Mj ,Pi ,Y) = w4 .TroisFois(Mj ,Y) + w5 .MatinAprèsMidi(Mj ,Y) +
w6 . Préférences(Mj ,Y) où :
0 si Mj est affecté au maximum trois fois au poste Y pendant la
semaine S.
1 sinon
0 si Mj n’est pas affecté au poste Y à la période q.
1 sinon
Matin si Pi=Après-midi
Après-midi si Pi=Matin
TroisFois(Mj ,Y)=
MatinAprèsMidi(Mj ,Y)=
Où q=
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
56
0 si Mj est le 1er médecin compétant pour le poste Y
1 si Mj est le 2eme médecin compétant pour le poste Y
…
k si Mj est le (k+1)eme médecin compétant pour le poste Y
6. Si aucun médecin de l’ensemble A n’est disponible à la période Pi alors déclarer le
poste Y comme fermé à cette période.
Sinon choisir le médecin qui a produit le plus petit nombre de violations NbViol et
l’affecter au poste Y.
7. Si le nombre de périodes NbPer où le médecin X sera absent se prolonge aux
semaines suivantes, et pour que le programme de génération du planning tienne
compte de ce fait, il faut maître à jour les informations concernant le médecin X en le
déclarant comme non disponible pendant ces périodes, et si le médecin X a été pré-
affecté à des postes, ces pré-affectations seront supprimées.
Toutes les défaillances volontaires et involontaires d'une ressource humaine et les
dispositions mises en œuvre pour faire face sont résumées dans l'algorithme de la figure 10
qui suit.
Préférences (Mj ,Y)=
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
57
Un planning Pl est généré pour une semaine S
Un médecin X est absent
absent pendant un nombre NbPer déterminé de
périodes
X sera
Estimer le nombre de périodes où X va être absent soit NbPerEstim
NbPer NbPerEstim
NbPer dépasse la semaine S
EEnsemble de périodes où X a été affecté pendant le reste de S
N Card(E) ; i1 ;
i ≤ N FIN
• Pila période i de l’ensemble E • Yle poste occupé par X pendant Pi • AAptes(Y) • Trier A selon l’ordre décroissant des
compétences.
• Déclarer X indisponible pendant les périodes de semaines suivantes.
• Supprimer ses pré-affectationsdans ces semaines
L Card(A) ; j1 ;
j ≤ L
est disponible à Pi
Mj
méd. de A n’est disponible à Pi
aucun
Déclarer le poste Y fermé à
la période Pi
• Affecter Mj au poste Y. • Calculer le nombre de
violations : NbViol(Mj , Pi , Y)
jj+1;{médecin suivant}
Choisir le médecin qui à provoquer le moins de
violations et l’affecter au poste Y.
ii+1;{période suivante}
oui non
oui
non
non
oui
non
oui
oui
non
oui
non
Figure 10 : Défaillance d’une ressource humaine
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
58
2.1.2.b. Cas non déterministe
Dans le cas où on ne connaît pas la durée pendant laquelle le médecin X sera absent, en
fonction de la cause d’absence de celui-ci, on essayera de générer un nombre approché des
périodes durant lesquelles il sera absent. Par exemple, si la cause d'absence, d'après
l'expérience acquise des cas pareils, nécessite au minimum NbMIN périodes d'indisponibilité
et au maximum NbMAX périodes, alors on génère un nombre aléatoire NbPerApp compris
entre NbMIN et NbMAX. On applique, par la suite, la même procédure vue dans le cas
déterministe.
• Si le médecin X reprend son travail au bout d'un temps inférieur à NbPerApp, on a
deux possibilités :
Cas 1 : le planning de la semaine actuelle a été généré avant l’absence du médecin X.
Ceci revient à dire que X a été affecté à des postes pendant cette semaine, puis il a été
involontairement absent, et il a repris son travail avant la fin de la semaine; dans ce
cas, on va restaurer le planning initial.
Cas 2 : le planning de la semaine actuelle est généré après l’absence du médecin X,
c'est-à-dire X a été considéré comme indisponible. Dans ce cas, pendant les périodes
restantes de la semaine en cours, on essaye d’affecter le médecin X aux postes qui entre
dans ses compétences afin d’améliorer la solution.
Dans les deux cas, restaurer les disponibilités et les pré-affectations du médecin X pour
les périodes restantes de NbPerApp.
• Si le nombre de périodes pendant lesquelles X sera absent dépasse le nombre
approché NbPerApp, on génère de nouveau le nombre de périodes approchées, et la
procédure est répétée.
Tous ces réarrangements sont résumés dans la figure 11.
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
59
Un médecin X est absent pendant un nombre
indéterminé de périodes
Estimer ce nombre de périodes NbPerApp
a repris son travail avant la fin des
périodes NbPerEstim
X
Cas 1
FIN
Restaurer l’ancien planning Pl
oui non
oui non
Figure 11 : Défaillance d’une ressource humaine, (cas indéterministe)
Pendant le reste de la semaine S affecter le médecin X aux postes Aptes(X) afin d’améliorer le planning
Un planning Pl est généré pour une semaine S
Cas 2
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
60
2.2. Défaillances matérielles
Après la génération d’un planning Pl pour une semaine donnée S, et pendant la semaine,
une ressource matérielle R peut tomber en panne; soit Y le poste où le matériel R est tombé
en panne. S’il y a un autre matériel pour remplacer R, le poste Y restera ouvert; sinon, le
poste Y sera déclaré fermé jusqu’à ce que R soit réparé. Dans le dernier cas, on a deux
possibilités : soit NbPer le temps (en périodes) de réparation de R, NbPer peut être connu
(cas déterministe) ou inconnu (cas non déterministe).
2.2.a. Cas déterministe
Dans le cas où le poste est fermé, soit E l’ensemble des périodes où le matériel R est
considéré en panne. Pendant le reste de la semaine en cours S, pour chaque période Pi
(i=1..Card(E)) de l’ensemble E, on procède comme suit :
1. Déterminer le médecin M qui assure le poste Y (à la période Pi).
2. Soit C=Compétences(M) l’ensemble des postes qui entre dans les compétences du
médecin M (à l’exception du poste Y).
3. Pour chaque poste Ci (i=1..Card(C)) de l’ensemble C, on procède comme suit :
a. Affecter le médecin M au poste Ci.
b. Calculer la valeur de la solution.
4. S’il y a une affectation qui améliore la solution (en terme de satisfaction de
contraintes), alors changer le planning actuel par la nouvelle solution, et en procédant
de la même façon, essayer de réaffecté le médecin remplacé pour améliorer la
solution.
Sinon le planning Pl est conservé.
La figure 12 prend en considération toutes les "réparations" possibles d'un tel cas.
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
61
Un planning Pl est généré pour une semaine S
Une ressource matérielle R (pour un poste Y) est tombé en panne.
réparée dans un nombre NbPer déterminé de
périodes
R sera
Estimer le nombre de périodes nécessaire pour la réparation de R
soit NbPerEstim
NbPer NbPerEstim
EEnsemble de périodes restantes de la semaine S
N Card(E) ; i1 ;
i ≤ N FIN
• Pila période i de l’ensemble E • Mle médecin qui assure le
poste Y à la période Pi • CompCompétences(M)
Déclarer le poste Y fermé pendant NbPer périodes
C Card(Comp); j1 ;
j ≤ C
une amélioration
Il y a
Appliquer cette solution
(planning amélioré)
• CJ poste j de l’ensemble Comp
• Affecter M au poste CJ. • Calculer la valeur de la
nouvelle solution
jj+1;{poste suivant}
Restaurer l’ancien planning Pl
ii+1;{période suivante}
oui non
non
oui
non
oui oui
non
Figure 12 : Défaillance d’une ressource matérielle
Il y a une ressource de secours R’
Remplacer R par R’ (le planning déjà établi est conservé tel quel)
FIN
oui
non
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
62
2.2.b. Cas non déterministe
Dans le cas où on ne connaît pas le temps nécessaire de réparation du matériel R, en
fonction de la cause de la panne, on génère un nombre approché des périodes durant
lesquelles ce matériel restera inactif. Par exemple, si la cause de la panne nécessite – d'après
l'expérience acquise des cas pareils – au minimum NbMIN périodes et au maximum NbMAX
périodes de réparation, alors on générera un nombre aléatoire NbPerApp compris entre
NbMIN et NbMAX. Par la suite, on applique la même procédure vue dans le cas déterministe.
• Si le matériel R est réparé au bout d'un temps inférieur à NbPerApp, on a deux
possibilités :
Cas 1 : le planning de la semaine actuelle est généré avant la panne du matériel R,
c'est-à-dire Y (poste associé au matériel R) a été déclaré ouvert pendant cette semaine,
puis il a été involontairement fermé à cause de la panne de R. Ce matériel a été réparé
avant la fin de la semaine; dans ce cas, on restaure le planning initial.
Cas 2 : le planning de la semaine actuelle est généré après la panne du matériel R,
c'est-à-dire Y (poste associé au matériel R) a été considéré comme fermé. Dans ce cas,
pendant les périodes restantes de la semaine en cours, essayer d’ouvrir le poste Y, et
chercher, parmi les médecins aptes et disponibles, le meilleur qui puisse l’occuper, s'il
n'y en a aucun, le poste restera fermé.
• Si le nombre de périodes pendant lesquelles R sera en panne dépasse le nombre
approché NbPerApp, on génère de nouveau un nombre approché de périodes, et la
procédure est répétée (voir figure 13).
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
63
Une ressource matérielle R (pour un poste Y) est tombé en panne pendant un
nombre indéterminé de périodes
Estimer ce nombre de périodes NbPerApp
est réparée avant la fin des périodes
NbPerApp
R
Cas 1
FIN
Restaurer l’ancien planning Pl
oui non
oui non
Figure 13 : Défaillance d’une ressource matérielle, (cas non déterministe)
Un planning Pl est généré pour une semaine S
Cas 2
Ouvrir le poste Y pendant le reste de NbPerApp
EEnsemble des périodes restantes de la semaine S
N Card(E) ; i1 ;
i ≤ N
• Pila période i de l’ensemble E • AAptes(Y) • Essayer d’affecter un médecin
de A (meilleure solution) au poste Y à la période Pi
une solution
Il y a
Appliquer cette solution
ii+1;{période suivante} non
oui
non oui
Ouvrir le poste Y à la période Pi
Le poste Y reste fermé à la période Pi
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
64
80
82
84
86
88
90
92
94
96
98
100
Sam Dim Lun Mar MerJours
Vale
ur d
e la
sol
utio
n
Solution prévue
Solution réelle
3. Implémentation et critiques des résultats obtenus
Notre but consiste à créer un emploi du temps, pour une semaine, des personnes
travaillant sur les différents postes d’un service d’un hôpital que nous propageons sur le
reste des semaines de l’année pour obtenir un planning annuel. Après la mise en œuvre de
ce planning [ZED 2004], notre intention est portée sur la gestion des conditions
intempestives dûes à la défaillance des ressources humaines et/ou matérielles. Pour cela,
nous avons expérimenté notre logiciel en considérant plusieurs situations : absences
volontaires ou involontaires d'un ou de plusieurs médecins, ainsi que la tombée en panne
des équipements nécessaires pour le fonctionnement des postes.
La figure 14 illustre une comparaison entre la valeur de la solution (planning) prévue;
c'est-à-dire la solution générée par notre A.G, tout au début de la semaine en supposant que
toute chose va bien, ainsi que la valeur de la solution réelle; c'est-à-dire la solution calculée
après la défaillance d'une ou de plusieurs ressources humaines ou matériels. La solution
réelle ou concrète consiste à modifier ou à mettre à jour la solution prévue (planning initial)
pour tenir compte de l'état actuel des ressources, tel que le remplacement d'un médecin
absent, la réaffectation d'un médecin dont le poste a été fermé suite à une défaillance du
matériel,…
La figure 14.a représente l'état du planning durant une semaine. Pendant les deux
premiers jours (samedi, dimanche), il n'y a pas de défaillance de ressources; ce qui explique
le fait que les courbes représentant les deux solutions : prévue (discontinue) et réelle
(continue) soient superposées. Au troisième jour, on enregistre une défaillance; ce qui a
mené à une diminution de la valeur de la solution et donc un abaissement de la qualité du
service.
La figure 14.b représente l'état du planning pendent plusieurs semaines. On remarque
que la valeur de la solution réelle est toujours inférieure à celle de la solution prévue ce qui
révèle une des conséquences de l'absentéisme : la diminution de la qualité de service. On
constate aussi que la différence entre la solution prévue et réelle diffère d'une semaine à une
autre, selon le type et le nombre des ressources défaillantes. A chaque fois que le nombre de
ressources défaillantes augmente, la différence entre la solution prévue et réelle augmente
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
65
80
82
84
86
88
90
92
94
96
98
100
1 2 3 4 5 6 7 8 9 10 11 12 13 14Semaines
Vale
ur d
e la
sol
utio
n
Solution prévueSolution réelle
aussi (cas de la semaine N°11), et à chaque fois que le nombre de ressources défaillantes
diminue la différence diminue (cas des semaines 2, 3 et 7). Cependant, pour les semaines 4
et 8, il n'existe pas de différence ce qui revient à dire qu'il n'y a pas de défaillance de
ressources.
80
82
84
86
88
90
92
94
96
98
100
Sam Dim Lun Mar MerJours
Vale
ur d
e la
sol
utio
n
Solution prévue
Solution réelle
Figure 14.a : Une semaine
Figure 14.b : Plusieurs semaines
Figure 14 : Comparaison entre les solutions prévues et les solutions réelles.
CHAPITRE IV : GESTION DES CONDITIONS INTEMPESTIVES
66
4. Conclusion
Dans ce chapitre, nous avons projeté la lumière sur le phénomène de défaillance de
ressources aussi bien humaines que matérielles. Nous avons présenté une méthode de
gestion des conditions intempestives au sein de notre planning. La méthode proposée peut
être appliquée à une large gamme de plannings ayant une structure analogue à celle du
notre. Nous avons essayé de traiter les différents cas de figure, défaillance des ressources
humaines et matérielles; dans le cas où on connaît d'avance la durée d'absence du personnel
ou la panne du matériel et dans le cas où celle-ci ne peut être connue à l'avance.
Vu la complexité et la difficulté du problème traité et le manque de travaux ayant abordé
ce sujet, tout apport en terme d'approche ou solution ne peut qu'être louable. Nous jugeons
les résultats obtenus comme utiles et nécessaires en terme de prise de décision.
Enfin, il faut remarquer que plusieurs améliorations peuvent être apportées tant au
niveau de la détermination de la durée de défaillance qu'au niveau de la mise à jour du
planning après la défaillance. Parmi ces améliorations on peut envisager :
• L'amélioration du module de génération de la durée d'absence du personnel ou la
panne du matériel dans le cas non déterministe, pour qu'elle ne soit pas totalement
aléatoire. Une solution possible est d'associer une base de cas au système, cette base
mémorise tous les cas de défaillances précédentes. A chaque nouvel cas on interroge
la base, pour chercher le cas le plus proche du cas actuel et se servir des informations
de ce cas.
• Essayer de diminuer la différence entre la solution réelle et prévue, pour maintenir un
bon niveau de qualité de service.
CONCLUSION GENERALE ET PERSPECTIVES
67
Conclusion générale et perspectives
Dans ce mémoire, nous nous sommes donnés comme objectif principal la résolution
d’un problème de planification d’un ensemble de médecins - dans un service de radiologie -
soumis à une variété de contraintes.
Vu que le problème, par sa nature fortement combinatoire, ne peut admettre une
procédure déterministe de résolution, nous avons orienté notre recherche vers les
algorithmes génétiques qui, par leur mode aléatoire de balayage du domaine des solutions,
permettent d’aboutir à une solution, même si elle n’est pas toujours optimale, elle est
admissible selon un critère donné.
Nous avons orienté notre recherche vers l’étude des paramètres de l’algorithme
génétique, d’où nous avons intégré une méthode de propagation de contraintes avant l'étape
de génération de la population initiale, afin de réaliser un filtrage pour réduire l’espace de
recherche. Nous avons aussi défini un mode adéquat de sélection des parents afin de fournir
de bons fils candidats à une nouvelle population. Le mode de croisement a été également
étudié afin d’éviter la violation de certaines contraintes.
Nous jugeons que l’algorithme génétique obtenu est un outil d’une grande efficacité
pour la résolution de tout problème qui peut se formuler de la même manière que le notre.
Rappelons que le problème étudié est NP-difficile, donc, toute heuristique bien fondée ne
peut que contribuer à sa résolution.
Par ailleurs ce travail nous a permis de constater la capacité des algorithmes génétiques
à résoudre des problèmes NP-Complets avec une facilité remarquable. Leur efficacité,
longtemps remise en cause par bon nombre de chercheurs, n’est plus à prouver. Les
CONCLUSION GENERALE ET PERSPECTIVES
68
performances de l’algorithme génétique ne sont altérées que par le fait que le même genre
de calcul se répète avec chaque individu de chaque population La parallélisation de
l'algorithme peut être une solution à ce problème.
Les algorithmes génétiques ne garantissent pas de trouver l’optimum global, bien que,
théoriquement, il a été démontré qu’ils convergent vers cet optimum. En pratique, ils restent
souvent inefficaces lorsqu’il s’agit de trouver la valeur exacte de cet optimum. Or c’est
précisément ce que les algorithmes de recherche locale tel que tabou, réalisent le mieux. Il
serait donc naturel de penser à un moyen d’hybridation en associant un algorithme local à
l’algorithme génétique de façon à trouver la valeur exacte de l’optimum. On peut aisément
le faire en appliquent à la fin de l'exécution de l’algorithme génétique un algorithme local
afin que le meilleur individu soit trouvé, et s’assurer que la solution fournie sera optimale.
Dans la dernière partie de cette thèse, nous avons projeté la lumière sur le phénomène de
défaillance des ressources aussi bien humaines que matérielles. Nous avons présenté une
méthode de gestion des conditions intempestives au sein de notre planning. La méthode
proposée peut être appliqué à une large gamme de problèmes ayant une structure analogue à
celle du notre.
Vu la complexité et la difficulté du problème traité et le manque de travaux ayant abordé
ce sujet, tout apport en terme d'approche ou solution ne peut qu'être louable. Nous jugeons
les résultats obtenus comme encourageants.
ANNEXE A LES ALGORITHMES GENETIQUES
69
ANNEXE A :
ALGORITHMES GENETIQUES
1. Principes généraux
Développés dans les années 70 avec le travail de Holland [Hol 1975] puis approfondis
par Goldberg [Gol 1989], les algorithmes génétiques sont certainement la branche des
algorithmes évolutionnaires la plus connue et la plus utilisée. La particularité de ces
algorithmes est le fait qu’ils font évoluer des populations d’individus codés par une chaîne.
Ils utilisent les opérateurs de mutation et de croisement de différents types.
2. Structure d’un Algorithme Génétique
Pour appliquer adéquatement un algorithme génétique, il est impératif d’identifier
clairement les différentes étapes préalables à la programmation.
1. Un principe de codage de l’élément de population (individu). Cette étape associe à
chaque point de l’espace considéré par le problème, une structure de donnée. Elle se
place après la phase de modélisation mathématique du problème traité. Les codages
binaires ont été les premiers à être utilisés. Actuellement, on se sert plus souvent de
codages directs (réels et entiers,…).
2. Un mécanisme capable de générer une population initiale qui servira de base pour la
génération suivante. Ce choix conditionne la rapidité de la convergence vers l’optimum
cherché. Dans le cas où l’on ne connaît rien du problème à résoudre, il est essentiel que
la population initiale soit répartie sur tout l’espace de recherche. En pratique, on a
souvent recours à la génération aléatoire de la population initiale.
ANNEXE A LES ALGORITHMES GENETIQUES
70
3. Une fonction d’évaluation : afin de mesurer les performances de chaque individu, on
introduit une fonction d’évaluation, celle-ci correspond à l’utilité de la solution par
rapport au problème. Elle constitue alors le critère à base duquel l’individu sera ou non
sélectionné pour être reproduit dans la génération suivante. La qualité de cette fonction
conditionne, pour une grande part, l’efficacité de l'algorithme génétique. Il est, par
conséquent, important de tenir compte de sa complexité. En effet, dans le cas où la
fonction d’adaptation apparaît excessivement complexe, consommant une importante
puissance de calcul, il est souhaitable de lui rechercher une approximation plus simple.
4. Un mécanisme de sélection des individus candidats à l’évolution.
5. Des opérateurs permettant de diversifier la population au cours des générations et
d’explorer l’espace de recherche. L’opérateur de croisement recompose les gênes
d’individus existants, l’opérateur de mutation diversifie les individus dans la
population.
6. Des paramètres de dimensionnement : taille de la population, critère d’arrêt,
probabilités d’application des opérateurs génétiques. Le problème de quantification
considéré par ce dernier point ne dispose pas de paramétrage universel. Cependant,
certaines valeurs largement utilisées pour résoudre concrètement des problèmes
méritent d’être retenus [SCH 95a] :
• Taille de la population : en fonction de la taille du problème,
• Taux de croisement : entre 70% et 90%,
• Taux de mutation : entre 0.5% et 1%.
Voyons, de manière plus détaillée, l'ensemble de ces points.
2.1. Le codage
La principale caractéristique des algorithmes génétiques est de travailler sur des codages
et non sur des solutions réelles. Ces codes sont appelés chromosomes. Il s’agit donc de
définir et de coder convenablement le problème. A chaque variable d’optimisation, il faut
ANNEXE A LES ALGORITHMES GENETIQUES
71
faire correspondre un gêne. Le codage dépend étroitement du problème à résoudre. En effet,
sa définition permet de cerner l’espace des solutions possibles. Ce codage doit, de plus, être
aussi compact que possible pour permettre une évolution rapide.
Principalement, le codage binaire est le plus commun, car les premiers travaux,
appliquant les algorithmes génétiques, ont utilisé ce type de codage. D’autres types de
codage existent, le codage entier, et le codage réel…etc.
2.2. Genèse de la population
Contrairement aux méthodes de voisinages telles que le recuit simulé et tabou, qui
demandent une solution initiale, les algorithmes génétiques nécessitent un ensemble de
solutions admissibles -ce qui n’est pas toujours possible à établir- l’ensemble de ces
solutions constituera la population initiale. La construction de cette solution initiale se fera
généralement aléatoirement ou en dupliquant la ou les solutions admissibles dont on dispose
afin de satisfaire la taille de la population [GOL 89]. Un autre problème à résoudre est la
taille N de la population: si le nombre d'individus est trop faible, les solutions possibles ne
seront évaluées que partiellement; si le nombre d’individus est trop grand, on prendra en
compte des individus de faible qualité lors des croisements et on allongera le temps de
traitement sans améliorer le résultat. Généralement, la taille de la population est choisie en
faisant un compromis entre le temps de calcul et la qualité de la solution.
2.3. Sélection
La sélection proposée par [Gol 1989] consiste à sélectionner les individus
proportionnellement à leur performance. Un individu ayant une forte valeur d’adaptation a
alors plus de chances d’être sélectionné qu’un individu mal adapté à l’environnement (pour
favoriser la reproduction des « bons » individus).
La figure 4 représente sur un disque l’ensemble des individus et leur répartition selon
leur performance. Si l’on considère la somme des performances de la population (le disque
entier), la performance de l’individu 1 représente 9% de la somme, l’individu 2, 40%, etc.
Ce qui équivaut à dire que l’individu 1 a 9% de chance d’être sélectionné, l’individu 2, 40%,
etc.
ANNEXE A LES ALGORITHMES GENETIQUES
72
L’opérateur de sélection joue un rôle capital dans le bon déroulement de l’algorithme
génétique. En effet, il détermine les chromosomes d’une population mère ayant le droit de
participer à l’élaboration de la population fille. La sélection ne crée aucune nouveauté, elle
se contente de choisir quelles seront ou ne seront pas en mesure de contribuer à la création
de la population fille, suivant une stratégie particulière.
La sélection est cependant relativement délicate à manipuler. Effectivement, un excès
de sélection entraîne une perte de la diversité au sein de la population, bloquant ainsi la
résolution de certains problèmes, en convergeant par exemple vers des optima locaux. Une
sélection trop faible pose la difficulté inverse : la non-convergence de l’algorithme. Il est
donc nécessaire de porter une attention particulière au type de sélection utilisée. Une étude
plus détaillée de ces modes de sélection est présentée dans [KAL 1990]. Nous présentons
dans ce qui suit un aperçu des principales techniques de sélection citées dans la littérature.
On distingue deux catégories de procédures de sélection : les procédures déterministes
et les procédures stochastiques.
2.3.1. Sélection stochastique
Il s’agit de favoriser les meilleurs individus, mais de manière stochastique ; ce qui laisse
une chance aux individus mois performants d’être eux aussi sélectionnés. Par contre, il peut
arriver que le meilleur individu ne soit pas sélectionné. Parmi ce type de stratégies de
sélection on distingue :
a) La sélection proportionnelle
Ce mode de sélection se base sur le principe de « chacun a une chance d’être
sélectionné, en fonction de son efficacité ».
La méthode roulette wheel selection (RWS), ou loterie, est la plus classique des modes
stochastiques de sélection. La première étape consiste à attribuer à chaque individu une
probabilité de sélection proportionnelle à son fitness et à la somme des fitness de tous les
individus de la population.
ANNEXE A LES ALGORITHMES GENETIQUES
73
Si N est le nombre d’individus de la population et si fi est le fitness de l’individu i, alors
la fonction Pi, décrite dans l’équation suivante, représente la probabilité de sélectionner cet
individu pour le retrouver dans la population suivante :
Pi= ∑=
N
iii f/f
1
19%
240%
323%
45%
516%
67%
Figure A.1 : Modèle de la roulette.
Représentation d’une population de 6 individus.
La seconde étape détermine les N individus de la population fille tirés au hasard en
fonction de ces probabilités. Le tirage s’effectue généralement avec remise offrant la
possibilité à un excellent individu de se retrouver plusieurs fois dans la population finale.
Cette sélection permet donc à chacun des individus de la population d’avoir une chance,
aussi minime soit-elle, d’être sélectionné.
b) La sélection proportionnelle avec Reste Stochastique
Ce mode de sélection est basé sur le précédent auquel est ajouté un aspect plus
déterministe. L’ensemble des Pi, défini précédemment, est conservé et intervient dans
l’équation qui détermine le nombre d’occurrences de la chaîne i reproduite dans la
population fille. Le reste stochastique Ri est alors défini en fonction de Ni.
Ni =E(N*Pi) Ri =(N*Pi) - Ni
S = ∑ =
N
1iiN-N Si = Ri / S
ANNEXE A LES ALGORITHMES GENETIQUES
74
Les Ni représente l’ensemble des chromosomes reproduits de manière déterministe.
Généralement la somme des Ni est inférieure à N. Il reste donc un certain nombre de chaînes
à sélectionner défini par S. A partir des restes, Ri, et du nombre de chaînes, Si restant à
pourvoir, les probabilités Si (pour chaque individu, d’être sélectionné par le reste
stochastique) sont calculées.
Pour obtenir les dernières chaînes sélectionnées, une sélection proportionnelle est
effectuée S fois en fonction des probabilités Si.
Cette sélection offre, comme la précédente, une chance à toutes les chaînes, mais
impose, tout de même, la présence des meilleurs individus parmi la population fille. Elle
évite donc une disparition prématurée des bonnes chaînes due à un tirage aléatoire
défavorable, surtout lorsque les populations de chromosomes sont de faibles tailles.
Le bruit de sélection étant plus faible, la dérive génétique se manifeste moins qu’avec la
méthode RWS.
c) La sélection par tournois
La sélection par tournois est une alternative aux techniques de sélection proportionnelle.
Le tournoi le plus simple consiste à choisir aléatoirement un certain nombre d’individus
dans la population, et à sélectionner pour la reproduction celui qui a la plus grande
adaptation. Au cours d’une génération, il y a autant de tournois que d’individus à remplacer.
Les individus qui participent à un tournoi restent dans la population et sont de nouveau
disponibles pour les tournois ultérieurs. La variance de ce processus est également élevée.
La pression de sélection est ajustée par le nombre de participants à un tournoi. Choisir
de nombreux participants conduit à une forte pression de sélection car un individu moyen ou
faible aura mois de chance d’être sélectionné.
Une méthode dérivée fait intervenir un tournoi après l’évaluation des chaînes déjà
recombinées. Chaque couple d’enfants entre alors dans un tournoi avec ses parents
respectifs afin de conserver les deux meilleurs individus des quatre en combinaison.
ANNEXE A LES ALGORITHMES GENETIQUES
75
2.3.2. Sélection déterministe
On sélectionne les meilleurs individus (au sens de la fonction d’adaptation) ; cela
suppose un tri de l’ensemble de la population.
Les individus les moins performants sont éliminés de la population, et le meilleur
individu est toujours sélectionné, on parle alors d’élitisme.
La sélection élitiste
Une stratégie élitiste est utilisée en plus des méthodes précédentes et non pas
séparément. Elle consiste à conserver dans la population, d’une génération à l’autre, au
moins l’individu ayant la meilleure adaptation. Les individus reproduits remplacent les
individus les moins bons de la génération courante pour obtenir la nouvelle génération,
préservant ainsi les meilleurs.
Une des variantes, de la stratégie élitiste, impose la présence des X% meilleurs individus
de la population initiale dans la population finale. Ainsi, ces chaînes sont tout simplement
protégées d’un quelconque dérapage du hasard, elles sont automatiquement sélectionnées.
Ce type de variante provoque donc une amélioration constante des performances de la
population puisque le ou les meilleurs individus sont toujours conservés d’une population à
l’autre.
2.4. Le croisement
Traditionnellement, le croisement (appelé aussi recombinaison) est vu comme
l’opérateur de recherche essentiel d’un algorithme génétique. Après la sélection, un
croisement peut éventuellement avoir lieu, dans ce cas deux individus de la nouvelle
génération échangent une ou plusieurs partie(s) de leurs génotypes pour former deux
individus différents de ceux d’origine.
Le premier problème à régler consiste à choisir deux individus parmi ceux qui ont été
sélectionnés pour en créent deux autres. Ce choix s’appelle l’appariement. Hollstien [HOL
1971] a expérimenté diverses méthodes d’appariement parmi lesquelles :
ANNEXE A LES ALGORITHMES GENETIQUES
76
1. l’appariement aléatoire (random mating) : on choisit aléatoirement deux individus dans
la population sélectionnée ;
2. la consanguinité (inbreeding) : deux parents proches sont appariés. De cette manière,
on crée des lignées ;
3. le croisement entre lignées ou inter-fécondation (outbreeding) : deux individus
phénotypiquement très différents sont appariés.
De Jong [DEJ 1975] propose la technique dite du Crowding Factor (CF). Pour chaque
individus sélectionné, CF individus sont tirés au hasard dans la population. On apparie alors
l’individu sélectionné et celui qui lui ressemble le plus parmi les CF tirés. Dans la plupart
des cas, CF est choisi 2 ou 3.
L’opérateur de croisement est essentiel, car il permet d’obtenir de nouveaux individus
distincts de ceux déjà existants, et donc d’explorer tout l’espace de recherche. Il existe
différentes méthodes pour croiser deux chromosomes :
a) Le croisement « à un point »
Ce type de croisement est standard dans les AGs. Il consiste à choisir un emplacement
aléatoirement sur une chaîne, et d’intervertir tous les gènes d’un coté de point entre les deux
chaînes, comme le montre la figure 5 :
Parent 1 : 1 0 0 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 Enfant 1
Parent 2 : 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 1 Enfant 2
Figure A.2 : Exemple de croisement à « un point »
(cas du codage binaire)
b) Croisement « à n point »
Le croisement à n points est une généralisation du croisement à un point avec n points
de coupure sur les chaînes. Il s’agit alors de déterminer n points sur ces chaînes, puis
ANNEXE A LES ALGORITHMES GENETIQUES
77
d’échanger sur les chaînes les blocs entre ces points afin d’obtenir les enfants. La figure 6
montre un exemple de croisement « à deux points » de deux parents codés en binaire.
Parent 1 : 1 0 0 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 Enfant 1
Parent 2 : 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 1 Enfant 2
Figure A.3 : exemple de croisement « à 2 points » (cas du codage binaire)
D’autres types de croisement ont été proposés comme le croisement :
• discrète, qui consiste à permuter en moyenne une fois sur deux les éléments du
génotype,
• intermédiaire qui propose de remplacer le gène de l’individu enfant par une
combinaison linéaire des gènes des deux parents,
• géométrique qui prend la racine carrée de la multiplication des deux gènes parents.
Cette liste n’est cependant pas exhaustive et il est possible de trouver des travaux sur
l’élaboration d’autres recombinaisons.
2.5. Mutation
Elle constitue une exploration totalement au hasard de l’espace de recherche et permet
également d’éviter la perte du matériel génétique potentiellement utile. Mais, par rapport au
croisement, son rôle reste secondaire. En général, on lui attribue une probabilité faible, de
l’ordre de 0.01.
Cet opérateur consiste à apporter de l’innovation dans la population en modifiant un
seul gène aléatoirement, comme le montre l’exemple de la figure A-4. Si toutes les chaînes
possèdent une valeur identique sur le même gène, alors ni la sélection, ni le croisement ne
pourront créer un individu pourvu d’une différence au niveau de ce gène. La mutation
permet des variations de cet ordre, rendant possible la sortie d’un optimum local. Bien que
ANNEXE A LES ALGORITHMES GENETIQUES
78
sa part dans les algorithmes génétiques soit moindre par rapport au croisement, son emploi
est cependant indispensable.
Figure A.4 : Opération de mutation.
2.6. Les paramètres de contrôle d’un algorithme génétique
Les algorithmes génétiques peuvent être contrôlés à travers différents
paramètres dont les plus importants sont :
• la taille de la population,
• le taux de remplacement ; le nombre d’enfants substituant les anciennes solutions dans chaque génération,
• le mécanisme de sélection,
• le taux de croisement,
• le taux de mutation,
• le nombre de générations (itérations).
Comme dans la nature, les opérations de croisement et de mutation s’appliquent de
manière aléatoire. Nous faisons une sélection depuis une population P(t) -la population à la
génération t- de deux chromosomes qui ont une chance d’être croisés, égale à Pc. S’ils ne
sont pas croisés, ils passent directement à l’étape de mutation. S’ils sont croisés, ils seront
remplacés par leurs enfants obtenus de leur échange de gênes ; ensuite ces enfants passeront
à la procédure de mutation. Une fois la procédure de mutation finie, les enfants résultants
seront incorporés comme membres de la nouvelle population P(t+1). Le processus est répété
jusqu’à compléter la taille de la population.
Si la probabilité du croisement est 100%, alors tout descendant est issu par un
croisement. Si elle est de l’ordre de 0%, toute nouvelle génération est une copie exacte des
chromosomes de l’ancienne population.
ANNEXE A LES ALGORITHMES GENETIQUES
79
S’il n’y a aucune mutation, les descendants sont gardés après le croisement sans aucun
changement. Si la probabilité de mutation est 100%, tout chromosome est changé. La
mutation est utilisée pour prévenir le piège de tomber dans des optimaux locaux, mais elle
ne doit pas apparaître souvent, sinon l’algorithme génétique change au fait en une recherche
aléatoire pure.
La taille de la population exprime le nombre de chromosomes dans la population (dans
une génération). S’il y a peu de chromosomes, l’algorithme génétique a peu de possibilités
d’accomplir le croisement et une petite partie de l’espace de recherche est explorée.
Un autre paramètre, la stratégie de remplacement qui consiste à spécifier la manière par
laquelle les descendants générés (par sélection, appariement et croisement) remplacent les
parents pour former une nouvelle génération.
Le réglage des paramètres est un point très délicat dans les algorithmes génétiques ;
celui-ci doit être optimisé pour chaque type de problème traité.
L’AG simple accomplit une génération lorsque les opérateurs définis ci-dessus ont été
appliqués aux individus de la population selon la séquence suivante :
• codage des solutions,
• évaluation des solutions,
• sélection des individus,
• croisement et mutation.
De génération en génération, la taille de la population reste constante. Lors d’une
génération, la totalité d’une population peut être remplacée par ses descendants, l’AG est
alors dit « générationnel ». Ou au contraire, un petit nombre d’individus, un ou deux, sont
remplacés, on se trouve alors en présence d’un algorithme « stationnaire ».
ANNEXE A LES ALGORITHMES GENETIQUES
80
3. Résumé de l’algorithme génétique de base
[Début]: générer aléatoirement une population de n chromosomes.
[Évaluation] : évaluer l’adaptabilité (fitness) f(i) de chaque chromosome
dans la population.
[Nouvelle génération] : créer une nouvelle population en répétant les étapes
suivantes jusqu’à ce que la nouvelle population est
complétée.
1. [Sélection] : Sélectionner des chromosomes parents de la population
relativement à leurs fitness(meilleurs fitness, une grande
chance d’être sélectionné,…).
2. [Croisement] : avec la probabilité du croisement fixée, croiser les parents
pour former les nouveaux descendants. Si aucun
croisement n’a eu lieu les descendants sont des copies
exactes des parents.
3. [Mutation] : Avec la probabilité de mutation fixée, muter le nouveau
descendant à chaque locus (position dans le chromosome).
4. [Acceptation] : placer les nouveaux descendants dans la nouvelle
population.
[Remplacer] : Utiliser la nouvelle population générée pour l’exécution
de l’algorithme de nouveau.
[Test] : Si la condition fin est satisfaite stop et retourner la
meilleure solution dans la population courante.
[Boucler] : Aller à l’étape 2.
Ce résumé de l’algorithme génétique de base est général, il y a plusieurs choses qui
peuvent être implémentées différemment dans des problèmes variés.
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
81
ANNEXE B :
PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES COMPLEMENTAIRES.
Dans le chapitre IV nous n'avons détaillé que les structures de données et les interfaces
que nous avons jugées primordiales pour l'application. Néanmoins quelques autres
structures de données ainsi que certaines interfaces ont un rôle non moindre dans notre
application; c'est pourquoi, nous nous apprêtons à présent à détailler ces informations.
1. Informations nécessaires sur le personnel
Un utilisateur peut enregistrer les informations suivantes pour une personne :
• Le nom d’une personne,
• Les compétences d’une personne,
• La fonction d’une personne,
• Les disponibilités d’une personne,
• Les pré-affectations d’une personne.
Le fichier de données du personnel
Ce fichier contient les informations concernant tous les médecins, un médecin est
représenté par un enregistrement qu'on peut décrire comme suit:
Médecin = Enregistrement Nom : string; Fonction : string; Compétences : TypeCompétences;
Disponibilités : Tableau[1..53] de « TypeDispoPersonnel», Pré-affectations : Tableau[1..53] de « PreAffectationSemanie»,
Fin Enregistrement;
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
82
Où TypeCompétence est un tableau dynamique de string, sa taille dépend du médecin et
du nombre de postes que celui-ci est apte à occuper. Par exemple, si le médecin X est
qualifié pour travailler dans les postes Echo1, Scanner, Urgences, alors son champ
compétences sera représenté par un tableau de taille 3, voir la figure B.1.a.
TypeDispoPersonnel est un tableau de booléens, de 5 lignes par 2 colonnes (true
signifie que le médecin est disponible à cette période, false autrement), les 5 lignes
représentent les jours de la semaine. Les 2 colonnes représentent les périodes : le matin et
l’après-midi (voir figure B.1.b).
Les disponibilités d’une personne sont donc représentées par un tableau de 53 cases
permettant d’enregistrer les disponibilités sur une année (une année contient au plus 53
semaine).
Le type PreAffectationSemaine est aussi un tableau de string, de 5 lignes par 2
colonnes, initialisé à « aucune », par exemple si un médecin est pré-affecté pendant une
semaine donnée le lundi matin à un poste X, alors le nom de ce poste sera enregistré dans la
case [3,1] de cette semaine (voir la figure B.1.c).
Echo1 Scanner Urgences
Figure B.1.a : Compétences du médecin X, (TypeCompétences)
Matin Après-midi Matin Après-midi
Samedi False True Samedi Echo1 aucune Dimanche False True Dimanche Aucune Scanner
Lundi True False Lundi Aucune aucune Mardi False False Mardi Aucune aucune
Mercredi True False Mercredi Aucune aucune
Figure B.1.b : disponibilités du médecin X dans une semaine donnée,
TypeDispoPersonnel
Figure B.1.c : pré-affectations du médecin X dans une semaine donnée,
PreAffectationSemaine
Figure B.1 : Structure de données (Fichier personnel).
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
83
2. Informations nécessaires sur les postes
Un utilisateur peut enregistrer les informations suivantes pour un poste :
• Le nom du poste,
• Les ouvertures du poste.
• Les préférences d’affectation des médecins à ce poste (contrainte N°6).
Un utilisateur peut aussi effectuer les opérations suivantes :
• Ajouter une personne,
• Modifier les renseignements d’une personne,
• Supprimer une personne,
• Remplir les disponibilités d’une personne,
• Remplir les pré-affectations d’une personne,
• Ajouter un poste,
• Modifier les renseignements d’un poste,
• Supprimer un poste,
• Remplir les ouvertures d’un poste,
• Remplir les préférences d’affectation d’un poste.
Le fichier de données des postes
Ce fichier contient les informations concernant tous les postes, un poste est représenté
par un enregistrement comme suit:
Poste = Enregistrement
Nom : string; Ouvertures : Tableau[1..53] de TypeOuverturePoste; MédecinsPréférés : TypeMédecinsPréférés; Fin Enregistrement;
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
84
Figure B.2.b : ouvertures du poste X dans une semaine donnée, (TypeOuverturePoste)
Où TypeOuverturePoste est un tableau de booléens, de 5 lignes par 2 colonnes (true
signifie que le poste est ouvert pendant cette semaine), les 5 lignes représentent les jours de
la semaine. Les 2 colonnes représentent les périodes : le matin et l’après-midi (voir figure
B.2.b).
Les ouvertures d’un poste sont donc représentées par un tableau de 53 cases permettant
d’enregistrer les ouvertures sur une année. Chaque case contient un tableau semblable à
celui de la figure B.2.a.
MédecinsPréférés est un tableau dynamique de string. Sa taille dépend du poste et du
nombre de médecins qualifiés pour ce poste. Par exemple, si le poste X est ouvert et si A, B,
et C sont qualifiés pour ce poste (sachant qu’on préfère A puis B puis C), alors le champ
MédecinPréférés du poste X sera représenté par un tableau de taille 3, où la case 1 pour le
1er médecin (A), la case 2 pour le 2eme médecin (B), et la case 3 pour le 3eme médecin (C)
(voir la figure B.2.b).
Donc le champ MédecinsPréférés contient la liste des médecins compétant pour ce
poste, l’ordre de ses éléments correspond aux préférences d’affectation des médecins à ce
poste.
A B C
Figure B.2.a : Préférences des médecins pour le poste X, (MédecinsPréférés)
Matin Après-midi
Samedi true true Dimanche false true
Lundi true false Mardi false false
Mercredi true false
Figure B.2 : Structure de données (fichier postes).
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
85
3. Fonctionnement général de l’application
L’application travaille sur une année complète. C’est-à-dire, qu’un utilisateur fait entrer
des informations pour une semaine précise, et il peut également fait entrer des informations
correspondantes aux semaines suivantes (figure B.3).
Figure B.3 : ouvertures d'un service pour une semaine et propagation de ces ouvertures
pour d'autres semaines.
La figure B.4 permet de visualiser l’interface d’entrée qui permet de rentrer les
informations sur le personnel. Parallèlement, la figure B.8 se rapporte à une interface
destiné aux postes, et la figure B.12 représente une interface de sortie qui permet d’afficher
un planning (planning qui a été calculé par l’algorithme génétique).
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
86
Figure B.4 : Interface Gestion des médecins.
Le bouton Disponibilités affiche la fenêtre suivante :
Figure B.5 : Interface Disponibilités d'un médecin.
Le bouton Disponibilités affiche la fenêtre suivante :
Figure B.6 : Interface Pré-affectaions d'un médecin.
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
87
Le bouton Compétences affiche la fenêtre suivante :
Figure B.7 : Interface Gestion des compétences.
Gestion des postes :
Figure B.8 : Interface Gestion des postes.
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
88
Le bouton Ouvertures affiche la fenêtre suivante :
Figure B.9 : Interface Gestion des Ouvertures d'un poste.
Le bouton Médecins préférés affiche la fenêtre suivante :
Figure B.10 : Interface Gestion des Préférences.
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
89
Figure B.11 : Interface principale.
Conditions intempestives
Comme nous l'avons précisé auparavant, ce que l'on entend par conditions intempestives
au sein d'un planning est la défaillance d'une ou de plusieurs ressources (humaines ou
matériels) à un moment de la réalisation de ce planning. Dans ce qui suit nous allons
présenter les étapes exécutés par notre logiciel pour la gestion de ces conditions.
Définition de types de défaillance
A partir du menu suivant, l'utilisateur détermine le type de défaillance de ressources :
humaine ou matériel.
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
90
Défaillance de ressources humaines :
L'utilisateur doit indiquer le nom du médecin absent.
Type d'absence
A partir de la fenêtre suivante, l'utilisateur doit indiquer le cas d'absence :
Cas déterministe : Dans ce cas connaît la durée pendant laquelle le médecin X sera absent,
Cas non déterministe : Où on ne connaît pas une telle durée.
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
91
Cas déterministe
Si on est dans le cas déterministe, l'utilisateur indique le nombre de période où le
médecin sera absent, et aussi la plage .
Dans le cas non déterministe l'utilisateur fait entrer le nombre estimé de périodes
correspondant à l'absence du médecin.
L'utilisateur clique ensuite sur le bouton Terminer pour valider l'opération et effectuer la
mise à jour du planning.
Exemple de validation
Dans cet exemple le médecin Seghir est déclaré absent, après l'exécution des étapes
précédentes, le médecin Seghir est remplacé par le médecin Aksa.
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
92
Défaillance de ressources matérielles :
L'utilisateur doit indiquer le service où le matériel est tombé en panne.
.
Annexe B PRESENTATION DE QUELQUES STRUCTURES DE DONNEES ET D'INTERFACES
93
Type de panne
A partir de la fenêtre suivante, l'utilisateur doit indiquer le type de panne :
Cas déterministe : Dans ce cas on connaît la durée pendant laquelle le matériel restera en
panne avant réparation.
Cas non déterministe : on ne connaît pas la durée exacte pour réparer un tel matériel.
Cas déterministe
Si on est dans le cas déterministe, l'utilisateur indique le nombre de périodes nécessaires
pour réparer le matériel.
Dans le cas non déterministe l'utilisateur va entrer le nombre de périodes estimé pour
réparer le matériel.
Après cette dernière étape l'utilisateur clique sur le bouton Terminer pour valider l'opération
et effectuer la mise à jour du planning.
BIBLIOGRAPHIE
94
BIBLIOGRAPHIE
[ABR 1991] : D. Abramson, «Constructing School Timetables using Simulated Annealing: Sequential and Parallel Algorithms», Management Science 37, pp. 98-113. 1991.
[ABR 1992] : D. Abramson, J. Abela, « A parallel genetic algorithm for solving the school timetabling problem », Appeared in 15 Australian Computer Science Conference, Hobart, pp 1-11, Feb 1992.
[AIK 2001]: Aiken Linda et al., «Nurses Report on Hospital Care in Five Countries », Health Affairs, Vol 20, No. 3 (2001), pp. 43-53.
[ASA 2000] : «Automated Scheduling, Optimisation and Planning», (ASAP) Research Group. Report 1999-2000. URL: http://www.asap.cs.nott.ac.uk.
[BAB 1995] : M. BABES, « Conception d’un logiciel en traitement interactif de problèmes d’emploi du temps et d’ordonnancement », Thèse d’état, Institut d’informatique, Université de Annaba, 1995.
[BAU 1999] : P. Baudet, C. Azzaro-Pantel, S. Domenech et L. Pibouleau, « Algorithme génétique et modèle de simulation pour l'ordonnancement d'un atelier discontinu de chimie », RAIRO Recherche Opérationnelle Vol. 33, Num. 3, pp 299-234 July-September 1999.
[BGU 2000] : Research Group - Computer Science (BGU) « Solving Employee Timetabling Problems - Modelling and Algorithms» 2000. URL : http://www. cs.bgu.ac.il/~am/ETP_Home/.
[BLU 2002] : Christian Blum, Sebastiao Correia, Marco Dorigo, « A GA evolving instructions for a timetable builder ». Proceedings of the 4th International Conference on the Practice And Theory of Automated Timetabling (PATAT 2002).
[BOG 1996] : Julian Eugene Boggess, « Using Genetic Algorithms For Scheduling Engineering Missions », Proceedings of TAITS : TECOM Artificial Intelligence Technology Symposium '96.
[BRU 1993]: M. J. Brusco and L. W. Jacobs, « A simulated annealing approach to the cyclic staff-scheduling problem », Naval Research Logistics, 40:69–84, 1993.
[BUR 1991] : E.K.Burke, D.G.Elliman, R.Weare, « A University Timetabling System based on Graph Colouring and Constraint Manipulation ». Journal of Research on Computing in Education Vol. 27, Iss. 1, pp. 145-153. 1991.
BIBLIOGRAPHIE
95
[BUR 1994a] : Edmund Burke, David Elliman and Rupert Weare, « A Genetic Algorithm for University Timetabling » Proceedings of the “AISB” workshop on Evolutionary Computing (University of Leeds, UK, 11th-13th April 1994).
[BUR 1994b] : Edmund K. Burke and Alistair J. Smith, « A Memetic Algorithm for the Maintenance Scheduling Problem » In Proceedings of the International Conference on Neural Information Processing and Intelligent Information Systems Vol 1, pp469–473, Springer Eds. 1994.
[BUR 1994c]: Edmund Burke, David Elliman and Rupert Weare, « A Genetic Algorithm Based University Timetabling System », Proceedings of the 2nd East-West International Conference on Computer Technologies in Education (Crimea, Ukraine, 19th-23rd Sept 1994), vol 1, pp 35-40, 1994.
[BUR 1995a]: Edmund Burke, David Elliman and Rupert Weare, « Specialised Recombinative Operators for Timetabling Problems ». Proceedings of the AISB Workshop in Evolutionary Computing, Springer-Verlag Lecture Notes in Computer Science Series No 993, Heidleberg, 1995.
[BUR 1995b] : E.K.Burke D.B. Varley, « A Genetic Algorithms Tutorial Tool for Numerical Function Optimisation » Proceedings of ITiCSE Conference on Integrating Technology into Computer Science Education Uppsala University, Uppsala, Sweden June 1-5, 1995.
[BUR 1995c] : E. K. Burke, J. P. Newall and R. F.Weare, « A Memetic Algorithm for University Exam Timetabling » Proceedings of the First International Conference on the Practice and Theory of Automated Timetabling (ICPTAT-95), 496-503.
[BUR 1995d]: Edmund K. Burke Dave G. Elliman Rupert F. Weare, « A Hybrid Genetic Algorithm for Highly Constrained Timetabling Problems » Proceedings of the 6th International Conference on Genetic Algorithms (ICGA'95, Pittsburgh, USA, 15th-19th July 1995), pp 605-610, Morgan Kaufmann, San Francisco, CA, USA.
[BUR 1998] : E.K. Burke, J.P. Newall, R.F. Weare, « A Simple Heuristically Guided Search for the Timetable Problem » Proceedings of the International ICSC Symposium on Engineering of Intelligent Systems, pp.~574--579, 1998.
[BUR 2000] : Edmund Burke, Yuri Bykov, Sanja Petrovic, « A Multicriteria Approach to Examination Timetabling » In: Burke E.; Erben W.\ (eds.): Practice and Theory of Automated Timetabling III Third International Conference, PATAT 2000, Konstanz, Germany, August 16-18, 2000.
[BUR 2001a] : Edmund Burke, Yuri Bykov, James Newall and Sanja Petrovic, «A Time-Predefined Local Search Approach to Exam Timetabling Problems», Computer Science Technical Report No. NOTTCS-TR-2001-6.
BIBLIOGRAPHIE
96
[BUR 2001b] : E.K. Burke, P. Cowling, J.D. Landa Silva, S. Petrovic, « Combining Hybrid Metaheuristics and Populations for the Multiobjective Optimisation of Space Allocation Problems » Proceedings of the 2001 Genetic and Evolutionary Computation Conference (GECCO 2001), San Francisco, USA, pp. 1252-1259, July 7-11, 2001.
[BUR 2002] : Edmund Kieran Burke, and Sanja Petrovic « Recent Research Directions in Automated Timetabling » European Journal of Operational Research – EJOR, 2002.
[CAI 2000] : Cai X. et Li K.N., «A Genetic Algorithm for scheduling staff of mixed skills under multi-criteria», European Journal of Operational Research, 125: 359-369, 2000.
[CAO 1991] : V. Cao, O. du Merle, J.P. Vial «Un système de Confection automatisée des Horaires d'examens à la faculté des SES de l'université de Genève», Cahier de recherches N° 91.4, Dép. d'économie commerciale, Université de Genève, 1991.
[CHA 1989] : N. Chahal, D. de Werra «An interactive System for constructing Timetabling on a PC», European Journal of OR 40, 32-37. 1989.
[CHA 2002] : CHAN Yew Cheong, Peter, « La planification du personnel : acteurs, actions et termes multiples pour une planification opérationnelle des personnes », Thèse de doctorat, Institut IMAG, Université JOSEPH FOURIER-Greonoble 1. Octobre 2002.
[COL 1996] : Alberto Colorni, Marco Dorigo, Vittorio Maniezzo, « A genetic algorithm to solve the timetable problem. » Computational Optimization And Applications Journal 1996.
[COR 1994] : Dave Corne, Peter Ross, Hsiao-Lan Fang, « Evolutionary Timetabling : Practice, Prospects and Work in Progress », In Proceedings of UK Planning and Scheduling SIG Workshop, ed Patrick Prosser, Strathclyde, September '94.
[COS 1995] : D. Costa, «An evolutionary tabu search algorithm and the NHL scheduling problem», INFOR 33 (3), pp. 15-25, 1995.
[COW 2001]: Peter Cowling, Graham Kendall, Eric Soubeiga, « A Parameter-Free Hyperheuristic for Scheduling a Sales Summit » MIC’2001 - 4th Metaheuristics International Conference, 2001.
[DAN 1954] : Dantzig G.B., «A Comment on Edie's Traffic Delays at Toll Booths», Operational Research, 2(3) : 339-341, 1954.
[DEJ 1975] : K. De-Jong, «An analysis of the bihavious of a class of genetic adaptative systems», PhD thesis, University of Michigan, USA, 1975.
BIBLIOGRAPHIE
97
[DEL 1995] : D. Delahaye «Optimisation de la sectorisation de l’espace aérien par algorithmes génétiques ». PhD thesis, 1995.
[DEN 2001] : Cassio Dener N VINHAL, Wanderley de S ALENCAR « School/ College Timetabling Problem : A Hierarchical Constraint Logic Programming Approach Using Mozart Oz », In proceding of SCI 2001/ISAS 2001 VOLUME VIII (International Conference on Information Systems, Analysis and Synthesis), 2001.
[DES 2000] : K. Deschinkel, J.L. Farges and D. Delahaye «Optimisation of prices for air traffic control». In : 9th IFAC Symposium Control in Transportation Systems, 2000.
[DIA 1998] : R.B. Dial «A probabilistic multipath traffic assignment model which obviates path enumeration» Transportation Research, 5(2), 1998.
[FAN 1992] : Hsiao-Lan Fang, « Investigating Genetic Algorithm for Scheduling » MSc Thesis, Department of Artificial Intelligence, University of Edinburgh, 1992.
[FLE 1993]: C. Fleurent et J. A. Ferland, «Allocating game for the NHL using integer programming ». Operations Research 41 pp. 649-654, 1993.
[GAN 2002] : G. Cangini, «Une méthode hybride pour la confection d’horaires de médecins pour l’hôpital Côte-des-Neiges». Mémoire de maîtrise, CRT, GERAD & Ecole Polytechnique de Montréal, Département de Génie Électrique et de Génie Informatique. 2002.
[GAU 1995] : Gervais Gaudière, «Résolution de conflits aériens par réseaux de neurones » Rapport DEA IFP 1995.
[GEN 2001] : B. Gendron, «Adaptation d'un modèle mathématique de génération de colonnes pour les horaires de médecins», MIC’2001 - 4th Metaheuristics International Conference, 2001.
[GIL 1997] : Jaime Gil-Aluja, « The Interactive Management of Human Resources in Uncertainty », University of Barcelona, Hardbound, 1997.
[GLA 2001] : W. David Glasspool & John Fox, « REACT - A decision-support system for medical planning » presented at American Medical Informatics Association symposium, Philadelphia, US, 2001.
[GOL 1989]: D.E. Goldberg, «Genetic Algorithms in Search, Optimisation and Machine Learning», Addison-Wesley Publishing Co. Pub. 1989.
[GOL 2000] : Hans-Joachim Goltz, «Combined Automatic and Interactive Timetabling Using Constraint Logic Programming » PATAT 2000, Proceedings Int. Conf. on the Practice and Theory of Automated Timetabling, E. Burke and W. Erben (eds.) 2000.
BIBLIOGRAPHIE
98
[GRO 2001]: Matthias Grobner and Peter Wilke, « Optimizing Employee Schedules by a Hybrid Genetic Algorithm » In E.J.W. Boers et al., Applications of Evolutionary Computing, p.463-472, 2001.
[HAM 2000]: Jean-Philippe Hamiez et Jin-Kao Hao, « Recherche tabou et planification de rencontres sportives Tabu Search and sports league scheduling»12ème Congrès on Reconnaissance des Formes et de l'Intelligence Artificielle – RFIA’2000, Paris, Janvier 2000.
[HEN 1998] : M. Henz, «Scheduling a major college basketball conference – revisited», à paraître dans Operations Research, 1998.
[HEN 2000a]: C. Henrik Westerberg, John Levine «"GenPlan": Combining Genetic Programming and Planning » In Proc. of the 19th Workshop of the UK Planning and Scheduling Special Interest Group (PLANSIG 2000), Open University, Milton Keynes, UK, 2000.
[HEN 2000b]: C. Henrik Westerberg, John Levine « Optimising Plans using Genetic Programminig» 2000. URL : http://www. citeseer.ist.psu.edu/506374.html.
[HEN 2001]: C. Henrik Westerberg, John Levine « Investigation of Different Seeding strategies in a Genetic Planner » Proceedings of the 2nd European Workshop on Scheduling and Timetabling (EvoSTIM 2001) held at the 4th European Conference on Genetic Programming (EuroGP 2001), April 2001, Springer.
[HEN 1996] : Martin Hentz and Jorg Wurtz, « Contraint-Based Timetabling - a Case Study » Applied Artificial Intelligence,10:439-453,1996.
[HER 1992]: A. Hertz «Finding a Feasible Course Schedule Using Tabu Search» - Discrete Applied Mathematics 35, pp. 255-270. 1992.
[HOL 1971]: R. B. Hollstien, «Artificial genetic adaptation in computer control systems» , Phd thesis, university of Michigan, 1510B, 1971.
[HOL 1975] : J.H. Holland, «Adaptation in natural and artificial systems». University of Michigan Press, 1975.
[ION 1997] : Ion Muslea, « A general-purpose ai planning system based on the genetic programming paradigm », in Late Breaking Papers at the Genetic Programming 1997 Conference, J.R. Koza, Ed. CA, USA: Stanford University, pp. 157-164. 1997.
[JAU 2000] : B. Jaumard, P. Galinier «Méthode tabou pour l'organisation des soins à domicile», CRT, GERAD & Ecole Polytechnique de Montréal, Département de Génie Électrique et de Génie Informatique 2000.
BIBLIOGRAPHIE
99
[JEA 2000] : Jean-Philippe Rennard, « Genetic Algorithm Viewer : Démonstration d'un algorithme génétique », Avril 2000. URL: http://www. www.rennard.org/alife/french/gav.pdf
[JIN 1999] : Jin-Kao Hao, Philippe Galinier, Michel Habib, « Méthaheuristiques pour l’optimisation combinatoire et l’affectation sous contraintes », Revue d’Intelligence Artificielle, 1999.
[JOU 1995] : Jourdain A. et M. Frossard, «Les nouveaux outils de planification sanitaire», Actualité et Dossier en santé Publique Dossier N°. 11, pp. II-III (1995).
[KAL 1990]: D. Kalyanmoy and D. E. Goldberg, « A comparative analysis of selection schemes used in genetic algorithms », Technical report 90007, the clearinghouse for genetic algorithm, Department of engineering mechanics, the university of Alabama, Tuscaloosa, AL35487-2908, July 1990.
[KAM 1994]: Maria Kambi, David Gilbert, « Timetabling in Constraint Logic Programming », Proceedings of the 2nd World Congress on Expert Systems, Estoril (P), January 1994.
[KAN 2001] : Hitoshi Kanoh, Tsukuba, Ibaraki, « Solving timetabling problems using genetic algorithms based on minimizing conflict heuristics », Proceedings of the EUROGEN2001 Conference publisher: International Center for Numerical Methods in Engineering (Cmine), 2001.
[KER 1997] : Keramat Mansour, « Optimisation globale avec les algorithmes génétiques », Rapport N° SUP-0497-20 Avril 1997.
[KIN 2001] : Jeffrey H. Kingston, « Modelling timetabling problems with STTL ». In Proceedings of The Practice and Theory of Automated Timetabling, LNCS 2079, Springer Verlag, pp. 309-321, 2001.
[LAB 1998] : François Laburthe, « Contraintes et Algorithmes en Optimisation Combinatoire » Thèse d'état université PARIS VII, 1998.
[LEF 1996] : Yann Le Fablec, «Prévision de trajectoires d’avions par réseaux de neurones» Thèse en informatique Ecole Nationale de l’Aviation Civille Toulouse France. 1996.
[LEL 2001] : Alexandru Lelutiu, Mihaela Horea, Peter Olah, « About the Computer-Aided Time-Table Generation in an Education Information System » 2001. URL : http://www.citeseer.nj.nec.com.
[MAR 1999]: Marco D., Paolo Trverso, and Moshe Y. Vardi, « Strong Cyclic Planning Revisited ». Proceedings of the 5th European Conference on Planning: Recent Advances in AI Planning, p.35-48, September 08-10, 1999.
BIBLIOGRAPHIE
100
[MED 1994]: Frédéric Médioni, Nicolas Durand, Jean-Marc Alliot, « Algorithmes Génétiques et Programmation Linéaire appliqués à la résolution de conflits ATC », journal: Evolution Artificielle 94 (Toulouse).
[MEI 1997] : Amnon Meisels, Ehud Gudes and Gadi Solotorevsky, « Combining Rules and Constraints for Employee Timetabling » International Journal on Intelligence Systems 12, pp. 419-439, (1997).
[MEI 1999] : Amnon Meisels and Andrea Schaerf « Models and Representations of Employee timetabling Problems » 1999. URL: http://www.citeseer.ist.psu.edu/meisels99model.html.
[MER 2003]: Liam T.G. Merlot, Natashia Boland, Barry D. Hughes, and Peter J. Stuckey, « A Hybrid Algorithm for the Examination Timetabling Problem ». In Practice and Theory of Automated Timetabling IV Lecture Notes in Computer Science Volume 2740 pp.207-231 Gent, Belgium, August 2003.
[MIR 2001] : Mireille Palpant, Christian Artigues and Philippe Michelon « A heuristic for solving the frequency assignment problem ». LIA technical report, 255. 2001.
[NEM 1998]: G.L. Nemhauser et M. A. Trick, «Scheduling a major college basketball conference», Operations Research 46 (1), 1998.
[NIG 2000] : Romeo Sanchez Nigenda, XuanLong Nguyen & Subbarao Kambhampati, « AltAlt : Combining the Advantages of Graphplan and Heuristic State Search », In Proceedings of the International Conference on Knowledge-Based Computer Systems, pp. 409-421. Mumbai, India: NCST. 2000.
[NOR 1996] : Norman I. Badler, « MediSim : simulated medical corpsmen and casulties for medical forces planning and trainning » In Proceedings of the National Forum: Military Telemedicine On-Line Today Research, Practice, and Opportunities, 21-28. Los Alamitos, CA: IEEE Computer Society Press. 1996.
[ODI 1994] : A. Odijk Michiel, « Construction of periodic timetables Part II: An application ». Report 1994.
[OST 1982] : R. Ostermann, D. de Werra «Somme Experiments with a Timetabling System», OR Sepektrum 3, 1982.
[PAQ 2001] : F. Paquete, Carlos M. Fonseca, « A Study of Examination Timetabling with Multiobjective Evolutionary Algorithms », 2001. MIC'2001 - 4th Metaheuristics International Conference.
[PAR 1998] : Ariane Partouche, « Planification d'horaires de travail : Méthodologie, modélisation et résolution à l'aide de la Programmation Linéaire en Nombres Entiers et de la Programmation Par Contraintes », Thèse d'état université PARIS-DAUPHINE, 1998.
BIBLIOGRAPHIE
101
[PAU 2000] : Luis Paulo Reis, Eugénio Oliveira, « A Language for Specifying Complete Timetabling Problems » The 3rd International Conference on the Practice and Theory of Automated Timetabling (PATAT2000), Konstanze, Germany, August 2000.
[PEL 1999]: Christine Pelletier «Application des techniques d’aide à la décision à la planification sanitaire régionale». Doctorat thesis, JOSEPH FOURIER-Greonoble 1 University. October 1999.
[PES 2000] : Pesant, P. Galinier «Un modèle de programmation par contraintes pour la confection d’horaires d’infirmières» European Journal of Operational Research, 234: 156-167, 2000.
[QUA 1997] : D. Quagliarella and A. Vicini «Genetic algorithms and evoluation stratigies in design», Chapter Coupling genetic algorithms and gradient based optimization techniques, pp. 289-309, John Wiley and Sons, Sussex, England, 1997.
[REG 1998] : J. C. Régin, «Modeling and solving sports league scheduling with constraint programming» 1er Congrès de la société Française de Recherche Opérationnelle et Aide à la Décision (ROADEF) Paris, France, 1998.
[REG 1999] : J. C. Régin, «Sports scheduling and constraint programming», INFORMS, Cincinnati, mai 1999.
[ROS 1994] : Peter Ross, Dave Corne, Hsiao-Lan Fang, « Successful lecture Timetabling with Evolutioary Algorithms » in Applied Genetic and other Evolutionary Algorithms: Proceedings of the ECAI'94 Workshop, eds A.E.Eiben.
[SCH 1995a] : Schaerf A. et Schaerf M. «Local search techniques for high school timetabling». In Proceeding of the 1st international conference on the Practice and Theory of Automated Timetabling, pp. 313-323, 1995.
[SCH 1995b] : Schaerf A, « A survey of automated timetabling » Computer Science/ Department of Software Technology, Technical Report CS-R9567, 1995.
[SOC 2002] : Krzysztof Socha, Joshua Knowles, and Michael Sampels « A MAX-MIN Ant System for the University Course Timetabling Problem » Proceedings of 3rd International Workshop on Ant Algorithms (ANTS'2002), Brussels, Belgium, September 12-14, 2002.
[STA 1998] : Panagiotis Stamatopoulos, Efstratios Viglas, and Serafeim Karaboyas « Nearly optimum Timetable construction through CLP and intelligent search International Journal on Artificiel Intelligence Tools », Vol. 7, No. 4 (1998) 415-442, World Scientific Publishing Company. 1998.
[TAL 2001] : El-gazali Talbi, « Métaheuristiques pour l'optimisation combinatoire multi-objectif : état de l'art ». Lille : LIFL, 2001.
BIBLIOGRAPHIE
102
[TEL 1994] : Grant Telfar, « Generally Applicable Heuristics for Global Optimisation: An Investigation of Algorithm Performance for the Euclidean Traveling Salesman Problem » Master Theseis Victoria University of Wellington October 23, 1994.
[TER 1994] : B. J. Terril et R. J. Willis, «Scheduling the Australian state cricket season using simulated annealing», Journal of the Operational Research Society 45, pp. 276-280, 1994.
[THO 1996]: G. M. Thompson. «A simulated-annealing heuristic for shift scheduling using non-continuously available employees» Computers and Operations Research, 23(3):275–288, 1996.
[TRI 1980] : Tripathy A. «A Lagrangian Relaxation Approach to Course Scheduling», Journal of the Operational Research Society 31, 1980.
[VAL 2004] : Thomas Vallée et Murat Yildizoglu, « Présentation des algorithmes génétiques et de leurs applications en économie », Revue d'économie politique, vol 114(6), p.711-745, 2004.
[VIP 1992] : Vipin Kumar, « Algorithm for Contraint Satisfaction Problems : A survey » Appeared in AI Magazine 13(1) : 32-44, 1992.
[WEI 1994] : Georges Weil, Kamel Heus, Patrice François «Gymnaste : Aide à l'élaboration des roulements infirmiers. Du traitement des absences au management participatif» Informatique et Santé. Paris, Springer-Verlag France 1994.
[WER 1985]: De Werra D. «An Introduction to Timetabling», European Journal of Operational Research 40, 151-162. 1985.
[WHI 2001] : George M. White and Bill S. Xie, « Examination Timetables and Tabu Search with Longer-Term Memory » E. Burke and W. Erben (Eds.): PATAT 2000, LNCS 2079, pp. 85–103, 2001. Springer-Verlag Berlin Heidelberg, 2001.
[WRI 1994] : M. Wright, «Timetabling county cricket fixtures using a form of tabu search», Journal of the Operational Research Society 45, pp. 758-770, 1994.
[ZED 2004] : Abdallah ZEDAIRIA, Malika BABES « Une heuristique hybride pour résoudre un problème de planification dans un milieu hospitalier » Cisc'04 The International Conference on Complex Systems, September 6-8, 2004 Jijel, Algeria.