• Aucun résultat trouvé

4.3 Sélection des opérations de maintenance

4.3.3 Méthodes de résolution

Cette partie se focalise sur la sélection des opérations à effectuer pendant une intervention

de maintenance. Après avoir évoqué les critères utilisés pour réaliser cette sélection et les

questions autour de la dépendance des opérations de maintenance, intéressons-nous

maintenant à la résolution du problème décrit par l’expression 4.2. Pour résoudre ce

problème d’optimisation sous contrainte, les principales difficultés apparaissent lorsque le

nombre de composants augmente. Quand une intervention de maintenance est jugée

indispensable, la sélection des opérations doit être réalisée entre 2

𝑛

candidats, avec 𝑛 le

nombre de composants dans le système. Dans le but d’éviter l’explosion combinatoire et de

réduire le temps de calcul, des méthodes de résolutions exactes ou approchées peuvent être

considérées. Elles visent à réduire de manière drastique le nombre de candidats à

considérer.

Dans cette thèse, nous avons premièrement utilisé une méthode exacte basée sur une

procédure de séparation et évaluation, plus connue sous le terme anglophone de Branch

and Bound (Galante & Passannanti, 2009). Dans un algorithme Branch and Bound, l’objectif

est d’éviter de passer en revue tous les candidats en s’appuyant sur une analyse des

propriétés du problème. Pour cela, cet algorithme va construire les différents candidats

composant par composant. Cette construction est souvent représentée sous forme d’arbre

où les branches correspondent aux différentes étapes de l’algorithme. A la fin de chaque

étape, l’objectif est de comparer les développements possibles des candidats, partiellement

définis, par rapport aux critères à optimiser. Selon des règles basées sur l’analyse du

problème, certaines branches peuvent être éliminées.

Cette méthode a été utilisée dans (Lesobre et al., 2013) pour résoudre le problème

d’optimisation avec le critère de décision de maintenance 𝐽

1

. Aucune dépendance entre les

81

exemple illustratif montrent une réduction significative du temps de calcul. Notons que, les

règles utilisées pour l’élimination des branches ont été déterminées assez simplement au

vue du problème posé. Typiquement, si un candidat partiellement défini respecte la

contrainte au niveau de la 𝑀𝐹𝑂𝑃𝑆(𝑡), les autres candidats avec une évaluation du critère 𝐽

1

supérieure peuvent être supprimés. L’utilisation de cette règle simple est possible car le

critère 𝐽

1

a une évolution croissante. Néanmoins, si l’on souhaite étendre cette méthode de

résolution à d’autres critères de décision, la définition de ces règles devient plus complexe.

C’est le cas, par exemple, lorsque l’on souhaite définir des règles pour les critères 𝐽

2

et 𝐽

3

. En

effet, ces critères ne sont plus des sommes mais des ratios dont l’évolution n’est pas

toujours croissante. Ce constat nous amène donc à étudier une autre méthode de

résolution: les algorithmes génétiques.

Les algorithmes génétiques (AGs) représentent des méthodes d’optimisation stochastique

basées sur les concepts de la sélection naturelle et de la génétique (Holland J. H., 1975).

Contrairement au Branch and Bound évoqué précédemment, les AGs sont des méthodes de

résolution approchées. La flexibilité de ces méthodes permet de s’adapter beaucoup plus

facilement aux différents critères de décision de maintenance considérés. Plusieurs

approches d’AGs sont proposées pour traiter les problèmes d’optimisation sous contrainte

(Michalewicz & Schouenauer, 1996). Dans ce manuscrit, des méthodes basées sur la

recherche de solutions faisables sont investiguées (Deb et al., 2002). Généralement, la

première étape d’un AG vise à construire une population initiale de candidats. L’étape

suivante consiste à évaluer et à classer ces divers candidats à l’aide d’une fonction objectif.

Ensuite, tant que le critère d’arrêt n’est pas satisfait, des opérations génétiques telles que le

croisement et la mutation sont appliquées sur la population pour obtenir de meilleurs

candidats. Dans notre cas, un seuil sur le nombre d’itérations est utilisé comme critère

d’arrêt.

Codage d’un candidat

Dans l’algorithme développé (cf. figure 4.5), les candidats sont représentés par un vecteur de

taille 𝑛, avec 𝑛 le nombre de composants dans le système. Chaque composant à l’intérieur

de ce vecteur peut prendre la valeur 1 ou 0 suivant que le remplacement est réalisé ou non.

Population initiale

La première étape de l’algorithme consiste à générer la population initiale 𝑃

0

composée de

𝑁 candidats. Pour construire 𝑃

0

, un générateur aléatoire peut être utilisé. Même si cette

méthode a l’avantage d’être très simple à mettre en place, elle conduit souvent à réduire

l’efficacité de l’AG. En analysant les différents critères considérés, il ressort que la sélection

