4.2 Formulation du probl` eme
4.3.1 Algorithme NSGA-II
L’algorithme g´en´etique ´elitiste de tri non domin´e (NSGA-II) est la version am´elior´ee de
l’algo-rithme NSGA. Il a ´et´e propos´e par Deb [179]. Cet algorithme manipule une population de solutions
et utilise un m´ecanisme explicite de pr´eservation de la diversit´e. Les individus (solutions) d’une
population sont tri´es sur une base de non-dominance et auxquels sont attribu´es un rang et une
crowding distance. Cette derni`ere mesure la dispersion des solutions, elle est bas´ee sur le calcul
de la distance moyenne aux deux points de part et d’autre de l’individu consid´er´e selon les deux
objectifs [179]. Les individus non domin´es constituent le frontF1 ayant un rang 1. Les autres fronts
F i sont ensuite d´efinis r´ecursivement en ignorant les solutions des fronts pr´ec´edemment trouv´es.
Nous adoptons l’algorithme NSGA-II tel qu’il est pr´esent´e dans l’algorithme 5.
Algorithme 5 Algorithm NSGA-II [179]
G´en´erer une population initiale P
1de tailleN
p´
Evaluer les solutions en se basant sur les fonctions objectives
Trier les solutions pour obtenir les fronts non domin´es en appliquant la fonction
fast-non-dominated-sort function(P
g,N
p) //les individus sont attribu´
es un rang et une crowding distancepourg= 1, ..., N
gfaire //
gest le num´ero de g´en´eration couranteCr´eer la population des parentsS
paren utilisant la fonction Parent-selection1 (P
g, N
p)
Cr´eer la population fille Q
gen se basant sur les op´erateurs de croisement et de mutation
Evaluer les solutions de Q
gFusionner les populations parent P
get filleQ
gpour former la populationR
g=P
g∪Q
gTrier les solutions de R
gpour obtenir l’ensemble des fronts F = (F
1, F
2, ...) en utilisant la
fonction fast-non-dominated-sort(R
g)
Initialiser la population de la g´en´eration suivante P
g+1←−∅and i←−1
tantque|P
g+1|+|F
i|< N
pfaire
Ajouter le front num´ero i`aP
g+1i←−i+ 1
fin tantque
Trier les individus du front F
ien se basant sur leur crowding distance
Compl´eter P
g+1avec les premiers N
p− |P
g+1| ´el´ements de F
i//les individus restants de
Pg+1 sont s´electionn´es de ce front en se basant sur leur crowding distancefin pour
Les individus de la derni`ere population (de la derni`ere g´en´eration) sont les solutions non
do-min´ees du probl`eme
4.3.1.1 NSGA-II avec p´enalit´e (NSGA-II-P)
L’une des approches efficaces utilis´ees pour ´etudier un probl`eme d’optimisation avec contraintes
est la technique de p´enalisation. Cette derni`ere permet de guider la recherche vers la r´egion faisable
[166]. De ce fait, nous l’appliquons dans ce travail comme suit.
Algorithme 6 Fonction fast-non-dominated-sort(P)
pourp= 1, ..., size(P) faire //pour chaque individu
pde la populationS
p←− solutions domin´ees parp //
Spest l’ensemble des solutions qui sont domin´ees parpn
p←− nombre de solutions qui dominent p.
F
1←−solutions ayant n
p=0 //les solutions non domin´
ees sont ajout´ees sur le frontF1 ayant le rang 1i←−1 //initialiser le compteur
ide front `a 1tantque F
in’est pas videfaire
Q←−∅//
Qinitialis´ee `a vide, est utilis´ee pour sauvegarder les individus du front (i+ 1) suivantpourchaque individup dansF
ifaire
pourchaque individu q dansS
pfaire
n
q←−n
q−1
si n
q= 0 alors//Aucune des solutions dans les fronts suivants ne dominerait
qq
rank←−i+ 1
Q←−Q∪q //ajouter l’individu
q`a l’ensembleQfin si
fin pour
fin pour
i←−i+ 1 //incr´
ementer le nombre de frontF
i←−Q//
Qsera le front suivantfin tantque
fin pour
F ←− l’ensemble tri´e de tous les fronts non domin´es //
F = (F1, F2, ..)pouri= 1, ..., size(F) faire //pour chaque front
Fipourp= 1, ..., size(F
i) faire //chaque individu
pde frontFid
i←− crowding distance
fin pour
fin pour
Algorithme 7 Fonction Parent-selection1(P,N
p)
S
par←−∅//initialiser l’ensemble des parents
Cr´eer une matriceC
indde N
plignes et 2 colonnes //matrice des indices des parents
Remplir chaque colonne deC
indavec les entiers obtenus par une permutation al´eatoire de 1 `a
N
ppouri= 1, ..., N
pfaire
S´electionner al´eatoirement une ligne de C
indqui contient les indices des deux parents
candi-dats
Obtenir les parents correspondants de la population
Comparer les deux parents selon leur rang
siles rangs des deux parents sont diff´erents alors
Trouver le parent avec le rang minimum et ajouter-le `aS
parsinon //Dans le cas des rangs ´
egaux, comparer leur crowding distancesiles crowding distances des deux parents sont diff´erentesalors
Trouver le parent avec la valeur maximale de crowding distance et ajouter-le `a S
parsinon
S´electionner al´eatoirement l’un des deux parents et ajouter-le `aS
parfin si
fin si
fin pour
Afin d’´evaluer une solution, la fonction Fitness est calcul´ee. Elle se compose de la fonction objective
et d’une fonction de p´enalit´e dynamique. Cette derni`ere repr´esente le degr´e de non faisabilit´e
(degr´e de violation de la contrainte) [166]. En outre, ´etant donn´e que les fonctions objectives
sont conflictuelles (minimiser le coˆut du syst`eme et maximiser la disponibilit´e du syst`eme) et afin
d’avoir un probl`eme d’optimisation homog`ene pour le codage, nous avons propos´e les fonctions
Fitness suivantesF F
1etF F
2pr´esent´ees respectivement par les ´equations (4.14) et (4.15).
F F
1=
−A
ssi W
s≤W
c,
−A
s×
WsWc−Wcsinon
(4.14)
F F
2=
C
ssiW
s≤W
c,
C
s+ (W
s−W
c) sinon
(4.15)
Dans cet algorithme (NSGA-II-P), une solution A domine une autre solution B si en comparant
leurs valeurs de fonctions Fitness, A a une performance au moins aussi bonne que celle de B
et, au moins pour l’une des fonctions Fitness, la performance de A est meilleure que celle de B.
Math´ematiquement, cette notion de dominance peut ˆetre formul´ee par :
A domineB siF F
i(A)≤F F
i(B)∀i∈ {1,2} et ∃j∈ {1,2} tel queF F
j(A)< F F
j(B) (4.16)
4.3.1.2 NSGA-II avec une domination de contrainte (NSGA-II-CD)
Pour r´esoudre efficacement un probl`eme multiobjectif avec contraintes, Deb [120] a propos´e en
2002 une version modifi´ee de la d´efinition de dominance. Dans ce concept, une solutionA domine
une autre solution B si l’une des conditions suivantes est remplie :
– SolutionA est faisable, et la solutionB n’est pas faisable.
– Les deux solutionsA etB sont faisables, et Adomine B selon l’´equation (4.16).
– Les deux solutionsA etB ne sont pas faisables, maisAa un degr´e de violation de contrainte
inf´erieur `a celui de B.
Selon cette d´efinition, nous avons utilis´eF F
1etF F
2comme l’indique respectivement les ´equations
(4.17) et (4.18). Ainsi les fonction Fitness repr´esentent directement les fonctions objectives. En
outre, nous d´efinissons une fonction suppl´ementaireF F
3(´equation (4.19)) pour ´evaluer la violation
de contrainte.
F F
1=−A
s(4.17)
F F
2=C
s(4.18)
F F
3=
0 si W
s≤W
c,
W
s−W
csinon
(4.19)
Dans le document
Optimisation de performances et maîtrise de la fiabilité dans la conception de systèmes de production
(Page 156-159)