• Aucun résultat trouvé

Processus de résolution d'un problème d'ordonnancement avec incertitudes

De manière globale, la résolution pratique d'un problème d'ordonnancement dans un environnement dynamique et perturbé nécessite les étapes suivantes [GOThA 02] :

- étape 0 : dénition du problème statique avec spécication des incertitudes et leur modélisation ;

- étape statique : calcul d'un ensemble de solutions par un algorithme statique α. On parle aussi d'ensemble d'ordonnancements de référence ("baseline schedules") ; - étape dynamique : lors de l'exécution, calcul d'une solution unique (eectivement

mise en ÷uvre) par un algorithme dynamique δ.

À l'issue de la phase statique, un ensemble d'ordonnancements prévisionnels est déni par application de l'algorithme α. Partant de la solution prévisionnelle, l'ordonnancement dynamique doit choisir la solution qui sera réellement mise en exécution. Pour juger de la performance de la solution mise en ÷uvre, des mesures génériques de robustesse sont proposées pour évaluer si la solution choisie est la plus robuste.

Il est à noter que, lorsque la solution prévisionnelle proposée par l'algorithme statique est constituée d'un ensemble d'ordonnancements, la qualité de cette solution est forcément évaluée par un ensemble de valeurs possibles, et peut ainsi être caractérisée soit par une valeur moyenne, ou bien par les valeurs extrêmes, i.e. la qualité dans le meilleure des cas et la qualité dans le pire des cas [Aloulou et al. 02], [Briand et al. 03b] et [Briand et al. 03a].

2.5 Les mesures de performance 27

De manière globale, dans les environnements d'application soumis à perturbation, les approches de résolution proposées dans la littérature pour l'ordonnancement se diéren- cient par la nature des décisions prises durant les étapes de résolution du problème : statiques et dynamiques. Longtemps, les approches déterministes ont prédominé, suppo- sant implicitement que l'ordonnancement statique peut être appliqué comme prévu. Il est aujourd'hui irréaliste d'ignorer l'aspect dynamique et incertain de l'environnement d'appli- cation. On signale toutefois, que l'ordonnancement stochastique a été proposé dès l'origine pour prendre les incertitudes en compte, même si la diculté à mettre en ÷uvre de façon pratique une telle approche a limité son développement. Une voie nouvelle, l'ordonnance- ment robuste, s'est imposée ces dernières années et s'est posée en intermédiaire entre les approches purement déterministes et celles purement en-ligne [Sanlaville 05]. Une classi- cation des méthodes d'ordonnancement robustes est décrite dans la Partie III. La section suivante introduit les notions qui permettent de prendre en compte les incertitudes en ordonnancement, à savoir la exibilité et la robustesse.

2.5 Les mesures de performance

2.5.1 Flexibilité

Le terme exibilité est déni dans [GOThA 02] comme la liberté dont on dispose du- rant la phase de mise en ÷uvre de l'ordonnancement. Elle est vue comme l'existence de modications possibles au sein d'un ordonnancement statique (calculé hors-ligne) entraî- nant des pertes de performances restant acceptables ou nulles. Elle peut aussi être associée à l'existence d'une famille d'ordonnancements pouvant être acceptée à l'exécution, sans privilégier un ordonnancement en particulier.

On trouve toutefois d'autres dénitions relatives aux ordonnancements exibles. Herro- lelen et Leus, dans [Herroelen & Leus 04b] dénissent un ordonnancement exible comme étant un ordonnancement ayant la capacité d'être réparé facilement, i.e. modiable en un nouveau ordonnancement de haute qualité.

Deux formes de exibilité ont aussi été mises en évidence suivant le contexte de l'étude : statique et dynamique [Pujo & Brun-Picard 02].

La exibilité statique d'une solution d'un problème d'ordonnancement réside dans la capacité des contraintes manipulées à autoriser plusieurs stratégies de décision pouvant être acceptées à l'exécution [Pujo & Brun-Picard 02]. On distingue alors dans ce cas plu- sieurs types de exibilité [Billaut et al. 05] :