des opérations de maintenance s’appuie principalement sur deux caractéristiques. La

première est liée au coût de remplacement et la seconde est liée à l’importance du

82

caractéristiques, nous proposons de scinder en deux la génération des candidats de la

population initiale.

En pratique, pour les 𝑁 2⁄ premiers candidats de la population initiale, une probabilité plus

importante de remplacement est considérée pour les composants dont le coût est le plus

bas. Pour les 𝑁 2⁄ candidats suivants, une probabilité plus importante est considérée pour

les composants dont le niveau de fiabilité est le plus critique pour le système à l’instant 𝑡.

Notons que, pour évaluer cette criticité, un facteur d’importance appelé Risk Reduction

Worth (RRW) est introduit (Rausand & Høyland, 2004). Pour un composant 𝑖 donné, le RRW

correspond au ratio de l’actuelle défiabilité du système sur la défiabilité du système en

supposant que le composant 𝑖 est remplacé. Ce facteur d’importance est pertinent pour

prioriser les remplacements qui réduisent le plus le risque de dysfonctionnement. Ainsi, pour

la seconde moitié de la population initiale, la probabilité de remplacement plus importante

est considérée sur les composants avec un RRW élevé.

Précisons que, dans cette détermination de la population initiale, nous introduisons des

éléments, notamment du point de vue de la fiabilité, qui sont spécifiques au problème traité.

Figure 4.5: Description de l'algorithme génétique

Evaluation et classement

La seconde étape de cet algorithme vise à évaluer le critère de décision de maintenance

utilisé et la 𝑀𝐹𝑂𝑃𝑆(𝑡) pour chaque candidat. Une fois cette évaluation réalisée, les

candidats doivent être classés. Comme nous sommes face à un problème d’optimisation

sous contrainte, chaque candidat représente une solution faisable ou non suivant la valeur

0 0 1 0 0 1 0 1 ……….……….n 1 0 0 0 1 0 0 1 0 1 0 1 1 1

.

.

Population N Evaluation Classification Sélection Opérations génétiques Croisement Mutation

83

de la 𝑀𝐹𝑂𝑃𝑆(𝑡). Pour ordonner les candidats deux à deux, trois possibilités sont

considérées:

- Si les deux candidats sont des solutions faisables, le candidat avec le meilleur critère

de décision est dominant,

- Si un candidat est une solution faisable et l’autre non, la solution faisable est

dominante,

- Enfin, si les deux candidats sont des solutions infaisables, le candidat avec la

meilleure 𝑀𝐹𝑂𝑃𝑆(𝑡) est dominant. Dans ce cas, il s’agit du candidat qui viole le

moins la contrainte définie.

Sélection des parents

Les candidats parents doivent ensuite être sélectionnés dans la population initiale pour les

étapes de croisement et de mutation. Une méthode basée sur la réalisation de tournois

entre deux candidats est implémentée pour sélectionner les 𝑁 2⁄ candidats parents. Pour

mettre en place cette méthode, 𝑁 2⁄ tournois sont réalisés entre deux candidats choisis

aléatoirement dans la population initiale. Le vainqueur de chaque tournoi, c’est-à-dire le

candidat le mieux classé, est sélectionné comme candidat parent.

Croisement et mutation

Une fois que la population de candidats parents est définie, l’objectif est de sélectionner

aléatoirement 𝑁 2⁄ paires de parents pour réaliser des opérations génétiques. La probabilité

de croisement de chaque paire de parents est fixée à 90%. Le croisement a vocation à

combiner les parents sélectionnés pour générer un meilleur candidat enfant. Un point

unique de croisement, déterminé aléatoirement, est utilisé pour la combinaison. Les

séquences des vecteurs placés avant et après ce point sont alors échangées entre les deux

candidats parents pour créer deux candidats enfants. A la fin de cette étape de croisement,

chaque candidat enfant nouvellement créé et les paires de parents non sélectionnées sont

envoyés à l’étape de mutation.

La probabilité de mutation est fixée à 30%. Cette étape de mutation est faite pour éviter que

l’AG tombe dans un minimum local. Ainsi, pour les candidats sélectionnés, les variables

binaires représentant les remplacements de chaque composant sont modifiées avec une

probabilité de 50%. A la fin de cette étape, la population 𝑄

0

constituée des candidats enfants

est de taille 𝑁. La dernière étape consiste à fusionner 𝑃

0

et 𝑄

0

, à évaluer et à classer les 2𝑁

candidats et à supprimer les 𝑁 candidats les moins bien classés. Les 𝑁 candidats restants

sont ensuite utilisés pour créer la population 𝑃

1

.

Critère d’arrêt

Ces différentes étapes sont ensuite appliquées de manière itérative jusqu’à satisfaire le

critère d’arrêt retenu. Les différentes itérations de l’AG sont appelées des générations.

84