Article 140
Article 140
RÉSUMÉ : Le problème de Flow-Shop de Permutation est un problème d’ordonnancement typique des ateliers agencés
en lignes qui consiste à séquencer l’exécution de gammes opératoires sur la ligne de production. Dans cet article, nous
montrons que l’utilisation de règles d’élimination spécifiques peut limiter le combinatoire inhérent aux méthodes de réso-
lution exactes lorsqu’il existe des familles de gammes opératoires à durées hétérogènes.
J. R. Jackson (Jackson, 1956) et L. G. Mitten (Mitten, Nous reproduisons ci-dessous un résultat intermédiaire de
1959) ont démontré que la solution optimale du problème la preuve de l’algorithme de Monma et Sidney qui sera
de flow-shop de permutation avec lags peut s’obtenir en utilisé pour définir nos règles d’élimination spécifiques.
O(n log n) par construction d’un ordonnancement compa-
tible avec la relation . Lemme 1.1 (Sidney, 1979)
Supposons que Ji est le prédécesseur immédiat de Jj dans
Une propriété fort intéressante du problème avec lags une chaîne d’un réseau de précédence, et que Jj Ji .
identifiée par T. Kurisu (Kurisu, 1976) est la possibilité Dans ce cas, il existe un ordonnancement optimal dans
de substituer un job dit composite à toute séquence inin- lequel Jj est ordonnancé immédiatement après Ji .
terrompue de jobs, et ce, sans modifier la durée de l’or- Outre cette proposition, nous ferons également intervenir
donnancement résultant. ultérieurement la propriété suivante :
La relation binaire peut donc s’étendre à des séquences Rappelons que Ji Jj est équivalent à :
ininterrompues de jobs via la définition de jobs compo-
sites. min(pi,1 + li ; l j + pj,2 ) ≤ min(li + pi,2 ; pj,1 + l j ) (1)
Le principe des arbitrages sur disjonctions peut être étendu Il y a O(n2 ) disjonctions potentielles à exami-
par examen sur une machine Mk du positionnement d’une ner, ce qui nous donne une complexité globale de
opération relativement à un sous-ensemble d’opérations. O(n2 × (m2 n log n + m0 )) pour la totalité du calcul. Ce-
Pour ce faire, on identifie 3 cas possibles (J ⊂ J , Ji ∈
/ J) : pendant, cette complexité peut être nettement améliorée
(C1) L’opération Oi,k ne peut être ordonnancée avant si on ne conserve que la seule disjonction (Jj → Ji ) dans
l’ensemble J si ri,k + pi,k + ∑j∈J pj,k + qJ,k > UB. le graphe conjonctif, comme l’indique la proposition sui-
(C2) L’opération Oi,k ne peut être ordonnancée au milieu vante.
de l’ensemble J si rJ,k + pi,k + ∑j∈J pj,k +qJ,k > UB.
Proposition 2.1
(C3) L’opération Oi,k ne peut être ordonnancée après Les arbitrages immédiats sur 2 machines pour le
l’ensemble J si rJ,k + ∑j∈J pj,k + pi,k + qi,k > UB. flow-shop de permutation peuvent être réalisés en
À partir de ces conditions, on peut définir les ajuste- O(m2 n2 log n) si on se restreint à C0 = {(Jj → Ji )}.
ments not-first/not-last et les arbitrages sur ensembles
ascendants/descendants. Démonstration.
Tout d’abord, on peut observer qu’il est toujours possible
Ajustements Not-First/Not-Last (Carlier, 1975) de supposer Ji Jj . Dans le cas contraire, soit (Ji → Jj )
Si (C1) est vérifiée alors : ne peut être déduite, soit le problème n’admet pas de so-
lution. En toute généralité, nous supposerons dans la suite
ri,k ≥ min{rj,k + pj,k } (not-first)
j∈J que les indices des jobs ont été triés de façon à ce qu’ils
vérifient la relation (i.e., pour tout x, y tels que x ≤ y,
Si (C2) est vérifiée alors : on a Jx Jy ). Le job composite défini par hJx , Jx+1, ..., Jy i,
qi,k ≥ min{pj,k + qj,k } (not-last) avec x ≤ y, sera abrégé en [x, y]. Par hypothèse, [x, x − 1]
j∈J désignera le job « vide ».
Arbitrages sur Ensembles (Carlier et Pinson, 1989)
Si (C1) et (C2) sont vérifiées alors : Clairement, les triplets caractéristiques de tous les
jobs composites [x, y] peuvent être obtenus en O(n2 )
∀ j ∈ J, (Jj → Ji ) (ensemble ascendant) par une procédure itérative. On souhaite donc établir
? (J, M , M , {(J → J )}) pour tous les couples (J , J )
PMS k l j i i j
Si (C2) et (C3) sont vérifiées alors : tels que i < j. D’après Monma-Sidney (cf. lemme 1.1),
∀ j ∈ J, (Ji → Jj ) (ensemble descendant) la solution optimale désirée est obtenue en appliquant la
règle de Johnson au problème dans lequel le job compo-
J. Carlier et E. Pinson définissent également des ajuste- site Jh j, ii a été substitué aux jobs Ji et Jj . Pour évaluer cette
ments sur ensembles déduits des arbitrages : solution optimale, nous allons procéder en deux étapes.
Ajustements sur Ensembles (Carlier et Pinson, 1989)
Premièrement, nous allons chercher l’indice γ d’un job de
Si (C1) et (C2) sont vérifiées alors :
J tel que Jγ−1 Jh j, ii Jγ . D’après le lemme 1.2, on
ri,k ≥ max{rJ 0 ,k + ∑ pj,k } peut toujours trouver γ tel que cet indice soit compris entre
J 0 ⊆J j∈J 0 i et j. En outre, on constate aisément que la valeur de γ est
calculable en O(log n) au travers d’une recherche dichoto-
Si (C2) et (C3) sont vérifiées alors :
mique.
qi,k ≥ max{ ∑ pj,k + qJ 0 ,k }
J 0 ⊆J j∈J 0 Une fois γ calculé, la valeur de la solution optimale peut
ensuite être déduite en O(1). En effet, d’après ce qui pré-
On peut remarquer que ces ajustements correspondent res- cède, la valeur optimale est donnée par l’agrégation des
pectivement à l’évaluation préemptive de la fin de l’exécu- jobs [1, i − 1], [i + 1, γ − 1], hJj , Ji i, [γ, j − 1], et [ j + 1, n].
tion ou de la durée de latence de l’ensemble J de référence.
En cas d’ajustement ainsi détecté, on procède alors à la mation est déduite par les règles d’élimination, qu’elles
réévaluation des ensembles E et S, et ce, jusqu’à stabi- soient classiques ou spécifique (pas de réduction signifi-
lisation. Lorsque ces deux ensembles sont définitivement cative de l’arbre de recherche détectée).
établis, on crée alors un nouveau nœud en fixant soit une
nouvelle entrée si le cardinal de E est inférieur à celui de En revanche, les résultats sont nettement différents en ce
S, soit une nouvelle sortie dans le cas contraire. qui concerne les instances de type bi-famille. En premier
lieu, on peut observer que ces instances semblent plus dif-
3.2. Résultats ficiles à résoudre. Mieux, on remarque que cette fois-ci
les arbitrages immédiats sur 2 machines induisent cette
fois-ci une diminution significative de l’arborescence de
Tous les calculs ont été réalisés en C++ sur un Pentium III
recherche pour certaines instances de problème (alors que
450 Mhz sous système d’exploitation Windows NT 4.
les seules règles classiques n’ont pas d’impact réel). Ce-
pendant le coût induit par l’application de ces règles ne
Pour réaliser nos expérimentations, nous avons généré
semble pas compensé, notamment lorqu’on utilise toutes
deux ensembles de 10 instances de tailles 15 × 15. Le pre-
les règles (troisième colonne).
mier jeu de données est constitué de jobs homogènes : les
durées des opérations suivent une loi uniforme sur [1,100].
Pour tenter de pallier à ce problème, nous avons essayé
Dans le second cas, les jobs sont divisés en deux familles
de n’utiliser que les seuls arbitrages sur disjonctions (à
de « petits » et « grands » jobs : il s’agit par exemple du cas
une et deux machines), en relaxant légèrement les disjonc-
d’une ligne de production sur laquelle sont ordonnancées
tions sur 2 machines. La relaxation consiste à n’évaluer
deux familles de produits de durées de production très
que le seul chemin passant par le lag du job composite
différentes. Ainsi, les durées d’exécution des « grands »
créé, comme l’illustre la figure 5. Le gain obtenu en terme
jobs ont été générées dans l’intervalle [51,100], tandis que
de temps de calcul réside dans la phase d’initialisation qui
celles des « petits » jobs varient dans l’intervalle [1,50].
passe de O(n2 ) à O(n), bien que la complexité totale reste
inchangée.
Les résultats obtenus figurent dans les tableaux 2 et 3.
La première colonne indique les nombres de nœuds et les
temps réalisés par la méthode arborescente pour prouver
l’optimalité lorsqu’aucune règle d’élimination n’est utili- hJj , Ji i
sée. La seconde colonne correspond aux résultats obte- lhJ , J i
j i
hJj , Ji i
nus avec l’application des seules règles d’élimination clas-
siques. Dans la troisième colonne, nous reportons l’ef- γ6
fet de l’application des arbitrages immédiats combinés
Figure 5. Arbitrages sur 2 machines relaxés
aux règles classiques. Enfin, dans la quatrième colonne
figurent les résultats atteints par les seules disjonctions
immédiates (classiques et spécifiques), en version légère- Les résultats obtenus, en dernière colonne, sont encoura-
ment relaxée. geants : les temps de calculs s’approchent cette fois des
résultats obtenus avec la borne seule, alors que les dimi-
Pour les instances homogènes (une seule famille de pro- nutions d’arborescence observées ne semblent que peu dé-
duits), on observe que seule une quantité faible d’infor- gradées.
Instance B.I. seule Règles Class. Règles Spéc. & Class. Disj. Relax.
Nœuds T. (s) Nœuds T. (s) Nœuds T. (s) Nœuds T. (s)
U15_15_1 6040 9 5817 33 4289 25 5043 13
U15_15_2 11933 18 11827 66 8721 53 9523 25
U15_15_3 2101 4 2040 11 1252 7 1464 3
U15_15_4 2640 4 2389 15 2216 15 2485 7
U15_15_5 34721 54 34141 188 31709 193 33001 83
U15_15_6 11248 15 11014 63 10152 59 10619 26
U15_15_7 34061 51 32634 194 31049 201 32891 81
U15_15_8 5062 8 4995 33 4422 30 4705 12
U15_15_9 14512 21 13948 76 11771 67 12546 31
U15_15_10 9937 15 9736 60 7822 48 8235 21
Tableau 2. Preuves d’optimalité sur les instances 15 × 15 homogènes
Laurent PÉRIDY, Éric PINSON, David RIVREAU, ART_140, 6/7
MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)
Instance B.I. seule Règles Class. Règles Spéc. & Class. Disj. Relax.
Nœuds T. (s) Nœuds T. (s) Nœuds T. (s) Nœuds T. (s)
H15_15_1 303184 441 302613 1323 137896 720 180967 442
H15_15_2 80343 118 78713 393 60353 402 70483 205
H15_15_3 69122 101 68665 260 58533 302 62467 169
H15_15_4 111393 173 110551 577 97672 602 103917 260
H15_15_5 718 1 718 3 0 0 0 0
H15_15_6 71397 106 70864 318 20837 113 32229 76
H15_15_7 129510 191 126077 728 103140 720 114464 305
H15_15_8 86106 123 80129 444 71501 461 78258 210
H15_15_9 160837 240 152562 692 130513 715 140075 365
H15_15_10 111154 151 110178 595 92907 577 98290 257
Tableau 3. Preuves d’optimalité sur les instances 15 × 15 hétérogènes