- la exibilité sur le temps ou exibilité temporelle, existe lorsque les dates de début et de n des opérations peuvent varier. Une telle exibilité autorise d'avancer ou de

28 Limites des hypothèses classiques en ordonnancement retarder certaines opérations si les conditions le permettent. Elle est souvent présente de manière implicite et est induite par la plupart des autres formes de exibilité en ordonnancement ;

- la exibilité sur les ordres ou exibilité séquentielle autorise des modications de l'ordonnancement en cours d'exécution, et ce au niveau de l'ordre de passage des opé- rations (séquences) sur chaque ressource. L'introduction de cette exibilité impose de manipuler non pas un seul ordonnancement, mais une famille d'ordonnancements possibles. De ce fait, il est plus dicile, en évitant la combinatoire liée à une énumé- ration exhaustive et systématique des solutions, de déterminer la performance d'une famille d'ordonnancements, ces derniers ne possédant pas tous une performance iden- tique. Notons que cette exibilité suppose toutefois une présence plus importante de exibilité temporelle ;

- la exibilité sur les ressources ou exibilité sur les aectations. Les ressources existent dans ce cas en plusieurs exemplaires. Cette forme de exibilité est présente lorsqu'on autorise l'exécution d'une tâche sur une autre ressource que celle prévue initialement. Elle est nécessaire et est de grande utilité lorsque, par exemple, une machine tombe en panne. Elle suppose implicitement la présence d'une exibilité séquentielle et tem- porelle ;

- la exibilité sur les modes d'exécution existe lorsqu'il est possible de changer le mode d'exécution des opérations (préemption autorisée, changement de gammes, etc.) pour pallier une situation dicile, au prix d'une dégradation de la performance. Cette exi- bilité requiert de la exibilité séquentielle et temporelle, et dans certains cas de la exibilité sur les aectations ;

- la exibilité de l'environnement de l'entreprise. Il s'agit par exemple de la possibilité de négocier des délais avec des clients, ou de faire appel a un sous-traitant pour ac- croître temporairement la capacité de travail.

Nous rappelons que les formes de exibilité citées précédemment sont de type statique. La exibilité dynamique (décisionnelle) d'un ordonnancement correspond à la capacité d'un algorithme à adapter l'ordonnancement obtenu hors-ligne, lorsque les contraintes uctuent (suite à des aléas), de manière à satisfaire les objectifs qui lui sont assignés, en exploitant au mieux la exibilité statique disponible.

Pour tout type de exibilité, un outil quantitatif de mesure, appelé indicateur de exi- bilité est déni pour traduire le niveau de exibilité obtenu. On peut ainsi considérer la cardinalité de la famille d'ordonnancement proposé statiquement comme une mesure de exibilité. D'autres approches proposent de mesurer a posteriori la exibilité proposée en

2.5 Les mesures de performance 29 comparant la qualité de la solution exible avec celle de la solution non exible.

Le terme robustesse apparaît de plus en plus en ordonnancement. La notion de ro- bustesse est étroitement liée à la exibilité. Pour un ensemble de perturbations que l'on caractérise à priori, dégager de la exibilité peut permettre de faire face à ces perturba- tions, et donc d'être robuste. Nous discutons de cette notion de robustesse dans ce qui suit.

2.5.2 Robustesse

Il existe dans la littérature plusieurs dénitions de la robustesse en ordonnancement, en voici quelques unes :

