• Aucun résultat trouvé

Une approche d'ordonnancement robuste à une machine

Nous avons vu dans la PartieII que le Théorème des pyramides permet de caractériser pour chaque problème V déni par une structure d'intervalles, un ensemble de séquences dominantes Sdom dont la cardinalité peut être calculée. Cet ensemble dépend de l'ordre total existant entre les dates de disponibilité rj et les dates d'échéance dj des travaux, mais ne dépend pas des valeurs numériques de ces dates (tant que l'ordre total est respecté) ainsi que des valeurs des durées opératoires.

Notons que la qualité de cet ensemble dominant peut être calculée en temps polynomial (cf. [La 04]). En eet, étant donné un problème V et son ensemble Sdom de séquences domi- nantes, il est possible d'associer à chaque travail j un intervalle de retard noté [Lmin

j , Lmaxj ], où Lmin

j (resp Lmaxj ) désigne le meilleur (resp le pire) retard algébrique de j parmi toutes les séquences de Sdom. Cet intervalle de retard se calcule en temps polynomial grâce à la détermination, pour chaque travail j, des séquences au mieux et au pire, c'est-à-dire des séquences induisant le plus petit et le plus grand retard pour le travail considéré parmi toutes les séquences de Sdom. Dans la suite, nous montrons comment sont calculées ces performances.

6.2.1 Évaluation des performances d'un ensemble dominant

On rappelle que dans la suite, u(j) et v(j) désignent respectivement les indices de la première et de la dernière pyramide à laquelle peut être aecté un travail j.

6.2.1.1 Calcul de la performance au mieux d'un travail Pour calculer Lmin

j , il faut minimiser la longueur du chemin critique associé à j. Cela revient à aecter j à la première pyramide d'indice u(j) et de ne considérer que les tra- vaux nécessairement séquencés, en cohérence avec la structure de pyramides, avant j (i.e. l'ensemble P redmin

j des travaux k tel que v(k) < u(j)). Déterminer Lmin

j revient alors à minimiser la durée totale Cmax du problème d'ordon-

nancement constitué des travaux de l'ensemble P redmin

j , et on peut donc relâcher les dates dj des travaux (dj = D, D étant une constante grande). La structure d'intervalles de P redminj ainsi obtenue dénissant une structure en escalier, une séquence Sjmin optimale

6.2 Une approche d'ordonnancement robuste à une machine 127 minimisant le Cmax est obtenue par application de la règle de Jackson, en séquençant les

travaux dans l'ordre croissant de leurs dates de début. La séquence (Smin

j , j), construite comme illustrée sur la Figure 6.1, dénit alors la sé- quence induisant le plus petit retard pour le travail j. On parle aussi de séquence la plus favorable.

Fig. 6.1: La séquence la plus favorable du travail j En notant sk(Smin

j )les dates de début des travaux k ∈ P redminj dans Sjminet, Cmax(Sjmin) le makespan correspondant, on a alors :

Cmax(Sjmin) = max(sk(Sjmin) + pk),∀k ∈ P redminj D'où :

Lminj = max(Cmax(Sjmin), rj) + pj− dj Pour calculer Lmin

j , un algorithme est décrit dans [La 04]. Sa complexité temporelle est en O(n log n).

6.2.1.2 Calcul de la performance au pire d'un travail De façon symétrique au cas précédent, le calcul de Lmax

j nécessite de chercher la sé- quence de Sdom qui maximise le retard du travail j. Pour cela, on doit aecter j à la pyramide d'indice v(j), c'est-à-dire le plus tard possible. Nous notons P redmax

j l'ensemble des travaux k pouvant être séquencés avant j (i.e. les travaux k tels que u(k) ≤ v(j)). Trouver Lmax

j consiste alors à maximiser le makespan Cmax des travaux de P redmaxj tout en respectant le Théorème des pyramides.

La structure d'intervalles ainsi obtenue étant à nouveau "en escalier", il est possible d'utiliser la version inversée de la règle de Jackson qui consiste à classer les travaux par

