• Aucun résultat trouvé

V.2 Approche basée sur la logique oue

V.2.3 Évaluation de la robustesse

Pour obtenir un ordonnancement robuste après l'insertion d'une nouvelle tâche, il faut bien choisir l'emplacement dans lequel celle-ci sera insérée. La dénition que nous avons retenue pour caractériser un ordonnancement robuste est celle de Billaut [Billaut et al., 2005] que nous avons évoqué au chapitre II : "Un ordonnancement est robuste si sa performance est peu sensible à l'incertitude des données et aux aléas". Lorsqu'une tâche est insérée dans un ordonnancement, elle est le plus souvent placée entre deux tâches déjà présentes (sauf si elle est placée en début ou en n d'ordonnancement). Ces emplacements sont appelés fenêtres d'insertions (comme présenté sur la gure III.8). Dans un problème basé sur des données déterministes, la taille de ces fenêtres est xe. Cependant, dans le contexte des activités de maintenance, la taille de ces fenêtres peut être diérente de celle prévue du fait des données incertaines. La durée de la tâche à insérer peut, elle aussi, varier. Cela signie que l'on peut insérer une tâche dans une fenêtre, dont la durée est jugée plus grande que celle de la tâche, et que, par le biais de l'incertitude, la durée de la tâche soit, nalement, plus grande que celle de la fenêtre. Finalement, cela générerait nécessairement des retards dans le traitement d'au moins l'une des tâches de l'ordonnancement. Un ordonnancement robuste est déni comme étant peu sensible aux perturbations [Leon et al., 1994].

Wu et al. ont développé une méthodologie pour mesurer la robustesse d'un ordonnan- cement et pour réaliser un ordonnancement robuste en cas d'arrêts dus à des contrôles (qualité par exemple).

V.2 Approche basée sur la logique oue 137

Une autre mesure de la robustesse d'un ordonnancement a été dénie par Chen and Muraki [Chen et al., 1997] pour l'ordonnancement de lot de production. Celle-ci est utilisée pour l'ordonnancement de lot de production qui se succèdent sur des unités de production. Les durées de traitement peuvent varier. Dans ce contexte, ils utilisent la logique oue pour modéliser les dates de n de traitement de lots et les dates de début des lots suivants. Les lots de produits peuvent avoir une durée de traitement plus longue sur une machine et le lot suivant, devant être traité sur cette machine peut arriver avant que son traitement ne soit terminé. Cela entraîne alors un conit qui aura un impact sur la date de n de l'ordonnancement. Une pondération est utilisée pour caractériser l'importance des conits. Le contexte de la maintenance est diérent. Les tâches ne se succèdent pas sur les diérentes ressources. De plus, pour les tâches de maintenance qui se succèdent sur une même ressource, il n'y a pas de question de conit d'occupation. Dans le contexte de la maintenance, le dépassement des due-dates peut être assimilé a un conit entre la date de n d'une tâche et sa due-date. Une adaptation de cette mesure est dénie comme étant la moyenne des degrés de conit sur les contraintes individuelles entre une tâche et sa contrainte de due-date, comme on peut l'observer sur le troisième schéma de la gure V.4, dans laquelle la fonction d'appartenance µlateness(t)montre le

potentiel de retard.

La fonction d'appartenance µlateness(t)est obtenue à partir de l'équation V.14. Cepen-

dant, la robustesse représente le fait que la performance soit peu sensible aux incerti- tudes. Cela correspond à la complémentarité de la fonction µlateness(t) que l'on notera

µin timej(t). µlatenessj(t) = max  minnµC˜i,j(t), µd˜j(t) o (V.14) La fonction d'appartenance µin timej(t)est alors obtenue par l'équation V.15.

µin timej(t) = 1 − µlatenessj(t) (V.15) Étant donné que cette sensibilité aux incertitudes se répercute sur les retards pondérés et que les contraintes n'ont pas la même importance (respect des diérentes due-dates), nous introduisons le facteur de pénalité weightj (décrit dans l'équation V.16) pour pondérer

les diérents conits de l'équation V.17. Sa valeur est obtenue à partir des poids déjà évoqué au chapitre III. Sous cette forme la valeur maximum de weightj étant de 1, il

permet de conserver une pondération du conit allant jusqu'à 1. n représente l'ensemble des conits présents dans un ordonnancement S et R (S) donnera alors son niveau de robustesse. Un ordonnancement robuste aura alors un niveau de robustesse R (S) = 1 contrairement à un ordonnancement très sensible aux variations qui obtiendra R (S) = 0.

