• Aucun résultat trouvé

Afin de mesurer la qualité des heuristiques, nous suggérons plusieurs bornes inférieures pour le problème DPMM ScheLoc. La borne la plus intuitive est la borne inférieure du problème d’ordonnancement à machines parallèles avec minimisation de la date de fin d’ordonnancement, Pm||Cmax. Ce problème est un cas particulier du problème DPMM

ScheLoc où D = 0, σi = 0, ∀i ∈ N et νik = 1 pour tout ∀i ∈ N et ∀k ∈ M. La borne

inférieure la plus connue pour le problème Pm||Cmax est donnée par :

Cmax≥

P

i∈N pi

p . (4.17)

avec rik = 0, ∀i ∈ N et ∀k ∈ M. Cette borne n’est pas la meilleure des bornes du problème

DPMM ScheLoc, car la majorité des rik sont strictement positifs. Pour cette raison, nous

ajoutons à cette borne la date au plut tôt minimale :

Cmax≥ P i∈N pi p + mink∈Mminn∈Nrik. ⇐⇒ LB1 = P i∈Npi p + mink∈Mminn∈Nrik

Pour améliorer ces bornes dans le cas où le nombre de travaux est égal au nombre de localisations disponibles (N = M), la borne inférieure de la date de fin du travail

i ordonnancé sur une machine placée sur sa localisation est LB(Ci) = pi. Dans le cas

contraire, une borne inférieure de sa date de fin est LB(Ci) = ri+ pi. Donc, une borne inférieure du critère est Cmax≥ max{LB(Ci)}. De plus, nous supposons que les machines sont placées sur les p localisations où les travaux i ont la plus grande valeur de ri + pi. Soit K0 l’ensemble des travaux correspondants. Pour les travaux restants, nous obtenons

LB(Ci) = ri + pi. Nous pouvons borner inférieurement la date de fin d’ordonnancement par :

Cmax≥ max

5. HEURISTIQUES DE CLUSTER

Enfin, nous proposons une borne inférieure qui dépend de la date de début au plus tôt minimale et la structure des dates de début au plus tôt. Pour cela, nous définissons la charge d’une machine k par l(k) = P

i∈N pip. Pour chaque k ∈ M, nous résolvons à

l’optimalité le problème d’ordonnancement de tous les travaux sur une machine (règle ERD) jusqu’à ce que l(k) soit atteinte. Soit Cmax(k) la date de fin d’ordonnancement d’un sous-ensemble de travaux sur la machine k. Nous obtenons la borne inférieure suivante :

Cmax≥ min

k∈M{Cmax(k)} ⇐⇒ LB3 = mink∈M{Cmax(k)}. (4.18) Pour montrer effectivement que Cmax≥ mink∈M{Cmax(k)} est une borne inférieure au problème DPMM ScheLoc, nous procédons de la façon suivante : soit une solution réali- sable du problème, alors il existe au moins une machine qui a une charge l(k) ≥

P

i∈Npi p . Dans le cas contraire, certains travaux ne seront pas placés. Puisque nous utilisons la règle ERD pour ordonnancer les travaux sur la machine k, alors pour l(k) ≥

P

i∈Npi

p (solution optimale), la date d’ordonnancement minimale de la machine k est Cmax(k). Soit la locali- sation k0 telle que k0= arg mink∈M{Cmax(k)}. Si une machine est placée sur la localisation

k0 dans une solution optimale, et cette localisation vérifie l(k0) ≥

P

i∈Npi

p , alors 4.18 est une borne inférieure. Sinon, il existe une machines k00 qui vérifie l(k00) ≥

P

i∈Npi p avec

Cmax(k00) ≥ Cmax(k0). Donc, (4.18) est réellement une borne inférieure.

Pour les instances où p est légèrement plus grand ou égal à n, nous proposons la borne inférieure suivante :

Cmax≥ max

i∈N{ mink∈Mrik+ pi} ⇐⇒ LB4 = maxi∈N{ mink∈Mrik+ pi}.

La borne inférieure du problème DPMM ScheLoc est LB = max{LB1, LB2, LB3, LB4}.

5

Heuristiques de cluster

Dans cette section nous nous intéressons à la résolution approchée de notre problème. Nous proposons des heuristiques de cluster qui permettent de fournir de bonnes solutions en un temps raisonnable. La résolution du problème DPMM ScheLoc revient à résoudre les trois sous-problèmes : (1) définir les différentes localisations des machines, (2) affecter les travaux à ces machines (3) ordonnancer chaque affectation sur la machine correspon- dante. Une fois les sous-problèmes (1) et (2) résolus, le troisième sous-problème est résolu en temps polynomiale selon la règle ERD (1|ri|Cmax). Par conséquent, la résolution ap- prochée DPMM ScheLoc se ramène à la résolution des sous-problèmes (1) et (2). Afin d’obtenir des solutions de bonnes qualités, nous intégrons les données d’ordonnancement lors du choix des localisations pour les machines et aussi lors des affectations des travaux sur ces machines. Nous proposons une approche séquentielle en utilisant le problème de clusterisation pour résoudre les sous-problèmes (1) et (2). De manière formelle, un pro- blème de clusterisation est défini par les données suivantes : un ensemble de localisations possibles M, un ensemble N de localisations des demandes di pour chaque i ∈ N , et une

5. HEURISTIQUES DE CLUSTER

fonction de distance dist (i, k) pour i ∈ N et k ∈ M. Le but est de trouver un sous- ensemble C ⊂ M de cardinal p appelé centre de clusters et une affectation des demandes

i ∈ N aux centre des clusters Ck ∈ C afin de minimiser PCk∈C

P

i∈Ckdidist (i, k). Dans le cas où les clusters ont une capacité suffisamment grande (Uncapacited cluster ), chaque localisation de la demande i est affectée, indépendamment des valeurs di, au centre du cluster Ck le plus proche.

Les sous-problèmes (1) et (2) sont étroitement liés au problème de clusterisation avec des capacités. Comme nous cherchons à minimiser la date de fin d’ordonnancement, cette date n’est déterminée que lorsque les différentes localisations des machines sont choisies et les travaux sont affecter sur ces machines. Pour ces raisons, les affectations des demandes aux centres des clusters et les capacités des clusters sont indéfinies. Par conséquent, les sous-problèmes (1) et (2) joints peuvent être assimilés à un problème de clusterisation sans capacité. Dans ce cas, le centre d’un cluster correspond à une localisation d’une machine et le critère d’affectation des travaux (demandes) est modifié afin de tenir compte des données d’ordonnancement.

Nous considérons trois types d’heuristiques pour résoudre le problème de clusterisation : 1. D’abord, nous choisissons les centres des clusters, ensuite, nous affectons les travaux

aux clusters.

2. D’abord, nous construisons p clusters de travaux, ensuite, nous affectons pour chaque cluster une localisation d’une machine (centre du cluster).

3. Nous choisissons itérativement un centre de cluster et nous affectons à ce centre les travaux jusqu’à l’obtention de p clusters.

Pour chaque type d’heuristique, nous définissons les critères pour les décisions de lo- calisation et de construction des clusters. Dans les sections suivantes, nous présentons en détails ces trois types d’heuristique et les critères associés.