128 Élements préliminaires ordre de ri décroissant pour maximiser leur Cmax. Toutefois, la séquence obtenue ne respec-

terait alors pas le Théorème des pyramides. Pour pallier ce problème, on distingue d'une part les travaux k tels que v(k) < v(j), (i.e. appartenant à des pyramides antérieures à celle de j) et, d'autre part, les travaux k tels que u(k) ≤ v(j) ≤ v(k) (i.e. pouvant être aectés à la même pyramide que celle de j).

An de maximiser la longueur du chemin critique associé à j, les travaux k tels que v(k) < v(j)sont aectés à la pyramide d'indice v(k), de façon à ce qu'ils soient ordonnancés le plus tard possible. Les aectations des travaux aux pyramides étant établies, le problème de maximiser le Cmaxdes travaux situés dans les v(j)−1 pyramides d'indice inférieur à v(j)

se décompose alors en v(j)−1 problèmes de maximisation indépendants. Chaque problème consiste à maximiser le makespan CPi

max des travaux aectés à la pyramide Pi. Il peut être

résolu optimalement, avec respect du Théorème des pyramides, en construisant une sous- séquence dans laquelle les travaux sont séquencés par ordre de di croissant. La séquence S1

j conduisant au Cmax le plus grand des travaux situés dans les pyramides d'indice inférieur à v(j) correspond alors à la juxtaposition des sous-séquences déduites précédemment.

Pour maximiser le retard de j, les travaux k tels que u(k) ≤ v(j) ≤ v(k) sont aectés à la pyramide d'indice v(j). Le problème est alors de déterminer quelle séquence, parmi celles de l'ensemble dominant plaçant j en dernier dans la pyramide v(j), possède le Cmax le plus grand. Il est montré que cette séquence correspond à celle où le plus de travaux sont placés entre le sommet de la pyramide v(j) et la tâche j. Pour l'obtenir, il sut de placer toutes les travaux k tels que dk> dj avant le sommet et tous les travaux restants après le sommet (cf. Figure 6.2). En eet, si les travaux k tels que dk > dj étaient placés après le sommet, ils seraient séquencés après j (cf. Théorème 3.2.2). En suivant cette règle, il est donc garanti que le travail j est mis à la dernière position dans la pyramide d'indice v(j) et que le Cmax des travaux précédant j est maximisé. Soit S2

j la séquence construite par application de cette règle.

Fig. 6.2: La séquence la plus défavorable de la tâche j Si Smax

j dénote la juxtaposition des deux séquences Sj1 et Sj2précédemment déterminées (i.e. Smax

j = Sj1 ≺ Sj2) et Cmax(Sjmax), le makespan correspondant à cette séquence, on a alors :

6.2 Une approche d'ordonnancement robuste à une machine 129

Lmaxj = max(Cmax(Sjmax), rj) + pj− dj Pour calculer Lmax

j , un algorithme est décrit dans [La 04]. Sa complexité temporelle est en O(n log n).

6.2.2 Intervalles des retards et adaptation des retards

Il est possible, étant donné un problème Vk associé à une ressource k donnée, et son ensemble SVk

dom de séquences dominantes déterminé selon le Théorème des pyramides, d'as- socier à chaque travail j de Vk un intervalle de retard [Lmin

j , Lmaxj ] calculé comme décrit dans les paragraphes précédents.

La connaissance des retards aux mieux et au pire de chaque travail permet de déduire des bornes inférieure et supérieure pour le retard algébrique optimal L∗

max :

max(Lminj )≤ L∗max ≤ max(Lmaxj ),∀j

La performance d'un ensemble dominant de séquences peut être alors jugée acceptable ou non, relativement à la performance au pire. Étant donnée la structure d'intervalles as- sociée au problème à 6 travaux du tableau 3.3, les données suivantes correspondent aux valeurs des rj et dj relatives à l'ordre partiel de l'exemple, et aux durées opératoires des travaux : r4 = 0 < r5 = 10 < r3 = 11 < r1 = 13 < d1 = 21 < d3 = 23 < r6 = 26 < d4 =