weightj = wj/ max

138 Chapitre V

Fig. V.5  Exemple d'obtention de la durée eective d'une tâche préventive

R (S) = 1 n n X j=1 µin timej∗ weightj (V.17) V.2.3.1 Modèle mathématique

Sachant que seule la variable d'objectif R(S) utilise des données oues, le problème multi- critère peut alors être reformulé de la sorte :

min n P j=1 Uj, σ(S), n P j=1 modj, max R(S), De sorte que : Pn j=1 xij = 1, ∀i ∈ {1, ..., m}, et ˜tj > ˜rj, ∀j ∈ {1, ..., n},

avec ˜Tj = max(O, ˜Cj− ˜˜dj) et ˜Ci,j = ∼ max  ˜ rj, ˜Ci,pred(j)  ˜ +˜pi,j. V.2.3.2 Exemple

An d'imager ce que nous avons décrit précédemment, nous allons décrire une application simple, qui consiste à évaluer la robustesse d'un ordonnancement. Nous allons donc reprendre l'exemple de la tâche de maintenance préventive, décrite dans le paragraphe précédent, et mettre des valeurs numériques pour l'expliquer.

Il s'agit donc de la tâche j, aectée à la ressource i. La gure V.5 présente sur le premier schéma la durée de base pj = 3 de cette tâche de maintenance préventive. Sa durée

eective (celle que réalisera la ressource de l'exemple) est obtenue par le produit de cette durée de base et du taux de compétence de la ressource, présenté sur le deuxième schéma et déni par le triplet ˜Compi,crj =(1,4-1,5-1,6). La durée eective oue est alors égale à pij = 3 ∗ 1, 4; 3 ∗ 1, 5; 3 ∗ 1, 6 = 4, 2; 4, 5; 4, 8.

V.2 Approche basée sur la logique oue 139

Fig. V.6  Exemple d'obtention d'une date de début au plus tôt

i. On s'aperçoit sur le premier schéma de la gure V.6 qu'en eet, la tâche j a une tâche qui la précède. La date de n de cette tâche (ou completion date) est alors le triplet

˜

Cpred(j)= (5, 5−6, 5−7, 5). La date de début au plus tôt dépend alors de ce prédécesseur mais aussi de sa date de disponibilité correspondant au triplet ˜rj = (1−4−7). L'opérateur

ou ˜max est alors utilisé pour obtenir la date de début au plus tôt de la tâche j (ESij),

présentée sur le deuxième schéma de la gure V.6. ˜ ESij = ∼ max˜rj; ˜Ci,pred(j)  ˜ ESij = ∼ max ((1; 4; 7); (5, 5; 6, 5; 7, 5)) ˜ ESij = 

max (1; 5, 5) ,max (4; 6, 5) ,∼ max (7; 7, 5)∼ 

˜

ESij = (5, 5; 6, 5; 7, 5)

Dès lors que la date de début au plus tôt de la tâche j est établie, nous pouvons obtenir sa date de n de traitement oue Cj (Completion date) et en étudier la position par

rapport à sa due-date. La date de n présentée sur le premier schéma de la gure V.7 est obtenue en utilisant l'opérateur d'addition ou ˜+.

˜ Cj = ˜ESj+˜˜pij ˜ Cj = (5, 5; 6, 5; 7, 5) ˜+(4, 2; 4, 5; 4, 8) ˜ Cj = (9, 7; 11; 12, 3)

Le deuxième graphique de la gure V.7 permet alors d'observer l'intersection entre les intervalles (−∞; ˜Cij[et [ ˜dj; +∞), agrandis sur le troisième schéma.

Nous obtenons alors µlatenessj = 0, 3 (calcul détaillé dans l'annexe E). µin timej = 1 − 0, 3 = 0, 7.

Pour l'exemple wj = 7, wpred(j) = 5 Cette tâche ayant le niveau de pondération le plus

élevé, max

j (wj) = 7 donc weightj = wj/ maxj (wj) = 7/7 = 1. Le niveau de robustesse de

cet ordonnancement S est alors obtenu par la formule suivante : R (S) = n1 n P j=1 µin timej∗ weightj = 1 1 1 P j=1 0, 7 ∗ 1 = 0, 7.

140 Chapitre V

Le niveau de robustesse de cet ordonnancement suivant le critère des retards pondérés est de 0,7.