• Aucun résultat trouvé

Analyse de structures pyramidales quelconques

Considérons à présent le cas général où les structures d'intervalles I1 et I2 sont respec-

tivement caractérisée par n1 et n2 b-pyramides. Comme illustré sur la gure 7.5, notons σj,

avec j ∈ [1, n1], la sous-séquence de travaux se situant entre les bases bj et bj+1, les bases

de I1 étant indexées selon l'ordre croissant de leur pj1 (dans un ordre arbitraire en cas

d'égalité). Similairement, notons σk, avec k ∈ [n1+ 1, n1+ n2], la sous-séquence de travaux

se situant entre les bases bk−1 et bk, les bases de I2 étant indexées selon l'ordre décroissant

de leur pj2 (dans un ordre arbitraire en cas d'égalité). Intéressons-nous aux séquences de

la forme : b1 ≺ σ1 ≺ b2 ≺ σ2 ≺ · · · ≺ bn1 ≺ σn1 ≺ σn1+1 ≺ bn1+1 ≺ · · · ≺ σn1+n2 ≺ bn1+n2,

comme illustré sur la gure 7.5.

Fig. 7.5: Séquences optimales pour le cas général

Pour chaque travail j, notons u(j) (resp v(j)) l'index de la base qui caractérise la première (resp. la dernière) b-pyramide à laquelle le travail j appartient. Pour la base bi,

nous imposons u(bi) = v(bi) = i, le théorème général suivant peut alors être énoncé :

Théorème 8. Toute séquence telle que :

 les bases de I1 et I2 sont séquencées selon l'ordre croissant de leur index ;

 tout travail j est séquencé à l'intérieur de n'importe quelle sous-séquence, de σu(j) à

7.4 Analyse de structures pyramidales quelconques 141 est optimale avec :

Cmax = Cσ1+{b1}+ max(Cσ2+{b2}− pb21, Cσ2+{b2}− ∆tσ1) + max(Cσ3+{b3}− pb31, Cσ3+{b3}− ∆tσ2) + · · · + max(Cσn1+{bn1}− pbn11, Cσn1+{bn1} − ∆tσn1−1) + max(Cσn1+1+{bn1+1}− ∆tσn1+1, Cσn1+1+{bn1+1} − ∆tσn1) + max(Cσn1+2+{bn1+2}− ∆tσn1+2, Cσn1+2+{bn1+2} − pbn1+12) + · · · + max(Cσn1+n2−1+{bn1+n2−1}− ∆tσn1+n2−1, Cσn1+n2−1+{bn1+n2−1}− pbn1+n2−22) + max(Cσn1+n2+{bn1+n2}− ∆tσn1+n2, Cσn1+n2+{bn1+n2}− pbn1+n2−12) avec : Cσi+{bi} =  pbi1+ P j∈σi+{bi}pj2 si i ∈ [1, n1] pbi2+ P j∈σi+{bi}pj1 si i ∈ [n1+ 1, n1+ n2] ∆tσi =  Cσi+{bi}− P j∈σi+{bi}pj1 si i ∈ [1, n1] Cσi+{bi}− P j∈σi+{bi}pj2 si i ∈ [n1 + 1, n1+ n2]

Démonstration. Nous nous intéressons à la séquence de Johnson qui range d'abord les travaux de I1, selon l'ordre croissant de leur pj1, puis les travaux de I2, selon l'ordre

décroissant de leur pj2. Cette séquence optimale respecte le théorème 8 car l'ordre de bases

suit l'ordre croissant de leur index, tout travail j ∈ I1est aecté à σv(j) et tout travail j ∈ I2

est aecté à σu(j). Selon les théorèmes 3, 4, 5, 6 et 7, on peut déduire l'expression du

makespan optimal fourni dans le théorème 8. De plus, cette expression donnant la valeur optimale du makespan pour la séquence particulière de Johnson, on peut déduire que cette valeur ne changera pas pour toute aectation d'un travail non-base j entre σu(j) et σv(j)

(comme indiqué dans la preuve du théorème 4).

Nous allons prouver maintenant que l'ordre partiel déni par la règle de Johnson est un extension de celui de notre théorème 8.

Corollaire 1. Toute séquence de Johnson est nécessairement incluse dans l'ensemble de séquences caractérisé par le théorème 8.

Démonstration. À partir du théorème 8, nous déduisons qu'un travail i ne peut pas pré- céder un travail j dans toute séquence optimale si et seulement si u(i) > v(j). En eet, si u(i) ≤ v(j), alors soit u(i) ≤ v(i) < u(j) ≤ v(j) et i précède j dans toute séquence, soit u(i) ≤ u(j) ≤ v(i) ≤ v(j)et il existe des séquences telles que i et j sont aectés à la même sous-séquence σk avec u(j) ≤ k ≤ v(i) (alors i et j peuvent être séquencés dans n'importe

quel ordre). La relation u(i) > v(j) (i.e. i ⊀ j) est vraie seulement dans les cas suivants : - j appartient à I1 (mais pas à I2) et i appartient à I2 (mais pas à I1), donc pj2 > pj1