27 < r2 = 30 < d2 = 34 < d5 = 35 < d6 = 43; p1 = 5, p2 = 2, p3 = 7, p4 = 5, p5 = 8,

p6 = 3.

Le tableau 6.1 donne les valeurs des retards Lmin

j et Lmaxj ainsi que les séquences au mieux et au pire ayant permis leur calcul.

On remarque d'après ce tableau que quel que soit la séquence considérée de Sdom, le travail 6 ne sera jamais en retard. On a aussi −2 ≤ L∗

max ≤ 9 sachant que la valeur optimale de L∗

max est égale à 2.

On note aussi que les valeurs de Lmin

j et Lmaxj permettent de déduire les valeurs des dates de début au mieux et au pire smin

j et smaxj de chaque travail j : sminj = Lminj + dj− pj

130 Élements préliminaires Le calcul des retards au mieux et au pire permet au décideur d'avoir une vision globale des performances associées à l'ensemble des séquences dominantes Sdom du point de vue du retard algébrique. En eet, dans le cas de la production à la commande, le décideur peut juger si un retard au pire est acceptable ou non et ce relativement aux délais de livraison arrêtés avec le client. Dans la négative, une réduction des dates au pire serait possible en agissant sur la structure d'intervalles. Ceci conduit à éliminer, au détriment de la exibilité, les séquences de l'ensemble dominant qui produisent des retards non acceptables.

Travail j Smin

j Lminj Sjmax Lmaxj 1 1 -3 4≺ 5 ≺ 3 ≺ 1 9 2 4≺ 3 ≺ 1 ≺ 2 -2 1≺ 3 ≺ 4 ≺ 5 ≺ 6 ≺ 2 6 3 3 -5 4≺ 5 ≺ 1 ≺ 3 7 4 4 -22 5≺ 3 ≺ 1 ≺ 4 8 5 5 -17 1≺ 3 ≺ 4 ≺ 6 ≺ 2 ≺ 5 8 6 4≺ 5 ≺ 3 ≺ 1 ≺ 6 -10 1≺ 3 ≺ 4 ≺ 2 ≺ 5 ≺ 6 0 Tab. 6.1: Tableau des retards obtenu pour l'exemple de la Figure 3.3

Si on considère de nouveau l'exemple de la Figure 3.3 et son tableau associé des re- tards 6.1, la séquence dominante qui produit max Lmax

i = Lmax1 = 9 est 4 ≺ 5 ≺ 3 ≺ 1.

Pour réduire le retard maximal de 1, sachant que ce dernier est un sommet, il et possible d'augmenter la date de début du travail 3 (le travail le plus proche de 1) à la valeur de r1

i.e. r3 ←− r1(1 ≺ 3), et ainsi on obtient un nouveau tableau des retards donné par Tab6.2.

On note que le changement opéré sur la structure d'intervalles dans le but d'augmenter la performance a produit une diminution de la exibilité séquentielle. Cette exibilité qui était de (1 + 1)3.(1 + 2)1 = 24 passe à (1 + 1)2.(1 + 2)1 = 12, et diminue de moitié.

Travail j Smin

j Lminj Sjmax Lmaxj

1 1 -3 4≺ 5 ≺ 1 2 2 4≺ 5 ≺ 1 ≺ 3 ≺ 2 -2 1≺ 3 ≺ 4 ≺ 5 ≺ 6 ≺ 2 6 3 3 -3 4≺ 5 ≺ 1 ≺ 3 7 4 4 -22 5≺ 1 ≺ 3 ≺ 4 3 5 5 -17 1≺ 3 ≺ 4 ≺ 5 8 6 4≺ 5 ≺ 1 ≺ 3 ≺ 6 -10 1≺ 3 ≺ 4 ≺ 5 ≺ 2 ≺ 6 0