• Aucun résultat trouvé

4.2.2. Heuristique RA intégrée

Partant d’une solution initiale fournie par l’heuristique de Palmer ou de Gupta intégrée, la résolution de l’approche intégrée dans ce cas, consiste à permuter si possible deux tâches successives dans la séquence de la solution initiale. A chaque étape, on va choisir le meilleur

voisin pour le comparer avec la solution actuelle. La démarche de cette résolution est illustrée par l’algorithme 3.6:

Algorithme de RA intégré

Variables locales n : nombre de tâches de production ; m : nombre de machines ;

Début Trouver une solution initiale sous optimale par l’une des heuristiques précédentes

Mémoriser cette séquence dans le tableau MST ; i ←1 ;

Trouver la meilleure solution parmi tous les voisins Tant que i < n+m–1 (2)

Faire Si les tâches de position i et i+1 sont des tâches de production

Alors Permuter les tâches i et i + 1 dans MST; Evaluer la fonction objectif ;

Sinon Si la permutation ne rend pas la tâche de maintenance en retard Alors Permuter les tâches i et i + 1 dans MST;

Evaluer la fonction objectif ; Sinon i ← i + 1

Fin Si Fin Si

Fin Tant que

Trouver la meilleure solution parmi tous les voisins.

Si La valeur de la fonction objectif est inférieure à celle de MST; Alors Aller a (2).

Sinon Le tableau MST fournit la solution de l’heuristique RA intégrée. Fin Si

Fin.

Algorithme 3.6: Heuristique RA intégrée

4.2.3. Heuristique CDS intégrée

La résolution de problème d’ordonnancement conjoint de la production et de la maintenance dans le cas de l’heuristique CDS par la stratégie intégrée a été résolu de la manière suivante : on considère que les tâches de maintenance sont des tâches de production telle que la durée d’exécution d’une tâche de maintenance est égale à sa durée d’exécution sur la machine sur laquelle elle doit être exécutée et égale à zéro sur le reste des machines.

Après avoir appliqué l’heuristique CDS comme dans le cas séquentiel, on insère toutes les tâches de maintenance restantes sur la totalité des machines, par l’heuristique HRP.

Algorithme CDS intégré

Variables locales m : le nombre de machines ; Pkj : durée d’exécution du travail k sur la

machine j ; Pj k1 : durée d’exécution du travail Pk sur la jiéme machine équivalente. Début On ne considère que la première et la dernière machine (machine m), soit pour

un travail k : P1 k1 = pk1 ; P1k2 = Pkm

Les deux machines équivalentes sont respectivement constituées des deux

premières et des deux dernières machines, sans tenir compte des machines intermédiaires .De manière générale à l’étape j, on a les durées suivantes sur les deux machines équivalentes :

Pj k1 =

= j 1 i ki

P

Pj k2 =

+ − = m j m i 1 ki P j = 1, ... m-1.

Pour chacun de ces problèmes fictifs, on insère toutes les tâches de maintenance sur toutes les machines, ensuite on détermine la séquence optimale par la règle de

Johnson.

Conserver la meilleure solution parmi les m-1.

Fin.

Algorithme 3.7: Heuristique CDS intégrée

4.2.4. Heuristique NEH intégrée

La deuxième étape de l’heuristique NEH est l’ordonnancement des tâches à exécuter dans une liste L (la définition d’un ordre de précédente). L’application de cette méthode pour la résolution du problème d’ordonnancement conjoint par la stratégie intégrée, nécessite la définition d’un ordre de précédente entre toutes les tâches à ordonner (tâches de production et de maintenance). Cet ordre est clairement défini entre les tâches de production, pour le cas d’une minimisation du Makespan (§ Annexe A).

Pour les tâches de maintenance, l’ordre est prédéfini sur chaque machine (maintenance préventive systématique), et il est indépendant entre les machines.