et pi1 > pi2;

- i et j appartiennent tous à I1 et soit pj1 < pi1 ≤ pj2 < pi2 (i.e. overlaps(j, i) ou

meets(j, i)) soit pj1 < pj2 < pi1 < pi2 (i.e. precedes(j, i)), et dans ce cas il n'existe

aucune base b telle que les deux relations during(i, b) et during(j, b) se vérient en même temps (i.e. i et j n'appartiennent à aucune b-pyramide commune) ;

- i et j appartiennent tous à I2 et soit pi2 < pj2 ≤ pi1 < pj1 (i.e. overlaps(i, j) ou

meets(i, j)) soit pi2 < pi1 < pj2 < pj1 (i.e. precedes(i, j)), et dans ce cas il n'existe

aucune base b telle que les deux relations during(i, b) et during(j, b) se vérient en même temps (i.e. i et j n'appartiennent à aucune b-pyramide commune) ;

On constate donc que dans tous les cas listés ci-dessus, l'inégalité min(pi1, pj2) >

min(pi2, pj1) est toujours vériée. Donc, le théorème 8 n'élimine pas les séquences satis-

faisant la règle de Johnson. Les séquences de Johnson sont alors conservées.

Une propriété intéressante de ce théorème réside dans sa capacité à caractériser un nombre de séquences très impressionnant. Notons S l'ensemble de toutes les aectations possibles des travaux aux sous-séquences σ. La cardinalité de S est la suivante :

S =

m

Y

q=1

qnq

où m est le nombre total de b-pyramides, et nq est le nombre de travaux appartenant exac-

tement à q b-pyramides. Pour une aectation donnée des travaux s ∈ S aux sous-séquences σ, nous notons ni(s) le nombre de travaux aectés à σi en respectant le théorème. Alors

le nombre total de permutations est Qm

i=1(ni(s)!). On déduit donc que le nombre total de

séquences caractérisées est Ps∈S(

Qm

i=1ni(s)!).

Par exemple, pour un problème comptant 20 travaux tel que m = 4, u(j) = v(j) ∀j ∈ J et ni = 4, le théorème caractérise alors (4!)4 = 331776 séquences optimales. Maintenant,

pour le même problème, si nous supposons qu'un travail et un seul appartient à deux b- pyramides, alors le nombre de séquences optimales caractérisées devient (4!)4+ (3! ∗ 5! ∗

7.4 Analyse de structures pyramidales quelconques 143

7.4.2 Exemple illustratif

Pour illustrer le théorème 8, reprenons l'exemple de la gure 7.1. Les valeurs des fonc- tions u(j) et v(j) sont données pour chaque travail j sur la table de la gure 7.2.

Travail j 1 2 3 4 5 6 7 8 9

uj 1 2 3 4 1 1 2 3 4

vj 1 2 3 4 1 2 4 3 4

Tab. 7.2: Les valeurs de u(j) et v(j)

Selon le théorème, nous nous intéressons aux séquences de la forme b1 ≺ σ1 ≺ b2 ≺

σ2 ≺ b3 ≺ σ3 ≺ σ4 ≺ b4. À partir du tableau sur la gure 7.2, les aectations possibles de

travaux sont : 5 ∈ σ1 , 6 ∈ σ1 ou 6 ∈ σ2, 7 ∈ σ2 ou 7 ∈ σ3 ou 7 ∈ σ4, 8 ∈ σ3 et 9 ∈ σ4.

Rappelons que l'ordre des travaux à l'intérieur de chaque sous-séquence σi n'inuence pas

la valeur du makespan. Alors, par énumération de toutes les possibilités, nous obtenons treize séquences optimales dont le makespan optimal est Cmax= 59.

1 ≺ 5 ≺ 6 ≺ 2 ≺ 7 ≺ 3 ≺ 8 ≺ 9 ≺ 4, 1 ≺ 6 ≺ 5 ≺ 2 ≺ 7 ≺ 3 ≺ 8 ≺ 9 ≺ 4, 1 ≺ 5 ≺ 6 ≺ 2 ≺ 3 ≺ 8 ≺ 7 ≺ 9 ≺ 4, 1 ≺ 6 ≺ 5 ≺ 2 ≺ 3 ≺ 8 ≺ 7 ≺ 9 ≺ 4, 1 ≺ 5 ≺ 6 ≺ 2 ≺ 3 ≺ 7 ≺ 8 ≺ 9 ≺ 4, 1 ≺ 6 ≺ 5 ≺ 2 ≺ 3 ≺ 7 ≺ 8 ≺ 9 ≺ 4, 1 ≺ 5 ≺ 6 ≺ 2 ≺ 3 ≺ 8 ≺ 9 ≺ 7 ≺ 4, 1 ≺ 6 ≺ 5 ≺ 2 ≺ 3 ≺ 8 ≺ 9 ≺ 7 ≺ 4, 1 ≺ 5 ≺ 2 ≺ 6 ≺ 7 ≺ 3 ≺ 8 ≺ 9 ≺ 4(∗), 1 ≺ 5 ≺ 2 ≺ 7 ≺ 6 ≺ 3 ≺ 8 ≺ 9 ≺ 4, 1 ≺ 5 ≺ 2 ≺ 6 ≺ 3 ≺ 7 ≺ 8 ≺ 9 ≺ 4(∗), 1 ≺ 5 ≺ 2 ≺ 6 ≺ 3 ≺ 8 ≺ 9 ≺ 7 ≺ 4, 1 ≺ 5 ≺ 2 ≺ 6 ≺ 3 ≺ 8 ≺ 7 ≺ 9 ≺ 4(∗).

Pour cette instance du problème, notons qu'il n'y a que trois séquences (indiquées par une étoile) satisfaisant la règle de Johnson.

7.4.3 Discussion sur l'insensibilité

L'ordre partiel susant déni dans le théorème 8 utilise l'ordre relatif des durées opé- ratoires pj1 et pj2. L'ensemble de solutions optimales caractérisé est donc insensible aux

variatations de durées opératoires dans la mesure où l'ordre relatif de ces durées reste inchangé. Comme nous l'avons fait dans le chapitre 4 pour le problème à une machine, il est ici aussi possible d'associer aux durées des intervalles potentiels de réalisation (i.e. pj1 ∈ [pj1, pj1] et pj2 ∈ [pj2, pj2], dans la mesure où les intervalles restent disjoints, c'est-

à-dire qu'il existe un ordre total entre les durées. Des valeurs au mieux et au pire du makespan optimal peuvent alors être déterminées en utilisant respectivement soit les va- leurs p, soit les valeurs p, dans la formule de calcul du Cmax indiquée dans le théorème 8.

La performance obtenue est alors robuste vis-à-vis de l'ensemble des scénarios caratérisés par le modèle par intervalles

Pour illustrer cette robustesse, nous montrons dans les paragraphes suivants, en considé- rant l'exemple précédent, comment l'augmentation de quelques durées opératoires inuence l'ensemble optimal précédent.

D'abord, supposons que, à cause d'une perturbation, p51augmente de sorte que p51= 3

(au lieu de 2). Cette modication ne change pas les structures d'intervalles I1 et I2 car,

toutes les relations de Allen les couples d'intervalles de travail sont conservées. Donc, l'en- semble de séquences optimales ci-dessus reste inchangé. La valeur de Cmaxreste également

inchangée (car la tâche 1 du travail 5 n'appartient pas au chemin critique engendrant la valeur de Cmax.

Supposons à présent que p52 = 5 (au lieu de 4). Les structures d'intervalles I1 et I2

restent encore inchangées, ainsi que l'ensemble de séquences optimales. Néanmoins, la va- leur optimale du makespan est modiée et passe à Cmax = 60 (au lieu de 59) pour toute

séquence optimale de travaux de l'ensemble.

Supposons que p62 augmente de sorte que p62= 7 (au lieu de 5). Dans ce cas, la struc-

ture d'intervalles I1 est modiée parce que le travail 6 n'appartient plus à la b-pyramide

Pb1. Donc, toute séquence aectant le travail 6 à σ1 doit être supprimée de l'ensemble de

séquences optimales initial. Ainsi, il ne reste que cinq séquences optimales possédant le makespan optimal Cmax= 62.

1 ≺ 5 ≺ 2 ≺ 6 ≺ 7 ≺ 3 ≺ 8 ≺ 9 ≺ 4, 1 ≺ 5 ≺ 2 ≺ 7 ≺ 6 ≺ 3 ≺ 8 ≺ 9 ≺ 4,

1 ≺ 5 ≺ 2 ≺ 6 ≺ 3 ≺ 7 ≺ 8 ≺ 9 ≺ 4, 1 ≺ 5 ≺ 2 ≺ 6 ≺ 3 ≺ 8 ≺ 7 ≺ 9 ≺ 4,

1 ≺ 5 ≺ 2 ≺ 6 ≺ 3 ≺ 8 ≺ 9 ≺ 7 ≺ 4.

À travers ce scénario simple, nous constatons que notre approche est relativement insen- sible à des variations de données, à condition que ces variations ne modient pas les bases des structures d'intervalles. Évidemment, si cette condition n'est plus respectée, alors une nouvelle analyse des structures d'intervalles est nécessaire pour recalculer dynamiquement les nouvelles b-pyramides.