You are on page 1of 181

THESE

Prsente par

CHAN Yew Cheong, Peter


Pour obtenir le titre de

DOCTEUR de lUNIVERSITE JOSEPH FOURIER Grenoble 1


Spcialit : Informatique Formation doctorale : Recherche Oprationnelle tel-00004380, version 1 - 29 Jan 2004

La planification du personnel : acteurs, actions et termes multiples pour une planification oprationnelle des personnes
Date de soutenance : 22 Octobre 2002

Composition du Jury : Directeur de thse: Rapporteurs : Examinateurs: M. Georges Weil M. Abdelhakim Artiba M. Alain Guinet M. Jean Charles Pomerol M. Gerd Fink M. Eric Jacquet-Lagrze M. Jacques Demongeot

Thse prpare au sein du Laboratoire TIMC Institut IMAG

-1-

Table des matires


PREMIERE PARTIE : INTRODUCTION.................................................11
1

1.1. 1.2. 1.3.

LA PROBLEMATIQUE DE LA PLANIFICATION .................................... 13

1.4.
tel-00004380, version 1 - 29 Jan 2004

1.3.1. 1.3.2. 1.3.3. 1.3.4. 1.3.5.

Quest-ce que la planification ?.............................................. 13 Quest-ce quun bon planning ? ............................................. 15 Le contexte statique de la planification................................... 17
O faut-il planifier ? ....................................................... 17 Planifier quoi ? .............................................................. 18 Planifier qui ? ................................................................ 19 Lhorizon de planification ................................................ 19 Types de plannings ........................................................ 20

1.5.
2

1.4.1. 1.4.2. 1.4.3. 1.4.4. 1.4.5.

La dynamique de la planification ........................................... 21

2.1 La Construction des Horaires Journaliers : Modles PLNE............. 27


2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.1 2.3.2 2.3.3 2.4.1 2.4.2 2.4.3 2.5.1 2.5.2 Le modle explicite de Dantzig........................................... 28 Le modle implicite de Moondra ......................................... 29 Le modle implicite de Bechtold et Jacobs ........................... 30 Le modle implicite de Thompson....................................... 31 Le modle implicite de Jarrah............................................. 33 Modle implicite de Cai et Li .............................................. 33 Conclusion sur les modles PLNE ........................................ 34

1.5.1. Limites des solutions actuelles ........................................ 24 1.5.2. Nos propositions et objectifs............................................ 25 1.5.3. Limites du champ dinvestigation..................................... 26 LETAT DE LART .......................................................................... 27

Nos propositions.................................................................. 24

Les phases de planification ............................................. 21 La phase ordonnancement .............................................. 21 Le processus de planification prvisionnel......................... 22 Le planificateur.............................................................. 23 Le facteur humain dans les plannings............................... 23

2.2 Construction des Horaires Journaliers : Modles PPC................... 35

2.3 La construction de Tours Acycliques : Modles PLNE................... 39 2.4 La construction de tours : Modles PPC..................................... 42
Calcul des Journes Repos. Day-Off Scheduling.................... 39 La construction des tours................................................... 40 La construction intgre des vacations et tours .................... 42 Modles Primal et Dual...................................................... 42 La construction simultane des repos et tours...................... 43 Une comparaison des modles PLNE et PPC ......................... 43 Types de cycles ................................................................ 46 Des contraintes sur les cycles ............................................ 47
-2-

Le modle explicite de Partouche........................................ 35 Le modle implicite de Partouche-Moondra .......................... 35 Notre modle utilisant la contrainte cumulative.................... 36 Autres modles implicites .................................................. 38 Conclusion sur la construction de vacations par la PPC .......... 38

2.5 La construction de tours cycliques ............................................ 46

2.6 Mthodes de Recherche Stochastique ....................................... 50


2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.7.1 2.7.2 2.7.3 2.7.4 2.8.1 2.8.2 2.8.3 2.8.4 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5

2.5.3 2.5.4

La gnration de cycles ..................................................... 48 Le droulement de cycles avec relaxation............................ 49

2.7 Les algorithmes dapproximation .............................................. 59


La couverture densemble .................................................. 59 Lalgorithme Yehuda et Even.............................................. 60 Multiples couvertures densemble ....................................... 61 Conclusion ....................................................................... 61

Algorithmes gntiques ..................................................... 50 Algorithmes mimtiques.................................................... 53 Le recuit simul................................................................ 53 Recherche Locale.............................................................. 55 Recherche Tabou .............................................................. 55 Greedy Randomized Adaptive Search Procedures.................. 56 Conclusion sur les mthodes stochastiques.......................... 58

2.8 Les Systmes Interactifs dAide la Dcision............................. 63


tel-00004380, version 1 - 29 Jan 2004

2.9 Courbe de Charge et Dimensionnement .................................... 68

Le modle conceptuel dun systme logiciel ......................... 63 Les principes dun SIAD..................................................... 65 Le modle conceptuel dun SIAD ........................................ 66 Modles conceptuels dun logiciel de planning ...................... 67 La courbe de charge.......................................................... 68 Le dimensionnement de lquipe ........................................ 69 Le dimensionnement des vacations..................................... 72 Le dimensionnement tout au long de la rsolution................ 72 Conclusion sur le dimensionnement .................................... 73

DEUXIEME PARTIE : RECHERCHE.......................................................75


3

3.1 La gnration automatique des plannings acycliques .................. 77 3.2 Les spcifications des contraintes types .................................... 78
3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 Les proprits contextuelles............................................... 78 Les contraintes de charge .................................................. 79 Les contraintes daffectation ponctuelle ............................... 79 Les contraintes de disponibilit .......................................... 79 Les contraintes de vacation due ......................................... 80 Les contraintes de transition .............................................. 80 Les contraintes de rpartition............................................. 80 Les contraintes de composition........................................... 81 Critre doptimisation........................................................ 81 Laffectation des codes horaires.......................................... 82 Les contraintes de charge .................................................. 82 Les contraintes daffectation ponctuelle et de disponibilit..... 82 Les contraintes de vacation due ......................................... 83 Les contraintes de transition .............................................. 83 Les contraintes de rpartition............................................. 84 Les contraintes de composition........................................... 85
-3-

LE CALCUL DES TOURS EN PPC ..................................................... 77 3.1.1 3.1.2 Modle PPC ...................................................................... 77 Justification de la technique PPC ........................................ 77

3.3 La modlisation avec les contraintes globales ............................ 82

3.4 Les contraintes redondantes .................................................... 87 3.5 EQUITIME V3 : gnration sans retour arrire ........................... 89
3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.6.1 3.6.2 3.6.3 Notre motivation .............................................................. 89 Les choix gnraux du systme.......................................... 90 Exploitation de la symtrie ................................................ 92 Les algorithmes de base .................................................... 92 Ralisation des contraintes ................................................ 94 Priorit entre les contraintes .............................................. 95 3.4.1 3.4.2 3.4.3 Charge journalire ............................................................ 87 Charge totale ................................................................... 87 Contraintes de charge ....................................................... 88

3.3.8

Recherche de solution ....................................................... 86

3.6 LInterface utilisateur.............................................................. 96

3.7 Les limites des approches prcdentes.................................... 104


tel-00004380, version 1 - 29 Jan 2004

Modles conceptuels principaux dEQUITIME V3 ................... 96 Les outils annexes de planning........................................... 99 EQUITIME V4 : interface utilisateur .................................. 102 104 105 106 107 108

4.1 4.2 4.3

3.7.1 Les restrictions du modle ............................................... 3.7.2 La recherche de solutions par contraintes globales ............. 3.7.3 La gnration de solutions ............................................... 3.7.4 Conclusions.................................................................... LE DEROULEMENT DES CYCLES AUTOUR DES PRE-AFFECTATIONS ...........

4.2.1 4.2.2 4.2.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.1 4.4.2 4.4.3

Gnralits.......................................................................... 108 La dfinition du problme...................................................... 110

Le modle et son implantation ............................................... 114


La construction dun cycle hebdomadaire........................... Implantation de la contrainte de cycle............................... Implantation des contraintes de charge............................. Implantation des contraintes de repos journalier ................ Implantation des contraintes de congs annuels................. Implantation des contraintes supplmentaires ................... La relaxation des contraintes ...........................................

Les contraintes de base ................................................... 110 Les contraintes supplmentaires....................................... 112 La relaxation de contraintes............................................. 113 114 115 115 115 116 116 117

4.4 4.5

La recherche de solutions...................................................... 119

5.1 5.2

4.5.1 Rsultats thoriques et une justification de la PPC.............. 4.5.2 Une application complte et indpendante......................... 4.5.3 Conclusion ..................................................................... LES MODELES A MULTIPLES NIVEAUX DAGRE-GATION .................. 5.2.1 5.2.2 5.2.3 5.2.4 Le modle journalier ....................................................... Le modle mensuel......................................................... Le modle annuel ........................................................... Des variantes .................................................................
-4-

Nos rsultats et conclusions................................................... 121

La gnration de solutions ............................................... 119 Les conditions ncessaires de congs annuels .................... 119 Le traitement des ruptures .............................................. 120 121 121 122 128 130 131 131 132

La lgislation en matire de dures de travail et repos.............. 128 Les modles de base ............................................................ 129

5.3

5.4

5.3.1 5.3.2 5.3.3 5.3.4 5.4.1 5.4.2 5.4.3 5.4.4 5.5.1 5.5.2 5.5.3 5.6.1 5.6.2

Le modle multiples niveaux............................................... 133


Le schma gnral fonctionnel ......................................... La propagation inter - niveaux ......................................... Rsolution du MMN ......................................................... Comparaison du MSN et MMN........................................... 133 133 134 137

Conditions ncessaires en multiples qualifications .................... 138


Conditions ncessaires par intervalle ................................ Conditions ncessaires supplmentaires par intervalle ........ Conditions ncessaires dues au repos ............................... Application des conditions................................................

5.5 5.6 5.7

Mthodes heuristiques a un niveau......................................... 141 Schmas Gnraux Algorithmiques......................................... 151 Conclusions ......................................................................... 153
Le modle annuel ........................................................... 141 Le modle journalier : un exemple de traitement ............... 145 Le modle journalier : analyse et mthode ........................ 147

138 139 139 140

Le schma gnral algorithmique un niveau.................... 151 Le schma gnral algorithmique multiples niveaux......... 152

tel-00004380, version 1 - 29 Jan 2004

TROISIEME PARTIE : CONCLUSIONS ...............................................154


6

6.1 6.2 6.3

CONCLUSION ............................................................................ 156 6.2.1 6.2.2

Rtrospective....................................................................... 156 Bilan................................................................................... 158 Perspectives ........................................................................ 160

Contributions de ce travail ............................................... 158 Rsultats ....................................................................... 159

7.1 7.2 7.3 7.4

6.3.1 Modles......................................................................... 160 6.3.2 Mthodes....................................................................... 160 ANNEXES .................................................................................... 162

Glossaire ............................................................................. 162 Bibliographie........................................................................ 170 Index des rfrences par auteur ............................................ 177 Liste des publications par auteur ............................................ 179

-5-

Liste des Figures Figure 1.1. Schma SADT A0 illustrant le problme de la planification ........................... 14 Tableau 1.2. Dfinitions de diffrents niveaux de planning. ............................................. 14 Figure 1.3. Un problme multicritre, adapt de [Par98] .................................................. 15 Figure 1.4. Un bon planning rsulte souvent des compromis des diffrents acteurs ....... 15 Figure 2.5. Construction des horaires journaliers ............................................................. 27 Figure 2.6. Vacations avec pauses : 30 variables ............................................................ 29 Figure 2.7. Modle Moondra avec 9 variables.................................................................. 30 Figure 2.8. Modle de Thompson : 14 variables............................................................... 32 Figure 2.9. Modle dAykins [Ayk96]................................................................................. 33 Figure 2.10. Modle de Jarrah et al. ................................................................................. 33 Figure 2.11. Modle de Cai et Li [CL00] ........................................................................... 34 Figure 2.12. Modle explicite de Partouche...................................................................... 35 Figure 2.13. Modle implicite de Partouche Moondra ................................................... 36 Figure 2.14. Dfinition de la contrainte Producteur/Consommateur ................................. 37 Figure 2.15. Adaptation la couverture de la courbe des charges .................................. 37 Figure 2.16. Autre modle implicite .................................................................................. 38 Figure 2.17 Calcul des journes de repos ........................................................................ 39 Figure 2.18 Calcul des journes de repos : matrice inverse............................................. 40 Figure 2.19 Modle de flot hebdomadaire, repris de [CGL01].......................................... 41 Figure 2.20 Un planning avec des variables dual............................................................. 43 Figure 2.21 Cycle hebdomadaire de [LNB80] ................................................................... 46 Figure 2.22 Cycle hebdomadaire de [Lap99].................................................................... 47 Figure 2.23 Planning de 12 semaines propos dans [Par98] ........................................... 48 Figure 2.24 Le schma global dun algorithme mimtique................................................ 53 Figure 2.25 Lalgorithme du recuit simul ......................................................................... 54 Figure 2.26 Lalgorithme de recherche tabou ................................................................... 56 Figure 2.27 Lalgorithme GRASP daprs [RR01]............................................................. 57 Figure 2.28 Lalgorithme de Behuya et Even .................................................................... 60 Figure 2.29 Les diffrents types de modles conceptuels daprs Norman ..................... 63 Figure 2.30 Modle conceptuel dun SIAD ....................................................................... 66 Figure 2.31 Un diagramme de Gantt................................................................................. 67 Figure 2.32. Besoins dans lintervalle i considr ............................................................ 68 Figure 3.33. Le schma gnral du moteur de planification ............................................. 90 Figure 3.34. Le schma algorithmique dEQUITIME......................................................... 91 Figure 3.35. Nud disjonctif dans un arbre de recherche : exemple dune variable ayant comme domaine {M, S} et les besoins du jour sont 3 matins et 2 soirs ..................... 92 Figure 3.36. Lalgorithme principal moteur de planification .............................................. 94 Figure 3.37. Modle conceptuel en T du tableur de planification ............................... 96 Figure 3.38. EQUITIME Version 3 avec lcran des annulations...................................... 97 Figure 3.39. EQUITIME Planning Annuel ......................................................................... 99 Figure 3.40. EQUITIME Planning Post ......................................................................... 100 Figure 3.41. EQUITIME Vue Soldes ............................................................................... 101 Figure 3.42. EQUITIME Vue Cumuls et son paramtrage .............................................. 101 Figure 3.43. EQUITIME Version 4 : vue globale............................................................. 102 Figure 3.44. EQUITIME Version 4 avec un seul cadran ouvert ...................................... 103 Figure 4.45. Intgration dune quipe volante dans un cycle de 4 semaines ou un cycle de 5 jours ...................................................................................................................... 109 Figure 4.46. Exemple dun cycle de 5 jours et un cycle de 4 semaines.......................... 110

tel-00004380, version 1 - 29 Jan 2004

-6-

Figure 4.47. Application directe dun cycle journalier de 5 jours pour 5 ressources. On obtient un planning hebdomadaire analogue en remplaant les codes Di par W i : lintervalle est une semaine. .................................................................................... 111 Figure 4.48. Application dun cycle 5 jours sur 21 jours avec un cong de 10 jours.... 112 Figure 4.49. Application dun cycle 4 semaines sur 16 semaines avec un cong de 3 semaines.................................................................................................................. 112 Figure 4.50. Travail essentiel dans un cycle de 5 jours.................................................. 113 Figure 4.51. Transformer un cycle 5-jours en un cycle hebdomadaire de 4 jours. La contrainte de charge est toujours respecte chaque jour. ....................................... 114 Figure 4.52. Rallonger un cycle de 5 jours en un cycle de 6 jours (W 6- W 11) ................. 116 Figure 4.53. Cycle hebdomadaire sur 3 jours, dduit du cycle journalier de 5 jours ...... 117 Figure 4.54. Modle Pair/Impair de N=4 pour 3 semaines de congs annuels .............. 119 Figure 4.55. Nombre insuffisant de codes pairs et impairs par semaine ........................ 120 Figure 4.56. Planning avec des semaines sans congs, donnant 2 W 1 et 2 W 2 par semaine ................................................................................................................... 120 Tableau 5.57. Variables et contraintes aux diffrents niveaux ....................................... 128 Figure 5.58. Gnralits sur les modles ....................................................................... 129 Figure 5.59. Annualisation .............................................................................................. 129 Figure 5.60. Le modle journalier ................................................................................... 130 Figure 5.61. Le modle mensuel..................................................................................... 131 Figure 5.62. Le modle annuel ....................................................................................... 132 Figure 5.63. Produire un planning mensuel .................................................................... 133 Figure 5.64. Exemple dun planning avec 3 employs et 2 qualifications....................... 139 Figure 5.65. Condition de repos applicable sur 7 priodes (avec N=12 et HCM=6) ...... 140 Figure 5.66. Distances pour valuer les semaines dans le modle annuel.................... 142 Figure 5.67. Rsolution dun besoin en q au niveau annuel dans la situation o e1 qualifi na plus dheures, e2 a encore des heures mais non qualifi et une qualification commune q1 ......................................................................................... 144 Figure 5.68. Rsolution dun besoin q au niveau annuel dans la situation o e1 qualifi na plus dheures, e2 a des heures mais non qualifi en q et sans qualification commune entre e1 et e2 ............................................................................................ 145 Figure 5.69. Heuristique dans le modle journalier ........................................................ 146 Figure 5.70. Rgle de rsolution dans le temps ............................................................. 148 Figure 5.71. Rgle de rsolution parmi les salaris........................................................ 149 Figure 5.72. Rgle de rsolution combine .................................................................... 149 Figure 5.73. Le schma gnral de lalgorithme de recherche un niveau ................... 151 Figure 5.74. Le schma gnral de lalgorithme de recherche deux niveaux.............. 152 Figure 6.75. Rsolution du MMN avec PLNE ................................................................. 161 Figure 6.76. Algorithme de Backtrack............................................................................. 163

tel-00004380, version 1 - 29 Jan 2004

-7-

La planification du personnel THESE La planification du personnel : acteurs, actions et termes multiples pour une planification oprationnelle des personnes. Rsum Objectifs Lun des objectifs de cette thse est la caractrisation de la problmatique de la planification des ressources humaines. La planification dans les entreprises est dune trs grande complexit car elle mlange de faon intime la vie sociale et familiale et les contraintes professionnelles la fois des dirigeants de lentreprise, des responsables fonctionnels, des responsables de proximit et des salaris. Les volumineux travaux proposs dans ce domaine depuis de nombreuses dcennies sont tmoins de lintrt conomique et social que lui accorde la communaut scientifique. Les objectifs pratiques de la thse sont lanalyse et limplantation de mthodes logicielles en sappuyant sur la Programmation Par Contraintes (PPC). Ces travaux comprennent deux projets de collaboration entre lUniversit Joseph Fourier et lindustrie : Gymnaste (avec COSYTEC S.A.) et Equitime (avec EQUITIME S.A.). Un troisime travail MOSAR a t ralis pour le compte du Ministre de la Justice. Par rapport aux mthodes usuelles, ces travaux permettent de tenir compte des contraintes et prfrences individuelles, et de tenir compte des connaissances que dtiennent les utilisateurs en leur permettant de participer activement la planification. La thse a aussi permis de nombreuses contributions scientifiques autour du thme Modle Multi-Niveaux. Or, la lgislation du travail en vigueur inclut diverses restrictions au niveau journalier, hebdomadaire, mensuel et annuel. Il faut des modles et mthodes nouvelles pour produire des plannings lgaux. Motivation Les ressources humaines se trouvent lorigine du succs de toute entreprise, partir de 2 personnes. Mme lchelle dun pays, les dirigeants de Singapour ont signal ds les annes 1970 que cette nation-le na aucune ressource si ce nest les hommes et femmes qui la constituent. Ce renseignement qui a marqu ma jeunesse, retrouve son cho tous les jours dans la vie professionnelle que je mne depuis plus de dix ans. Remerciements Jai rsolu mon premier problme daffectation du personnel (les conducteurs de mtro ) en 1988, lorsque jtais Consultant en Intelligence Artificielle chez BULL dtach Singapour. Depuis, jai t impliqu dans des projets de planning du personnel pour les surveillants au Grand Louvre, pour les oprationnels la Bibliothque F. Mitterrand, pour les gardiens de prisons au Ministre de la Justice, pour les diffrents corps de mtier Radio France Outre-Mers, pour le personnel de sant (hpitaux et cliniques) et tout dernirement pour les sapeurs-pompiers en Rhne-Alpes. Jai enfin dcid de publier un mmoire de recherche sur ce thme de prdilection, grce lappui de Georges Weil, qui est devenu mon Directeur de Thse. Je tiens le remercier tout spcialement pour mavoir guid au cours de ces annes de recherche, -8-

tel-00004380, version 1 - 29 Jan 2004

La planification du personnel malgr le peu de temps que lui laisse le management des affaires de la socit quil a fonde et quil dirige. Je tiens remercier les professeurs Artiba et Guinet davoir accept la lourde charge dtre rapporteurs de cette thse. Je remercie galement le jury pour le crdit quils accordent ce travail. Je souhaite remercier M. le Professeur Jacques Demongeot de mavoir accueilli au sein du laboratoire TIMC et mavoir permis de raliser cette thse dans dexcellentes conditions. Je noublierai pas les tudiants et dautres salaris de la socit EQUITIME qui mont aids dans mon travail de recherche. Notamment Rmy Joseph, Soizic Adam et Tahar Zemmouri. Plan du mmoire Le mmoire est divis en trois parties : la premire sert dintroduction la planification avec les chapitres 1 et 2, la deuxime prsente les travaux de recherches au chapitres 3, 4 et 5, et la dernire contient la conclusion chapitre 6 et divers annexes. Lintroduction au chapitre 1, met en scne la problmatique de la planification des ressources humaines et sa complexit au quotidien dans les entreprises. Il permet de mieux comprendre les diffrents objectifs de planification. Ensuite, les objectifs de ce travail seront abords en dtail. Le chapitre 2 proposera un rsum de ltat de lart en matire de planification, avec un inventaire des modles et mthodes utiliss au cours des 50 dernires annes. On soulignera les avantages et les limites de chaque mthode. Nous prsenterons Gymnaste, un systme de gnration automatique de planning acyclique au chapitre 3. Ce travail mettra en vidence les modles individuels en PPC et la rsolution via les contraintes globales du systme CHIP. Ensuite, nous prsenterons Equitime un produit industriel sappuyant sur des spcifications analogues, mais utilisant un solveur maison ralis en Visual Basic. Laspect dynamique de la planification sera illustr par linterface homme-machine, permettant de mler des pratiques de gnration base de cycles, la gnration acycliques et les modifications manuelles. Le chapitre 4 prsentera le systme de droulement automatique des cycles de travail : MOSAR. Afin de rendre les plannings plus humains, ce systme permet de relaxer les contraintes de cycle autour des congs annuels, tout en conservant des traits de base du cycle et en respectant les contraintes spcifies par les utilisateurs. Divers modles originaux ont t mis conus et mis en uvre avec les contraintes globales. Au chapitre 5, nous prsenterons un nouveau type de modle intgrant plusieurs multiniveaux dagrgations simultanment. Effectivement, la lgislation franaise agit plusieurs chelles de temps (journalier, hebdomadaire, mensuel et annuel). Nous prsenterons les grandes lignes de cette mthode ainsi que les premiers rsultats.

tel-00004380, version 1 - 29 Jan 2004

-9-

La planification du personnel Le chapitre 6 conclut la thse et prsente des indications des suites possibles de travaux. Parmi les annexes, on compte un glossaire, une bibliographie, et organiss par auteur un index des citations et liste des publications cites.

tel-00004380, version 1 - 29 Jan 2004

- 10 -

PREMIERE PARTIE : INTRODUCTION

Cette partie prsente lintroduction au mmoire de thse. Elle se compose des chapitres suivants : 1. La problmatique de la planification : Le premire chapitre prsente la problmatique analyse, ainsi que nos propositions pour le travail de recherche en le justifiant. a. Quest-ce que la planification b. Quest-ce quun bon planning c. Le contexte statique de la planification d. La dynamique de la planification e. Nos propositions

tel-00004380, version 1 - 29 Jan 2004

2. Ltat de lart : Le deuxime chapitre prsente la trs riche documentation sur les techniques appliques dans ce domaine. a. La construction des horaires journaliers par PLNE b. La construction des horaires journaliers par PPC c. La construction de tours acycliques en PLNE d. La construction de tours acycliques en PPC e. La construction de tours cycliques f. Les mthodes de recherche stochastique g. Les algorithmes approchs h. Les Systmes interactifs daide la dcision i. La Courbe de charge et dimensionnement des quipes

- 11 -

tel-00004380, version 1 - 29 Jan 2004

- 12 -

La problmatique

1
Rsum

LA PROBLEMATIQUE DE LA PLANIFICATION

Ce chapitre est consacr la prsentation de la problmatique planification dune part, et dautre part la prsentation du travail de cette thse. Pour mieux cerner ce quest la planification ainsi que la complexit inhrente sa ralisation, nous commenons par donner les diff rentes dfinitions sous plusieurs formes. Ensuite nous largissons les dfinitions pour traiter le contexte statique autour de la planification, et enfin ses aspects dynamiques dans llaboration des plannings. Nous prsentons les objectifs de cette thse dans le domaine de la planification, ainsi que nos propositions pour rsoudre le problme de production dun planning.

1.1.
tel-00004380, version 1 - 29 Jan 2004

QUEST-CE QUE LA PLANIFICATION ?

Afin de rester prenne dans lconomie globale moderne, toute entreprise doit organiser et planifier le travail de ses salaris. Cela passe par la dtermination des capacits de tout un chacun, par le recensement des activits futures et des besoins en personnel. Lentreprise doit satisfaire ces derniers en affectant la bonne personne, la bonne place au bon moment. Cela sous-entend la satisfaction simultane des aspects JuSTE : o Juridique : la lgislation franaise en matire de droit du travail (dures de travail et de repos) sur diffrents horizons de temps (journalier, hebdomadaire, mensuel et annuel) o Social : rpartition quitable des tches entre salaris, entre hommes et femmes, avec respect des indisponibilits, prfrences individuelles et autres souhaits des salaris. Rpartition quitable du temps de travail et du repos. o Technique : les rglements des diffrents mtiers de lentreprise (prise en compte des comptences et des niveaux requis) o Economique : Respect des besoins de lentreprise chaque moment de lhorizon de planification. Cela se prsente comme la meilleure adaptation de lnergie disponible aux charges chaque moment de lhorizon. On cherche ne pas dpenser inutilement cette nergie. Les cots salariaux peuvent reprsenter jusqu 70% du budget oprationnel dans un tablissement de soins [WHC+98]. Afin dapprhender concrtement la problmatique de la planification, voici plusieurs dfinitions. Dfinition oprationnelle de la planification Pour le planificateur professionnel, la planification est un processus global dcrit par le schma SADT suivant :

- 13 -

La problmatique Evnement Le 15 du mois pour le mois prochain Donnes Dynamiques Disponibilits Absences prvues Besoins ou charges

Planification

Rsultats Plannings individuels

Donnes Statiques Les Employs et leurs caractristiques : comptences, prfrences et historique Lgislation sur le travail : Contraintes sur la dure maximale du travail Contraintes sur la dure minimale de repos Figure 1.1. Schma SADT A0 illustrant le problme de la planification tel-00004380, version 1 - 29 Jan 2004 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 diffrentes contraintes soient satisfaites. Dfinition mathmatique de la planification La planification peut tre dfinie sous la forme de fonction mathmatique qui associe un salari et un intervalle de temps une affectation. Voici plusieurs exemples de fonctions de planification des intervalles de temps de taille diffrente et daffectations diffrentes, compte tenu de la lgislation en vigueur (Loi Aubry) : Tableau 1.2. Dfinitions de diffrents niveaux de planning.
Au niveau journalier Priode = 15, 30 ou 60 fj (Salari, Priode) = Activit/Comptence minutes Sur la journe, cette fonction permet de dterminer les heures de prsence du salari (ce qui dfinit sa vacation) et ses activits de la journe Au niveau mensuel, fm (Salari, Jour) = Vacation Priode = 1 jour Pour le mois (ou la semaine), cette fonction permet de dterminer la suite des vacations du salari pour la semaine ou le mois Au niveau annuel fa (Salari, Semaine) = Nombre dheures de travail Priode = 1 semaine Cette fonction permet de dterminer le nombre dheures travailles sur lanne

Le tableau ci-dessus sera complt des formules reprsentant des contraintes au chapitre 5. Comme le dcrit [Par98], on remarque la prsence de plusieurs modles distincts diverses granularit temporelles. Le niveau journalier correspond au problme de construction de vacations et le niveau mensuel celui de grilles.

- 14 -

La problmatique

1.2.

QUEST-CE QUUN BON PLANNING ?

Si un planning est facile obtenir, un bon planning lest beaucoup moins. Sagissant des personnes, le cot dun planning nest pas la somme des cots horaires des employs. En effet, la planification est rendue beaucoup plus complexe avec les contraintes et souhaits individuels. La satisfaction des salaris est un facteur important sur leur motivation et leur productivit. Il faut aussi tenir en compte les cots indirects : la formation, les dlais dembauche ou de licenciement, la sant et la scurit des salaris. Compte tenu des diffrents points de vue au sein dune mme entreprise, des contraintes complexes et parfois contradictoires, crer un bon planning implique la fois une ngociation entre le planificateur et les diffrents employs concerns, et un calcul doptimisation combinatoire.
Qualit de service
Satisfaire la demande dans les meilleures conditions (notamment de dlai) + Souplesse dans la planification

tel-00004380, version 1 - 29 Jan 2004

Planification dhoraires
Cots salariaux engendrs par
+ lentreprise la planification

Satisfaction sociale
Respects de prfrences individuelles + Horaires normaux et prvisibles

Figure 1.3. Un problme multicritre, adapt de [Par98] Pour le chef dentreprise, le bon planning permet de dimensionner la force de travail au plus juste et dutiliser ses ressources au bon moment pour fournir le meilleur service au meilleur cot. Cela est synonyme de rduction des heures supplmentaires, des cots lis aux alas imprvus ou des contrats dure dtermine.

Figure 1.4. Un bon planning rsulte souvent des compromis des diffrents acteurs Le planificateur, afin de respecter les impratifs de productivit et de demandes des clients, veut disposer dune souplesse suffisante en main duvre permettant de traiter les imprvus quotidiens. Le commercial lui, exige pour son client une qualit de service irrprochable dans les dlais impartis.

- 15 -

La problmatique Pour le syndicaliste, un bon planning doit respecter sans scrupule la lgislation sur le temps de travail et sur le repos des employs, ainsi que les conventions collectives des diffrents mtiers de lentreprise. Le salari recherche une satisfaction sociale de son travail, par rapport ses contraintes de disponibilits, par rapport ses prfrences ou par rapport lquit de traitement. Le bon planning permet au salari de travailler quand il veut et limite le recours aux horaires atypiques (pour chaque salari), lui permettant dorganiser son temps libre.

tel-00004380, version 1 - 29 Jan 2004

- 16 -

La problmatique

1.3.

LE CONTEXTE STATIQUE DE LA PLANIFICATION

Pour mieux comprendre la problmatique de la planification, nous envisageons dans ce paragraphe les diffrents aspects statiques de la planification.

1.3.1.

O faut-il planifier ?

Le problme du planning est central dans toutes les entreprises disposant des ressources humaines que ce soit dans le secteur de lagriculture, de lindustrie ou dans le secteur tertiaire. Il est dautant plus ardu lorsque le travail doit tre continu. > 8H/J : le repos journalier des salaris organiser > 5J/7 : le repos hebdomadaire prvoir > 35H/Semaine : les congs annuels et lannualisation grer

Cest le cas notamment dans les services autonomes suivants : tel-00004380, version 1 - 29 Jan 2004 Industrie : sidrurgie (industrie dite feu continu) Services dans les hpitaux : [WP72], [AR81], [BS93] Services dans les aroports : agents au sol [JM88], [Che91], [Jaq+98] Services pnitenciers [CW00], casernes de pompiers, commissariats de police et gendarmerie Services dans les centres de loisir : Disneyland, etc.

Dautres exemples dans le domaine tertiaire : Agents de page [Dan54], [BP73] Oprateurs tlphoniques [Seg74], [HB76], [Kei79] Services postaux : [Jar+94] Caissiers de supermarchs [Tho88]

En fait, le problme de planning apparat systmatiquement dans les situations suivantes : 1. Si le travail doit tre assur pendant plus dune journe (7H12 si 36H par semaine) il faut prvoir la succession de plusieurs personnes sur le mme poste dans la journe. Un outil daide est ncessaire lorsque le nombre de postes dpasse la quinzaine, par exemple pour grer les absences imprvues des salaris (pour cause de maladie, accidents, etc.). 2. Si le travail doit tre assur pendant plus de 35 H par semaine, un outil automatique devient indispensable lorsque le nombre de postes dpasse la trentaine pour grer la succession de plusieurs personnes dans la semaine, ainsi que les absences imprvues.

- 17 -

La problmatique

1.3.2.

Planifier quoi ?

En se limitant la planification des ressources humaines (sans prendre en considration les ressources matrielles), il faut dcider si lon planifie les horaires de prsence du personnel ou les tches effectues par le personnel. La planification des horaires de prsence : Un planning peut tre utilis pour prvoir les horaires de prsence du personnel, sans prciser les tches journalires effectuer. Dans certains services, on ne peut affecter quun certain nombre de personnes pour chaque heure quel que soit le besoin rel, pour des raisons de postes disponibles ou de budget fixe. Cette pratique se rencontre aussi lorsque la direction souhaite cacher le dtail des affectations des tches, pour des raisons soit de scurit (afin de djouer toute complicit des agents avec des lments relevant de leur poste de travail), soit pour une meilleure souplesse au jour le jour (surtout dans des petites et moyennes entreprises). Il nexiste aucune obligation lgale de communiquer laffectation des tches au personnel. Pour chaque vacation, on connat les besoins en nombre de personnes. Lemplacement de lactivit (guichet i, machine j, etc.) est volontairement ignor pour rduire la complexit du calcul. Sur un horizon de plusieurs semaines ou mois, la planification se ralise en fonction des poids horaires hebdomadaires. Effectivement, la lgislation franaise prvoit une moyenne hebdomadaire qui ne dpasse pas la limite de 38 heures sur tout horizon de 12 semaines glissantes. La planification des tches : Dans les entreprises haute technicit, comportant de nombreux mtiers et comptences distincts, lorsquun besoin non satisfait se traduit en perte daffaires, il est souhaitable daffecter le personnel en fonction des tches. Cela exige dune part une dcomposition fine des oprations ou des tches en gammes opratoires, dautre part, le reprage des tches que chaque personne est capable daccomplir. Le planning se distingue en fonction du type des tches planifier : Tches scables ou non : dtermination des pauses et leur dure Tches qui se chevauchent sur 24 H, gnrant un planning dit continu . Dans un planning dit discontinu, on pourra planifier jour par jour. Tches lies un lieu gographique ou lies un dplacement gographique : il faut donc considrer le temps de transport ou le temps pass hors dpt. Exemple des transporteurs par avion, bateau, train, bus ou camion. Tches avec contraintes de succession entre elles, typiquement des problmes dordonnancement dans un atelier.

tel-00004380, version 1 - 29 Jan 2004

- 18 -

La problmatique

1.3.3.

Planifier qui ?

La planification anonyme raisonne au niveau du nombre de salaris dans des groupes homognes identifis par les modles appropris. Ainsi, il est possible que le dcoupage en groupes prenne en compte les diffrences en matire de comptences ou de contrats temps. Cette approche permet de prendre en compte un grand nombre de salaris et de profiter au maximum de la synergie entre les salaris. Cependant elle ne tient compte ni des prfrences individuelles ni des plannings antrieurs. La planification individuelle raisonne au niveau de chaque salari, en sappuyant sur tel-00004380, version 1 - 29 Jan 2004 les comptences individuelles les contrats temps par ex. plein temps, mi-temps ou autres les prfrences individuelles pour les horaires et les dures de travail et/ou de pauses lhistorique du planning afin dassurer lquit entre personnes au niveau des horaires dsagrables telles que les affectations tt le matin le lendemain dun jour dabsence (jour fri, week-end ou cong), ou les affectations tard le soir la veille dune absence.

Cela exige un calcul plus lourd et limite le nombre de personnes traites par rapport la planification anonyme.

1.3.4.

Lhorizon de planification

Le planning journalier est un planning avec des intervalles de 5 30 minutes. Ce type de planning convient laffectation des tches, lorsque le planning est discontinu et lorsquils sont connus de faon prcise. A ce niveau, on peut grer les pauses et dterminer qui et quand. Le planning hebdomadaire est un planning avec des intervalles allant de 15 minutes une heure. Ce type de planning est utilis dans certains pays pour une paie hebdomadaire. On gre le repos hebdomadaire et dure de travail hebdomadaire. Par exemple en France dans le secteur de la sant, on dispose de quatre jours de repos sur la quinzaine travaille, dont au moins deux conscutifs, dont un dimanche. Le planning mensuel est un planning avec des intervalles allant dune heure un jour. Ce type de planning est utile pour le calcul des cots pour les besoins de la paie. On peut grer les jours de repos hebdomadaires, les journes RTT, la mensualisation des heures. Le planning annuel est un planning avec typiquement des intervalles de journe ou de semaine. Ce type de planning est utile pour lannualisation des heures de travail et permet de grer les journes de RTT, les congs annuels ou la formation continue.

- 19 -

La problmatique

1.3.5.

Types de plannings

Il y a deux types de plannings acyclique ou cyclique : Un planning est acyclique sil est diffrent chaque semaine. Pour construire un planning mensuel automatiquement, on dispose de rgles qui permettent denchaner les vacations pour une mme personne. Le planning acyclique correspond une pratique de gestion ncessite par la demande de service rendu. Il est typiquement utilis dans le cas dun besoin non satisfait , ce serait une perte, le client pourrait se diriger vers un autre fournisseur. Un planning est cyclique si au bout dune dure P, le salari retrouve son planning de dpart. La priode P est gnralement mesure en termes de semaines par exemple 4, 6, 12, 13 ou 17 semaines. Ces cycles hebdomadaires permettent de tenir compte des weekends. Les cycles 13 ou 17 semaines sont qualifis dannuel car il seffectuent un nombre fixe fois par an : 4 fois 13 tant 52 et 3 fois et 17 donnant 51, la dernire semaine se planifie manuellement pour les ftes de fin danne. Trs souvent ils intgrent des semaines de congs annuels. Il existe aussi des cycles journaliers dfinis sur un nombre de jours, qui ne tiennent alors pas compte des week-ends. Le planning cyclique correspond une gestion dirige par loffre de service rendu. Il est utilis typiquement dans le cas o le client est captif et ne peut pas consulter un autre fournisseur. En ignorant les besoins ponctuels, cette gestion met laccent sur une approche moyen terme. Cela peut tre assimil la construction dun planning acyclique sur un horizon gal la priode du cycle. Cependant, puisquil sera par la suite droul plusieurs fois par an, il faudra envisager avec soin le nombre total des heures, le rythme des journes travailles et des journes de repos. Le droulement systmatique du cycle ne permet pas la moindre perturbation extrieure, par exemple des pr-affectations comme les congs annuels ou les formations. Au chapitre 4, nous proposons une tude du droulement des cycles avec relaxation de contraintes. La planification des horaires peut tre cyclique, car on ne distingue que les heures effectues et on confond les tches spcifiques devant avoir lieu. Par contre, la planification des tches ne peut tre quacyclique, sauf cas exceptionnel o les tches sont rptitives dune semaine sur lautre.

tel-00004380, version 1 - 29 Jan 2004

- 20 -

La problmatique

1.4.

LA DYNAMIQUE DE LA PLANIFICATION Les phases de planification

1.4.1.

Le contexte statique ne suffit pas expliciter la complexit de la planification. Au-del des modles, ce paragraphe dtaille la dynamique travers les diffrentes phases de planification : Phase Conception : processus long terme Cette phase couvre les activits dites stratgiques, permettant de cerner le problme et de se poser des questions sur le contexte de planification dj prsent ci dessus 0. Pendant cette phase, on labore les diffrentes faons de travailler, les types de personnel (contrats dure dtermine / intermittents du spectacle / pigistes) les horaires, les cycles de travail, les mthodes de prvision des besoins, etc. Phase Ordonnancement : processus prvisionnel court / moyen terme Llaboration des plannings prvisionnels se fait sur diffrents horizons : un an, un mois ou une semaine. Cette phase est dtaille au paragraphe 1.4.2. Phase Raction : processus ractif court/moyen terme Les horaires raliss seront archivs ainsi que les absences, pour alimenter le processus de paie et pour linspection du travail. Pour boucler la boucle, il faut contrler ladhrence au planning prvisionnel et ajuster la prvision des besoins. On tire des conclusions sur le dimensionnement des quipes et au cas chant, lance des embauches.

tel-00004380, version 1 - 29 Jan 2004

Comme nos travaux portent essentiellement sur la phase ordonnancement, celle-ci sera dtaille par la suite. La phase raction est importante dans la vie de lentreprise mais elle implique une informatique dcentralise (utilisant des techniques de rseau et base de donnes) ; elle ne prsente pas de difficult conceptuelle majeure en calcul combinatoire. La phase conception est encore trs exprimentale et comporte beaucoup de variantes : elle nest pas mre pour une modlisation gnrique. Nanmoins, nous prsenterons ltat de lart sur le dimensionnement au chapitre 2.

1.4.2.

La phase ordonnancement

La Phase Ordonnancement est un processus prvisionnel (ou proactif) court / moyen terme. Llaboration des plannings se fait plusieurs niveaux suivant la taille de lentreprise : Planning thorique Le planning thorique est typiquement obtenu par le droulement dun cycle de travail sur une anne de faon formelle. On obtient un planning parfaitement quitable qui satisfait des besoins prdfinis mais qui nest pas forcment ralisable cause des absences de type congs annuels ou formation. Planning thorique ajust Le planning thorique est ajust pour tenir compte des absences prvues (congs, formation, etc.). Cet ajustement peut tre automatique mais les relaxations doivent tre spcifies, cf. [CW00]. Comme ces choix dpendront des stratgies de - 21 -

La problmatique lentreprise, ces dveloppements ne peuvent pas devenir gnriques pour toutes les entreprises. Planning prvisionnel Le planning thorique ajust est port la connaissance des salaris en temps en en heure. Cependant il peut encore subir une ou plusieurs modifications pour tenir compte des alas ou dautres imprvus. Le planning prvisionnel doit tre archiv pour calculer des primes de prvenance. Planning ralis Pour complter la liste des diffrents type plannings, on appelle les relevs bruts des badgeuses, le planning ralis brut. Compte tenu des diffrentes rgles de gestion mise en place par lemployeur, ces relevs sont aussitt modifis donnant le planning ralis net. Deux exemples de rgles : o les prsences en dehors des plages admises, non demandes par lemployeur, sont ignores o les arrondis lheure : ex. les arrives entre 7H57 et 8H03 seront arrondies 8H. Planning valid Il sagit du planning ralis officiel, aprs validation par les cadres de proximit. Cette validation est ncessaire si lentreprise pratique lauto-dclaration du temps de prsence.

tel-00004380, version 1 - 29 Jan 2004

1.4.3.

Le processus de planification prvisionnel

La planification consiste crer un planning sur une priode allant dune semaine un mois. Les donnes sont des estimations de la quantit de travail raliser par intervalle de temps, obtenu grce aux statistiques et corriges pour des vnements exceptionnels et ponctuels. Ces chiffres sont traduits en nombre de personnes. A partir des ces besoins en nombre de personnes, le processus de cration dun planning [BB92] propose de planifier suivant la disponibilit relle du personnel. La construction des vacations cre un ensemble de vacations qui permet de couvrir les besoins avec un minimum de surplus de main duvre par rapport aux besoins prvus pour chaque intervalle de temps. Cette construction sera ralise pour chaque jour de la semaine ou les besoins diffrents. Elle est souvent ralise pour un personnel anonyme, donc sans la connaissance des contrats temps ou prfrences de chaque salari. Connaissant le nombre de vacations dont on a besoin pour satisfaire les charges, il faut ensuite enchaner les vacations journalires et obtenir un planning hebdomadaire ou mensuel pour chaque salari. Ce processus est appel construction des tours. Il peut tre ralis de faon cyclique ou non. Afin doptimiser les ressources, il convient de choisir des intervalles de lordre de 15 minutes. A cette granularit, la planification sur un horizon dune semaine est un problme trs complexe. Pour rsoudre ce problme combinatoire, les chercheurs proposent des plannings cycliques bass sur un planning parfait de courte dure (par ex. 1 semaine) ou rutiliser des plannings acycliques bass sur des besoins hebdomadaires identiques.

- 22 -

La problmatique

1.4.4.

Le planificateur

Dans la plupart des entreprises, la planification est dlgue et dcentralise. Le cadre fonctionnel, par exemple le directeur de ressources humaines, nexerce quune activit de direction de lactivit de planification et de contrle des plannings, souvent a posteriori. Le cadre oprationnel ou le cadre de proximit qui ralise le planning quotidien soit manuellement, soit laide des outils informatiques, est souvent le chef dquipe ou le superviseur dans les centres dappels tlphoniques. Ainsi lorsque la taille de lquipe ne dpasse pas 30, la planification reste le ressort de ce cadre. Dans une unit de soins de 30 personnes, la planification prend 20-40% du temps de linfirmire en chef [WHC+98]. Ds que le pool de ressources dpasse la centaine, une personne plein temps est souvent nomme pour grer les divers problmes qui peuvent subvenir. Dans les centres disposant de plusieurs centaines demploys, les planificateurs sont plusieurs et souvent regroups par mtier afin de raliser des conomies dchelle. tel-00004380, version 1 - 29 Jan 2004

1.4.5.

Le facteur humain dans les plannings

Malgr les progrs de la modlisation de plannings, le planificateur a toujours un rle jouer parce quil dtient des connaissances approfondies sur le fonctionnement de lentreprise ou de lquipe. Ces connaissances sont difficiles mettre en vidence car elles peuvent rsulter des ngociations ou du contexte spcifique lentreprise. En gnral, les fonctionnements spcifiques ne sont pas pris en compte par les logiciels standards et le planificateur doit contrler le planning manuellement pour en assurer la conformit. Une collaboration russie doit permettre au planificateur de participer efficacement llaboration des plannings. Linterface homme-machine joue un rle primordial : il est indispensable pour le planificateur de comprendre la situation planifie dans sa globalit et ses dtails. Dans la pratique, le planificateur cherche un outil pratique qui peut rendre service ds le dbut, et ce, sans une formation approfondie. Le gnrateur automatique de plannings doit donc admettre des pr-affectations faites manuellement, pour que lutilisateur puisse ragir avec les plannings automatiques. Trs souvent les diverses contraintes applicables sont contradictoires : le planificateur doit choisir les contraintes assouplir afin de produire des plannings.

- 23 -

La problmatique

1.5.

NOS PROPOSITIONS Limites des solutions actuelles

1.5.1.

Pour crer des plannings, le planificateur ne peut plus se fier son intuition car il doit satisfaire la fois la lgislation, les impratifs de lentreprise, ses contraintes et les souhaits individuels du personnel. Ltat de lart prsent au chapitre 2 fera ressortir le fait que les modles et mthodes utiliss aujourdhui soient trop rigides par rapport aux processus complexes de la planification. Ces limites sont de plusieurs natures : L1. L2. L3. Limites des mthodes de calculs Limites des modles Limites de prise en compte du contexte dynamique

On retrouve ces limites dans deux rfrences. tel-00004380, version 1 - 29 Jan 2004 Dans son livre [Bee66] aujourdhui sa neuvime dition, S. Beer faisait tat de 6 obstacles la bonne application de la recherche oprationnelle. Ne seront pas considrs les points lis aux chercheurs : (a) Conformisme des chercheurs, enferms dans leur spcialisation ; (b) Pesanteur de lattitude scientifique, inapplicable au commerce ; (c) Attitude provoque par lautosatisfaction des chercheurs et les conflits entre ces derniers et la direction. Un logiciel, en plus de la complexit en temps et en espace mmoire, doit grer une complexit politique. Dans tout problme ayant une dimension sociale, la rsolution de cette complexit exige le compromis ou la ngociation. Le professeur Anthony Aaby 1 propose trois points sur laxe de la complexit politique : des problmes bien dfinis, des problmes mal dfinis et des problmes malicieux2. Limites des mthodes de calculs Les mthodes courantes dcomposent la planification en sous-tapes squentielles et irrvocables. La somme des sous-solutions optimales nest pas toujours optimale globalement. [Par98] dcompose la planification en deux tapes : la construction de vacations (au niveau journalier avec des priodes dun quart dheure) puis la construction des grilles (au niveau mensuel avec des priodes dun jour). [Heu96] dcompose la construction des grilles en laffectation des jours de repos puis laffectation dtiquettes (ou vacations) pour les jours uvrs. [Rot00] distingue deux chelles de dcision : ordonnancement au quart dheure sur un horizon de plusieurs semaines, et la planification gros grain. La lgislation franaise ne suit pas les rgles danalyse qui permettent aux scientifiques de choisir une (seule) granularit pour rsoudre le problme. Effectivement, le choix
1 2

http://cs.wwc.edu/~aabyan/ du Walla Walla College, Washington well-defined problems, ill-defined problems and wicked problems. Voir le glossaire.

- 24 -

La problmatique dune chelle de temps fait, on risque de gnrer des plannings illgaux par rapport dautres chelles de temps, ce qui est inadmissible pour un logiciel commercial. Ce point a t dcrit dans [Bee66] par le conformisme des solutions qui conduit en rtrcir lventail, notamment cause des cloisonnements interdisciplinaires. Limites des modles Les modles courants se contentent de calculer le nombre de salaris dans chaque groupe homogne du modle, voir par exemple [Jar+94], [Bru00]. Ils ne tiennent compte ni des caractristiques individuelles des salaris telles que leurs comptences, leurs demandes pour convenances personnelles et les prfrences des salaris et/ou des managers, ni de lhistorique de planning pour gnrer des plannings quitables. Aujourdhui, dans nombreux secteurs le manque en main duvre qualifie est patent, il est absolument ncessaire de proposer des plannings qui prennent en comptent les individus : les qualifications, les prfrences, et lhistorique pour gnrer des plannings quitables. Comme il y a souvent des rgles implicites ou des ngociations personnelles, ces systmes ne pourront pas satisfaire tous les planificateurs. Avec ces modles, la planification des ressources humaines devient mal-dfinis : on ne sait plus dire quune solution est optimale . Ce point a t dcrit dans [Bee66] par la strotypie dans la dfinition des problmes, souvent trop partielle pour rendre compte de la ralit. Limites de la prise en compte du contexte dynamique Les systmes courants ne permettent pas aux utilisateurs dinteragir avec le processus de planification. Nous avons vu au paragraphe 1.4 que la planification est un processus dynamique auquel contribuent plusieurs acteurs de lentreprise. Pour un logiciel commercial, il est capital que lutilisateur puisse ragir avec le gnrateur automatique de planning, et matriser le planning final qui sera communiqu au personnel. Les problmes mal-dfinis dont la spcification changent, sont des problmes malicieux. Dans certaines entreprises, les plannings sont sujets alas en ressources et en charge, et quil faut rviser le planning en consquence. Ce point a t dcrit dans [Bee66] par la strotypie des critres de rentabilit, fond sur une approche statique ou rtrospective plutt que prospective.

tel-00004380, version 1 - 29 Jan 2004

1.5.2.

Nos propositions et objectifs

Nous proposons un modle et une mthode de planification permettant de dpasser les limites rsumes ci-dessus, avec un ou plusieurs solveurs exploitant les principes de la Propagation Par Contraintes. [Par98] a dj dmontr que cette approche est valable dans le cas de laffectation des tours, au niveau mensuel. O1. Nous proposons des modles et des mthodes globales, ne dcoupant pas le processus de planification en tapes de calculs irrvocables. Les diffrentes tapes ou niveaux de dtails temporels (journalier, mensuel et annuel) travailleront simultanment.

- 25 -

La problmatique Dans les applications GYMNASTE et EQUITIME, nous utiliserons les contraintes dites globales permettant de gnrer des plannings en une seule passe. Au chapitre 5, nous proposerons un modle pour traiter simultanment les contraintes aux niveaux journaliers, hebdomadaires et annuels. O2. En tenant compte des caractristiques individuelles des salaris telles leurs prfrences et lhistorique de planning, nous proposons un modle pour crer des plannings de grande qualit. Cependant, le nombre de salaris trait ne pourrait pas dpasser la centaine. Chaque salari sera considr comme une ressource unique, avec ses propres caractristiques que notre systme prendra en compte, en utilisant les techniques bases sur la Propagation Par Contraintes. O3. Notre systme permettra aux utilisateurs non-informaticiens de participer activement llaboration des plannings et dy ajouter leur savoir-faire. Nous proposerons des interfaces avances, permettant aux non-informaticiens de comprendre facilement un planning complexe, et dy apporter des modifications. Cette mthode de planification ainsi que les concepts dIHM se concrtisent dans le produit EQUITIME, qui allie une mthode rigoureuse automatique avec une visualisation du planning permettant au planificateur dintervenir manuellement si besoin est, afin de faire respecter des contraintes sous-entendues qui font partie de la pratique quotidienne.

tel-00004380, version 1 - 29 Jan 2004

1.5.3.

Limites du champ dinvestigation

Du fait de la grande diversit des situations de planification, ce mmoire est naturellement limit au planning des ressources humaines seules dans le secteur tertiaire et le secteur de lindustrie : on sintresse la couverture des besoins en main duvre. En particulier, nous nous intressons aux problmes de planification des employs, et non lemploi de temps hebdomadaire des collges ou lyces, ni la planification des cours ou des preuves (par ex. luniversit). De mme, ne sont pas envisags : La planification des ressources matrielles avec des contraintes de capacit des machines et des contraintes de succession de tches La planification du personnel avec des dispositions gographiques (contraintes de distance avec des retours la base en fin de semaine).

Ce mmoire met laccent sur les modles et mthodes de planification proprement dite, mais ne traite ni la prvision des besoins (phase amont) ni le suivi (phase en aval de la planification). On considre que les besoins sont connus : ces prvisions sappuient sur des lois statistiques.

- 26 -

Ltat de lart

LETAT DE LART

Rsum : Dans la construction de plannings des salaris, si crer un planning optimis dune journe est ais, mais crer un planning pour un mois est beaucoup plus complexe. En plus de la complexit combinatoire, il faut tenir compte de contraintes applicables sur les chelles hebdomadaire et mensuelle. Afin de dcoupler la complexit combinatoire, la construction automatise des plannings met lhypothse que les plannings sont indpendants un jour sur lautre. Ainsi, le problme se dcoupe en jours, enchanes par la suite pour obtenir des plannings hebdomadaires. Les plannings sont labors en deux phases : la construction des vacations (ou horaires journaliers) puis lenchanement de ces journes dans la construction des tours mensuels. Voir par exemple [Bak76] ou [BM76] Pour caractriser ltat de lart en construction des plannings, ce chapitre voquera dabord les diff rents modles pour chacune des deux phases. Ensuite il tudiera les mthodes de rsolution de ces modles par la Programmation Par Contraintes (PPC) ou par la Programmation Linaire en Nombres Entiers, PLNE. Les mthodes des recherches locales (y compris le recuit simul, la recherche tabou, les algorithmes gntiques) et des algorithmes dapproximation seront galement prsentes. Ltat de lart sera complt par un rappel des systmes interactifs daide la dcision.

tel-00004380, version 1 - 29 Jan 2004

2.1 LA CONSTRUCTION DES HORAIRES JOURNALIERS : MODELES PLNE


Intuitivement, le problme est illustr par la Figure 2.1 EN ENTREE : a) Besoins en personnel

Temps b) les dures de travail et de repos, suivant la lgislation EN SORTIE : le nombre des vacations, tel que la somme de travail disponible couvre les besoins chaque instant de la journe. amplitude Vacation 1 Vacation 2 Vacation N
pause

OPTIMISER : il convient de convoquer le minimum de personnel en trop, i.e. au-del des besoins minimaux. Figure 2.5. Construction des horaires journaliers

- 27 -

Ltat de lart En entre, on dispose des besoins en personnel : pour chaque intervalle de temps, la courbe de charge indique le nombre de personnes ncessaires. Cette information peut rsulter des calculs statistiques sur le nombre dappels par heure et le temps moyen de traitement par appel sur une priode analogue. En support du processus, on dispose dun ensemble de rgles lgales qui dfinissent la journe de travail, ainsi quun ensemble de rgles dusage. En sortie, on veut savoir comment faire travailler les salaris, soit la dfinition des horaires de dbut et fin et des horaires de pause, de telle sorte que la somme de leurs disponibilits couvre au mieux la courbe de charges avec un minimum de surplus.

2.1.1 Le modle explicite de Dantzig


Le premier modle de couverture de charge est d Dantzig ds 1954 [Dan54]. La construction des vacations se repose sur des modles de couverture ensemblistes3, dcrit par les quations (1) et (2). tel-00004380, version 1 - 29 Jan 2004
Min z =

C X
m j j =1

( 1) (2)

A X B
m ij j j =1

, I=1,..,n et Xj 0, entier

O
n=nombre dintervalles couvrir dans lhorizon de planification, m= nombre de vacations valides Cj = cot lorsquun salari est affect la vacation j Aij = 1 si lintervalle i est couvert par la vacation j, 0 sinon Bi = nombre de salaries requis pour lintervalle i Xj = nombre de salaries affects la vacation j

En amont du traitement par le modle, lensemble des vacations valables est numr explicitement par rapport lensemble des rgles lgales et dusage. Exemple : la dure totale de travail ne doit pas dpasser 10 heures ; une pause ne dbute quaprs 2 heures de travail effectif, etc. Le modle compte le nombre des salaris chaque vacation, de telle sorte que les besoins par intervalle B sont satisfaits, tout en minimisant le cot total des affectations. Exemple : Avec un seul type de vacation, sur une journe constitue de 9 intervalles dune heure, les dures de la vacation sont de 4 7H Lexemple comprend des vacations de dures de 4H (vacations a(j)), 5H : b(j), 6H : c(j) ou 7H : d(j), soit un total de 30 vacations.

Generalized Set-Covering Problem GSCP

- 28 -

Ltat de lart
Temps: a(1) a(2) a(3) a(4) a(5) b(1) b(2) b(3) b(4) b(5) b(6) b(7) b(8) --c(1) c(2) c(3) c(4) c(5) c(6) c(7) c(8) c(9) --d(1) d(2) d(3) d(4) d(5) d(6) d(7) d(8) 1 1 2 1 1 3 0 1 1 4 1 0 1 1 5 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 6 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 7 8 9

1 1 0

1 1

1 1

1 1 1 1

0 1 1 1 1 1

1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1

1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0

1 1 1 1

1 1

1 1 1

1 1 1 1 1 1

0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1

tel-00004380, version 1 - 29 Jan 2004

1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1

Figure 2.6. Vacations avec pauses : 30 variables Quant aux vacations sans pause sur une dure de 9H, il y a 6 vacations de 4H, 5 de 5H, 4 de 6H, 3 de 7H. Au total, on dcompte 6+5+4+3+30 = 48 vacations. Dans de la pratique, un trs grand nombre de vacations doit tre utilis afin de tenir compte la souplesse inhrente une charge dfinie au quart dheure prs des journes de longueurs diffrentes diffrents horaires de dbut, ou des pauses repas diffrentes

[Kla73] rapporte un nombre avoisinant 15000 vacations sur une journe, [BJ00] mentionne des milliards de horaires possibles sur une semaine. La gnration de toutes les vacations pour la rsolution avec ce modle prendrait un certain temps. Chaque vacation tant reprsente par une variable, les systmes dquations rsultants sont trop grands pour tre rsolus par les logiciels disponibles aujourdhui. Do la motivation de la modlisation implicite des vacations.

2.1.2 Le modle implicite de Moondra


Moondra fut le premier [Moo76] proposer un modle implicite o chaque vacation nest plus reprsente quimplicitement par le nombre dagents qui dmarrent ou qui terminent au cours dune intervalle p. Afin de traiter les diffrences des cots, on cre des groupes pour les vacations ayant le mme cot par priode travaille, la mme pause repas et les mmes restrictions en dure de travail (bornes sur la dure totale de la vacation et la dure travaille sans interruption).

- 29 -

Ltat de lart Variables de dcision : F(t, p)=nombre dagents sur une vacation du type t qui se termine la fin de lintervalle p S(t, p)=nombre dagents sur une vacation du type t qui dmarre au dbut de lintervalle p Comme le montre la figure suivante, le nombre dagents prsents chaque intervalle p est donn par la somme des vacations ayant commenc avant ou pendant cette intervalle S(t, p), moins la somme des vacations dj acheves. Pour notre exemple, le nombre de variables nest que 9 par type de vacations de mme cot. Exemple : pour un seul type de vacations, sur 9 intervalles dune heure. Avec des dures dune vacation 5 7H, on ne commence plus au del de i=5 donc S(t, p)=0 pour p > 5. Nombre de personnes disponibles pendant lintervalle i : I = 1 : S(1,1) I = 2 : S(1,1)+S(1,2) I = 3 : S(1,1)+S(1,2)+S(1,3) I = 4 : S(1,1)+S(1,2)+S(1,3)+S(1,4) I = 5 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) I = 6 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) -F(1,5) I = 7 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) -F(1,5)-F(1,6) I = 8 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) -F(1,5)-F(1,6)-F(1,7) I = 9 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) -F(1,5)-F(1,6)-F(1,7)-F(1,8) Nombre global de personnes qui dbutent et qui finissent S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5)=F(1,5)+F(1,6)+F(1,7)+F(1,8)+F(1,9) Pour limiter le minimum dure de travail 5 priodes pour ceux qui commencent en P=1 peuvent finir en P=5 : S(1,1) F(1,5) en 1 et 2 peuvent finir en 5 et 6 : S(1,1)+S(1,2) F(1,5)+F(1,6) en 1,2 et 3 peuvent finir en 5,6 et 7 : S(1,1)+S(1,2)+S(1,3) F(1,5)+F(1,6) +F(1,7) en 1,2,3 et 4 peuvent finir en 5,6,7 et 8: S(1,1)+S(1,2)+S(1,3)+S(1,4) F(1,5)+F(1,6)+F(1,7)+F(1,8) Pour limiter le maximum dure de travail 7 priodes pour ceux qui commencent en 1 doivent finir en 5,6 et 7 : S(1,1) F(1,5)+F(1,6) +F(1,7) en 1 et 2 doivent finir en 5,6,7 et 8: S(1,1)+S(1,2) F(1,5)+F(1,6)+F(1,7)+F(1,8) Figure 2.7. Modle Moondra avec 9 variables Ce modle est intressant historiquement car cest le premier modle implicite. Avec les variables F et S, Moondra a propos un systme dquations permettant de calculer le nombre dagents prsents pendant chaque priode, qui doit couvrir les besoins, ainsi que des quations pour limiter la dure maximale et minimale des vacations. Ce modle ne tient compte que dune pause de dure fixe et dune heure de dbut fixe par vacation.

tel-00004380, version 1 - 29 Jan 2004

2.1.3 Le modle implicite de Bechtold et Jacobs


Le problme des pauses qui peuvent dmarrer des intervalles diffrents est rsolu par [BJ90]. Lquivalence de ce modle avec celui de Dantzig a t dmontre sous certaines conditions dans [BJ96]. Chaque type de vacation t est associ une pause pendant une priode de travail. Ce modle utilise des variables B(i) qui donne le nombre de salaris - 30 -

Ltat de lart sur toutes les vacations dont la pause commence une priode i. Cette approche est limite une seule pause repas, dont la dure est la mme pour toutes les vacations. Variables de dcision : X(t) = nombre dagents dans la vacation de type t B(p) = nombre total de pauses inities au dbut de la priode p, quelle que soit la vacation type Lapport de ce modle est lexpression des contraintes qui garantissent que les personnes prendront leurs pauses comme prvu. Ces contraintes sappuient sur lhypothse que les pauses ne sont pas imbriques de faon extraordinaire, cest dire la fentre de pause dun type de vacation j nest pas strictement incluse dans celle dun autre type j1.

2.1.4 Le modle implicite de Thompson


tel-00004380, version 1 - 29 Jan 2004 Un modle doublement implicite est propos par [Tho95], permettant de tenir compte la fois des heures de dbut de vacations de [Moo76] et les pauses repas de [BJ90]. Le nombre dagents prsents chaque intervalle p est donn par la somme des vacations ayant commenc avant ou pendant cet intervalle S(t, p), moins la somme des vacations dj acheves et des pauses en cours pendant cette priode. Variables de dcision : F(t, p)=nombre dagents sur une vacation du type t qui se termine la fin de la priode p S(t, p)=nombre dagents sur une vacation du type t qui dmarre au dbut de la priode p B(t, p)=nombre dagents sur une vacation du type t, en pause commenant au dbut de p Lavantage du modle de Thompson est la souplesse quil offre dans ltendue des vacations concernes, et surtout par la possibilit de trouver des solutions optimales.

- 31 -

Ltat de lart Exemple : pour le mme cas prsent ci-dessus Nombre de personnes disponibles pendant lintervalle i : I = 1 : S(1,1) I = 2 : S(1,1)+S(1,2) I = 3 : S(1,1)+S(1,2)+S(1,3) -B(1,3) I = 4 : S(1,1)+S(1,2)+S(1,3)+S(1,4) -B(1,4) I = 5 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) -B(1,5) I = 6 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) -F(1,5) -B(1,6) I = 7 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) -F(1,5)-F(1,6) -B(1,7) I = 8 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) -F(1,5)-F(1,6)-F(1,7) I = 9 : S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) -F(1,5)-F(1,6)-F(1,7)-F(1,8) Le nombre total de personnes qui travaillent gale le nombre total de pauses S(1,1)+S(1,2)+S(1,3)+S(1,4)+S(1,5) = B(1,3)+B(1,4)+B(1,5)+B(1,6)+B(1,7) La dure minimale dune priode de travail avant pause est de 2 intervalles : Le nombre de personnes qui commencent en P=1 est au moins gal au nombre de pauses en P=3 ; Sinon les pauses en P=3 comptent pour ceux qui commencent en P=2 S(1,1) B(1,3) Ceux qui commencent en P=1 et 2, doivent compter parmi ceux qui sont en pause en P=3 et 4 : S(1,1)+S(1,2) B(1,3)+B(1,4) Idem : S(1,1)+S(1,2)+S(1,3) B(1,3)+B(1,4)+B(1,5) S(1,1)+S(1,2)+S(1,3)+S(1,4) B(1,3)+B(1,4)+B(1,5)+B(1,6) Pour limiter la dure dune priode de travail aprs pause 2 intervalles : F(1,9) B(1,7) F(1,8)+F(1,9) B(1,6)+B(1,7) F(1,7)+F(1,8)+F(1,9) B(1,5)+B(1,6)+B(1,7) F(1,6)+F(1,7)+F(1,8)+F(1,9) B(1,4)+B(1,5)+B(1,6)+B(1,7) Les restrictions sur la dure maximale dune priode de travail 4 intervalles ne sont pas ncessaires dans ce cas. Avec une dure maximale de travail 7 intervalles, une pause repas 1 intervalle, la dure minimum 2 intervalles, on obtient une dure maximale 4. Figure 2.8. Modle de Thompson : 14 variables Un autre modle implicite propos par [Ayk96], traite la situation o existent des pauses supplmentaires avant et aprs la pause repas. Les variables sont les suivantes : Variables de dcision : U(t, p)= nombre de salaris affects une vacation type t dont la premire pause courte aura lieu la priode p W(t, p)= nombre de salaris affects une vacation type t dont la pause repas = p B(t, p)= nombre de salaris affects une vacation type t dont la deuxime pause courte =p

tel-00004380, version 1 - 29 Jan 2004

- 32 -

Ltat de lart Compte tenu des variables U, W et V, le nombre de personnes disponible au cours de la priode p, X(t, p) est donn par : X(t, p) = X(p) si p nest pas une pause X(t, p) = X(p) U(t, p) si p est la premire pause courte X(t, p) = X(p) W(t, p) si p est la pause repas et p-1 nest pas la pause repas X(t, p) = X(p) W(t, p) W(t,p-1)si p et p-1 sont les pauses repas X(t, p) = X(p) W(t, p-1) si p-1 est la pause repas et p nest pas la pause repas X(t, p) = X(p) V(t, p) si p est la deuxime pause courte Contrainte de couverture de charge (proche du Modle de Danzig) : A(t, p) = 1 si la priode p est travaille dans la vacation de type t, = 0 sinon t=1,n A (t, p) * X(t, p) R(p) pour chaque priode p Figure 2.9. Modle dAykins [Ayk96]

2.1.5 Le modle implicite de Jarrah


tel-00004380, version 1 - 29 Jan 2004 Le modle de Jarrah [JBS94] a intgr la modlisation implicite des pauses de [BJ90], avec les algorithmes exacts de positionnement de repos dvelopps dans [BC85], et de plus traite les travailleurs temps partiel. Variables de dcision : X(t) = nombre dagents temps plein dans la vacation de type t Y(t) = nombre dagents temps partiel dans la vacation de type t B(i) = nombre total de pauses inities au dbut de la priode i, quelle que soit la vacation type F(j, t) = 1 si la vacation en temps plein type j couvre la priode t, 0 sinon P(j, t) = 1 si la vacation en temps partiel type j couvre la priode t, 0 sinon Figure 2.10. Modle de Jarrah et al. Utilise les variables: p = ratio des salaris en temps plein aux salaris en temps partiel. Nf = nombre de types de vacations temps plein Np = nombre de types de vacations temps partial R(t)= besoins en personnel au cours de la priode t F(j, t) et P(j, T) sont utiliss dans la formulation de couverture ensembliste gnralise :

j=1, Nf F(j, t) * X(t)

+ j=1, Np P(j, t) * Y(t) B(t) R(t)

(3)

Suite la rsolution du PLNE, il faut affecter les personnes suivant leur contrat temps. Un algorithme glouton est propos par Jarrah.

2.1.6 Modle implicite de Cai et Li


A titre de comparaison, nous citons un modle traitant le personnel multiples comptences [CL00]. On considre trois populations demployes qualifies en 1, qualifies en 2 et qualifies en 1 et 2.

- 33 -

Ltat de lart Variables de dcision : X(j) = nombre dagents de qualification 1 dans la vacation j Y(j) = nombre dagents de qualification 2 dans la vacation j Z1(j) = no. dagents de qualification 1+2 dans la vacation j faisant le travail qualification 1 Z2(j) = no. dagents de qualification 1+2 dans la vacation j faisant le travail qualification 2 Contrainte de couverture de charge (Modle de Danzig) : A(j, p) = 1 si la priode p est travaille dans la vacation de type t, = 0 sinon j=1,n A (j, p) * X(j) + j=1,n A (j, p) * Z1(j) R1(p) pour chaque priode p, besoins 1 j=1,n A (j, p) * Y(j) + j=1,n A (j, p) * Z2(j) R2(p) pour chaque priode p, besoins 2 Figure 2.11. Modle de Cai et Li [CL00] Lintrt de ce modle est la prise en compte des multiples comptences. Le modle rsultant exige un grand nombre de variables, car il faut considrer toutes les combinaisons de comptences. Pour rsoudre ce modle, les auteurs proposent une mthode base de lalgorithme gntique. La dure des intervalles est lheure ; pour les vacations jour, on peut commencer entre 7 H et 15H et il ny a quune vacation nuit (au total 10 vacations).

tel-00004380, version 1 - 29 Jan 2004

2.1.7 Conclusion sur les modles PLNE


Les modles en Programmation Linaire peuvent exprimer les contraintes sur les dures de travail journalier. Les variables en nombres entiers donnent le nombre de salaris qui effectuent un travail caractris, ainsi la mthode peut traiter un grand nombre de salaris homognes. Les travaux ont montr que les modles implicites peuvent tre rsolus trs efficacement avec la PLNE : de faon gnrale, les instances donnent des solutions entires optimales.

- 34 -

Ltat de lart

2.2 CONSTRUCTION DES HORAIRES JOURNALIERS : MODELES PPC


Ce paragraphe prsente des modles permettant de rsoudre le problme du paragraphe prcdent avec la Programmation Par Contraintes.

2.2.1 Le modle explicite de Partouche


Dans ce modle, la liste de vacations candidates est reprsente explicitement comme un objet contenant 3 vecteurs de mme longueur : le vecteur des heures de dbut, le vecteur des heures de fin et le vecteur des dures. Variables de dcision : X(j) = nombre dagents pris dans la vacation j, une variable dont le domaine est {1..n}, ce qui assure quelle aura une valeur entire A(j, p) = X(j) si la priode p est couverte par la vacation j, = 0 sinon Contrainte de couverture de charge : Pour chaque priode p, j=1,n A (j, p) doit couvrir les besoins B(p) Minimiser la somme des excdents e(p) = j=1,n A (j, p) B(p) Contraintes supplmentaires : Non-symtrie parmi les agents Le nombre dagents est rduit au strict minimum i.e. Max p B(p) Figure 2.12. Modle explicite de Partouche Daprs [Par98], ce modle est trs peu performant en PPC mme pour des tests comportant seulement de 10 48 agents.

tel-00004380, version 1 - 29 Jan 2004

2.2.2 Le modle implicite de Partouche-Moondra


[Par98] prsenta un deuxime modle implicite de planning individuel avec des variables de dbut et de fin de vacation, proche de celui de Moondra, ce qui vite dnumrer toutes les vacations possibles. Pour chaque agent, le systme construit sa vacation dfinie par lheure de dbut et de fin. Variables de dcision : Y(j) = 1 si la vacation j est choisie dans la solution , = 0 sinon S(j) = heure de dbut de la vacation j, F(j) = heure de fin de la vacation j

- 35 -

Ltat de lart Variables dpendantes : La matrice A(i, j) qui vaudra 1 si lintervalle i est couvert par la vacation j A(i, j) = 1 si (Y(j) = 1) et ((S(j) i) et (F(j) > i)) Les amplitudes des vacations D(j) = S(j) F(j) dont le domaine est prdfini. Contrainte de couverture de charge : La somme pour chaque intervalle i, j=1,n A (i, j) doit couvrir les besoins B(i) et on cherche minimiser la somme des excdents e(i) = j=1,n A (i, j) B(i) Contrainte supplmentaire : Asymtrie Construire les vacations dans lordre chronologique : Pour tout j > 1, S(j) S(j-1) Stratgie Les variables Y, F et S sont affectes dans cet ordre. Figure 2.13. Modle implicite de Partouche Moondra Avec ce modle, la premire solution est souvent trouve trs rapidement, les rsultats sont globalement dcevants au niveau de loptimum. Les rsultats suivants ont t publis pour un PC 486 100 M Hz. tel-00004380, version 1 - 29 Jan 2004 PLNE PPC 1er CPU Objectif CPU Objectif Test1 10 pers. <1 s. 2 41 s. 2 Pas de soln. Test 2.1 48 per <1 s. 171 > 20 min. Test 2.2 <1 s. 211 1 s. 1377* Test 2.3 <1 s. 447 560*
Lgende : * premire solution, + optimum non prouv

PPC 2me CPU Objectif 4 s. 2 7 s. 171*+ 7 s. 225* 6 s. 474*

En effet, Partouche propose des plannings individuels (avec 3 variables par individu). Ce type de modle permet de prendre en compte les particularits individuelles (par ex. prfrences et historique). Les modles planning anonyme utilisent des variables qui donnent le nombre de salaris dun tel type : ils peuvent traiter des situations avec un nombre plus grand de salaris mais ils ne peuvent pas prendre en compte les prfrences et historique.

2.2.3 Notre modle utilisant la contrainte cumulative


Avec des contraintes locales, les modles prcdents sont peu efficaces. Pour obtenir un maximum de propagation, il est vivement conseill dutiliser les contraintes globales. Nous prsenterons la contrainte cumulative pour la construction des horaires journaliers. La contrainte cumulative [AB93] a t conue pour rsoudre le problme de lordonnancement des tches o le nombre de ressources disponibles est limit. La dfinition de la contrainte est donn dans le glossaire. Il nest pas vident de savoir comment elle peut servir car loprateur de comparaison dans la couverture des charges est suprieure ou gal et non infrieure ou gale. [SC95] montrait comment utiliser la contrainte cumulative pour modliser le concept du producteur/consommateur, dans lequel le ou les processus produisent une commodit en stock et des processus qui le consomment, chaque processus ayant lieu des instants et avec des quantits prcises. Voir la Figure 2.14.

- 36 -

Ltat de lart Soit N le nombre dvnements producteurs P1, , Pn, qui produisent la quantit QPi au moment TPi M le nombre dvnements consommateurs C1, , Cm qui consomment QCj au moment TCj Q0 le niveau initial du stock a = min { TCj, TPi } 1 et b = max { TCj, TPi } +1 Contrainte de producteur/consommateur : t [a, b] Q0 + QPi QCj
TPi t TCj t

( 4)

L Producteurs Consommateurs tel-00004380, version 1 - 29 Jan 2004 Stock Initial a Figure 2.14. Dfinition de la contrainte Producteur/Consommateur Le raisonnement suivant a t propos pour formuler ce problme laide de la contrainte cumulative. Un processus producteur Pi rend disponible la quantit QPi de ressource au moment TPi : on lexprime avec une tche cumulative qui occupe la ressource depuis le dbut jusqu TPi. Inversement, un processus Cj consomme la quantit QCj de ressource au moment TCj : on lexprime avec une tche cumulative qui occupe la ressource depuis TCj jusqu la fin de lhorizon de calcul. Nous nous sommes sinspir de ce travail pour crer un modle de couverture des charges avec la contrainte cumulative o QPi = 1 et QCj = 1. Un employ i qui travaille de TDi TFi, rend disponible une ressource pendant la dure de sa prsence. On lexprime avec deux tches : lune dure depuis le dbut jusqu TDi et lautre depuis TFi jusqu la fin. La courbe de charges peut simplement se dfinir par un ensemble de tches L Producteurs b

Consommateurs a b

Dbut et fin des vacations de chaque groupe demploys Figure 2.15. Adaptation la couverture de la courbe des charges

- 37 -

Ltat de lart

2.2.4 Autres modles implicites


Nous proposons de rsumer ici un modle implicite de construction des vacations, dans le contexte des multiples qualifications. Il sera utilis dans des dveloppements dcrits au chapitre 5. Variables de dcision : X(e, i) = q o e est un employ, i est un intervalle de temps, et q la qualification de lemploy pendant cet intervalle, ou laffectation au repos.

Ainsi lensemble des vacations nest pas numr avant la rsolution des charges de couverture. Contrainte de couverture de charges : i 1, I, q Qualifications, W D (i, q) |{ X(e, i) = q, e Employs }| Utilisation des primitifs PPC dcrits au glossaire : voir [BSK+97b] among([N1, ..., NQ], [X(e1, i), , X(eN, i) ], Zeros N, [q1, ..., qQ], all) Minimiser la somme des excdents = q i |{ X(e, i) = q, e }| W(i, q) Contrainte sur la dure totale de travail pour un employ e : Dure totale du travail : among ([Min, Max], [ X(e, 1), , X(e, I) ], Zeros I, [repos], all) on restreint le nombre total de variables prenant la valeur repos Contrainte sur les pauses repas (aprs 6H conscutives de travail) Les contraintes de repos journalier sont implantes ds que la fin de la journe prcdente est connue, on peut dterminer le dbut au plus tt le lendemain. Figure 2.16. Autre modle implicite Au chapitre 5, nous proposerons une mthode de rsolution utilisant ce modle multiples qualifications.

tel-00004380, version 1 - 29 Jan 2004

2.2.5 Conclusion sur la construction de vacations par la PPC


Les modles conus pour la PLNE ne peuvent pas tre traits avec la mme efficacit en PPC, car les contraintes de type somme prsentes dans ces modles sont de nature globale et non locale un nombre de variables. La propagation locale est trs faible, ce qui conduit la conclusion de Partouche que la PPC nest pas adapte pour rsoudre ce problme (cf. [Par98]). Nous avons propos un modle utilisant la contrainte cumulative permettant de tirer un maximum de propagation.

- 38 -

Ltat de lart

2.3 LA CONSTRUCTION DE TOURS ACYCLIQUES : MODELES PLNE


Suite la constitution dune courbe de charge journalire, le calcul de dimensionnement de lquipe et la construction des vacations, nous connaissons le besoin en nombre de personnes chaque type de vacation pour chaque jour de la semaine. La cration de plannings mensuels (ou construction de tours) peut se faire de faon cyclique ou non. Nous proposons de faire le tour des mthodes usuelles de planification acyclique.

2.3.1 Calcul des Journes Repos. Day-Off Scheduling


Lorsque la dure de travail hebdomadaire dun salari ne correspond pas la semaine uvre de lentreprise, il faut mettre en place le calcul des journes de repos. Ex. la semaine de 5 jours dans des entreprises ouvertes 7 jours par semaine dans le cas dun salari temps plein. Diffrents cas de repos hebdomadaires peuvent tre envisags : 2 jours de repos par semaine 2 jours conscutifs par semaine 4 jours de repos sur 2 semaines, dont 2 jours conscutifs 4 jours de repos sur 2 semaines, dont 1 week-end Exemple dun modle PLNE pour le calcul des journes repos Soit les besoins B(p) pour les priodes p=1, , 7, et lhypothse de deux jours de repos conscutifs par semaine pour chaque employ, le programme linaire correspondant est : Minimiser
0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1

tel-00004380, version 1 - 29 Jan 2004

X(p)
1 1 1 1 1 0 0 0 1 1 1 1 1 0 X(1) X(2) X(3) X(4) X(5) X(6) X(7) B(1) B(2) B(3) B(4) B(5) B(6) B(7)

Figure 2.17 Calcul des journes de repos Des matrices semblables peuvent tre proposes pour les autres cas de repos hebdomadaires. [Bak74] a analys le cas particulier o 1. la somme des besoins est un multiple de 5 2. Le maximum des besoins est infrieur au cinquime de la somme des besoins Sans la condition 1, il nest pas possible quun effectif entier couvre exactement la charge. Sans la condition 2, leffectif ncessaire pour couvrir la charge maximale engendre immanquablement une couverture totale suprieure la charge totale. Lorsque ces deux conditions sont vrifies, il peut exister une solution avec leffectif gal au cinquime de la somme des besoins, qui ne gnre aucun sur-effectif.

- 39 -

Ltat de lart [BR78] suggre le problme complmentaire du problme initial qui est en quelque sorte limage inverse de loriginal : Maximiser Y(p)
1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 Y(1) Y(2) Y(3) Y(4) Y(5) Y(6) Y(7) W-B(1) W-B(2) W-B(3) W-B(4) W-B(5) W-B(6) W-B(7)

Figure 2.18 Calcul des journes de repos : matrice inverse Si W correspond leffectif total, W-B(p) correspond au nombre maximum de salaris pouvant tre au repos la priode p. Le problme consiste donc maximiser le nombre dagents ayant deux repos conscutifs chaque semaine. tel-00004380, version 1 - 29 Jan 2004 Lintrt de ce modle rside par la traduction via le programme linaire en Y dun problme de couplage maximal dans un graphe constitu dun cycle simple de 7 nuds. Conclusion sur le calcul des journes repos Laccord des journes repos est un fait minemment contractuel ou syndical. Dans un milieu o il est difficile de trouver des candidats avec les comptences requises pour toffer les quipes telles que les quipes de soins mdicaliss, il faudra offrir des garanties sur le positionnement des repos. Ce calcul se fait bien puisque le modle est trs petit.

2.3.2 La construction des tours


La construction des vacations fournit le nombre des vacations fournir par jour afin de couvrir les besoins. Il naffecte pas de vacations aux salaris. Il faut alors construire des tours et les affecter aux salaris. Mthode de rsolution utilisant la PLNE Les variables de dcision sont X(e, t, k) = 1 si le jour t, lemploy est affect ltiquette k, = 0 sinon XR(e, t ) = 1 si le jour t est affect au repos, = 0 sinon Les contraintes lgales sont : o Contrainte dunicit : k X(e, t, k) 1, (t, e) On place au plus une vacation chaque jour de lhorizon pour lemploy o Couverture des besoins : : e X(e, t, k) vtk, (t, k) o Au plus N vacations k, toutes les P semaines Sur toutes les variables t=7*w,, 7*w + 7*P-1 pour la semaine w t = 7*w, ...,7*w+7*P-1 X(e, t, k) N, e, w

( 5)

- 40 -

Ltat de lart o Au plus C jours successifs de travail : sur C+1 jours conscutifs, on a au moins un repos. i=0, C XR (e, t + i) 1, t ( 6) o Repos journalier: si k=0 reprsente le repos, X(e, t, k) + X(e, t+1, k) 1 avec k <> 0, k < k ( e, k) ( 7) Afin de raliser avec la PLNE, une contrainte de transition du type : si X(e, t, k) = 1 alors X(e, t+1, k) = 1, [Wil91] propose dutiliser une variable indicateur et une linaire quation du type : 0 qui est quivalent { X=0 =0 & X=1 =1 } X(e, t, k) X(e, t+1, k) 0

Pour tenir compte des pr-affectations aux employs, il suffit dajouter des quations du type X(e, t, k) = 1 dans ce modle. Si une personne ne peut pas tre affecte au code k : il suffit dajouter la contrainte X(e, t, k) = 0. Mthode de rsolution avec des modles de flot tel-00004380, version 1 - 29 Jan 2004 Afin de produire des tours hebdomadaires, [CGL01] utilise une formulation en PLNE pour combiner les modles journaliers dans un cadre de flot. Le principe consiste construire un rseau dans lequel un chemin du nud source au nud puit respecte les contraintes suivantes : T1 : T2 : T3 : rgle sur les jours de repos (ex. au moins un jour doit tre un week-end) la diffrence des heures dbutantes des jours conscutifs dun tour nexcde pas une limite donne (ex. deux heures) les tours peuvent tre cycliques (ne pas violer la contrainte sur les heures dbutantes pour le dernier et le premier jours).

Un chemin entre les nuds s et f reprsente un tour qui satisfait les contraintes sur les jours de repos, en visitant 5 nuds W (jours travaills obtenu de la construction de vacations journalires ) et 2 nuds F (jours repos).

Figure 2.19 Modle de flot hebdomadaire, repris de [CGL01] Un arc est reprsent entre deux nuds si la transition correspondante est admise. Par exemple le flot du nud F 3,1 to W 4,1 correspond au nombre des agents qui ont leur premier jour de repos le jour 3 et qui travaillent le jour 4. - 41 -

Ltat de lart

2.3.3 La construction intgre des vacations et tours


[BJ00] proposent un modle implicite capable de traiter des intervalles au quart dheure sur un horizon dune semaine. Le nombre de variables dans le modle explicite correspondant serait de lordre du milliard ! Il exploite lide de time bands . Au cours dune mme semaine, un salari ne doit dmarrer sa journe que dans une plage de temps. Dune part, cette condition gnre des plannings trs apprcis par tous et dautre part, elle permet une rduction norme de la combinatoire.

2.4 LA CONSTRUCTION DE TOURS : MODELES PPC


Nous prsentons dans ce paragraphe quelques gnralits sur la construction de tours avec des modles PPC. Ce sujet sera trait en dtails au chapitre 3. tel-00004380, version 1 - 29 Jan 2004

2.4.1 Modles Primal et Dual


La construction de tours utilise le modle suivant : les variables de dcision sont des affectations dun employ un jour donn et les valeurs possibles sont les horaires. Voir par ex. [CGL95], [Heu96] ou [Par98]. X(t, e) = k si le jour t lemploy est affect ltiquette k ou ltiquette repos. Besoins(t, k) = Nombre dtiquettes ncessaires le jour t Lavantage de ce modle est que la contrainte dunicit est implicitement respecte : chaque salari a une et une seule affectation par jour. Les outils PPC offrent les diffrentes contraintes suivantes : all_different ([X1, , XN]), qui exige que toutes les variables Xi aient des valeurs diffrentes deux deux. at_most.(M, [X1, , XN]) qui exige que la valeur maximale des variables Xi soit gale ou infrieure M. cumulative, among et sequence seront prsentes dans le glossaire.

La contrainte de charge est modlise avec la contrainte globale among pour le jour j : among([Min, Max], [X(e1, i), , X( eN, i)], Zeros N, [k], all) Cet appel spcifie que le nombre de variables dans la liste daffectations pour le jour j pouvant prendre la valeur k doit tre compris entre les bornes Min et Max. En gnral, les outils PPC proposent des propagations locales de type si alors. Par ailleurs [MGS96] propose une intgration des rgles et des contraintes pour rsoudre les problmes daffectation. Le modle dual a t propos par [Tsa93] o les variables reprsentent des horaires et les valeurs reprsentent les salaris: Y(t, k, i) Employs, pour i = 1 , , Besoins(t, k) All_different( { Y(t, k, 1), , Y(t, k, Besoins(t, k)) } ), (t, k) - 42 -

Ltat de lart [MGS96] proposent une application utilisant ces variables, comme le montre le planning suivant : t k i Etiquette Poste Jour 1 Jour 2 Jour 3 Jour N Matin Responsable Qui ? Matin Infirmire DE 1 Matin Infirmire DE 2 Matin Aide Soignante 1 Matin Aide Soignante 2 Soir Responsable Soir Infirmire DE 1 Soir Aide Soignante 1 Nuit Responsable Nuit Infirmire DE 1 Figure 2.20 Un planning avec des variables dual tel-00004380, version 1 - 29 Jan 2004 Initialement, le domaine des variables contient tous les salaris disponibles ce jour l et ayant les comptences requises. La taille du domaine des variables indique la difficult daffectation de cet horaire/poste/jour. Certaines variables peuvent avoir un domaine rduit une seule valeur : il faut alors raliser laffectation afin de conserver la consistance du problme.

2.4.2 La construction simultane des repos et tours


Pour rsoudre en un seul processus le calcul des journes repos et lenchanement des vacations sur la semaine ou le mois, les applications Gymnaste et Equitime dcrites au chapitre 3 effectuent ce calcul simultan. Lobjectif est de proposer des affectations de journes (y compris le repos hebdomadaire) de faon quitable pour tous les salaris.

2.4.3 Une comparaison des modles PLNE et PPC


Les paragraphes prcdents ont prsent des modles PLNE et PPC pour construire des vacations et des tours. Dans ce paragraphe, nous prsentons des observations gnrales sur ces deux types de modles. Richesse smantique Les variables PPC sont du type X(e, t) = k, alors que les variables PLNE sont X(e, t, k) = 1 ou 0 (o lemploy e, t reprsente la date et la vacation k). Les variables PPC sont plus proches des penses du planificateur et de sa terminologie. La valeur des variables PPC, est plus riche smantiquement que les valeurs boolennes des variables PLNE. Ainsi le modle PPC a besoin de moins de variables, dans le rapport 1 pour |Vacations|. En plus, les contraintes daffectation unique par salari par jour sont implicitement respectes.

- 43 -

Ltat de lart Avec des variables plus riches, la PPC permet de proposer des outils de contraintes trs expressifs, qui dpassent les limites des inquations linaires de la PLNE. Les algorithmes de consistance ont une smantique beaucoup plus proche du problme rsoudre que celle de lalgorithme du simplexe par exemple. Cela tient sans doute aux origines Intelligence Artificielle de la PPC , comme lcrivait Partouche [Par98]. Avec des variables plus riches, la PPC admet des variables dual en construction de tours : elles permettent des dductions supplmentaires, lorsque des contraintes portant sur ces variables sont applicables. Anonyme ou individuel Les modles PLNE sont en gnral anonymes, et calculent le nombre de salaris dans des groupes homognes qui sont pris en compte par les modles. De ce fait, ils sont capables de traiter un grand nombre de salaris. Par ex. des salaris temps plein et temps partiel, des salaris prenant une pause dbutant midi, etc. tel-00004380, version 1 - 29 Jan 2004 Par contre, les modles PPC sont en gnral individuels et ainsi peuvent prendre en compte les spcificits de chaque salari. Suivant la situation locale de rsolution, il est possible de programmer des dductions spcifiques, la manire des rgles. Ex : Si Agent 1 travaille le samedi, alors il sera de repos le lundi suivant. (uniquement pour cet agent) Ce constat ne met pas en cause les techniques de rsolution, mais dcoule des origines intellectuels de leurs concepteurs. Lorigine IA des concepteurs pratiquant la PPC donne la priorit au traitement des individuels. Lorigine de la RO tant lie leffort de la guerre, les concepteurs donnent la priorit aux masses. PLNE : la recherche des solutions entires Il est connu quen gnral, les solutions sont continues. Pour obtenir des solutions entires, il faut excuter des algorithmes de recherche. Les matrices uni-modales admettent des solutions entires. Optimisation Les modles PLNE donnent la possibilit doptimiser une fonction de cot, linsu des modles PPC. Gnralement, les chercheurs utilisent des fonctions conomiques en termes de salaires ou primes. Cependant, il est notoire que la formulation de cette fonction est trs difficile car elle est complexe politiquement4. Il nest pas vident de comparer le cot dun travail de nuit pour une personne trs exprimente au travail dun dbutant le week-end. Cette fonction ne peut pas prendre en compte ni la productivit ni la motivation des individus, simplement parce que le modle est anonyme. Pour le problme de programmation des cours luniversit, [KW92] a crit :

Cela constitue des problmes mal dfinis, dcrit dans le Glossaire. Ill-defined problems.

- 44 -

Ltat de lart
"The objective function approach is generally unsuitable for problems of this complexity due to the difficulty or impossibility of quantifying some of the factors".

Faiblesse de la propagation locale Caseau et al. crivaient [CGL95] :


"Timetabling problems are hard to solve with constraint logic programming. After reporting impressive successes for job-shop scheduling, CLP users have tried to address timetabling problems with far less success. The key is that local propagation is the right tool for job-shop scheduling, whereas timetabling scheduling is dominated by the combinations of global constraints that cannot be solved efficiently by local propagation..".

tel-00004380, version 1 - 29 Jan 2004

- 45 -

Ltat de lart

2.5 LA CONSTRUCTION DE TOURS CYCLIQUES


Connaissant le nombre de vacations par jour, trouves par la construction des vacations, on peut concevoir un cycle qui fournit les dites vacations tout en respectant les rgles denchanement des vacations et autres critres. En droulant le cycle, on obtient ainsi un planning prvisionnel thorique. Ce planning peut tre modifi manuellement pour sadapter aux congs annuels. Cela donne le planning prvisionnel ajust. Dans certaines entreprises, il peut avoir plusieurs niveaux de plannings prvisionnel ajust afin de tenir en compte des vnements initialement non prvus, qui se dclarent au fur et mesure.

2.5.1 Types de cycles


Les cycles peuvent tre regroups par leurs dures : tel-00004380, version 1 - 29 Jan 2004 o Des cycles journaliers utiliss au ministre de la justice seront cits en exemple : une squence de N vacations incluant des jours de repos hebdomadaire. Les salaris bnficient de peu de week-ends sur un an. Ex. Cycle de 5 et de 6 jours :
Cycle 5 jours Cycle 6 jours Matin Matin Soir Soir Nuit Soir Repos Nuit Repos Repos Repos

Le repos aprs le travail de nuit est un repos obligatoire. o Des cycles hebdomadaires (la priode tant un nombre de semaines entires) sont trs souvent proposs, car cela permet de caler les repos hebdomadaires sur les week-ends. Un Cycle Hebdomadaire de N semaines est dfini par une grille de codes horaires sur N semaines. Prenons comme exemple un cycle de 5 semaines propos par [LNB80], avec une de chaque vacation M=matin, S=Soir, N=Nuit par jour (avec RH=Repos hebdomadaire).
Semaine 1 2 3 4 5 M S N Lundi M S N RH RH 1 1 1 Mardi M S N RH RH 1 1 1 Mercredi M RH N RH S 1 1 1 Jeudi RH RH N M S 1 1 1 Vendredi Samedi RH N RH M S 1 1 1 S N RH M RH 1 1 1 Dimanche S N RH M RH 1 1 1

Figure 2.21 Cycle hebdomadaire de [LNB80] Pour un salari, son planning se lit de gauche droite et du haut en bas. Arriv au dimanche de la dernire semaine, il se poursuit au lundi de la premire semaine. Un cycle de N semaines est souvent effectu par au moins N salaris (ventuellement +1 pour les congs annuels). Ainsi, pour un jour de la semaine, il y a un salari sur chaque ligne, donc le total de prsence est 1 pour la vacation M, 1 pour S et 1 pour Nuit. Ceci reprsente la charge hebdomadaire. o Un cycle mensuel est difficile concevoir, car chaque mois na pas la mme dure. - 46 -

Ltat de lart o Un cycle annuel est envisageable, car il y a des contraintes lgales pourtant sur lanne (heures annualises, nombre de jours de congs ou RTT). On peut prvoir des semaines hautes et des semaines basses et utiliser des contraintes sur le volant des heures supplmentaires. Un cycle annuel est un cycle hebdomadaire qui sexcute en un nombre entier de fois par an, par exemple 13 (4 fois par an) ou 17 semaines (3 fois, la dernire semaine se planifie manuellement pour les ftes de fin danne). Un cycle peut tre qualifi de rotation en avant (selon la squence matin soir nuit) ou en arrire (nuit soir matin). Le premier cycle est trs utilis parce quil respecte mieux le biorythme des salaris. Dans la pratique, des adaptations locales sont applicables par exemple pour traiter une surcharge temporaire [Lap99]. Sil faut un S de plus le samedi, le matin du samedi est retard de 4 H, et la nuit est avance de 4 H. Sil faut une matine M et un Soir S de plus du lundi au vendredi, on peut juxtaposer au cycle de 5 semaines de la prcdente figure, un deuxime cycle de 2 semaines : tel-00004380, version 1 - 29 Jan 2004
Semaine 1 2 M S Lundi M S 1 1 Mardi M S 1 1 Mercredi M S 1 1 Jeudi M S 1 1 Vendredi M S 1 1 Samedi RH RH 0 0 Dimanche RH RH 0 0

Figure 2.22 Cycle hebdomadaire de [Lap99]

2.5.2 Des contraintes sur les cycles


De nombreux travaux portent sur la conception automatique de cycles par ex. [Tr76], [LNB80], [NB92], [Mus00]. Comme le cycle est vcu sur un horizon relativement long, la qualit du cycle doit tre travaille finement. Les conditions suivantes doient tre satisfaites daprs [LNB80] : 1. Un changement de vacation se fait seulement aprs un repos hebdomadaire 2. Le nombre de jours travaills conscutifs est limit : au moins 2 ou 3 et au plus 6 ou 7 jours. 3. De la mme faon, le repos hebdomadaire doit tre dau moins 2 et pas plus de 6 ou 7 jours. 4. Les priodes longues de travail doivent tre succdes de longues priodes de repos. 5. Il doit avoir un maximum de week-ends entiers de repos hebdomadaire 6. Les week-ends en repos doivent tre bien distribus sur le cycle. Dautres prfrences peuvent se rajouter : le travail de nuit ne doit pas tre interrompu par des courtes squences de travail de jour. Des changements frquents entre le travail de nuit et de jour sont difficiles assimiler. [Mus00] relaxe la contrainte 1, mais rajoute dautres contraintes: 1. Contrainte sur la succession de trois vacations, dfinie par un tableau 3 indices. - 47 -

Ltat de lart 2. La longueur de chaque suite de vacations identiques doit respecter des bornes minimum et maximum (suivant la vacation) 3. La longueur de chaque suite de vacations de travail doit respecter les seuils Il est certain que la gnration acyclique dun planning ne respecte pas les mmes impratifs. Un tel planning ne peut pas servir dans le cadre dun planning cyclique. Un tel planning sur 12 semaines propos par Partouche navait quun seul week-end au repos. Des squences de 6 jours de travail nont pas de priodes de repos allongs.
Semaine 1 2 3 4 5 6 7 8 9 10 11 12 M S N R Lundi S R R M M N M M M R R R 5 1 1 5 Mardi S M R M M N M R R M R R 5 1 1 5 Mercredi S M N M R R R R R M M S 4 2 1 5 Jeudi S M N M R R R M R M M S 5 2 1 4 Vendredi N M R R S M M M S M M R 6 2 1 3 Samedi N S R R S M M M S M M R 5 3 1 3 Dimanch e R S M M N M M M R M M R 7 1 1 3

tel-00004380, version 1 - 29 Jan 2004

Figure 2.23 Planning de 12 semaines propos dans [Par98]

2.5.3 La gnration de cycles


Un processus semblable celui dcrit ci-dessus a t propos dans [LNB80], [BW90]. 1. Estimation de la taille minimale de lquipe. Ceci donne la longueur du cycle. Diverses formules ont t proposes par plusieurs auteurs sous des hypothses diffrentes. 2. Dfinition des configurations admissibles de journes travailles + journes au repos 3. En tenant compte des bornes sur le nombre de jours travaills ou de repos, on identifie les priodes de repos admissibles et on gnre toutes les possibilits suivant les jours de la semaine. On nen retient que les possibilits qui permettent de satisfaire les besoins annoncs par jour de la semaine. En valuant chaque configuration, on favorise celles avec week-ends au repos. 4. Affectation des priodes travailles

- 48 -

Ltat de lart [BW90] propose un modle qui intgre les tapes 3-5 en une seule, permettant de trouver des solutions optimales. Ce modle dfinit des nuds pour chaque jour de lhorizon du cycle. Un arc connectant les nuds j et k correspond une priode de travail ou de repos, dbutant le jour j et terminant le jour k. Pour un problme M codes horaires, il peut avoir M+1 arcs entre deux nuds quelconques (y compris le code horaire repos). Le modle [Mus00] admet des squences de vacations contenant plus dun type de vacation. La solution propose exploite lnumration implicite, en prenant soin de gnrer quune seule fois des plannings obtenus en faisant une rotation.

2.5.4 Le droulement de cycles avec relaxation


Aucun des travaux actuels ne traite lapplication dun cycle dans la pratique. Le cas typique est un droulement thorique, en ignorant toute absence prvue comme les congs annuels. Le problme pos est celui de la relaxation pratique dun cycle dont la dfinition mathmatique est connue parfaitement. Ce sera dcrit plus en profondeur au chapitre 4. Presque 20 ans aprs sa premire communication dans la planification cyclique, Laporte [Lap99] dplore que les mthodes actuelles ne permettent pas de donner des plannings qui tiennent en compte des problmes de relaxation.

tel-00004380, version 1 - 29 Jan 2004

- 49 -

Ltat de lart

2.6 METHODES DE RECHERCHE STOCHASTIQUE


Un problme de satisfaction de contraintes peut tre rsolu par des mthodes de recherche arborescente (donc non-dterministe) et stochastique. Ces algorithmes utilisent des heuristiques pour o Choisir le point de dpart o Slectionner lensemble de points dans lespace de recherche (le voisinage) o Choisir le prochain point dexploration (qui parat le plus intressant pour la poursuite de la recherche) Des mthodes de recherche stochastique sont les algorithmes gloutons, algorithmes gntiques (GA), le recuit simul ou le tabou. Hormis les GA, ces mthodes maintiennent une seule solution la fois, et naviguent petits bonds travers lespace de recherche. Un GA peut manipuler plusieurs solutions la fois et effectue des sauts de porte nondtermine. Cela donne un caractre non-local aux GA, et le rend plus consistant dans lobtention des solutions de bonne qualit.

tel-00004380, version 1 - 29 Jan 2004

2.6.1 Algorithmes gntiques


Un algorithme gntique GA est un algorithme de recherche locale stochastique qui emprunte le concept de slection naturelle des espces pour trouver ainsi des individus le plus apte [Hol76]. Les GA recherchent des solutions optimales, en manipulant des solutions actuelles. Par exemple, ils combinent des lments de deux bonnes solutions pour en crer une troisime, qui peut reprsenter un point trs loign des solutions parents, dans lespace des solutions. Mthode de base i. Le codage dun chromosome : Lensemble des solutions retenu par GA sous la forme de chromosomes, cods comme un vecteur dentiers non-ngatifs. Chaque chromosome est une collection de blocs (appels des gnes) qui constituent une solution. Le codage informatique des solutions doit faciliter les diffrentes tches de lalgorithme gntique. ii. Loprateur de CROISEMENT : A partir de deux chromosomes parents et dun masque constitu dun vecteur de n lments { 0 |1 }, cet oprateur permet de gnrer un nouveau chromosome en prenant le gne du premier parent lorsque llment correspondant dans le masque est 1 et du second lorsquil vaut 0. iii. Loprateur de MUTATION : A partir dun chromosome, on modifie une partie de la solution de faon alatoire. Par exemple, on supprime un nombre de salaris, partir des lments slectionns alatoirement (ex. Xi = Xi - 1), puis on augmente le nombre de salaris dans les autres gnes, afin de rendre la solution ralisable en terme de comptences disponibles. iv. Lalgorithme 1. On gnre une population initiale de 100 membres, de faon alatoire. 2. On applique des oprateurs de croisement ou de mutation un nombre dtermin de fois. Les chromosomes rsultant sont remis dans la population sils prsentent un intrt certain. Ceux qui sont faibles seront jects de la population. 3. Si le critre darrt nest pas atteint, alors on ritre ltape 2.

- 50 -

Ltat de lart Problmes des GA Epistasies : Le succs de lapplication des GA est souvent attribu la validit de lhypothse des blocks de construction5. Cette hypothse stipule que loprateur de croisement doit pouvoir combiner des bonnes solutions partielles (ou blocks) pour former des bonnes solutions compltes. Essentiellement lpistasie est prsente si laptitude dune solution nest pas une combinaison linaire du taux de laptitude de ses lments. Lpistasie est une mesure de la non-linarit de la relation entre le codage et la fonction daptitude. Chaque gne dans un chromosome peut correspondre une variable dans un CSP. Daprs [Lau98], le problme courant est que les diffrents gnes ne sont pas indpendants. Les contraintes influencent les valeurs simultanes des gnes, ainsi que lvaluation des chromosomes. Validit des oprateurs : loprateur de croisement est la base de la gense de meilleures solutions. Suivant le codage des plannings en blocs, il se peut que le croisement de deux plannings engendre des plannings qui violent des contraintes dures. Par exemple, pour le problme de construction des tours, si un gne reprsente la suite des affectations de vacations dans un mois pour un salari, joindre deux bouts de plannings peut rsulter en une suite de plannings interdits (ex. Nuit suivi de Matin). [Eib01] proposent deux mthodes pour rsoudre des CSP avec des GA. Traiter toutes les contraintes indirectement : la fonction daptitude dpend de la violation des contraintes. A chaque itration, la population des solutions devient de plus en plus admissible. Traiter toutes les contraintes directement : la violation des contraintes naffecte pas la fonction aptitude. On y parvient par lune des approches suivantes : o Llimination des candidats inadmissibles : cette mthode trs gnrale est trs peu efficace (elle ressemble la gnration et test ) o Rparation des candidats inadmissibles : lorsquelle est possible, cette mthode donne de bons rsultats en gnral, daprs [Eib01]. o Concevoir des oprateurs qui respectent les contraintes : cette mthode est la plus intressante mais aussi la plus difficile raliser. Loprateur de mutation parat bien adapt, car il mlange des chromosomes admissibles des solutions ; le croisement cre de nombreuses violations. Traiter une partie des contraintes directement et lautre indirectement

tel-00004380, version 1 - 29 Jan 2004

Diversit des individus dans la population : un GA doit veiller ce que la population soit suffisamment diversifie afin de converger vers des bonnes solutions. En consquence, il faudrait des mesures de similitude ou de diversit. La taille de la population doit tre grande. Rsultats de Cai et Li
5

Building Block Hypothesis

- 51 -

Ltat de lart Une mthode GA [BC96] a t utilise pour rsoudre le modle de Cai et Li [CL00]. Il y a deux comptences, et le personnel est divis en 3 classes : ceux qui ne possdent que la premire comptence, ceux la seconde comptence et finalement ceux qui possdent les deux (dont la disponibilit est suppose infrieure B). Pour la classe de salari j=1,2,3, soit nj le nombre de solutions faisables dans lensemble Sj. Pour une solution faisable i, on dnote : Xi le nombre de salaris du premier groupe affect aux tches de la comptence 1, Yi le nombre du second groupe affect aux tches de comptence 2, Zi le nombre du troisime groupe affect aux tches de comptence 1, Z"i le nombre du troisime groupe affect aux tches de comptence 2, S = {X1, X2, , Xn1, Y1, Y2, , Yn2, Z1, Z2, , Zn3, Z"1, Z"2, , Z"n3} o n = n1+n2+2n3, le nombre total de solutions, X,Y,Z sont des gnes. Chaque lment du vecteur reprsente une des solutions faisables pour chaque type de personnel. Utiliss dans le contexte de personnel multiples comptences, sur un horizon dune semaine, des intervalles dune heure. Il y a des vacations de nuit (23H-07H) et de jour : 7H-16H, 8H-17H, 9H-18H, 10H-19H, 11H-20H, 12H-21H, 13H-22H, 14H-23H, 15H-0H. La dure des pauses pendant les vacations de jour, est dune heure aprs 4 heures de travail. Les horaires hebdomadaires doivent avoir au maximum 3 nuits conscutives, avec une journe de repos compensateur et suivi du repos hebdomadaire. Les vacations journalires sont maximums de 6 jours de suite, suivies du repos hebdomadaire (un jour quelconque de la semaine). Pour chaque salari, une semaine jour commence toujours la mme heure. Sur une station Sun SPARC, limplmentation en C prend 8 10 minutes pour produire des solutions faisables, avec un total de 593 salaris. Conclusion Par rapport aux autres mthodes qui recherchent un chemin la fois, en considrant plusieurs solutions simultanes le GA est susceptible de trouver des solutions plus intressantes. Pour la gnration de la population initiale de solutions, il faut utiliser des mthodes supplmentaires, par exemple une mthode gloutonne. Il est difficile de sassurer qu partir de solutions consistantes, les oprateurs produisent des solutions filles consistantes. Plus les contraintes sont complexes, plus llimination des solutions inconsistantes prend du temps.

tel-00004380, version 1 - 29 Jan 2004

- 52 -

Ltat de lart

2.6.2 Algorithmes mimtiques


[Daw76] a introduit lide de mime comme une alternative au concept de gne. Non seulement le matriel gntique est transmis dune gnration la suivante, mais aussi des ides et concepts. Le concept de mime est assimil comme une unit dinformation passe entre des individus. Quand un gne est pass aux descendants, il nest pas altr : les individus nont aucun contrle sur leur composition gntique. Par contre, lindividu peut adapter le mime son propre environnement. La notion dun algorithme mimtique a t introduit dans [MN91] pour dcrire des algorithmes incorporant la recherche locale (par ex. hill climbing) suite une mutation. Afin de rduire le temps dvaluation, les algorithmes exploitent la diffrence entre les solutions finale et initiale, par ex. [Kra96]. Slection dun oprateur Solutions

tel-00004380, version 1 - 29 Jan 2004

Mutation

Recombinaison

Evaluation

Recherche Locale

Solutions Optimales

Figure 2.24 Le schma global dun algorithme mimtique6

2.6.3 Le recuit simul


Le processus du recuit est le lent refroidissement dun solide. Le premier algorithme permettant de simuler ce processus a t propos initialement par [MRT53]. Plus tard, Kirkpatrick et al. tablissent lquivalence entre le processus de recuit et la rsolution dun problme doptimisation combinatoire. Lquivalence est obtenue en faisant une analogie entre ltat des particules et les solutions dune part, et entre ltat dnergie et le cot dautre part. La mthode de Metropolis gnre une squence dtats qui illustre lvolution du corps de ltat liquide ltat solide, en observant lquilibre thermique chaque instant. Le prochain tat est obtenu par une petite perturbation de ltat courant, gnre de faon alatoire, et un critre dacceptation. Ainsi une perturbation nest pas accepte systmatiquement. Cela dpend de la diffrence dnergie entre ltat courant et le nouvel tat, et la temprature ambiante. Une configuration est une solution et une transition de i j reprsente une perturbation en configuration i, la transformant en configuration j. Soit Fi et Fj le cot des configurations i

Burke E.K. , Newall J.P. , Weare R.F. , A mimetic algorithm for university exam timetabling, in The Practice and Theory of Automated Timetabling: selected papers from the 1st Intl. Conf. on the Practice and Theory of Automated Timetabling, Napier University. Lecture Notes in Computer Science Series, Vol. 1153, pp. 241-250, 1995.

- 53 -

Ltat de lart et j, et T reprsente la temprature. La probabilit daccepter la transition de i vers j est dfinie par le critre dacceptation de Metropolis : Aij(T) = 1 si Fi Fj = e (Fi Fj)/T sinon, avec T > 0
(8)

Lalgorithme RS classique est une squence des algorithmes Metropolis qui est value pour une suite dcroissante de temprature. Par consquent, les caractristiques globales du RS est que la probabilit dacceptation des transitions de cot croissant, dcrot avec la baisse de temprature. Quand la temprature tend vers zro, la dtrioration du cot nest plus accepte. La nature stochastique du RS est dcrite par le critre dacceptation et une fonction de voisinage. Ce dernier dfinit pour chaque configuration i, lensemble de configurations voisines N(i) qui peuvent tre atteintes avec une seule transition. Ainsi de deux choses lune : a) les configurations qui ne sont pas voisines auront une probabilit nulle de devenir la prochaine configuration ; b) les configurations qui sont voisines auront une probabilit non nulle de succder la configuration courante. tel-00004380, version 1 - 29 Jan 2004 Algorithme du recuit simul (, T, N, P)
= taux de refroidissement entre 0,5 et 0,99 T = temprature initiale N = nombre de paliers de tempratures P = nombre dtapes par palier Soit S = Solution initiale gnre de faon alatoire T = T Tant que i < N faire J=0 Tant que J < P faire Une tape S = Gnrer une transition partir de S E = ES ES Si E 0 Alors S = S // Accepter la transition Sinon E/T Proba = exp Si alatoire(0,1) < Proba Alors S = S // Accepter la solution Sinon // Rejeter la solution Fin Si Fin Si Fin T=*T Fin Solution finale = S

Figure 2.25 Lalgorithme du recuit simul Le gnrateur de nombres alatoires entre 0 et 1 utilise une loi de distribution uniforme.

- 54 -

Ltat de lart

2.6.4 Recherche Locale


Mthode dchanges locaux [JBS94] propose un algorithme simple qui construit un ensemble de tours et amliore la qualit en faisant des changes. Pour chaque jour de lhorizon, les vacations sont tries par ordre croissant de lheure de dbut. Un ensemble de tours est gnr en tenant compte des repos hebdomadaires. Pour chaque tour, calculer la variance de lheure dbut des vacations. Soit i* le tour dont la variance est maximum sur lensemble des tours. Considrons lensemble des tours avec au moins une vacation commenant plus tt que la vacation dbutant le plus tard dans i* et avec une vacation commenant plus tard que la vacation dbutant le plus tt dans i*. Pour chacun tour j, identifier la squence dchange de vacation permettant de rduire la somme des variances de i* et j. Rpter cette tape un nombre donn de fois, tant que la variance de i* continue diminuer. tel-00004380, version 1 - 29 Jan 2004 Des variantes de ces mthodes rduisent la diffrence en heure de dbut des vacations dans un tour. Mthode de recherche locale avec redmarrage alatoire Les mthodes de recherche locale ont la tendance dtre piges par des optima locaux. [MK01] propose une mthode permettant de sortir de cette impasse : lorsque le nombre de retour-arrire dpasse un seuil prtabli, la recherche systmatique est arrte autour de la solution partielle courante, un autre point de lespace de solutions est gnr de faon alatoire et la recherche locale est redmarre. Inspir de [GK98] et incorporant des techniques de forward-checking et vrification des consistances, une amlioration de lordre dune grandeur a t rapporte dans [MK01].

2.6.5 Recherche Tabou7


Initialement propos par F. Glover [Glo89], la recherche tabou est un mta-heuristique de recherche locale partir dune solution initiale, dans un voisinage prdfini. Lalgorithme parcourt le voisinage de lespace de solutions depuis la solution initiale, de faon nonordonne. Le voisinage est dfini par un ensemble de types de transitions dtat. On ne retient que la solution qui possde une valuation meilleure celle obtenue auparavant. Afin dviter de revenir sur une solution dj visite, le systme maintient une liste de transitions rcentes qui sont dclares interdites, do le nom tabou. Cette liste fonctionne comme une pile, les lments seront tabou pendant un nombre K ditrations. Ainsi, faute de trouver une solution avec une meilleure valuation, on peut accepter en une qui nest pas sur la liste tabou. Cette technique dispose dun mcanisme permettant de retenir une solution malgr le tabou : un critre daspiration souvent utilis est bas sur le taux damlioration de la fonction dvaluation. Si la solution est trs bonne par rapport la solution courante, on laccepte malgr son inscription sur la liste tabou.
7

Taboo Search

- 55 -

Ltat de lart Un mcanisme de diversification est ncessaire pour rduire la possibilit dtre pig dans un optimum local. Algorithme de recherche tabou (f, x*)
Entre : Solution admissible x* Fonction dvaluation z* = f(x*) Rsultat : x* est la meilleure solution avec la valeur z* Soit la solution ltape courante k : xk := x* Initialiser la liste tabou L Tant que Critre darrt insatisfait Dbut (1) Recherche dans le voisinage de la solution courante k k Soit V(x ) = lensemble des solutions voisines de x , k obtenues avec les transitions admissibles partir de x k k Soit VL(x ) V(x ) obtenu en liminant les solutions interdites par la liste tabou Certaines solutions ne sont pas limines si le critre daspiration est satisfait par exemple si son valuation est trs intressante par rapport z*

tel-00004380, version 1 - 29 Jan 2004

Choisir la solution x VL(xk) qui minimise la fonction f k+1 Si f(x) < f(x*) alors faire x x (2) Gestion de la liste tabou L Si la liste a atteint la longueur maximale, liminer llment la plus ancienne k k+1 Ajouter dans L linformation sur la transition x x . Fin

Figure 2.26 Lalgorithme de recherche tabou Pour rsoudre le problme de lemploi du temps, [SS95] utilise le codage matriciel M i,k qui contient le nom de la classe du professeur j la priode k. Les voisinages proposs sont : Echanger deux cours pour un mme professeur Dplacer un cours une autre priode [CST00] utilise une liste tabou de taille variable. A son entre dans la liste, chaque solution est attribu un nombre alatoire (choisi entre deux valeurs fixes Kmin et Kmax) celui ci reprsente le nombre ditrations la solution doit rester dans la liste. Le voisinage est dfini par le remplacement dun employ i la priode j effectuant la tche k, par un autre employ j qui ne travaille pas la priode j. Problmes de la recherche tabou Comme les mta-heuristiques, la recherche tabou est une technique doptimisation sans contraintes. Effectivement, les transitions dun tat un autre peuvent engendrer des violations de contraintes, sauf si elles ont t conues spcifiquement.

2.6.6 Greedy Randomized Adaptive Search Procedures


Propos la premire fois dans [FR95], le mta-heuristique GRASP consiste en deux tapes chaque itration :

- 56 -

Ltat de lart La construction dune solution initiale avec une fonction gloutonne alatoire adaptative. La fonction gloutonne prend en compte les choix fait prcdemment pour dterminer la prochaine solution. Lutilisation dune procdure de recherche locale pour lamliorer.

La meilleure solution sur toutes les itrations sera retenue comme solution finale. Bien videmment, on peut tomber dans un optimum local dans une itration, mais le redmarrage alatoire permet dexplorer lespace de solutions pour en trouver une qui soit proche de loptimum global. Algorithme GRASP8(MaxIterations, Seed)
Nombre maximal ditrations est donn en entre Seed permet dinitialiser le gnrateur de nombres alatoires Solution 0, MeilleurSolution 0 Pour K=1, Max_Iterations Faire GreedyRandomizedConstruction(Seed) Solution local_Search(Solution) Solution MiseAJour (Solution, MeilleurSolution) Retourner MeilleurSolution Fin Procdure GreedyRandomizedConstruction(Seed) 0 Solution Initialiser les gnrateurs de nombres alatoires avec Seed Evaluer la solution Tant que Solution est incomplte Construire une liste de candidats (de faon adaptative la solution partielle) Slectionner alatoirement un lment s de la liste de candidats Solution {s} Solution Rvaluer le cot incrmental Fin Tant que Retourner Solution Fin procdure

tel-00004380, version 1 - 29 Jan 2004

Figure 2.27 Lalgorithme GRASP daprs [RR01]


9 Dans lapplication de cette mthode au problme de laffectation gnralise , la probabilit du choix dun candidat est en fonction du rapport bj/aij, bj tant la capacit maximale de lagent j, et aij la consommation en ressource j par la tche i si affecte la ressource. Ce rapport est grand si la tche i nutilise quune petite partie de la capacit de la ressource j. Le candidat est admis si la contrainte de capacit nest pas transgresse. Sinon, le premier candidat avec une capacit restante suffisante est pris. Si aucun candidat na de la capacit restante, on slectionne avec une probabilit uniforme. Nous voyons que la mthode est sadapte aux choix prcdents dans la solution courante, et ignore les solutions prcdentes.

Au total, des centaines voire des milliers ditrations peuvent tre excutes, chaque dmarrage exploite un point pris de faon alatoire. Cette technique est conceptuellement
Une liste dapplications GRASP est visible ladresse http://www.research.att.com/~mgcr, qui est gr par Rescende. 9 Generalized Assignment Problem (GAP)
8

- 57 -

Ltat de lart facile dployer sur un grand nombre de machines en parallle. Comme on dispose dune solution ralisable chaque itration, on peut arrter le processus lorsquon a besoin dune solution.

2.6.7 Conclusion sur les mthodes stochastiques


En gnral lapplication de ces mthodes beaucoup de problmes de taille relle montre quelles donnent des solutions de bonne qualit dans de nombreux cas. Nous pouvons faire deux remarques propos de ces mthodes. Dune part, ntant pas bases sur le raisonnement logique, elles seraient difficiles appliquer la rsolution des modles traitant plus de types de contraintes. Dautre part, ses rsultats semblent dcouler du grand nombre de calculs de solutions et dvaluation. Typiquement dans la littrature de recherche sur les GA, on parle de 500 ou 1000 itrations. Donc, elles exigent un temps potentiellement inacceptable pour un produit commercial. tel-00004380, version 1 - 29 Jan 2004

- 58 -

Ltat de lart

2.7 LES ALGORITHMES DAPPROXIMATION


La thorie de la complexit (Cook en 1971 et Karp en 1972), postule que tout problme NP complet pourra tre rsolu dans un temps polynomial en fonction de la taille du problme, si et seulement si tous les autres problmes NP complets peuvent tre rsolus dans un temps polynomial. La classe de problmes NP complets inclut des problmes pratiques tels que le voyageur de commerce, couverture densemble, programmation en nombres entiers avec des variables limites. Aprs des dcennies de recherche algorithmique, des gnrations de chercheurs nont pas trouv de tels algorithmes. Par contre, ils ont trouv de plus en plus de problmes de la mme classe. En consquence, de nombreux chercheurs [Sah77], [Joh74] ont propos des algorithmes pour rsoudre les problmes NP complets de faon presque optimale : ces algorithmes sont capables de rsoudre ces problmes dont lvaluation est proche de la valeur optimale. Cette tendance est renforce par le fait que les problmes sont souvent dfinis de manire approximative par rapport la ralit. Dfinition : Un algorithme est appel algorithme -approch pour un problme P si pour toute instance I du problme, F*(I) >0 lvaluation dune solution optimale I, F(I) >0 est la valeur gnre par lalgorithme, et est une constante, alors lerreur relative est :

tel-00004380, version 1 - 29 Jan 2004

F*(I) F(I) F(I)

( 9)

Pour un problme de maximisation, 0 < 1 et un problme de minimalisation 1.


10 pour un problme Dfinition : un schma dapproximation en temps polynomial PTAS de minimisation est une famille dalgorithmes {A ; > 0 }, tel que pour chaque , A est un algorithme (1+) -approch avec une complexit en . Pour un problme de maximisation, A est un algorithme (1-) -approch 11 Sans entrer dans les dtails de cette branche dtude , il existe des PTAS pour les problmes tel que sac dos, voyageur de commerce sur un plan Euclidien, certains problmes dordonnancement et la couverture densemble.

2.7.1 La couverture densemble12


Etant donn un ensemble U dlments, une famille F de sous ensembles de U : S1 , S2, , Sn U, avec des poids associs w1 , w2, , wn, le problme de couverture de U consiste trouver lensemble I {1, 2, , n }, dont lunion recouvre les lments de U.

U = i I Si
qui minimise la somme i=1,n wi..

(10)

Il y a deux mthodes possibles dans lnumration de toutes les couvertures I. Lune consiste construire toutes les collections, et stopper la recherche ds que lunion recouvre U. Cette mthode est qualifie de lnumration des sous-ensembles. Lautre

10 11

Polynomial time approximation schema PTAS le lecteur pourra consulter le tutorial de 132 pages [Wil98] 12 Set Covering Problem

- 59 -

Ltat de lart consiste augmenter le taux de couverture chaque tape ; la mthode est qualifie de laugmentation de la couverture. Lun des premiers algorithmes dapproximation pour rsoudre ce problme a t propos par [Joh74] avec une complexit de O(n log n). A chaque tape, la technique glouton consiste ajouter le sous-ensemble Si qui contient le plus dlments non encore couverts. La proposition de Chvtal [Chv79] donne une complexit de O(m log n) o m = i=1,n | Si |, le rsultat a le poids W qui satisfait la borne suprieure : W W opt . O(log d), avec d = Max | Si | Ce rsultat a t amlior dans [Hoc82] donnant le poids W W W opt . f, avec f = le plus grand nombre densembles Si qui contiennent un lment x quelconque Soit Fj = {I | ej Si }, alors f = Max |Fj| (11)

tel-00004380, version 1 - 29 Jan 2004

2.7.2 Lalgorithme Yehuda et Even


Lalgorithme de [BE81] obtient le mme rsultat, mais vite lappel un algorithme de Programmation Linaire. Sa complexit est proportionnelle m = i=1,n |S(i)|. Algorithme de Behuya et Even ()
Famille de n ensembles F = {S1, S n}, poids de chaque Si = w i nombre real 0 Lensemble universel U = {e1, et} = U i=1,n Si , t = nombre dlments distincts Traitement Soit N = {1, , n}, T = {1, , t}, F(j) = { i | e j Si } N Initialisation : I N, SW(I) = w i I = 0, J = T Itration : Tant que ( J 0 ) et soit j J Choix dun Si : M = min { SW(I) | I F(j) } Soit i=k pour SW(k) = M Mise jour des compteurs I F(j), SW(I) = SW(I) M I = I u {k} choix du sous-ensemble k J = J \ S k enlve toutes les priodes couvertes par cet ensemble Fin Sortie : I N, contenant les indices de S choisis, et qui minimise i I w i

Figure 2.28 Lalgorithme de Behuya et Even Une comparaison de 9 algorithmes pour rsoudre le problme de couverture densemble est propose dans [GW97]. Les meilleurs rsultats ont t trouvs par les mthodes suivantes :

- 60 -

Ltat de lart o Algorithme Glouton (Chvtal) : A chaque itration, on choisit la variable qui apparat dans le plus grand nombre de contraintes non satisfaites. En cas dgalit, la variable avec le plus petit indice est choisie. o Algorithme Glouton-Alatoire : A chaque itration, on choisit la variable qui procure le plus de gain. En cas dgalit, on utilise une rgle alatoire pour choisir parmi les candidats. Les calculs sont rpts N=100 fois et la meilleure solution est retenue. Cet algorithme donne les meilleurs rsultats dans la comparaison (presque toujours la solution optimale), mais la consommation en temps machine est importante.

2.7.3 Multiples couvertures densemble13


La couverture densemble ne permet que de couvrir une seule fois lensemble U. La construction de vacations exige la multiples couvertures car un instant donn, les besoins en personnel sont en gnral suprieurs 1. tel-00004380, version 1 - 29 Jan 2004 [PSW97] analyse une gnralisation du problme de couverture densemble avec la classe de problmes dnote par ILP(k, b). Cela consiste trouver le vecteur x {0,1}n en minimisant j x j , soumis aux contraintes A x b, o A est une matrice boolenne m x n avec au plus k fois 1 par range, b est un vecteur en nombres entiers et b est la plus petite valeur dans b. Lorsque k=n, b=1, on retrouve une variante du problme de couverture densemble. Des algorithmes dapproximation avec un rapport = ( k b + 1) ont t proposs, voir [HH86] par exemple. [PSW97] propose un nouvel algorithme -approch pour rsoudre ILP(k, b) o = ( k b + 1) ( 1 (c/m) d) (12) avec une petite constante c > 0, d = 1/ (k-b+1), m = nombre de ranges de la matrice A. Lalgorithme propos utilise la programmation linaire comme tape intermdiaire.

2.7.4 Conclusion
Cette revue des mthodes de rsolution du problme de couverture densemble, permet de donner une ide des rsultats obtenus dans ce domaine. La construction des vacations relve du problme multiples couvertures densemble. U est lensemble des intervalles de temps de la journe ; Si sont les horaires lgaux, compte tenu de la lgislation sur les dures de travail et de repos. La couverture de lensemble U traduit la prsence de personnel sur la journe. Cependant, il y a dautres contraintes non-couvertes par ce problme :
13

La multiple comptence : dans un CALL CENTER, le personnel est souvent comptent pour traiter plusieurs flux dappels. Le temps partiel de certains employs

Multiple Set Covering

- 61 -

Ltat de lart Les prfrences individuelles

Compte tenu de la complexit de ces algorithmes, il nest pas envisageable denrichir le modle de planification, de tenir compte des prfrences ou de lhistorique.

tel-00004380, version 1 - 29 Jan 2004

- 62 -

Ltat de lart

2.8 LES SYSTEMES INTERACTIFS DAIDE A LA DECISION


Cette thse a pour finalit la cration dun systme logiciel pour la cration de plannings. Jusqu ce point, nous avons analys les mthodes techniques pour gnrer automatiquement des plannings. Or la mise en uvre de ce type de logiciel nest pas aussi simple que celle des traitements de textes. Ce paragraplhe propose dexplorer les modles conceptuels dun systme logiciel, puis dun systme daide interactive la dcision, et enfin dun logiciel planning.

2.8.1 Le modle conceptuel dun systme logiciel


Un modle conceptuel MC est une reprsentation mentale du fonctionnement du systme et il indique comment les contrles de linterface utilisateur le modifient. MC de lutilisateur

tel-00004380, version 1 - 29 Jan 2004

MC du concepteur

Image Systme Utilisateur Crateur - concepteur

Documentation Systme Figure 2.29 Les diffrents types de modles conceptuels daprs Norman Dans la science de communication, [Nor90] proposa trois types de modles : 1. Modle concepteur : un modle conceptuel du crateur du systme dans sa globalit. 2. Image Systme : la reprsentation physique externe du systme, ce que voit, entend ou ressent tout utilisateur qui interagit avec le systme. Le crateur communique lutilisateur via limage systme. 3. Modle utilisateur : un modle conceptuel de lutilisateur du systme. Il le construit partir de son exprience, des documents pdagogiques et de la formation quil a reue. Si lutilisateur dispose dun bon modle conceptuel, il saura prdire les effets de ses actions, donc capable de russir linteraction avec le logiciel.

- 63 -

Ltat de lart Afin que lutilisateur puisse exploiter effectivement tout systme, Norman propose que le modle conceptuel de lutilisateur soit proche de celui du concepteur [Nor90]. Je cite : "Important image is not the one on the screen but in the users' mind. Lutilisateur cre son modle conceptuel partir de son exprience, en lisant la documentation systme, ou en suivant les cours. Si les modles conceptuels de lutilisateur et du concepteur ne concident pas, lutilisateur fera de nombreuses erreurs et rencontrera des problmes chaque fois quil se servira du logiciel. Il aura besoin de beaucoup de temps pour matriser le logiciel et sera frustr. Un systme russi doit donner des indices visuels quant leur fonction ou opration. Ils doivent tre justes (sans exagration) et proportionns (lis aux tches de haut niveau et non des dtails dimplantation). Lidal est de crer des mtaphores ou modles conceptuels. Une mtaphore nous permet de voir des correspondances entre deux choses apparemment dsassocies. Elle nous invite entrevoir deux choses sous un nouvel angle. Pour Aristote le grand philosophe de la Grce Antique, devenir un matre de mtaphore est un but en soi : cest une capacit qui ne peut sapprendre des autres, un signe de gnie, car une bonne mtaphore ncessite une perception intuitive des analogies parmi des phnomnes disparates14. Avec des systmes de plus en plus complexes, lutilisation dune seule mtaphore peut atteindre ses limites. Une mtaphore ne pourrait pas reprsenter tous les aspects du comportement du systme. Plusieurs mtaphores peuvent tre utilises conjointement. Lutilisateur doit tre encourag utiliser des parties relevants de chaque mtaphore. Cependant, il convient dtre attentif car de fausses interprtations de la mtaphore peuvent engendre des erreurs.

tel-00004380, version 1 - 29 Jan 2004

By far the greatest thing is to be a master of metaphor. It is the one thing that cannot be learned from others. It is a sign of genius, for a good metaphor implies intuitive perception of similarity among the dissimilar.

14

- 64 -

Ltat de lart

2.8.2 Les principes dun SIAD


Un SIAD est un outil informatique qui assiste le dcideur tout au long de sa prise de dcision. En effet un processus de dcision nest pas entirement automatisable [Pom92]. Il est ncessaire de garder lutilisateur dans le processus de dcision car il est capable de considrer des critres qui ne peuvent pas tre explicitement modliss dans un systme. Lidentification des points du processus qui peuvent tre automatiss (ou traits automatiquement) constitue une tape importante dans la construction dun SIAD. Un processus de dcision dans la gestion des organisations se compose de quatre phases : [LP89] o Phase dinformation o Phase de conception o Phase de choix o Phase dvaluation du choix Le droulement des phases nest pas forcment squentiel : certaines peuvent se drouler en parallle. Des retours en arrire peuvent se produire notamment lors de la phase de conception ; l laboration dun scnario peut ncessiter lacquisition dinformations supplmentaires. Si la phase de choix relve du dcideur seul, un systme dinformation a sa place dans les deux phases de prparation la prise de dcision et dans lvaluation du choix. En effet, la capacit de traitement des informations des ordinateurs permet au dcideur, pendant la phase dinformation, daccder rapidement des informations brutes ou traites concernant la situation courante et le champ des manuvres autorises par exemple. Cette capacit de traitement de linformation peut tre aussi utilise lors de la phase de conception. Dans cette phase, le systme dinformation peut fournir des lments dvaluation des scnarii laide dindicateurs calculs partir de modles ou de procdures de calcul adaptes. La phase dvaluation du choix correspond une valuation a posteriori du choix du dcideur ; cette valuation permet de corriger les petites erreurs. La dtection des erreurs et des aspects amliorer peuvent tre facilits par lapport dinformations et dindices calculs par le systme dinformation [Lv89]. Lassociation dun systme informatique et dun dcideur permet une symbiose complmentaire. Le dcideur de par sa connaissance pratique et son exprience possde un mta-modle du processus de dcision. Le SIAD, par sa capacit de traitement de linformation, laide structurer le modle. Le dcideur contrle le processus de dcision et le SIAD lassiste en effectuant les calculs standards et rptitifs sur les donnes. Le processus de dcision sapparente une recherche heuristique mene par le dcideur ; le systme jalonne le processus de recherche laide dindicateurs et dinformations. En fonction de ces informations, le dcideur continue lexploration heuristique des actions possibles ou sarrte si tout indique que la solution construite rencontre ses buts de faon satisfaisante [LP89].

tel-00004380, version 1 - 29 Jan 2004

- 65 -

Ltat de lart

2.8.3 Le modle conceptuel dun SIAD


Un SIAD se compose de trois modules : un module de dialogue, un module de donnes et un module des procdures de calcul ou modles. Le module de dialogue est connect aux deux autres modules, et constitue linterface entre lutilisateur et le reste du systme. Modles Donnes

Dialogue

Dcideur Figure 2.30 Modle conceptuel dun SIAD tel-00004380, version 1 - 29 Jan 2004 Le module de dialogue permet au dcideur daccder aux donnes et aux modles du SIAD. Ce dernier utilise ce mme module pour communiquer le rsultat des manipulations effectues par le dcideur. Les changes sont dautant plus favoriss que les reprsentations des rsultats, tout comme le mode de questionnement du systme, correspondent aux reprsentations mentales du dcideur. Ainsi, le dcideur peut exercer son contrle et effectuer sa recherche heuristique dans de bonnes conditions. Le module de donnes assure la fonction de mmoire : il stocke non seulement les donnes, de faon permanente (persistante) ou passagre, mais il gre aussi lenregistrement de donnes volatiles ainsi que leffacement de ces mmes donnes selon le souhait de lutilisateur. Ces donnes volatiles correspondent aux rsultats obtenus au cours de traitements de donnes. Les donnes que nous avons qualifies de permanentes sont les statistiques ou autres donnes qui dcrivent la situation courante et passe. Parmi ces donnes, il peut aussi y avoir des estimations concernant lvolution de certains paramtres environnementaux. Le module de modles contient lensemble des procdures de calculs utilises dans les diffrents traitements mis la disposition de lutilisateur. Il peut sagir des calculs standards et de procdures de reprsentation de donnes.

- 66 -

Ltat de lart

2.8.4 Modles conceptuels dun logiciel de planning


Pour mmoire, nous rappelons plusieurs modles conceptuels souvent utiliss pour les plannings muraux. Ces plannings sont des tableaux, dont un axe est laxe du temps. Plannings par tche : le diagramme de Gantt o le temps occupe laxe horizontal et une ligne reprsente typiquement une tche. Dans des projets avec beaucoup de tches, on les regroupe en projets et sous projets. La dure totale dun projet est la dure cumule des tches sur le chemin critique du projet. On peut y reprsenter les dates de dbut et de fin des tches, ainsi que les relations de prcdence entre elles. Ce planning permet de suivre lachvement dun projet et dterminer le retard quune tche peut subir avant que le projet ne soit pas affect. tel-00004380, version 1 - 29 Jan 2004 Par contre il ne permet pas de suivre les activits de chaque ressource.

Figure 2.31 Un diagramme de Gantt Plannings par ressource : le temps occupe laxe horizontal et chaque ligne reprsente le planning de la ressource. Ce dernier peut tre une personne, une machine ou une salle. Plannings par poste de travail : le temps occupe laxe horizontal et chaque ligne reprsente le planning du poste.

- 67 -

Ltat de lart

2.9 COURBE DE CHARGE ET DIMENSIONNEMENT


La phase de calcul de charge sert fournir des donnes sur la charge de travail prvue sur chaque intervalle de temps. Comme on en dduit les besoins en personnel, elle est ncessaire toute planification des horaires du personnel. Ensuite, il faut calculer la taille des quipes capables de faire face aux charges. Nous rappelons les travaux courants permettant de dimensionner les quipes. Comme cela se fait dans lesprit de la planification en gestion de production, nous poursuivons notre tude sur lapplication du dimensionnement des fins de planification du personnel.

2.9.1 La courbe de charge


La planification des horaires du personnel prend comme entre le besoin en nombre de personnes pour assurer un niveau de service donn. Or frquemment, la donne disponible est la quantit de travail ou service pendant chaque intervalle de temps. Pour retrouver le besoin en nombre de personnes, une loi linaire ou rgle de trois est souvent utilise. tel-00004380, version 1 - 29 Jan 2004 Dans les centres dappel, [Seg74] rappelle la notion du niveau de service dans la forme pas plus de % des clients en attente de plus de units de temps . En supposant quun tat dquilibre statistique est atteint au cours de chaque intervalle de temps, avec une arrive de clients suivant une loi de Poisson avec le taux , les temps dattente suivent une distribution exponentielle dcroissante avec une moyenne de la dure de traitement 1/ donnant une charge a = /. Le nombre doprateurs s est le plus petit entier tel que : C(s,a) e(s a) (13) o C est la loi dErlang C
C(s,a)= s 1 (a s )*( s ) s! (s a)
(14)

ak k!+( s(sa))
k =0

Les besoins en personnel pour chaque intervalle de temps, relvent souvent des statistiques. Il est gnralement trait par une mthode probabiliste, alimente par les historiques des demandes (de nature probabiliste), ventuellement corrige par la prsence des vnements exceptionnels sur la priode tudier. Une distribution probabiliste p peut reprsenter le nombre de salaris r dont on a besoin. probabilit p r (i) Figure 2.32. Besoins dans lintervalle i considr Le dcideur doit aussi estimer labsentisme et augmenter la demande pour pouvoir y faire face. Sinon, il faut prvoir dautres mthodes dorganisation pour le traiter (quipes volantes, temps partiels). Le dcideur doit dcider quelle proportion de cette demande traiter effectivement.

- 68 -

Ltat de lart

2.9.2 Le dimensionnement de lquipe


Avant de pouvoir planifier lemploi du temps dune quipe, il est ncessaire de connatre sa taille. Dans la littrature scientifique, de nombreux auteurs proposent des mthodes de calcul de la borne infrieure avec des rgles de travail contraignantes. Dans le mme temps, ils proposent des algorithmes permettant de faire des plannings sur un nombre rduit de semaines ; ces plannings peuvent alors tre utiliss en plannings cycliques. Les algorithmes sont trs rapides en excution car ils exploitent les structures particulires du problme et les rsultats sont de bonne qualit. Dans la suite du paragraphe, seules les bornes infrieures de la taille de lquipe sont prsentes. a. Cas dune seule vacation (demandes par jour de la semaine) Burns et Carter ont t les premiers proposer une mthodologie base sur le calcul de plusieurs bornes infrieures, la taille tant le maximum de ces bornes M [BC85]. Ils ont considr le cas dune seule vacation par jour et le besoin est n(d), d=1 pour le dimanche, , 7 pour le samedi. W = nombre total de salaris, n = Max(n(1), , n(7)). tel-00004380, version 1 - 29 Jan 2004 Mthode de Burns et Carter La taille dune quipe dpend de plusieurs facteurs :
1. Charge de week-end : le nombre de salaris disponible en moyenne chaque week-end doit tre suffisant pour respecter les besoins du week-end. Sur B semaines, chaque salari est disponible (B-A) week-end. (B-A)W= nombre de personne-jour disponible pour le week-end, Bn = maximum des besoins de week-end. (B-A)W Bn, do W B n / (B-A)

(15)

O x = le plus petit entier x gal ou suprieur x. 2. Charge totale de la semaine : le nombre de salari-jour par semaine doit tre suffisant pour supporter la charge totale de la semaine. Si le salari ne travaille que 5 jours par semaine : 5W j=1,7 n(j), donc W

1/5 * j=1,7 n(j)

(16)

3. Charge maximale journalire : le nombre de salaris disponible doit tre suffisant pour respecter le pic des besoins une journe donne. W Max j (n(j))

Il faut une quipe dont la taille W gale le maximum des trois bornes infrieures.

b. Cas des multiples vacations (demandes jour de la semaine/week-end) [Hun94] propose une mthode de calcul de la taille minimale dune quipe. Chaque jour il y a P vacations (ex. P=3 pour le jour, soir et nuit) qui peuvent se chevaucher afin dabsorber un pic de besoins ou pour assurer une meilleure communication entre les postes. Pendant la semaine, il faut au moins D(j) personnes sur la vacation j et au moins E(j) pour le week-end. En gnral, D(j) E(j) pour j=1,,P. Chaque salari ne travaille quune - 69 -

Ltat de lart seule vacation par jour et doit avoir au moins un repos avant de changer de vacation. Sur deux semaines conscutives, un salari doit avoir 3 repos en une semaine et 4 repos sur lautre semaine. Il doit aussi avoir au moins A week-ends de repos sur B, avec 0 <= A <= B. La dure maximale de travail ininterrompue est 5 jours. La mthode propose ne distingue pas les diffrentes demandes suivant les jours de la semaine. c. Cas des hirarchies de comptences Une situation frquemment rencontre est une hirarchie de comptence. Au sommet de la hirarchie, le niveau 1 est le plus qualifi : une telle personne peut remplacer toute autre personne du mme niveau et galement une personne aux niveaux infrieurs. Emmons et Burns sont les premiers proposer [EB91] de calculer la taille de lquipe dans ces conditions, tout en proposant un cot minimal. Les contraintes sont une seule vacation et les demandes sont confondues pour tous les jours de la semaine, y compris le week-end. d. Cas des hirarchies de comptences et multiples vacations [Nar00] montre comment traiter le cas des multiples vacations et distingue les demandes des jours de la semaine et du week-end. Les variables sont : Nombre de catgories = K, Le nombre de salaris de la catgorie k = w(k) Le besoin du week-end, pour la catgorie k et la vacation j = n(j, k) Le besoin en semaine = d(j, k) La taille cumule des catgories entre 1 et k, W(k) = i=1,k w(i) Le besoin cumul des catgories entre 1 et k, D(j, k) = i=1,k d(j , i) Par clart dcriture, on crit n(., k) = j n(j, k) et d(., k) = j d(j, k)

tel-00004380, version 1 - 29 Jan 2004

- 70 -

Ltat de lart Mthode de Narasimhan [Nar00]


1. Borne inf rieure base sur la charge du week-end pour chaque catgorie : L1(k) Le nombre de salaris de la catgorie k w(k) disponible le week-end doit satisfaire les besoins n(j, k). Pour que chaque salari dispose de A week-end tous les B semaines, sur un cycle de B semaines, on a

(B A) w(k) B n(., k) Or, w(k) L1(k) par dfinition de la borne infrieure, do L1(k) = B n(., k) / (B-A)

17) 18)

2. Borne inf rieure base sur le besoin total de chaque catgorie : L2(k) Le nombre total de salaris * jour par semaine disponible (quelle que soit la catgorie) doit tre suffisant pour rpondre aux besoins totaux de la semaine pour cette catgorie. Comme chaque salari ne travaille que 4 jours par semaine, 4 w(k) 5 d(., k) + 2 n(., k)

(19)

or, w(k) L2(k) par dfinition de la borne inf rieure, do L2(k) = 1.25 d(., k) + 0.5 n(., k) La taille de la catgorie k gale au moins le maximum des deux bornes inf rieures:

tel-00004380, version 1 - 29 Jan 2004

w(k) Max { L1(k), L2(k) }

(20)

3. Borne inf rieure base sur le besoin cumulatif : L3(k) Le nombre cumulatif des vacations disponibles des catgories 1 k doit tre au moins gal au nombre total de vacations demandes dans les catgories 1 k 4 W(k) 5 D(., k) + 2 n(., k) do

(21) (22)

W(k) 1.25 D(., k) + 0.5 n(., k)

Par ailleurs, le nombre cumul de salaris des catgories 1 k doit tre au moins gal au nombre cumul de 1 k-1 plus le nombre w(k) : W(k) = Max { W(k-1)+Max(L1(k), L2(k)) } L3(k) = Max { L3(k-1)+Max(L1(k), L2(k)), L3(1) = Max { L1(1), L2(1) }

(23)
1.25 D(., k) + 0.5 n(., k)

}, si k > 1

e. Conclusion Ces calculs sont bass sur des hypothses rigides. En prsence des contraintes supplmentaires, par exemple avec des contraintes de transition entre les vacations (pour des questions de repos) et les diffrents besoins par jour de la semaine, ils peuvent tre utiliss pour proposer des bornes infrieures de la taille des quipes.

- 71 -

Ltat de lart

2.9.3 Le dimensionnement des vacations


Lart du dimensionnement peut tre appliqu plus finement quau niveau de lquipe : calculer le nombre de personnes dans chaque type de vacation (ou horaires types sur une journe). Cette possibilit a donn suite toute une srie de travaux sur les modles implicites de construction de vacation, prsents au paragraphe 2.1. On constate que la complexit thorique du problme rsoudre est rduite de faon substantielle. Cela est d au fait que les vacations ne sont pas dcrites explicitement. Cependant, une fois ces nombres obtenus, il faut associer les heures de dbut et les pauses aux vacations et gnrer des plannings dfinitifs pour chaque salari (Voir 2.3 Construction de Tours Acycliques).

2.9.4 Le dimensionnement tout au long de la rsolution


tel-00004380, version 1 - 29 Jan 2004 Enfin lart du dimensionnement peut tre appliqu tout au long du processus de la rsolution, plus particulirement dans le cas des algorithmes dits constructifs, o la solution est construite progressivement. Dans la rsolution de problmes de planification de grilles, cette approche a t propose dans [CGL95]. Analyse de Caseau Le problme consiste affecter chaque personne p chaque jour w, un code horaire a (ex. M= matin, S= soir, N= nuit, R= repos, J= jour), annot par Affectation(p, w) = a. Les contraintes sont dfinies par les bornes Min / Max suivantes : Par code horaire a par jour w, le total des affectations des agents doit tre compris entre des bornes suivants ( |Z| tant la cardinalit dun ensemble Z) : Min [w, a] | { p Personnes, Affectation(p, w) = a} | Max [w, a] Par code horaire a par personne p, le total des affectations doit tre compris entre des bornes Min [p, a] | { w Horizon, Affectation(p, w) = a } | Max [p, a] Soit N(a) = le nombre daffectations au code a, sur lensemble des personnes et sur tout lhorizon. Par dimensionnement, N(a) doit tre infrieur la somme respectivement des maximum des affectations par personne et par jour au code a. De mme il doit tre suprieur la somme respective des minima des affectations par personne et par jour. Do :

p Personnes Min [p, w Horizon

a] N(a) w Horizon Max [w, a]

(24) (25)

Min [w, a] N(a) p Personnes Max [p, a]

Caseau propose les compteurs supplmentaires suivants : Num[p, a] = no. daffectations au code a pour la personne p sur lhorizon Num[w, a] = no. daffectations au code a pour le jour w sur lensemble des personnes Pos[p, a] = no. daffectations possibles au code a pour la personne p sur lhorizon Pos[w, a]= no. daffectations possibles au code a pour le jour w sur lensemble des personnes [CGL95] montre que - 72 -

Ltat de lart Num[p, a] Max[p, a] Num[w, a] Max[w, a] le no. affect doit tre infrieur au max. Min[p, a] Pos[p, a], Min[w, a] Pos[w, a], le no. possible doit tre suprieur au min. Caseau raffine la condition de dimensionnement par les quations suivantes :

p Personnes max (Num[p,a], Min[p,a]) N(a) w Horizon w Horizon

max (Pos [w, a],Max [w, a])

(26) (27)

max (Num[w,a], Min[w,a]) N(a) p Personnes max (Pos [p, a], Max [p, a])

Cette condition peut tre utilise pour laguer les branches potentiellement infructueuses dans la construction de solution, rvaluer chaque fois que Num ou Pos sont modifis. Elle constitue une mthode de consistance globale. Pour ce mme problme, Caseau propose une condition supplmentaire applicable sur les compteurs Min et Max, lie au fait que le nombre total de jours ou de personnes est connu : tel-00004380, version 1 - 29 Jan 2004 Pour chaque code a et pour chaque personne,
Max [p, a] | W | - a a Min [p, a] et Min [p, a] > | W | - a a Max [p, a]

(28)

Pour chaque code a et pour chaque jour,


Max [w, a] | P | - a a Min [w, a] et Min [w, a] > | P | - a a Max [w, a]

(29)

2.9.5 Conclusion sur le dimensionnement


Etape essentielle dans la constitution des quipes, le dimensionnement peut aussi tre exploit pour dtecter des insuffisances au cours de planification. Les propositions de Caseau permettent de rduire la complexit des problmes combinatoires, et a fortiori des problmes de planification des ressources humaines. Nous retenons ces leons dans le cadre de nos recherches au chapitre 5.

- 73 -

tel-00004380, version 1 - 29 Jan 2004

Ltat de lart

- 74 -

DEUXIEME PARTIE : RECHERCHE

Cette partie prsente les travaux de recherche entrepris dans le cadre de la thse. Elle se compose des chapitres suivants :

tel-00004380, version 1 - 29 Jan 2004

3. Calcul des tours acycliques en PPC : Gymnaste & EQUITIME a. La gnration automatique des plannings b. Les spcifications de contraintes types c. La modlisation avec les contraintes globales d. Les contraintes redondantes e. EQUITIME V3 : gnration sans retour arrire f. Linterface utilisateur g. Les limites des approches prcdentes 4. Le droulement des cycles autour des pr-affectations a. Gnralits b. La dfinition du problme c. Le modle et son implantation d. La recherche de solutions e. Nos rsultats et conclusions 5. Les modles multiples niveaux dagrgation a. La lgislation franaise en matire de dures de travail et de repos b. Les modles de base c. Les modles multi-niveaux d. Nos conditions ncessaires en multiples qualifications e. Nos mthodes heuristiques f. Nos rsultats et conclusions

- 75 -

tel-00004380, version 1 - 29 Jan 2004

- 76 -

Le calcul des tours en PPC

LE CALCUL DES TOURS EN PPC

Rsum Dans ce chapitre, nous prsenterons nos travaux de recherche sur le calcul des tours sur un horizon mensuel en utilisant la programmation par contraintes. Aprs un rappel des contraintes types, nous montrons dans un premier temps lutilisation des contraintes globales AMONG et SEQUENCE du systme CHIP pour rsoudre ce problme au sein du projet GYMNASTE-COSYTEC. Puis nous traitons un problme similaire laide des nos propres algorithmes rdigs en Visual Basic (projet EQUITIME). Nous prsentons aussi les diff rentes interfaces conues pour faciliter linteraction entre le planificateur et le gnrateur automatique de planning.

3.1 LA GENERATION AUTOMATIQUE DES PLANNINGS ACYCLIQUES


tel-00004380, version 1 - 29 Jan 2004 Le calcul des tours est dfini comme laffectation des tiquettes (par exemple matin, aprs-midi ou nuit) chaque membre de lquipe, pour chaque jour de lhorizon de planification, afin de couvrir des besoins exprims en nombre de salaris par tiquette par jour. A la diffrence des plannings cycliques, ces besoins peuvent tre diffrents chaque jour de la semaine et dune semaine sur lautre. Ceci correspond laffectation des vacations ou des horaires journaliers. Lactivit prcise des salaris heure par heure, nest pas lobjet de laffectation.

3.1.1 Modle PPC


Nous proposons un modle pour laffectation dtiquettes aux agents, avec la satisfaction des diffrentes contraintes types qui seront dfinies au paragraphe 3.2. Une variable est cre pour chaque agent pour chaque jour de planification. Par exemple la variable X(e,t) correspond lunique affectation de vacation (ou code horaire) de lemploy e le jour t. Le domaine de ces variables est constitu des diffrentes vacations admissibles pour cet employ ce jour.

3.1.2 Justification de la technique PPC


Le modle de la PPC est trs bien adapt pour modliser le calcul des tours, compte tenu de la distance entre les contraintes du problme et les contraintes disponibles dans loutil PPC. La PPC permet de formaliser des contraintes comme : Un salari ne doit pas avoir un jour de repos isol (ou repos sec). Un salari ne doit pas travailler un jour sur le week-end.

La PPC est une approche constructive : elle avance en ralisant des affectations de valeurs (codes horaires) aux variables (agent/jour). Afin de rduire lespace de recherche, la PPC utilise des mthodes de vrification de consistance15.

15

forward checking et look-ahead [Mac77]

- 77 -

Le calcul des tours en PPC Cette approche permet de traiter des cas de plannings partiels, par exemple suite aux affectations manuelles et interactives qui tiennent compte des situations exceptionnelles (ex. formation, congs annuels ou autres obligations de service ou personnelles). Ces situations peuvent tre issues des ngociations.

3.2 LES SPECIFICATIONS DES CONTRAINTES TYPES


Nous avons publi les diffrentes classes de contraintes agissant sur un planning acyclique dans [WHC+98]. Elles ont t reprises avec modifications dans les projets Gymnaste et EQUITIME.

3.2.1 Les proprits contextuelles


tel-00004380, version 1 - 29 Jan 2004 Les diffrentes classes de contraintes possdent des proprits contextuelles concernant leur validit : Les dates de validit : date dbut date fin Lquipe dans laquelle la contrainte est applicable Les agents concerns : tout le monde ou une catgorie (avec dventuelles exceptions), un individu, etc. Activation ou dsactivation : une contrainte peut tre dsactive temporairement pendant la mise au point du planning Ces proprits permettent aux contraintes dtre exprimes de faon trs succincte et ergonomique. Ces expressions sont stockes dans la base de donnes telles quelles. Au moment du lancement, le solver cre une instance de toutes les contraintes pour tous les salaris concerns par le planning raliser. Cette mthode permet lapplication immdiate des contraintes aux salaris, y compris les nouveaux venus, lorsque la contrainte est valable pour tous. Linconvnient vient des exceptions (ex. tous sauf M.Durand), lorsque ces derniers ne font plus partie de lquipe. On dcrit les classes de contraintes GYMNASTE ainsi que les paramtres pour sapprocher de la rglementation en rigueur. A et B sont deux agents quelconques, Dbut et Fin sont des dates, et S1, S2 et S3 sont des codes horaires. Les diffrentes classes de contraintes possdent une proprit commune : La nature des contraintes : positive/ngative, obligation/prfrence Dans les paragraphes suivants, les exemples de contraintes sont des textes gnrs par le logiciel suite la phase de paramtrage.

- 78 -

Le calcul des tours en PPC

3.2.2 Les contraintes de charge


On peut gnrer un planning si lon dispose des donnes suivantes : Lhorizon de calcul Les codes horaires affecter (elles constituent le domaine des variables) Les besoins bruts par code horaire par jour de lhorizon Les candidats considrer pour la planification, en fonction du mode de planification (manuelle ou automatique) du salari, des dates de service de ce dernier, sa qualification, etc.

Ainsi le besoin net en nombre de salaris par code horaire par jour de lhorizon de planning est obtenu des besoins bruts en dduisant les pr-affectations des salaris. Le planning doit couvrir au moins les besoins nets, tout en tenant compte des autres contraintes dcrites dans les paragraphes suivants.

tel-00004380, version 1 - 29 Jan 2004

3.2.3 Les contraintes daffectation ponctuelle


Cette contrainte sert dfinir une pr-affectation une date donne, mme trs loigne dans lhorizon de planning. Par extension, si on spcifie plusieurs codes horaires ce jour, cela indique les diffrentes possibilits retenues. Format : o Le [Date], [Agent] est affect[Prfrence] aux [Codes Horaires] Exemples :
o o o o Le Le Le Le X, X, X, X, A A A A travaille travaille travaille travaille toujours les si possible les si possible pas les jamais les tranches tranches tranches tranches [S3, [S3, [S2, [S3, S1] S2] S1] S1]

Pour tous les salaris concerns par le planning, le domaine des variables est dfini par lensemble des besoins du planning. Dans le produit EQUITIME, cette expression permet dindiquer une priorit aux salaris pour ces codes horaires.

3.2.4 Les contraintes de disponibilit


Cette contrainte spcifie les diffrentes vacations admises pour cet agent ce jour. Format : o [Agent] [Prfrence] travaille les [Codes Horaires] les jours [Ji] de [Dbut] [Fin] Exemples :
o o o o A A A A travaille travaille travaille travaille toujours si possible si possible jamais les les pas les tranches [S1, S2] tranches [S1, S3] les tranches [S2] tranches [S3] les les les les jours jours jours jours [j1] [j1] [j2] [j1] de de de de Dbut Dbut Dbut Dbut Fin Fin Fin Fin

- 79 -

Le calcul des tours en PPC Dans le produit EQUITIME, cette contrainte spcifie les jours de semaine o le salari doit effectuer ces codes horaires. Cette disponibilit donne une priorit supplmentaire aux affectations.

3.2.5 Les contraintes de vacation due


Cette contrainte est conue pour imposer un nombre donn de vacations un salari donn (ex. 4 repos hebdomadaires sur 15 jours, ou 7 RH si la personne ne travaille que la nuit. Format : o [Agent] doit faire des [S1, S2 et S3] au moins N fois sur P semaines de [Dbut] [Fin] Exemples :
o o A doit faire des S1 au moins N fois sur P semaines de Dbut Fin A doit faire des S1 exactement N fois sur P semaines de Dbut Fin

tel-00004380, version 1 - 29 Jan 2004

Afin de crer des plannings quitables, lutilisateur peut compter les affectations relles (ventuellement via un outil supplmentaire) et imposer le complment aux salaris.

3.2.6 Les contraintes de transition


Ces contraintes permettent de spcifier des suites obligatoires ou interdites, traduisant le rglement sur le repos journalier. Si une infirmire travaille une vacation de nuit, elle ne doit pas travailler le lendemain matin et laprs-midi. Si elle travaille un aprs-midi, elle ne doit pas travailler le lendemain matin. Format simple : o Pour [Agents], [Prfrence] [S1] suivi de [S2] de [Dbut] [Fin] Exemples :
o o o o Pour Pour Pour Pour A, A, A, A, toujours S1 si possible S1 si possible pas S1 jamais S1 suivi suivi suivi suivi de de de de S2, S2, S2, S2, de de de de Dbut Dbut Dbut Dbut Fin Fin Fin Fin

Le produit EQUITIME ralise une forme tendue de cette contrainte: si un tel code horaire sur un tel jour de la semaine, alors un autre code horaire sur un autre jour de la semaine.

3.2.7 Les contraintes de rpartition


Cette contrainte spcifie la rpartition de certains codes horaires sur un horizon donn.

- 80 -

Le calcul des tours en PPC Format simple : o Pour [Agents], [Contrainte], N [Shift] conscutive de [Dbut] [Fin] Exemples :
o o o o Pour Pour Pour Pour A, A, A, A, toujours N si possible N si possible pas N jamais N S1 S1 S1 S1 de de de de suite, suite, suite, suite, de de de de Dbut Dbut Dbut Dbut Fin Fin Fin Fin

Avec le produit EQUITIME, on peut spcifier les bornes infrieures et suprieures sur la suite. Le produit permet aussi de spcifier tous les codes travaills (sans distinction), ce qui est important pour gnrer des plannings dont le temps total de travail ne dpasse pas les limites lgales.

3.2.8 Les contraintes de composition


tel-00004380, version 1 - 29 Jan 2004 Cette contrainte permet la constitution dquipes (pour tuteur et lve). Elle peut aussi gnrer des plannings pour des salaris qui ne peuvent pas travailler ensemble. Format simple : o [Agent1] travaille [Contrainte] avec [Agent2] de [Dbut] [Fin] Exemples :
o o o o A A A A travaille travaille travaille travaille toujours avec si possible avec si possible pas avec jamais avec B, B, B, B, de de de de Dbut Dbut Dbut Dbut Fin Fin Fin Fin

Dans le produit EQUITIME, cette contrainte na pas t ralise car peu utilise dans la pratique.

3.2.9 Critre doptimisation


Les logiciels Gymnaste et EQUITIME ont t conus sans critre optimiser. Dans la pratique, la planification est souvent base sur de multiples critres, mais la pondration relative des critres varie selon : o o o o o Lacteur concern La priode concerne (haute saison/promotions/priode estivale, etc.) Le contexte (les dlais de notification, etc.) Le pass (questions dquit) Ngociation inter-personnelle (changes de plannings entre deux salaris avec entente pralable)

Nanmoins, il est possible dutiliser ces solveurs pour la simulation de plannings tant donn un nombre de salaris. Ainsi, on peut trouver le nombre minimum de salaris ncessaires pour rpondre un ensemble de besoins par vacation par jour sur un horizon mensuel.

- 81 -

Le calcul des tours en PPC

3.3 LA MODELISATION AVEC LES CONTRAINTES GLOBALES


Dans ce paragraphe, on dcrit limplantation des contraintes du paragraphe prcdent en utilisant les contraintes globales among et sequence du systme CHIP, dont la smantique est rappele dans le glossaire. Dans les exemples, on utilisera la syntaxe prolog de CHIP. Dans les deux contraintes, Zeros(R) est une liste de R zros indiquant quon ne veut aucun dplacement sur les valeurs des variables V, et le paramtre all spcifie lexploitation par cette contrainte de tous les vnements de changement de domaine.

3.3.1 Laffectation des codes horaires


Soit J le nombre de jours et I le nombre total de salaris. Pour le salari i le jour j, la variable est X(e, j) : Lensemble de variables correspondant au salari e est X(e) (pour tous les jours de lhorizon). Lensemble des variables pour tous les salaris correspondant au jour j est X(j) . Lensemble de toutes les variables est dnot par X (pour tous les salaris et tous les jours). Les valeurs possibles de ces variables sont : Vm la valeur numrique de la vacation du matin, Ve celle du soir, Vn celle de la nuit et Vr la valeur du repos hebdomadaire Typiquement, les valeurs sont Vr =0, Vm=1, Ve=2, Vn =3.

tel-00004380, version 1 - 29 Jan 2004

3.3.2 Les contraintes de charge


On applique la contrainte among sur lensemble des agents pour chaque jour de lhorizon. Par exemple pour avoir entre Min et Max affectations la valeur Vn = NUIT au jour j :
among([Min, Max], X(j) , Zeros, [Vn], all).

Plus globalement, pour traiter lensemble des valeurs Vi simultanment, on peut utiliser la contrainte suivante qui permet de donner plus de dduction :
among([N1, ..., NN], [X(e1,j), , X(eN, j)], Zeros N, [V1, ..., Vn], all)

Il suffit de rcuprer lensemble des charges pour poser cette contrainte.

3.3.3 Les contraintes daffectation ponctuelle et de disponibilit


Les variantes obligatoires de la contrainte daffectation ponctuelle sont traduites directement par lenlvement de valeurs du domaine des variables des agents concerns sur les jours en question :
Le [Date], [Agent] est affect[Prf rence] aux [Codes Horaires] [Agent] [Prf rence] travaille le(s) tranches [Codes Horaires] les jours [Ji] de [Deb] [Fin]

- 82 -

Le calcul des tours en PPC Alors que la contrainte daffectation ponctuelle ne sapplique que pour les jours en question, la contrainte de disponibilit est applique pour chaque jour mentionn de la semaine, sur lhorizon de planification. Les variantes prfrentielles sont implantes avec des points de choix. Le produit EQUITIME prend en compte les priorits de ce type des contraintes au niveau de lalgorithme daffectation. Dans le cadre de la PPC, il nest pas possible de prendre en compte directement les priorits entre contraintes.

3.3.4 Les contraintes de vacation due


La contrainte de vacation due restreint le nombre total des vacations pour un agent i donn, sur tout lhorizon, notamment pour imposer une quit dans le planning. Par exemple, sur une suite quelconque de J variables, le nombre de variables ayant la valeur nuit = Vn doit tre compris entre Min et Max :
among([Min, Max, J], X(e), ZerosJ, [Vn], all)

tel-00004380, version 1 - 29 Jan 2004

Nous remarquons quil y a peu de diffrence smantique entre la contrainte de vacation due et la contrainte globale among. Dans la pratique, among est trs peu efficace en tant que telle, sauf pour le cas exact o Min=Max, car elle doit porter sur nombreuses variables. Des contraintes supplmentaires doivent tre utilises pour sassurer un bon taux de propagation. Le paragraphe 3.4 traite ce sujet plus en dtail.

3.3.5 Les contraintes de transition


Nombre de contraintes lgales peuvent tre modlises par une contrainte de transition entre deux variables successives pour un salari i. Par exemple, laffectation nuit ne doit pas tre suivie par laffectation matin ou aprs-midi. Ainsi pour toute squence de deux variables X1 et X2, il y a exactement 0 occurrence des patterns spcifis par largument 4 de la contrainte squence, do le paramtre [0,0,2] dans lappel suivant :
sequence([0,0,2], X(e), ZerosJ,[[[sum,1,#=,[Vn]],[sum,1,#=,[Vm,Ve]]]],all)

Le premier terme [sum,1,#=,[Vn]] spcifie que la somme de la premire variable X1 de la squence est gale Vn (cest--dire laffectation de la premire variable dans une squence de deux variables est Vn). Le second terme [sum,1,#=,[Vn]] spcifie que la somme de la variable X2 de la suite est gale lune des valeurs Vm ou Ve. Ces deux termes constituent le seul pattern dans lappel. La contrainte squence gnralement prend une liste de patterns. La contrainte squence peut tre applique afin dinterdire laffectation de repos (la valeur Vr) avant ou aprs laffectation de travail. La squence de trois variables est dcrite par le pattern :
P = [[sum,1,#=,[Vr]], [sum,1,#=,[Vm,Ve,Vn]], [sum,1,#=,[Vr]]]

Lorsque plusieurs patterns sont applicables aux mme variables (p.ex. au mme salari) et lorsquil ne doit avoir aucune occurrence, le mme appel de la contrainte squence peut tre utilis, ainsi une meilleure propagation et une meilleure utilisation de la mmoire. - 83 -

Le calcul des tours en PPC

Sur une journe j, soit Njm les besoins de la vacation matin, Nje (les besoins de soir) et Njn (nuit). La contrainte de charge est spcifie par :
XNjm :: Njm..J, XNje :: Nje..J, XNjn :: Njn..J, among ( [XNjm, XNje, XNjn], Xj, Zeros, [[Vm],[Ve],[Vn]], all).

Cet appel contraint quil y a exactement XNjm variables parmi les variables Xj prendront la valeur Vm, XNje variables la valeur Ve, et XNjn variables la valeur Vn. Il sagit de la variante multi-among de la contrainte globale among.
Nt = nb total de variables / de jours Pour agent X, toujours S1 suivi de S2, de XX YY Chaque fois S1 est affecte S2 suit dans la priode [0,0,Nt], C1= [card,#=,[BegST],1,#=,[1]], C2= [card,#\=,[EndST],1,#=,[1]] Pour agent X, toujours S1 suivi de S2, au moins N fois de XX YY Chaque fois S1 est affecte, S2 suit au moins N fois dans la priode. Si N est trop lev , on cherche beaucoup, car la contrainte est contraire la stratgie duniformit daffectation [N,Nt,2], C1= [card,#=,[BegST],1,#=,[1]], C2= [card,#=,[EndST],1,#=,[1]] Pour agent X, si_poss S1 suivi de S2, de XX YY Aprs une affectation S1, on affectera S2 (si possible=au moins 0 fois) [0,Nt/2,2], C1= [card,#=,[BegST],1,#=,[1]], C2= [card,#=,[EndST],1,#=,[1]] Pour agent X, si_poss_pas S1 suivi de S2, de XX YY Aprs une affectation S1, S2 sera une valeur si_possible_pas pour laffectation suivante Idem pour jamais, au moins 0 fois et au plus 1 Pour agent X, jamais S1 suivi de S2, de XX YY Aprs une affectation S1, la valeur S2 sera prlev e de laffectation suivante [0,0,Nt], C1= [card,#=,[BegST],1,#=,[1]], C2= [card,#=,[EndST],1,#=,[1]]

tel-00004380, version 1 - 29 Jan 2004

3.3.6 Les contraintes de rpartition


Ces contraintes permettent de distribuer des jours de travail ou de repos, dans un cadre lgal ou un accord syndical. Par exemple, il est interdit de travailler plus de 5 jours de suite. Ainsi pour toute suite de 6 variables dans X(e), il y a entre 1 et 5 variables ayant la valeur repos. Cette condition est obtenue par la contrainte suivante :
among ([1,5,6],X(e), Zeros, [Vr], all).

Lorsquil y a trois valeurs dans le premier argument, lutilisation de la contrainte among utilise la premire et seconde valeurs comme les bornes infrieures et suprieures du nombre doccurrences, la troisime valeur tant la taille de la squence de variables conscutives considrer parmi les variables dans la liste X. Inversement, la rgle de 5 jours de travail, pour toute suite (conscutive) de 6 variables, une valeur de travail (ex. Vm, Ve, Vn) apparat entre 0 et 5 fois.
among([0,5,6], X(e), Zeros, [Vm, Ve, Vn], all).

Ces deux contraintes sont une premire approximation aux contraintes de travail. La premire ignore toutes les autres vacations de repos (telles que les RTT ou Congs). La - 84 -

Le calcul des tours en PPC seconde ignore toutes les autres vacations lgales de travail (ex. Formation ou Dlgation syndicale). La contrainte among peut sutiliser pour interdire la suite de 4 vacations de nuit. Donc, sur chaque suite de 4 variables, il y a au plus 3 affectations de nuit :
among([0,3,4], X(e), Zeros, [Vn], all). Pour agent X, toujours Nb S1 conscutives, de XX YY [0,0,Nb], gnration de patterns de taille Nb+1, interdits. Ne pas faire pour Nb > 6 jours de travail conscutifs ! Entre deux blocs de N affectations conscutives il y a une autre affectation, impose par une contrainte portant sur Nb+1 variables. Si S1=tous alors alerte 2 (pas traitable). Pour agent X, si_poss Nb S1 conscutives, de XX YY Idem pour la variante toujours, au moins 0 fois et au plus Nb fois Pour agent X, si_poss_pas Nb S1 conscutives, de XX YY Idem pour la variante jamais, au moins 0 fois et au plus Nb-1 fois

tel-00004380, version 1 - 29 Jan 2004

Pour agent X, jamais Nb S1 conscutives, de XX YY [0,0,Nt], [card,#=,[S1], Nb, #=,[Nb]] Si S1 est tous, alors on a [card,#>=,[1], Nb, #=,[Nb]]

3.3.7 Les contraintes de composition


Agent X travaille toujours avec Agent Y, de XX YY Attention: cette contrainte est trs forte, car ces agents travailleront tous les jours ensemble ! [NbDays,NbDays,3], [[range,2,#=,0],[sum,1,#>=,[0]]] Agent X travaille toujours avec Agent Y, au moins N fois de XX YY Attention le nombre de jours entre XX et YY doit tre suprieur N ! Comme la stratgie de recherche ne prend pas cette contrainte en compte, cela peut tre lent pour N grand, si X et Y sont pris nimporte comment. Prf rable de les mettre en haut de lcran (les premiers) ou faire avec N=0, puis r-affecter. [N,NbDays,3], [[range,2,#=,0],[sum,1,#>=,[0]]] Agent X travaille si_poss avec Agent Y, de XX YY On interprte cette contrainte par X travaille toujours avec Y au moins 0 fois [0,NbDays,3], [[range,2,#=,0],[sum,1,#>=,[0]]] Agent X travaille si_poss_pas avec Agent Y, de XX YY Idem pour jamais, au moins 0 fois et au plus 1 Agent X travaille jamais avec Agent Y, de XX YY [0,0,3], [[range,2,#=,0],[sum,1,#>=,[0]]]

- 85 -

Le calcul des tours en PPC

3.3.8 Recherche de solution


Nous utilisons une stratgie dnumration en une passe en affectant la fois les diffrentes vacations et les vacations de repos, pour une catgorie de personnel la fois. Lnumration se fait jour par jour afin de satisfaire dabord le minimum spcifi de la charge journalire, ensuite respecter la charge moyenne des agents (si trop de repos).
Pour chaque jour J Pour chaque vacation, tant quil y a des besoins non satisfaits, Rechercher le candidat de la catgorie, quilibrant le total des heures effectues

La dtermination du repos hebdomadaire est ralise simultanment. Pour chaque jour, lnumration affecte exactement les besoins demands de chaque vacation. Les autres variables sont laisses libres afin de ne pas sur-contraindre le problme inutilement. Lors de la deuxime passe, ces variables libres sont affectes afin de respecter les autres contraintes. tel-00004380, version 1 - 29 Jan 2004 Les contraintes peuvent tre spcifies de faon positive ou ngative et de faon obligatoire ou prfrentielle. De par leur nature, les contraintes prfrentielles ne peuvent pas rduire lespace de recherche. Leffet prfrentiel est obtenu par programme via les points de choix, crer aprs la pose des contraintes obligatoires.

- 86 -

Le calcul des tours en PPC

3.4 LES CONTRAINTES REDONDANTES


Etant donn la gnralit des contraintes globales, la quantit de propagation obtenue dans certains cas est insuffisant. Afin dviter de chercher des solutions dans des branches mortes de larbre de recherche, il faut augmenter la propagation et dtecter des contradictions au plus tt. Pour cela, on dispose de deux mthodes bases sur une tude plus approfondie du problme. La premire consiste dfinir des bornes plus strictes sur les variables domaine, et la seconde est dappliquer des contraintes redondantes. Dfinition : Une contrainte c est redondante par rapport un ensemble donn de contraintes C lorsquelle est une consquence logique de C.

3.4.1 Charge journalire


La contrainte de charge journalire minimale dcrite ci-dessus peut tre enrichie. La borne suprieure du nombre de chaque type de variable (XNjm, XNje, ou XNjn) peut tre dduite en prsence des autres valeurs, car le nombre total est connu. Pour simplifier la notation, les bornes suprieures des variables dans le passage suivant, sont notes entre parenthses16.
XNjm :: Njm..(J-Nje-Njn) , XNje :: Nje..(J-Njm-Nje), XNjn :: Njn..(J-Njm-Nje), among( [XNjm, XNje, XNjn], Xj, Zeros, [[Vm],[Ve],[Vn]], all).

tel-00004380, version 1 - 29 Jan 2004

3.4.2 Charge totale


Ni les contraintes de charge journalire ni les contraintes de rpartition de vacations ne peuvent assurer elles seules quassez de main duvre soit disponible pour couvrir la charge sur lhorizon de planification sur toutes les vacations. Ici, nous proposons une contrainte redondante applicable sur toutes les variables pour chaque paire de variables (salari-jour).
Sm = j=1,J Njm Se = j=1,J Nje Sn = j=1,J Njn IJ is I*J, XSm :: Sm..IJ, XSe :: Se..IJ, XSn :: Sn..IJ, among( [XSm, XSe, XSn], X, Zeros, [[Vm],[Ve],[Vn]], all).

Cette contrainte utilisant la variante multiple among spcifie que chaque valeur Vm, Ve, Vn doit apparatre au moins Sm, Se ou Sn fois (respectivement) sur lensemble de toutes les variables. Ainsi si le nombre de salaris-jours disponible est insuffisant pour couvrir la charge totale (donc non affect pralablement une valeur autre que Vm, Ve or Vn), cette contrainte chouera immdiatement ds la pose.

16

en ralit, elles doivent tre calcules avant la dclaration de domaine

- 87 -

Le calcul des tours en PPC Dans ce cas, on sollicite lutilisateur par un diagnostic dtaill de la situation : il pourra alors enlever les pr-affectations telles que RTT ou Repos Compensatoire, ou rduire les besoins en personnel. En ralit, les bornes suprieures des variables XS peuvent tre dtermines avec une plus grande prcision, en conjonction avec la contrainte sur le nombre minimal de jours de repos par salari (ex. Sr) sur lhorizon de planification :
XSm :: XSe :: XSn :: XSr :: among( Sm..(IJ-Se-Sn-Sr), Se..(IJ-Sm-Sn-Sr), Sn..(IJ-Sm-Sn-Sr), Sr..(IJ-Sm-Se-Sn), [XSr, XSm, XSe, XSn], X, Zeros, [[Vr],[Vm],[Ve],[Vn]], all).

Ce raisonnement peut tre appliqu la contrainte de charge minimale pour chaque jour j, telle que la valeur Vr doit apparatre au plus J-Xjm-Xje-Xjn fois.

tel-00004380, version 1 - 29 Jan 2004

3.4.3 Contraintes de charge


La contrainte sur le nombre de vacations quun salari doit effectuer sur une priode de temps (ex. vacations de repos) est trs difficile respecter lorsque lintervalle est grand, car il y peu de dduction sur les affectations des premires variables. Ceci se traduit par la contrainte globale suivante :
among([7,8,14], Xi, Zeros, [Vr], all).

Sur une priode de 14 jours, le nombre de variables qui peut prendre la valeur Vr doit tre compris entre 7 et 8 fois. Le taux de propagation ainsi obtenu nest pas trs fort. Cependant, utilisant la mthode dcrite dans [DHS+88], sil y a 7 jours de repos sur 14 jours, alors sur tout intervalle de 14-7+1= 8 jours, si les 6 autres jours sont au repos, alors il doit avoir au moins 1 repos dans lintervalle. Ce raisonnement appliqu sur 14 jours, on obtient six contraintes, o Xe(k) est un ensemble de huit variables dbutant le jour k :
among([1,8,8], Xe(k), Zeros, [Vr], all), for k=1,6

Leffet combin est en effet, la smantique de lappel among suivant, o le nombre de squences (ici 8) est strictement infrieur au nombre total de variables Xi (ici, 14) :
among([1,8,8], X(e), Zeros, [Vr], all).

Ce raisonnement peut tre appliqu aux 5 squences de 9 jours conscutives, avec au moins 2 repos, jusquau 4 squences de 10 jours avec au moins 3 repos, etc.

- 88 -

Le calcul des tours en PPC

3.5 EQUITIME V3 : GENERATION SANS RETOUR ARRIERE


Nous dcrivons ici le dveloppement dun systme de gnration de planning, destin tre gnrique et pour un trs large public.

3.5.1 Notre motivation


Notre approche est caractrise par les lments suivants : Algorithme daffectation de vacations aux employs, de faon heuristique, constructive et incrmentale Algorithme bti sans les outils commerciaux PPC et sans retour-arrire

tel-00004380, version 1 - 29 Jan 2004

Au cours dune phase de recherche (1990-1995), le projet Gymnaste V0 a utilis les outils ILOG afin de vrifier ladquation de la PPC par rapport la problmatique de la planification. Lors de la phase dindustrialisation initiale (1996-1999), le projet Gymnaste V1 a analys lapport des contraintes globales avec loutil CHIP, dans une approche logicielle standard. La recherche arborescente avec retour arrire chronologique a donn des performances satisfaisantes lors des essais. Avec le projet EQUITIME V3, nous avons opt pour des outils de dveloppement plus traditionnels pour les raisons suivantes : o Performance o Ergonomie o Intgration dans lenvironnement Windows et dans la suite Microsoft Office Pour cette version EQUITIME, nous avons choisi de raliser un moteur de propagation de contraintes sans retour-arrire, en nous appuyant sur des les heuristiques habituels de choix des variables ou des valeurs. De mme, nous prfrons une approche heuristique lapproche doptimisation pure. Dune part, ce choix tait motiv par le succs des algorithmes de type glouton. Nous avons vu au chapitre 2 le succs emport par les algorithmes approchs et la mtaheuristique GRASP. Dautre part, nous constatons que les contraintes globales qui sappliquent sur une bonne partie des variables de dcision (sinon toutes) sont mal gres par la technique de propagation des contraintes. Or, des rgles algorithmiques sont capables de les traiter plus efficacement que les fonctions de cot, voir [MGS96]. Par exemple la distribution uniforme de travail le week-end est obtenue en utilisant une rgle pour trier les employs selon le nombre dcroissant du nombre de week-ends affects. Cest identique lapproche utilise dans EQUITIME V3. Il faut cependant vrifier la faisabilit des affectations. En effet les contraintes peuvent facilement dtruire lquilibre cre par la rgle, si les affectations sont faites de faon gloutonne et sans retour arrire.

- 89 -

Le calcul des tours en PPC

3.5.2 Les choix gnraux du systme


Affectation puis propagation Un tel systme peut tre ralis de la faon suivante : Saisie des donnes et des contraintes du problme Propagation des contraintes Rduction de lespace de recherche
Poursuite litration prochaine

propagation supplmentaire

Dcision

tel-00004380, version 1 - 29 Jan 2004

Algorithme de choix heuristique

Figure 3.33. Le schma gnral du moteur de planification Ce schma est inspir du paradigme de la Programmation par contrainte, avec des variables domaine fini. Voir [Hen97] pour une description dtaille. Algorithme de choix heuristique Lalgorithme effectue les choix suivants : Choix dune variable : les heuristiques habituelles incluent le principe fail-first , jour par jour, de gauche vers la droite. Choix dune valeur, reprsentant les horaires affecter aux salaris : habituellement, les besoins sont rsolus par ordre croissant. Lide est de satisfaire dabord les besoins les plus petits.

La dcision consiste statuer sur lensemble des affectations possibles, et leffectuer. Propagation des contraintes Ensuite, il convient de vrifier la cohrence par rapport aux contraintes nonces, ce qui constitue la phase de propagation des contraintes. La rduction de lespace de recherche sen suit. Les cas qui se prsentent sont les suivants : Lorsque le domaine dune variable se trouve rduit une seule valeur, le systme dduit que cette variable doit prendre cette valeur et une phase supplmentaire de propagation est ncessaire. Lorsque le domaine dune variable se trouve vide, le systme dduit quil y a une contradiction dans le systme et il faudrait effectuer un retour-arrire. Sinon, on poursuit lnumration des variables jusqu leur puisement.

- 90 -

Le calcul des tours en PPC Propagation puis affectation Un autre schma est possible. Afin dviter des retours arrires inutiles, pour une variable candidate et une valeur candidate, on sassure par avance quil ny aura pas de contraintes transgresses. On fera laffectation uniquement dans le cas de nontransgression, vitant ainsi le retour-arrire. Cette approche est inspire de loptimisation du retour arrire en Prolog, o on distingue le retour arrire profond avec dpilement des substitutions, du retour arrire superficiel, par exemple pour chercher une clause qui sunifie avec le but courant. Itration oriente problme ou oriente technologie Lalgorithme du Backtrack effectue des itrations sur les variables du problme rsoudre (voir le glossaire). Appliqu la planification, cela consiste trouver des vacations ou horaires pour chaque membre de lquipe pour chaque jour du planning. Nous considrons que cette approche oriente technique, mne une sur-affectation inutile des ressources. tel-00004380, version 1 - 29 Jan 2004 Nous avons prfr une approche oriente problme : l algorithme effectue des itrations sur le besoins rsoudre. Ainsi, si les ressources sont en surnombre ponctuellement, certaines salaris ne seront pas affectes. Cela se traduit par des variables noninstancies. Lutilisateur a la possibilit de complter le planning manuellement avec des journes de formation ou de repos.
Dbut

succs Propagation des contraintes

chec

Existe-il des besoins nonsatisfaits


oui

non Arrt

Affectation de variable non oui


Plus de valeur non utilise

Slection du besoin

Slection de candidat libre


Dpiler la variable courante

Pile Vide ? oui Arrt sans solutions

non

Lgende : en pointill : arcs supplmentaires lalgorithme de Backtrack (voir le glossaire) en gras : arc rajout par notre algorithme

de

Figure 3.34. Le schma algorithmique dEQUITIME

- 91 -

Le calcul des tours en PPC

3.5.3 Exploitation de la symtrie


La symtrie des affectations est trs souvent exploite dans la rsolution des PPC pour rduire la complexit de la recherche de solutions par la rduction de la taille des domaines. Ainsi, dans le coloriage des graphes, lorsquil faut utiliser une couleur non encore exploite, toutes les couleurs sont symtriques. La symtrie permet partir dune solution den dduire dautres, en changeant les valeurs de deux variables ou plus. [Smi01] dfinit la mthode comme la partition de toutes les affectations possibles en classes dquivalence. Si lalgorithme montre quil ny a pas de solution avec un membre dune classe, alors il est futile dexplorer les autres membres de la classe. Au sein de lalgorithme daffectation, nous utilisons la symtrie de la faon suivante : en gnral, un besoin dtiquettes sexprime en plusieurs personnes. Lorsquon affecte une tiquette de mme type un salari, on confond tous les besoins. Ainsi on ne fait pas de retour-arrire pour un deuxime besoin du mme type. tel-00004380, version 1 - 29 Jan 2004 Nud reprsentant une variable Arcs reprsentant des valeurs possibles M1 M2 M3 S1 S2

Figure 3.35. Nud disjonctif dans un arbre de recherche : exemple dune variable ayant comme domaine {M, S} et les besoins du jour sont 3 matins et 2 soirs

3.5.4 Les algorithmes de base


Variables domaine fini Les variables domaine fini sont des instances de la classe ClsVariable. Les diffrentes valeurs possibles sont stockes dans un tableau dynamique dentiers : le nombre dlments du tableau est fixe lors de linitialisation de la variable. Les valeurs sont : o 0 pour indiquer que le salari est affect un travail hors planification (donc ne contribue pas satisfaire les besoins de lquipe). o 1 pour indiquer que le salari est au repos. o 2, etc. pour indiquer que le salari est affect un horaire pour lequel il y a un besoin de lquipe. La valeur de chaque lment du tableau est initialise 1 : cest une valeur possible de la variable. Si une valeur est enleve du domaine, llment correspondant du tableau est affect 0 ou 1. Les mthodes essentielles de ces variables sont : o Peut Instancier (Valeur) retourne vraie si cette valeur est dans le domaine o Peut Travailler retourne vraie si au moins un code travaill est dans le domaine o Instancier (Valeur) enlve toutes les valeurs possibles du domaine, sauf Valeur o Ne pas travailler enlve tous les codes travaills du domaine

- 92 -

Le calcul des tours en PPC Lalgorithme daffectation Lalgorithme daffectation seffectue suivant lordre suivant : o jour par jour : on traite tous les besoins dune journe avant de passer une autre journe, o dans lordre chronologique, ce qui facilite normment le travail des contraintes de transition. Cette dmarche est recommande par les concepteurs de CHIP au cours du projet Gymnaste V1. Le processus est dirig par des besoins restants. Pour chaque jour de lhorizon, un besoin cyclique (hebdomadaire) a t saisi. Des modifications ponctuelles par besoin au jour le jour peuvent tre saisies. On calcule ainsi les besoins restants en enlevant les affectations dj ralises sur le planning : cela peut avoir comme origine des affectations manuelles ou des parties daffectations faites prcdemment par le gnrateur. Si un besoin restant est alors non satisfait, parmi les candidats disponibles ce jour l (donc non affects), le systme trie suivant un critre d'quilibre choisi par lutilisateur. Plusieurs critres sont offerts : tel-00004380, version 1 - 29 Jan 2004 Equilibre du nombre total daffectations travailles Equilibre du nombre total daffectations par code horaire Equilibre du nombre total daffectations par code horaire par jour

Ce critre est nanmoins un critre de qualit et ne prjuge en rien de la faisabilit du problme. Si le besoin non-satisfait est trop grand, il faudra choisir un autre critre dquilibre. Dans lapproche propagation puis affectation, on vrifie si laffectation est possible (en fonction de toutes les contraintes en prsence, pour le salari candidat). Au cours de ces tests, ltat du systme nest pas modifi. Si le systme ne dtecte pas de contradiction, alors laffectation sera ralise. Sinon, la prochaine variable sera examine. Des algorithmes ont t mis en place pour dtecter des conditions limites car si les situations obligatoires ne sont pas satisfaites, une contrainte serait viole. Suite une affectation ou modification de domaines, le systme exploite des algorithmes de filtrage des domaines des variables, pour liminer les valeurs qui sont en contradiction avec les contraintes.

- 93 -

Le calcul des tours en PPC

For Day = 1 to Number-Days Sort(Needs) For each Need in Needs Remaining = Calculate-Remaining (Need) If Remaining > 0 Then Sort(Candidates, Need, Day) For each Candidate in Candidates If Look-Ahead(Candidate, Need, Day) Then Assign(Candidate, Need, Day) Remaining = Remaining 1 If Remaining = 0 Then Exit-CandidateLoop Else End if Next Candidate End if Next Need Next Day

Figure 3.36. Lalgorithme principal moteur de planification tel-00004380, version 1 - 29 Jan 2004

3.5.5 Ralisation des contraintes


Voici quelques indications sur la ralisation des diffrentes contraintes dans EQUITIME. Contraintes daffectation ponctuelle La contrainte daffectation ponctuelle agit directement dans le domaine des variables pour lensemble de salaris et pour les jours concerns. Si un seul horaire est propos, il sera affect doffice. Si plusieurs horaires sont proposs, alors les valeurs correspondantes seront retenues dans la domaine des variables concernes.
Chaque AS doit toujours effectuer les codes [M,S,J] du ? au ?, Sauf pour Agt Z doit toujours effectuer les codes [M,S] du ? au ?.

Contraintes de Disponibilit La contrainte de disponibilit est interprte de la mme faon que les contraintes daffectation ponctuelle, sur lensemble de salaris et pour les jours de la semaine concerns.
AS doit toujours effectuer [?] les jours suivants [] toutes les semaines. S ne doit jamais effectuer [?] les jours suivants [] toutes les semaines.

Contraintes de Transition Linitialisation des contraintes de transition remplit des tableaux internes au solveur permettant de retrouver lorsquon fait une affectation, la/les transitions obligatoires ou interdites, sur des journes conscutives ou non sur une semaine glissante.
Pour tous, jamais [N] suivi de [M] du ? au ?. Pour M. A, toujours Vendredi [S] suivi de Lundi [M] du ? au ?.

- 94 -

Le calcul des tours en PPC Contraintes de Rpartition On stocke les bornes suprieures et infrieures lors de linitialisation. Lors dune affectation, on les utilise pour vrifier la consistance.
Pour tous, toujours 2 [M] la suite. Du ? au ?. Pour tous jamais 6 jours de travail la suite. Du ? au ?. Sauf pour [M. A]

Au moins et au plus : saisir 203 pour au moins 2 et au plus 3 codes. Saisir 104 pour au moins 1 et au plus 4. Le logiciel EQUITIME offre une option portant sur une semaine civile en plus de lhorizon glissant de journes suites. Contraintes de Vacations Dues Les contraintes de vacations dues stockent les valeurs maximum due et minimum due lors de linitialisation. Pour une semaine, pour un code horaire, et pour un salari, on retrouve les valeurs dues correspondantes. Ces compteurs sont mis jour avec chaque affectation et permettent au systme de dtecter si le seuil maximum est dpass. tel-00004380, version 1 - 29 Jan 2004
A doit faire au moins N et au plus M fois le code horaire [CH] toutes les P semaines. Du ? au ?. A doit faire exactement ? fois le code horaire [M] toutes les ? semaines.

La ngation na pas de sens pour cette contrainte.

3.5.6 Priorit entre les contraintes


Les utilisateurs dEQUITIME ont exprim le besoin dexpression de priorit entre les contraintes. Par exemple une contrainte de disponibilit (pour un horaire un jour de la semaine) concernant un salari est considre plus importante qu'une contrainte daffectation ponctuelle (applicable sur un intervalle quelconque de temps) ou que le besoin programm. Pour raliser cette priorit dans le cadre de lalgorithme existant, nous avons ajout une itration supplmentaire par niveau de priorit : o Contrainte de disponibilit sur des jours prcis de la semaine o Contrainte daffectation ponctuelle sur un intervalle de temps o Contrainte de charge Dans le choix des candidats pour un besoin prcis, au cours de chaque itration on ne considre que les candidats faisant lobjet de la contrainte correspondante.

- 95 -

Le calcul des tours en PPC

3.6 LINTERFACE UTILISATEUR


Nous rapportons dans ce paragraphe linterface utilisateur des diffrents versions des logiciels Gymnaste et dEQUITIME. Ces applications ont t conues en tant que systmes interactifs daide la dcision. Dans le contexte oprationnel, il y a trs souvent des contraintes implicites que les intresss ne souhaitent pas crire. Des entreprises fonctionnent grce aux ngociations entre les salaris et lencadrement de proximit, ce qui ncessite des affectations manuelles. Des plannings ainsi obtenus sont souvent optimaux en ce qui concerne la satisfaction des salaris et cela se traduit par une hausse de la productivit. Des systmes complexes fonctionnant comme des botes noires seraient voues lchec.

3.6.1 Modles conceptuels principaux dEQUITIME V3


Tableur ddi la planification tel-00004380, version 1 - 29 Jan 2004 Le modle conceptuel principal de notre logiciel de planification est le tableur ddi la planification . Le tableau principal au milieu de lcran affiche les affectations dhoraires par salari et par jour, que lutilisateur modifie via la souris. Des informations en ligne se rapportent aux salaris : gauche le panneau salaris donne les informations statiques telles que le contrat temps, et droite les donnes dynamiques de planification comme le nombre total dheures travailles, les dures moyennes par semaine ou par mois. Des informations en colonne indiquent le bilan de la planification du jour (manques ou sureffectifs). Cette disposition correspond la plupart des plannings muraux, avec une ligne par ressource gre. LMMJVSD Planning par salari par jour Besoins par poste Figure 3.37. Modle conceptuel en T du tableur de planification Comme un tableur, les affichages sont en temps rel suite tout changement dhoraire, donnant ltat des affectations par rapport aux besoins, les compteurs verticaux, et par rapport aux salaris, les compteurs horizontaux. Nous distinguons dune part les compteurs dcisionnels et dautre part des compteurs de reporting. Les premiers sont des indications destines au planificateur pour la prise de micro-dcision daffectation. Mis jour dynamiquement, ils renseignent le planificateur sur la situation lgale, notamment le nombre dheures de travail ou dheures supplmentaires, le nombre de congs annuels ou des journes RTT dj pris. Les compteurs de reporting sont des lments variables de paie, utiles pour le pilotage oprationnel de lquipe. Les informations dynamiques de planning sont donnes par les compteurs dcisionnels sur le panneau de droite. Lorsque les valeurs des compteurs dpassent des seuils paramtrs par lutilisateur, la cellule est affiche en rouge, en blanc si la valeur gale le

Panneau des Salaris

Panneau des compteurs dcisionnels

- 96 -

Le calcul des tours en PPC seuil, ou en vert17. Malheureusement, la cellule est parfois invisible et il faut alors faire dfiler les compteurs pour pouvoir la voir. Le panneau des besoins par poste dans la partie infrieure de lcran affiche lcart entre le nombre daffectations sur le planning et le nombre actuellement affect. Le choix des couleurs (rouge pour danger : sous-effectif, et vert sur-effectif) permet de visualiser les besoins mme avec un niveau de zoom lev o les chiffres ne sont plus visibles. Le crayon et la gomme La figure ci-aprs illustre lcran principal de la version 3 qui dispose de la mtaphore le crayon et la gomme , rendue possible avec la fonction dannulation.
Panneau Salari Planning mensuel Compteurs I di id l

tel-00004380, version 1 - 29 Jan 2004

Accs direct et visible aux outils supplmentaires de planification

Panneau des besoins en personnel

Palette des codes horaires

Modification en temps rel des compteurs et du bilan de planning par jour (panneau des besoins). Figure 3.38. EQUITIME Version 3 avec lcran des annulations Effectivement, les modifications sont stockes dans une pile dont lutilisateur peut demander lannulation dans un ordre quelconque. Cette opration est une facilit qui
17

Laffichage en couleur suivant les seuils est maintenant une fonction standard dans les tableurs courants.

- 97 -

Le calcul des tours en PPC restaure laffectation prcdente de la cellule. Comme elle nest pas transitive, un ordre diffrent dannulation donnera un planning rsultant diffrent. Mme les affectations proposes par les outils automatiques y sont stockes afin de pouvoir les annuler dun seul coup. La liste des codes horaires est stocke dans une palette en bas droite, facilitant ainsi le choix. Llaboration progressive de planning Lutilisateur contrle compltement son planning : il peut demander laide des gnrateurs automatiques de planning cyclique ou acyclique. Il peut en effacer une partie, ajouter quelques affectations et relancer le gnrateur acyclique. A la vue des diffrents compteurs, il peut complter et finaliser le planning. A tout instant, lutilisateur peut annuler les diffrentes actions quil a effectues. Ainsi, llaboration de planification peut tre progressive : tel-00004380, version 1 - 29 Jan 2004 1. Activer les contraintes long terme, telles que les indisponibilits dues aux congs annuels, formation, etc. 2. Activer les contraintes quotidiennes telles que les congs exceptionnels 3. Pr-affecter les salaris qui ont exprim des demandes 4. Lancer le Gnrateur Automatique de Planning Acyclique et valuer les rsultats 5. Modifier manuellement la partie de la solution qui nest pas satisfaisante 6. Pr-affecter certains salaris et changer quelques contraintes (ou leurs paramtres) 7. Ritrer les tapes 4-5-6-7 jusqu ce que toute la solution soit satisfaisante Les affectations automatiques sont en blanc (Gymnaste) Loutil permet de combiner des affectations manuelles et automatiques. Afin de mieux distinguer ce que propose le gnrateur automatique de planning par rapport aux affectations prcdentes, les propositions du gnrateur peuvent tre affiches diffremment. Le logiciel Gymnaste utilise le texte en couleur blanche ; on peut aussi afficher le texte en italique. Lutilisateur peut valider les affectations quil estime bonnes, en les remettant en noir. Lors du lancement, le moteur effacera les propositions blanches avant de faire de nouvelles affectations (en blanc). La mtaphore des affectations en blanc rassure les utilisateurs : toute modification indsirable du moteur peut tre reprise par lutilisateur. Malheureusement, cela limite le nombre de couleurs des codes horaires (les couleurs trop pales ne peuvent plus tre utilises). Des photo-copies de planning Un logiciel de planning ncessite une base de donnes pour grer les donnes du personnel et du planning sur un horizon dune ou plusieurs annes. Afin de faciliter lutilisation dun tel logiciel par des planificateurs, nous voquons la mtaphore de la feuille de planning.

- 98 -

Le calcul des tours en PPC Une base de donnes dun planning est assimile une feuille de planning. On peut modifier un planning, faire une (photo-) copie pour affiner un planning prvisionnel, faire des simulations diffrentes pour optimiser le planning, etc.

3.6.2 Les outils annexes de planning


La version 3 ajoute de nombreuses interfaces nouvelles : les plannings annuels et posts et les vues cumuls et soldes. Ces outils fournissent des informations complmentaires pour aider le planificateur optimiser son planning. Communication Or, tous ces outils sont communicants : ds quil y a un changement de planning dans un outil, les autres outils sont informs et se mettent en conformit. Bien entendu, plus il y a doutils ouverts, plus la charge en machine pour la mise jour devient lourde. Comme la mise jour est synchronise avec linteraction graphique, lutilisateur perd la main aprs chaque modification pendant que les diffrents outils se remettent jour. tel-00004380, version 1 - 29 Jan 2004 Planning annuel Le planning annuel restitue le planning dun employ au cours de douze mois, dbutant le mois demand sur linterface indiqu en rouge dans la figure ci-aprs.

Figure 3.39. EQUITIME Planning Annuel Sur le planning annuel, chaque ligne reprsente le planning dun mois. Les week-ends qui sont griss sur le planning mensuel, sont entours en gris ; les jours fris qui sont en fond bleu sont entours en bleu. En dernire colonne, on affiche le total des heures travailles. En dernire ligne sur cette dernire colonne, on obtient le total annuel.

- 99 -

Le calcul des tours en PPC Sur la partie infrieure du planning annuel, on dispose de compteurs sur le nombre dhoraires dans ce planning, ainsi que les heures travailles. Si le nombre prvu de chaque horaire a t saisi, le systme affiche le nombre restant.

tel-00004380, version 1 - 29 Jan 2004

Poste

Planning

Choix de salaris

Sur tous les plannings, nous avons gard laxe horizontal comme laxe du temps. Figure 3.40. EQUITIME Planning Post Cet outil est intressant parce quil montre le modle dual des variables de dcision, ce que nous avons vu au chapitre 2. Loutil peut tre utilis pour la visualisation des donnes ainsi que pour les ajustements fins une fois le planning tabli. Elle permet lutilisateur de faire des amliorations locales partir dune solution partielle ou rapproche, ventuellement au terme dune ngociation inter personnelle. Exemple : dans la figure ci-dessus, il manque une personne en CC-J9 le 10 janvier. On pourrait faire venir M.Durand en J9 au lieu du J8 initialement prvu, avec une heure de prsence en plus du J8.

- 100 -

Le calcul des tours en PPC Vues Soldes et Cumuls Les deux vues Soldes et Cumuls permettent dvaluer le planning en cours et de contrler lquit.

tel-00004380, version 1 - 29 Jan 2004

Figure 3.41. EQUITIME Vue Soldes La vue Cumuls permet de contrler le nombre daffectations par salari par code horaire et suivant le jour de la semaine ou suivant les jours fris.

Figure 3.42. EQUITIME Vue Cumuls et son paramtrage

- 101 -

Le calcul des tours en PPC

3.6.3 EQUITIME V4 : interface utilisateur


Cette version du produit nest pas encore disponible aujourdhui. On ne peut quvoquer au passage les amliorations apportes par cette version. Lergonomie Nous avons dcid quobjectivement une meilleure ergonomie sobtient en rduisant le nombre de clicks de la souris pour accder une fonction ou en rduisant la distance parcourue par la souris pour les oprations les plus courantes. Pour parvenir au second objectif, nous proposons un systme o des fentres dtachables peuvent tre dposes un endroit propice. Ainsi au cours de laffectation manuelle dans le choix dun code horaire, cela permet de rduire les allers et retours de la souris entre la palette et du planning.

tel-00004380, version 1 - 29 Jan 2004

Trois tiquettes du temps

Figure 3.43. EQUITIME Version 4 : vue globale La mtaphore des cadrans Lutilisateur peut visualiser plusieurs plannings : chaque planning dispose dinformations qui lui sont spcifiques, disposes sur les panneaux de la version 3. Dans la version 4, nous proposons des cadrans. Ces cadrans servent centraliser lattention de lutilisateur sur des dimensions supplmentaires : o Cadran Navigation : Ce cadran permet de naviguer parmi les organisations organiques de lentreprise et de retrouver les plannings correspondants. o Cadran Message : Ce cadran permet dafficher des messages dalertes, disposs dans une liste consultable tout instant. En version 3, si la cellule affichant une donne dans le

- 102 -

Le calcul des tours en PPC panneau compteurs passe au rouge, il y a danger que lutilisateur ne le prenne pas en compte si la cellule nest pas visible. Ce cadran rsout ce problme. o Cadran Inspecteur : Ce cadran fait un zoom sur un ensemble daffectations slectionns dans le planning. Disponible en permanence sur lcran, il livre des renseignements prcieux pour le planificateur. Normalement invisible, linspecteur de la version 3 doit tre activ par lutilisateur avec le bouton droite de la souris. Si un message dalerte est slectionn, ce cadran affichera les dtails correspondants. Tout comme la palette, ces trois cadrans sont dtachables pour tre disposs volont nimporte o sur lcran, au dessus des diffrents plannings. On peut aussi les fermer si lon ne souhaite pas les consulter, ou si lon veut rserver tout lcran pour le ou les plannings. Chaque jour peut tre qualifi dun nombre illimit dtiquettes, soulign en rouge dans la Figure 3.43. Cette figure montre aussi laffichage des plans rfrence, prvisionnel et ralis, choisi par lutilisateur dans le panneau en bas gauche. tel-00004380, version 1 - 29 Jan 2004

Figure 3.44. EQUITIME Version 4 avec un seul cadran ouvert Tous les cadrans sauf la palette ont t ferms dans la Figure 3.44. Ainsi lutilisateur peut consacrer le plus de place sur lcran aux plannings.

- 103 -

Le calcul des tours en PPC

3.7 LES LIMITES DES APPROCHES PRECEDENTES


Lexprience acquise dans lexploitation pratique des logiciels Gymnaste et dEQUITIME, nous permet danalyser les limites de ces approches. Elles portent sur les modles et les mthodes.

3.7.1 Les restrictions du modle


Comme le mme modle est utilis dans les deux logiciels, ces remarques sappliquent aux deux. a. Chaque agent a une comptence unique : Ce modle relativement simple ne peut traiter le cas des multiples comptences que dans lordre de priorit dcroissante. Bien entendu, cela ne convient pas dans de nombreuses situations de planning. tel-00004380, version 1 - 29 Jan 2004 Cette restriction sera leve dans les modles prsents au chapitre 5. b. Le modle des contraintes peut engendrer des conflits : Une mme personne peut tre concerne par plusieurs contraintes ventuellement contradictoires sur certains jours. Dans la pratique, les planificateurs ne doivent pas dfinir de telles contraintes ventuellement contradictoires. Un systme de vrification a t envisag pour dtecter des ventuels recouvrements dans le temps et sur les agents, entre deux contraintes de la mme catgorie. c. Le modle des tiquettes : En remplaant les absences de type repos hebdomadaire, repos compensatoire, cong annuel ou cong exceptionnel, une seule tiquette repos suffirait : ce modle permettra de gagner en complexit [Heu96]. Cependant, elle ne permet pas de modliser les absences dont la dure compte dans le total des heures payes (par ex. formation). Ce dernier peut ainsi dpasser le total des heures par semaine. Il faudra deux codes qui ne font aucune contribution aux charges de la journe : le repos hebdomadaire qui na aucune dure de travail et le travail hors charges qui est considr comme du travail. Ce dernier doit tre pris en compte dans les contraintes de vacations dues ou de rpartition (dans tous codes travaills). Dune manire gnrale, le niveau journalier dabstraction permet de rduire la complexit des calculs mais il peut engendrer des plannings illgaux, par exemple au niveau des heures hebdomadaires ou mensuelles. Le modle ne tient compte que des affectations suivant les besoins du planning. Les autres affectations qui comptent dans le temps de travail sont ignores, donc le temps total hebdomadaire peut dpasser la limite lgale.

- 104 -

Le calcul des tours en PPC Il faut que le gnrateur de planning prenne en charge le nombre dheures hebdomadaires, par exemple dans le cadre dun modle multi-niveaux (MLM) dcrit au chapitre 5. d. Vrification des contraintes : Les contraintes ne sont actives que pendant la gnration automatique de plannings. Suite aux affectations manuelles, Il faudra lancer systmatiquement une vrification des contraintes et au cas chant, produire des alertes. Cette fonction ne prsente aucune difficult thorique, mais au niveau pratique, ces tests prennent du temps sexcuter. Dans la prsentation de la nouvelle version, nous avons rserv le cadran Messages pour recevoir des messages provenant dun serveur qui lancera des tests rgulirement, sans consommer les ressources matrielles des postes clients. Pour aller plus loin, la manire des correcteurs dorthographe des logiciels traitements de texte, lorsquune consquence due une contrainte est imminente elle doit tre propose automatiquement, par exemple les transitions obligatoires. Bien entendu, il faut pouvoir annuler ces propagations automatiques. e. Le respect de lquit : Les contraintes de vacation due ont t conues pour que le planning respecte lquit. Ainsi lutilisateur doit compter les affectations de chaque salari sur un horizon pass et r-paramtrer ces contraintes : cest trs pnible faire manuellement. EQUITIME v3 implmente lquit de faon plus simple, en tant que rgle heuristique daffectation. Nous utilisons dans lalgorithme dnumration une heuristique cherchant quilibrer lun des trois paramtres : o Nombre total des heures ralises par chaque salari o Nombre total de chaque vacation ralise par chaque salari o Nombre total de chaque vacation ralise par jour de semaine par chaque salari Suivant lheuristique choisie par lutilisateur, les bonnes solutions sont proposes en priorit. Attention ces heuristiques peuvent conduire des conflits rsultant en besoins non-satisfaits.

tel-00004380, version 1 - 29 Jan 2004

3.7.2 La recherche de solutions par contraintes globales


a. Les contraintes de cardinalit Ces contraintes provoquent beaucoup de retours en arrire. Le respect simultan des sommes en ligne (pour un agent) et en colonne (pour un jour) est trs difficile satisfaire en CHIP car les contraintes globales among et squence sont appliques indpendamment sur les mmes variables, et elles signorent.

- 105 -

Le calcul des tours en PPC Une mthode encore plus globale doit tre utilise, portant la fois sur des lignes et des colonnes. Elle pourrait dtecter quil ny a plus de solutions et ainsi viter le temps pour le prouver, telle que celle propose par [CGL95] prsente au chapitre 2 du mmoire. Au chapitre 5, nous prsenterons des conditions ncessaires dans le contexte des modles multi-niveaux, ainsi que des mthodes heuristiques pour gnrer un planning. b. Lquit des affectations : Les contraintes de vacation due (qui sappliquent sur de nombreux jours) sont trs difficiles satisfaire, puisque lnumration des solutions se fait jour par jour.

c. Problme pratique dapplication tel-00004380, version 1 - 29 Jan 2004 Il savre que les contraintes globales ne sont pas applicables en pratique sur tout lhorizon de planification. Ainsi en prsence des pr-affectations telles que des congs annuels sur plusieurs semaines les contraintes de rpartition des vacations de nuit ne doivent pas tre appliques. Comme les pr-affectations doivent prvaloir sur les contraintes globales, il convient alors de ne pas les appliquer. d. Les contraintes prfrentielles Les contraintes de type si possible et si possible pas, peuvent entraner des affectations qui empchent par la suite la satisfaction des contraintes obligatoires. Leur traitement par point de choix est loin dtre performant. La recherche locale (par exemple change 2opt) pour respecter au mieux les prfrences, serait une bien meilleure approche.

3.7.3 La gnration de solutions


En gnral, EQUITIME rsout des plannings dans des situations relles, avec suffisamment de ressources en rserve. Ds que les marges en ressources sont insuffisantes, le moteur donne des rsultats peu satisfaisants : en certains jours, des demandes de personnel ne sont pas satisfaites. Une analyse de cette situation suit : Lapproche propagation puis affectation A priori intressante parce quelle vite le retour arrire profonde , cette approche savre pnalisante car on ne peut vrifier que les effets premiers dune contrainte et non les effets cumuls de plusieurs contraintes. Afin deffectuer les tests en cascade : les contraintes peuvent sinfluencer mutuellement. Donc il faut pouvoir faire des retours en arrire, ou un traitement des checs (ou labsence dfinitive de solution faisable). Nombreuses mthodes de recherche locale dcrites au Chapitre 2 du mmoire ont t proposes pour remplacer le retour-arrire systmatique. Effectivement, le retour-arrire peut tre

- 106 -

Le calcul des tours en PPC simul par la dsaffectation dune variable. Il faut viter le bouclage, ventuellement avec une liste tabou. A la place du retour-arrire systmatique, on pourrait faire une suite heuristique dchanges daffectations pour absorber le manque deffectif. Plusieurs mthodes dchanges seront prsentes au chapitre 5 pour les diffrents niveaux. Equilibrage Les propositions de [MGS96] plaident pour lemploi des rgles daffectation parce quelles permettent dobtenir des plannings vrifiant des conditions globales impliquant une bonne partie des variables de dcision. Dans un contexte sous contraintes, certaines rgles ne peuvent pas sappliquer au moment de laffectation. Il faut implanter des mthodes supplmentaires pour sassurer que les rgles sont bien respectes. Une ide est de faire des changes entre affectations, tout en tenant compte des contraintes de transition. tel-00004380, version 1 - 29 Jan 2004 Affectation de repos EQUITIME adopte la mthode du systme Gymnaste o les jours de repos sont affects en mme temps que les besoins. Lorsque les besoins du jour sont satisfaits, le personnel restant sera affect au repos. Cependant, des rgles rcentes portant sur le repos ont t rendues lgales ; en France dans le domaine de la sant par exemple, chaque salari a droit 4 jours de repos sur deux semaines, dont au moins deux conscutifs et dont lun est un dimanche. Ces besoins en jours de repos ne sont pas pris en compte par les systmes Gymnaste, par consquent EQUITIME. La satisfaction des besoins en repos doit tre traite de faon spcifique car on nexprime pas de besoin en nombre de repos par jour. Par consquent, on ne laffecte pas comme les autres codes horaires. Il faut le traiter avant tout besoin d'horaires.

3.7.4 Conclusions
Il est certain que les contraintes globales constituent une approche originale dans la rsolution de problmes de grandes tailles. Cependant, les contraintes globales among et squence de CHIP ne sont pas suffisantes pour rsoudre le problme de calcul de tours car elles signorent. Dune part, elles sont appliques indpendamment sur les mmes variables, et elles neffectuent pas de raisonnement ensemble. Dautre part, les pr-affectations les empchent dtre appliques sur tout un horizon de planning. Dans le cas de contraintes contradictoires, les utilisateurs souhaitent choisir les priorits associes chaque contrainte et pilotent la stratgie de relaxation des contraintes.

- 107 -

Le droulement des cycles

LE DEROULEMENT DES CYCLES AUTOUR DES PREAFFECTATIONS

Rsum : Si la littrature scientifique sur la cration de cycles abonde, il a eu peu dintrt dans le droulement des cycles. Dans la majorit des situations, les cycles sont drouls ou appliqus systmatiquement. Dans ce chapitre, nous dcrivons notre travail de droulement des cycles autour des praffectations comme des congs annuels. Dune part, il y a une volont dadhrer un cycle, ce qui est mathmatiquement prcis. Dautre part, il y a le souhait de rendre le planning aussi humain que possible. Il tait impratif de relaxer des contraintes de cycle, de dformer le droulement du cycle suivant les dparts programms en congs annuels. Nous proposons un modle capable de couvrir une grande diversit de cycles de travail. Certains de ces cycles trouvent leur origine dans les centres pnitentiaires des pays europens voisins.

tel-00004380, version 1 - 29 Jan 2004

4.1 GENERALITES
Dans ce chapitre, nous tudions un aspect oprationnel de la planification cyclique. Ralis pour le compte du Ministre de la Justice en 1999-2000, le projet vise la cration automatique de planning bas sur des cycles de travail approuvs par ladministration pnitentiaire. Lobjectif est de gnrer un planning annuel pour une ou plusieurs quipes dagents de scurit suivant un ensemble de paramtres prdfinis. Historiquement, les cycles journaliers ont t mis en uvre depuis plusieurs dcennies parce quils sont souples : le cycle peut tre rallong ou raccourci facilement. Comme ils ne donnent que peu de repos le week-end, ils sont socialement inadapts. Pour corriger ce dfaut, les cycles hebdomadaires ont t crs, en prenant le cycle journalier de base et adaptant certains jours afin de fournir le personnel demand avec un rythme de travail adquat. Un acquis social est de fournir un repos hebdomadaire un week-end sur deux. La base de cycles rglementaires contient 14 cycles, fruit de lexprience sur le territoire franais et fruit de collaboration avec des instances europennes. Lapplication vise doit drouler ces cycles. Nous prsentons ici quelques lments pour dcrire une situation dune grande complexit. Pour pourvoir un poste de travail en permanence 24H sur 24, sept jours sur sept et sur toute lanne, il faut en gnral 6 agents plein temps. A un jour donn, 3 personnes travaillent le matin, soir et nuit, 1 en repos aprs travail de nuit, 1 en repos hebdomadaire et 1 en congs annuels. En France, on dispose de 30 jours de congs annuels lgaux et 21 jours fris, qui seront compenss par du repos. Donc une quipe de 6 agents aura 6*51=306 jours dabsence tour de rle. Il en reste 365-306 = 59 jours o tous les agents sont prsents et il y potentiellement trop de ressources par rapport aux besoins constants. Les quipes de travail peuvent tre organises diffremment. Suivant le cycle, on peut intgrer une ou plusieurs quipes volantes qui permettent de renforcer les effectifs

- 108 -

Le droulement des cycles durant la journe, ce qui permet davoir une diffrence entre les effectifs du jour et de la nuit.
R1 R2 R3 R4 R5 R6 Ri 1 AL W2 W3 W4 W1 Sp 2 AL W3 W4 W1 W2 Sp 3 AL W4 W1 W2 W3 Sp 4 Sp AL W2 W3 W4 W1 5 Sp AL W3 W4 W1 W2 S2 6 Sp AL W4 W1 W2 W3 S3 7 W1 Sp AL W2 W3 W4 8 W2 Sp AL W3 W4 W1 9 W3 Sp AL W4 W1 W2 10 W4 W1 Sp AL W2 W3 11 W1 W2 Sp AL W3 W4 12 W2 W3 Sp AL W4 W1 13 W3 W4 W1 Sp AL W2 S2 14 W4 W1 W2 Sp AL W3 S3 15 W1 W2 W3 Sp AL W4 S4 16 W2 W3 W4 W1 Sp AL S5 17 W3 W4 W1 W2 Sp AL 18 W4 W1 W2 W3 Sp AL

Sp Sp Sp Sp S1

AL AL AL AL AL S1

Figure 4.45. Intgration dune quipe volante dans un cycle de 4 semaines ou un cycle de 5 jours On peut envisager dorganiser les congs : par quipe entire ou individuellement. Dans le premier cas, toute lquipe sabsente en mme temps et peut tre gre comme une ressource unique. Dans le deuxime cas, un nombre adquat dagents au sein de chaque quipe prend ses congs. Suivant lexemple de 6 agents pour 1 poste en permanence dcrit ci-dessus, 1 agent parmi 6 prendra ses congs. tel-00004380, version 1 - 29 Jan 2004 Les contraintes que nous numrons au paragraphe 4.2 sont difficiles satisfaire, et il nous parat ncessaire dutiliser une mthode de recherche arborescente pour aboutir des plannings cohrents. Le problme avec le droulement systmatique est certaines contraintes dures doivent tre respectes. Par exemple la contrainte lie aux congs annuels : les dates tant prdtermines davance, les vacations prcdent le dpart doivent tre du repos hebdomadaire. Trouver des plannings satisfaisants est un problme complexe o Cycles Journaliers : possibilit de rallonger/raccourcir le cycle o Cycles Hebdomadaires : Glissement des congs, cest dire les avancer ou retarder dune ou deux semaines au maximum, sauf pour les congs dt.

- 109 -

Le droulement des cycles

4.2 LA DEFINITION DU PROBLEME


Le problme du droulement de cycles est dfini par lensemble des contraintes prsentes dans ce paragraphe. Nous supposerons que les cycles sont lgaux, nous nexposons que les contraintes de droulement.

4.2.1 Les contraintes de base


Dfinition : Une vacation Si est un ensemble dheures de travail lgal. 4.2.1.1 La contrainte de cycle

tel-00004380, version 1 - 29 Jan 2004

Dfinition : Un cycle de travail journalier est dfini par une squence de N codes de travail, o N ntant pas un multiple de 7. Un code de travail Di est une vacation Si. On suppose que le cycle est lgal au niveau du nombre dheures travailles, et on ne fait que drouler les cycles. En consquence, on peut ignorer les horaires prcises de 18 chaque vacation , mais on fait lhypothse que le repos hebdomadaire est compris dans le cycle. Ici, la dure dun code ou lintervalle est un jour. Dfinition : Un cycle de travail hebdomadaire est dfini par une squence de N codes de travail, chaque code W i tant une squence de vacations Si pour chaque jour de la semaine. Lintervalle est la semaine. L S1 S5 S3 S5 M S1 S5 S3 S5 M S5 S1 S5 S3 J S5 S1 S5 S3 V S3 S5 S1 S5 S S3 S5 S1 S5 D S3 S5 S1 S5

D1 S1 W1 D2 S2 W2 D3 S3 W3 D4 S4 W4 D5 S5 Figure 4.46. Exemple dun cycle de 5 jours et un cycle de 4 semaines Dfinition : Dans les deux cas, N est la priode du cycle. Au bout de cet intervalle de temps, un salari retrouve son planning de dpart. Pour simplifier la description, Code i dnote Di dans le cas du cycle journalier ou W i dans le cas du cycle hebdomadaire. Une ressource est affecte un Code i puis au Code i+1 lintervalle suivant. A la fin du cycle, on revient sur Code1. Pendant un intervalle quelconque, au moins une ressource doit tre affect chaque code du cycle. Lutilisation de tels cycles sans des congs annuels est illustre ci-dessous :

18

Ex. S1=matin, S2=aprs midi, S3=nuit, S4=repos nuit et S5= repos hebdomadaire

- 110 -

Le droulement des cycles intervalle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 R1 D5 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 R2 D4 D5 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1 D2 D3 D4 R3 D3 D4 D5 D1 D5 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1 R4 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1 D2 R5 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1 Figure 4.47. Application directe dun cycle journalier de 5 jours pour 5 ressources. On obtient un planning hebdomadaire analogue en remplaant les codes Di par Wi : lintervalle est une semaine. Contrainte de Cycle de priode N : Chaque ressource est affecte successivement aux Code i puis Code i+1, et puis Code N au Code1. Code i est soit un code journalier Di dans le cas des cycles journaliers, soit W i pour les cycles hebdomadaires, N tant la priode du cycle dans les deux cas.

4.2.1.2 tel-00004380, version 1 - 29 Jan 2004

La contrainte de charge

Chaque code du cycle est affect au moins une ressource au cours de chaque intervalle. Au niveau des charges, la somme des prsences de tous les codes doivent satisfaire les besoins de lintervalle. Plus prcisment, pour les cycles journaliers, la somme des prsences des vacations Di doit couvrir les besoins de la journe. Pour les cycliques hebdomadaires, la somme des codes W i (donc les prsences de chaque jour de la semaine) doit couvrir les besoins de la semaine. Contrainte de charge : Pendant chaque intervalle de lhorizon, chaque code du cycle est affect au moins une ressource. Si deux ou plusieurs ressources sont affectes un code, alors il y a surplus deffectifs. Consquence : pour viter des surplus, on applique un cycle de priode N toujours pour N ressources.

4.2.1.3

La contrainte de repos journalier

Les salaris doivent avoir suffisamment de repos entre deux jours de travail. Par exemple, aprs une vacation de nuit se terminant vers 7 ou 8H du matin le lendemain, les salaris doivent avoir une journe de repos. Dans les cycles hebdomadaires, on suppose que cette contrainte est dj respecte pour les vacations au sein de chaque code W i. Lors du droulement, on doit sassurer que cette contrainte est respecte pour les vacations du dernier jour dun W i et le premier jour du code suivant W i+1.. Contraintes de repos journalier : Certains codes du cycle doivent suivre des codes spcifiques afin dassurer suffisamment de repos journalier. De la mme faon pour les cycles hebdomadaires, certains codes Di doivent suivre des codes spcifiques.

- 111 -

Le droulement des cycles 4.2.1.4 La contrainte de cong annuel

Les congs annuels seront considrs fixes, car ils sont attribus sur plusieurs annes afin de permettre un dpart en plein t pour chaque salari. Or, dans le secteur tertiaire, les congs commencent le lundi et les salaris bnficient du week-end prcdent. La rgle quivalente dans le travail continu est la suivante : Contrainte de cong annuel : Le jour prcdent les congs annuels doit tre le repos hebdomadaire. Inversement, le jour suivant les congs ne doit pas tre le repos hebdomadaire. Cette contrainte peut tre assure par une contrainte de suite entre les vacations. Dans le cas des cycles hebdomadaires, les codes W i avec des repos hebdomadaires en fin de semaine doivent prcder les congs. Les W i avec des week-ends travaills doivent suivre les semaines de congs. Dans notre cas, la rgle tant de fournir un week-end de repos sur deux, et seuls les codes pairs, par ex. W 2i, offrent du repos en week-end. En consquence, il faut que les codes pairs prcdent les congs, cf. Figure 4.49. tel-00004380, version 1 - 29 Jan 2004 1 Sp S5 S4 S3 S2 S1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CA CA CA CA CA CA CA CA CA CA S1 S2 S3 S4 S5 S1 S2 S3 S4 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 CA CA CA CA CA CA CA CA CA S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 S1 S2 S3 S4 S5 Figure 4.48. Application dun cycle 5 jours sur 21 jours avec un cong de 10 jours 21 S5 CA S4 S3 S2 S1 22 S1 ?? S5 S4 S3 S2

R1 R2 R3 R4 R5 R6

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Sp CA CA CA W 1 W 2 W 3 W 4 W 1 W 2 W 3 W 4 W 1 W 2 W 3 W 4 R1 R2 W 1 W 2 W 3 W 4 CA CA CA W 1 W 2 W 3 W 4 W 1 W 2 W 3 W 4 W 1 R3 W 2 W 3 W 4 W 1 W 2 W 3 W 4 CA CA CA W 1 W 2 W 3 W 4 W 1 W 2 R4 W 3 W 4 W 1 W 2 W 3 W 4 W 1 W 2 W 3 W 4 CA CA CA W 1 W 2 W 3 R5 W 4 W 1 W 2 W 3 W 4 W 1 W 2 W 3 W 4 W 1 W 2 W 3 W 4 CA CA CA Figure 4.49. Application dun cycle 4 semaines sur 16 semaines avec un cong de 3 semaines

4.2.2 Les contraintes supplmentaires


Contraintes lorsque aucun agent nest en cong Avec une quipe dimensionne pour une personne en cong, pendant les jours o personne nest en cong, il y a une surcapacit par rapport aux besoins fixes. Le principe est de redistribuer le temps quitablement parmi tous les salaris. o Les cycles journaliers de N jours peuvent tre rallongs N+1 jours. Ce jour supplmentaire peut prendre des valeurs spciales et variables.

- 112 -

Le droulement des cycles o Une ressource effectuant les cycles hebdomadaires doit tre affecte au code Volant ou repos. Comme les intervalles sont tous dune semaine, on na pas crer de nouveaux cycles. Contrainte du travail essentiel

Avant le dpart en congs, on demande aux agents effectuant un cycle journalier de faire les trois premiers codes qui constituent llment essentiel du cycle journalier car les autres codes sont du repos :
Ri Vo Vo Vo Vo S1 S2 S3 CA CA CA CA CA S1 S2 S3 S4 S5

Figure 4.50. Travail essentiel dans un cycle de 5 jours

4.2.3 La relaxation de contraintes


Afin de produire des solutions mme si les contraintes spcifies sont en contradiction, nous devons les relaxer. tel-00004380, version 1 - 29 Jan 2004 Relaxation via le code Volant Suivant le cycle utilis, le code volant peut suivre et succder tous les codes du cycle. Relaxation des contraintes de cycle journalier Dans les contraintes journalires, afin de permettre aux ressources de prendre leurs congs aprs un repos hebdomadaire, il est admissible que le cycle soit dform localement : le cycle peut tre rallong ou raccourci. Par exemple: S1-S2-S3-S4-S5. S1-S2-S3-S4-S5. S1-S2-S3-S4-S5. S1-S2-S3-S5 S1-S2-S3-S4-S4-S5. S1-S2-S3-S4-S4-S4-S5.

Dans la Figure 4.48, il y a un problme le jour 22 lorsque la ressource R2 serait normalement affecte au code S1 au retour de congs. Cependant la ressource R1 est aussi affecte S1 suivant le cycle. La solution consiste relaxer la contrainte de cycle, donnant deux adaptations locales S1-S2-S3-S5 et S1-S2-S3-S4-S4-S5. Nous remarquons que la contrainte de charge est respecte. La contrainte de repos journalier doit tre prise en compte dans la dfinition des possibilits de rallonge ou de raccourci. Relaxation des contraintes de congs Dans les cycles hebdomadaires, les contraintes de congs provoquent des problmes semblables lorsque les congs durent un nombre pair de semaines. Il nest pas possible de relaxer la contrainte de cycle qui garantit un week-end de repos sur deux. La solution admise est davancer ou de reculer les congs 1 ou 2 semaines, exception faite pour les congs dt qui sont dfinitivement fixes.

- 113 -

Le droulement des cycles

4.3 LE MODELE ET SON IMPLANTATION


Nous prsentons dabord notre modle permettant dunifier les cycles journaliers et hebdomadaires. Dans la suite du document, on ne traite plus que des cycles hebdomadaires. Nous utiliserons le terme cycles hebdomadaires dans un sens plus gnral : lhorizon du cycle peut comprendre un nombre de jours > 2 et pas forcment un multiple de 7. On prsente une contrainte fondamentale : les contraintes de transition dnote par X Y. Cette contrainte spcifie que la valeur Y peut suivre la valeur X sur deux intervalles conscutifs pour la mme ressource. On montre comment rcrire les diffrentes contraintes du problme en terme de ces contraintes. Enfin, nous montrons comment implanter ces transitions utilisant la contrainte globale squence. Dans les listings qui suivent, le code hebdomadaire W i aura la valeur i+1, le code W 0 dnote les congs (valeur=0) et W VO dnote Volant avec la valeur 1.

tel-00004380, version 1 - 29 Jan 2004

4.3.1 La construction dun cycle hebdomadaire


Exemple : A partir dun cycle 5 jours (S1, S2, S3, S4 et S5), construisons un cycle hebdomadaire 4 jours. Nous utilisons les codes S1, S2, S3, S4 pour le code W 1. Si laffectation du dernier jour de la range i est S k. alors sur la range i+1, la premire affectation doit tre S k+1 (ou S1, si k = N). La figure 4.51 montre le cycle rsultant o le cycle journalier est droul 4 fois. 1 2 3 4 W 1 S1 S2 S3 S4 W 2 S5 S1 S2 S3 W 3 S4 S5 S1 S2 W 4 S3 S4 S5 S1 W 5 S2 S3 S4 S5 Figure 4.51. Transformer un cycle 5-jours en un cycle hebdomadaire de 4 jours. La contrainte de charge est toujours respecte chaque jour. A partir dun mme cycle journalier, cette mthode peut aussi gnrer des cycles 5 ressources 3, 5 or 6 jours. Pour simplifier la description des contraintes, nous limitons nos exemples aux codes W 1 W 5 de semaine de 4 jours dans cette note. Lapplication gnre ces codes au vol et les relie ensemble avec les contraintes appropries. Thorme : Soit un cycle journalier de N jours et soit K un entier positif strictement infrieur N. Construisons un cycle hebdomadaire sur K jours et pour N ressources de la manire suivante : Le code W 1 est constitu des K premiers codes du cycle Soit S i la dernire vacation du code W i. Le code W i+1 est obtenu avec les K codes S ((i+1) mod N) +1 , , S ((i+K) mod N) +1 Le cycle hebdomadaire ainsi obtenu est constitu de codes W contrainte de cycle : W i W i+1 (pour i=1, , N-1) et W N W 1.
i

qui respectent la

- 114 -

Le droulement des cycles Cette mthode dagrgation exige la dcomposition de lhorizon de planification N total intervalles en un nombre dintervalles de la bonne taille. Comme la construction de cycle ignore les congs pendant la semaine, tous les intervalles y compris les congs, doivent tomber en un nombre entier dintervalles de la taille correspondante. Soit NBP le nombre dintervalles de longueur P, la condition est
N
total

= NBN-1 * (N-1) + NBN+1 * (N+1) + NBN+2 * (N+2)

On rappelle que N est le nombre dintervalles du cycle. La condition exprime que la somme des dures en cycle de longueur N-1, N+1 et N+2 couvre bien lhorizon N total.

4.3.2 Implantation de la contrainte de cycle


Les contraintes de cycles hebdomadaires sont cres en vrifiant que les successions des vacations journalires du dernier jour dun code hebdomadaire et le premier jour du code hebdomadaire suivant. Les codes journaliers au sein dun code hebdomadaire doivent respecter les contraintes de succession. Dans la semaine de 4 jours, la contrainte de cycle est reprsente par la suite de transitions W 1 W 2, W 2 W 3, W 3 W 4, W 4 W 5 et W 5 W 1. Les patterns sont : tel-00004380, version 1 - 29 Jan 2004
Pats = [[sum,1,#=,[2]],[sum,1,#\=,[3]], [sum,1,#=,[3]],[sum,1,#\=,[4]], [sum,1,#=,[4]],[sum,1,#\=,[5]], [sum,1,#=,[5]],[sum,1,#\=,[6]], [sum,1,#=,[6]],[sum,1,#\=,[2]]] % % % % % W1 W2 W3 W4 W5 W2 W3 W4 W5 W1

Listing 1. Patterns pour les contraintes de cycle dans un cycle de priode 5

Dans le cas des cycles journaliers, lorsque plusieurs cycles hebdomadaires de diffrents horizons sont utiliss, les contraintes de cycle doivent tre cres pour chaque cycle.

4.3.3 Implantation des contraintes de charge


La contrainte globale among est utilise directement pour raliser la contrainte de charge pour tout intervalle j. Elle prend en compte toutes les demandes simultanment et agit sur les variables de toutes les ressources 1 R :
among([N1,, NN], [V1,j, , V
R ,j

], Zeros R, [[S1],,[SN]], all)

Listing 2. Contrainte de charge

Rappel : N i est le nombre demand des valeurs S i, lune des valeurs possibles des variables V, Zeros R est une liste de R zros demands par la contrainte. La contrainte exige quil y ait exactement le nombre N i de variables V1,j, , V R ,j. prend la valeur S i, pour tout i simultanment.

4.3.4 Implantation des contraintes de repos journalier


Dans l exemple de la figure 4.51, S3 (nuit) doit tre suivi par S4 (repos); donc il faut ajouter la transition W 2 W 3 parce que W 2 finit en S3 et seul W 3 dmarre avec S4 parmi les codes semaines. Cette transition doit tre ajoute aux cas o des cycles supplmentaires sont cres. Voir Listing 4.

- 115 -

Le droulement des cycles

4.3.5 Implantation des contraintes de congs annuels


Dans la semaine de 4 jours, si S5 est le jour de repos hebdomadaire alors la transition journalire S5 0 est rcrit en transition hebdomadaire W 5 W 0 puisque S5 est plac la fin de la semaine W 5. Si S4 0 est permise, alors la transition W 1 W 0 est aussi permise. Le premier jour aprs les congs ne peut tre un repos. Cela veut dire que la transition W 0 W 5 nest pas permise. Il suffit dexclure cette transition car seules les transitions permises sont numres. Aprs les congs, certaines vacations journalires sont hautement prfrables, notamment S1. Par consquent, on admet la transition W 0 W 1 comme W 1 dbute avec S1 dans lexemple.
Pats = [ [sum,1,#=,[0]],[sum,1,#\=,[0,2]], [sum,1,#=,[2]],[sum,1,#\=,[3]], [sum,1,#=,[3]],[sum,1,#\=,[4]], [sum,1,#=,[4]],[sum,1,#\=,[5]], [sum,1,#=,[5]],[sum,1,#\=,[6]], [sum,1,#=,[6]],[sum,1,#\=,[0,2]] ] % % % % % % W0 W1 W2 W3 W4 W5 W0 and W1 W2 W3 W4 W5 W0 and W1

tel-00004380, version 1 - 29 Jan 2004

Listing 3. Patterns pour implanter les contraintes de cycle et de conges annuels

4.3.6 Implantation des contraintes supplmentaires


Contraintes lorsquaucun agent nest en cong

Dans le cas des cycles journaliers, un cycle de N jours est transform en cycle de (N+1) jours. Le code supplmentaire est dnot N+1, ex. S6 dans notre exemple. On peut calculer les variants de ce cycle tendu sur des horizons de diffrentes tailles, linstar dun cycle de N jours. 1 2 3 4 5 W 6 S1 S2 S3 S4 S5 W 7 S6 S1 S2 S3 S4 W 8 S5 S6 S1 S2 S3 W 9 S4 S5 S6 S1 S2 W 10 S3 S4 S5 S6 S1 W 11 S2 S3 S4 S5 S6 Figure 4.52. Rallonger un cycle de 5 jours en un cycle de 6 jours (W6- W11) Ici, les contraintes de cycle sont W 6 W 7, , W 11 W 6. Afin de permettre lutilisation dun cycle de N jours suivis par un cycle de N+1 jours par des variables successives, on doit vrifier la contrainte de repos journaliers pour le dernier jour du premier cycle et le premier jour du second cycle. Par exemple si la transition S4 S5 est admise, il faut ajouter les transitions suivantes: W 1 W 8 (car W 1 finit par S4 et W 8 dbute par S5 ), quon complte avec W 2 W 9, W 3 W 10, W 4 W 11, W 5 W 7, et W 0 W 6.

- 116 -

Le droulement des cycles Inversement, pour permettre le cycle de N+1 jours suivre le cycle de N jours, il faut ajouter W 6 W 1, W 7 W 2, W 8 W 3, W 9 W 4, W 10 W 5, et W 11 W 0. Les patterns sont rsums dans le Listing 4. Cette mthode peut aussi permettre lutilisation de diffrents cycles suivant les priodes diffrentes, par exemple t et hiver.
Pats = [ %N-day cycle [sum,1,#=,[2]], [sum,1,#\=,[1,3,9]], %W1 WSP,W2,W8 [sum,1,#=,[3]], [sum,1,#\=,[1,4,10]], %W2 WSP,W3,W9 [sum,1,#=,[4]], [sum,1,#\=,[1,5,11]], %W3 WSP,W4,W10 [sum,1,#=,[5]], [sum,1,#\=,[1,6,12]], %W4 WSP,W5,W11 [sum,1,#=,[6]], [sum,1,#\=,[0,1,2,8]] %W5 W0,WSP,W1,W7 %(N+1)-day cycle [sum,1,#=,[7]], [sum,1,#\=,[1,2,8]], %W6 WSP,W1,W7 [sum,1,#=,[8]], [sum,1,#\=,[1,3,9]], %W7 WSP,W2,W8 [sum,1,#=,[9]], [sum,1,#\=,[1,4,10]], %W8 WSP,W3,W9 [sum,1,#=,[10]],[sum,1,#\=,[1,5,11]], %W9 WSP,W4,W10 [sum,1,#=,[11]],[sum,1,#\=,[1,6,12]], %W10 WSP,W5,W11 [sum,1,#=,[12]],[sum,1,#\=,[0,1,7]] %W11 W0,WSP,W1 ] Listing 4. Patterns pour le cycle de (N+1) jours

tel-00004380, version 1 - 29 Jan 2004

Contrainte du travail essentiel

Dans les cycles journaliers avec volant avant les congs, afin dintgrer les vacations essentielles (S1-S2-S3) avant les congs, nous avons cr un cycle spcifique de 3 jours, dcrit ci-aprs, et affect avant le dpart en congs. 1 2 3 W 12 S1 S2 S3 W 13 S4 S5 S1 W 14 S2 S3 S4 W 15 S5 S1 S2 W 16 S3 S4 S5 Figure 4.53. Cycle hebdomadaire sur 3 jours, dduit du cycle journalier de 5 jours Ces nouvelles vacations (W 12 etc.) doivent tre connectes aux autres cycles tout en respectant le repos journalier : W 12 W 0, W 1 W 13 (car S4 S5), W 2 W 14, etc.

4.3.7 La relaxation des contraintes


Relaxation via le code Volant

Il suffit dajouter la valeur du code volant dans le domaine des variables et introduire les patterns suivants :
Pats = %WEEKLY CYCLES [[sum,1,#=,[0]], [sum, 1, #\=,[0,1,6]], [sum,1,#=,[1]], [sum, 1, #\=,[0,1,2,,6]],% CodeVolant suit tous les codes ... ] Pats = [ %DAILY CYCLES [sum,1,#=,[0]], [sum, 1, #\=,[0,1,7]], %W0 W0,WVO,W6 [sum,1,#=,[1]],[sum,1,#\=,[0,1,2, , 12]], % Code volant suit tous les codes Listing 5. Relaxation de contraintes avec le code Volant

- 117 -

Le droulement des cycles Relaxation des contraintes de cycle journalier

Afin de dformer le cycle journalier, il suffit dautoriser des contraintes de transitions supplmentaires, permettant de rallonger et de raccourcir le cycle. Considrons le cas de la transition autorise S3 S5. Au niveau de la semaine, en plus de la transition habituelle W 2 W 3, nous autorisons les transitions W 2 W 2 et W 2 W 8. Le systme cherchera sur toutes les transitions autorises pour trouver lensemble des valeurs satisfaisant ces contraintes. Le pattern correspondant dans Pats est [[sum,1,#=,[3]],[sum,1,#\=,[1,3,4,9]]]. De la mme faon, pour rallonger le cycle il faut autoriser la transition S4 S4, ce qui nous permet de crer les relaxations au niveau hebdomadaire. Ainsi la dformation du cycle peut intervenir entre deux intervalles. Plus il y a dintervalles, plus le systme sassouplit. Si lhorizon de planification est dcoup en intervalles dun jour, la souplesse est maximale, mais les rsultats peuvent devenir trs alatoires et les utilisateurs ne reconnatront plus le cycle. tel-00004380, version 1 - 29 Jan 2004 Relaxation des contraintes de congs

Dans les cycles hebdomadaires, lorsquune ressource i est dfinitivement affecte aux congs la semaine j, alors la variable Vi, j est affecte la valeur 0. Quand un cong peut tre affect la semaine j, et potentiellement avanc ou retard dun intervalle, alors le domaine des trois variables candidates j-1, j, j+1 contiendront la valeur 0, en plus des autres valeurs possibles. La contrainte suivante est ncessaire afin daffecter le bon nombre de semaines de congs; elle spcifie que le nombre de variables avec la valeur 0 parmi les variables candidates est exactement No:
among([No], [Vi,j-1, V(i, j), Vi,j+1], Zeros3, [[0]], all) Listing 6. Contrainte sur le nombre total des congs

Quand les congs durent les trois semaines j, j+1 et j+2, et lorsquils peuvent tre avancs ou retards dun intervalle, lintervalle j est dfinitivement en congs. Malheureusement dans le cas des cycles journaliers, comme la priode avant cong pourrait avoir une taille diffrente des priodes aprs les congs, cette mthode ne peut pas tre applique. Remarque : cette technique distinguant la partie dure et la partie floue est trs utilise dans la PPC.

- 118 -

Le droulement des cycles

4.4 LA RECHERCHE DE SOLUTIONS 4.4.1 La gnration de solutions


Nous utilisons une mthode trs simple de labelling dun intervalle j la fois et de la gauche vers la droite. Pour chaque intervalle j, les variables correspondant toutes les ressources sont numres afin de satisfaire les contraintes de charge et la contrainte de cycle. Les variables de lintervalle sont slectionnes par lheuristique suivante : Choix de la variable avec le domaine le plus restreint Choix des valeurs dans lordre croissant La stratgie de la gauche vers la droite facilite le traitement de nombreuses contraintes de transition gnres la vole. Il y a retour en arrire sur des intervalles diffrents pour satisfaire la contrainte de cycle.

4.4.2 Les conditions ncessaires de congs annuels


tel-00004380, version 1 - 29 Jan 2004 Une premire condition ncessaire que doive satisfaire la constitution dune quipe hebdomadaire est que chaque ressource puisse prendre tous ses congs (soit 7 semaines en tout). Dans une quipe de N+1 ressources, compte tenu des 52 semaines par an, amputes de 3 semaines pour lorganisation manuelle pour les ftes de fin danne, il faut que (N+1) * 7 49, soit N 6 Dans des quipes o au plus deux ressources peuvent tre en congs simultanment, la condition est N 12. Dans le traitement des cycles hebdomadaires, certains jeux de donnes nadmettent pas de planning. Jai mis au point un modle hebdomadaire pour analyser ce phnomne. Ce modle ne contient que deux codes W 1 = I pour les semaines impaires et W 2 = P pour les semaines paires. La condition ncessaire mais insuffisante pour que les besoins soient respects dans ce modle est quil y ait chaque semaine, un mme nombre de W 1 et W 2. R 1 Vo C A C A C A W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 W 1 R 2 W 1 W 2 W 1 W 2 CA CA CA W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 R 3 W 2 W 1 W 2 W 1 W 2 W 1 W 2 CA CA CA W 1 W 2 W 1 W 2 W 1 W 2 W 1 R 4 W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 CA CA CA W 1 W 2 W 1 W 2 R 5 W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 W 1 W 2 W 1 C A C A C A Vo Figure 4.54. Modle Pair/Impair de N=4 pour 3 semaines de congs annuels Figure 4.54 est un tel planning pour N=4, pour un nombre impair de semaines de conges annuels. On suppose que les congs sont pris selon un ordre chronologique (sinon, il suffit de changer lordre des lignes). La contrainte des congs annuels (weekend en repos avant dpart en congs) est interprte par une semaine paire avant la semaine CA. Lorsquil ny a pas de CA, une quipe est dsigne Volante tour de rle. Dans le cas dun nombre pair de congs annuels, comme le montre la Figure 4.55, lorsque les ressources sont en congs tour de rle de faon continue, les besoins par

- 119 -

Le droulement des cycles semaine ne peuvent pas tre respects, comme il ny a que des semaines paires ou impaires. La solution consiste insrer des semaines sans congs (avec une ressource en volant) comme le montre la Figure 4.56. On obtient ainsi un nombre gal de semaines paires et impaires. Bien entendu, cela exige quon puisse insrer deux semaines sans congs. Pour lquipe N=4, avec cinq ressources et 35 semaines de congs, une organisation en 2+3+2 semaines exige linsertion de 4 semaines sans congs. Or pour une quipe N=6, il y a sept ressources qui mobilisent 49 semaines de congs par an. En consquence, on ne peut quoffrir des congs en nombre impair de semaines, par exemple 1+3+3 semaines. R1 R2 R3 R4 R5 tel-00004380, version 1 - 29 Jan 2004
CA CA W1 W2 W1 W2 W1 W2 W1 W2 W1 W1 W2 CA CA W1 W2 W1 W2 W1 W2 W1 W1 W2 W1 W2 CA CA W1 W2 W1 W2 W1 W1 W2 W1 W2 W1 W2 CA CA W1 W2 W1 W1 W2 W1 W2 W1 W2 W1 W2 CA CA W1 W2 CA CA W1 W2 W1 W2 W1 W2 W1 W2 W1 W2 W2 W1 W2 CA CA Vo W1 W2 W1 W2 W1 W2 W1 W1 W2 W1 W2 W1 W2 CA CA W1 W2 W1 W2 W1 W1 W2 W1 W2 W1 W2 W1 W2 CA CA Vo W1 W2 Vo W1 W2 W1 W2 W1 W2 W1 W2 W1 W2 CA CA

Modle Pair/impair pour 2 semaines de congs annuels Figure 4.55. Nombre insuffisant de codes pairs et impairs par semaine Figure 4.56. Planning avec des semaines sans congs, donnant 2 W1 et 2 W2 par semaine Or une fois rsolue, toute solution du modle pair/impair reprsente N/2 solutions (N tant pair) dans le modle de base. Effectivement, chaque code W 1 peut reprsenter un dpart de cycle. On pourra ainsi choisir la meilleure solution.

4.4.3 Le traitement des ruptures


Comme toutes applications pratiques, le systme doit fournir des solutions mme si les contraintes sont contradictoires, notamment quand les dates des congs sont en conflit avec le droulement mathmatique des cycles. Dans de telles situations, la contrainte de charge nest plus poste localement et les ressources sont affectes la valeur volante via la relaxation de contraintes. Ces semaines narrivent quisolement car il ny ait pas de contraintes de cycle sur la valeur volante... Les ressources sont affectes de faon heuristique en deux tapes. Dabord au niveau de la semaine, un systme spcial bas sur des rgles est utilis pour spcifier les jours o chaque ressource doit travailler, en considrant les affectations des week-ends. Ensuite, au niveau journalier, lapplication applique les codes travaills du cycle afin de respecter les contraintes de charge.

- 120 -

Le droulement des cycles

4.5 NOS RESULTATS ET CONCLUSIONS 4.5.1 Rsultats thoriques et une justification de la PPC
Nous avons propos un modle des cycles permettant dunifier les cycles journaliers et les cycles hebdomadaires. Il agrge les donnes sur laxe du temps : lintervalle de temps peut ainsi reprsenter plusieurs jours voire des semaines. A lintrieur dun intervalle, le cycle est droul de faon parfaite sans relaxation. Cette technique facilitera le traitement dhorizon dune anne, voire plus. Il serait capable de traiter des horizons de 3 ans, et de prendre en compte des contraintes nouvelles telles que la suivie de carrire, la formation continue, etc. Nous avons mis en vidence la contrainte transition qui permet de modliser les contraintes du problme du droulement des cycles hebdomadaires, ainsi que la relaxation. Ces mmes contraintes peuvent tre utilises pour intgrer des cycles diffrents applicables aux diffrentes priodes de lanne. tel-00004380, version 1 - 29 Jan 2004 Nous avons montr comment mettre en uvre les contraintes globales dynamiquement, partir des donnes du problme, y compris la relaxation. Dans le droulement des cycles journaliers, la PPC a t ncessaire parce quil faut dformer progressivement le cycle afin de permettre aux agents de partir en congs suite un repos hebdomadaire. De mme, le droulement des cycles hebdomadaires avait besoin de la PPC parce quon ne sait pas a priori comment dplacer les congs annuels autour du cycle.

4.5.2 Une application complte et indpendante


Les concepts de la planification cyclique base sur des cycles de travail sont implants dans lapplication MOSAR. Divers aspects systmes ont t implants, par ex. la saisie des paramtres de rsolution, ldition des cycles et laffichage du planning rsultant ainsi que les statistiques pour chaque ressource. Le systme de rsolution est bti avec les contraintes globales among et sequence du systme CHIP V5. Ce dernier savre trs utile pour limplantation des mthodes de relaxation des contraintes. Lapplication a t livre avec 14 cycles journaliers et hebdomadaires qui peuvent tre drouls suivant les paramtres standards. Elle est exploite sur plusieurs sites en France depuis dbut 1999 afin de produire des plannings annuels pour jusqu 150 personnes la fois. Le solver a t capable de produire des plannings pour des cycles complexes o lnumration est limite aux cinq premiers jours, le reste du problme tant rsolu par propagation de contraintes sur 20 secondes sur un Pentium I @ 200Mhz. Notre exprience montre que le droulement de cycles de travail est un problme complexe. Tout en respectant les contraintes de charge, les cycles doivent tre adapts autour des absences prvues de type congs annuels ou de formation et donnant des repos hebdomadaires avant chaque dpart en congs. La relaxation des contraintes est ncessaire pour obtenir des plannings satisfaisants. Lun des avantages majeurs dun outil de droulement cyclique dans lorganisation du travail est la souplesse obtenue par la combinaison de plusieurs cycles adapts

- 121 -

Le droulement des cycles chaque type de besoin en charge. Les cycles ont t conus pour donner un bon quilibre entre le travail et le repos. Il faut en disposer dun nombre suffisant afin de rpondre nombreuses situations telles que les salaris administratifs, les gardiens oprationnels ou les officiers. Notre exprience montre que les cycles hebdomadaires peuvent tre drouls parfaitement (la seule relaxation tant les dates de congs) alors que les cycles hebdomadaires exigent la relaxation du cycle, rompant ainsi lquilibre du cycle. Le travail cyclique permet de partager toutes les activits de ltablissement sur lensemble du personnel et encourage une certaine paix sociale. Les cycles de travail sont un progrs social dans lorganisation du travail en continu qui encourage lesprit dquipe, en partageant toutes les activits, mme celles qui sont les moins apprcies telles que les vacations de nuit, le week-end ou les jours fris. Les cycles permettent aux salaris de mieux planifier leur vie sociale.

4.5.3 Conclusion
tel-00004380, version 1 - 29 Jan 2004 Ce travail ma permis de comprendre la problmatique de la planification cyclique, dchire entre le souhait dun rythme de travail quilibr et le souhait de respecter des impratifs humains. Il a fallu analyser, trancher, mettre en vidence des mcanismes de relaxation, et raliser les programmes permettant de les mettre en uvre. Plus gnralement, jai pu constater que les mmes contraintes peuvent se reprsenter sur diffrents niveaux dagrgation (par ex. la contrainte de repos journalier dans un cycle hebdomadaire). De ce travail est ne lide que les diffrents niveaux dagrgation peuvent coexister et mme cohabiter au sein dun mme systme de planification. Le modle multiples niveaux sera prsent au chapitre suivant.

- 122 -

Le droulement des cycles CYCLE CAN3.3 Organisation des congs individuellement Le Cycle CAN3.3 est un cycle journalier de 6 jours. Il est dfini par la suite : MN19+DN+RH+RH+S+(X) X est une journe variable ayant pour moiti C/S et lautre moiti M/C. Si le nombre de gardes est impair, ce dernier est affect C.

tel-00004380, version 1 - 29 Jan 2004

19

MN = Matin entre 7 H et 15H, et Nuit entre 23H et 7H DN = Descente de Nuit (repos compensatoire aprs le travail de nuit) M = Matin RH = Repos Hebdomadaire S = Soir (entre 15H et 23H) C = Coupure (Journe) M/C et C/S sont des vacations Matin et Soir incluant Coupure (lheure de repas du midi)

- 123 -

Le droulement des cycles CYCLE CAN3.2 Organisation des congs par quipe Le Cycle CAN3.2 est un cycle journalier de 6 jours. Il est dfini par la suite : MN+DN+RH+S+(X) Pour lexcution du code horaire X, une moiti de lquipe effectue le Matin (M) et lautre moiti le Soir (S). Ces deux codes ont le mme nombre dheures travailles.

tel-00004380, version 1 - 29 Jan 2004

Afin de partir en congs annuels CA aprs le RH, on attribuerait des suites S+S, S+S+S et S+S+S+S. Les besoins journaliers sont prs toujours respects.

- 124 -

Le droulement des cycles Cycle CH12 Dfinition du cycle sur 12 semaines :

tel-00004380, version 1 - 29 Jan 2004

Appliqu 14 ressources, il y aura au plus deux en congs un moment donn. Il ny a 2 semaines volantes (ou marge) sur 50 semaines, comme le montre la solution trame ci-dessous.

- 125 -

Le droulement des cycles Droulement du CH12 sur 14 ressources


CH12 : Solution Trame pour 50 semaines Date Eq01 Eq02 Eq03 Eq04 Eq05 Eq06 Eq07 1 0 3 1 2 0 4 2 3 5 0 3 1 4 6 0 4 2 5 7 5 0 3 1 6 8 6 0 4 2 7 7 5 0 3 1 8 6 0 4 2 8 8 6 0 4 2 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 1 4 2 0 3 1 0 4 2 0 0 3 1 7 0 4 2 8 0 5 3 1 9 10 11 12 7 6 4 2 8 0 5 3 1 7 0 6 4 2 0 6 4 2 8 0 7 5 3 1 0 0 5 3 1 7 8 6 4 2 1 2 3 1 4 2 5 3 1 0 8 6 2 6 4 2 7 5 3 1 0 8 4 2 8 6 4 2 9 10 11 12 7 5 3 1 8 6 4 2 0 7 5 3 1 0 7 5 3 1 0 8 6 4 2 8 6 4 2 0 7 5 3 1 0 0 0 1 0 2 0 3 1 0 4 2 0 5 3 1 0 6 4 2 0 7 5 3 1 0 8 6 4 2 0 9 10 11 12 7 5 3 1 0 6 4 2 8 6 4 2 0 7 5 3 1 0 7 5 3 1 0 8 6 4 2 8 6 4 2 1 9 7 5 3 9 10 11 12 7 5 0 3 1 8 6 0 4 2 8 6 0 4 2 7 5 0 3 8 6 0 4 1 9 10 11 12 0 6 4 2 8 0 7 5 3 0 7 5 3 9 10 11 12 7 5 3 1 8 6 4 2 8 6 4 2 0 7 5 3 1 9 10 11 9 10 11 12

9 10 11 12 7 5 0 2 8 6 0 3 1

9 10 11 12 8 6 4 0 7 5 1

9 10 11 12 7 5 3 8 6 4 0 7 5 3 1

11 12 7 5 2 12 8 6 4 8 6 0 3 1

9 10 11 12 7 5 4 2 8 6 5 3 1

9 10 11 12 0 7 3 1

9 10 11 12 7 5 8 6 1 0 7 5 3

9 10 11 12 7 0 4 2 8 5 0 3 1

9 10 11 12 7 6 4 2 8 0 5 3 1

0 11 12

9 10 11 12 7 2 8 3 1 0 7 5

9 10 11 12 6 0 4 2 7 5 0 3 1

9 10 11 12 0 6 4 2 0 0 5 3 1 8

0 11 12 9 10 5 3 1 0 7 6 4 2

9 10 11 12 4 2 5 3 1 0 7

9 10 11 12 7 5 0 3 1

9 10 11 12

9 10 11 12

0 Vo 9 10 7 5 3 1 0 8 6 4 2 0

Eq08 Vo

9 10 11 12 7 5 0 3 1 8 6 0 4 2

9 10 11 12 0 8 6 4 1 0 0 7 5 2

9 10

0 11 12 8 6 4 2 9 10 8 6 4 2

tel-00004380, version 1 - 29 Jan 2004

Eq09 Eq10 Eq11 Eq12 Eq13 Eq14

9 10 11 12 7 5 0 3 8 6 0 4

9 10 11 12 0 8 6 3 0 7 4

9 10

0 11 12 9 10 8 6 4

9 10 11 12 7 5 0 8 6 0

9 10 11 12 9 10 8 5 0 6

0 11 12 9 10 8 6

10 11 12 7 5 8 6

9 10 11 12 7 0 8 5

9 10 11 12 9 10 0 8

0 11 12 9 10 8

9 10 11 12 7 8

9 10 11 12 6 7

0 11 12 9 10

0 11 12 9 10

9 10 11 12

9 10 11 12

0 11 12

0 11 12

9 10 11 12

9 10 11 12

0 11 12

Solution trame pour 52 semaines


Semaines Equipe 1 Equipe 2 Equipe 3 Equipe 4 Equipe 5 Equipe 6 Equipe 7 Equipe 8 Equipe 9 Equipe 10 Equipe 11 Equipe 12 Equipe 13 Equipe 14 1 0 3 1 2 0 4 2 3 5 0 3 1 4 6 0 4 2 5 7 5 0 3 1 6 8 6 0 4 2 7 7 5 0 3 1 8 6 0 4 2 8 8 6 0 4 2 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 1 2 3 1 4 vo 2 3 1 0 4 2 0 0 3 1 0 0 4 2 5 0 0 3 1 6 0 4 2 7 0 5 3 1 0 8 6 4 2 8 9 10 11 12 1 0 6 4 2 8 0 7 5 3 2 3 1 0 6 4 8 0 7 5 2 1 4 2 2 5 3 1 8 6 3 6 4 2 0 7 1 4 7 5 3 1 0 8 2 5 8 6 4 2 0 0 3 1 6 7 5 3 1 0 4 2 7 8 6 4 2 0 5 3 1 0 8 9 10 vo 1 2 0 3 1 0 4 2 5 0 3 1 6 0 4 2 7 5 0 3 1 8 6 0 4 2 9 10 11 12 7 5 0 3 1 2 8 6 0 4 2 3 1 0 7 5 7 5 0 3 1 4 2 8 6 0 4 2 5 3 1 0 7 1 2 3 1 4 vo 2 3 1 9 7 5 8 6 4 2 0 9 10 11 12 7 5 0 3 1 8 6 0 4 2 8 6 0 4 2 7 5 0 3 8 6 0 4 1 9 10 11 12 6 4 2 0 0 7 5 3 1 0 5 3 1 7 0 8 6 4 2 9 10 11 12 7 5 3 1 6 4 2 8 6 4 2 7 5 3 1 0 0 9 10 11 12 7 5 0 3 6 4 2 8 6 0 4 7 5 3 1 0 9 10 11 12

9 10 11 12 7 5 0 2 8 6 0 3 1

9 10 11 12 0 5 3 7 8 6 4 1

9 10 11 12 7 5 3 8 6 4 2 8 6 4 7 5 3 1

9 10 11 12 7 5 0 8 6 4 2 8 6 0 7 5 3 1 0

11 12 7 5 4 2 12 8 6 4 8 6 0 3 1

9 10 11 12 7 5 4 2 8 6 5 3 1

0 11 12 7 5

9 10 11 12 7 5 8 6 4 2 8 6 0 7 5 3 1

9 10 11

9 10 11 12 7 0 4 2 8 5 0 3 1

9 10 11 12 7 6 4 2 8 7 5 3 1

0 11 12

9 10 11 12 7 8 0 7 5 3 1

9 10 11 12 6 0 4 2 7 5 0 3 1

9 10 11 12 8 6 4 2 0 7 5 3 1 8

9 10 11 12 0 11 12 8 6 4 2 9 10 8 6 4 2 1 0 7 5 3

9 10 11 12 7 5 0 3 1

9 10 11 12

9 10 11 12 0 11 12 9 10 8 6 4

9 10 11 12 7 5 0 3 1 8 6 0 4 2

9 10 11 12 0 8 6 3 0 0 7 4

9 10

9 10

9 10 11 12 7 5 0 3 8 6 0 4

9 10 11 12 0 8 5 0

9 10

9 10 11 12 7 5 0 8 6

9 10

9 10 11 12 0 8

0 11 12 9 10 8 6

10 11 12 7 5 8 6

9 10 11 12 7 8 5

9 10

9 10 11 12 0

0 11 12 9 10 8

9 10 11 12 7 8

9 10 11 12 6 7

9 10 11 12 6 7

0 11 12 0

0 11 12 9 10

9 10 11 12

9 10 11 12

9 10 11 12

0 11 12

0 11 12

9 10 11 12

0 vo

9 10 11 12

9 10

0 vo 11 12

En gris : les codes hebdomadaires de congs. Les chiffres 1 12 reprsentent des codes hebdomadaires. Vo est le code volant

- 126 -

Le droulement des cycles CH12

tel-00004380, version 1 - 29 Jan 2004

Ce cycle peut aussi se drouler sur 15 ressources, donc avec au plus trois ressources en congs simultanment. Cela offre plus de marge ou de semaines volantes.

- 127 -

Les modles multiples niveaux

LES MODELES A MULTIPLES NIVEAUX DAGREGATION

Rsum : La lgislation du temps de travail applique en France depuis janvier 2002 dans toutes les entreprises impose des dures maximales de travail et dures minimales de repos au niveau de la journe, la semaine, le mois et lanne. Cela rend trs complexe la planification des horaires des salaris. Aprs une initiation la lgislation actuelle et la prsentation des diff rents modles de base, ce chapitre prsente le modle multiples niveaux dagrgation dnots MMN, dans le cas des qualifications multiples. Disposant des variables et les contraintes chaque niveau, le systme permet de faire des dductions inter-niveaux pour obtenir les plannings lgaux tous les niveaux. Nous donnons les conditions ncessaires pour guider la recherche de solutions ainsi que les rgles de recherche locale pour rsoudre des conflits de ressources.

tel-00004380, version 1 - 29 Jan 2004

5.1 LA LEGISLATION EN MATIERE DE DUREES DE TRAVAIL ET REPOS


Tableau 5.57. Variables et contraintes aux diffrents niveaux Modle Journalier Modle Mensuel Modle Annuel
Variables X(employ, intervalle)= V(employ, jour) = vacation Y(employ, qualification, qualification ou repos, affect affecte lemploy par jour, semaine) = nombre dheures lemploy un intervalle ex. matin, nuit, repos travailles par lemploy pendant la semaine sur cette qualification Priode 10 15 minutes 1 jour 1 semaine Horizon 1 2 jours 28 42 jours 14 16 mois

Contraintes sur la dure du travail


4 10 heures par jour 12 heures pour les nuits 20 39 Heures par semaine, 8 20 jours de travail par mois, 35H par cycle de N semaines Max. 1600 H / an ou en moyenne 35 H / sem. sur 1 an. Max. 38 H / sem. an moyenne sur 12 semaines

Contraintes sur la dure du repos


Pause longue Pause courte Repas (45 60 minutes), aprs 3 6 H de travail Pause (10 15 minutes), aprs max. 2 heures 2 jours conscutifs de repos, Congs annuels aprs 3 6 jours de travail semaines) 1 jour de repos, aprs plus Semaine de repos de 2 jours de travail (2 ou 3

Dfinition: Une tiquette est un ensemble dheures de travail, dfinie lors de lorganisation du travail de ltablissement. Les tiquettes sont disjointes. Par exemple : Matin : 8H 16H Soir :16H minuit Nuit : minuit 8H Ltiquette est la variable au niveau mensuel, dcrite au paragraphe suivant. Elle tient compte du repos minimal entre deux vacations. Elle peut tre un jour de repos, ce qui veut dire que le solveur journalier pour ce jour nest pas ncessaire.

- 128 -

Les modles multiples niveaux

5.2 LES MODELES DE BASE


Nous prciserons dans ce paragraphe, les diffrents modles de base qui vont intervenir dans les modles multi-niveaux.
Besoin en personnesintervalle

1 intervalle

temps

Figure 5.58. Gnralits sur les modles tel-00004380, version 1 - 29 Jan 2004 Les diffrents modles sont dfinis en fonction des intervalles de taille diffrente. Afin de pas confondre les indices de variables dans le MMN, nous utiliserons le terme intervalle pour lhorizon journalier, le terme jour pour lhorizon mensuel et le terme semaine pour lhorizon annuel. Il ne sagit pas pour le lgislateur de limiter les activits des entreprises avec la loi sur les 35h, mais de dfinir un cadre lgal qui permet de moduler le travail des salaris en fonction des activits fluctuantes des entreprises.
Niveau constant des embauches

Volume dactivit

Figure 5.59. Annualisation

Axe des temps

En parallle avec la mise en place des 35 heures moyennes hebdomadaires, la lgislation franaise autorise la modulation du temps de travail. Les accords de rduction du temps de travail ne se rsument pas seulement la restriction 35 heures de travail par semaine, ce chiffre tant une moyenne hebdomadaire sur lanne. Ainsi, afin dabsorber des fluctuations de charges en fonction de la saison, lemployeur va pouvoir dfinir des horaires variables par semaine et les adapter aux fluctuations de lactivit sur lanne. Cette prvision permet davoir un niveau constant de personnel et dviter des

- 129 -

Les modles multiples niveaux embauches prcaires (contrats dures dtermines ou intrimaires) qui cotent cher lentreprise en termes de formation et cot horaire. En absence de planning prvisionnel la fin de lanne, dune part des individus ayant des comptences rares peuvent atteindre facilement leur limite de temps travaill annuel, ce qui exige le paiement de bonus. Dautre part, des individus nayant pas assez travaill seront pays en totalit, do une perte sche pour lentreprise.

5.2.1 Le modle journalier


La variable de dcision ce niveau est laffectation dun employ pendant lintervalle i travailler sur la comptence s ou au repos. La taille de lintervalle est typiquement le quart dheure. La contrainte de charge journalire W J par qualification et par intervalle est respecte lorsque : X (e, i) Qualifications {Repos} (30)

i Intervalles, q Qualifications, W J (i, q) |{ X(e, i) = q, e Employs }| (31) tel-00004380, version 1 - 29 Jan 2004 O Intervalles, Employs, Qualifications sont des ensembles dobjets donns, |S| dnote la cardinalit de lensemble S.
WJ
(i, q) = nombre demploy par intervalle V (e, j ) = vacation/tiquette

Modle journalier

X(e, i) affectation de comptence ou repos Pause Repas (e) Pause courte (e)

Dure de travail max. 10H / jour et max. 6H avant une pause Pause de dure minimale 30 minutes Qualifications Prfrences individuelles sur les pauses et horaires(db./fin) Disponibilits ponctuelles

Figure 5.60. Le modle journalier Les besoins par intervalle et par qualification en nombre demploys W J sont des donnes dentre obtenue par des calculs statistiques vus au chapitre 2. Si la vacation ou ltiquette des employs est connue, le solveur journalier redfinira les horaires exacts de lemploy pour chaque jour afin de couvrir les besoins horaires par comptence ce jour l. Il prendra galement en compte la dure maximale de travail, les prfrences individuelles sur les horaires et les repas. Le solveur vrifiera aussi les dures de travail hebdomadaires ou la moyenne des heures hebdomadaires sur 12 semaines. Pour passer au niveau dagrgation suprieur, on agrge les besoins journaliers. Soit : La dfinition horaire des vacations, sous la forme de A(v, i) une matrice boolenne qui valent 1 si la vacation v couvre lintervalle i, 0 sinon. Pour le modle journalier, la place des vacations relles, on utilise en entre les tiquettes qui ne se chevauchent pas. Le modle journalier pourra modifier les heures des tiquettes des employs spcifiques pour absorber la charge journalire. La dure constante dun intervalle i = DJ en heures.

- 130 -

Les modles multiples niveaux Le nombre dheures par employ quivalent temps-plein ETP = HETP.

Alors le besoin en qualification par vacation W JM (v, q) en ETP est donn par :
nb _ int ervalles J

v Vacations, q Qualifications, WJM (v,q) =

W (i,q)A(v,i ) D
i =1

H ETP

(32)

Si la charge journalire est la mme tous les jours, v, q, W JM (v, q) = W M (j, v, q), le besoins au niveau mensuel. Sinon, il faut faire le calcul dagrgation par vacation pour chaque jour j, en prenant les besoins correspondants par intervalle.

5.2.2 Le modle mensuel


Au niveau mensuel, les variables prennent leur valeur dans lensemble des vacations. Les besoins mensuels W M (j, v, q) sont exprims en termes de nombre demploys par vacation v et par qualification q, pour le jour j. Les employs sont affects aux vacations en fonction de leurs disponibilits et qualifications. tel-00004380, version 1 - 29 Jan 2004 V (e, j) Vacations j Jours, q Qualifications, W M (j, v, q) |{ V(e, j) = v, e Employs et Qualifi (e, q) }| W M (j, v, q) Y (e, q, s) Repos(e, s) Formation(e, j) Disponible(e, j) (33) (34)

Modle mensuel

V (e, j) = Vacation ou Repos

Dure de travail hebdomadaire max. 48H, max. 6 jours / semaine Dure de repos entre 2 vacations: min. 11H, min. 24H +11H si week-end inclus Qualifications et Prfrences pour jour de repos et week-end Type de vacations: tt/tard, court/long, avec/sans coupure Repos Hebdomadaire non-isol, week-end entier (Sam+Dim) Indisponibilits ponctuelles, Nb. min de jours travaills successifs

Figure 5.61. Le modle mensuel A ce niveau dagrgation, lquit des affectations sur un horizon assez large (de lordre de trois mois) doit tre prise en compte (ex. le nombre de nuits ou travail de week-end). A partir des besoins W M (j, v, q), on obtient les besoins W A (s, q) en sommant les vacations des jours dans la semaine concerne.

5.2.3 Le modle annuel


Au niveau annuel, la variable est le nombre dheures travailles de lemploy e, la semaine s et la comptence q. Les employs sont affects afin de satisfaire des besoins annuels W A donns par semaine et par qualification.

- 131 -

Les modles multiples niveaux Y (e, q, s) N s Semaines, q Qualifications, W A (s, q) (35)

e Employs Y (e, q, s)

(36)

La variable Y est souvent utilise dans les modles de management dans le secteur de la distribution. W A (s, q) en Heures Limite Travail hebdomadaire (e, s) en heures
Y (e, q, s) nombre dheures travaills par semaine par qualif.

Modle Annuel

Dure de travail max. 43H / sem. sur 12 sem. Dure de travail max. 1600H ou 217 jours par an Qualifications & prfrences en sem. Jours de repos

Figure 5.62. Le modle annuel

tel-00004380, version 1 - 29 Jan 2004

5.2.4 Des variantes


Au niveau annuel, la lgislation franaise stipule un maximum de 1600 heures de travail cumules, ou un forfait de 217 jours (7,37 H par jour ou 36,68 H par semaine) pour la catgorie dencadrement du personnel. Nous traiterons sparment cette catgorie car le modle journalier ne pourra pas sappliquer. Dans certaines industries, la modulation annuelle se dfinit par la spcification du nombre des semaines 30h, 35,5h ou 40 h. Dans notre modle annuel, cela se traduit par une restriction du domaine des variables Y qui ne peuvent plus prendre une valeur entire quelconque entre les bornes. Cette discrtisation exigerait une recherche dans lespace des solutions qui peut devenir combinatoire.

- 132 -

Les modles multiples niveaux

5.3 LE MODELE A MULTIPLES NIVEAUX 5.3.1 Le schma gnral fonctionnel


Afin de produire des plannings lgaux, nous proposons dutiliser trois niveaux dans un solveur multiples niveaux. Le cadre du CSP fournit la colle entre les solveurs individuels. Les dcisions prises un niveau peuvent avoir des consquences qui se propagent sur dautres niveaux. Une contrainte peut tre ralise au sein des mthodes de mise jour dans les langages de programmation orients objet.

Solveur Jour1

X(e, i) = qualification

pour chaque jour du mois

tel-00004380, version 1 - 29 Jan 2004

Solveur Mois 1 Solveur Mois M Solveur Mois 12

V(e, j) = Etiquette

12 mois de lanne

Solveur Annuel

Y(e, q, s) en nb. dheures

Figure 5.63. Produire un planning mensuel Comme le montre la Figure 5.63, pour produire un planning mensuel utilisant des contraintes au niveau journalier, mensuel et annuel, sont ncessaires 31 modles journaliers, 12 modles mensuels et 1 modle annuel. Les rsultats dun niveaux N servent de contrle au niveau N-1 et dentre au niveau N+1. Cette figure ne donne quune indication sur la dmarche suivre pour rsoudre le MMN. Effectivement, on peut dmarrer avec le solveur annuel, proposer les affectations mensuelles puis gnrer les horaires.

5.3.2 La propagation inter - niveaux


Exemple : Considrons un vendeur fast-food dont Qualifications = { Caisse, Livraison, Cuisine, Comptabilit}. Les cinq premiers employs e1, , e5 sont capables de toutes les Qualifications sauf Comptabilit. Supposons que lemploy e5 est affect au travail en Cuisine pendant lintervalle i : X(e5, i) = Cuisine (37) Au niveau mensuel, lensemble des vacations possibles pour ce jour est immdiatement restreint aux vacations qui contiennent l intervalle i. V (e5, j) = { v Vacations | A p v = 1} (38)

- 133 -

Les modles multiples niveaux Il peut y avoir des dductions secondaires si les jours successifs travaills atteignent la limite de travail pour la semaine. Il y aura des dductions au niveau annuel si le total des affectations travailles de la semaine dpasse 38 heures, cf. la contrainte applique sur un horizon glissant de 12 semaines. Inversement, lorsque lensemble des vacations possibles pour un jour j et pour lemploy e est modifi, on peut dduire que les priodes non-travailles communes aux vacations possibles restantes doivent tre affectes au repos. v V(e, j), soit P = {p | p Priodes, A p v = 0 }, alors X(e, p) = Repos, p P (39) Effectivement, au cours des priodes P, si toutes les vacations possibles pour lemploy pour ce jour (au modle mensuel) ne demandent travailler, alors lemploy est au repos dans le modle journalier. Les dcisions de haut niveau dagrgation (mensuel ou annuel) peuvent avoir un grand nombre de consquences ou dcisions aux niveaux infrieurs (tels quhebdomadaire ou journalier). tel-00004380, version 1 - 29 Jan 2004 Dautres exemples de propagation inter niveaux sont : o Aprs avoir travaill 35 heures sur plusieurs jours (conscutifs ou non) et si aucune des vacations compatibles de lemploy na une dure de 4 heures (3935), alors le reste de la semaine doit tre affect au repos. Sinon, la limite de 39 Heures par semaine ne peut pas tre respecte. o Lorsque la vacation standard du jour d a t dfinie, la contrainte de 6 jours conscutifs travaills peut tre utilise pour dduire que les jours prcdents ou successifs doivent tre au repos.. o Lorsque la vacation de lemploy e est affecte au repos, toutes les variables priodes de la journe X peuvent tre affectes au repos. o Le nombre de semaines conscutives plus de 38 heures travailles ne doit pas dpasser le seuil lgal. Dans le cas o une semaine risque de durer plus de 38H et fait dpasser le nombre de semaines conscutives, lensemble de vacations des jours restants de la semaine peut tre restreint celles ayant un petit nombre dheures de travail.

5.3.3 Rsolution du MMN


Du point de vue de la rsolution, le MMN est constitu de plusieurs MSN, avec ses propres variables, domaines et contraintes. Il y a des contraintes supplmentaires qui lient les variables des diffrents MSN, comme lindiquent les exemples de la propagation inter-niveaux du paragraphe prcdent. Algorithme de recherche Nous proposons une mthode de recherche pour rsoudre le MMN, en construisant itrativement la solution. On peut exploiter les structures et possibilits offertes par la navigation travers les diffrents modles. La slection de variables requiert plus dattention car les variables sont de niveau dagrgation diffrente. Les variables aux

- 134 -

Les modles multiples niveaux niveaux suprieurs sont prioritaires parce quelles correspondent un grand nombre de variables aux niveaux infrieurs. Lalgorithme le plus simple pour rsoudre le MMN serait un seul mcanisme de retour arrire systmatique, semblable la Programmation en Logique avec la satisfaction des contraintes. Le cadre thorique dun tel systme a t dcrit dans [Hen89]. Le solveur appliquerait le fail-first principle20 successivement travers les diffrents niveaux. Le solveur annuel pourrait choisir la semaine la plus contraignante, par exemple celle o les besoins sont trs levs par rapport aux disponibilits. Une affectation dheures hebdomadaires pour un employ la comptence la plus rare pourra dclencher le solveur mensuel, qui son tour, choisira le jour le plus contraint et en dduira des vacations. Finalement le solveur journalier du jour pourra choisir la priode la plus contrainte. Le solveur journalier pourrait poursuivre et instancier les priodes voisines de lemploy dj prsent aux comptences avec les plus grands besoins. Lensemble des vacations du jour serait progressivement rduit et enfin la variable V(employ, jour) pourrait sinstancier. A son tour, cela pourra dclencher dautres contraintes au niveau mensuel sur les jours voisins. tel-00004380, version 1 - 29 Jan 2004 Une autre approche consiste utiliser un algorithme de retour arrire pour chaque solveur, dans son propre processus, voire excuter sur des processus ou des machines indpendantes. Cela est en dehors du cadre de notre tude dun progiciel de planification. Heuristiques Lespace de recherche du MMN est de taille astronomique puisque lhorizon de planification est trs large. Afin de produire des bons plannings, le MMN peut tenir compte des prfrences de lemployeur ou de lemploy qui ne pourraient pas tenir dans lhorizon limit du MSN. Une prfrence de lemployeur est typiquement de produire des plannings qui sont quilibrs par rapport aux affectations non-populaires, telles que les affectations de jour fri , les affectations tt le matin suivant un jour de repos (tel que le weekend, le jour fri ou le cong annuel) ou les affectations tard le soir prcdent un jour de repos . Bien sur, ces prfrences doivent cder si une contrainte lgale nest pas respecte sur une autre partie du planning partiel. Une autre prfrence du management serait dencourager des relations entre tuteurtudiant (en les faisant travailler ensemble sur certaines tches) ou davoir un personnel expriment certaines priodes de la journe. En fait, le grand horizon du modle annuel permettra au MMN de modliser des phnomnes qui changent lentement, tels que les besoins lis aux saisons et les non disponibilits lies au changement de postes. Les prfrences de lemploy au niveau journalier incluent : o Employs mi-temps qui prfrent travailler le soir, dautres le matin
20

Principe de lchec pralable .Voir le glossaire et la rfrence [HE80]

- 135 -

Les modles multiples niveaux o Employs qui prfrent des journes longues (et moins de jours par semaine) ; dautres prfrent des journes courtes pour des activits annexes, ex. sportives o Employs qui prfrent travailler de faon continue, dautres prfrent des pauses longues o Employs qui prfrent des heures fixes tous les jours. De mme on peut considrer des prfrences portant sur la pause o Heures souples ou fixes o Dure de pause dune demi-heure, dune ou deux heures Aux niveaux hebdomadaire et mensuel, les prfrences individuelles peuvent tre exprimes pour du travail ou du repos sur diffrents jours de la semaine. Au niveau annuel, on pourra exprimer des prfrences pour des semaines de repos. Puisque le MMN peut modeler un horizon trs grand, il peut tenir compte de beaucoup de contraintes ou prfrences de diffrents types. tel-00004380, version 1 - 29 Jan 2004 Lorsque lhorizon du planning est suffisamment long, on peut sappuyer sur lhistorique afin dassurer lquit entre personnes au niveau des horaires dsagrables telles que : o Les affectations en jour fri, week-end ou suivant des priodes (vacances scolaires, etc.) o Les affectations tt le matin le lendemain dun jour dabsence (par exemple jour fri, week-end ou cong) o Les affectations tard le soir la veille dune absence o Une semaine haute prcdent une semaine dabsence par exemple cong annuel Algorithme de recherche locale Afin dviter une recherche systmatique trop coteuse en temps machine, nous adapterons lalgorithme une recherche locale. Disposant toujours dun tat constitu de lensemble des variables de dcision, lalgorithme simule le retour arrire en cas de conflit de ressources. En fonction du conflit courant, lalgorithme excute une srie doprations daffectations dfaire et faire. Chaque srie doprations, formalise en rgle, est applicable sous des conditions diffrentes. Les rgles sont souvent sujettes des choix : une mthode gloutonne sera applique, en attendant des raffinements ultrieurs. Plusieurs rgles seront expliques au paragraphe 5.5.

- 136 -

Les modles multiples niveaux

5.3.4 Comparaison du MSN et MMN


Instanciation partielle des modles La Figure 5.63 illustre les diffrents modles instancier dans une instance typique du problme rsoudre. Afin de prendre en compte les affectations passes, lhorizon annuel doit couvrir le pass, mais doit couvrir lanne en cours, afin de ne pas dpasser les heures annuelles. En consquence, il est ncessaire de couvrir 16 18 mois de planning. Cependant, il nest pas ncessaire dinstancier tous les modles et pour toutes les priodes de 15 minutes. Nous proposons linstanciation partielle des modles, i.e. instancier le bon niveau de dtails. Dans un systme de planification avec un horizon du mois 15 minutes prs, lespace de recherche est norme. Avec les structures offertes par le MMN, il est possible dexprimer les prfrences des employs. Dans le MSN offrant le mme horizon avec le mme degr de dtails, il ny a pas assez de structures pour exprimer les prfrences. En consquence, les heuristiques bases sur le MMN peuvent prendre ces expressions en compte, les utiliser pour guider la recherche dans des espaces prfrables. Quand une prfrence entrane une consquence sanctionne par une contrainte, la prfrence doit tre ignore. Considrons lordonnancement dun tablissement sur 1 mois, avec des contraintes aux niveaux journaliers, hebdomadaires, mensuels et annuels. Dans un MSN monolithique, il faut 365 jours * 144 = 52560 priodes de 10 minutes. Chaque priode correspondrait une variable par employ. Avec 4 valeurs (reprsentant des qualifications ou du repos) possibles par variable, la complexit thorique est 4 52560 ~ 10 31500. Avec le MMN, on aura cr un modle annuel, 12 modles mensuels et 31 modles journaliers pour couvrir un mois de planning. Chaque modle journalier contient 144 variables par priode de 10 minutes. On dcompte 31*144 = 4464 variables journalires chacune avec 4 valeurs qui reprsentent des qualifications ou du repos. Les 12 modles mensuels possdent 12*31 = 372 variables avec par exemple 5 valeurs reprsentant des vacations travailles ou non. Les 52 variables du modle annuel ont des valeurs 4464 * 5 372 * 52 49 ~ 10 entires, entre 0 et 48. La complexit thorique du MMN est de 4 2687 260 84. 3031 * 10 *10 , soit au total 10 , do un gain en complexit thorique de 10 28469 pour chaque employ. Lapproche opportuniste Les contraintes des modles multiples niveaux ont essentiellement un comportement non-squentiel ; leurs consquences changent de niveau de faon opportuniste. Cela permet une rsolution en collaboration entre plusieurs processus. Les dductions faites aux niveaux suprieurs (annuel ou mensuel) peuvent se traduire par un grand nombre de dductions aux niveaux infrieurs (hebdomadaire ou journalier). Le MMN peut aussi bnficier des mthodes courantes traitant deux niveaux ( cf. [Par98]) o une solution journalire peut tre rutilise pour traiter un autre jour avec des besoins similaires. Cela est applicable lorsque chaque jour peut tre considr comme un sous-problme indpendant.

tel-00004380, version 1 - 29 Jan 2004

- 137 -

Les modles multiples niveaux

5.4 CONDITIONS NECESSAIRES EN MULTIPLES QUALIFICATIONS


Le trait commun des modles aux niveaux simples prsents au paragraphe 5.2 est la multiple qualification des salaris. Nous prsentons dans ce paragraphe des conditions redondantes qui peuvent dtecter linconsistance dans un planning partiel, bases sur la lgislation sur les dures de travail et du repos. Ces conditions sont inspires des travaux de dimensionnement (voir 2.9.4). Intuitivement, ces conditions sont des sommes en colonne du planning sur lensemble des employs, pour un intervalle spcifique. Des conditions ncessaires peuvent tre obtenues avec des sommes en ligne sur lensemble des intervalles pour un employ donn. Par rapport aux travaux de [CGL95] o nous faisons une analogie entre le code horaire et la qualification, les contraintes suivantes sont absentes de notre problmatique : tel-00004380, version 1 - 29 Jan 2004 Par jour j, le nombre de salaris affects au code horaire V a une borne suprieure, alors que nous ne connaissons que la borne infrieure donne par la charge couvrir Par code horaire V, le total des affectations par salari doit tre compris entre des bornes. Dans notre problme, nous navons que le nombre dheures travailles.

Ainsi, notre problme est moins contraignant et les conditions proposes ci-aprs sont moins fortes que celles de [CGL95]. Elles peuvent tre appliques chaque niveau (journalier, mensuel et annuel), mais nous le dtaillerons uniquement pour le niveau journalier. Par commodit, on utilisera les variables en PLNE : X(e, i, q) = 1 si lemploy e est affect la qualification q au cours de lintervalle i (40) Mais ces conditions peuvent tre implantes en PPC ou en PLNE. Nos hypothses de travail sont : Une personne possde une ou plusieurs qualifications q. Elle ne peut travailler sur la qualification q que si elle est qualifie. Il ny a aucun dlai notable lorsquune personne change daffectation et travaille sur une autre qualification.

5.4.1 Conditions ncessaires par intervalle


Une premire condition ncessaire pour tout intervalle i, est que la somme des disponibilits de tous les salaris soit suprieure ou gale au besoin total sur toutes les qualifications. Elle est inspire du problme o il nexiste quune seule qualification. i Intervalle | q Qualifications W (i, q) q Qualifications e Employs X(e, i, q) (41) Dans le contexte de multiples qualifications, il ny a pas de transfert entre deux qualifications distinctes. Ainsi pour tout intervalle i et pour chaque qualification q, on peut retrouver la mme condition ncessaire : la somme des disponibilits des salaris qui ont au moins cette qualification doit tre suprieure ou gale au besoin W en cette qualification.

- 138 -

Les modles multiples niveaux q Qualifications, i Intervalle | W (i, q)

e Employs(q) X(e, i, q) )

(42)

Ici, on ne considre que lensemble des employs qualifies en q. Cette condition dcoule de la possibilit que tous ces salaris soient affects cette qualification. Bien entendu, elle nest pas suffisante car un salari multi-qualifi peut tre affect dautres qualifications.

5.4.2 Conditions ncessaires supplmentaires par intervalle


Elucidons le cas de deux comptences q1 et q2. Les conditions sont pour lensemble des qualifications et pour chaque qualification : i Intervalle | W (i, q1) + W (i, q2) i Intervalle | W (i, q1) i Intervalle | W (i, q2) tel-00004380, version 1 - 29 Jan 2004

e Employs X(e, i, q1) + X(e, i, q2) e Employs X(e, i, q1) e Employs X(e, i, q2)
6 q1 q2 repas 1 1 7 q1 q2 1 1 8 q1 repas q2 1 1 9 q1 q2 1 1 10 q1 q2 1 1 11 q1 1 12 q1 1

(43) (44) (45)

Prenons un petit exemple numrique avec trois employs et deux qualifications :


e1 (q1) e2 (q1, q2) e3 (q2) W(q1) W(q2) 1 q1 2 q1 3 q1 q2 1 1 4 q1 q2 1 1 5 repas q1 q2 1 1

Figure 5.64. Exemple dun planning avec 3 employs et 2 qualifications Les conditions prcdentes sont satisfaites pour tout intervalle i et toute qualification qi. Nous proposons une expression permettant de gnraliser ces conditions i Intervalle, Q sous-ensemble de lensemble des Qualifications, | q Q W (i, q) q Q e Employs X(e, i, q) ) (46)

Effectivement pour 2 qualifications, on a Q = { { q1 }, { q2 }, { q1, q2 } }, donc cette quation remplace les trois quations prcdentes pour { q1 }, { q2 } et { q1, q2 }.

5.4.3 Conditions ncessaires dues au repos


Des conditions semblables sappliquent aussi une suite dintervalles conscutifs sur les lignes du planning. Par exemple, la disponibilit totale de tous les employs est suprieure ou gale la somme des besoins de toutes les qualifications sur tout lhorizon, en sommant lquation 42 :

i Intervalle q Qualifications W (i, q) i Intervalle q Qualifications e Employs X(e, i, q)

(47)

Or, tout employ e ne travaille pas tout le temps : il y a des pauses et des repos chaque niveau. Pour un horizon mensuel, Heures Totales vaux 45 h pour un employ en plein temps ou 22,5 h pour un employ mi-temps. Si lhorizon est suprieur la journe, il y a une telle contrainte pour chaque suite dintervalles gale la journe.

- 139 -

Les modles multiples niveaux e Employs | i Intervalle q Qualifications(e) X(e, i, q) Heures Totales (e)

(48)

Au niveau journalier, la contrainte des heures conscutives maximales soit HCM, peut tre formule comme une contrainte somme sur (HCM+1) intervalles conscutifs. 1 2 3 4 5 6 7 8 9 10 11 12

Figure 5.65. Condition de repos applicable sur 7 priodes (avec N=12 et HCM=6) Sur un horizon contenant N intervalles, il faut considrer toute suite de (HCM+1) intervalles conscutifs, comme le montre la figure ci-dessus. Au total, le nombre de telles suites est = N (HCM+1) + 1 = N HCM. Pour chacune de ces suites, on peut appliquer (48), comme le montre lquation suivante : tel-00004380, version 1 - 29 Jan 2004 Soit j lindex de chaque ligne de la figure prcdente reprsentant une suite dintervalles qui commence i=j et termine en i= j + HCM. Attention, la base des indices est 1. e Employs j = 1, , N-HCM | i = j ,, j+HCM q Qualifications X(e, i, q) HCM (49)

On peut conjuguer cette limitation avec les besoins (48) pour obtenir une condition encore plus contraignante : Partant de (48) valable pour chaque intervalle, on somme sur les intervalles partition Q de lensemble des Qualifications, j = 1,, N-HCM | i = j ,, j+HCM q Q W (i, q) i = j ,, j+HCM q Q e Employs X(e, i, q) (50)

En inversant les sommes et nombre demploys (q) tant le nombre demploys avec la qualification q.

i = j ,, j+HCM q Q W (i, q) q Q HCM i = j ,, j+HCM q Q W (i, q) HCM * Nombre demploys (q)


5.4.4 Application des conditions

(51)

Ces conditions sont vrifiables pour chaque i o il y a une modification de domaine des variables X de lintervalle i. La mise zro (ou repos) pour lemploy un intervalle i, intervenant lorsque e a atteint ses heures lgales est un signal fort, il faudrait vrifier la condition (48) pour lensemble des qualifications q de lemploy. Le nombre total de tests est potentiellement trs grand. Pour rduire les calculs, il faudra stocker les besoins par intervalle suivant toute partition des qualifications.

- 140 -

Les modles multiples niveaux

5.5 METHODES HEURISTIQUES A UN NIVEAU


Nous prsentons ici nos travaux utilisant une mthode heuristique applique un niveau. Lobjectif de cette mthode est de rsoudre un besoin indirectement, lorsquil ny a pas de candidat avec la qualification requise et satisfaisant les contraintes applicables. Le principe est de faire une suite dchange daffectations localement afin de dgager une ressource qualifie. Il sagit dune sorte de retour arrire non-chronologique, dirig par les besoins et les contraintes du problme. Cette mthode est lie trs fortement aux contraintes satisfaire. Lalgorithme gnral de cette mthode est le suivant : tel-00004380, version 1 - 29 Jan 2004 Choisir le besoin critique traiter : Les meilleures heuristiques seront utilises pour traiter le problme dans un ordre entranant le moindre chec possible. Rsoudre les manques et traiter les ventuels problmes Rpter jusqu lpuisement les besoins satisfaire.

Bien entendu, ces mthodes heuristiques font labstraction des propagations intra et inter niveaux.

5.5.1 Le modle annuel


Nous allons dtailler chaque tape de calculs dans la suite, pour le cas du niveau annuel o lintervalle est la semaine. Au cours de cet intervalle, on affecte un employ un nombre dheures chacune des qualifications quil possde. Nous avons dcid de traiter une semaine complte la fois avant de passer la suivante, afin de simplifier le traitement des contraintes de charge par semaine. 1. Dterminer la semaine critique 2. Attribuer les heures minimales chaque employ 3. Rsoudre les manques par comptence 4. Traiter les problmes ventuels 5. Rpter 1. jusqu rsoudre tout le problme. Au niveau annuel, la contrainte Semaine Conscutive Haute relve de la rglementation : sur tout intervalle de 12 semaines, la moyenne hebdomadaire ne doit pas dpasser un seuil, p. ex. 38 Heures. Etape 1. Dterminer la semaine critique Il est certain que lordre de traitement des semaines jouera un rle primordial dans la performance de lalgorithme. Il faut traiter en premier les semaines dites critiques o la marge de manuvre est la moindre : elles sestiment par rapport une diffrence entre la disponibilit du personnel et les besoins. Calculer le besoin global de la semaine, sur toutes les comptences.

- 141 -

Les modles multiples niveaux Calculer la disponibilit du personnel. Or il y a deux faons de la calculer : La disponibilit minimale est la somme des bornes infrieures de disponibilit des salaris. La disponibilit maximale est la somme des bornes suprieures de disponibilit des salaris. Distances : Diffrence entre le besoin global et disponibilit minimale ou maximale
nb _ agents

Distance1 =

e =1

Bsup(e,s)

nb _ qualifications c =1

Besoins(s,q)
nb _ agents inf

(52)

Distance2 =

nb _ qualifications c =1

Besoins(s,q) +

B
e =1

(e,s)

(53)

Aprs essais nous avons finalement opt pour une distance compose des deux premires : tel-00004380, version 1 - 29 Jan 2004
nb _ agents

Distance3 =

e =1

Bsup(e,s) +

nb _ agents e =1

Binf (e,s) 2

nb _ qualifications c =1

Besoins(s,q)
Disponibilit maximale

(54)

Disponibilit minimale

Besoin

Distance1 Distance2 Distance3 Distance2

Figure 5.66. Distances pour valuer les semaines dans le modle annuel On slectionne comme semaine critique celle pour laquelle la distance est minimale. Bien entendu, on peut toujours se tromper dans lordre de traitement des semaines. Etape 2. Attribuer les heures minimales chaque employ La rsolution dune semaine commence par lattribution pour chaque employ du nombre minimal des heures quil doit raliser pour cette semaine. Une fois de plus on traite les employs suivant un ordre de priorit. On prend dabord lordre croissant du nombre des comptences ; en cas dgalit, on prend celui pour qui la valeur No. d'heures annuelles - No. d'heures affectes - Min. Heures Effectuables est maximum. Un employ est dit effectuable sil na pas encore atteint sa borne suprieure pour la semaine, si ses heures annuelles permettent de satisfaire les bornes infrieures des

- 142 -

Les modles multiples niveaux semaines non encore traites, et sil ne transgresse pas la contrainte Semaines Haute Conscutives. A un employ mono-comptent, on affecte le seuil minimum dheures effectuer dun seul trait. Pour un employ multiples comptences, il faut choisir la comptence prioritaire suivant la diffrence entre le besoin et la disponibilit par comptence. Comme on ne sait pas a priori, quelle comptence affecter ces heures minimales, on affecte une heure la fois jusqu lpuisement des heures minimales de lagent, la comptence prioritaire agent, dfinit comme suit : La comptence prioritaire pour une semaine et pour un employ est celle pour laquelle la valeur Besoin Restant / Nb. Agents Comptents est maximale. En cas dgalit, on prend la comptence dont la diffrence Disponibilit Restante Besoin Restant est minimale. Ces critres ont t tests et donnent des bons rsultats sur la plupart des jeux. tel-00004380, version 1 - 29 Jan 2004 Etape 3. Rsoudre les manques de comptence Une fois que les heures minimales ont t attribues, on sattaque aux manques des comptences. La rsolution des manques se fait heure par heure, en choisissant la comptence et lemploy concerns. La fonction comptence prioritaire semaine retourne la comptence dont les besoins ne sont pas satisfaits et dont la diffrence Disponibilit Restante Besoin Restant est minimale. Lemploy dispose des heures restantes par rapport au seuil Bsup (e, s). On prend celui dont la valeur No. dHeures annuelles No. dheures affectes Min. Heures Effectuables est maximum. A la fin de cette tape, soit tous les besoins ont t combls (dans ce cas on passe la rsolution de la semaine suivante), soit certaines comptences ont encore des manques car aucun employ nest disponible directement pour les combler. On parle alors du traitement dventuels problmes. Etape 4. Traiter les problmes ventuels Le traitement dventuels problmes dont lorigine peut tre : Il y des employs disponibles en cette semaine qui sont incomptents : le traitement consiste en dplaant des heures afin den dgager suffisamment pour rsoudre le problme Il ny a plus demploys disponibles : il faut faire un retour arrire.

Exemple Besoin de n heures en qualification q en semaine s : Situation 1 : Il reste des employs affectables pour la semaine s, mais aucun ne possde la qualification q. De plus, il existe un employ e1, possdant la qualification q (il nest donc a priori plus affectable) et ayant une affectation une qualification q1, galement possde par un des employs encore affectables, appelons-le e2. Il est alors

- 143 -

Les modles multiples niveaux possible de librer e1, en redonnant certaines de ses heures en q1 e2 et enfin de combler le manque en q en raffectant e1.
Employ Qualification Intervalle i +n heures -n heures Pas de changement +n heures Ajouter n heures Ajouter n heures Pas de changement Intervalle j Total

e1

q q1 Total q1 total q q1

Pas de changement

e2

Ajouter n heures

Total

Pas de changement

Figure 5.67. Rsolution dun besoin en q au niveau annuel dans la situation o e1 qualifi na plus dheures, e2 a encore des heures mais non qualifi et une qualification commune q1 tel-00004380, version 1 - 29 Jan 2004 Etape 1 : on allge e1 de 4 heures pour la qualification q1 et on redonne ces heures e2. Etape 2 : e1 dispose de 4 heures et peut donc combler le manque en q. Remarque : Il sagit bien sr ici dun exemple simple, il est parfois ncessaire de passer par plusieurs employs encore affectables (type e2) ou par plusieurs agents type e1 pour combler un manque. Si ici le manque en q1 avait t de plus de 6 heures, on aurait t limit au niveau de la borne suprieure de e2, il aurait fallu un second agent pouvant encore tre affect. De la mme faon, e1 ne pouvait suffire que pour un manque infrieur 10 heures (= la valeur de son affectation en q2) Situation 2 : Contrairement au cas prcdent, il se peut quaucun des employs encore affectables naient de qualification commune avec un des employs possdant la qualification dficitaire q. Il est alors parfois possible de passer par un 3me employ e3, intermdiaire, ainsi que par une 3me qualification q2.

- 144 -

Les modles multiples niveaux


Employ Qualification Intervalle i +n heures -n heures Pas de changement +n heures Ajouter n heures +n heures -n heures Pas de changement Ajouter n heures Pas de changement Pas de changement Intervalle j Total

e1

q q2 Total q1 Total q1 q2 Total q q1 q2

Pas de changement

e2

Ajouter n heures

e3

Pas de changement

Total

Pas de changement Pas de changement

tel-00004380, version 1 - 29 Jan 2004

Figure 5.68. Rsolution dun besoin q au niveau annuel dans la situation o e1 qualifi na plus dheures, e2 a des heures mais non qualifi en q et sans qualification commune entre e1 et e2 Etape 1 : on allge e3 de n heures pour la comptence q1 et on redonne ces heures e2. Etape 2 : e3 a maintenant n heures disponibles et peut prendre en charge n heures en q2 qui auparavant taient assures par e1. Etape 3 : e1 dispose maintenant de n heures et il peut couvrir le manque en q. Mme remarque que pour la solution 1, il peut y avoir plusieurs employs de type e1, e2 ou e3. Chacun de ces employs peut contribuer une ou plusieurs heures. Situation 3 : Lorsque la permutation dheures entre les employs au cours dune mme semaine ne suffira pas rsorber les manques rencontrs, il faudra trouver des disponibilits sur une autre semaine dj traite. Lemploy e2 dans la situation 2 dispose dheures sur son contrat, mais est dj leur maximum pour la semaine s. Lemploy e1 ne disposait plus dheures sur son contrat. Pour traiter cette situation, nous exposons la mthode heuristique dans le cadre du modle journalier au paragraphe 5.5.3.

5.5.2 Le modle journalier : un exemple de traitement


Au niveau journalier, on peut rencontrer des situations analogues. On rappelle que lintervalle est de lordre des 15-30 minutes sur un horizon dun jour. On affecte un salari au cours dun intervalle, une qualification. Prenons le cas o les besoins en trois qualifications sont dfinis sur 24 intervalles.
Besoins par 0 1 Q=0 : 0, 1, Q=1 : 1, 1, Q=2 : 1, 1, intervalle 0..23 2 3 4 5 6 7 2, 3, 3, 4, 6, 7, 2, 2, 2, 3, 3, 3, 1, 2, 2, 2, 2, 3, 8 7, 3, 3, 9 6, 3, 3, 0 6, 2, 2, 1 3, 2, 2, 2 3, 1, 2, 3 4, 2, 1, 4 4, 1, 2, 5 5, 1, 1, 6 6, 1, 1, 7 6, 2, 1, 8 4, 2, 2, 9 3, 3, 2, 0 1, 3, 3, 1 1, 2, 2, 2 1, 2, 2, 3 1 1 1

- 145 -

Les modles multiples niveaux On dispose de 17 agents, travaillant un nombre maximal dheures indiqu
Salari Salari Salari Salari Salari Salari Salari {0,1,2} {3,4,5,6} {7,8} {9,10,11} {12} {13,14} {15,16} Heures Heures Heures Heures Heures Heures Heures Max Max Max Max Max Max Max 12, 12, 12, 12, 12, 12, 12, Comptence(0) Comptence(1) Comptence(2) Comptence(0, Comptence(1, Comptence(0, Comptence(0,

1) 2) 2) 1, 2)

Pour chaque colonne du tableau suivant, on lit laffectation dun salari une qualification (q=0, q=1 ou q=2). En fin de ligne on totalise le nombre dintervalles travailles (limit 12 correspondant aux maxima ci-dessus) et lamplitude en nombre dintervalles (limit 16 maximum, dans cet exemple).
0 1 2 3 Salari 00: - - - Salari 01: - - - Salari 02: - - - Salari 03: - - - Salari 04: - - - Salari 05: - - 1 1 Salari 06: - - - Salari 07: - - - Salari 08: - - - Salari 09: - - - 0 Salari 10: - - - Salari 11: - - 0 0 Salari 12: - - 3 3 Salari 13: - - - Salari 14: 3 3 - 3 Salari 15: - - - Salari 16: - - - Qualif 0:00010101 Qualif 1:01010101 Qualif 2:00000000 Total Qual:01020202 4 0 1 0 3 3 1 01 00 00 01 5 6 7 8 9 0 1 2 3 4 5 6 7 8 0 0 0 0 0 0 - - 0 0 0 0 0 0 - - - - - 0 0 0 0 0 - - 0 0 0 0 0 0 0 - - - 0 0 0 0 0 0 0 0 - - 0 0 0 - - - - - 1 1 1 1 1 1 1 - 1 - - - 1 1 1 1 - - - - 1 1 1 - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 - - - - - - - - - - - - - - - - - - - - - - - 1 1 1 1 1 - - 3 3 3 3 3 3 - 3 - - - 3 3 3 3 3 3 3 3 3 3 - - - - 3 3 3 3 3 3 3 - - - 0 0 0 0 0 - - 0 0 0 0 0 0 - - - - 0 0 0 0 0 0 0 0 - - - 0 0 - 0 - - - - - 0 0 - 0 0 0 0 0 0 0 0 - - - - - 3 3 3 3 3 3 3 3 3 - - - - - - - - - - - - 0 0 - - - - - - - - 0 0 3 3 3 3 0 0 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0 0 0 1 1 - - - - - - - - - - - - - - - - 00000000000000000000000000000000000000 00000000000000000000000000000000000000 00000000000000000000000000000000000000 00000000000000000000000000000000000000 12 12 12 12 12 12 05 12 12 12 12 12 12 08 07 04 03 04 04 00 00 Ampl=14 Ampl=14 Ampl=14 Ampl=16 Ampl=16 Ampl=12 Ampl=05 Ampl=16 Ampl=16 Ampl=16 Ampl=16 Ampl=16 Ampl=12 Ampl=16 Ampl=08 Ampl=04 Ampl=03

tel-00004380, version 1 - 29 Jan 2004

Figure 5.69. Heuristique dans le modle journalier Lexemple ci-dessus correspond au besoin dun salari avec la qualification q=0 en i=4. Nous prsentons une heuristique simple pour rsoudre ce besoin. On trouve un salari A comptent qui est libre en cet intervalle, et occup lintervalle suivant (ex. 00). Lide est de dcaler son planning dun intervalle : on recherche le dernier intervalle travaill, i=18 dans lexemple. On cherche alors un autre salari B (ex.15) comptent et libre en intervalle i=18. A est affect q=0 en i=04. Pour garder son total en heures travailles, laffectation de A en i=18 est transforme B en i=18. Plus formellement, supposons : X(Intervalle, Employ) la qualification affecte, sinon libre ou repos. La fonction boolenne CEmpl_OK (Employ, Intervalle) retourne vraie sil est possible daffecter cet employ lintervalle. On vrifie sil est comptent et libre cet instant l et si ses heures de travail et lamplitude de travail sont lgales. Amplitude_Last (Employ) donne le dernier intervalle travaill de lemploy, ou -1.

- 146 -

Les modles multiples niveaux Assign (Intervalle, Employ, Qualification) Affecter lemploy cette qualification au cours de cet intervalle, mise jour des compteurs. UnAssign (Intervalle, Employ, Qualification) Dsaffecter, mise jour des compteurs.
Private Function Solve_More(Intv As Val_Interv, Qual As Val_Qualif) As Boolean 'Ne trouve pas dagent lintervalle Intv, avec la qualification Qual, 'et disposant dheures de travail et avec une amplitude acceptable Dim CEmpl As Cls_Empl, CEmp2 As Cls_Empl 'ce sont des objets Dim Empl As Val_Employe 'il sagit de son identifiant Dim Last As Val_Interv 'Dernier intervalle travaill Dim Found As Boolean 'la rgle a fonctionn For Each CEmpl In Glo_Qualif(Qual) Empl = CEmpl.Id If X(Empl, Intv) = Val_Libre And X(Empl, Intv + 1) <> Val_Libre Then 'lagent est disponible Last = Amplitude_Last(Empl) 'Find last hr to reduce Emp1s amplitude For Each CEmp2 In Glo_Qualif(Qual) 'Find Emp2 who is competent and If CEmpl_OK(CEmp2, Last) Then 'Free, within hrs and amplitude Call Assign(Intv, Empl, Qual) Call UnAssign(Last, Empl, Qual) Call Assign(Last, CEmp2.Id, Qual) Found = True Exit For End If Next End If If Found Then Exit For 'Else Try other methods Next Solve_More = Found End Function

tel-00004380, version 1 - 29 Jan 2004

Cet exemple ne montre quune seule rgle pour rsoudre un problme daffectation dune qualification au cours dun intervalle. Pour que le systme soit efficace, il faut disposer dun ensemble consquent de rgles.

5.5.3 Le modle journalier : analyse et mthode


Nous cherchons systmatiser limplantation de la mthode heuristique applique au niveau journalier. Elle est mise en route lorsque nous ne trouvons pas de candidat comptent q, libre au cours de lintervalle i, et dans ses heures de travail et amplitude. Employs libres en intervalle i Parmi les employs libres en intervalle i et comptent en q, nous appelons Employs Indisponibles(i) dont les limites en heures et amplitude sont atteintes. Cest le cas de lexemple du paragraphe prcdent.

Parmi les employs libres en intervalle i et incomptent en q, nous appelons Employs Disponibles(i) avec des heures de travail et suffisant en amplitude.

- 147 -

Les modles multiples niveaux Employs Pleins(i) les employs dont les limites en heures et amplitude sont atteintes.

Plusieurs types dchange sont proposs dans la suite du paragraphe. Premier change : Pour utiliser e1 groupe 1, supposons quil existe un intervalle j diffrent de i, et un employ e2 disponible en j : on affecte X(e2, j, q) = 1, et on fait un change X(e1, i, q) = 1, X(e1, j, q) = 0. Si possible on prend j de telle sorte que lamplitude de e1 soit rduite : j est soit le dernier intervalle travaill soit un intervalle de repos supplmentaire de e1. Les autres possibilits sont : le premier intervalle travaill dune personne, le dernier intervalle, avant une pause dun intervalle, aprs une pause dun intervalle, etc. Dans ces situations, on pourrait librer cette personne pour rsoudre le problme initial. Cette rgle de rsolution recherche des disponibilits dans le temps. Lavantage est quelle nexige pas de personnel multiples qualifications. tel-00004380, version 1 - 29 Jan 2004
Employ Qualification Intervalle i +n heures Ajouter n heures Pas disponible Intervalle j -n heures Supprimer n heures +n heures Ajouter n heures Pas de Changement Total

e1 e2 Total

q Total q total q

Pas de Changement

Ajouter n heures

Ajouter n heures

Figure 5.70. Rgle de rsolution dans le temps Problme : Besoin daffectation dun employ lintervalle i en qualification q Existant : Lemploy e1 a atteint ses limites heures et amplitude Primitif : Rechercher un employ e2 comptent en q dispose de n heures et libre en intervalle j. Action : X(e1, i, q) = 1 ; X(e1, j, q) = 0 donc pas de modification en heures pour e1. X(e2, j, q) = 1, donc ajout de n heures pour e2

Second change : Pour utiliser e1 groupe 2, supposons quil existe une personne e2 dj affecte qui possde la comptence q et une comptence q1 parmi les comptences de e1. Alors on affecte X(e1, i, q1) = 1 et on change X(e2, i, q1) = 0, X(e2, i, q) = 1. Cette rgle de rsolution recherche des disponibilits dans lespace des employs et ne modifie pas lamplitude de e1 et e2. Elle complmente laction de la premire rgle.

- 148 -

Les modles multiples niveaux


Employ Qualification Intervalle i Intervalle j Total

e1 e2

q1 Total q q1 Total q q1

+n heures Ajouter n heures + n heures - n heures Pas de Changement Ajouter n heures Pas de Changement

Ajouter n heures

Pas de Changement

Total

Figure 5.71. Rgle de rsolution parmi les salaris Problme : Existant : Primitif : Action : tel-00004380, version 1 - 29 Jan 2004 Besoin daffectation dun employ lintervalle i en qualification q Lemploy e1 na pas atteint ses limites, mais incomptent en q Rechercher employ e2 comptent en q et q1 , X(e2, i, q1) = 1. X(e1, i, q1) = 1 ; X(e2, i, q) = 1 & X(e2, i, q1) = 0

Troisime change : Pour utiliser e1 groupe 3, libre en i dont les limites en heures et amplitude sont atteintes et incomptentes en q. Il suffit de combiner les deux actions ci-dessus.
Employ Qualification Intervalle i +n heures Ajouter n heures + n heures - n heures Pas de Changement Ajouter n heures Pas de Changement Intervalle j - n heures Supprimer n heures Total

e1 e2

q1 total q q1 Total q q1

Pas de Changement

+n heures Ajouter n heures Supprimer n heures Pas de Changement

Ajouter n heures

Total

Figure 5.72. Rgle de rsolution combine Problme : Besoin daffectation dun employ lintervalle i en qualification q Existant : e1 a atteint ses limites heures et amplitude et est incomptent en q Primitif : Rechercher employ e2 comptent en q et q1, X(e2, i, q1) = 1, dispose de n heures de travail et libre en intervalle j. Action : X(e1, i, q1) = 1; X(e1, j, q1) = 0 donc pas de modification pour e1. X(e2, i, q) = 1; X(e2, j, q1) = 1 Les changes proposs dans ce paragraphe sapparentent une recherche non dterministe de voisinages autour dun point dans lespace des plannings avec lobjectif de faire une affectation un intervalle i, dune qualification q, sans violer les contraintes du problme.

- 149 -

Les modles multiples niveaux Aucun employ libre en intervalle i Cette situation est exclue grce aux conditions ncessaires prsentes en 5.4.

tel-00004380, version 1 - 29 Jan 2004

- 150 -

Les modles multiples niveaux

5.6 SCHEMAS GENERAUX ALGORITHMIQUES


Ce paragraphe rassemble les diffrents lments exposs dans les paragraphes prcdents du chapitre 5, au sein des schmas gnraux algorithmiques.

5.6.1 Le schma gnral algorithmique un niveau


Lalgorithme boucle sur la satisfaction des besoins couvrir. A chaque itration on dispose dun tat consistant en une affectation partielle de lensemble du personnel.

Dbut

succs

tel-00004380, version 1 - 29 Jan 2004

chec Propagation des contraintes

Existe-il des besoins nonsatisfaits


Application de rgle oui

non Arrt

Affectation de variable aucun candidat trouv oui Slection de candidat libre

Slection du besoin

Figure 5.73. Le schma gnral de lalgorithme de recherche un niveau La rsolution du besoin contient un sous-module de choix du besoin critique, permettant de rencontrer des problmes le plus tt possible. La rsolution directe consiste la recherche dun candidat qualifi et disponible, dont laffectation ne transgressera pas les contraintes. Dans le cas contraire, le conflit de ressource est rsolu par lapplication dune rgle et la suite dchanges daffectations correspondantes. Comme les rgles nintroduisent pas de transgressions de contraintes, on obtient un tat temporaire consistant. Les conditions ncessaires sont vrifies : si une condition nest pas respecte, on redemande une autre solution. Suite la propagation des effets, ltat temporaire devient ltat courant et le processus ritre. A un niveau dagrgation, la propagation russit car les rgles conservent les contraintes.

- 151 -

Les modles multiples niveaux

5.6.2 Le schma gnral algorithmique multiples niveaux


En plus des rgles de rsolution un niveau exposes au paragraphe 5.5, nous proposons des rgles exploitant les multiples niveaux. On y aura intrt lorsque les rgles un niveau narrivent pas rsoudre un besoin daffectation. Par exemple, lorsque les changes au niveau mensuel ne suffisent pas dgager une ressource qualifie, il faudrait passer au niveau annuel pour changer le nombre dheures hebdomadaires.

Dbut

succs chec
Propagation des contraintes Existe-il des besoins nonsatisfaits

non
Arrt

tel-00004380, version 1 - 29 Jan 2004

Application de rgle Affectation de variable Slection du besoin

aucun candidat trouv


Slection de candidat libre

Dbut

succs chec
Propagation des contraintes Existe-il des besoins nonsatisfaits

non
Arrt

Application de rgle Affectation de variable Slection du besoin

aucun candidat trouv oui


Slection de candidat libre

Figure 5.74. Le schma gnral de lalgorithme de recherche deux niveaux

- 152 -

Les modles multiples niveaux

5.7 CONCLUSIONS
Nous avons prsent un type de modle intgrant plusieurs niveaux dagrgation de temps, la diffrence des modles courants avec un seul niveau dagrgation. Il permet de couvrir un grand horizon ( lchelle de lanne avec trois niveaux) mais avec un niveau de dtail suffisant pour appliquer les contraintes lgales. Ces contraintes et prfrences sont typiquement inapplicables dans un modle avec un seul niveau dagrgation. Les dcisions des niveaux suprieurs (annuels et mensuels) peuvent se traduire en nombreuses dcisions aux niveaux infrieurs (hebdomadaire ou journalier) et rduisent la complexit globale de lalgorithme de recherche. Les conditions ncessaires et les mthodes heuristiques proposes dans ce chapitre visent couvrir les charges dfinies par intervalle de temps et par qualification. En cas de conflit de ressources, les rgles effectuant des changes daffectations, sont analogues une recherche locale. Notre mthode effectue une recherche locale dans un espace de solutions. A chaque itration, on rsout un besoin en affectant une ressource libre. Dans le cas o toutes les ressources sont dj prises, on effectue un change daffectation semblable la mthode de Lin S. et Kernighan B.W. (1973) pour rsoudre le problme du voyageur de commerce. Avec un peu de recul, notre approche de modles multiples pourrait remettre en cause la pratique de conception de modles. La premire tape en rsolution de problme consiste en lanalyse de la granularit du problme traiter. Nous montrons que cette tape est peut tre errone, car nous sommes limits par les contraintes applicables au niveau de la granularit choisie. Un problme rel peut cacher dautres contraintes visibles dautres niveaux dagrgation : elles ne peuvent plus tre considres par la suite de ltude. Pour rsoudre de telles situations, nous proposons lutilisation du cadre CSP pour coller ensemble les variables et contraintes de chaque niveau. Les dductions dun niveau peuvent tre propages dautres niveaux. Les travaux autour des modles niveaux multiples ont t prsents dans les publications suivantes [CJW02], [CW02], [CFW02].

tel-00004380, version 1 - 29 Jan 2004

- 153 -

TROISIEME PARTIE : CONCLUSIONS

Dans cette partie, nous prsentons nos conclusions gnrales sur lensemble des travaux engags depuis plusieurs annes. Les annexes inclurent un glossaire portant la fois sur les termes du mtier de la gestion des ressources humaines et les termes techniques de rsolution.

6. Conclusions a. Rtrospective b. Bilan c. Perspectives tel-00004380, version 1 - 29 Jan 2004 7. Annexes a. Glossaire b. Bibliographie c. Index des rfrences par auteur d. Liste des publications par auteur

- 154 -

tel-00004380, version 1 - 29 Jan 2004

- 155 -

La conclusion

6 CONCLUSION
6.1 RETROSPECTIVE
Cest en constatant les limites des mthodes actuelles pour produire des plannings de qualit que nous avons dcid de lancer nos propres initiatives dans la gnration automatique pour grer au mieux les ressources humaines. Le chapitre 1 a mis en vidence les diffrentes problmatiques de la planification du personnel. A partir du modle de Dantzig en 1954, diffrents auteurs ont trait des situations de plus en plus ralistes avec des mthodes trs varies. Parmi ces mthodes et travaux, on distingue bien dune part le monde de la Recherche Oprationnelle, et dautre part celui de lIntelligence Artificielle. Ne depuis trois sicles21, la RO a t tablie comme une science au cours de la deuxime guerre mondiale afin dallouer de faon optimale les ressources rares. Elle sintresse aux solutions optimales mathmatiquement et traite de grandes quantits. Pour cela, lan technologique sappuie sur des modles qui ne traitent que les caractristiques principales du problme et souvent ne distinguent pas les individus. Ce sont les problmes bien-dfinis : un problme bien-dfini peut tre combinatoire et intraitable. La Operational Research Society of Great Britain dfinit la RO comme suit :
Operational research is the application of the methods of science to complex problems arising in the direction and management of large systems of man, machines, materials and money in industry, business, government and defence. The distinctive approach is to develop a scientific model of the system, incorporating measurements of factors such as chance and risk, with which to predict and compare the outcomes of alternative decisions, strategies or controls. The purpose is to help management determine its policy and actions scientifically.

tel-00004380, version 1 - 29 Jan 2004

Pour parvenir des rsultats optimaux, la RO est amen simplifier le modle en rduisant le nombre de variables et de contraintes. Par exemple, les travaux dordonnancement de tches sur une machine sont trs nombreux. Ces travaux ne peuvent pas appliqus directement dans la vie pratique. En tant que cadet, les techniques nouvelles telles que IA tentent de rpondre mieux aux besoins de la socit contemporaine, avec des modles plus riches smantiquement : on tient en compte plus de contraintes et souvent on intgre le niveau de lindividu. Du coup, la notion doptimalit sestompe. Or du fait des prfrences individuelles, les problmes sont souvent mal-dfinis : lutilisateur ne sait plus reconnatre si une situation donne est une solution. Dans certains cas on retrouve mme des problmes malicieux, leur dfinition vague, incomplte, contradictoire et changeant souvent.

21

Par exemple : L. Euler, Solution dune question ingnieuse qui ne paroit soumise aucune analyse, Mmoire de lAcadmie Royale des Sciences XV, Berlin. pp 310-357 (1759).

- 156 -

La conclusion Ltat de lart en planification automatique a t prsent au chapitre 2. Ce survol a couvert de nombreuses mthodes les plus rcentes dans la rsolution des problmes doptimisation combinatoire. Nos propres travaux de recherche ont mis laccent sur la Programmation par Contraintes et sur la recherche locale. Ralise en collaboration avec lindustrie, ces recherches ont un caractre pratique et une finalit prcise : celle de lindustrialisation des mthodes scientifiques dans la gestion des ressources humaines des termes diffrents. La construction des tours a t le thtre des recherches prsentes aux chapitres 3 et 4. La partie la plus rcente de ces travaux est prsente au chapitre 5. Cest aussi la partie la plus originale et sujet de nombreuses publications.

tel-00004380, version 1 - 29 Jan 2004

- 157 -

La conclusion

6.2 BILAN
Au cours de notre recherche, nous avons appliqu les techniques de la PPC au problme de gnration de planning ; tantt avec des produits du march, en loccurrence les contraintes globales de CHIP, tantt avec nos propres ralisations dalgorithmes de la PPC.

6.2.1 Contributions de ce travail


Cette recherche a abouti des contributions sur plusieurs plans. Contributions sur le plan mthodologique Lapproche propose dans le projet MMN semble tre contre-courant des dmarches scientifiques habituelles. A lcole, ds le dbut de lanalyse dun problme, on fixerait le cadre de la rsolution, i.e. horizon de calcul ainsi que le niveau de dtails. Dans le cas de la planification des ressources humaines, nous avons montr que cela fausse dj la rsolution du problme car les contraintes lgales existent plusieurs niveaux (journalier, hebdomadaire, mensuel et annuel). Le planificateur humain doit les prendre en compte simultanment. Agissant tous les niveaux simultanment, lnorme combinatoire peut tre exploite pour produire des plannings ayant la prfrence des salaris et le grand horizon du systme peut tre exploit pour gnrer des plannings quitables. Nous avons dmontr que rsoudre le problme de construction de tours en une passe est possible, quil y a des normes combinaisons possibles, quitte trouver les bonnes relaxations en cas dimpossibilit. Ces espaces de recherche arborescentes peuvent tre explors avec des heuristiques adapts, mise en vidence dans ce mmoire. A la diffrence des travaux [Heu95] et [Par98] qui dpendent des outils PPC du march, nous nous sommes permis de dvelopper nos propres mcanismes de propagation, afin de mieux exploiter les multiples niveaux, tant la combinatoire est a priori, norme. Tout le solveur est devenu une sorte de contrainte globale, o toutes les contraintes du systme sont traites ensembles. Les diffrentes conditions ncessaires que nous avons prsentes au chapitre 5 permettent de dtecter des inconsistances en amont de lnumration. Contributions sur le plan de la recherche La liste de nos publications est propose dans la liste des bibliographies par auteur. Au total une dizaine darticles de recherche publis lors de confrences nationales et internationales. En particulier, la mthode de recherche locale que nous avons propose au chapitre 5, semble trs prometteuse. Base sur des changes daffectations pour rsoudre des conflits sur les ressources, elle prsente une alternative la recherche retour-arrire systmatique pour rsoudre des problmes de grandes tailles.

tel-00004380, version 1 - 29 Jan 2004

- 158 -

La conclusion Contributions sur le plan pratique Ce travail a abouti la cration de plusieurs applications oprationnelles. Btit sur les bases logicielles de la socit COSYTEC, le logiciel Gymnaste a dvelopp la mtaphore du tableur de planification . Il a t dploy dans plusieurs units de soins au CHU de Grenoble et dans certains hpitaux de la rgion parisienne. Ensuite, jai entrepris de sparer le composant rgles spcifiques du reste du systme, semblable la dmarche des noyaux des systmes experts. Le noyau que jai mis en vidence tait un logiciel vertical pour traiter les problmes de planning des ressources humaines. Ce noyau a t rutilis dans le projet MOSAR dont la partie solveur a t dcrit au chapitre 4. Cette application a t utilise dans huit centres nationaux de ladministration pnitentiaire par des experts dorganisation qui conseillent aux chefs des 190 tablissements rpartis sur tout le territoire national. Le produit EQUITIME a rajout la mtaphore de le crayon et la gomme au tableur de planification . Il a t vendu et utilis dans de nombreux hpitaux sur la France. Le gnrateur automatique de planning a t vendu et utilis chez des clients tels que Fimatex, le groupe Baxter et Nestl.

tel-00004380, version 1 - 29 Jan 2004

6.2.2 Rsultats
Les objectifs noncs au chapitre 1 taient : O1. Traitement global : Notre mthode ne dcoupera pas le processus de planification en tapes de calculs irrvocables. Les diffrents niveaux dagrgation temporelle (journalier, mensuel et annuel) doivent travailler simultanment (appliquer et propager les contraintes leurs niveaux). Le solveur dans GYMNASTE et EQUITIME gnre des plannings en une seule passe. Le modle MNM fonctionne tous les niveaux avec les contraintes appropries.

O2.

Tenir compte des caractristiques individuelles des salaris telles leurs prfrences et lhistorique de planning. Lobjectif est de crer des plannings de grande qualit. Par contre, il ne pourra pas traiter un nombre de salaris semblable. Nous ciblons la centaine de salaris. Chaque salari est reprsent comme une ressource unique, avec ses propres caractristiques. Cest le modle exploit dans GYMNASTE, EQUITIME et MNM.

O3.

Notre systme inclura une interface permettant aux utilisateurs de proposer des plannings ponctuels. Nous proposerons des interfaces avances dans GYMNASTE et EQUITIME, permettant aux non informaticiens de comprendre facilement un planning complexe, et dy apporter des modifications.

La mthode est constructive et capable de complter un planning de deux faons : soit incluant des affectations obligatoires de lutilisateur, soit suite leffacement des affectations non dsirables. La fonction ANNULER a t trs apprcie par nos utilisateurs.

- 159 -

La conclusion

6.3 PERSPECTIVES
Toute recherche dans un domaine peut et doit ouvrir les champs pour dautres recherches dans le mme domaine ou dans des domaines annexes.

6.3.1 Modles
Les contraintes pluriannuelles telles que les congs formation (pour changer de comptence), ou le compte pargne temps (CET) ne sont pas encore claire aujourdhui. Elles pourront tre traites par un niveau supplmentaire. Ce niveau supplmentaire pourrait aussi traiter la problmatique de carrire ou de turnover du personnel. Lide est quil faut travailler un temps minimal dans certaines qualifications avant de pouvoir passer dautres tches qui requirent une qualification suprieure. Le systme va devoir traiter des employs qui entrent dans ltablissement et dautres le quittent. tel-00004380, version 1 - 29 Jan 2004 Nous navons pas explor la possibilit de structurer en plusieurs niveaux laxe des employs la manire des niveaux multiples du temps. Ainsi on pourrait crer des ressources reprsentant une quipe de salaris, voire tout un service. Cela permettrait aux algorithmes de traiter plusieurs salaris en mme temps, donc daugmenter la taille du problme trait. Cependant rien nest gagn, car les prfrences et lhistorique des salaris les rendent uniques dans la majorit de situations.

6.3.2 Mthodes
Au cours de nos recherches, une grande partie a t consacre lapproche dlaboration dalgorithmes propres. Cette dcision a t influence par les besoins de la mise sur le march de logiciels prts - - lemploi. Nous aurions pu analyser les mthodes sous les deux angles ci-dessous. Lapport des mthodes utilisant des processus ou des machines travaillant en parallle

Lapport des outils standards du march Utilisation de la PPC pour effectuer le calcul des vacations La contrainte globale cumulative est rpute tre trs performante car elle serait capable de tirer un maximum de dductions chaque nud de larbre de recherche. Il serait intressant de voir comment le modle que nous avons propos au chapitre 2 se comporte face aux problmes rels. o Utilisation de la PLNE pour rsoudre le MMN Moyennant des simplifications des contraintes respecter, nous pourrions obtenir un systme dquation illustr par la Figure 6.75, o les lignes reprsentent des - 160 -

La conclusion ressources et les colonnes reprsentent des intervalles de temps diffrentes chelles. Les rectangles reprsentent des coefficients non - nuls du systme.

Modle Jour J1 Modle Jour J2 Modle Jour J31 Modle Mensuel M1

Relations entre les variables de chaque jour du mois et les variables au niveau mois

Modle Mensuel courant

tel-00004380, version 1 - 29 Jan 2004

Modle Mensuel M12

Relations entre les variables au niveau mensuel et les variables au niveau annuel

Modle Annuel A1

Figure 6.75. Rsolution du MMN avec PLNE

- 161 -

Le glossaire

7 ANNEXES
7.1 GLOSSAIRE
1. Algorithmes de maintenance de consistance : une mthode de rsolution des Problmes de Satisfaction des Contraintes. Diverses sources dinsuffisance de lalgorithme de Backtrack a t analyses dans [Mac77] :

Si une variable Vi contient des valeurs inconsistantes par rapport une contrainte un-aire, alors ces valeurs provoqueront des retours arrires systmatiques Si une variable Vi contient valeur a incompatible avec toutes les valeurs dune autre variable Vj, qui est instancie aprs Vi, lalgorithme Backtrack essaiera systmatiquement les variables Vj-1, , Vi-1 avant de proposer une autre valeur pour Vi. Cette recherche inutile sera rpte pour toute combinaison de valeurs pour V1, , Vi-1 avec Vi = a. Supposons que Vi = a, Vj = b, et les contraintes un-aire pour Vi et Vj , et la contrainte binaire sappliquant sur Vi et Vj, soient vrifies. Il se peut quil ny ait pas de valeur c pour une autre variable Vk, tel que la contrainte un-aire pour Vk et les contraintes binaires sappliquant sur (Vi et Vk) et (Vj et Vk,) soient vrifies.

tel-00004380, version 1 - 29 Jan 2004

La solution propose sappuie sur la notion de domaine pour chaque variable, lensemble de valeurs possibles. Les trois problmes prcdents sont traits par des algorithmes de maintenance de consistance de nud, darc et de chemin, resp. 2. among : Une contrainte globale du systme CHIP, voir [BC94]. Soit R le nombre total de ressources, N le nombre dtiquettes distinctes S1, ., SN, le jour J, ZerosR est une liste de R zros et le paramtre all spcifie lexploitation par cette contrainte de tous les vnements de changement de domaine. Il y a plusieurs appels de la contrainte :
a) among([N1,, NN], [X1,j, , XR,j], ZerosR,[[S1],,[SN]], all)

Cette contrainte spcifie que la variable Nk (pour k = 1,, N) est le nombre exact doccurrences de la valeur Sk parmi les variables X r, j reprsentant les affectations au cours de la priode j aux ressources r = 1 R.
b) among([Min, Max], [X1,j, , XR,j], ZerosR,[VN], all)

Min et Max sont deux constantes indiquant les bornes infrieures et suprieures du nombre doccurrence de la constante VN. dans la liste de variables X.
c) among([Min, Max, J], [XR,1, , XR,j], ZerosJ,[VN], all)

Min et Max sont deux constantes indiquant les bornes infrieures et suprieures du nombre doccurrence de la constante VN. dans chaque suite de J variables conscutives de la liste X.

3. Backtrack : une mthode de rsolution des Problmes de Satisfaction des Contraintes.


a. Initialiser : Affecter chaque variable la valeur non-dfinie. Les valeurs possibles de chaque variable sont marques non-utilises. Initialiser la pile Vide. b. Slectionner une variable : Prendre comme variable courante, une des variables non encore instancie. Empiler cette variable.

- 162 -

Le glossaire
c. Slectionner une valeur : Slectionner une valeur non encore utilise pour la variable courante et la marquer comme utilise. Laffecter la variable courante. Si toutes les valeurs sont utilises, aller (f). d. Vrification : Vrifier toutes les contraintes dans laquelle figurent cette variable avec les variables dj instancies. Si elles sont vrifies, aller (b). Sinon aller (c). e. Solution : Si toutes les variables sont instancies, alors on a obtenu une solution. Si seule une solution est demande, alors arrter avec succs. Sinon aller (c). f. Backtrack : affecter la valeur non-dfinie la variable courante, considrer comme variable courante celle qui est en haut de la pile et dpiler cette dernire. Aller (c). Si la pile est vide alors arrter avec chec. Ce procd permet dviter de gnrer des valeurs de toutes les variables avant de dtecter des transgressions de contraintes avec les variables dj instancies, do un gain important de performance. Cependant, il souffre dautres insuffisances lies au mcanisme de retour arrire chronologique. Voir Algorithmes de maintenance de consistance.
Dbut

Empiler la variable courante

tel-00004380, version 1 - 29 Jan 2004

succs d. Vrification des contraintes

chec

e. Existe-il des variables noninstancies


oui

non Solution trouv e

Affectation de variable
Considrer cette valeur utilise

b. Slection de variable

c. Slection de valeur non utilise


Plus de valeur non utilise Dpiler la variable courante

f. Pile Vide ? oui Arrt sans solutions

non

Figure 6.76. Algorithme de Backtrack A chaque itration dans la boucle suprieure dans le sens de la montre, on slectionne une variable de dcision et explore les diverses valeurs non utilises. Lorsque aucune transgression de contrainte nest dtecte, on lempile et passe litration suivante. A chaque itration dans la boucle infrieure dans le sens contraire, on dpile et explore les branches restantes correspondant aux valeurs non utilises de la variable courante.

- 163 -

Le glossaire 4. Charge : un besoin couvrir par lensemble des salaris de lunit lmentaire de planning. Courbe de charge discontinue : les tches ne dpassent pas 24H en dure. Courbe de charge continue : les tches peuvent dpasser 24H en dure. 5. Classe de personnel : ensemble de salaris dfini par une dure de travail hebdomadaire et par le type de contrat (temps complet ou partiel) 6. Code Horaire : soit un jour dabsence lgale (repos hebdomadaire, congs annuels, etc.), soit un ensemble dhoraires de travail pour une journe. Elle ne dit rien sur les tches que les salaris vont excuter. Implicitement, un salari ne peut faire quun seul horaire par jour, quon dsigne par un code prtabli port sur le planning mensuel. Si les horaires rellement faits diffrent des horaires prvus, le code devrait tre modifi. 7. Consistance Locale : Dans un problme de satisfaction de contraintes, avec Y X. Une instance des variables Y est localement consistante si et seulement si toutes les contraintes portant sur les variables Y sont satisfaites. tel-00004380, version 1 - 29 Jan 2004 8. Contrainte : une relation portant sur des variables de dcision. Peut tre dfini par extension (la liste exhaustive de toutes les combinaisons admissibles des valeurs des variables de la contrainte) ou par intension (ex. une expression arithmtique ou logique) Contrainte dure : une contrainte dure doit tre respecte par tout planning cohrent. Contrainte souple ou flexible : contrainte qui nest pas forcment satisfaite dans un planning ou satisfaite de faon partielle. Contrainte redondante : Une contrainte c est redondante par rapport un ensemble donn de contraintes C lorsquelle est une consquence logique de C. Contrainte globale : Une contrainte qui sapplique sur beaucoup de variables, potentiellement dans les milliers. La premire contrainte globale tait la contrainte cumulative. Dautres contraintes sont among et sequence.

9. CSP : voir Problme de Satisfaction des Contraintes 10. cumulative : Une contrainte globale du systme CHIP, voir [AB93]. Soit N un nombre non nul de tches [S1, , Sn] n variables domaines finis reprsentant le dbut des tches [D1, , Dn] n variables domaines finis reprsentant la dure des tches [R1, , Rn] n variables domaines finis reprsentant le nombre de ressources consommes par les tches L le nombre de ressources disponibles et qui doivent tre partages par les tches Si min(V) (resp. max.(V)) est la plus petite (grande) valeur dans le domaine de la variable V, soit a = min( min(S1), , min(Sn) ), et b = max( max(S1), , max(Sn) ). La contrainte cumulative est respecte lorsque

- 164 -

Le glossaire t [a, b]
j | Sj t Sj + Dj -1

Rj

La contrainte cumulative stipule que, tout instant t de lhorizon de lordonnancement, la somme des ressources consommes par toutes les tches qui sont actives cet instant t nexcde pas la limite L.

11. Cycle de travail : Le planning des salaris qui suit un cycle est rptitif :about dun intervalle de temps gale la priode P du cycle, il reprend le mme planning.

Cycle de travail hebdomadaire : est dfini par une squence de P codes hebdomadaires, chaque W tant une squence de vacations ou horaires S . pour chaque Cycle de travail journalier : est dfini par une squence de P codes journaliers S .
o P nest pas un multiple de 7.
i

jour de la semaine.

12. Domaine dune variable : lensemble fini non vide des valeurs possibles de la variable. tel-00004380, version 1 - 29 Jan 2004 13. Equipe : groupe de salaris effectuant le mme planning au mme moment. Voir unit lmentaire de planning (UEP). 14. Etiquette : (des horaires standards) reprsente une organisation du travail dit post. Par exemple : matin, soir et nuit. Lensemble des tiquettes peut ne pas tre disjoints (exemple Jour) afin de couvrir des besoins qui chevauchent deux tiquettes. 15. Etiquette Repos : une journe de repos non travaill. (Day Off) 16. Fail-first Principle : Ce principe dicte quafin de russir, dabord essayer l on a le plus de chances dchec. La motivation est que moins larbre de recherche possde de branches sa racine, moins il y a de nuds et plus rapide est son parcours. Voir [HE80]. 17. Fentre de pause : intervalle durant lequel une pause peut avoir lieu. 18. Fentre dheure de dbut : intervalle durant lequel les vacations peuvent commencer. 19. Forward Checking : voir Lookahead. 20. Gnrer et Tester : Chaque combinaison de valeurs pour toutes les variables est gnre systmatiquement et ensuite teste pour vrifier si les contraintes sont vrifis. La complexit de cette mthodes est

D( x ) .
i =1 i

21. Grille de travail (Roster) : planning nominatif ou non, avec des tiquettes, dfini sur un nombre entier de semaines. 22. Lookahead : une mthode de rsolution des Problmes de Satisfaction des Contraintes. Suite toute instanciation de variable, les domaines des variables non- 165 -

Le glossaire encore instancies sont vrifies par rapport aux contraintes en place. Les valeurs inconsistantes sont enleves. Si le domaine dune variable ne contient plus quune seule valeur, la variable est affecte cette valeur. Par contre si le domaine devient vide, le retour arrire est provoque.

Forward Checking : pour chaque variable non encore instancie, cet algorithme assure quil y a au moins une valeur consistante par rapport aux valeurs courantes des variables dj instancies.

23. Pause : lensemble de priodes non travailles au cours de la journe. Exemple : pause repas ou pause caf. Elle est soit paye ou pas. 24. Priode : le plus petit intervalle de temps pour lequel la charge est dfinie dans un modle donn. Dans ce document, nous utiliserons le terme intervalle au lieu de priode, car il y a confusion potentielle avec la priode dun cycle de travail. 25. Planification dhoraires : sur un horizon dun jour quelques mois, donner lutilisation des ressources de faon couvrir un besoin exprim par une charge de travaille prvisionnelle, tout en respectant des contraintes prcises. Elle inclut la planification des repos des salaris. 26. Planning : un emploi du temps pour les salaris, suivant des niveaux dagrgation du temps diffrents. On distingue Planning journalier : horizon dun jour, la dure de lintervalle varie entre 10 minutes et 2 heures. Construction de vacations. (shift scheduling). Planning mensuel :horizon dun mois, lintervalle est typiquement un jour. Construction de tours. (tour scheduling) Planning annuel : horizon dun an, lintervalle peut tre le jour ou la semaine. Le planning dit continu ou discontinu : Planning continu : les besoins ou les dures des activits durent plus de 24H Planning discontinu : dans ce cas, on peut crer le planning jour par jour Le planning peut tre cyclique ou acyclique : Planning cyclique : un planning est cyclique si au bout dune dure P, tout salari retrouve son planning initial Planning acyclique : un planning est acyclique sil est diffrent pour un salari chaque jour chaque semaine et chaque mois. Le planning peut tre ralis de faon nominative, individuel ou anonyme Planning nominative : le planning est fait pour une personne donne Planning individuel : sans tre nominative, le planning peut tre fait pour une personne ayant un certain nombre de caractristiques individuelles, p.ex. prfrence. Planning anonyme : le planning ralis pour des groupes de personnes ayant des caractristiques communes, ex. qualification. Un planning peut aussi tre de nature diffrente, au cours de son cycle de vie Planning thorique : suite une gnration de planning cyclique Planning thorique ajust : ajustement pour congs, formation, etc. - 166 -

tel-00004380, version 1 - 29 Jan 2004

Le glossaire Planning prvisionnel : Ce planning est communiqu aux salaris mais il peut y avoir un ou plusieurs rvisions. Planning ralis brut : les prsences sont releves des pointeuses Planning ralis net : les releves sont corriges suivant la politique de lentreprise. Planning valid : les heures sont valides suivant la dmarche de lentreprise. Ce planning sera pay, avec des bonus pour des modifications effectues par rapport au planning prvisionnel, sans le dlai lgal de prvenance.

27. Population : lensemble des salaris susceptibles de couvrir la charge. On distingue la population suivant la classe de personnel et suivant les comptences. 28. Problme de Satisfaction des Contraintes (PSC) : est dfini par un ensemble de n variables X = {x1, ..., xn}, un ensemble de domaines courants D = {D(x1), ..., D(xn)} o D(xi) est un ensemble fini ou non de valeurs possibles pour la variable xi, et un ensemble C de m contraintes entre ces variables. La complexit thorique ou la taille de lespace de recherche de solutions dun CSP est gal

tel-00004380, version 1 - 29 Jan 2004

D( x ) . Si chaque variable a un domaine comportant d valeurs ; la complexit


i =1 i

thorique est gale d n. Un PSC peut tre rsolu avec les mthodes suivantes : Gnrer et Tester, Backtrack, Lookahead. 29. Problme daffectation gnralise (generalized assignment problem) : est dfini par Un ensemble de tches i = 1, , n Un ensemble dagents j = 1, , m dont la capacit disponible maximale est bj Chaque tche i doit tre affecte un et un seul agent j : la capacit dagent j consomme est aij et le cot est cij Variables de dcision Xij = 1 si la tche i est affecte lagent j, sinon elle vaut 0

A >B Fonction minimiser : f(x) = C X Contrainte de capacit : A X B pour j=1, , m Contrainte dunicit de laffectation : X 1 , pour i=1, , n
Nous admettons que : Aij B j et
m n ij j i =1 n ij ij j =1 i =1
n ij i j j i =1 m ij j =1

30. Problmes Problmes bien-dfinis (well-defined problems): Le problme et la solution sont clairement expliqus : on reconnat sans ambigut une solution au problme. Un problme bien-dfini peut tre combinatoire et intraitable, dont la solution exige un temps de calculs et un espace mmoire plus grands que ce quon dispose.

- 167 -

Le glossaire Problmes mal-dfinis (ill-defined problems): Le problme et/ou la solutions ne sont pas clairement expliqus : on ne peut pas reconnatre une solution. Souvent les solutions trouves peuvent tre amliores et cest au solveur de dcider quand sarrter. Des problmes combinatoires intraitables exigeant des solutions heuristiques ou approches sont une classe de problmes mal-dfinis. On rsout un problme mal-dfini avec une approche crative. Problmes malicieux (Wicked problems) : Ce problme est mal-dfini et pire, la dfinition du problme est vague, incomplte, contradictoire et souvent changeant. Une solution est trs difficile reconnatre. On rsout un problme malicieux avec un groupe de travail.

31. Programmation par contraintes PPC : mthode de rsolution des problmes de satisfaction des contraintes intgrant la mthode Backtrack et des algorithmes de consistance (ou cohrence) des contraintes. 32. Propagation par contraintes : voir Lookahead. tel-00004380, version 1 - 29 Jan 2004 33. Programmation Linaire en Nombres Entiers PLNE : mthodes de rsolution dun systme dquations linaires. 34. sequence : une contrainte globale du systme CHIP, voir [BC94]. Soit R le nombre total de ressources, T tant le nombre total de priodes, ZerosR est une liste de R zros et le paramtre all spcifie lexploitation par cette contrainte de tous les vnements de changement de domaine.
sequence([0,0,T],[Xi,1, , Xi,T], ZerosT, Pats, all)

Les variables X reprsentent les affectations de la ressource i pendant les priodes 1 T. Pats est la liste de patterns valides sur les variables V. Le premier argument exprime le fait quil y ait exactement 0 instance de ces patterns sur les T variables. Par ex. pour contraindre que la valeur W doit tre suivie dune valeur quelconque dans la liste AllowedCodes, le pattern est la liste de 2 listes [[sum,1,#=,[W]],[sum,1,#\=,AllowedCodes]]. Le premier sous liste indique que la somme dune variable est gale la valeur W et le deuxime spcifie que la somme dune variable nest pas gale aux valeurs indiques. 35. Qualification : la capacit dun salari travailler sur une tche qui requiert des connaissances sanctionnes par un diplme reconnu. 36. Squence de travail : (Work stretch) enchanement de vacations successives dlimit par des repos. 37. Squence de repos : (Off Stretch) enchanement de repos successif dlimit par des vacations. 38. Solveur : un programme de rsolution dun problme. Dans ce mmoire, il sagit du problme de planification.

- 168 -

Le glossaire 39. Systme informatique dcisionnelle (Business Intelligence) : Systme interprtant des donnes complexes permettant aux dirigeants dentreprise de prendre des dcisions en connaissance de cause. Les donnes sont analyses selon plusieurs dimensions (type de produits, rgions et saisons par exemple) [source : JDNETsolutions]. 40. Systme informatis d'aide la dcision (Decision Support System) : Systme informatique intgr, conu spcialement pour la prise de dcision, et qui est destin plus particulirement aux dirigeants d'entreprise. Le systme d'aide la dcision est un des lments du systme d'information de gestion. Il se distingue du systme d'information pour dirigeants, dans la mesure o sa fonction premire est de fournir non seulement l'information, mais les outils d'analyse ncessaires la prise de dcision. Ainsi, il est habituellement constitu de programmes, d'une ou de plusieurs bases de donnes, internes ou externes, et d'une base de connaissances. Il fonctionne avec un langage et un programme de modlisation qui permettent aux dirigeants d'tudier diffrentes hypothses en matire de planification et d'en valuer les consquences [source : JDNETsolutions]. tel-00004380, version 1 - 29 Jan 2004 41. Tour : enchanement de vacations et de repos sur un horizon dfini, gnralement une semaine ou un mois. 42. Unit lmentaire de planning : Un groupe de personnes pour qui on tablit un planning ; chaque UEP dispose dun ensemble de besoins par intervalle de temps. Diffrent de lquipe. 43. Vacation : (Shift) une journe de travail, dfini par des horaires de dbut et de fin, prcisant les pauses. Typiquement utilise pour dsigner une affectation journalire (un salari, un jour donn). Voir aussi le terme tiquette. Vacation directe (straight shift) : en une seule partie travaille. Vacation avec coupure : (split shift) en plusieurs parties travailles

44. Variables Variable de dcision : pouvant prendre une valeur prise dans le domaine de la variable. Remerciement : Certains termes du glossaire proviennent de la thse [Par98].

- 169 -

La bibliographie

7.2 BIBLIOGRAPHIE
[AB93] Aggoun A. et Beldiceanu N., Extending CHIP in order to Solve Complex Scheduling Problems, J. Mathematical and Computer Modelling, 17 (7): 5773, 1993. Aickelin U., Genetic Algorithms for Multiple Choice Optimisation Problems, Application to Nurse Scheduling, Thesis at University of Wales Swansea, Sept 1999. Arthur J.L. et Ravidran A. A multiple objective nurse scheduling model. AIIE Transactions, 13 (1): 55-60, 1981. Aykin T., Optimal Shift Scheduling with Multiple Break Windows, Management Science 42 (4): 591-602, 1996. Baker K.R. Scheduling a full-time workforce to meet cyclic staffing requirements, Management Science 20: 1561-1568, 1974. Baker K.R., Workforce allocation in Cyclical Scheduling Problems : A Survey. Operational Research Quarterly. 27 (1): 155-167, 1976. Burgess W.J. et Busby R.E., Personnel Scheduling in Handbook of Industrial Engineering, 2154-2169, Wiley & Sons, New York, 1992. Burns R.N. et Carter M.W., Work Force Size and Single Shift Schedules with Variable Demands, Management Science 31(5) : 599-607, 1985. Beldiceanu N., Bourreau E., Chan P. et Divreau D., Solving Resourceconstrained Project Scheduling Problems in CHIP. Proceedings of the Fifth International Workshop on Project Management et Scheduling, PMS96, Poznan, Poland, 1996. Beldiceanu N., Bourreau E., Chan P. et Divreau D., Partial Search Strategy in CHIP. Proceedings of the Second International Conference on Metaheuristics MIC97, Sophia-Antipolis, France, 1997. Beldiceanu N. et Contejean E., Introducing Global Constraints in CHIP. Journal of Mathematical and Computer Modelling, 20(12): 97-123, 1994. Beldiceanu N., Simonis H., Kay P. et Chan P., Application Development with the CHIP System. COSYTEC White paper available at www.cosytec.com, 1997. Beldiceanu N., Simonis H., Kay P. et Chan P., The CHIP System. COSYTEC White paper available at www.cosytec.com, 1997. Beasley J.E. et Chu P.C., A Genetic Algorithm for the set covering problem, European Journal of Operational Research, 94: 392- 404, 1996. Stafford Beer, Decision & Control, The meaning of Operational Research and Management Cybernetics, Ed. John Wiley ISBN 0471 06210 3, 8th edition 1988. Bar-Yehuda R. et Even S., A Linear-Time Approximation Algorithm for the Weighted Vertex Cover Problem, Journal of Algorithms, pp. 198-203, 1981.

[Aic99]

[AR81] [Ayk96] [Bak74] [Bak76] tel-00004380, version 1 - 29 Jan 2004 [BB92] [BC85] [BBC+96]

[BBC+97]

[BC94] [BSK+97a]

[BSK+97b] [BC96] [Bee66]

[BE81]

- 170 -

La bibliographie [BJ90] Bechtold S.E. et Jacobs L.W., Implicit Modelling of Flexible Break Assignments in Optimal Shift Scheduling, Management Science, 36(11): 1339-1351, 1990. Brusco M.J. et Jacobs L.W., A Simulated annealing approach to the cyclic staff-scheduling problem, Naval Research Logistics, 40: 69-84, 1993. Bechtold S.E. et Jacobs L.W., Naval Research Logistics, 43: 233-249, 1996. Brusco M.J. et Jacobs L.W., Optimal Models for Meal-Break and Start-Time Flexibility in Continuous Tour Scheduling Management Science 46(12) : 1630-1641, 2000. Baker K.R. et Magazine M., Workforce Scheduling with Cyclic demands and Day-off Constraints, Management Science, 24 (2): 161-167, 1977. Byrne J.L. et Potts R.B. Scheduling of toll collectors. Transportation Sciences, 7: 224-245, 1973. Bartholdi J.J. et Ratliff H.D., Un-networks with applications to idle time scheduling, Management Science 24 (8): 850-858: 1978 Brusco M.J. et Showalter M.J. Constraint nurse staffing analysis. Omega, 21 (2): 175-186, 1993. Balakrishnan N. et Wong R.T., A network model for the rotating workforce scheduling problem, Networks 20: 25-42, 1990. Chan P., Fallet V. et Weil G., Solving large-scale employee scheduling problems with Multiple-Level Models, The Twelfth International Symposium on Combinatorial Optimisation CO02, Paris, France. http://www.lip6.fr/CO2002. Book of abstracts pg. 33. 2002. Caseau Y., Guillo P.Y. et Levenez E., A Deductive and Object-Oriented Approach to a Complex Scheduling Problem, Journal of Intelligent Information Systems, 4, pp. 149-166. 1995. Cezik T., Gnlk O. et Luss H. An integer programming model for the weekly tour scheduling problem. Naval Research Logistics Vol.48 (7): 607624 2001. Chew K.L., Cyclic schedule for apron services. Journal of the Operational Research Society, 42: 1061-1069, 1991. Choueiry B.Y. Abstraction Methods for Resource Allocation. Thse lEcole Polytechnique Fdrale de Lausanne, soutenue en 1994. Chan P., Heus K. et Weil G. Nurse Scheduling with Global Constraints in CHIP: GYMNASTE, Proceedings of the Fourth International Conference on Practical Applications of Constraint Technology PACT98, London, pp. 157169,1998. Chvtal V., A Greedy Heuristic for the set covering problem. Mathematical Operational Research , 4 (3) : 233-235, 1979. Chan P., Joseph R. et Weil G., Planification dhoraires du personnel multiples niveaux, Acte du Quatrime Congrs de la socit franaise de

[BJ93] [BJ96] [BJ00]

[BM77] [BP73] [BR78] tel-00004380, version 1 - 29 Jan 2004 [BS93] [BW90] [CFW02]

[CGL95]

[CGL01]

[Che91] [Cho94] [CHW98]

[Chv79] [CJW02]

- 171 -

La bibliographie recherche oprationnelle et daide la dcision, ROADEF 2002, pg. 79-80, 2002. [CL00] Cai X. et Li K.N., A Genetic Algorithm for scheduling staff of mixed skills under multi-criteria, European Journal of Operational Research, 125: 359369, 2000. Costa, D. A tabu search algorithm for computing an operational timetable. European Journal of Operational Research, 76, 98-110. Chiarandini M., Schaerf A. et Tiozzo F. Solving Employee Timetabling Problems with Flexible Workload using Tabu Search. Proceedings of the 3rd Int. Conf. on the Practice and Theory of Automated Timetabling (E. Burke & W. Erben, Eds.) pp. 298-302, 2000. Chan P. et Weil G., Cyclical Staff Scheduling Using Constraint Logic rd Programming, Proceedings of the 3 Int. Conf. on the Practice and Theory of Automated Timetabling (Eds. E. Burke & W. Erben) Lecture Notes in Computer Science 2079, Pg. 159-175, 2000. Chan P. et Weil G., Using Multiple-level models to solve large-scale employee scheduling, 15 th European Conf. on Artificial Intelligence ECAI 2002, Workshop Modelling and Solving Problems with Constraints, organised by Toby Walsh, pg. 12-24, 2002. http://4c.ucc.ie/web/index.jsp Dantzig G.B., A Comment on Edies Traffic Delays at Toll Booths, Operational Research, 2 (3): 339-341, 1954. Dawkins R. The Selfish Gene. Oxford University Press, 1976. Dincbas M., Van Hentenryck P., Simonis H., Aggoun A., Graf T. et Berthier F. The Constraint Handling Language CHIP, Proceedings of International Conference on Fifth Generation Computer Systems FGC88, pg. 693-702, Tokyo, 1988. Eiben A.E., Evolutionary algorithms and constraint satisfaction: Definitions, survey, methodology, and research directions, In L. Kallel, B. Naudts, and A. Rogers, editors, Theoretical Aspects of Evolutionary Computing, Natural Computing series, pages 13-58. Springer, 2001. Emmons H. et Burns R.N., Off-Day Scheduling with hierarchical worker categories, Operations Research, 39 (3), 1991. Feo T.A. et Resende M., Greedy Randomized Adaptive Search Procedures, Journal of Global Optimization, 6: 109-133, 1995. Gomes C. et Kautz, H. Boosting combinatorial search through randomization. Proceedings of AAAI-98, Madison, WI, pages 281-331, July 1998. Glover F., Tabu Search Part I, ORSA J. Computing 1 (1989), 190-206. Glover F. et Laguna M., Tabu search. In Reeves, C. R. (Ed.), Modern Heuristic Techniques for Combinatorial Problems. Scientific Publications, Oxford, 1993

[Cos94] [CST00]

[CW00]

[CW02] tel-00004380, version 1 - 29 Jan 2004

[Dan54] [Daw76] [DHS+88]

[Eib01]

[EB91] [FR95] [GK98]

[Glo89] [GL93]

- 172 -

La bibliographie [GW97] Grossman T. et Wool A., Computational experience with approximation algorithms for the set covering problem, European Journal of Operational Research 101 : 81-92, 1997. Henderson W.B. et Berry W.L. Heuristic methods for telephone operator shift scheduling: An experimental analysis. Management Science 22: 13721380, 1976 Haralick R.M. et Elliot G.L. Increasing Tree Search Efficiency for Constraint Satisfaction Problems. Artificial Intelligence 14 :263-313, 1980. Van Hentenryck P., Constraint Satisfaction in Logic Programming, MIT Press, 1989 Heus K., Gestion des plannings infirmiers: Application des techniques de programmation par contraintes. Thse de Docteur de lUniversit J. Fourier, 1996. Hall N. G. et Hochbaum D. S. A fast approximation algorithm for the multicovering problem. Discrete Applications of Mathematics, 15:35-40, 1986. Hochbaum D.S., Approximation algorithm for the weighted set covering and vertex cover problems, SIAM Journal of Computing, 11(3): 256-278, 1982. Holland J., Adaptation in Natural and Artificial Systems, Ann Arbor: University of Michigan Press 1976. Heus K. et Weil G., "Nurse Scheduling with Constraint Programming", Proceedings of the Second International Conference Practical Applications of Constraint Technology PACT96. pp. 115-127, 1996. Hung R., Multiple-shift workforce scheduling under the 3-4 workweek with different weekday and weekend labour requirements, Management Science 40(2) 280-284, 1994. Jarrah A.I.Z., Bard J.F. et de Silva A.H., Solving large-scale tour scheduling problems. Management Science, 40(9) : 1124-1144, 1994. Jaquet-Lagrze E., Montaut D. et Partouche A., 1998, The Shift Scheduling problem : Different formulations et solution methods. Foundations of Computing and Decision Sciences. Egalement : Cahier du Lamsade No. 146, Juillet 1997, Universit Paris-Dauphine. Jaumard B., Semet F. et Vovor T., A generalised linear programming model for nurse scheduling, European Journal of Operational Research, vol. 107, 1998, p. 1-18. Johnson D.S., Approximation Algorithms for Combinatorial Problems, Journal of Computer and Systems Sciences, 9: 256 278 , 1974. Jaquet-Lagrze E. et Meziani. Linear Programming and interactivity : a manpower scheduling DSS. IFORS 88, volume Operational Research pg. 176-189, 1988. Kane H., Etude de l'ajustement de la capacit la charge pour une gestion quantitative des ressources humaines en production, Thse de Doctorat, Productique, Juillet 2001, INSA de Lyon, 179 p.

[HB76]

[HE80] [Hen89] [Heu96]

[HH86] tel-00004380, version 1 - 29 Jan 2004 [Hoc82] [Hol76] [HW96]

[Hun94]

[JBS94] [JMP98]

[JSV 98]

[Joh74] [JM88]

[Kan 01]

- 173 -

La bibliographie [KB 01] Kane H., Baptiste P., Adjustment of the capacity to the loading rate: a dynamic model to analysis the workforce costs, Industrial Engineering and Production Management, IEPM 2001, Quebec, in proceedings, vol.1, August 2001, p. 169-177. Keith E., Operator Scheduling. AIIE Transactions, 11: 37-41, 1979. Klasskin P.M., Operating to Schedule Operators, Telephony, July 20, 1973. Kragelund L. V. Solving a timetable problem using hybrid genetic algorithms. Software - Practice and Experience, 27(10):11211134, 1997. Le Kang et White G. M.. A logic approach to the resolution of constraints in timetabling. European Journal of Operational Research, 61:100-112, 1992. Laporte G., Norbert Y. et Biron J., Rotating Schedules, European Journal of Operational Research, 4: 24-30, 1980. Laporte G., The art and science of designing rotating schedules, Journal of the Operational Research Society, 50: 1011-1017, 1999. Lau T.L., Guided Genetic Algorithms, Thesis at the University of Essex, United Kingdom, 1998. Lvine P. et Pomerol J.C., Systmes interactifs daide la dcision et systmes experts, Editions Herms, 1989. ISBN 2-86601-188-0. Mackworth A., Consistency in Networks of Relations, Artificial Intelligence 8: 99-118, 1977. Metropolis N., Rosenbluth A., Rosenbluth M., Teller A. et Teller E., Equation of State Calculations by Fast Computing Machines, Journal of Chemical Physics Vol. 21 : 0187 1092. 1953. Meisels A., Gudes E., and Solotorevsky G., Employee Timetabling, Constraint Networks and Knowledge-Based Rules: A Mixed Approach, Proceedings of the 1st Int. Conf. on the Practice and Theory of Automated Timetabling (Burke E. and Ross P., eds.), LNCS, vol. 1153, Springer Verlag, pp. 93-105, 1996. Meisels A., Gudes E. et Solotorevsky G., Combining Rules and Constraints for Employee Timetabling, Intelligent Systems, Vol. 12, No. 6 pp. 419-439, 1997. Meisels A. et Kaplansky E., Iterative Restart Techniques for solving Employee Timetabling Problems, Session on Timetabling, EURO2001, Rotterdam, Aug. 2001. Norman, D.A. The Design of Everyday Things. Ed. Doubleday, NY. 1990. This book discusses the use of conceptual models and metaphor in the design of objects. [MN91] Moscato P. et Norman M. G.. A mimetic approach for the travelling salesman problem - implementation of computational ecology for combinatorial optimisation on message-passing systems. In Proceedings of the International Conference on Parallel Computing and Transputer Applications. IOS Press (Amsterdam), 1991.

[Kei79] [Kla73] [Kra96] [KW92] [LNB80] [Lap99] [Lau98] tel-00004380, version 1 - 29 Jan 2004 [LP89] [Mac77] [MRT53]

[MGS96]

[MGS97]

[MK01]

[Nor90]

- 174 -

La bibliographie [Moo76] [Mus00] Moondra S.L., An LP model for work force scheduling in banks, Journal of Bank Resources, Vol. 6(4) 299-301, 1976. Muslija N., Grtner J. et Slany W., Efficient Generation of Rotating Workforce Schedules. Proceedings of the Third International Conference on the Practice And Theory of Automated Timetabling, 2000. Nanda R. et Browner J., Introduction to Employee Scheduling. Editor Van Nostrand Reinhold, New York, 1992. This book is mostly concerned with the problem of designing work cycles which will minimize workforce requirements and fulfill various constraints. The constraints treated here include the required number of days off, the maximum number of consecutive work-days, the number of weekend offs, etc. Heuristics for achieving good solutions are described and some are proven to be optimal. An essential part of the OR approach is the optimality requirement and the price for optimality is the avoidance of either complex constraints, or large sets of simple constraints. [Nar00] tel-00004380, version 1 - 29 Jan 2004 [Par98] Narasimhan R., An algorithm for multiple shift scheduling of hierarchical workforce on four-day or three-day workweeks, INFOR 38(1): 14-32, 2000. Partouche A., Thse Planification dhoraires de Travail, Mthodologie, modlisation et rsolution laide de la PLNE et de la PPC, soutenu en 1998. Pomerol J.C., Aide la dcision et IA, Intelligence Artificielle une Discipline et un Carrefour Inter-disciplinaire, AFIA-92 , pp. 147-149. 1992. Rottembourg B., Une Heuristique base de dualit lagrangienne pour la planification de centres dappels tlphoniques, ROADEF2000. Peleg D., Schechtman G., et Wool A., Randomized Approximation of Bounded Multicover Problems, Algorithmica 18(1): 44-66, 1997. Resende M.G.C. et Riberiro C.C., Greedy Randomized Adaptive Search Procedures, State-of-the-Art Handbook in Meta Heuristics, F. Glover and Kochenberger, eds., Kluwer Academic Publishers. Manuscript dated 2001. Rittel H.J. et Webber M.M., Planning problems are Wicked Problems, in N. Cross (ed.), Developments in Design Methodology, John Wiley & Sons, New York, pp. 135-144, 1984. Simonis H. et Cornelissens T., Modelling Producer/Consumer Constraints, Proc. Principles and Practice of Constraint Programming, Cassis France, Sept. 1995. and COSYTEC Internal Note : News on Producers and Consumers, 1997. Segal M., The Operator-Scheduling problem: a network flow approach, Operations Research Vol. 22 No. 4. pp. 808-824. 1974. Smith B. Reducing Symmetry in a Combinatorial Design Problem. Proceedings of CP-AI-OR 2001 pp. 351-359. Wye College, UK, 2001. Schaerf A. et Schaerf M. Local search techniques for high school timetabling. In Proc. of the 1st Intl. Conf. on the Practice and Theory of Automated Timetabling, pp. 313-323,1995.

[NB92]

[Pom92] [Rot00] [PSW97] [RR01]

[RW84]

[SC95]

[Seg74] [Smi01] [SS95]

- 175 -

La bibliographie [Tho88] [Tho93] Thompson G.M. Representing employee requirements in labour tour scheduling, Omega 21:657-671, 1988. Thompson G., Accounting for the multi-period impact of service when determining employee requirements for labour scheduling, Journal of Operations Management 11:69-287, 1993. Thompson G., Improved Implicit Optimal Modelling of the Labour Shift Scheduling problem, Management Science, 41 (4) 595-607, 1995. Trmolires R., Le Problme des roulements de quarts pour les entreprises feu continu, Revue Franaise dAutomatique et Recherche Oprationnelle. 10 (2) :1-101. 1976 Tsang E., Foundations of Constraint Satisfaction. Academic Press, 1993. ISBN 0-12-701610-4 Weil G. et Heus K. Eliminating interchangeable values in the nurse scheduling problem formulated as a constraint satisfaction problem. In Paper presented at the workshop CONSTRAINT'95, 1995. Weil G., Heus K., Chan P. et Franois P. : The Nurse Scheduling Problem: a combinatorial problem, solved by the combination of constraint programming and real users heuristics. In Medinfo98. B. Cesnik et al. (Eds.) IOS Press ; Amsterdam. pp 508-512, 1998. Weil G., Heus K., Puget F. et Poujade M. Solving the nurse scheduling problem using constraint programming. IEEE Engineering in Medicine and Biology, July-August 1995. Weil G., Heus K. et Puget F., Gymnaste: Aide lElaboration des Roulements Infirmiers. Du Traitement des Absences aux Management Participatif Eds. J. Demongeot, P. Le Beux et G. Weil, Springer Verlag, Paris, Informatique et Sant, 7, pp. 147-160, 1994. William H.P., Model Building in Mathematical Programming, Ed. John Wiley & Sons. Copyright 1991. ISBN 0 471 92581 0 (paperback). Williamson D.P. Lecture notes on Approximation Algorithms. Cours de Recherche Oprationnelle et Ingnierie Industrielle. Cornell University. Warner D.M. et Prawda J. A mathematical programming model for scheduling nursing personnel in a hospital. Management Science, 19(4):411-422, 1972

[Tho95] [Tr76]

[Tsa93] [WH95]

tel-00004380, version 1 - 29 Jan 2004

[WHC+98]

[WHP+95]

[WHP94]

[Wil91] [Wil98] [WP72]

- 176 -

La bibliographie

7.3 INDEX DES REFERENCES PAR AUTEUR


Aggoun A.36, 88, 165, 171, 173, 180, 181 Aickelin U. ................................. 171, 180 Arthur J.L..................... 17, 171, 180, 181 Aykin T. ......................... 32, 33, 171, 180 Baker K.R. ..... 27, 39, 171, 172, 180, 181 Balakrishnan N. ..... 48, 49, 172, 180, 181 Baptiste P. ......................................... 175 Bard J.F......................... 33, 55, 174, 180 Bartholdi J.J. ............... 40, 172, 180, 181 Bar-Yehuda R...................... 60, 171, 180 Beasley J.E. ........................ 52, 171, 180 Bechtold S.E............ 30, 31, 33, 172, 180 Beldiceanu N.36, 38, 163, 165, 169, 171, 180, 181 Berry W.L. ........................... 17, 174, 180 Berthier F. ................... 88, 173, 180, 181 Biron J. ............ 46, 47, 48, 175, 180, 181 Bourreau E. ............................... 171, 180 Browner J. ................... 47, 176, 180, 181 Brusco M.J. ..... 17, 29, 42, 172, 180, 181 Burgess W.J........................ 22, 171, 180 Burke E.K. ........................................... 53 Burns R.N........ 33, 69, 70, 171, 173, 180 Busby R.E. .......................... 22, 171, 180 Byrne J.L. .................... 17, 172, 180, 181 Cai X........................ 33, 34, 52, 173, 180 Carter M.W.................... 33, 69, 171, 180 Caseau Y.42, 45, 72, 73, 106, 139, 172, 180 Cezik T. ............................... 41, 172, 180 Chan P.13, 17, 22, 23, 38, 78, 154, 171, 172, 173, 177, 180, 181 Chew K.L. ............................ 17, 172, 180 Chiarandini M. ............. 56, 173, 180, 181 Choueiry B.Y. ............................ 172, 180 Chu P.C............................... 52, 171, 180 Chvtal V............................. 60, 172, 180 Contejean E............... 163, 169, 171, 180 Cornelissens T. ........... 36, 176, 180, 181 Costa D. .................................... 173, 180 Dantzig G.B. .................. 17, 28, 173, 180 Dawkins R. .......................... 53, 173, 180 de Silva A.H................... 33, 55, 174, 180 Dincbas M. .................. 88, 173, 180, 181 Divreau D. ................................. 171, 180 Eiben A.E. ........................... 51, 173, 180 - 177 Emmons H........................... 70, 173, 180 Even S................................. 60, 171, 180 Fallet V.............................................. 172 Feo T.A. ...................... 56, 173, 180, 181 Franois P. ...... 13, 23, 78, 177, 180, 181 Grtner J. ........ 47, 48, 49, 176, 180, 181 Glover F. ............................. 55, 173, 180 Gomes C. ............................ 55, 173, 180 Graf T. ......................... 88, 173, 180, 181 Grossman T. ............... 60, 174, 180, 181 Gudes E. . 42, 43, 89, 107, 175, 180, 181 Guillo P.Y.42, 45, 72, 73, 106, 139, 172, 180 Gnlk O. ............................ 41, 172, 180 Hall N.G. ............................. 61, 174, 180 Henderson W.B................... 17, 174, 180 Heus K.13, 23, 24, 42, 78, 104, 172, 174, 177, 180, 181 Hochbaum D.S. ............. 60, 61, 174, 180 Holland J. ............................ 50, 174, 180 Hung R. ............................... 69, 174, 180 Jacobs L.W. 29, 30, 31, 33, 42, 172, 180 Jaquet-Lagrze E........ 17, 174, 180, 181 Jarrah A.I.Z. .................. 33, 55, 174, 180 Jaumard B. ........................................ 174 Johnson D.S.................. 59, 60, 174, 180 Joseph R. .................. 154, 172, 180, 181 Kane H. ..................................... 174, 175 Kaplansky E. ............... 55, 175, 180, 181 Kautz H. .............................. 55, 173, 180 Kay P........................... 38, 171, 180, 181 Keith E................................. 17, 175, 180 Klasskin P.M. ...................... 29, 175, 180 Kragelund L......................... 53, 175, 180 Laguna M. ................................. 173, 180 Laporte G. . 46, 47, 48, 49, 175, 180, 181 Lau T.L. ............................... 51, 175, 180 Le Kang....................... 45, 175, 180, 181 Levenez E.42, 45, 72, 73, 106, 139, 172, 180 Lvine P. ..................... 65, 175, 180, 181 Li K.N. ..................... 33, 34, 52, 173, 180 Luss H. ................................ 41, 172, 180 Mackworth A................ 77, 163, 175, 180 Magazine M....................... 172, 180, 181 Meisels A.42, 43, 55, 89, 107, 175, 180, 181

tel-00004380, version 1 - 29 Jan 2004

Les publications par auteur Metropolis N. ....................... 53, 175, 181 Meziani ........................ 17, 174, 180, 181 Montaut D.......................... 174, 180, 181 Moondra S.L.................. 29, 31, 176, 181 Moscato P. .......................... 53, 175, 181 Muslija N.......... 47, 48, 49, 176, 180, 181 Nanda R. ..................... 47, 176, 180, 181 Narasimhan R. .............. 70, 71, 176, 181 Newall J.P. .......................................... 53 Norbert Y. ........ 46, 47, 48, 175, 180, 181 Norman D.A................... 63, 64, 175, 181 Norman M.G. ....................... 53, 175, 181 Partouche A.14, 15, 24, 25, 35, 38, 42, 44, 48, 138, 159, 170, 174, 176, 180, 181 Peleg D................................ 61, 176, 181 Pomerol J.C......... 65, 175, 176, 180, 181 Potts R.B. .................... 17, 172, 180, 181 Poujade M. ........................ 177, 180, 181 Prawda J. ............................ 17, 177, 181 Puget F.............................. 177, 180, 181 Ratliff H.D. ................... 40, 172, 180, 181 Ravidran A................... 17, 171, 180, 181 Resende M.G.C.56, 57, 173, 176, 180, 181 Riberiro C.C. ....................... 57, 176, 181 Rittel H.J.................................... 176, 181 Rosenbluth A....................... 53, 175, 181 Rosenbluth M. ..................... 53, 175, 181 Rottembourg B. ................... 24, 176, 181 Schaerf A. ........... 56, 173, 176, 180, 181 Schaerf M............................ 56, 176, 181 Schechtman G..................... 61, 176, 181 Segal M. ........................ 17, 68, 176, 181 Semet F............................................. 174 Showalter M.J. ............ 17, 172, 180, 181 Simonis H.36, 38, 88, 171, 173, 176, 180, 181 Slany W........... 47, 48, 49, 176, 180, 181 Smith B................................ 92, 176, 181 Solotorevsky G.42, 43, 89, 107, 175, 180, 181 Stafford Beer ................. 24, 25, 171, 181 Thompson G. ................ 17, 31, 177, 181 Tiozzo F. ..................... 56, 173, 180, 181 Trmolires R...................... 47, 177, 181 Tsang E............................... 43, 177, 181 Van Hentenryck P.88, 136, 173, 174, 180, 181 Vovor T.............................................. 174 Warner D.M......................... 17, 177, 181 Weare R.R. ......................................... 53 Webber M.M. ............................ 176, 181 Weil G.13, 17, 22, 23, 78, 154, 172, 173, 174, 177, 180, 181 White G. M. ................. 45, 175, 180, 181 William H.P. ........................ 41, 177, 181 Williamson D.P.................... 59, 177, 181 Wong R.T.............. 48, 49, 172, 180, 181 Wool A. ......... 60, 61, 174, 176, 180, 181

tel-00004380, version 1 - 29 Jan 2004

- 178 -

La bibliographie

7.4 LISTE DES PUBLICATIONS PAR AUTEUR


Aggoun A. Aickelin U. Arthur J.L. Aykin T. Baker K.R. Balakrishnan N. Bard J.F. Bartholdi J.J. Bar-Yehuda R. Beasley J.E. Bechtold S.E. Beldiceanu N. Berry W.L. [AB93], [DHS+88] [Aic99] [AR81] [Ayk96] [Bak74], [Bak76], [BM77] [BW90] [JBS94] [BR78] [BE81] [BC96] [BJ90], [BJ96] [AB93], [BBC+96], [BBC+97], [BSK+97a], [BSK+97b] [HB76] [DHS+88 [LNB80] [BBC+96], [BBC+97] [NB92] [BJ93], [BJ00], [BS93] [BB92] [BC85], [EB91] [BB92] [BP73] [CL00] [BC85] [CGL95] [CGL01] Hochbaum D. S. Holland J. Hung R. Jacobs L.W. Jaquet-Lagrze E. Jarrah A.I.Z. Johnson D.S. Joseph R. Elliot G.L. Emmons H. Even S. Feo T.A. Franois P. Fallet V. Grtner J. Glover F. Gomes C. Graf T. Grossman T. [BC94], Gudes E. Guillo P.Y. Gnlk O. Hall N. G. Haralick R.M. Henderson W.B. Heus K. [HE80] [EB91] [BE81] [FR95] [WHC+98] [CFW02] [Mus00] [Glo89], [GL93] [GK98] [DHS+88] [GW97] [MGS96], [MGS97] [CGL95] [CGL01] [HH86] [HE80] [HB76 [CHW98], [Heu96], [HW96], [WH95], [WHC+98], [WHP+95], [WHP94] [HH86], [Hoc82] [Hol76] [Hun94] [BJ90], [BJ96], [BJ93], [BJ00] [JMP98], [JM88] [JBS94] [Joh74] [CJW02] [MK01] [GK98] [BSK+97a], [BSK+97b] [Kei79] [Kla73] [Kra96] [GL93] [LNB80], [Lap99] [Lau98] [KW92] [CGL95] [LP89] [CL00] [CGL01] [Mac77] [BM77] [MGS96], [MGS97], [MK01]

tel-00004380, version 1 - 29 Jan 2004

Berthier F. Biron J. Bourreau E. Browner J. Brusco M.J. Burgess W.J. Burns R.N. Busby R.E. Byrne J.L. Cai X. Carter M.W., Caseau Y., Cezik T. Chan P.

[BBC+96], [BBC+97], [BSK+97a], Kaplansky E. [BSK+97b], [CHW98], [CJW02], [CW00], Kautz H. [CFW02], [CW02], [WHC+98] [Che91] [CST00] [Cho94] [BC96] [Chv79] [BC94] [SC95] [Cos94] [Dan54] [Daw76] [JBS94] [DHS+88] [BBC+96], [BBC+97] [Eib01] Kay P. Keith E. Klasskin P.M. Kragelund L. Laguna M. Laporte G. Lau T.L. Le Kang Levenez E. Lvine P. Li K.N. Luss H. Mackworth A.

Chew K.L. Chiarandini M. Choueiry B.Y. Chu P.C. Chvtal V. Contejean E. Cornelissens T. Costa D. Dantzig G.B. Dawkins R. de Silva A.H. Dincbas M. Divreau D. Eiben A.E.

Magazine M. Meisels A.

- 179 -

Les publications par auteur


Metropolis N. Meziani Montaut D. Moondra S.L. Moscato P. Muslija N. Nanda R. Narasimhan R. Norbert Y. Norman M.G. Norman D.A. Partouche A. Peleg D. Pomerol J.C. Potts R.B. Poujade M. Prawda J. [MRT53] [JM88] [JMP98] [Moo76] [MN91] [Mus00] [NB92] [Nar00] [LNB80] [MN91] [Nor90] [JMP98], [Par98] [PSW97] [LP89], [Pom92] [BP73] [WHP+95] [WP72] [WHP+95] [WHP94] [BR78] [AR81] [FR95], [RR01] [RR01] [RW84] [MRT53] [MRT53] [Rot00] [CST00], [SS95] [SS95] [PSW97] [Seg74] [BS93] [DHS+88], [SC95], [BSK+97a], [BSK+97b] [Mus00] [Smi01] [MGS96], [MGS97] [Bee66] [Tho88], [Tho93], [Tho95] [CST00] [Tr76] [Tsa93] [DHS+88], [Hen89] [WP72] [RW84] [CHW98], [CJW02], [CW00], [CFW02], [CW02], [HW96], [WH95], [WHC+98], [WHP+95], [WHP94] White G. M. William H.P. Williamson D.P. Wong R.T. Wool A. [KW92] [Wil91] [Wil98] [BW90] [GW97], [PSW97]

tel-00004380, version 1 - 29 Jan 2004

Puget F. Puget F. Ratliff H.D. Ravidran A. Resende M.G.C. Riberiro C.C. Rittel H.J. Rosenbluth A. Rosenbluth M. Rottembourg B. Schaerf A. Schaerf M. Schechtman G. Segal M. Showalter M.J. Simonis H. Slany W. Smith B. Solotorevsky G. Stafford Beer Thompson G. Tiozzo F. Trmolires R. Tsang E. Van Hentenryck P. Warner D.M. Webber M.M. Weil G.

- 180 -

Les publications par auteur

THSE
Prsente par

CHAN Yew Cheong, Peter


Pour obtenir le titre de

DOCTEUR de lUNIVERSITE JOSEPH FOURIER Grenoble 1


Spcialit : Informatique Formation doctorale : Recherche Oprationnelle tel-00004380, version 1 - 29 Jan 2004

La planification du personnel : acteurs, actions et termes multiples pour une planification oprationnelle des personnes
Date de soutenance : Octobre 2002

Composition du Jury : Directeur de thse: Rapporteurs : Examinateurs: M. Georges Weil M. Abdelhakim Artiba M. Alain Guinet M. Jean Charles Pomerol M. Gerd Fink M. Eric Jacquet-Lagrze M. Jacques Demongeot

Thse prpare au sein du Laboratoire TIMC Institut IMAG

- 181 -

You might also like