-  La robustesse est vue comme la capacité d'un centre à produire des décisions com- patibles avec les contraintes des centres inférieurs  [Pujo & Brun-Picard 02]. -  La robustesse caractérise les performances d'un algorithme (ou plutôt d'un processus

complet de construction d'un ordonnancement) en présence d'aléas  [GOThA 02]. -  La robustesse d'une solution c'est son insensibilité aux changements des para-

mètres  [Hall & Posner 04].

-  Le paradigme classique en programmation mathématique est de développer un mo- dèle qui suppose que les données d'entrée sont connues et égales à leur valeur nomi- nale. Cependant, cette approche ne prend pas en compte l'eet des incertitudes sur ces données qui inuence la qualité et la faisabilité du modèle. Il est en eet possible que les valeurs des données dièrent de leur valeur nominale, induisant ainsi le viol de plusieurs contraintes, et rendant la solution optimale trouvée à partir des valeurs nominales, de mauvaise qualité, voire infaisable. Cette constatation montre l'intérêt de concevoir des approches de résolution qui soient insensibles aux incertitudes, c'est- à-dire robustes.  [Bertsimas & Sim 04].

-  Un ordonnancement robuste est un ordonnancement dont la violation de ses hypo- thèses ont une conséquence moindre ou nulle sur cet ordonnancement  [Le Pape 91]. -  Un ordonnancement robuste est un ordonnancement qui a de fortes chances de res-

ter valide même en subissant de grand nombre de perturbations  [Leon et al. 94]. -  Un ordonnancement robuste est un ordonnancement capable d'absorber une certaine

30 Limites des hypothèses classiques en ordonnancement -  Un ordonnancement est robuste si sa performance est peu sensible à l'incertitude des données et aux aléas [...] La robustesse d'un ordonnancement caractérise donc cette performance  [Billaut et al. 05]

De manière générale, le terme robuste est employé pour qualier un ordonnancement dont les performances sont acceptables vis-à-vis d'un ensemble d'incertitudes identié a priori. À travers l'étude de la robustesse d'un processus global d'ordonnancement, on re- cherche des garanties de performances sur l'ordonnancement réalisé en présence d'aléas. Par performance, il est sous entendu, la qualité d'un ordonnancement (valeur de la fonction ob- jectif) et aussi, d'autres mesures envisageables comme la stabilité de l'ordonnancement (solution robustness) ou la stabilité par rapport au critère de performance (quality robust- ness).

Il est important de pouvoir mesurer la robustesse an de pouvoir déterminer quelle solution est plus robuste qu'une autre. Plusieurs outils quantitatifs de mesure de robus- tesse sont alors proposés. L'objectif étant de minimiser la mesure de déviation entre les performances prédites et les performances réalisées. Lorsque la mesure de robustesse est minimale, l'ordonnancement est dit robuste. De nombreux exemples de métriques de ro- bustesse sont proposés dans [GOThA 02], [Billaut et al. 05] et [Sanlaville 05] .

Ainsi, la robustesse de la qualité (quality robustness) associée à une solution est généra- lement utilisée quand la performance de l'ordonnancement est mesurée par la valeur de la fonction objectif [Sevaux & Sörensen 02]. La mesure de cette robustesse est exprimée dans ce cas par l'écart entre la valeur du critère d'optimisation Z donné par l'ordonnancement de référence S0 et l'ordonnancement réellement mis en ÷uvre S pour un scénario I donné.

Dans le cas où les données sont modélisées de manière stochastique, on cherche alors à minimiser l'espérance de cette distance.

La robustesse de la solution (solution robustness) mesure la stabilité de l'ordonnan- cement. Elle ne tient pas compte du critère de performance [Sanlaville 05]. Cette mesure cherche dans ce cas à minimiser soit, le plus grand écart (noté d) entre deux solutions SI et S′

I pour deux instances I et I′ de P (P étant le problème statique avec description des incertitudes) donné par R = maxI,I′∈Pd(SI, SI), ou bien à minimiser le plus grand écart

par rapport à un ordonnancement de référence ˜S donné par R′ = maxI∈Pd(SI, ˜SI). On cherche en fait à construire le plus petit ensemble possible d'ordonnancements compatibles avec l'incertitude prise en compte.

Plusieurs auteurs [Bertsimas & Sim 04], [Esswein 03] et [Briand et al. 03b] mettent en évidence que la robustesse a un prix. En eet, plus la solution est robuste (insensible aux incertitudes) et plus la performance est mauvaise, et inversement. De ce fait, d'autres

2.6 Résolution centralisée/distribuée des problèmes 31