Reste le problème de la définition d’un ordre entre les tâches de production et de maintenance. Pour le résoudre, nous proposons le principe suivant : la recherche du meilleur emplacement pour une tâche de production à un instant t se fait à partir de sa date début au plus tôt, jusqu'à la dernière tâche insérée à cet instant t. Et la recherche du meilleur emplacement pour la kiéme tâche de maintenance sur la machine j se fait à l’instant t’ (t’≥t’’). Cette recherche se fait dans un intervalle [t1,t2] selon l’heuristique HRP avec :

t’ : date de sortie de la dernière tâche sur la machine j,

t’’ : date de fin au plus tard de la tâche de maintenance Mj sur la même machine j.

t1 = Iminj – KxTminj.

K : la marge de tolérance (0≤K≤1).

Iminj : La date de début au plus tôt de la tâche Mj

Imaxj : La date de fin au plus tard de la tâche Mj

L’insertion d’une tâche de production ou de maintenance provoque le décalage des tâches qui la succèdent. Par conséquence, des tâches de maintenance peuvent s’éloigner de leurs intervalles de tolérances, par rapport à celles qui la précède. Ceci peut provoquer le phénomène des tâches manquantes3 sur certaines machines (Fig. 3.13). Pour remédier à ce problème, nous avons utilisé le principe suivant : à chaque insertion d’une tâche (de production ou de maintenance) on vérifie toutes les tâches de maintenance qui la succède, si une tâche est très éloignée par rapport à la tâche de maintenance qui la précède (tâche manquante), on effectue des permutation avec les tâches de production qui la précèdent jusqu'à ce que elle soit assez proche de la tâche de maintenance qui la précède (pratiquement on replace la tâche de maintenance dans son intervalle de tolérance).

Figure 3.13: Insertion d'une tâche de maintenance

4.3. L’approche itérative : La recherche Tabou intégrée

3

On dit qu’une tâche de maintenance est manquante sur une machine j, si la durée relative (on recommence à la date 0 après insertion de chaque tâche de maintenance) qui sépare deux tâches de maintenance successives est supérieure à Tmaxj + p’j (section 3.2.2).

Avancer la tâche M12 Tmin ≤ T ≤ Tmax P P11 P P00 PP22 M M1122 P P22 P P00 M M0022 PP11 Solution

M12 tâche trop éloignée T ≥ Tmax Insertion de P2 PP00 PP22 PP11 M M1122 P P22 P P00 0 022 M M PP11 P P00 PP11 1 122 M M P P11 P P00 0 022 M M Machine1 Machine2 Tmin ≤ T ≤ Tmax

Dans cette section, nous présentons les nouveaux paramètres de la recherche Tabou que nous proposons dans le cas de l’ordonnancement conjoint production/maintenance par la stratégie intégrée. Ce paramétrage présente la particularité de travailler, avec non pas une séquence de production mais, avec une séquence conjointe production/maintenance.

Dans ce qui suit, nous présentons le principe de ce nous paramétrage.

4.3.1. Génération de la solution initiale

Deux approches sont possibles soit la solution initiale est fournie par l’utilisateur, soit elle est générée aléatoirement.

La recherche Tabou peut tenter d’améliorer des solutions générées par d’autres méthodes. Cela est dû au fait qu’elle offre la possibilité de commencer par une solution fournie en entrée, comme elle peut également commencer par une solution partielle (séquence de production générée par une des méthodes de résolution du problème d’ordonnancement de production). Dans ce cas, une solution initiale complète est obtenue après insertion des tâches de maintenance sur cette séquence, selon l’une des heuristiques présentées dans la section 3.3.2. Enfin, la méthode peut débuter son processus de résolution par une solution initiale générée de manière aléatoire. Nous avons proposé pour ce cas un algorithme pour la génération aléatoire d’une solution conjointe production/maintenance (Algorithme 3.8).

Algorithme Génération aléatoire de la solution initiale Début

Générer une séquence de production aléatoirement (Algorithme 3.1).

Insérer sur cette séquence les tâches de maintenance selon l’une des heuristiques d’insertion des tâches de maintenance développées dans la section 3.3.2.

Fin.