• Aucun résultat trouvé

Les données de notre problème sont les données relatives au flowshop de permutation, puis celles relatives à la maintenance préventive systématique, et enfin la fonction objectif à optimiser.

2.1. Les données de la production

Nous nous intéressons aux ateliers de type flowshop notés Fn/ /Cmax [BLA96]. Ce type

d’atelier se rencontre très fréquemment en pratique. Nous nous restreindrons au cas du

flowshop de permutation.

Soit m le nombre de machines dans la chaîne de production et n le nombre de lots à produire. Un lot est défini comme étant une séquence de m opérations élémentaires de production qui suivent l’ordre des machines. On notera par l’indice j une machine quelconque (1≤j≤m) et par l’indice k un lot quelconque (1≤k≤n). On notera également pour chaque lot k:

ƒ rk : la date d’arrivée du lot k dans l’atelier. ƒ dk : la date de livraison au plus tard du lot k.

ƒ tkj : la date de début d’exécution du lot ksur la machine j. ƒ ckj : la date de fin d’exécution du lot k sur la machine j.

On appellera Cmaxk = max(ckj), la date de fin de la dernière opération du lot k.

ƒ pkj : la durée opératoire du lot k sur la machine j.

2.2. Les données de la maintenance

Dans l’atelier flowshop nous considérons que chaque machine doit subir une ou plusieurs maintenances préventives systématiques déterministes dont les périodes sont données d’avance. Ces tâches de maintenance sont des interventions périodiques prévues toutes les T*j

périodes (T*j dénote la périodicité optimale de la tâche de maintenance sur la machine j).

Chaque tâche de maintenance préventive est caractérisée par une gamme de maintenance préétablie par le service maintenance ou par le constructeur de l’équipement considéré. Elles consistent en une suite d’opérations élémentaires dont la durée p’j est évaluée avec plus ou

moins de certitude. Cette durée opératoire peut varier si le service de maintenance décide de ne pas exécuter toute la gamme de maintenance, à chaque occurrence de la tâche.

En pratique un certain écart (positif ou négatif) est toléré par rapport à la période idéale de maintenance T*. Cette tolérance se matérialise par la mise en place d’un intervalle dit de tolérance autour de chaque période de maintenance, durant lesquels le coût de la maintenance, si elle est avancée ou retardée, est faible. Ces intervalles donneront plus de flexibilité à la planification de la maintenance en cas de besoin. La périodicité T*j de ces tâches est donc

autorisée à varier dans un intervalle de tolérance noté [Tminj,Tmaxj]. Cet intervalle

représente un compromis entre le coût de maintenance et le risque de perte de disponibilité de la machine. Si la période est inférieure à Tminj

(

Fig. 3.2-Zone 1), les interventions seront trop

fréquentes, par rapport aux besoins réels de la machine en maintenance, et induisent ainsi un coût de maintenance trop élevé. Dans le cas contraire, c'est-à-dire une tâche de maintenance qui serait programmée après Tmaxj

(

Fig. 3.2-Zone 3), des pannes risquent d’apparaître et par

conséquent les interventions de maintenance corrective aussi, ce qui est pénalisant en terme de disponibilité de la machine. Cet état de fait induit un accroissement du coût de la maintenance et une perte de productivité. Par contre, une intervention planifiée dans l’intervalle [Tminj,Tmaxj] va induire un coût de maintenance relativement constant, sachant

que l’optimum est atteint à T*j.

Figure 3.2: Intervalle de tolérance d'une tâche de maintenance.

Coût de la Maintenance Temps 1 2 3 Machines Tmaxj Tminj T*j Temps Tj Modèle d’approximation

On notera :

ƒ Mj: la tâche de maintenance i associée à la machine j. Une machine peut faire l’objet de

plusieurs interventions différentes. Mj représente l’une de ces interventions qui sera répétée

périodiquement.

ƒ T*j : la périodicité de la tâche Mj.

ƒ Tminj: la durée minimale séparant deux tâches de maintenances Mjk successives sur la

machine j;

ƒ Tmaxj: la durée maximale séparant deux tâches de maintenances Mjk successives sur la

machine j;

ƒ p’j : la durée opératoire de la tâche Mj. Elle est supposée connue et constante.

Les données qui suivent concernent la kème occurrence de la tâche de maintenance Mj :

ƒ t’jk : la date début d’exécution de la kème occurrence de la tâche Mj.

ƒ E’jk : l’avance de la kème occurrence de Mjk. E’jk = max (0, (t’j-1k+p’jk+Tminjk) – t’jk)

ƒ L’jk : le retard de la kème occurrence de Mjk. L’jk = max (0, t’jk – (t’j-1k+p’jk-Tmaxjk)

L’intervalle de tolérance de la kième occurrence de la tâche de maintenance Mj sur la machine j

[Iminjk, Imaxjk] est déterminé de la manière suivante :

ƒ Iminjk = t’jk-1+p’j+Tminj ;

ƒ Imaxjk = t’jk-1+p’jk-Tmaxj.

2.3. La fonction objectif

Le but est de proposer une méthode qui fournit un planning commun pour les tâches de production et de maintenance. L’objectif de l’optimisation consiste en un compromis entre la fonction objectif que l’on souhaite atteindre pour la production et la maintenance.

Les contraintes imposées par les clients à leurs fournisseurs s’expriment souvent en terme de délai, ce qui nous fait naturellement nous tourner vers la minimisation du temps total de fabrication (en anglais makespan ou Cmax). On notera f1 cette fonction objectif qui peut

s’exprimer par : ) Max(c C

f1= max = ij (1)

Du point de vue du fournisseur, le respect des contraintes impose un bon fonctionnement de son système de production. Ceci passe par le respect des périodes de maintenance prévues. On notera f2 cette fonction objectif qui peut s’exprimer par:

L'

E'

f

jk m j kj k jk + =

∑∑

=1 =1 2 (2) Avec

E’jk : l’avance de la kème occurrence de Mjk ;

L’jk : le retard de la kème occurrence de Mjk ;

kj le nombre d’occurrences effectives de la tâche de maintenance Mj.

Pour optimiser les deux critères nous prenons en compte la fonction d’évaluation suivante :

f

f

f

=

α

1+

β

2 (3)

La linéarisation de la fonction objectif va permettre, dans une première étape, d’aborder le problème de manière simplifiée. α et β sont des paramètres qui vont mesurer les contributions respectives de la production et de la maintenance dans la fonction objectif globale. Le but d’une telle démarche n’est pas de faire de l’optimisation multicritère mais uniquement de mesurer l’impact de la production ou de la maintenance sur la fonction objectif globale. Pour cela les paramètres α et β peuvent dépendre du nombre de tâches, de la durée ou encore de la taille du problème traité. Ils sont indépendants et non complémentaires. Ils sont fixés par l’utilisateur suivant le degré d’importance qu’il donne à la production ou à la maintenance.

En référence aux approches de résolution en ordonnancement de production, trois approches de résolution sont présentées : une approche constructive mais dédiée au flowshop de permutation avec les heuristiques RA, Gupta, Palmer, CDS et NEH, une approche itérative avec la recherche Tabou et enfin une approche évolutive avec les AG. Nous déclinerons chaque approche selon les deux stratégies d’ordonnancement conjoint : séquentielle et intégrée. Nous proposons par la suite une approche hybride.