149
REPUPLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE M’HAMED BOUGARA BOUMERDES Faculté des Sciences de l’Ingénieur Département Génie Mécanique GROUPE MODELISATION EN MECANIQUE ET PRODUCTIQUE – LMMC MAGISTER en GENIE MECANIQUE OPTION : PRODUCTIQUE MEMOIRE Présenté par M. MERDJAOUI Brahim Soutenu le 14 Octobre 2006 devant le jury suivant : Dr. K. MOHAMMEDI MC UMBB Président Dr. I. BELAIDI CC UMBB Encadreur Dr. T. SAIDOUNI MC EMP Examinateur Dr. M. S. BOUMEDINE CC UMBB Examinateur Dr. S. ADJERID MC UMBB Examinateur Année universitaire 2005/2006 Optimisation multi-objectif par algorithmes génétiques et approche Pareto des paramètres d’usinage sous contraintes des limitations de production

Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Embed Size (px)

Citation preview

Page 1: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

REPUPLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE

SCIENTIFIQUE UNIVERSITE M’HAMED BOUGARA BOUMERDES

Faculté des Sciences de l’Ingénieur Département Génie Mécanique

GROUPE MODELISATION EN MECANIQUE ET PRODUCTIQUE – LMMC

MAGISTER en GENIE MECANIQUE

OPTION : PRODUCTIQUE

MEMOIRE

Présenté par

M. MERDJAOUI Brahim

Soutenu le 14 Octobre 2006 devant le jury suivant :

Dr. K. MOHAMMEDI MC UMBB Président

Dr. I. BELAIDI CC UMBB Encadreur

Dr. T. SAIDOUNI MC EMP Examinateur

Dr. M. S. BOUMEDINE CC UMBB Examinateur

Dr. S. ADJERID MC UMBB Examinateur

Année universitaire 2005/2006

Optimisation multi-objectif par algorithmes génétiques et approche Pareto des paramètres d’usinage sous contraintes des

limitations de production

Page 2: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

ملخص

تحسين شروط القطع في الصناعة المتسلسلة للمواد الصناعية بحذف المادة، هي مرحلة ضرورية في اطار األتوماتيكية الكاملة للسلسلة الخوارزمات : من هذه الطرق . وفي نفس الوقت, لهذا عندنا عدة طرق رياضية للتحسين المتعدد األهداف. الحرآية النتاج البضائع المصنعة

في " االلة– األداة –القطعة "نقدم تطوير مبدأ للتحسين المتعدد األهداف لشروط القطع مع عوائق مربوطة , في اطار هذه األطروحة. ينيةالج عملية الخرط باستعمال الخوارزمات الجينية و تقنية

:الكلمات المفتاحية

.ط القطعالخوارزمات الجينية، شرو, التحسين المتعدد األهداف, Pareto حد

Résume

L’optimisation des conditions de coupe en fabrication sérielle de produits industriels par enlèvement de matière est une étape indispensable dans le cadre de l’automatisation complète de la chaîne cinématique de la production de produits manufacturés. Aussi, nous disposons de nombreuses méthodes et outils mathématiques d’optimisation multi-objectif, à savoir les méthodes non déterministes ou stochastiques telles que recuit simulé, colonies de fourmis, algorithmes génétiques, recherche tabou…etc. Dans le cadre de ce mémoire, nous présentons les développements et la mise en oeuvre d’un nouveau concept pour une optimisation “multi-objectif “ des paramètres d’usinage sous contraintes des limitations de production liées au système « Pièce-Outil-Machine » pour les opérations de tournage. Nous utilisons un algorithme génétique basé sur la technique des optima de Pareto, implémenté sous Matlab. Cette méthode, appliquée dans le cas des paramètres de tournage, permet de réaliser simultanément un usinage à coûts et temps minimisés en respectant la qualité des produits manufacturés (opérations de finition) d’une part et les délais de production pour des coûts d’usinage minimisés (opérations d’ébauche) d’autre part . Les résultats obtenus dans le cadre de notre application nous paraissent, comparativement à d’autres résultats rapportés par la littérature, sensiblement améliorés.

Mots-clés: Optimisation multi-objectif, algorithmes génétiques, conditions de coupe, frontière de Pareto optimale. Abstract

The optimization of the cutting conditions in serial manufacture of industrial products per removal of matter is an essential stage within the framework of the complete automation of the kinematic chain of the production of manufactured goods. Also, we have many methods and mathematical tools for optimization multi-objective, namely the nondeterministic or stochastic methods such as simulated annealing, colonies of ants, genetic algorithms, seek taboo… etc Within the framework of this memory, we present the developments and the implementation of a new concept for an optimization “multi-objective “of the parameters of machining under constraints of the production ceilings related to the system “Part-Tool-Machine” for the operations of turning. We use a genetic algorithm based on the technique of the Pareto's optimums, implemented under Matlab. This method, applied in the case of parameters of turning, allows simultaneously to carry out a machining at cost and times minimized by respecting the quality of the manufactured goods (finishing operations) on the one hand and the lead times at minimized costs of machining (operations of outline) on the other hand. The obtained results within the framework of our application appear to us, compared to other results brought back by the literature, appreciably improved. Key-word: Multi-objective optimization, genetic algorithm, cutting conditions, front of Pareto.

Pareto

Page 3: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Remerciements Je voudrais en premier lieu exprimer tous mes remerciements au Dr. Idir BELAIDI, Enseignant-Chercheur à l’Université M’hamed Bougara de Boumerdes, pour m’avoir proposé ce sujet et accepté d’encadré ce travail, et de m’avoir donné l’opportunité d’effectuer ce travail de magister dans un domaine qui m’a toujours passionné, les algorithmes génétiques, appliqués au génie mécanique. Je le remercie également pour les observations pertinentes et les lectures attentives lors aux différentes étapes de la réalisation de ce travail

Je tiens à remercier tout particulièrement les membres de l’équipe du Groupe de Recherche ‘modélisation en mécanique et productique’, dirigé par Dr Kamal Mohammedi, maître de conférence à l’Université de M’hamed Bougara Boumerdes, et le Professeur MT. ABADLIA, Directeur du LMMC.

J’exprime également toute ma gratitude et ma reconnaissance au Professeur

Hartmut POHLHEIM, de l’Université Technique de Berlin (Research and Technology) pour m’avoir aidé dans la partie programmation, (GEA Toolbox 2004 sur les opérateurs génétiques). Je le remercie aussi pour son aide précieuse, les conseils et les connaissances dont il a su me faire profiter.

Enfin, je remercie vivement les membres du jury, à leur tête K. MOHAMMEDI Pour avoir bien accepté de présider ce jury, Messieurs M. S. BOUMEDINE (UMBB) , T. SAIDOUNI (EMP), S. ADJERID, pour avoir bien vouloir faire partie du jury de soutenance. Qu’ils trouvent ici l’expression de ma gratitude.

Mes remerciements vont aussi à tous mes amis, à ceux qui ont de près ou de loin

participé à l’élaboration de ce document, et à tous ceux qui par un simple mot ou geste, m’ont aidé et encouragé tout au long de mes études, je pense particulièrement à mes parents, à mes sœurs et frères et à toutes ma grande familles

Page 4: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Tables des matières

Remerciements Table des matières Liste des figures Liste des tableaux Liste des symboles et abréviations

Inroduction générale

Chapitre. I. Introduction aux problèmes d’optimisation

Introduction ..................................................................................................................................3

I.1. Définitions..............................................................................................................................3

I.2. Choix d'une méthode...............................................................................................................4

I.3. Les différentes méthodes.........................................................................................................4

I.3.1 Les méthodes déterministes ............................................................................................5

I.3.1.1 Définition ..................................................................................................................5

I.3.1.2 Les méthodes du gradient. ........................................................................................5

I.3.1.3 La méthode multistart ...............................................................................................7

I.3.1.4 Méthode de Nelder Mead (simplexe) ........................................................................8

I.3.1.5 L'algorithme de séparation-évaluation: branch and bound......................................8

I.3.1.6 Méthode du '' Tunneling'' ......................................................................................... .9

I.3.1.7.Conclusion............................................................................................................... 10 I.3.2. Les méthodes stochastiques........................................................................................... 10 I.3.2.1.Définition................................................................................................................. 10 I.3.2.2. La méthode Mont Carlo......................................................................................... 11 I.3.2.3. Recuit simulé.......................................................................................................... 11 I.3.2.4. Les algorithmes évolutionnaires.............................................................................13 I.3.2.5. Le branch and bound(stochastique)........................................................................14 1.3.2.6. Méthode Tabou........................................................................................................14

I.4. Discussion: Compromis entre exploration et exploitation…...............................................17

Chapitre. II. Formulation des problèmes d'optimisation multi-objectif

Introduction .............................................................................................................................18

II.1. Définitions ........................................................................................................................18

II.1.1. Problème multi-objectif (multi-critère) ...................................................................18

II.1.2. Le vecteur idéal .......................................................................................................19

II.1.3. Convexité .................................................................................................................20

II.2. Problématique....................................................................................................................20

II.3. Classification .....................................................................................................................22

II.3.1. Utilisateur................................................................................................................22

Page 5: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

II.3.2. Concepteur ..............................................................................................................23

II.4. Les méthodes agrégées ......................................................................................................24

II.4.1. Théorie ....................................................................................................................24

II.4.1.1. Axiome fondamental .....................................................................................24

II.4.1.2. Les méthodes additif et multiplicatif.............................................................24

II.4.1.3. Defficultés issues de ces méthodes ...............................................................24

II.4.2. Les techniques .........................................................................................................25

II.4.2.1. La moyenne pondérée . .................................................................................25

II.4.2.2. Goal programing ..........................................................................................26

II.4.2.3. Méthode min max .........................................................................................27

II.4.2.4. Goal attainment ............................................................................................27

II.4.2.5. Méthode ε - contrainte..................................................................................28

II.5. Méthodes non agrégées, non Pareto ..................................................................................29

II.5.1. Théorie .....................................................................................................................29

II.5.2. Les techniques .........................................................................................................29

II.5.2.1. Vector Evalueted Genetic Algorithm (VEGA) ..............................................29

II.5.2.2. Utilisation des genres ...................................................................................31

II.5.2.3. La méthode lexicographique……………………………………………………..32

II.5.2.4. A non Generational Genetic Algorithm ........................................................33

II.5.2.5. Méthode élitiste ............................................................................................37

Chapitre. III. Méthodes d'optimisation multi-objectif basées sur l'approche

Pareto: Etat de l'art

Introduction……………………………………………………………………………………38

III.I. Théorie d'optimisation au sens de Pareto...........................................................................38

III.1.1. Optimum de Pareto .................................................................................................38

III.1.2. Notion de dominance...............................................................................................38

III.1.3. Frontière de Pareto.................................................................................................39

III.1.4. Notion de domination-contrainte ............................................................................40

III.2. Technique non elitistes ...................................................................................................41

III.2.1. Multiple Objective Genetic Algorithm (MOGA) .....................................................41

III.2.2. Non dominated Sorting Genetic Algorithm (NSGA)…………………………………..42

III.2.3. Niched Pareto Genetic Algorithm (NPGA) .............................................................44

III.3. Les technique élitistes......................................................................................................45

III.3.1. Strength Pareto Evolutionary Algorithm (SPEA)....................................................46

III.3.2. Pareto Archived Evolution Strategy (PAES)...........................................................48

III.3.3. Pareto Envelope based Selection Algorithm (PESA) ..............................................50

III.3.4. Non dominated Sorting Genetic Algorithm (NSGAII).............................................52

Page 6: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

III.3.5. PESA II: Region-Based Selection ...........................................................................54

III.3.6. Micro-Genetic Algorithm (micro-GA).....................................................................55

III.3.7. Memetic-PAES ........................................................................................................57

III.3.8. Genetic and Evolutionary Algorithm (GEA) ...........................................................58

III.3.8.1. Migration (modèle régional) .......................................................................59

III.3.8.2. Différentes structures de migration dans les sous populations ...................60

III.4. Conclusion sur les méthode d'optimisation multi-objectif...............................................61

III.4.1. Difficultés des méthodes d'optimisation multi-objectif............................................61

III.4.2. Maintenir la diversité sur la frontière de Pareto ....................................................63

III.4.3. Mise en oeuvre ........................................................................................................64

III.4.3.1. Le paramitrage............................................................................................64

III.4.3.2. Définition d'un critère d'arrêt .....................................................................64

Chapitre . IV. Formulation du problème d'optimisation des conditions de

coupe en tournage

Introduction ..............................................................................................................................66

IV.1. Formulation mathématique du modèle d'optimisation ....................................................66

IV.2. PROBLÉMATIQUE D'OPTIMISATION DES CONDITIONS DE COUPE EN TOURNAGE.................67

IV.2.1. Conditions exploratoires .......................................................................................67

IV.2.2. Problématique ........................................................................................................68

IV.2.3. Objectifs à atteindre ...............................................................................................69

IV.2.3.1. Cas des opérations d'ébauche .....................................................................69

IV.2.3.2. Cas des opérations de finition .....................................................................69

IV.3. Formulation des fonctions objectif ..................................................................................70

IV.3.1. Formulation du temps de production……………………………………………………70

IV.3.2. Formulation du coût de production.......................................................................72

IV.4. Expression des contraintes de production .......................................................................73

IV.4.1. Limitation liées à la machine outil. ........................................................................74

IV.4.1.1. Limitation de puissance de coupe ...............................................................74

IV.4.1.2. Limitation d'éffort-couple admissible sur la broche....................................74

IV.4.2. Limitation liées à l'outil..........................................................................................74

IV.4.2.1. Diagramme de brise-copeaux......................................................................74

IV.4.2.2. Limitation d'endurance d'outil.....................................................................75

IV.4.2.2.1. Forme d'usure...............................................................................75

IV.4.2.2.2. Loi d'usure des outils de coupe.....................................................75

IV.4.3. Limitations liées à la pièce usinée..........................................................................76

IV.4.3.1. Effort de coupe admissible ..........................................................................76

Page 7: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

IV.4.3.2. Etat de surface.............................................................................................76

IV.4.3.3. Température de coupe .................................................................................76

Chapitre. V. Résolution du problème d'optimisation par AGs et FP

Introduction .............................................................................................................................77

V.1. Approche proposée pour l'optimisation multi-objectif contrainte des paramètres de coupe

…………………………………………………………………………………………...77

V.1.1. Cas des opérations d'ébauche..................................................................................77

V.1.2. Cas des opérations finition. .....................................................................................78

V.2. Description générale de l'algorithme mis en oeuvre .........................................................79

V.3. Détermination des paramètres appliqués à l'algorithme génétique ...................................79

V.3.1. Codage des individus. ..............................................................................................80

V.3.2. Opérateurs génétiques. ............................................................................................80

IV.3.2.1. Sélection ......................................................................................................80

IV.3.2.2. Croisement...................................................................................................81

IV.3.2.3. Mutation ......................................................................................................82

V.4. Frontière de Pareto............................................................................................................82

V.5.Développement algorithmique et mise en œuvre informatique.........................................83

V.5.1. Principe de fonctionnement de l'algorithme mis en œuvre . ....................................83

V.5.2.Organigramme général de l'algorithme. ..................................................................84

V.5.3. Procédure algorithmique et pseudo-code mise en œuvre. .......................................84

V.6.Validation: Etude d'un cas pratique en chariotage sur tour ...............................................86

V.6.1. Conditions exploiratoires. .......................................................................................86

V.6.2. Paramètres d'usinage utilisés . ................................................................................87

V.7. Résultats et descussion .....................................................................................................87

V.7.1. Résultats de la première application. ......................................................................87

V.7.2. Résultats de la deuxième applicaton........................................................................94

V.8. Conclusion......................................................................................................................100

Conclusion et perspectives Bibliograpie Annexe A Annexe B Liste des figures Figure I.1 : Méthode du "tunneling".........................................................................................................9

Figure I.2 : Fonction convexe.................................................................................................................12

Page 8: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Figure I.3 : Fonction non convexe..........................................................................................................12

Figure II.1 : Définition de E, F et f .........................................................................................................19

Figure II.2 : Espace convexe (à gauche) et non convexe (à droite) ........................................................20

Figure II.3 : Quel mode de résolution choisir.........................................................................................21

Figure II.4 : Problématique.....................................................................................................................21

Figure II.5 : Méthode goal attainment ....................................................................................................27

Figure II.6 : Illustration de l'approche de ε-contrainte............................................................................28

Figure II.7 : Schéma de fonctionnement de VEGA................................................................................30

Figure III.1 : Exemple de dominance .....................................................................................................38

Figure III.2 : Frontière de Pareto par l'ensemble des points optimaux ...................................................39

Figure III.3 : Frontière de Pareto par l'ensemble des points optimaux ...................................................40

Figure III.4 : Schéma de fonctionnement de NSGA...............................................................................43

Figure III.5 : Schéma de fonctionnement de SPEA................................................................................47

Figure III.6 : Exemple de notation avec SPEA.......................................................................................48

Figure III.7 : Schéma de fonctionnement de PESA...............................................................................51

Figure III.8 : Mesure de squeeze_factor de PESA..................................................................................52

Figure III.9: Calcul de distance de crawding dans NSGA......................................................................53

Figure III.10 : Exemple de sélection par tournoi hypercube...................................................................55

Figure III.11 : Schéma de fonctionnement de micro-GA. ......................................................................56

Figure III.12 : Schéma de fonctionnement de GEA ...............................................................................59

Figure III.13: Topologie entre les sous populations ...............................................................................60

Figure III.14 : Topologie d'anneau .........................................................................................................60

Figure III.15: Topologie de voisinage ....................................................................................................61

Figure III.16 : Une fonction multimodale...............................................................................................62

Figure III.17: Problème trompeur...........................................................................................................63

Figure IV.1: Configuration d'un usinage par enlèvement de matière .....................................................67

Figure IV.2: Paramètres d'usinage..........................................................................................................68

Figure IV.3 : Variation du temps de production en fonction de ai..........................................................72

Figure IV.4 : Coût de production en fonction de ai ................................................................................73

Figure V.1: Front de Pareto de min (f1, f2) ............................................................................................83

Figure V.2 : Fonctionnement de l'algorithme génétique.........................................................................83

Figure V.3 : Organigramme de l'algorithme sous Matlab.......................................................................84

Figure V.4: Pièce à usinée………………………………………………………………………………86 Figure V.5: Montage de la pièce à usinée sur le Mondrin……………………………………………...86 Figure V.6 : Illustration de choix du nombre du générations ................................................................88

Figure V.7 : (a') Variation des objectifs, (b') représente les valeurs des individus ................................88

Page 9: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Figure V.8 : (a) Représente l'espace de solutions, (b) représente l'espace de recherche ........................89

Figure V.9 : Variation des objectifs et variation des individus ..............................................................89

Figure V.10 : (a) Solutions non dominées, (b) espace de recherche ......................................................90

Figure V.11 : Variation des objectifs et variation des individus ............................................................90

Figure V.12 : (a) Espace de solutions, (b) espace de recherche .............................................................91

Figure V.13 : Variation des objectifs et variation des individus ............................................................91

Figure V.14 : (a) Espace de solutions, (b) espace de recherche .............................................................92

Figure V.15 : Variation des objectifs et variation des individus ............................................................92

Figure V.16 : Illustration du choix du nombre de générations ..............................................................94

Figure V.17 : (a') représente la variation des objectifs, (b') représente les valeurs des individus ..........95

Figure V.18 : (a) Solutions non sominées, (b) espace de recherche ......................................................95

Figure V.19 : Variation des objectifs et variation des individus ............................................................96

Figure V.20 : L'espace de solutions et l'espace de recherche ................................................................96

Figure V.21 : Représentation des objectifs et la représentation des variables .......................................97

Figure V.22 : (a) Espace de solutions, (b) espace de recherche .............................................................97

Figure V.23 : (a') Variation des objectifs, (b) variation des individus ...................................................98

Figure V.24 : Solutions non dominées et l'espace de recherche ............................................................98

Figure V.25 : Variation es objectifs et variation des individus ..............................................................99

Liste des tableaux Tableau III.1 : Tableau de dominance ...................................................................................................39

Tableau V.1 : Paramètres d’usinage ......................................................................................................87

Tableau V.2 : Résultats objtenus par l’algorithme de résolution GEA à une population de 50 individus et 100 générations ............................................................................................................................93

Tableau V.3 : Résultats obtenus par la méthodes du Simplexe .............................................................93

Tableau V.4 : Résultats obtenus par la méthode du gradient .................................................................93

Tableau V.5 : Résultats obtenus par l’algorithme de résolution à une population de 100 individus et 200 générations ...................................................................................................................................99

Liste des symboles f(x) : fonction objectif E : ensemble des actions réalisables F : ensemble des objectif réalisables

f∇ : gradiant de f T : fonction de tunneling U : fonction d’utilité Wi : poids affecté au critère

Page 10: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

shareσ : heuristique de partage PI : taille de la population interne PE : taille de la population externe Pm : probabilité de mutation Pc : probabilité de croisement f : avance par tour Vc : vitesse de coupe ap : profondeur de passe Pu : coût de production p0 : coût machine pl : prix de revient d’une arête de coupe pa : coût auxiliaire de lancement de la série Tu : temps de production tl : temps fixe tm : temps technologique de coupe tr : temps de changement d’outil T : durée de vie de l’outil pc : puissance absorbée par la coupe pu : puissance disponible sur la broche kf : pression spécifique de coupe kr : angle de direction de l’arête de coupe rε : rayon de bec de l’outil Liste d’abréviations VEGA : Vector Evelauted Genetic Algorithm NSGA : Non dominated Sorting Genetic Algorithm NPGA: Niched Pareto Genetic Algorithm SPEA: Strength Pareto evolutionary Algorithm PAES: Pareto Archived Evolution Strategy PESA: Pareto Envelope based Selection Algorithm Micro GA: Micro Genetice Algorithm GEA: Genetic and Evolutionary Algorithm POM: Pièce-Outil-Machine MOP: Multi-Objectif Problem

Page 11: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Introduction générale

Page 12: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Introduction générale

De très nombreux problèmes techniques impliquent le plus souvent l’optimisation simultanée d’objectifs, généralement contradictoires. Pour ce genre de problèmes, la notion de solution optimale unique disparaît au profit de la notion de compromis devant satisfaire les objectifs imposés. L’étude de compromis a donné lieu à la définition de solutions optimales et de dominance au sens de Pareto. D’autre part, les méthode d’optimisation multi-objectif sont reconnus comme des techniques particulièrement adaptées à la recherche de surface de Pareto, à la différence de la plupart des méthodes traditionnelles, qui manipulent en général un unique point de l’espace de recherche.

L’application des méthodes d’optimisation multi-objectif des paramètres d’usinage en fabrication sérielle de produits industriels est une étape indispensable dans le cadre de l’automatisation complète de la chaîne cinématique de la fabrication de produits manufacturés. A ce jour, les méthodes et stratégies d’optimisation connues [Agapiou 1992], [Haddouche 2002], [Assas 2001] se basent essentiellement sur une optimisation partielle, à l’exemple de : - L’optimisation mono-objectif à une variable, où l’on minimise les coûts d’usinage ou les temps de production, en relation avec un paramètre d’usinage, la vitesse de coupe, en se basant sur la stratégie de l’avance maximale (puissance maximale en ébauche et rugosité imposée en finition) pour une profondeur de passe fixée ; - L’optimisation mono-objectif à deux variables, où l’on minimise les coûts d’usinage ou les temps de production, en relation avec deux paramètres d’usinage, la vitesse de coupe et l’avance de l’outil pour une rugosité de la surface usinée imposée, et une profondeur de passe fixée (puissance maximale en ébauche et rugosité imposée en finition) et enfin - L’optimisation mono-objectif à trois variables, où l’on minimise les coûts d’usinage ou les temps de production en relation avec la rugosité de la surface usinée et la précision dimensionnelle demandée. Les valeurs des paramètres recherchées étant la vitesse de coupe Vc, l’avance par tour f et la profondeur de passe ap.

Nous disposons de nombreuses méthodes et outils mathématiques d’optimisation multi-objectif, à savoir les méthodes non déterministes ou stochastiques telles que recuit simulé, colonies de fourmis, algorithmes génétiques, recherche tabou… Dans le contexte de notre étude, nous proposons un nouveau concept d’optimisation multi-objectif sous contraintes des limitations de production liées au système « Pièce-Outil-Machine » pour les opérations de tournage. Ce dernier est basé sur l’application des

1

Page 13: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

algorithmes génétiques GEA [Hartmut 2004] sous contraintes et la technique des optima de Pareto [Fonseca and Fleming 1993], [Vacher 2000], dont le but de déterminer un ensemble de solutions non dominé, désigné par front de Pareto optimal. L’intérêt de cette démarche réside dans la possibilité de déterminer un ensemble de solutions des grandeurs de coupe (Vc, f, a) en réalisant simultanément un usinage à moindre coût et des temps de production minimum, en respectant la qualité des produits manufacturés pour les opérations de finition, et en exploitant au maximum les conditions de rigidité du triplet « Pièce-Outil-Machine » pour les opérations d’ébauche.

A cet effet, nous avons structuré ce présent mémoire en cinq chapitres. Nous introduirons dans le premier chapitre les problèmes d’optimisation en général.

Ensuite, dans le deuxième chapitre, nous présenterons succinctement les problèmes d’optimisation multi-objectif et leur intérêt technico-scientifique. Le troisième chapitre est entièrement consacré à l’état de l’art sur les méthodes d’optimisation multi-objectif basées sur la dominance de Pareto, dont les méthodes ont été largement introduites dans l’industrie et la recherche durant ces dernières décennies. Dans le chapitre quatre, nous développons les formulations mathématiques inhérentes aux problèmes d’optimisation multi-objectif des conditions de coupe dans le cas du tournage. Les relations des fonctions ‘objectif’ et des contraintes ou limitations de production liées à la pièce, à l’outil et à la machine sont mises en forme en vues de leur intégration dans le concept d’optimisation proposé. La résolution du problème multi-objectif posé a fait l’objet du dernier chapitre, où les développements d’un algorithme basé sur la technique des algorithmes génétiques évolutionnistes, et une approche de résolution au sens de Pareto, ont été explicité et implémenté sous Matlab. Les résultats obtenus et commentés clôturent de chapitre. Une conclusion générale et des perspectives suggérées parachèvent ce présent travail.

2

Page 14: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Chapitre I

Introduction aux problèmes d’optimisation

Page 15: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Introduction

Les problèmes d’optimisation occupent actuellement une place très importante dans le domaine de la recherche. L’évolution des techniques informatiques a permis de dynamiser les recherches dans ce domaine.

La résolution d’un problème d’optimisation consiste à explorer un espace de recherche afin de maximiser ou minimiser une fonction donnée. Les complexités relatives, en taille ou en structure, de l’espace de recherche et de la fonction à maximiser conduisent à utiliser des méthodes de résolution radicalement différentes. En première approximation, on peut dire qu’une méthode déterministe est adaptée à un espace de recherche réduit et complexe et qu’un espace de recherche large nécessite plutôt une méthode de recherche stochastique (recuit simulé, algorithme génétique , recherche tabou…. .) [Berro 2001].

Le monde réel offre un ensemble très divers de problèmes d’optimisation, tels que le :

• Problème combinatoire [Ehrgott and Gandibleux 2000] ou à variables continues,

• Problème à un ou plusieurs objectifs,

• Problème statique ou dynamique,

• Problème dans l’incertain.

Cette liste n’est, évidemment, pas exhaustive. Aussi, un problème peut être à la fois multiobjectif et dynamique.

Dans les paragraphes suivants, nous n’aborderons que les problèmes à variables continues.

I.1. Définitions a) Un problème d’optimisation est défini par un espace d’état1, une ou plusieurs fonction(s) objectif(s) et ensemble de contraintes.

b) L’espace d’état est défini par l’ensemble des domaines de définition des variables du problème.

Dans la plupart des problèmes, cet espace est fini car la méthode de résolution utilisée nécessite un espace de travail restreint (Exemples : la méthode Monte-Carlo, les algorithmes génétiques… .).

Cette limitation n’est pas la seule problématique car lorsqu’un problème est posé, le décideur précise un domaine de valeurs envisageables à chacune des variables. De plus, 1 Syn. Espace de recherche des solutions.

Introduction aux problèmes d’optimisation

3

Page 16: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

pour des raisons opératoires2 et de temps de calcul, il est préférable de travailler sur des domaines finis.

c) Les variables du problème peuvent être de natures diverses (réelle, entière, booléenne, etc.) et exprimer des données qualitatives ou quantitatives.

Nous ne développerons pas ce thème mais le paragraphe II.4.1.3 montre la difficulté de mise en œuvre de certaines méthodes si les variables sont de types différents.

d) Une fonction objectif représente le but à atteindre pour le décideur (minimisation de coût, de durée, d’erreur, etc.). Elle définit un espace de solutions potentielles au problème.

e) L’ensemble de contraintes définit des conditions sur l’espace d’état que les variables doivent satisfaire. Ces contraintes sont souvent des contraintes d’inégalité ou d’égalité et permettent en général de limiter l’espace de recherche.

La séparation entre les fonctions objectif et les contraintes peuvent paraître artificielles car nous pourrions considérer qu’une contrainte est un objectif à atteindre. Mais elle se justifie de deux manières différentes : d’une part, les contraintes sont appliquées sur l’espace de recherche alors que les objectifs définissent l’espace de solutions ; D’autre part, dans de nombreuses méthodes les contraintes et les objectifs sont traités par des procédures différentes.

f) Une méthode d’optimisation recherche le point ou un ensemble de points de l’espace des états possibles qui satisfait au mieux un ou plusieurs critère(s). Le résultat est appelé valeur optimale ou optimum.

I.2. Choix d’une méthode

La nature des variables, des domaines de définition et des critères à optimiser a une influence sur le choix de la méthode d’optimisation à utiliser. Il y a deux grandes familles de méthodes d’optimisation : les méthodes déterministes et les méthodes stochastiques.

I.3. Les différentes méthodes

La manière la plus naturelle et la plus ancienne de résoudre un problème d’optimisation est la méthode par essai/erreur.

2 Un domaine infini de valeurs n’est pas représentable en code binaire.

4

Page 17: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Le décideur corrige ses actions en fonction des résultats jusqu’à obtenir une solution satisfaisante.

Cette méthode, apparemment simpliste, est à la base d’un très grand nombre de méthodes d’optimisation.

I.3.1. Les méthodes déterministes

I.3.1.1. Définitions

Les méthodes déterministes se caractérisent par une exploration systématique3 de l’espace de recherche.

Il existe de nombreuses méthodes d’optimisation déterministes. Les méthodes locales qui assurent la convergence vers l’optimum de la fonction le plus proche de la solution courante en explorant son voisinage et les méthodes globales qui s’attachent à faire converger la solution vers l’optimum global de la fonction.

A cet effet nous présentons les méthodes du gradient, la méthode multistart et brièvement la méthode du simplexe, qui sont des méthodes de recherche locale. D’une manière générale, ces méthodes se basent sur l’application de l’algorithme suivant :

a) Choix d’une première solution courante i admissible

b) Génération d’une solution j dans le voisinage de i

c) Si f(j) est meilleur que f(i) alors j devient la solution courante puis retour en b)

d) L’algorithme se termine lorsqu’il n’y a plus d’amélioration de la solution courante.

Ensuite nous présentons les méthodes de recherche globale que sont la méthode de séparation-évaluation (branch and bound) et la méthode de tunneling. Les méthodes homotopiques, l’algorithme A* et la programmation linéaire qui sont également des méthodes d’optimisation globale ne seront pas présentées.

I.3.1.2 Les méthodes du gradient

Historiquement, les méthodes du gradient sont les plus anciennes. Elles permettent de résoudre des problèmes non linéaires [Minoux 1983] et sont basées sur une hypothèse essentielle, la connaissance de la dérivée de la fonction objectif en chacun des points de l’espace. Cette famille de méthodes procède de la façon suivante :

3 Syn. Méthodique.

5

Page 18: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

On choisit un point de départ x0 et on calcule le gradient )( 0xf∇ en x0. Comme le

gradient indique la direction de plus grande augmentation de f, on se déplace d’une quantité 0λ dans le sens opposé au gradient et on définit le point x1 :

)()(

0

0001 xf

xfxx

∇∇

−= λ (I.1)

Cette procédure est répétée et engendre les points x0, x1,…,xk. Ainsi, pas à pas, la distance entre point d’indice k et l’optimum diminue.

0,)()(

1 fkk

kkkk koù

xfxf

xx λλ ∀∇∇

−=+ (I. 2)

Si kλ est fixé, on parle de méthode de gradient à pas prédéterminé. L’inconvénient de

cette procédure est que la convergence est très dépendante du choix du pas de déplacement. La convergence peut être très lente si le pas est mal choisi. L’intérêt principal de cette méthode est la possibilité de sa généralisation aux cas de fonctions non continûment différentiables.

Actuellement, la méthode la plus usitée de cette famille est la méthode de la plus forte pente. Elle permet de se libérer du choix d’un kλ mais elle introduit un critère d’arrêt. Le

but de cette méthode est de minimiser la fonction de λ :

))(.()( kk xfxfg ∇−= λλ (I. 3)

Algorithme de la plus forte pente a) Choisir un point de départ x0 et faire k = 0.

b) A l’itération k : ).( kk xfd ∇−=

Recherche kλ tel que : ).().( kkkkk dxfMindxf λλ +=+ pour .0≥λ (I. 4)

c) Si le test d’arrêt est vérifié alors fin sinon k ← k + 1 et retourner en b)

L’algorithme de la plus forte pente est à la base de l’algorithme de Hill-Climbing appelé également algorithme de descente de gradient.

6

Page 19: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Difficultés

Le défaut majeur de cette méthode est que la convergence peut être ralentie dans certains types de fonctions.

• Si les déplacements sont optimaux, on en déduit que deux directions des déplacements successifs sont orthogonales [Minoux 1983]. Donc des fonctions de type vallée étroite ou allongée vont piéger les xk et ralentir la convergence.

• Si la fonction est convexe4 alors ces algorithmes d’optimisation convergent vers l’optimum global. Mais dans le cas d’une fonction non convexe, ces méthodes risquent de converger vers un optimum local dépendant de la valeur du point de départ x0 du processus de recherche.

• Si la fonction présente des zones plates, la convergence sera ralentie.

• Si la fonction présente des zones raides, la recherche va être fortement influencée par ces pentes plus que par la progression vers le sommet.

Une manière d’éviter ces problèmes est d’utiliser la méthode multistart.

I.3.1.3. La méthode multistart

La méthode multistart effectue une recherche locale à partir de plusieurs points répartis dans l’espace de recherche. L’efficacité de cette méthode dépend de la bonne adéquation entre le maillage et la forme de la fonction objectif. Si le maillage est trop grand, la probabilité de trouver l’optimum global sera faible car certaines vallées5 ne seront pas traitées. Si le maillage est trop petit, la recherche globale sera inefficace car plusieurs points vont être présents dans la même vallée et convergeront donc vers le même optimum.

Pour éviter ce dernier inconvénient, la méthode a été améliorée en introduisant la notion de cluster. Le regroupement des points voisins permet de diminuer le nombre de calculs en évitant les recherches locales redondantes. Les points à partir desquels la recherche locale est relancée sont choisis plus minutieusement dans chaque cluster, l’efficacité de l’algorithme est ainsi augmentée.

Difficultés

Les méthodes multistart sont efficaces dans de nombreux problèmes et sont simples à mettre en œuvre.

4 Une fonction f :Rn→ R est convexe si elle vérifie ∀x,y∈Rn et ∀ a ∈[0, 1], f(a.x + (1-a) ≤ a.f(x) + (1-a).f(y). 5 Le terme de vallée est utilisé car nous considérons que nous sommes dans un problème de minimisation. Si nous étions dans un problème de maximisation, nous utiliserions le terme de pic.

7

Page 20: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

L’inconvénient principal est le choix du maillage de l’espace de recherche qui doit être suffisamment précis pour être efficace, sinon la convergence vers l’optimum global ne peut pas être assurée. L’alternative pour se dispenser du maillage est de générer les points de manière aléatoire. Les méthodes utilisant cette technique sont nommées méthodes random multistart.

Critique

L’inconvénient majeur des deux types de méthodes présentées ci-dessus est leur hypothèse de dérivabilité qui les rend inaptes à traiter beaucoup de problèmes réels. De plus, leur déplacement déterministe dans l’espace d’état engendre des temps de calcul très importants dans certaines conditions :

• Espace d’état très grand,

• Mauvais paramétrage de la méthode (maillage, valeur du pas de déplacement),

• Pièges de certaines fonctions.

I.3.1.4. Méthode de Nelder Mead ou la méthode du simplexe

L’intérêt principal de la méthode du simplexe par rapport aux deux précédentes est qu’elle ne nécessite pas de calcul de gradient. Elle est uniquement basée sur l’évaluation de la fonction. Cela rend utilisable pour des fonctions bruitées.

Cette méthode locale effectue une recherche multidirectionnelle dans l’espace d’état [Nelder and Mead 1965]. Soit une fonction f à minimiser, on appelle simplexe de Rn tout ensemble (x0, x1, …, xn) de points de R tel que [ ]...1)()( 0 nixfxf i ∈∀≥ x0 est donc le

meilleur élément.

Après la construction d’un simplexe initial, l’algorithme va modifier celui-ci en appliquant des calculs de réflexions, expansions et contractions jusqu’à la validation d’un critère d’arrêt.

I.3.1.5. L’algorithme de séparation – évaluation : branch and bound

Le principe de cette méthode est de découper (branch) l’espace initial de recherche en domaines de plus en plus restreints afin d’isoler l’optimum global (principe de séparation). L’algorithme de recherche forme ainsi un arbre dont chaque nœud représente une partie de l’espace. Ensuite chaque nœud est évalué de façon à déterminer sa borne (bound) inférieure6 en fonction d’un critère d’évaluation. Si cette borne n’est pas

6 Inférieure dans le cas d’une minimisation, supérieure dans le cas d’une maximisation.

8

Page 21: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

meilleure que la solution courante alors la recherche sur ce nœud est stoppée, sinon la séparation continue.

Critique

L’efficacité de cette technique dépend essentiellement du choix des critères de séparation et d’évaluation. Un bon choix permettra à l’algorithme de réduire l’arbre de recherche en évitant la construction de certaines branches. Dans le pire des cas, un mauvais choix peut amener l’algorithme à explorer tout l’espace de recherche. L’utilisation de cette méthode reste limitée à des espaces de petites dimensions.

Cette méthode est essentiellement utilisée sur des problèmes discrets. Couplée avec une méthode d’analyse d’intervalle [Messine 1997] elle peut être également utilisée dans le cadre de problèmes continus avec l’avantage de ne pas exiger la continuité de la fonction et d’éviter que la propagation d’erreurs numériques empêche la validation d’une solution.

I.3.1.6. Méthode du “ Tunneling“

Cette méthode recherche l’optimum global d’une fonction en effectuant des recherches successives d’optima locaux telles que la valeur de la fonction s’améliore. L’algorithme se décompose en deux phases : une phase de recherche d’un optimum local et une phase dite de tunneling.

Si on se place dans le cas d’une fonction f à minimiser, la première phase peut utiliser une méthode de gradient pour trouver le minimum local f* = f(x*).

La deuxième phase consiste à trouver un point x dans une autre vallée à l’aide d’une fonction T de tunneling du type : 0*)()( ≤−= fxfxT

f(x)

min

min

mintunnel

tunnel

x1 X2 x3 x

Figure I.1: Méthode du “ Tunneling“

9

Page 22: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Critique

Le principal inconvénient de cette méthode est l’élaboration de la fonction de tunneling.

I.3.1.7. Conclusion

Les méthodes déterministes vues ci-dessus sont très efficaces sur des problèmes particuliers et en général de petite taille. Mais sur des problèmes de grande taille, la probabilité de trouver l’optimum global en un temps raisonnable dépend essentiellement de la bonne connaissance du problème par le décideur. Ainsi, ce dernier pourra choisir avec précision la bonne méthode et les bons paramètres.

Si les conditions exposées ci-dessus ne sont pas réunies, le décideur devra plutôt s’orienter vers des méthodes stochastiques.

I.3.2. Les méthodes stochastiques

I.3.2.1. Définition

Les méthodes stochastiques sont caractérisées par :

• Un processus de création aléatoire ou pseudo-aléatoire10 des points dans l’espace d’état,

• Une heuristique qui permet de guider la convergence de l’algorithme.

Ces méthodes sont utilisées dans des problèmes où on ne connaît pas d’algorithme de résolution en temps polynomial et pour lesquels on espère trouver une solution approchée de l’optimum global.

Dans la pratique, les méthodes stochastiques qui connaissent le plus de succès sont : la méthode Monte Carlo, le recuit simulé, les algorithmes évolutionnaires, le branch and bound stochastique et la méthode tabou. Leurs atouts principaux sont les suivants :

• Facilité d’implantation,

• Flexibilité par rapport aux contraintes des problèmes,

• Qualité élevée des solutions.

10 La création des points est aléatoire mais en la conditionnant dans un intervalle de valeurs, la création devient guidée.

10

Page 23: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

D’un point de vue théorique, il existe des théorèmes de convergence pour les algorithmes génétiques [Goldberg 1989], [Raphaël Cerf 1994] et pour le recuit simulé [Hajek 1988] qui justifient l’usage de ces méthodes. En général, il est établi que l’on a une probabilité très élevée de trouver une solution optimale, si un temps de calcul très important est alloué.

I.3.2.2. La méthode Monte Carlo

Les méthodes de type Monte Carlo recherchent l’optimum d’une fonction en générant une suite aléatoire de nombres en fonction d’une loi uniforme [Fishman 1997].

Algorithme

a) On génère un point initial x dans l’espace d’état, considéré comme solution courante.

b) On génère aléatoirement un point x’.

c) Si x’ est meilleur que x alors x’ devient la solution courante.

d) Si le critère d’arrêt est satisfait alors fin sinon retour en b).

I.3.2.3. Recuit simulé

La méthode du recuit simulé est basée sur une analogie avec le processus physique de recuit des matériaux cristallins. Ce dernier consiste à amener un solide à basse température après l’avoir élevé à forte température. Lorsque le solide est à une forte température, chaque particule possède une très grande énergie et peut effectuer de grands déplacements aléatoires dans la matière. Au fur à mesure que la température est abaissée, chaque particule perd de l’énergie et sa capacité de déplacement se réduit. Les différents états transitoires de refroidissement permettent d’obtenir des matériaux très homogènes et de bonne qualité [Berro 2001].

La méthode du recuit simulé, appliquée aux problèmes d’optimisation, considère une solution initiale et recherche dans son voisinage une autre solution de façon aléatoire. L’originalité de cette méthode est qu’il est possible de se diriger vers une solution voisine de moins bonne qualité avec une probabilité non nulle. Ceci permet d’échapper aux optima locaux. Au début de l’algorithme, un paramètre T, apparenté à la température, est déterminé et décroît tout au long de l’algorithme pour tendre vers 0. La valeur de ce paramètre va dépendre la probabilité p d’acceptation des solutions inappropriées (plus la température T est élevée, plus cette probabilité sera forte).

La performance du recuit simulé dépend, entre autres, de la règle de refroidissement (c'est-à-dire la décroissance du paramètre T) que l’on utilise. Un refroidissement trop

11

Page 24: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

rapide mènerait vers un optimum local pouvant être de très mauvaise qualité. Un refroidissement trop lent serait très coûteux en temps de calcul. Le réglage des différents paramètres (température initiale, nombre d’itérations pour le température, décroissance de la température,…) peut être long et difficile [Laetitia 2003].

Algorithme

a) A partir d’un point initial x0 , on effectue un déplacement aléatoire (changement d’état).

b) Si le déplacement mène à x1 tel que )()( 01 xfxf p alors x1 est accepté.

Sinon, il est accepté avec une probabilité kT

fp

)((exp ∆−= .

)( f∆ représente la distance de déplacement : x1 – x0.

T est assimilé à une température décroissante au cours du temps.

k est une constante.

Schéma de fonctionnement

Supposons une bille qui glisse le long d’une surface. Si cette dernière est convexe la bille va atteindre le point minimal de la surface après plusieurs oscillations.

Si cette surface n’est pas convexe, c’est-à-dire si elle possède au moins un optimum local, la bille risque de se bloquer dans un optimum (Figure ci-dessous) si son énergie de départ n’est pas assez importante. Avec une énergie initiale importante, la bille pourra éviter le piège.

Figure I.2 : Fonction convexe

Figure I.3 : Fonction non convexe

12

Page 25: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Le fait de partir d’un niveau de température élevée donne à l’algorithme une bonne capacité d’exploration et un refroidissement assez lent évite que la recherche s’arrête sur un minimum local.

I.3.2.4. Les algorithmes évolutionnaires

Les algorithmes évolutionnaires sont inspirés des concepts issus du Lamackisme, Darwinisme et du mutationnisme. Un historique sur ces recherches est présenté en annexe.

Les algorithmes évolutionnaires se caractérisent par :

• Une représentation spécifique des solutions potentielles du problème.

• Un ensemble d’individus formant une population permettant de mémoriser les résultats à chaque étape du processus de recherche.

• Un processus de création aléatoire d’un individu. Cette caractéristique offre une capacité exploratoire importante à la méthode.

• Un ensemble d’opérateurs de modification permettant de créer de nouvelles Solutions à partir des informations mémorisées. Ces opérateurs offrent une capacité de recherche locale à la méthode.

• Une heuristique de notation qui représente la sélection effectuée par l’environnement.

• Une heuristique de sélection.

• Un critère d’arrêt de l’algorithme.

On distingue plusieurs types d’algorithmes évolutionnaires.

Les algorithmes génétiques [Holland 1975, Goldberg 1989] sont inspirés des mécanismes de l’évolution naturelle. Une description est présentée en annexe.

La programmation génétique est une extension des algorithmes génétiques dans laquelle les individus sont des programmes. Le génotype d’un individu est constitué d’un alphabet et se présente sous forme arborescente [Koza 1992].

Les systèmes de classifieurs sont des mécanismes d’apprentissage basés sur un ensemble de règles condition/action. Chaque règle est notée en fonction du résultat de l’action produite et un algorithme génétique est utilisé pour générer de nouvelles règles [Goldberg 1989].

13

Page 26: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Les stratégies d’évolution [Rechenberg 1973] sont des algorithmes itératifs dans lesquels un parent génère un enfant (1+1)-ES. Le meilleur des deux survit et devient le parent de la génération suivante. La généralisation de ce processus a donné les algorithmes ES−+ )( λµ dans lesquels µ parents génèrent λ enfant. Les µ meilleurs survivent.

Avantages

• Ces méthodes sont applicables dans la plupart des problèmes d’optimisation multimodaux, non continus, contraints, bruités, multiobjectifs, dynamiques.

• Elles n’exigent pas d’hypothèse par rapport à l’espace d’état.

• Elles sont flexibles par rapport aux nouvelles contraintes et nouveaux critères à prendre en compte.

• Les résultats sont en général exploitables et interprétables par le décideur.

Inconvénients

• Elles n’offrent aucune garantie de trouver l’optimum en un temps fini. Mais cela est vrai pour toutes les méthodes d’optimisation globales.

• Leur base théorique est insuffisante.

• Le réglage des paramètres est largement inspiré du processus essai/erreur sauf pour les Stratégies d’évolution qui sont auto-adaptatives.

I.3.2.5. Le branch and bound stochastique

Cette méthode utilise le même principe que le branch and bound déterministe mais la borne inférieure (ou supérieure) est stochastique. Elle apparaît plus simple à paramétrer et elle peut être utilisée dans des espaces de recherche plus grands.

I.3.2.6. Méthode Tabou

La recherche Tabou [Glover and Laguna 1997] est une méthode de recherche locale, et a montré ses performances pour de nombreux problèmes d’optimisation. Les idées de base de la recherche Tabou se retrouvent également dans le travail de P. Hansen [Hansen 1986]. A chaque itération, l’algorithme examine le voisinage V d’un point x et retient le meilleur voisin x’ tel que )(),( ''' xfxVx ∈∀ est meilleur que f(x’’) et x’∉ à la liste tabou,

14

Page 27: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

sauf si f(x’) est meilleur que f(x) : c’est le phénomène d’aspiration. On note que x’ est retenu même si f(x’) n’est pas meilleur que f(x).

L’élément fondamental de la méthode tabou est l’utilisation d’une mémoire dynamique dite liste tabou qui permet d’enregistrer les informations pertinentes des étapes de recherche précédentes. Cette liste empêche le blocage de la recherche d’un optimum local en interdisant, à plus ou moins court terme, de revenir sur les solutions précédemment examinées de l’espace d’état, ces solutions sont dites tabou. La durée de cette interdiction dépend d’un paramètre k appelé teneur tabou. Ce dernier est difficile à déterminer7 car il est très dépendant de la nature du problème. Si la valeur est faible la méthode risque de se bloquer sur un optimum local alors qu’une valeur élevée diminuera la capacité de la méthode à exploiter le voisinage de la solution courante [Berro 2001].

La méthode Tabou est souvent utilisée avec des techniques dites d’intensification et de diversification. L’intensification est fondée sur l’enregistrement des propriétés des situations a priori de bonne qualité afin de les exploiter ultérieurement.

La diversification cherche à diriger l’algorithme vers des régions de l’espace de recherche non encore explorées.

Algorithme

Procédure : f fonction de coût

Variables locales : S solution courante, liste tabou L, Meilleure solution M, itération courante K, nombre d’itération N

Paramétrages : Taille de la liste Tabou, Critère d’aspiration

Choix d’une solution initiale S0 ;

Solution courante S ; S0 ;

Meilleure solution M←S ;

K← 0 ;

Whille K < N do

K ← K + 1

Mise à jour de L

Génération des candidats E par opération de voisinage

7 Peut être fixé de façon statique ou dynamique.

15

Page 28: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

C ← best(E)

If (f(S) < f(M)) OU C n’est pas tabou OU C vérifie l’aspiration then

S← C

else

E← E/C

end if

end while

return S

I.4. Discussion : compromis entre exploration et exploitation

La capacité d’exploitation est l’aptitude d’une méthode à utiliser des résultats déjà obtenus pour faire converger l’algorithme.

La capacité d’exploration est l’aptitude d’une méthode à explorer avec efficacité l’espace d’état. Cette aptitude a tendance à ralentir la convergence.

Lors de la conception d’une méthode d’optimisation, le chercheur doit choisir entre maintien de la diversité et convergence alors que le décideur doit choisir entre efficacité et efficience d’une méthode.

Une méthode efficace fournira un résultat optimal ou proche. Dans ce cas, le temps de calcul n’a aucune importance. Pour assurer un résultat optimal, ces méthodes sont obligées d’effectuer une recherche exploratoire très importante de façon à ne laisser aucune partie de l’espace des états non explorée. Ces méthodes optent pour un maintien de la diversité dans le temps. Or, si l’on fait l’hypothèse d’une population de taille fixe, ce maintien entraîne un ralentissement de la convergence.

Une méthode efficiente est une méthode capable de donner un résultat satisfaisant en un temps de calcul relativement court. Dans ce genre de méthode, le décideur privilégie le temps de calcul à la précision du résultat. La conception de ces méthodes est basée sur une capacité d’exploitation importante des résultats précédents. Ainsi, le processus de convergence est accéléré au risque de voir la méthode déviée et dirigée dans une zone de l’espace non optimale. Cette réutilisation systématiquement des caractères des générations passées entraîne une perte rapide de diversité. L’adaptation des individus n’a pas le temps de devenir optimale.

16

Page 29: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Les méthodes Monte Carlo ont une bonne capacité d’exploration mais une mauvaise capacité d’exploitation. Dans les méthodes de gradient ou multistart, l’exploitation des résultats précédents est efficace mais leur capacité d’exploration est limitée. Les méthodes de recuit simulé et les algorithmes génétiques offrent pour certains types de problèmes un bon compromis entre exploration et exploitation qui dépend du choix judicieux des paramètres de réglages.

Après cette introduction synthétique sur les problèmes d’optimisation, nous allons nous intéresser plus particulièrement aux problèmes d’optimisation multiobjectifs.

17

Page 30: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Chapitre II

Formulation des problèmes d’optimisation multi-objectif

Page 31: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Introduction

Dans ce chapitre, nous présentons, au préalable, un ensemble de définitions liées aux problèmes d’optimisation multiobjectif. Ensuite, nous exposons la problématique issue de ces problèmes et les deux types de classification des méthodes de résolution. Pour terminer, nous présentons un large éventail de ces méthodes en essayant d’apporter un regard critique sur chacune d’elles.

II.1. Définitions

II.1.1. Problème multi-objectif (multi-critère)

a) Un problème multiobjectif ou multicritère peut être défini comme un problème dont on recherche l’action qui satisfait un ensemble de contraintes et optimise un vecteur de fonctions objectif.

Par la suite, nous allons voir que les problèmes d’optimisation ont en général plusieurs solutions car la définition d’un optimum ne peut pas être établie dans les problèmes multi-objectifs.

Le paragraphe suivant donne la définition mathématique d’un problème d’optimisation multi-objectif.

b) Une action (ou un vecteur de décisions) sera notée :

).....,,,( 21 nxxxx=

Avec xi les variables du problèmes et n le nombre de variables.

c) Les contraintes8 seront notées :

.,...,10)(,...,,10)( JjavecxhetIiavecxg ji =≤==

d) Le vecteur de fonctions objectif sera noté f :

))(),...,(),(()( 1 xfxfxfxf k=

Avec fi les objectifs ou critères de décision et k le nombre d’objectifs. Nous considérons que les objectifs sont des fonctions de minimisation9.

8 Contraintes d’égalité ou d’inégalité. 9 Dans le cas de fonction f de maximisation, il suffit de minimiser – f.

Formulation des problèmes d’optimisation multi-objectif

18

Page 32: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

⎪⎪⎪

⎪⎪⎪

=≤==

=

=

....,,2,1,0)(,...,,2,1,0)(

),...,,,(

)),(...,),(),(()(min

21

21

JjxhIixg

xxxxavec

xfxfxfxf

j

i

n

k

e) Un problème d’optimisation recherche l’action x* telle que les contraintes gi(x*) soient satisfaites pour i = 1,…,m et qui optimise la fonction f :f(x*) = (f1(x*), f2(x*),…,fk(x*))

L’union des domaines de définition de chaque variable et les contraintes définies en équation) forment un ensemble E que nous appelons l’ensemble des actions réalisables.

Nous appellerons F l’ensemble des objectifs réalisables.

II.1.2. Le vecteur idéal

Le vecteur idéal est l’action composée de la solution optimale pour chaque objectif pris séparément.

),...,( 001

0nxxx =

Avec 0ix la valeur qui optimise la ième fonction objectif.

La condition nécessaire et suffisante pour que ce vecteur idéal soit atteint est que les fonctions objectif soient indépendantes. Si cette condition est réalisée alors la résolution du problème multi-objectif est transformée en une résolution de plusieurs problèmes uni-objectifs.

x2

x1

E Ff : (f1,f2)

f2

f1

Figure II.1 : Définition de E, F, et f

19

Page 33: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

II.1.3. Convexité

L’ensemble F est dit convexe si tout segment joignant deux points quelconques de F est inclus dans F.

II.2. Difficulté d’un problème multi-objectif

La difficulté principale d’un problème multi-objectif est qu’il n’existe pas de définition de la solution optimale. Le décideur peut simplement exprimer le fait qu’une solution est préférable à une autre mais il n’existe pas une solution meilleure que toutes les autres.

Dès lors résoudre un problème multi-objectif ne consiste pas à rechercher la solution optimale mais l’ensemble des solutions satisfaisantes pour lesquelles on ne pourra pas effectuer une opération de classement. Les méthodes de résolution de problèmes multi-objectifs sont donc des méthodes d’aide à la décision car le choix final sera laissé au décideur.

Pour répondre à ce problème la communauté scientifique a adopté deux types de comportement. Le premier est de ramener un problème multi-objectif à un problème simple objectif au risque d’enlever toute signification au problème. Le second comportement est de tenter d’apporter des réponses au problème au prenant en compte l’ensemble des critères. Cette communauté scientifique a élaboré, ces dix dernières années, un grand nombre d’innovations dans les méthodes de résolution. La différence entre ces deux démarches s’exprime dans le schéma ci-dessous. Soit le décideur intervient dès le début de la définition du problème, en exprimant ses préférences, afin de transformer un problème multi-objectif en un problème simple objectif. Soit le décideur effectue son choix dans l’ensemble des solutions proposées par le solveur multi-objectif.

Figure II.2 : Espace convexe (à gauche) et non convexe (à droite)

20

Page 34: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Supposons que l’on souhaite minimiser deux fonctions. La figure II.4 présente l’espace des objectifs réalisables.

Figure II.3 : Quel mode de résolution choisir ?

Problème Multiobjectif

minimiser f1 ...

minimiser f2

Problème

simple objectif

Préférences du décideur

Solveur simple objectif

Solveur

Multiobjectif

La solution

du problème

Ensemble de

Pareto optimal

Préférences du décideur

Choix de la solution appropriées

?

Figure II.4 : Espace des objectifs réalisables

A B

C

f2min

f1min

21

Page 35: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

L’utilisation d’un solveur multi-objectif permet d’obtenir un ensemble de points situés entre A et C donnant ainsi au décideur une plus vaste gamme d’actions.

II.3. Classification

Dans les différentes publications, nous rencontrons deux classifications différentes des méthodes de résolution de problèmes multi-objectifs. Le premier classement adopte un point de vue utilisateur, les méthodes sont classées en fonction de l’usage que l’on désire en faire. Le deuxième classement est plus théorique, plus conceptuel, les méthodes sont triées en fonction de leur façon de traiter les fonctions objectif.

II.3.1. Utilisateur

Cette classification est essentiellement utilisée en recherche opérationnelle. Les décisions étant considérées comme un compromis entre les objectifs et les choix spécifiques du décideur (contraintes de coût, de temps, etc.), un décideur choisit une méthode en fonction de l’aide qu’elle va lui apporter.

Les méthodes a priori (décideur → recherche)

Les solutions les plus intuitives pour résoudre des problèmes multiobjectifs consistent souvent à combiner les différentes fonctions objectif en une fonction d’utilité suivant les préférences du décideur. Dans ce cas le décideur est supposé connaître a priori le poids de chaque objectif afin de les mélanger dans une fonction unique. Cela revient à résoudre un problème simple objectif. Cependant dans la plupart des cas, le décideur ne peut pas exprimer, clairement, sa fonction d’utilité, soit par manque d’expérience ou d’informations, soit parce que les différents objectifs sont non commensurables10. Coello a également noté qu’il y a très peu de travail dans lequel les préférences sont explicitement manipulées dans la littérature multi-objectif évolutionnaire.

Les méthodes a posteriori (recherche → décideur)

Le décideur prend sa décision d’après un ensemble de solutions calculées par un solveur. Dans ce cas la qualité de la décision dépend du choix de la méthode de résolution. Car celle-ci va devoir donner un ensemble de résultats le plus représentatif de l’espace des objectifs efficaces [Berro 2001]. Dans ces méthodes l’étape principale en élaborant la forme de front de Pareto.

10 Des objectifs sont non commensurables s’ils sont exprimés dans les unités différentes.

22

Page 36: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Les méthodes progressives ou interactives (décideur ↔ recherche)

Dans ces méthodes, les processus de décision et d’optimisation sont alternés. Par moment, le décideur intervient de manière à modifier certaines variables ou contraintes afin de diriger le processus d’optimisation.

Le décideur modifie ainsi interactivement le compromis entre ses préférences et les résultats. Ces méthodes exigent une connaissance approfondie, de la part du décideur, des outils utilisés. [Vincke 1988] présente plusieurs méthodes progressives utilisées en recherche opérationnelle. Il trouve que la relation de dominance11 est trop pauvre pour être utile et les fonctions d’utilité multiattribut12 trop riches pour être fiables. Il tente d’enrichir la relation de dominance par les éléments peu discutables : des préférences solidement établies.

II.3.2. Concepteur

Ce classement adopte un point de vue plus théorique articulé autour des notions d’agrégation et d’optimum de Pareto. Ces notions sont développées dans les sections suivantes car nous adoptons cette classification pour présenter les différentes méthodes.

Les méthodes agrégées

Ces méthodes transforment un problème multiobjectif en un problème simple objectif.

Les méthodes fondées sur Pareto

Ces méthodes sont fondées sur la notion de dominance au sens de Pareto13 qui privilégie une recherche satisfaisant au mieux tous les objectifs.

Les méthodes non agrégées et non Pareto

Certaines méthodes n’utilisent aucun des deux concepts précédents. Alors que l’agrégation ou l’utilisation de la dominance de Pareto traitent les objectifs simultanément, en général, les méthodes dites non agrégées et non Pareto possèdent un processus de recherche qui traite séparément les objectifs.

11 La relation de dominance est essentiellement utilisée dans les méthodes a posteriori. 12 Terme utilisé pour identifier les méthodes d’agrégation. 13 Cette notion est définie au paragraphe III.1

23

Page 37: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

II.4. Les méthodes agrégées

II.4.1. Théorie

II.4.1.1. Axiome fondamental

L’ensemble de ces méthodes repose sur l’axiome suivant : tout décideur essaye inconsciemment de maximiser une fonction dite d’utilité U : Rn→ R et de résoudre le problème :

)...,,,( 21 kfffUU =

Notons que les méthodes de somme pondérée et des métriques pondérées peuvent être vues comme les cas particuliers de l’application de cette approche.

Des issues supplémentaires concernant l’application des fonctions d’utilité peuvent être trouvées, par exemple, dans le travail de Keeney et Raiffa [Keeney and Raiffa 1976].

II.4.1.2. Les modèles additif et multiplicatif

Les modèles les plus couramment utilisés sont le modèle additif

∑=

=k

iii fUU

1

)( (II.1)

Ui fonction de mise à l’échelle du ième critère

et le modèle multiplicatif ∏=

k

iii fU

1

)( (II.2)

II.4.1.3. Difficultés issues de ces modèles

L’utilisation de ces modèles impose que les objectifs soient commensurables14. Il est donc très difficile d’utiliser ces techniques lorsque l’ensemble des critères est composé à la fois de critères qualitatifs et quantitatifs.

De plus, tout sous-ensemble d’objectifs doit être préférentiellement indépendant dans F.

Définition de l’indépendance préférentielle

Soit F l’ensemble des objectifs, J un sous-ensemble de f et J le complémentaire de J. J est préférentiellement indépendant dans F, si les préférences entre les actions qui ne

14 Exprimés dans la même unité.

24

Page 38: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

différent que par leurs valeurs sur les critères de J ne dépendent pas des valeurs des critères de J .

II.4.2. Les techniques

II.4.2.1. La moyenne pondérée

Cette méthode consiste à additionner tous les objectifs en affectant à chacun d’eux un coefficient de pondération. Ce coefficient représente l’importance relative que le décideur attribue à l’objectif. Mais pour pouvoir fixer les valeurs des poids des critères de façon appropriée, il faut savoir quantifier les préférences qualitatives issues de l’application (une approche permettant de le faire de manière interactive a été proposée par Parmee et al [Parmee and al 2000]. Cela modifie un problème multi-objectif en un problème simple objectif de la forme.

∑=

≥k

iiii wavecxfw

1

0)(min (II.3)

wi représente le poids affecté au critère i et ∑=

=k

iiw

1

1

Critique

Cette méthode est simple à mettre en œuvre et elle est d’une grande efficacité.

Mais les difficultés essentielles de cette approche sont :

1) Comment le décideur détermine-t-il les poids de chaque critère ?

2) Comment exprimer l’interaction entre les différents critères ?

Une solution au 1) est d’utiliser une combinaison linéaire des objectifs et de faire varier les poids de façon à constater l’influence de tel ou tel objectif sur le résultat. Cette approche est facile à implémenter mais tous les résultats obtenus appartiennent à des zones convexes de l’espace des objectifs réalisables (Figure II.5). Les solutions potentielles situées dans des portions concaves ne sont pas prises en charge.

Le deuxième problème est plus délicat à résoudre car il existe plusieurs types d’interaction entre d’eux critères i et j qui sont difficiles à exprimer à l’aide d’une somme pondérée :

• La corrélation positive ou négative. Le décideur souhaite que la contribution de j soit plus grande quand i n’est pas là (est là) car i et j sont corrélés.

25

Page 39: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

• L’interchangeabilité. Le décideur souhaite que la satisfaction d’un seul critère produise presque le même effet que la satisfaction des deux critères ;

• La complémentarité. Le décideur souhaite que la satisfaction d’un seul critère produise très peu d’effet par rapport à la satisfaction des deux critères.

• La dépendance préférentielle.

Dans [Marichal 1999a], l’auteur propose une axiomatique basée sur l’intégrale de Choquet [Choquet 1953] qui permet de prendre en compte les différentes interactions ci-dessus. Il a également proposé une méthode permettant de déterminer l’ensemble des poids d’interaction entre critères, et étendu ses travaux [Marichal 1999b, Marichal 2000] à l’agrégation de critères qualitatifs par utilisation de l’intégrale de Sugeno [Sugeno 1974].

L’utilisation de la somme pondérée se heurte également à deux problèmes : la sensibilité à un changement d’échelle et la compensation entre critères.

II.4.2.2. Goal programing

Cette méthode est également appelée target vector optimisation [Coello 1996], [Van Veldhuizen 1999]. Le décideur fixe un but Ti à atteindre pour chaque objectif fi [Charnes 1961]. Ces valeurs sont ensuite ajoutées au problème comme des contraintes supplémentaires. La nouvelle fonction objectif est modifiée de façon à minimiser la somme des écarts entre les résultats et les buts à atteindre :

FxavecTxfk

iii ∈−∑

=1

)(min (II.4)

Ti représente la valeur à atteindre pour le ième objectif.

Différentes variantes et applications de cette technique ont été proposées [Ignizion 1981, Van Veldhuizen 1999].

Critique

Nous pouvons reprendre la critique faite pour la somme pondérée. La méthode est facile à mettre en œuvre mais la définition des poids et des objectifs à atteindre est une question délicate qui détermine l’efficacité de la méthode.

Cette méthode a l’avantage de fournir un résultat même si un mauvais choix initial a conduit le décideur a donné un ou plusieurs but(s) Ti non réalisable(s).

26

Page 40: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

II.4.2.3. Méthode min-max

Cette méthode est assez proche de la précédente. Elle minimise le maximum de l’écart relatif entre un objectif et son but associé par le décideur.

kiavecT

Txfw

i

iii ...,,1

)(maxmin =⎟⎟

⎞⎜⎜⎝

⎛ − (II.5)

Ti le but à atteindre pour le ième objectif.

wi poids associé à un objectif.

Dans [Coello 1995], l’auteur présente précisément plusieurs variantes de la méthode min-max ainsi que diverses applications de celles-ci.

II.4.2.4. Goal attainment

Dans cette approche le décideur spécifie l’ensemble des buts Ti qu’il souhaite atteindre et les poids associés wi .

La solution optimale est trouvée en résolvant le problème suivant :

∑=

=

≥+k

ii

iii

wavec

xfwTquetelimiser

11

)(min

αα

(II.6)

f2min

f1min

A_T2

A_T1

B_T2

B_T1

A

B

Opt

Espace des objectifs réalisables

w1

w2

Figure II.5 : Méthode goal attainment

27

Page 41: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Les objectifs Ti représentent le point de départ de la recherche dans l’espace et les poids wi indiquent la direction de recherche dans l’espace. Dans la figure ci-dessus, A et B représentent deux buts à atteindre auxquels est associé le même couple de poids pour les deux fonctions objectifs. On remarque que si ∝ est négatif, cela indique que le but peut être atteint alors que si ∝ est positif le but ne pourra pas être atteint.

Critique

Contrairement à la somme pondérée, cette méthode peut générer des solutions sur la frontière de Pareto15 en faisant varier les valeurs des wi, même dans le cas d’une surface concave [Chen and Liu 1994].

II.4.2.5. Méthode ε-contrainte

Cette méthode est basée sur la minimisation d’un objectif fi en considérant que les autres objectifs fj avec j ≠ i doivent être inférieurs à une valeur εj. En général, l’objectif choisi est celui que le décideur souhaite optimiser en priorité.

En 1971, Haimes et al [Haimes et al 1971] ont suggéré la reformulation du problème d’optimisation sous forme

⎩⎨⎧

≠∀≤ ijxfxf

jj

i

,)(),(minε

(II.7)

Et les paramètres εj sont à définir par le décideur. En d’autres termes, une des fonctions qu’il faut optimiser est retenue comme unique objectif, tandis que les critères restants sont transformés en contraintes.

Par exemple supposons que, lors de la résolution d’un problème de minimisation de deux objectifs, nous ayons décidé de retenir f2 comme fonction à optimiser sous la contrainte f1 ≤ ε1.

15 Cette notion est introduite au paragraphe III.1.3.

min f2

min f1 ε1 ε1 ε1ε1

Figure II.6 : Illustration de l’approche de ε-contraintes

domaine de recherche

A C

B

28

Page 42: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

La (figure II.6) aide à illustrer cette méthode pour des scénarios correspondants à de différentes valeurs de ε1 . Le domaine de recherche est divisé dans l’espace des critères par la droite verticale.

f1 = ε1 en deux parties : la partie faisable (f1 ≤ ε1) et la partie infaisable (f1 ≥ ε1). Résoudre le problème, revient donc à trouver un point faisable et tel que la valeur de f2(x) soit la plus petite possible. Lors du scénario ε1 = ε1

c, c’est le point C [Roudenko 2004].

La (Figure II.6): (scénario ε1c) illustre le fait qu’à la différence de l’approche de la somme

pondérée, la méthode de ε-contraintes est capable de retrouver les solutions de Pareto appartenantes à des région non-convexes de la surface des compromis. En terme de paramètres demandés ces deux approches sont équivalentes [Roudenko 2004].

Le choix du vecteur ε est très important et est lié à de certaines difficultés. Notamment, chaque valeur εj doit être choisie entre les valeurs extrémales de l’objectif correspondant fj.

De cette manière, un problème simple objectif sous contraintes peut être résolu. Le décideur peut ensuite réitérer ce processus sur un objectif différent jusqu’à ce qu’il trouve une solution satisfaisante. Cette méthode a été testée avec un algorithme génétique dans [Ritzel 1994] avec différentes valeurs de εj pour générer différentes valeurs Pareto-optimales.

Critique

La connaissance a priori des intervalles appropriés pour les valeurs de εj est exigée pour tous les objectifs.

II.5. Méthodes non agrégées, non Pareto

II.5.1. Théorie

En général, les méthodes dites non agrégées et non Pareto possèdent un processus de recherche qui traite séparément les objectifs.

II.5.2. Les techniques

II.5.2.1. Vector Evaluated Genetic Algorithm (VEGA)

En 1985 Schaffer [Schaffer 1985] propose une extension d’un algorithme génétique simple pour la résolution d’un problème multiobjectif. Cette méthode est appelée Vector Evaluated Genetic Algorithm. La seule différence avec un algorithme génétique simple

29

Page 43: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

est la manière dont s’effectue la sélection. L’idée est simple. Si nous avons k objectifs et une population de n individus, une sélection de n/k individus est effectuée pour chaque objectif. Ainsi k sous-populations vont être créées, chacune d’entre elles contenant les n/k meilleurs individus pour un objectif particulier. Les k sous-populations sont ensuite mélangées afin d’obtenir une nouvelle population de taille n. Le processus se termine par l’application des opérateurs génétiques de modification (croisement et mutation).

Discussion

La méthode VEGA a tendance à créer des sous-populations dont les meilleurs individus sont spécialisés pour un objectif particulier. L’évolution de la population favorise l’apparition des espèces. En effet, comme la méthode de sélection ne tient compte que d’un seul objectif, elle privilégie les individus qui obtiennent une bonne performance pour cet objectif. Les individus que Schaffer appelle les individus ’’ milieu’’, parce qu’ayant une performance générale acceptable mais ne possédant aucun critère fort, vont être éliminés car ils ne seront sélectionnés dans aucune sous-population. Cette disparition entraîne la spécialisation des individus pour chaque objectif. Ce résultat est contraire au but initial de la méthode qui était de trouver un compromis entre les différents critères.

Schaffer propose deux heuristiques pour améliorer sa méthode :

Génération t

Population initiale de n individus

Sous-population sélectionnée en fonction de l’objectif

n° 1

Sous-population sélectionnée en fonction de l’objectif

n° k

Population

après mélange des

k sous populations

Population

après application

des opérateurs génétiques

Génération t + 1

Figure II.7 : Schéma de fonctionnement de VEGA

30

Page 44: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

• La première est un croisement restreint qui ajoute une préférence pour sélectionner les parents non dominés. Cette méthode a tendance à éviter la disparition des individus ’’ milieu’’ mais elle a tendance également à accentuer la convergence.

• La seconde encourage le croisement entre individus spécialisés sur les objectifs. Mais les effets sont identiques à la première heuristique.

Critique

Malgré ces imperfections, cette méthode est très souvent utilisée car facilement implémentable dans un algorithme génétique classique. L’utilisateur peut associer à VEGA n’importe quel mode de sélection (tournoi, roulette, rang). Mais comme le tournoi est une technique de sélection plus élitiste que les deux autres méthodes, son utilisation accentue le phénomène de spécialisation.

De nombreuses variations autour de cette technique ont été effectuées :

• Mélange de VEGA avec dominance de Pareto [Tanaki 1995],

• Paramètre pour contrôler le taux de sélection [Ritzel 1994],

• Application à un problème contraint [Surry 1995],

• Utilisation d’un vecteur contenant les probabilités d’utiliser un certain objectif lors de la sélection [Kurwase 1984].

II.5.2.2. Utilisation des genres

En 1992 Allenson [Allenson 1992] propose une méthode qui utilise la notion de genre16 et d’attracteur sexuel pour traiter un problème à deux objectifs. Son exemple d’application consiste à minimiser la longueur d’un pipeline tout en réduisant l’impact écologique de sa construction. En affectant un objectif à chaque genre, l’auteur espère minimiser des deux objectifs simultanément car un genre sera toujours jugé d’après l’objectif qui lui a été assigné.

Algorithme

Allenson utilise un algorithme génétique classique dans lequel un nombre égal d’individus des deux genres sera maintenu. La population est initialisée avec autant de males que de femelles, puis à chaque génération, les enfants remplacent les plus mauvais individus du même genre.

16 Genre : masculin ou féminin.

31

Page 45: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Allenson apporte une petite différence au niveau de la sélection. Il introduit le principe d’attracteur pour éviter que des individus faibles de s’accoupler. Il espère ainsi maintenir plus longtemps la diversité dans la population et prévenir une convergence prématurée. En s’inspirant des stratégies d’évolution (µ + λ), l’attracteur donne la capacité à chaque individu de s’accoupler avec un individu meilleur que lui. Dans son exemple. Allenson définit un attracteur comme un intervalle du type 10%-20% pour chaque individu et il utilise le rang de l’individu comme le point d’attraction génétique.

La création des enfants s’effectue par croisement mais leur genre est choisi aléatoirement et leur attracteur est créé en fonction de plusieurs heuristiques différentes (aléatoire, clonage ou croisement).

En 1996 Lis et Eiben ont également réalisé un algorithme basé sur l’utilisation des genres mais dans ce cas l’algorithme n’est pas limité à deux genres [Lis and Eiben 1996]. Il peut y avoir autant de genres que d’objectifs du problème. Ils ont également modifié le principe de croisement. Pour générer un enfant, un parent de chaque genre est sélectionné. Ensuite un croisement multipoint est effectué et le parent ayant participé le plus, en nombre de gènes, à l’élaboration de l’enfant transmet son genre. En cas d’égalité le choix s’effectue aléatoirement entre les parents égaux. L’opérateur de mutation effectue un simple changement de genre.

Critique

L’utilisation de genre est un bon moyen de maintenir la diversité dans la population pour chaque objectif. De plus, le fait qu’un individu ne transmette pas systématiquement son genre va éviter la création d’espèces comme dans la méthode VEGA.

Par contre, l’augmentation du nombre d’objectifs accroît le temps de calcul car le croisement multipoint devient de plus en plus coûteux, alors que VEGA est très peu sensible à cela.

Le principe d’attracteur introduit par Allenson est une nouvelle façon d’effectuer des croisements restreints basée sur le phénotype des individus.

II.5.2.3. La méthode lexicographique

Fourman [Fourman 1985] propose une méthode dans laquelle les objectifs sont préalablement rangés par ordre d’importance par le décideur. Ensuite, l’optimum est obtenu en minimisant tout d’abord la fonction objectif la plus importante puis la deuxième et ainsi de suite.

32

Page 46: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Expression mathématique du problème

Soient les fonctions objectifs fi avec i = 1,…, k, supposons un ordre tel que

Kfff fff ...21 Il faut :

mjsatisfaitxgavecxfimiser

j ,...,1)()(min 1

=∀

Soit x1*, la meilleure solution trouvée avec f1* = f1(x1*). f1* devient alors une nouvelle contrainte. L’expression du nouveau problème est donc :

*)(

,...,1)()(min

11

2

fxfet

mjsatisfaitxgavecxfimiser

j

=

=∀

Soit x2* la solution de ce problème. Le ième problème sera le suivant :

*)(*,...,)(*,)(

,...,1)()(min

112211 −− ===

=∀

ii

j

i

fxffxffxfet

mjsatisfaitxgavecxfimiser

(II.8)

La procédure est répétée jusqu’à ce que tous les objectifs soient traités. La solution obtenue à l’étape k sera la solution du problème.

Fourman a proposé une autre version de cet algorithme qui choisit aléatoirement la fonction objectif devant être prise en compte. Il en déduit que cela donne aussi de bon résultats. Cette façon de procéder équivaut à une somme pondérée dans laquelle un poids correspond à la probabilité que la fonction objectif associée soit sélectionnée.

Critique

Le risque essentiel de cette méthode est la grande importance attribuée aux objectifs classés en premier. La meilleure solution f1* trouvée pour l’objectif le plus important va faire converger l’algorithme vers une zone restreinte de l’espace d’état et enfermer les points dans une niche.

II.5.2.4. A Non Generational Genetic Algorithm

Valenzuela et Uresti [Valenzuela and Uresti 1997] proposent une sélection des individus non générationnelle dans laquelle la fitness est calculée de façon incrémentale. Ils appliquent leur méthode sur une conception de matériel électronique dans laquelle ils doivent maximiser la performance du matériel, minimiser le temps moyen entre deux erreurs et minimiser le coût de revient. Ces objectifs étant non commensurable, ils ont

33

Page 47: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

recherché une méthode permettant d’outrepasser ce problème. L’idée d’utiliser un algorithme non générationnel provient des systèmes de classifieurs [Goldberg 1989]. Ils pensent qu’un problème multiobjectif a des caractéristiques similaires à celles des systèmes de classifieurs, et donc qu’une approche non générationnelle peut être plus performante qu’un algorithme générationnel.

Un classifieur possède une caractéristique, appelée force, qui représente son adaptation à son environnement. Cette force évolue dans le temps de façon incrémentale en fonction des récompenses obtenues lors de réponses positives à des stimuli. [Valenzuela and Uresti 1997] proposent de transposer ce comportement à des individus qui recherchent la frontière de Pareto d’un problème multi-objectif.

Leur algorithme est décomposé en deux parties. Une première partie dans laquelle la fitness des individus est mise à jour et une seconde partie qui crée de nouveaux individus après sélection, croisement et mutation.

L’évaluation d’un individu i est basée sur deux mesures, δi et wi, calculées incrémentalement. Ces mesures sont mises à jour chaque fois que l’on trouve un individu j qui domine i.

δi évalue la domination de l’individu au cours du temps :

)()(.)()1( tDtktt ii +−=+ δδδ δ (II.9)

D(t) est égal à 1 si l’individu est dominé, 0 sinon.

wi évalue le voisinage de l’individu par une fonction de sharing :

)()(.)()1( dshtwktwtw iwii +−=+ (II.10)

Sh(d), calcul de la distance entre les deux individus

La fonction de fitness de chaque individu est calculée en fonction de δi et wi :

iwid wccfitness .. += δ (II.11)

Les auteurs réduisent ainsi un problème multiobjectif à un problème à deux objectifs :

1) minimiser la dominance,

2) minimiser l’importance de la niche.

cd et cw sont des constantes choisies arbitrairement qui expriment le compromis entre ces 2 objectifs.

Si l’on compare les équations ci-dessus à l’équation d’évolution de la force d’un classifieur, D(t) et sh(d) représentent la récompense du classifieur et les paramètre kδ et kw

34

Page 48: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

représentent le coût d’activation d’un classifieur. Dans leurs expérimentations, les auteurs affectent sans aucune justification, les valeurs 0 et 1/n1 respectivement à kδ et kw. De manière générale, ces deux paramètres peuvent être utilisés afin d’atténuer l’influence des valeurs passées sur les valeurs présentes.

Algorithme

/*---- Initialisation----* /

Génération aléatoire de la population initiale pop

Pour chaque individu i∈ pop

δi ← 0

wi ← 0

N ← n1 /*----Sélection aléatoire de n1 Individus----*/

Pour chaque j ∈ N

Si j domine i alors δi ← δi + 1

Si i domine j alors δj ← δj + 1

wi ← δj + sh(dij)

wj ← δj + sh(dij)

Fin Pour

Fin Pour

/*----Boucle principale----*/

Répéter

Pour i de 1 à n2

/*----Evaluation----*/

Deux individus i et j sont choisis aléatoirement

Si j domine i alors Di ← 1sinon Di ← 0

Si i domine j alors Dj ← 1sinon Dj ← 0

δi ← δi - kδ.δi + Di

δj ← δj - kδ.δj + Dj

35

Page 49: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

wi ← wi – kw.wi + sh(dij)

wj ← wj – kw.wj + sh(dij)

fi ← cδ.δi + cw.wi

fj ← cδ.δj + cw.wj

Fin Pour

/*----Sélection, croisement et mutation----*/

fmax ← max (fi)

Sélection de deux parents proportionnellement à (fmax- fi)

Création d’un nouvel individu par croisement et mutation

Supprime un individu i tel que fi = fmax

Soit i le nouvel individu

N ← n1 /*----Sélection aléatoire de n1 Individus----*/

Pour chaque j ∈ N

Si j domine i alors δi ← δi + 1

Si i domine i alors δj ← δj + 1

wi ← δi + sh(dij)

wj ← δj + sh(dij)

Fin Pour

Jusqu’à un critère de terminaison.

Cette méthode non générationnelle obtient de meilleurs résultats que NPGA dans trois optimisations à d’eux objectifs en terme de nombre de points sur la surface de Pareto et en nombre total d’évaluations.

Même si cette technique obtient de bons résultats, elle apparaît moins flexible que les précédentes. Il apparaît difficile pour un décideur de pouvoir exprimer ses préférences sur un ou plusieurs objectif(s). De plus, l’introduction de nombreux paramètres (cd, cw , kδ, kw, n1, n2) supplémentaires, en plus des paramètres liés à l’algorithme génétique, rend difficile le réglage de l’algorithme.

36

Page 50: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

II.5.2.5. Méthode élitiste

En 1996 Ishibuchi et Murata [Ishibuchi and Murata 1996] proposent un algorithme basé sur une sélection de type min-max dans lequel les solutions non dominées trouvées à chaque génération sont stockées dans une population externe.

Les auteurs utilisent également une méthode de recherche locale pour générer de meilleurs individus [Murata 1997].

Algorithme

a) Initialisation aléatoire de la population courante appelée CURRENT de taille M.

b) Calcul des notes des individus et stockage des individus non dominés dans une population externe appelée NOND de taille N.

c) Sélection de (M-N) paires de parents dans CURRENT.

d) Croisement et mutation.

e) Sélection d’individus appartenant à NOND et ajout à CURRENT.

f) Application d’une stratégie de recherche locale sur tous les individus de la population.

g) Retour à b) si le critère d’arrêt n’est pas trouvé.

Critique

L’utilisation d’une population externe pour stocker les individus non dominés et d’une recherche locale apporte à cette méthode une capacité élitiste très importante.

Nous allons voir dans la section suivante que l’introduction de ce mécanisme de stockage associé aux stratégies de mise à jour de cette population externe et de réinjection des individus dans la population courante va inspirer beaucoup de chercheurs.

37

Page 51: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Chapitre III

Méthodes d’optimisation multi-objectif basées sur l’approche Pareto : Etat de l’art

Page 52: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Introduction

L’idée d’utiliser la dominance au sens de Pareto a été proposée par Goldberg [Goldberg 1989] pour résoudre les problèmes introduits par Schäffer [Schäffer 1985]. Il suggère en effet d’utiliser le concept d’optimalité de Pareto pour respecter l’intégralité de chaque critère, en refusant de comparer a priori les valeurs de différents critères.

L’utilisation d’une sélection basée sur la notion de dominance de Pareto va faire converger la population vers un ensemble de solutions efficaces. Ce concept ne permet pas de choisir une alternative plutôt qu’une autre, mais il apporte une aide précieuse au décideur.

Dans les paragraphes suivants, nous définirons tout d’abord la notion de dominance au sens de Pareto, et ensuite la frontière de Pareto et la notion de domination contrainte. Nous présenterons enfin les techniques évolutionnaires basées sur cette notion.

III.1. Théorie d’optimisation au sens de Pareto

III.1.1. Optimum de Pareto

Au XIXième siècle, Vilfredo Pareto, un mathématicien italien, formule le concept suivant [Pareto 1896] : dans un problème multi-objectif, il existe un équilibre tel l’on ne peut pas améliorer un critère sans détériorer au moins un des autres critères.

Cet équilibre a été appelé optimum de Pareto. Un point x est dit Pareto-optimal s’il n’est dominé par aucun autre point appartenant à E. Ces points sont également appelés solutions non inférieures ou non dominées.

III.1.2. Notion de dominance

Un point x∈ E domine x’∈ E si )()()()(, '' xfxfquetelimoinsauxfxfi iiii p∃≤∀

f1 min

f2 min 1

2 4

53

O

Figure III.1 : Exemple de dominance

Méthodes d’optimisation multi-objectif basées sur l’approche Pareto : Etat de l’art

38

Page 53: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Dans l’exemple (Figure III.1), les points 1,3 et 5 ne sont dominés par aucun autre. Alors que le point 2 est dominé par le point 1, et que le point 4 est dominé par les points 3 et 5. Dans l’exemple de la Figure III.1, la frontière de Pareto est composée des points 1, 3 et 5.

Tous les individus non dominés sont de rang 1, (Figure III.1), le tableau de dominance est le suivant :

III.1.3. Frontière de Pareto

La frontière de Pareto est l’ensemble de tous les points ‘Pareto-optimaux’. Les figures II.2 présentent pour un problème à deux objectifs, les quatre frontières de Pareto en fonction du désir de l’utilisateur de minimiser ou maximiser les objectifs.

Figure III.2 : Frontière de Pareto pour l’ensemble des points Pareto-optimaux

Point Dominé par Rang

1 aucun 1

2 1 2

3 aucun 1

4 3 et 5 3

5 aucun 1

Tableau III.1 : Tableau de dominance

f1 min

f2 max

f1 min

f2 min

39

Page 54: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Figure III.3 : Frontière de Pareto pour l’ensemble des points Pareto-optimaux

III.1.4. Notion de domination-contrainte

La notion de domination-contrainte a été introduite pour enrichir la notion de dominance dans les problèmes multiobjectifs contraints. La plupart des méthodes de résolution de problèmes uniobjectifs utilisent une approche basée sur l’attribution de pénalités en fonction des contraintes violées. Mais cette approche a deux inconvénients :

• Elle exige de fixer les règles de pénalité,

• Elle ne fait pas la différence entre deux individus ayant la même note dont l’un viole des contraintes et l’autre pas.

Une première définition de la domination contrainte a été donnée par Jiménez et Verdegay [Jiménez and Verdegay 1998]. Ils utilisent un tournoi à deux individus i et j. Si i donne une solution réalisable et j donne une solution non réalisable alors i est choisi.

Si les deux individus donnent des solutions réalisables alors ils sont comparés avec un sous-ensemble d’individus choisis aléatoirement18. Si les individus donnent des solutions non réalisables, alors ils sont comparés avec un ensemble d’individus du même type. Le meilleur des deux, ou celui qui est situé dans la plus petite niche, sera sélectionné.

Une autre définition a été proposée dans [Deb and al 2000]. Une solution i domine avec contrainte une solution j si un des cas suivants est réalisé :

• La solution i est réalisable et la solution j ne l’est pas.

• Les deux solutions i et j ne sont pas réalisables, mais i a le plus petit total de violation de contraintes.

• Les deux solutions exigent que l’on puisse mesurer le niveau de violation de chaque contrainte du problème.

18 Cette technique de tournoi a été introduite par Horn et Napfliotis.

f2 max

f2 max

f2 min

f2 max

40

Page 55: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

III.2. Techniques non élitistes

III.2.1. Multiple Objective Genetic Algorithm (MOGA)

En 1993, Fonseca et Fleming ont proposé une méthode dans laquelle chaque individu de la population est rangé en fonction du nombre d’individus qui le domine [Fonseca and Fleming 1993]. Ensuite, ils utilisent une fonction de notation permettant de prendre en compte le rang de l’individu et le nombre d’individus ayant le même rang [Fonseca 1995]. Soit un individu xi à la génération t, dominé par pi(t) individus, le rang de cet individu est alors de: )(1),( tptxrang ii +=

[Fonseca and Fleming 1993] calculent ensuite la ‘fitness’ de chaque individu de la façon suivante :

a) Calcul du rang de chaque individu ;

b) Affectation de la ‘fitness’ de chaque individu par application d’une fonction de changement d’échelle19 sur la valeur de son rang. Cette fonction est en général linéaire. Suivant le problème donné, d’autres types de fonction pourront être envisagées afin d’augmenter ou de diminuer l’importance des meilleurs rangs ou d’atténuer la largeur de l’espace entre les individus de plus fort rang et de plus bas rang.

Discussion

L’utilisation de la sélection par rang a tendance à répartir la population autour d’un même optimum. Or, cela n’est pas satisfaisant pour un décideur, car cette méthode ne lui proposera qu’une seule solution. Pour éviter cette dérive éventuelle, les auteurs utilisent une fonction de sharing20 pour espérer ainsi répartir la population sur l’ensemble de la frontière de Pareto.

Critique

Le ‘sharing’ utilisé dans cette méthode agit sur l’espace des objectifs. Cela suppose que deux actions qui ont le même résultat dans l’espace des objectifs ne pourront pas être présentées dans la population.

Cette méthode permet d’obtenir des solutions de bonne qualité et son implémentation est facile. Mais ses performances sont dépendantes de la valeur du paramètre σshare utilisé dans le ‘sharing’. Fonseca et Fleming expliquent le choix adapté de la valeur de σshare.

19 On parle aussi de fonction de scaling. 20 Cette technique est une heuristique de partage.

41

Page 56: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

III.2.2. Non dominated Sorting Genetic Algorithm (NSGA)

Dans la méthode proposée par [Srivinas and Deb 1993], le calcul de la ‘fitness’ s’effectue en séparant la population en plusieurs groupes en fonction du degré de domination au sens de Pareto de chaque individu. L’idée fondamentale du NSGA est d’exécuter le choix de l’opération de sélection par processus de rang, comme il est montré dans la (Figure III.4) [Deb and al 2000].

Algorithme de la ‘fonction de notation’

a) Dans la population entière, on recherche les individus non dominés. Ces derniers constituent la première frontière de Pareto.

b) On leur attribue une valeur de ‘fitness’ factice. Cette valeur est supposée donner une chance égale de reproduction à tous ces individus. Mais pour maintenir la diversité dans la population, il est nécessaire d’appliquer une fonction de ‘sharing’ sur cette valeur.

c) Ensuite, ce premier groupe d’individus est supprimé de la population.

d) On recommence cette procédure pour déterminer la seconde frontière de Pareto.

La valeur factice de ‘fitness’ attribuée à ce second groupe est inférieure à la plus petite ‘fitness’ après application de la fonction de ‘sharing’ sur le premier groupe. Ce mécanisme est répété jusqu’à ce que l’on ait traité tous les individus de la population. L’algorithme se déroule ensuite comme un algorithme génétique classique. Srivinas et Deb [Srivinas and Deb 1993] utilisent une sélection basée sur le reste stochastique. Mais leur méthode peut être utilisée avec d’autres heuristiques de sélections (tournoi, roulette pipée, etc.).

Critique

Cette méthode paraît moins efficace en temps de calcul que la méthode MOGA car le temps de calcul de la notation (tri de la population et ‘sharing’) est important. Mais l’utilisation d’un ‘sharing’ sur l’espace d’état et le tri des solutions en différentes frontières semblent plus appropriés à maintenir une grande diversité de la population et à répartir plus efficacement les solutions sur la frontière de Pareto. De plus, cette méthode est applicable dans des problèmes avec un nombre quelconque d’objectifs.

Trois critiques ont été soulevées pour cette méthode, à savoir :

• Sa complexité de calcul de O (k.N3), avec k le nombre d’objectifs et N la taille de la population, essentiellement due au processus de tri de la population et d’application de l’heuristique de partage.

42

Page 57: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

• Son approche non élitiste21. Le tri de la population est une heuristique intéressante pour distribuer la population sur l’ensemble de la frontière de Pareto mais cette procédure ralentit le processus de convergence de l’algorithme. De plus, cet effet est accentué par l’utilisation de la méthode de sélection par reste stochastique.

• La nécessité de spécifier un paramètre de ‘sharing’.

Début

Population initiale ;

nbgen = 0 ;

Front = 1

nbgen < max

Sélection

Croisement

Mutation

Population classée ?

Stop

nbgen + 1

Recherche des individus non

dominés

Calcul fitness factice

Sharing

Front + 1

Non

Oui

Oui

Non

Figure III.4 : Schéma de fonctionnement de NSGA

21 Une méthode qui utilise une population externe pour stocker les solutions Pareto-optimales trouvées jusqu’alors.

43

Page 58: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

III.2.3. Niched Pareto Genetic Algorithm (NPGA)

Cette méthode proposée par Horn et Napfliotis utilise un tournoi base sur la notion de dominance de Pareto [Horn and Napfliotis 1993]. Elle compare deux individus pris au hasard avec une sous-population de taille tdom également choisie au hasard. Si un seul de ces deux individus domine le sous-groupe, il est alors positionné dans la population suivante. Dans les autres cas, une fonction de sharing est appliquée pour sélectionner l’individu.

Le paramètre tdom permet d’exercer une pression variable sur la population et ainsi d’augmenter ou de diminuer la convergence de l’algorithme. Par exemple, si tmax = 2%, la convergence sera très lente. A travers leurs expérimentations, Horn et Napfliotis [Horn and Napfliotis 1993] établissent le constat suivant :

• Si tdom ≈ 1% de N (nombre d’individus de la population), il y a trop de solutions dominées. Cette valeur n’apporte pas assez d’élitisme dans la sélection, d’où un grand nombre de solutions non dominées qui subsistent dans la population.

• Si tdom ≈ 10% de N, une bonne distribution des individus est obtenue. Cette valeur apporte un bon compromis entre élitisme et représentativité statistique de la population. Elle permet non seulement d’exercer une pression suffisante sur la sélection des individus, mais également d’éviter une convergence non désirée due à une sélection effectuée sur un échantillon non représentatif de la population.

• Si tdom >> 20% de N, il y a une convergence prématurée, car la pression est trop importante lors de la sélection.

On retrouve des conclusions identiques, à une échelle près, à l’action du paramètre tsize22

sur l’élitisme de la sélection par tournoi.

Algorithme de la fonction de sélection

sous_pop[] ← Sélection aléatoire de tdom + 2

candidat 1← sous_pop[1]

condidat 2← sous_pop[2]

cand_dominé 1← faux

cand_domié 2← faux

Pour i de 3 à tdom + 2 faire

22 Nombre d’individus participant au tournoi

44

Page 59: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Cand_comp ← sous_pop[i]

Si (cand_comp domine cand_dominé1) alors cand_dominé1 ← vrai

Si (cand_comp domine cand_domié2) alors cand_dominé 2 ← vrai

Fin Pour

Si (cand_dominé 1et non cand_dominé2)

alors retourne cand_dominé 2

sinon si (non cand_dominé 1 et cand_dominé 2)

alors retourne cand_dominé 1

sinon appliquer l’heuristique de sharing

Critique

En plus des paramètres de ‘sharing’, l’utilisation de cette méthode ajoute un paramètre supplémentaire à fixer par l’utilisateur, tdom. Ce dernier permet de régler aisément la pression sur la population. Mais il faut faire attention au compromis entre représentativité et élitisme, car la taille de l’échantillon sélectionné est plus influente dans ce cadre de problème que dans une utilisation de la sélection par tournoi classique.

Les solutions trouvées sont de bonne qualité et cette approche est plus rapide que les approches précédentes, car le ‘sharing’ n’est appliqué que sur une portion de la population.

III.3. Les techniques élitistes

Les approches que nous venons de voir sont dites non élitistes car :

1) Elles ne conservent pas les individus ‘Pareto-optimaux’, trouvés au cours du temps.

2) Elles maintiennent difficilement la diversité sur la frontière de Pareto.

3) La convergence des solutions vers la frontière de Pareto est lente.

Pour résoudre les difficultés ci-dessus, de nouvelles techniques élitistes ont été appliquées, à savoir :

1) Introduction d’une population externe ou archive permettant de stocker les individus Pareto-optimaux.

45

Page 60: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

2) Utilisation de techniques de ‘niching’, ‘clustering’ et ‘grid-based’, pour répartir efficacement les solutions sur la frontière de Pareto.

3) Préférence pour les solutions non dominées.

Les paragraphes suivants présentent les différentes évolutions des méthodes élitistes.

III.3.1. Strength Pareto Evolutionary Algorithm (SPEA)

En 1998, Zitzler et Thiele [Zitzler and Thiele 1998] proposent une nouvelle méthode d’optimisation multi-objectif qui possède les caractéristiques suivantes:

• Utilisation du concept de Pareto pour comparer les solutions.

• Un ensemble de solutions ‘Pareto-optimale’ est maintenu dans une population externe appelée archive.

• La ‘fitness’ de chaque individu est calculée par rapport aux solutions stockées dans l’archive.

• Toutes les solutions de l’archive participent à la sélection.

• Une méthode de ‘clustering’ est utilisée pour réduire l’ensemble de Pareto sans supprimer ses caractéristiques.

• Une nouvelle méthode de ‘niche’, basée sur Pareto, est utilisée afin de préserver la diversité. L’avantage essentiel de cette dernière est qu’elle n’exige pas de réglage de paramètres de ‘sharing’.

Algorithme

Le passage d’une génération à une autre commence par la mise à jour de l’archive. Tous les individus non dominés sont copiés dans l’archive et les individus dominés déjà présents sont supprimés. Si le nombre d’individus dans l’archive excède un nombre donné, on applique une technique de clustering pour réduire l’archive. Ensuite la ‘fitness’ de chaque individu est mise à jour avant d’effectuer la sélection en utilisant les deux ensembles. Pour terminer, on applique les opérateurs génétiques de modification d’après [Zitzler 1999].

Calcul de la ‘fitness’ des individus

Le calcul de la notation s’effectue en deux temps (Figure III.5).

1) On attribue une valeurs s ∈ [0, 1], appelée force, à chaque individu de l’ensemble Pareto-optimal. Cette valeur est proportionnelle au nombre d’individus de la population

46

Page 61: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

qu’il domine. s est égale au nombre d’individus dominés, divisé par le nombre d’individus de la population plus un (+1). La force s représente également la ‘fitness’ des solutions Pareto-optimales.

2) La fitness fi d’un individu de la population est égale à la somme des forces des individus Pareto-optimaux qui le dominent plus un (+1).

Critique

Cette méthode distribue efficacement des solutions sur la frontière de Pareto. La technique de ‘notation’ permet de bien échantillonner les individus dans l’espace. Le concept de force associé à la technique de clustering entraîne la formation de niches dont la note des individus dépend de leur position par rapport aux individus Pareto-optimaux. La ‘notation’ dépend de la taille de la population externe choisie par l’utilisateur, ce qui représente un inconvénient. Un exemple de’notation’ est montré par la figure III.6.

Ajout des individus non dominés

Réduction de l’ensemble

Génération i Population

Ensemble étendu

Ensemble de Pareto

Ensemble réduit

Ensemble de Pareto

Sélection

Ensemble sélectionné

Croisement et mutation

Nouvelle population Génération i + 1

Figure III.5 : Schéma de fonctionnement de SPEA

47

Page 62: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

III.3.2. Pareto Archived Evolution Strategy (PAES)

Cette méthode a été développée initialement comme une méthode de recherche locale dans un problème de routage d’information ‘off-line’. Les premiers travaux de Knowles et Corne [Knowles and Corne 1999] ont montré que cette méthode mono-objectif fournissait des résultats supérieurs aux méthodes de recherche basées sur une population. Par conséquent, cette méthode a été adaptée aux problèmes multi-objectifs. Les particularités de cette méthode sont les suivantes [Knowles 2002] :

• Elle n’est pas basée sur une population et n’utilise qu’un seul individu à la fois pour la recherche des solutions.

• Elle utilise une population annexe de taille déterminée permettant de stocker les solutions temporairement ‘Pareto-optimale’.

• L’algorithme utilisé est très simple et inspiré d’une stratégie d’évolution (1 + 1) [Rechenberg 1973].

• Elle utilise une technique de ‘crowding’, basée sur un découpage en hypercubes de l’espace des objectifs.

Algorithme

L’algorithme de PAES se déroule en trois phases [Knowles and Corne 2000a] :

1) Génération d’une solution candidate.

2) Recherche de la fonction d’acceptation de la solution candidate.

f1 min

f1 min

3/8

11/8

16/8

19/816/811/8

3/8

5/8

13/8 13/8

Figure III.6 : Exemple de ‘notation’ avec SPEA

48

Page 63: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

3) Archivage des solutions non dominées.

La méthode de génération d’un nouveau candidat ressemble à la méthode de Hill-Climbing. A chaque itération, un nouveau candidat est produit par mutation aléatoire :

a) Génération aléatoire d’une solution c et ajout de c à l’archive,

b) Production d’une solution m par mutation de c et évaluation de m,

c) Si (c domine m)

alors on écarte m

sinon si (m domine c)

alors on remplace c par m et ajout de m à l’archive.

sinon si (m est dominé par un membre de l’archive)

alors on écarte m.

sinon on applique une fonction de test (c, m, archive) qui détermine la nouvelle solution courante.

d) Retour à b).

Fonction de test (c, m, archive)

a) Si l’archive n’est pas pleine

alors ajout de m à l’archive.

sinon si (m est dans une région moins encombrée qu’une solution x ∈ à l’archive)

alors ajout de m et suppression d’un membre de la zone la plus encombrée de l’archive.

b) Si (m est une région moins encombrée que c)

alors m est acceptée comme solution courante.

sinon on conserve c comme solution courante.

Une grille divise l’espace des phénotypes en hypercubes, chaque dimension est découpée en krange/2l parties. krange représente l’écart pour un objectif entre la plus grande valeur et la plus faible dans l’archive, et l est le paramètre de subdivision. Les auteurs utilisent une représentation récursive23 de la grille afin d’accélérer la recherche ou la mise à jour de la

23 Dans un problème à deux objectifs, la grille sera représentée sous forme de quadtree.

49

Page 64: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

position d’une solution dans l’espace. Mais cette représentation devra être totalement recalculée lorsque l’ajout d’un individu dans l’archive entraîner le changement d’un krange.

Dans leur article, une génération à un algorithme (µ + λ)- PAES est proposée. Les tests effectués par les auteurs montrent que les algorithmes (l+λ)-PAES et (µ + λ)- PAES n’apportent pas un gain significatif par rapport à (l+l)-PAES.

Critique

Cette méthode est relativement simple à mettre en œuvre. De plus, n’étant pas basée sur un algorithme génétique, elle évite à l’utilisateur le réglage de tous les paramètres de ce dernier. Mais son efficacité va dépendre du choix d’un nouveau paramètre de discrétisation de l’espace des objectifs l.

La technique de ‘crowding’ utilisée dans PAES permet une mise à jour de l’archive plus rapide lors des dépassements de capacité que celle de SPEA.

La complexité de cet algorithme est O(a,k,N) avec a la taille de l’archive = O(k,N2).

III.3.3. Pareto Envelope based Selection Algorithm (PESA)

La méthode PESA a été également proposée par Knowles et Corne [Knowles and Corne 2000b]. Elle reprend approximativement le principe de crowding développé dans PAES et définit un paramètre appelé squeeze_factor qui représente la mesure d’encombrement d’une zone de l’espace. Alors que PAES est basée sur une stratégie d’évolution, PESA est une méthode basée sur les algorithmes génétiques. Elle définit deux paramètres concernant la taille des populations d’individus : PI (taille de la population interne) et PE (taille de la population externe ou archive).

Algorithme

a) Génération aléatoire et évaluation de la population PI, et initialisation de PE (PE = ∅).

b) Transfert de tous les individus non dominés de PI dans PE.

c) Si le critère d’arrêt est réalisé

Alors on retourne PE comme ensemble de solutions.

Sinon on supprime tous les individus de PI et on recrée PI de la façon suivante :

On sélectionne deux parents dans PE avec la probabilité Pc, on sélectionne un parent et on le mute pour produire un autre enfant.

d) Retour à b) et recommencer

50

Page 65: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Une solution courante de PI peut entrer dans l’archive PE si elle est non dominée dans PI et si elle est non dominée dans PE. Une fois la solution insérée dans l’archive, on supprime tous les membres de l’archive qu’elle domine. Si l’ajout crée un dépassement de capacité de PE , alors le membre de l’archive ayant le paramètre ‘squeeze_factor’ le plus élevé est supprimé.

Le paramètre ‘squeeze_factor’ est égal au nombre d’individus qui appartiennent au même hypercube. Il est utilisé comme ‘fitness’ des individus qui appartiennent à cette zone. Par exemple, dans la figure III.8, les points B et D ont un ‘squeeze_factor’ égal à 1 et C à un ‘squeeze_factor’ égal à 3. Ce paramètre est utilisé pour la sélection ainsi que pour la mise à jour de l’archive alors que dans PAES, la mesure d’encombrement n’est utilisée que pour la mise à jour de l’archive.

Lors de la sélection par tournoi, le candidat choisi sera celui qui a le plus petit facteur d’encombrement. Ainsi les recherches seront orientées vers des zones de la frontière de Pareto qui sont le moins représentées dans la population courante.

Génération i PI PE

Ajout des individus non dominés Si dépassement alors réduction

PE étendu

Sélection Croisement et Mutation

Nouveau PI Nouveau PE Génération i+1

Figure III.7 : Schéma de fonctionnement de PESA

51

Page 66: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Les auteurs comparent PESA à SPEA et à PAES sur les trois premières fonctions de test de Deb [Deb 1999]. Ils trouvent que PESA est la meilleure des trois méthodes en pourcentage de solutions sur la frontière de Pareto avec un nombre limité d’itérations.

Critique

Les critiques faites précédemment sur la méthode de ‘crowding’ de PAES peuvent être réitérées pour PESA. La différence essentielle par rapport à PAES est que la sélection est basée sur la mesure d’encombrement de l’espace des objectifs. Si cela permet une bonne répartition des individus dans l’espace d’état, en contre-partie, cela augmente la dépendance de l’efficacité de la méthode par rapport au facteur de discrétisation de l’espace.

III.3.4. NSGA II

Dans cette deuxième version de NSGA, les auteurs [Deb and al 2000], [Vasconcelos 2002], tentent de résoudre toutes les critiques établies sur NSGA,à savoir : complexité, non élitisme et utilisation du ‘sharing’.

La complexité de l’algorithme NSGA est notamment due à la procédure de création des différentes frontières. Pour diminuer la complexité de calcul de NSGA, Deb propose une modification de la procédure de tri de la population en plusieurs frontières.

Algorithme

a) Calcul des deux paramètres pour chaque solution:

f1 min

f2 min

A

B

C

D

Figure III.8 : Mesure du ‘squeeze_factor’ de PESA

52

Page 67: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Ni, le nombre de solutions qui dominent la solution i et

Si, l’ensemble des solutions que la solution i domine.

Le calcul de ces deux paramètres demande O(k.N2) comparaisons.

b) Identification des points tels que ni = 0. Ces points forment la frontière F1.

c) Pour chaque élément i de F1, visite de l’ensemble Si et il retranche 1 au nj de chaque élément j de Si. Cette action demande O(N) calculs.

d) Recommencer en c) jusqu’à ce que tous les points soient traités.

Au total, cet algorithme a une complexité de O(k.N2) + O(N) = O(k.N2).

L’autre critique sur NSGA est l’utilisation du ‘sharing’, méthode qui exige en effet le réglage d’un ou plusieurs paramètre(s) et qui est également forte consommatrice de calculs. Dans NSGA II, Kalyanmoy Deb remplace la fonction de ‘sharing’ par une fonction de ‘crowding’. Il attribue deux caractéristiques à chaque individu :

• irank représente le rang de non domination de l’individu. Cette caractéristique dépend de la frontière à laquelle appartient l’individu.

• idistance représente la distance de ‘crowding’ de l’individu et permet d’estimer la densité de la population autour de lui.

Pour estimer la densité au voisinage d’une solution i, il calcule la distance moyenne sur chaque objectif, entre les deux points les plus proches situés de part et d’autre de la solution. Cette quantité appelée idistance sert d’estimateur de taille du plus large hypercube incluant le point i sans inclure un autre point de la population. L’algorithme de calcul est de complexité O(k.N.log(N)). Cette distance de ‘crowding’ va être utilisée pour guider le processus de sélection.

di = di(1) + di

(2)

Figure III.9 : Calcul de distance de ‘crowding’ dans NSGA

f1 min

f2 min

i

i-1

i+1

di(1)

di(2)

53

Page 68: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Pour répondre à la critique de non élitisme, Deb utilise dans cette méthode une sélection par tournoi et modifie la procédure de passage entre deux générations. Si deux solutions sont sélectionnées pour participer au tournoi, la solution de plus bas rang irank sera retenue. Mais si les deux rangs sont identiques, il est préférable d’utiliser le point situé dans une région dépeuplée, c’est-à-dire avec une valeur idistance importante. Deb définit sa notion de préférence entre deux solutions de la façon suivante :

i ≥ j si (irank < jrank) ou ((irank = jrank) et (idistance > jdistance))

Algorithme de NSGA II

a) Création aléatoirement de la première génération P0 de taille N .

b) Sélection par tournoi en utilisant la préférence définie ci-dessus et application des opérateurs de modification pour créer un ensemble d’enfants Qt de taille N.

c) Mélange de Pt et Qt : Rt = Pt ∪ Qt.

d) Calcul de toutes les frontières Fi de Rt et Ajout dans Pt + 1 jusqu’à ce que la taille de Pt + 1 soit égale à N.

Les éléments de la dernière frontière calculée sont triés en fonction de la préférence citée ci-dessus. Seuls les éléments permettant à Pt + 1 d’atteindre la taille N sont sélectionnés.

e) Retour à b)

Les auteurs effectuent une comparaison avec PAES et déduisent que NSGA II est plus efficace pour la répartition des individus sur la frontière de Pareto.

III.3.5. PESA II: Region-Based Selection

PESA II est une nouvelle technique de sélection basée sur l’utilisation d’hypercubes dans l’espace des objectifs [Corne 2001]. Au lieu d’effectuer une sélection en fonction de la fitness des individus comme dans PESA, cette méthode effectue une sélection par rapport aux hypercubes occupés par au moins un individu. Après avoir sélectionné l’hypercube, on choisit aléatoirement l’individu dans l’hypercube. Cette méthode se montre plus efficace à repartir les solutions sur la frontière de Pareto. Cela est dû à sa capacité de choisir avec une plus grande probabilité que le tournoi classique, des individus situés dans des zones désertiques.

Par exemple dans la figure III.10, les 10 points sont répartis dans 6 cubes. Si l’on considère un tournoi binaire, alors la probabilité de sélectionner la solution A est :

54

Page 69: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

- Dans PESA : 1-(9/10)2 = 0.19

- Dans PESA II : 1-(5/6) = 0.31

Critique

PESA II a permis de faire évoluer positivement la sélection de manière à privilégier les zones de l’espace les moins encombrées. Mais, même si cette technique de ‘crowding’ basée sur un découpage de l’espace est très supérieure en temps de calcul au ‘sharing’, elle possède ses propres difficultés. Dans la figure ci-dessus (figure III.10), le point B a la même probabilité de sélection que A alors que B n’est pas situé dans une zone désertique24. On peut aussi remarquer que si le découpage avait été de 4 cubes au lieu de 16 alors la probabilité de sélectionner la solution A serait passée de 0,31 à 0,89. Cela montre la très forte influence de la discrétisation de l’espace sur cette méthode.

III.3.6. Micro-Genetic Algorithm (micro-GA)

Coello [Coello 2001] trouve que les recherches actuelles n’accordent pas assez d’importance à l’efficience des méthodes d’optimisation multi-objectif. Il propose une méthode basée sur une population avec un nombre très faible d’individus. Cette technique se base sur les résultats théoriques obtenus par Goldberg [Goldberg 1989a], selon lesquels une taille de population très faible suffit à obtenir une convergence indépendamment de la longueur du chromosome. Le mécanisme suggéré par Goldberg est d’utiliser une population très petite et d’appliquer les opérateurs génétiques jusqu’à obtention d’une convergence, identifiée par une perte de diversité génétique

A

B

f1 min

f2 min

Figure III.10 : Exemple de sélection par tournoi hypercube

24 Si l’on regarde la frontière de Pareto dans son ensemble

55

Page 70: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Ensuite on crée une nouvelle population en copiant les meilleurs individus de la population précédente, le reste de la population étant généré aléatoirement. Coello applique ce mécanisme aux problèmes d’optimisation multi-objectifs en utilisant un algorithme génétique avec une petite taille de population associée à une archive et une heuristique de distribution géographique 25.

Il définit une population extérieure divisée en deux parties : une partie remplaçable et une partie non remplaçable. La partie non remplaçable ne change pas durant le processus de modification et sert à maintenir la diversité. Elle ne sera mise à jour que lorsque le micro-algorithme génétique aura convergé. La partie remplaçable est totalement modifiée à intervalle régulier. Ce dernier est défini en nombre de cycles du micro-Genetic Algorithme. Au début de l’algorithme du micro- Genetic Algorithme, la population est constituée à l’aide d’individus sélectionnés aléatoirement dans la population externe. Ensuite l’algorithme se déroule de manière classique.

Population extérieure

Partie remplaçable Partie non remplaçable

Population initiale

Algorithme Génétique

Convergence ?

Archive

Non

Oui

Figure III.11 : Schéma de fonctionnement de micro- Genetic Algorithme

25 Cette heuristique permet de répartir uniformément les individus sur la frontière de Pareto. L’auteur utilise la technique de crowding proposée par Knowles et Corne pour la méthode PAES.

56

Page 71: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

En fin de cycle, lorsque la population du micro GA a perdu sa diversité, deux individus non dominés sont sélectionnés pour mettre à jour l’archive. L’approche utilisée est similaire à celle de PAES. Ensuite ces deux mêmes individus sont comparé à deux individus de la partie non remplaçable. Si l’un des deux premiers domine l’un des deux autres alors il le remplace dans la partie non remplaçable (figure III.11).

Les tests effectués par l’auteur montrent que cette approche est capable de converger plus rapidement vers la surface de Pareto (en terme de temps CPU). Mais dans le cas de fonctions contraintes, la méthode a été moins efficace que NSGA II. Dans quelque cas, cette méthode produit une meilleure distribution des points sur la surface de Pareto.

Critique

L’inconvénient majeur de cette méthode est le nombre de paramètres supplémentaires que l’utilisateur va devoir régler : il s’agit des tailles de la population extérieure, de la taille de la population initiale, et de l’archive, ainsi que du pourcentage de la partie non remplaçable, et de intervalle de mise à jour de la partie remplaçable.

III.3.7. Memetic26- PAES

Cette méthode proposée par Knowles et Corne [Knowles and Corne 2000c] est une extension de la recherche locale (1 + 1) - PAES combinée, avec l’utilisation d’une population P.

Périodiquement, celle-ci utilise le croisement pour combiner les optima locaux trouvés par la procédure (1 +1) - PAES. La mise à jour de l’archive est un peu plus compliquée que pour PAES.

Dans PAES, l’archive sert à mémoriser les solutions non dominées trouvées jusque là et l’ensemble de comparaison pour évaluer la dominance des nouveaux individus. Pour effecteur cela, M-PAES a besoin de deux archives, car les phases de recherche locale et globale doivent être indépendantes :

Une archive globale G pour mémoriser un ensemble de solutions non dominées et une archive locale H utilisée comme échantillon de comparaison lors de recherche locale.

Algorithme

M-PAES se déroule en deux phases : une première phase de recherche locale suivie d’une phase de combinaison.

Au début de chaque génération, H est vidée puis remplie avec des solutions de G qui ne dominent pas la solution courante c. Ensuite, H est utilisée comme dans (1 + 1)-PAES.

26 Le terme ’’ memetic algorithms’’ a été utilisé pour la première fois par Pablo Moscato [Moscato 1989]. Les ’’memetic algorithms’’ combinent une heuristique de recherche locale avec des opérateurs de croisement sur une population.

57

Page 72: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

La seule différence entre la recherche locale de PAES et M-PAES est la façon dont se termine la recherche. M-PAES s’arrête lorsque le nombre l_opt de mouvements de recherche locale est atteint ou lorsque le nombre d’échecs l_fails est atteint. Ce dernier est incrémenté chaque fois que le mutant obtenu est dominé par la solution courante et remis à zéro à chaque mouvement de la solution.

Lors de la phase de combinaison, deux parents sont choisis aléatoirement parmi P∪ G et l’enfant généré sera accepté s’il domine certains membres de G. Cette procédure est répétée jusqu’à ce qu’un enfant soit accepté, pendant un nombre maximum de fois trials_max.

Les tests effectués par les auteurs montrent que M-PAES est supérieure dans tous les cas à (1 + 1)-PAES. Mais la comparaison avec SPEA a produit des résultats équivalents bien qu’il soit difficile de comparer ces deux algorithmes.

Critique

Bien que l’algorithme soit plus complexe que les précédents, cette nouvelle méthode de Knowles et Corne apporte des perspectives intéressantes. L’utilisation combinée d’une recherche locale et d’une population permet d’associer la capacité exploratoire locale à une capacité d’exploration globale par deux mécanismes indépendants.

Le point négatif de cette méthode est le processus de terminaison de l’algorithme de recherche locale. Comment peut-on justifier le choix des valeurs de l_opt et de l_fails d’un point de vue décisionnel ?

La même critique pourrait être faite pour le paramètre trials_max, mais nous sommes dans le cadre d’un algorithme élitiste. Donc, le fait de refuser la création d’un enfant moins bon que ses parents, nous oblige à imposer un nombre maximal de tentatives, car les parents peuvent être totalement incompatibles, c’est-à-dire qu’ils ne généreront jamais un enfant meilleur qu’eux.

III.3.8. Genetic and Evolutionary Algorithm (GEA)

En 2004 Hartmut [Hartmut 2004] propose de nouveaux outils d’algorithme génétiques pour la résolution d’un problème multi-objectif. Cette méthode, appelée Genetic and Evolutionary Algorithm, se différencie par rapport aux méthodes déjà citées au niveau des opérateurs génétique. En effet, le ‘GEA’ possède un autre opérateur génétique qui est la migration entre sous-population.

Une fois que les progénitures ont été produites par sélection, croisement et mutation des individus à partir de la population initiale, la fitness de la progéniture peut être

58

Page 73: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

déterminée. Puis une réinsertion doit être employé pour déterminer que les individus doivent exister dans la nouvelle population.

La méthode de sélection utilisée détermine l’arrangement de réinsertion : réinsertion locale pour une sélection locale, et une réinsertion globale pour toutes autres type de sélection.

III.3.8.1. Migration ou modèle ‘régional’

Le modèle de migration divise la population en sous-populations multiples, ces dernières évoluent indépendamment les unes des autres pour un certain nombre de générations, appelé temps d’isolement. Après ce temps d’isolement, un certain nombre d’individus est distribué entre les sous-populations. Le nombre d’individus échangés ou taux de migration de la méthode de résolution d’individus pour la migration détermine le nombre de diversité génétique et l’échange d’informations qui peuvent se produire dans les sous-populations. Par conséquent, la sélection des individus pour la migration peut avoir lieu soit :

- Uniformément au hasard (sélection aléatoire des individus pour la migration), ou alors

- Sélection des meilleurs individus pour la migration.

Initialisation

Création de la population initiale Evaluation des individus

Critère d’arrêt ?

Meilleurs individus

Résultats

Start

Fitness Sélection

Croisement

Mutation

Evaluation des offspring

Oui

Non

Réinsertion

Migration

Figure III.12 : Schéma de fonctionnement de GEA

59

Page 74: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

III.3.8.2. Différentes structures de migration dans les sous-populations

Il existe plusieurs possibilités pour la structure de la migration des individus entre les sous-populations :

- Entre toutes les sous-populations (Figure III.13),

- Dans une topologie d’anneau, (Figure III. 14),

- Dans une topologie de voisinage, (Figure III.15).

SubPop 1

SubPop 2

SubPop 3

SubPop 4

SubPop 5

SubPop 6

Figure III.14 : Topologie d’anneau

SubPop 1

SubPop 2

SubPop 3

SubPop 4

SubPop 5

SubPop 6

Figure III.13 : Topologie entre toutes les sous-populations

60

Page 75: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Critique

GEA est un outil d’optimisation des systèmes complexes dans des nombreux domaines de recherches [Hartmut 2004]. L’application des différentes stratégies accélère et facilite l’optimisation, ce qui nous a motivé à implémenter cet algorithme, que nous présentons en détail dans le chapitre V.

III.4. Conclusion

Dans cette conclusion, nous mettrons en exergue tout d’abord certaines difficultés rencontrées lors de la mise en œuvre du processus d’optimisation par les méthodes multi-objectifs. Nous mettrons l’accent particulièrement sur les points suivants : nombre de paramètres et critère d’arrêt de l’algorithme.

III.4.1. Difficultés des méthodes d’optimisation multi-objectif

Un processus d’optimisation multi-objectif doit résoudre les deux tâches suivantes :

• Guider le processus de recherche vers la frontière de Pareto,

• Maintenir une diversité des solutions pour assurer une bonne répartition sur la frontière de Pareto.

SubPop 1 SubPop 2 SubPop 3

SubPop 6

SubPop 9

SubPop 5

SubPop 8

SubPop 4

SubPop 7

Figure III.15 : Topologie de voisinage

61

Page 76: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

L’accomplissement de ces tâches a été très délicat car les difficultés rencontrées dans un problème multi-objectif restent identiques à celles d’un problème simple objectif, amplifiées de plus par la présence d’objectifs dépendants les uns des autres.

Multimodalité

Une fonction est dite multimodale si elle possède plusieurs optima globaux (Figure III.16). Dès lors, chaque optimum exerce sur les individus d’une population une attraction différente qui peut piéger le processus de convergence de l’algorithme. Ce problème peut être évité en utilisant une technique de répartition (Annexe A) des individus de type sharing ou crowding [Mahfoud 1995].

L’isolation d’un optimum

Il existe des problèmes dans lesquels un optimum peut être entouré de grandes zones pratiquement plates. Cet optimum se trouve alors isolé car l’espace de recherche qui l’entoure ne peut pas converger vers les individus de la population.

Pour toutes les méthodes présentées dans ce présent travail, il s’est avéré très difficile de garantir au décideur que ce type d’optimum peut être atteint. Par contre, les méthodes utilisant une population externe comme archive Chapitre III.3, semblent plus aptes à maintenir un optimum isolé que celles qui n’en utilisent pas.

La tromperie

Un problème est trompeur (Figure III.17) lorsqu’il guide la convergence vers une zone non optimale de la fonction. Dans les deux problèmes ci-contre, nous trouvons que la probabilité de choisir aléatoirement un point dans une zone sous-optimale est très grande.

Figure III.16 : Une fonction multimodale

f(x)

x

62

Page 77: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Donc, dans un premier temps, les méthodes ont une tendance à converger vers des optima locaux. Par la suite, le processus de mutation entretient ce phénomène de tromperie. Pour éviter cette tromperie, Deb et Goldberg recommandent l’utilisation de techniques de répartition des individus en niches [Goldberg and Deb 1992]. Ils établissent également que le choix d’une taille appropriée de la population est primordial pour éviter la tromperie.

III.4.2. Maintient de la diversité sur la frontière de Pareto

La difficulté à maintenir une bonne répartition des solutions sur la frontière de Pareto résulte principalement des caractéristiques suivantes : convexité ou non convexité de la frontière de Pareto, discontinuité de cette frontière et non uniformité de la distribution.

Convexité et non convexité

Certains problèmes ont une frontière de Pareto non convexe. Les méthodes dont le calcul de la ‘fitness’ est basé sur le nombre d’individus dominés (MOGA, SPEA) vont être moins efficaces.

Discontinuité

Si une frontière de Pareto est discontinue, nous retrouvons le même principe que pour une fonction multimodale. Les différentes parties de cette frontière vont exercer proportionnellement à leur taille, une attraction plus ou moins importante sur les individus d’une population. Certaines d’entre elles pourront donc ne pas être découvertes.

La non uniformité de répartition sur la frontière

Les solutions sur la frontière de Pareto peuvent ne pas être réparties uniformément. La raison principale vient du choix des fonctions ‘objectifs’. Par exemple, si l’une des fonctions ‘objectif’ est multimodale, elle influencera de manière très différente la répartition des solutions sur la frontière de Pareto.

f(x)

x

f(x)

x

Figure III.17 : Problèmes trompeurs

63

Page 78: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

III.4.3. Mise en œuvre des méthodes d’optimisation multi-objectif

III.4.3.1. Le paramétrage

La mise en œuvre de la plupart des méthodes d’optimisation multi-objectif présentées ci-dessus exige en priorité de maîtriser le fonctionnement d’un algorithme génétique et de comprendre l’interaction de ses différents paramètres. La maîtrise du fonctionnement d’un algorithme génétique permet à l’utilisateur, à partir d’un problème réel, de répondre aux questions suivantes : Quel codage ? Quelle fonction de sélection ? Quels types de croisement et de mutation ? Eventuellement quelle heuristique de partage? Quel critère d’arrêt ?

Si la compréhension des interactions entre paramètres peut être aisément appréhendée sur des exemples simples, elle reste tout même une question délicate pour les nouveaux utilisateurs dans ce domaine. Car, il n’est pas aisée de déterminer la taille de la population, le taux de croisement et le taux de mutation. Si en plus, on ajoute une heuristique de partage, il faut également prendre en compte les paramètres de définition du voisinage.

Les méthodes basées sur une stratégie d’évolution sont plus simples au sens de développement algorithmique. Mais l’usage systématique d’une population externe pour maintenir les meilleurs individus exige la détermination de stratégies de mise à jour et de réutilisation basées sur une heuristique de partage qui suppose la définition d’un maillage de l’espace de recherche.

III.4.3.2. Définition d’un critère d’arrêt

La définition d’un critère d’arrêt est une difficulté supplémentaire. Le critère le plus usité pour stopper la recherche d’un algorithme génétique est la perte de diversité génétique. Or, celui-ci a plus de sens dans des méthodes qui maintiennent la diversité génétique de la population pour permettre une recherche plus efficace. Peu d’auteurs expriment clairement leur critère d’arrêt de l’algorithme. Mais en pratique, cela n’est pas critiquable car l’utilisation de ces méthodes par un décideur pourra se faire de manière interactive.

Dans la méthode Memetic PAES, basée sur une stratégie d’évolution, les auteurs définissent un critère d’arrêt basé sur le nombre d’échecs consécutifs de la recherche locale. Dans ce cas, il est difficile pour un décideur d’établir une relation de cause à effet entre le nombre d’échecs et la qualité du résultat.

64

Page 79: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Chapitre IV

Formulation du problème d’optimisation des conditions de coupe en tournage

Page 80: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Introduction

L’optimisation des conditions de coupe en fabrication sérielle des produits industriels par enlèvement de matière est une étape indispensable dans le cadre de l’automatisation complète de la chaîne cinématique de la production des produits manufacturés. A ce jour, les méthodes et stratégies d’optimisation proposées et utilisées dans l’industrie se basent en général sur une optimisation partielle, à l’instar de l’approche proposée par Agapiou [Agapiou 1992] pour la résolution des problèmes d’optimisation multi-objectif par la méthode du gradient. De son coté, Assas [Assas et al 2001] propose un modèle d’optimisation mono-objectif du coût de production et du temps d’usinage par la méthode du simplexe, tandis que Haddouche [Haddouche 2002] développe un modèle d’optimisation non linéaire des paramètres de coupe en tournage en utilisant la méthode de pénalité intérieure, et Tansel [Tansel 2005] fait usage des GONNS (Genetically Optimized Neural Network System) pour le choix des conditions de coupe optimales dans des opérations d’usinage spécialisées des données expérimentales sans développer de modèle analytique ou empirique.

IV.1. Formulation mathématique du problème d’optimisation

La formulation du modèle d’optimisation repose sur « la connaissance d’équations mathématiques qui représentent les paramètres économiques et physiques du processus d’usinage, représenté par le système « Pièce-Outil-Machine ». Le problème d’optimisation multiobjectif (Multi-Objective Problem MOP) s’exprime d’après [Vacher 2000], [Osyczka 1985], [Berro 2001], [Agapiou 1992], [Srinivas et Deb 1993] sous la forme suivante :

⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪

⊂∈

=≤

=

n

j

k

RSx

mjxhescontralessous

xfxfxfxfoù

RfxfMinimiser

,.....,10)(:int

)](),...(),([)(

)(

21

(IV.1)

Où le vecteur x ∈ Rn a pour composantes (x1 , x2,…..,xn) qui sont les inconnues du problème. S : est l’ensemble des solution de x dans Rn.

Formulation du problème d’optimisation des conditions de coupe en tournage

65

Page 81: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

La fonction f(x) est appelée la fonction objectif (ou fonction économique) et l’ensemble des conditions hj (x) ≤ 0 (j = 1,….. , m) sont les contraintes du problème. La résolution de ce problème repose sur l’identification des solutions optimales d’après Pareto [Vacher 2000], [Fonseca et Fleming 1993], [Berro 2001] intitulée: une solution est dite de Pareto optimale, ou non dominée, si partant d’un point de cet espace solution, la valeur de chaque fonction objectif ne peut être améliorée sans détériorer au moins une des autres. Les solutions potentielles seront alors classées en ‘non dominées’ ou ‘Pareto optimale’, dont l’ensemble des solutions non dominée est appelé un front de Pareto optimale [Vacher 2000], [Srinivas et Deb 1993].

IV.2. Problématique d’optimisation des conditions de coupe en tournage IV.2.1. Conditions exploratoires

Les variables définissant les conditions de coupe en tournage sont des grandeurs géométriques et cinématiques intervenant dans la dynamique de coupe et la nature du milieu dans lequel est effectuée la coupe (lubrification). Les variables retenues pour une opération de tournage sont :

Pour les grandeurs géométriques :

- l’avance (f) (en mm/tour de broche) ; - la profondeur de passe (a) (en mm).

Pour les grandeurs cinématiques : - la vitesse de coupe (Vc) en (m/min). Lors d’un usinage par enlèvement de matière, nous retrouvons dans la majorité des

cas la configuration suivante (Figure IV.1) : Figure IV.1 : Configuration d’un usinage par enlèvement de matière

66

Page 82: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Les critères pris en considération pour définir les paramètres de coupe (Figure IV.2) sont : Le type de machine ; La puissance de la machine ; La matière usinée (acier, aluminium) ; La matière de l’outil (ARS, carbure, …) ; Le type de l’opération (perçage, chariotage, surfaçage). L’objectif final est d’obtenir une pièce usinée dans de bonnes conditions pour cela il faut déterminer certains paramètres spécifiques :

IV.2.2. Problématique

Les méthode et outils d’optimisation multi-objectif des conditions de coupe connues à ce jours se basent quasiment sur une optimisation partielle, de type mono-objectif, à 1, 2, ou 3 variables telles que : Optimisation mono-objectif et une variable : où l’on minimise les coûts d’usinage ou les temps de production, en relation avec un paramètre d’usinage, la vitesse de coupe, en se basant sur la stratégie de l’avance maximale (puissance maximale en ébauche et rugosité imposée en finition) pour une profondeur de passe fixée ; Optimisation mono-objectif et deux variables : où l’on minimise les coûts d’usinage ou les temps de production, en relation avec deux paramètres d’usinage, la vitesse de coupe et l’avance de l’outil pour une rugosité de la surface usinée imposée, et une profondeur de passe fixée (puissance maximale en ébauche et rugosité imposée en finition) ; Optimisation mono-objectif et trois variables : où l’on minimise les coût d’usinage ou les temps de production en relation avec la rugosité de la surface usinée et la précision

Vc: Vitesse de coupe

f : Avance par tour

ap : Profondeur de passe

Figure IV.2 : Paramètres d’usinage

67

Page 83: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

dimensionnelle demandée ; les valeurs des paramètres recherchées étant : la vitesse de coupe Vc, l’avance par tour f et la profondeur de passe ap.

Par conséquent, ces méthodes ne différent que par les méthodes de résolutions des problèmes inhérents aux fonctions objectifs (méthodes analytiques, méthode de simplexe, méthodes numériques, plans d’expériences,….). En effet, les critères et stratégies d’optimisation concernent quasiment soit la minimisation des coûts d’usinage, ou la minimisation des temps de coupe, et respectivement la maximalisation de la production, le profil maximal et enfin la durée de vie imposée, en optant le plus souvent pour la stratégie de l’avance maximale.

IV.2.3. Objectifs à atteindre

Nous proposons dans ce chapitre une nouvelle approche pour l’optimisation multi-objectif des paramètres ‘vitesse de coupe’ et ‘avance de l’outil’, pour une ‘profondeur’ de passe donnée, sous contrainte des limitations de production liées au système « Pièce-Outil-Machine », pour les opérations de tournage basée sur : - l’utilisation d’un algorithme de résolution GEA (Genetic and Evolutionary Algorithm), avec une approche de résolution FP (Front de Pareto). - la détermination d’un ensemble de solutions optimales des grandeurs de coupe Vc

optimale, f optimale pour effectuer un usinage à moindre coût et des temps de production minimum simultanément min Pu, Tu. IV.2.3.1. Cas des opérations d’ébauche

Dans le cas des opérations d’ébauche, il s’agit de déterminer un point optimum I Vc, f, tels que les coûts d’usinage et les temps de coupe soient simultanément minimisés en respectant les restrictions maximales liée au volume des copeaux, à la durée de vie de l’outil, à la rigidité de l’outil et de la pièce, aux efforts de coupe respectivement à la puissance de coupe et au couple disponible sur la broche, et enfin au diagramme brise-copeaux. IV.2.3.2 Cas des opérations de finition

En finition, nous cherchons à déterminer le point optimum I Vc, f tels que les temps de coupe et les coûts d’usinage soient simultanément minimisés, en tenant comptes des contraintes de production liés diagramme brise-copeaux, et à l’état de surface de la pièce.

68

Page 84: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

IV.3. Formulation des fonctions objectif

L’optique actuelle de la production est de chercher à obtenir une pièce à un coût et temps minimum. Selon les objectifs recherchés, fixés a priori en fonction de la politique économique de l’entreprise de production, nous distinguons deux fonctions « objectif » [Padilla 1991], que nous rappelons ci-dessous.

IV.3.1. Formulation du temps de production

Le temps total exigé pour la réalisation d’une pièce égale à la somme des temps nécessaires pour usinée la pièce, temps fixe (étude, réglage,…), temps de changement d’outil, temps technologique de coupe. L’expression générale du temps d’usinage s’exprime par la relation [Padilla 1991] :

⎟⎠⎞

⎜⎝⎛++=TttttT m

rmlu (IV.2)

avec: Tu : temps total d’usinage, tl : temps fixe (étude, réglage, matière d’œuvre,…), tm : temps technologique de coupe, tr : temps de changement d’outil, T : durée de vie de l’outil. tr est répartir sur le nombre de pièces usinées avec le même outil : si T est la durée de vie de l’outil, et tm le temps de coupe par pièce, le nombre de pièces usinées par l’outil sera

donc : mtT

Plus généralement, on montre expérimentalement que, pour un matériaux usinés, la relation qui liée la vitesse de coupe Vc, l’avance f, et la profondeur de passe a est de type (loi généralisée de Taylor) :

qpn afTkVc ...= (IV.3)

La durée de vie de l’outil dépend des conditions de coupe, et d’après la relation (IV.3) on tire T :

nq

np

nc

n afVkT−−−

= ...11

(IV.4)

69

Page 85: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Les valeurs des exposants n, p, q de la loi généralisée de Taylor dépendent essentiellement du matériau de l’outil. Le coefficient k étant fonction du matériau usiné, de l’outil utilisé et du critère d’usure adopté. En tournage, si D est le diamètre de la pièce, L la longueur à usiner :

fVLDtc

m ..1000..π

= (Chariotage), (IV.5)

En remplaçant T et tm par leurs expressions respectivement (IV.4) et (IV.5) dans

l’équation (IV.2), et en posant1000

.. LDπ=Ω , on obtient la formule du temps de production

sous la forme suivante :

lnq

np

nc

nccu ttr

afVkfVfV

T +Ω

= −−−

...

1.. 11 (IV.6)

lrnq

np

nc

ncu tt

afVkfV

T +Ω

= −+

−+

.... 1111 (IV.7)

lrnq

npn

nn

cnc

u ttafVk

fVT +

Ω+

Ω= −−+−

.... 11 (IV.8)

d’où l’expression générale du temps de production :

lrnq

nnp

nn

cn

cu ttafVkfVT +Ω+Ω=−+−

−− .......)1(1

11 (IV.9) La figure IV.3 représente un exemple de représentation graphique de la fonction temps de production avec les différentes profondeurs de passe (mm) ai (i = 1,….,4) a1 = 1.27 , a2 = 2.54 , a3 = 3.81 , a4 = 5.08.

70

Page 86: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

IV.3.2. Formulation du coût de production

Le prix de revient d’une pièce est égale à la somme de tous les frais de fabrication, coût machine, prix de revient d’une arête de coupe, coût auxiliaire de lancement de la pièce. L’expression générale des coûts de production est donnée par [Padilla 1991] :

Tt

ptpptpP mlmalu +++= 00 (IV.10)

avec : p0 : coût machine, pl : prix de revient d’une arête de coupe, pa : coût auxiliaire de lancement de la série. En remplaçant tm et T par leur expressions respectivement (IV.5) et (IV.4) dans la relation

(IV.10) avec 1000

.. LDπ=Ω , on obtient :

lalnq

np

nc

nccu tppp

afVkfVfV

pP .

...

1..

.011

0 ++Ω

= −−− (IV.11)

Figure IV.3 : Variation du temps de production en fonction de ai

71

Page 87: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

lanq

nnp

nn

cn

l

cu tpp

afVk

pfV

pP .

...

...

0110 ++

Ω+

Ω= −+−+− (IV.12)

d’où l’expression générale du coût de production :

lanq

npn

nn

cn

lcu tppafVkpfVpP ......... 0

)()1(111

0 ++Ω+Ω=−−+−

−− (IV.13)

La figure IV.4 montre un exemple de représentation graphique de la fonction coût de production avec les différentes profondeurs de passe ai (i = 1,….,4) a1 = 1.27 , a2 = 2.54 , a3 = 3.81 , a4 = 5.08.

IV.4. Expressions des contraintes de production

Les limitations ou contraintes de productions, exprimées sous formes d’inéquations sont liées à la pièce, à l’outil ou à la machine, à savoir :

Figure IV.4 : Coût de production en fonction de ai

72

Page 88: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

IV.4.1. Limitations liées à la machine-outil

IV.4.1.1. Limitation de puissance de coupe Les valeurs des conditions de coupe doivent être choisies de manière à ce que la

puissance de coupe Pc soit au plus égale à la puissance maximale disponible Pu sur la broche de la machine-outil, soit donc :

uc PP ≤ (IV.14)

Pour un matériau usiné et un outil de caractéristiques géométriques et mécaniques données, la puissance de coupe s’exprime en fonction des trois paramètres de coupe principaux, à savoir : Vitesse de coupe Vc, avance par tour f et profondeur de passe a.

ucc PafVgP ≤= ),,( (IV.15)

60...),,( 7.0

cfcc VfakafVgP == (cas de tournage) (IV.16)

( ) ucfcc pVfakafVgp ≤== 60..., 7.0, (IV.17)

Pc : puissance absorbée par la coupe,

Pu : puissance disponible sur la broche,

Kf : pression spécifique de coupe. IV.4.1.2. Limitation d’efforts – Couple admissible sur la broche

Compte-tenu des caractéristiques mécaniques et dimensionnelles des organes des chaînes cinématiques de la machine-outil, le couple appliqué à la broche de la machine ne doit pas dépasser une valeur limite Cmax qui est indépendant de la vitesse de coupe.

( ) max7.0 2..., CDfakafgC f ≤== (IV.18)

IV.4.2. Limitations liées à l’outil IV.4.2.1. Diagramme de brise-copeaux

Lors d’une opération de coupe, il est nécessaire de fractionner le copeau, car les copeaux longs sont dangereux pour l’opérateur, et difficiles à évacuer.

73

Page 89: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Pour obtenir des copeaux fragmentés, on utilise des brise-copeaux, dimensionnés en fonction des conditions de coupe adéquates. En particulier, pour l’utilisation des plaquettes à brise-copeaux préformées, il existe pour chaque type, un domaine d’emploi qui est la combinaison entre l’avance f et la profondeur a, pour assurer une bonne efficacité de celui-ci. Chaque outil utilisé en production doit avoir un diagramme d’utilisation ; celui-ci est valable pour une plage de vitesses de coupe donnée. Les valeurs adoptées pour l’avance f et la pénétration a doivent être les coordonnées d’un point situé à l’intérieur du domaine indiqué sur le diagramme de brise-copeaux de l’outil utilisé, dans les cas où le diagramme brise-copeaux n’est pas connu, on choisit des valeurs d’avance et de pénétration telles que :

1.0sin.,3.0.sin.05.0 2 frr faf κκ ≤≤ (IV.19)

avec

kr : angle de direction de l’arête de coupe

IV.4.2.2. Limitation d’endurance d’outil IV.4.2.2.1 Forme d’usure

L’usure de l’outil se manifeste essentiellement sous deux aspects : - L’usure « en cratère » sur la face d’attaque de l’outil, due au frottement du copeau et caractérisée par sa profondeur maximale KT. - L’usure frontale sur les faces en dépouille, due au frottement sur la surface usinée et caractérisée par la largeur moyenne VB de la zone usée. IV.4.2.2.2 Loi d’usure des outils de coupe

La loi d’usure définit la variation du temps effectif de coupe T (durée de vie de l’outil) en fonction des paramètres principaux de l’usinage (Vitesse de coupe VC , avance par tour f , profondeur a). Pour les valeurs usuelles des paramètres de coupe, la loi d’usure peut être représentée par le modèle de Taylor [François 1984] :

qpn

c afTkV ...= (IV.20)

nq

np

nc

n afVkT−−−

= ...11

(IV.21)

74

Page 90: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Le coefficient k étant fonction du matériau usiné, de l’outil utilisé et du critère d’usure adopté. Les valeurs des exposants n, p, q de la loi généralisée de Taylor : ils caractérisent la loi d’usure d’un outil par un matériau usiné.

IV.4.3. Limitation liées à la pièce usinée IV.4.3.1. Effort de coupe admissible

L’effort de coupe peut entraîner une déformation trop importante de la pièce usinée d’où une mauvaise précision dimensionnelle et apparition du broutement. La valeur de l’effort de coupe admissible est donc fonction des caractéristiques mécaniques et géométriques de la pièce usinée. En chariotage des pièce, on admet généralement que la flèche ne doit pas dépasser une valeur maxi Zmax.

max

3

..48.

ZIE

LFZ c ≤= avec : 405.0 DI = (IV.22)

axmf Z

DELfak

Z ≤= 4

37.0

..4.2...

(IV.23)

IV.4.3.2. Etat de surface

La restriction liée à l’état de surface est donnée par la relation exprimant la rugosité

totale théorique par rapport à la rugosité réelle maximale à ne pas dépasser :

max

2

.8.1000

ttth Rr

fR ≤=ε

(IV.24)

avec rε : rayon du bec de l’outil IV.4.3.3. Température de coupe

Pour éviter toute déformation plastique de l’outil, la température dans la zone de cisaillement primaire de la pièce doit être inférieure à une température limite [Agapiou 1992].

max105.02.04.0 8.17...96.74 pc TafV ≤− (IV.25)

75

Page 91: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Chapitre V

Résolution du problème d’optimisation par AGs et FP

Page 92: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Introduction

Dans ce chapitre, nous proposons une approche basée sur les algorithmes génétiques pour la résolution du problème d’optimisation multi-objectif des conditions de coupe en tournage tel que formulé précédemment. Nous nous intéressons dans un premier temps à la définition des fonctions objectif à minimiser, et les contraintes de production appliquée dans les deux cas : cas d’ébauche et cas de finition.

Le reste du chapitre est consacré à la définition des paramètres de l’algorithme

génétique tels que le codage des individus, les opérateurs génétiques et les résultats obtenus après application de GEA (Genetic and Evolutionary Algorithm). La nature du problème à résoudre, à savoir l’optimisation des conditions de coupe en tournage, nous permet d’adopter un codage ‘réal’. Ce codage présente des avantages majeurs : il est plus précis que le codage binaire et l’espace de recherche est le même que l’espace du problème. Il a également le mérite d’être simple à utiliser. Les opérateurs génétiques utilisés sont ensuite définis.

Nous noterons que l’évaluation des performances du codage, des fonctions objectif et des contraintes de production proposées ne peut se faire que par des tests pratiqués sur l’algorithme implémenté, que nous avons effectués. Les résultats obtenus sur un exemple pratique de chariotage clôture ce chapitre.

V.1. Approche proposée pour l’optimisation multi-objectif contrainte des paramètres de coupe

L’approche proposée implémentée dans Matlab est basée sur les relations exprimant les fonctions « objectif » inhérentes aux :

- Temps de production, exprimée par la relation (IV.9) - Coût de production, exprimée par la relation (IV.13) En outre, les limitations de production dont nous avons tenu compte sont reprises ci-dessous :

Résolution du problème d’optimisation par AGs et FP

76

Page 93: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

V.1.1. Cas des opérations d’ébauche

Dans les cas des opérations d’ébauche, il s’agit de déterminer un point optimum IVc, f, tels que les coûts d’usinage et les temps de production soient simultanément minimisés en respectant les contraintes imposées suivantes. 1- Limitation sur la vitesse d’avance (gamme des avances disponibles sur la machine) :

maxmin fff ≤≤ (V.1) 2- Limitation sur la vitesse de coupe (gamme des vitesses de la broche disponible sur la machine :

ccc VVV ≤≤ (V.2) 3- Limitation sur la puissance maximale admise par la machine-outil :

max75,078,091,0

1 ...0373,0),,( ucc PafVafVg ≤= (V.3) 4- Limitation sur la température de coupe :

max105,02,04,0

2 8,17...96,74),,( pcc TafVafVg ≤−= (V.4) 5- Limitation sur l’effort de coupe (limitation en relation avec la déflection Outil-Pièce, rupture de l’outil, rigidité du porte-outil) :

max75,0725,01013,0

3 ..),,( FafVafVg cc ≤= − (V.5)

V.1.2. Cas des opérations de finition

En finition, nous cherchons à déterminer le point optimum I Vc, f tels que les temps

de coupe et les coûts d’usinage soient simultanément minimisés, en tenant comptes des

contraintes de production imposées :

1- Limitation sur la vitesse d’avance (gamme des avances disponibles sur la machine) :

maxmin fff ≤≤ (V.6) 2- Limitation sur la vitesse de coupe (gamme des vitesses de la broche disponible sur la machine :

77

Page 94: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

ccc VVV ≤≤ (V.7)

3- Limitation sur la puissance maximale admise par la machine-outil :

max75,078,091,0

1 ...0373,0),,( ucc PafVafVg ≤= (V.8) 4- Limitation sur la température de coupe :

max105,02,04,0

2 8,17...96,74),,( pcc TafVafVg ≤−= (V.9)

5- Limitation sur l’état de surface :

max25.0004.152.1

3 ...785.14),,( RafVafVg cc ≤= − (V.10) 6- Limitation sur l’effort de coupe (limitation en relation avec la déflection Outil-Pièce, rupture de l’outil, rigidité du porte-outil) :

max75,0725,01013,0

4 ..),,( FafVafVg cc ≤= − (V.11) Les constantes et les coefficients des modèles mathématiques des contraintes ci-dessus et de la durée de vie de l’outil sont obtenus expérimentalement par la méthode de planification des essais multi-factorielle d’après [Agapiou 1992]

V.2. Description générale de l’algorithme mis en oeuvre

Le processus de mise en œuvre d’un algorithme génétique s’effectue suivant plusieurs étapes successives, partant d’une phase de constitution de population initiale, suivie de phases de régénération de populations grâce aux opérateurs génétiques de sélection, mutation et croisement. Chaque génération produira, en principe, des topologies plus performantes que les précédentes. Plus le nombre de générations est grand, plus la solution se raffinera et la dernière génération devrait contenir une bonne solution, mais qui n’est pas nécessairement optimale. Pendant le processus de création, deux populations existent en parallèle : la population courante, d’où sont puisés les chromosomes-parents, et la nouvelle génération en voie de réalisation, où se retrouveront les chromosomes-enfants. Pour ce faire, il est nécessaire de déterminer les paramètres adaptés à l’algorithme génétique utilisé.

78

Page 95: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

V.3. Détermination des paramètres appliqués à l’algorithme génétique

Pour appliquer un algorithme génétique à un problème réel, on doit définir les éléments suivants : V.3.1. Codage des individus

Un individu est une chaîne de longueur l codant une solution potentielle au problème à résoudre. Dans notre cas, il s’agir de coder la vitesse de coupe Vc et l’avance par tour f. Rappelons que la résolution du problème d’optimisation multi-objectif des conditions de coupe en tournage consiste à déterminer un vecteur I (Vc optimale, f optimale) minimisant le temps de production et le coût de production simultanément, tout en respectant les contraintes (équations d’inégalité) 0≤ig , avec i variant de 1 à 4. Rappelons par ailleurs

que le vecteur I est un vecteur de type réal. Ce codage respecte l’espace de recherche des deux fonctions ‘objectif’.

V.3.2. Opérateurs génétiques V.3.2.1. Sélection

Un choix des meilleurs individus de la population s’impose, afin de créer une nouvelle population mieux adaptée. Il y a plusieurs grands types de sélection : la roulette wheel selection, les tournois et selection by stochastic sampling (voir annexe A). Le calcul de la fitness est une étape essentielle dans la sélection (Rank-based fitness assignment), cette fitness attachée à chaque individu dépend seulement de sa position dans le rang d’individus et pas de la valeur objectif réelle. Le rang de la fitness attachée se comporte d’une façon plus robuste que la tâche proportionnelle de la fitness [Whitley 1989].

On considère Nind le nombre d’individus dans la population, Pos la position de chaque individu dans la population (l’individu le moins convenable a une position Pos = 1, l’individu le plus convenable sa position Pos = Nind) et le Ps la pression sélective. La valeur de la fitness de chaque individu est calculée sous les deux formes suivantes [Hartmut 2004] : Rang linéaire

( )( )1

1.)1(.22)(−−

−+−=NindPosPsPsPosFitness (V.12)

79

Page 96: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Dans le rang linéaire, les valeurs de la pression sélective sont généralement dans l’intervalle [1.0, 2.0]. Une nouvelle méthode pour le rang employant une distribution non linéaire est présentée. L’utilisation du rang non linéaire permet des pressions sélectives plus élevées que dans la méthode de rang linéaire. Rang non linéaire

∑ −

= Nind

i

i

Pos

X

XNindPosFitness1

1.)( (V.13)

X est calculé comme racine de polynôme donné par:

0......)1( 21 =++++− −− PsXPsXPsXPs NindNind (V.14) Dans le rang non linéaire, les valeurs de la pression sélective sont dans l’intervalle [1, Nind -2]. Après le calcul des fitness des individus, nous faisons appel à une méthode de sélection pour le choix des meilleurs individus, ces derniers participent dans la nouvelle population, cette méthode dite ‘selsus’ (selection stochastic universal sampling) [Baker 1987] assure une sélection des individus qui est plus près de ce qui mérite la sélection de la roulette (voir annexe A.2.5.1). V.3.2.2. Croisement

L’opérateur de croisement classique prend en entrée un couple d’individus parents et renvoie un couple d’individus enfants, les valeurs de la probabilité de croisement peuvent varier d’une application à l’autre, généralement entre 60 et 90%. Dans cette application, nous avons utilisé un codage réel, ce qui oblige l’obtention d’un croisement réel. Ce dernier est facile et simple tel que ce croisement est de type ‘line recombination’ [Muhlenbein 1994], défini par la formule suivante :

25,0,]1,[var),...,,2,1()1(.. 21

=+−∈∈−+=

dddaNiaVaraVarVar

i

iP

iiP

io

i (V.15)

a est un facteur choisi uniformément au hasard sur un intervalle [-d, 1 + d]. Nous considérons à titre d’exemple, deux individus avec trois variables : ind1 12 25 5 ind1 123 4 34

80

Page 97: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Ainsi, le choix de a pour les deux individus dans l’intervalle [-d, 1 + d] est donné au hasard tels que: a1 = 0,5 et a2 = 0,1 Les deux nouveaux individus après calcul sont donc: Offspring 1 67,5 14,5 19,5 Offspring 1 23,1 22,9 7,5 V.3.2.3. Mutation

Il peut arriver que certaines informations (gène dit ‘un allèle’) disparaissent de la population lors du processus de sélection des individus. L’opérateur de croisement (recombinaison) ne permet en aucun cas de retrouver ces informations. C’est la raison essentielle qui a conduit à définir un autre opérateur, la mutation. Cet opérateur ne crée généralement pas de meilleurs individus, mais il évite l’établissement de populations uniformes incapables d’évoluer. Le taux de mutation est généralement inférieur à 0,1.

Pour la définition des étapes et du taux de mutation en utilisant l’approche suivante ‘real valued mutation’, ce type de mutation ajoute aléatoirement des valeurs aux variables avec une basse probabilité. En 1994 Mahlenbein [Muhlenbein 1994] propose un opérateur de mutation de l’algorithme génétique exprimée par :

(V.16)

Précision de mutation k : k ∈ 4, 5, …, 20 Rang de mutation r : r ∈ [0.1, 10-6]. V.4. Frontière de Pareto

La frontière de Pareto est l’ensemble de tous les points Pareto-optimaux. Un point x

est dit Pareto-optimal s’il n’est dominé par aucun autre point appartenant à l’espace de recherche. Les points sont également appelés solution non dominées. Un point x ∈ à l’espace de recherche domine x’au même espace de recherche si :

.:,]1,0[,2

%),10:tan(:,.,1,1

...,,2,1..

. precisionmutationkhasardauuniformeua

dardsngemutationrardomainerrhasardauuniformes

niarsVarVar

kui

ii

i

iiiiMut

i

∈=

=+−

∈+=

81

Page 98: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

)()()()(, '' xfxfquetelimoinsauavecxfxfi iiii p≤∀

V.5. Développement algorithmique et mise en œuvre informatique V.5.1. Principe de fonctionnement de l’algorithme mis en oeuvre

L’algorithme génétique débute par la génération d’une population initiale dans l’espace de recherche du problème. Ensuite le codage des individus est effectué. En appliquant les opérateurs génétiques, nous obtenons la solution optimale après satisfaction d’un critère d’arrêt choix au préalable. Dans le cas contraire, nous retournons aux opérateurs pour la détermination d’une autre génération.

Front de Pareto

min f1

min f2

* * *

* * *

* *

* *

*

* *

* *

*

* *

*

Figure V.1 : Front de Pareto de min (f1,f2)

Individus non dominés

Individus dominés

croisement

fitness

sélectionmutationCodage des

solutions

Problème

SolutionCritères d’arrêt

Non

Oui

Figure V.2 : Fonctionnement de l’algorithme génétique

82

Page 99: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

V.5.2. Organigramme général de l’algorithme

Figure V.3 : Organigramme de l’algorithme sous Matlab

Données techniques : système « POM », usinage

Critère imposé : ap

Fonctions Objectifs

Fonction coût de Production Fonction temps de production

Type d’Opération Ebauche Finition

Limitations de production Limitation sur la puissance maximale Limitation sur la Température Limitation sur l’éffort de coupe

Limitations de production Limitation sur la puissance maximale Limitation sur la température Limitation sur l’éffort de coupe Limitation sur l’état de surface

Création de la population initiale Vc min <= Vc <= Vc max fmin <= f <= fmax

Evaluation

Opérateurs génétiques Sélection, Croisement, Mutation

Critère d’arrêt Nombre de générations

Meilleur individu rencontré Vc, fopt

Non

Oui

83

Page 100: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

V.5.3. Procédure algorithmique et pseudo-code mise en oeuvre 1. La procédure algorithmique implémentée sous Matlab est décrite comme suit : f1: fonction coût de production, f1(Vc,f) ; f2: fonction temps de production f2(Vc,f) ; G1, G2, G3, G4 : Contraintes de limitation de production ; G1(Vc,f,ap), G2(Vc,f,ap), G3(Vc,f,ap), G4(Vc,f,ap) ; Données : Espace de recherche pour les deux fonctions objectif

Vc min ≤ VC ≤ Vc max f min ≤ f ≤ f max

Paramètres d’usinage (sous forme d’un tableau) ;

Variables : Vc et f Avance par tour Vitesse de coupe

Critère imposé :

ap :profondeur de passe ; Nombre de génération fixe ; Paramétrage : Choix d’une population initiale (Nombre d’individus) ; Choix de sous population ; Définition des opérateurs génétiques ; Sélection (type de sélection) ; Croisement (type de croisement) ; Mutation (type de mutation) ;

2. Pseudo-code de l’algorithme génétique

Une description textuelle comme celle qui précède étant toujours très difficile à suivre lorsqu’il s’agit d’algorithmique, voici une traduction du schéma au moyen d’un Pseudo-code qui forme en réalité la première ébauche d’un algorithme génétique :

(on crée aléatoirement des individus) Initialiser Aléatoirement (Population_t)

(on évalue ces individus)

VC f

84

Page 101: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Opérateur_Evaluation (Population_t)

tant que Condition alors on boucle

(on sélectionne des individus en fonction de l’évaluation

et on les marque comme sélectionnés) Opérateur_Sélection (Population_t)

(on répartit les individus entre les opérateurs de croisement et de mutation) pour chaque individu de Population t on boucle

si l’individu courant est sélectionné alors (on garde ainsi les bons individus de Population_t) Ajouter l’individu à Population_t+1 si valeur_aléatoire_entre_0_et_1 <= Pc alors

Nouveau_Individu := Operateur_Croisement(Individu)

sinon

Nouveau_Individu :=operateur_Mutation (Individu)

fin si

Ajouter Nouveau_Individu à Population_t+1

fin si

Critère d’arrêt est satisfait (Nombre de génération max)

fin boucle

Meilleurs individus (Frontière de Pareto)

V.6. Validation : Etude d’un cas pratique de chariotage sur tour V.6.1 Conditions exploratoires

L

Ø D

a p

Figure IV.4 : Pièce à usiner

85

Page 102: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Figure IV.5 : Montage de la pièce à usiner sur le Mondrin

V.6.2. Paramètres d’usinage expérimentaux

Paramètres

L (mm)

D (mm)

Vc min (m/min)

Vc max (m/min)

Valeurs 203 152

80 200

Paramètres f min (mm/tr)

f max (mm/tr)

R max (µm)

Pu max (W)

Valeurs 0.254 0.762

2 5000

Paramètres

F (N)

tm (min)

tl (min/pièce)

Tp max (C°)

Valeurs 1100 0.13 1.5 500 Paramètres p Q

n k

Valeurs -0.29 -0.35

-0.25 193.3

Paramètres

tr (min)

P0 (euro/min)

Pl (euro/arête)

Pa (euro)

Valeurs 0.5 0.1

0.5 0.1

Tableau V.1 : Paramètres d’usinage

api

86

Page 103: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

V.7. Résultats et discussion V.7.1. Résultats de la première application

Plusieurs essais ont été effectués avec des populations de 50 individus évoluant pendant 100 générations. Notons tout d’abord que, lors de tous les essais, nous obtenons des valeurs optimales pour les Vc et f, représentent les meilleur chromosomes rencontrés dans des populations optimales,varient dans l’intrvalle de 10 à 70 générations . L’analyse des résultats obtenus lors de l’exécution du programme a montré que dans la pratique, ces résultats sont partagés sur les 100 générations, avec un temps de calcul CPU très faible. Cas : Profondeur de passe ap = 0.5 mm

(a) (b)

Figure V.6 : Illustration du choix du nombre de générations : (a) l’espace de solutions (la frontière de Pareto) ou l’ensemble des individus non dominés obtenus lors de plusieurs essais après l’écoulement de 100 générations (la taille de la population est fixée à 50) ; (b) l’espace de recherche des individus indique le regroupement des individus à une avance de 0.762 mm/tr, en remarquant que tous les individus tombent sur la frontière de Pareto (pas d’individus dominés)

87

Page 104: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

(a΄) (b΄) Figure V.7 : (a΄) représente la variation des objectifs dans les sous population au cour de 100 générations ; (b΄) représente les valeurs des individus à l’écoulement de 100 générations Cas : Profondeur de passe ap = 1.27 mm

(a) (b) Figure V.8 : (a) représente la frontière de Pareto avec 50 individus non dominés et le meilleurs chromosome rencontré à la 41ième génération et (b) représente un espace de recherche pour les deux variables, la vitesse de coupe Vc et l’avance par tour f

88

Page 105: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Figure V.9 : Variation des objectifs dans les sous populations en fonction de nombre de générations à gauche et variation de la vitesse de coupe Vc et de l’avance par tour f en fonction de nombre de générations Cas : Profondeur de passe ap = 2.54 mm

(a) (b) Figure V.10 : Solutions non dominées (a) trouvées lors de plusieurs essais de GEA et NSGA avec une taille de population égale à 50 individus et 100 génération (b) représente l’espace de recherche pour les deux variables, on remarque que la totalité des individus se regroupent à une avance égale à 0.762 mm/tr

89

Page 106: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Figure V.11 : Variation des objectifs dans les sous populations en fonction de nombre de générations à gauche et variation de la vitesse de coupe Vc et de l’avance par tour f en fonction de nombre de générations à droite Cas : Profondeur de passe ap = 3.81 mm

(a) (b) Figure V.12 : (a) Espace de solutions avec les individus dominés en rouge et non dominés en bleu (b) Espace de recherche avec les individus non dominés en bleu et les individus dominés en rouge, à cette profondeur de passe en remarquant l’apparition des individus dominés (16 individus sur le nombre total égal à 50 individus dans la population)

90

Page 107: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Figure V.13 : Variation des objectifs dans les sous populations en fonction de nombre de générations à gauche et variations des individus à droite Cas : Profondeur de passe ap = 5.08 mm

(a) (b) Figure V.14 : (a) Espace de solutions avec les individus dominés en rouge et non dominés qui représentent la frontière de Pareto en bleu (b) Espace de recherche avec les individus non dominés en bleu et les individus dominés en rouge

91

Page 108: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Figure V.15 : Variation des objectifs en fonction de nombre de générations à gauche et variation de la vitesse de coupe et de l’avance par tour en fonction de nombre de générations

En remarquant que pour les profondeurs de passes ap1 = 0.5 mm, ap2 = 1.27 mm et ap3 = 2.54 mm, toute la population (50 individus) rejoint l’ensemble non dominé ou la frontière de Pareto (ce qui est très bien). Par contre, pour les profondeurs de passes ap4 = 3.81 mm et ap5 = 5.08 mm, on remarque l’apparition des individus non dominés. Tous les tests effectués montrent que cette approche est capable de converger plus rapidement vers la surface de Pareto (en terme du temps CPU). Nous avons représenté les résultats obtenus par application de l’algorithme génétique sous forme d’un tableau.

a (mm)

Vc optimale

(m/min) f optimale

(mm/tr) Pu

euro Tu min

CPU (min)

Meilleur génération

0.5 136 0.762 0.375 2.463 0.42 69 1.27 107 0.762 0.425 2.742 0.31 41 2.54 84 0.762 0.473 3.089 0.32 19 3.81 94 0.671 0.581 3.205 0.32 34 5.08 98 0.508 0.732 3.724 0.31 10

Tableau V.2 : Résultats obtenus par l’algorithme de résolution à une population de 50 individus et 100 générations

92

Page 109: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

dc

(mm) f

(mm/tr) Vc

(m/min) Cu $

Tu Min

1.27 0.76 135 0.382 2.68 2.54 0.636 122 0.525 3.094 3.81 0.554 118.78 0.688 3.44 5.08 0.461 110.50 0.795 3.934

Tableau V.3 : Résultats du calcule par la méthode du SIMPLEXE [Assas 2001]

dc

(mm) f

(mm/tr) Vopt Tu (m/min)

Vopt Cu (m/min)

Tu Min

Cu $

1.27 0.71 173 177 2.659 0.504 2.54 0.56 145 149 3.183 0.675 3.81 0.46 134 137 3.688 0.850 5.08 0.38 128 131 4.236 1.032

Tableau V.4 : Résultats du calcul par la méthode du gradient [Agapiou 1992]

En comparant ces méthodes d’optimisation (méthode du simplexe et la méthode du

gradient) à celle utilisée dans la première application en remarquant que nous avons apporté une nette amélioration des résultats concernant le coût et le temps de production. V.7.2. Résultats de la deuxième application

Compte tenu de ces observations, les résultats d’optimisation obtenus avec la taille de population égale à 100 et le nombre de génération égale à 200 sont présenté dans la section suivante et servent à illustrer l’efficacité de l’algorithme utilisé lors de la résolution du problème d’optimisation multi-objectif des condition de coupe sous contraintes, en augmentant la taille de la population et le nombre de génération et en comparant les résultats par rapport à une taille de population 50 et de 100 génération.

93

Page 110: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Cas : Profondeur de passe ap = 0.5 mm

(a) Espace de solutions (b) Espace de recherche Figure V.16 : Illustration du choix du nombre de générations : (a) l’espace de solutions (la frontière de Pareto optimale) obtenus lors de plusieurs essais après l’écoulement de 200 générations avec la taille de la population fixée à 100 ; (b) représente l’espace de recherche des individus regroupés autour d’une avance égale à 0.762 mm/tr

(a΄) (b΄) Figure V.17 : (a΄) représente la variation des objectifs dans les sous populations au cour de 200 générations ; (b΄) représente les valeurs des variables, la vitesse de coupe Vc et l’avance par tour f à l’écoulement de 200 générations

94

Page 111: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Cas : Profondeur de passe ap =1.27 mm

(a) (b) Figure V.18 : Solution non dominées ou la frontière de Pareto optimale (a) trouvées lors de plusieurs essais de GEA et NSGA avec une taille de population égale à 100 individus (b) représente l’espace de recherche pour les deux variables, en remarquant que la totalité des individus se regroupent à une avance égale à 0.762 mm/tr

Figure V.19 : Variation des objectifs dans les sous populations en fonction de nombre de générations à gauche et variation de la vitesse de coupe Vc et de l’avance par tour f en fonction de nombre de générations

95

Page 112: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Cas : Profondeur de passe ap = 2.54 mm

Figure V.20 : L’espace de solutions à gauche représenté par la frontière de Pareto et l’espace de recherche à droite représenté après application des opérateurs génétiques et après écoulement de 200 générations

Figure V.21 : Représentation des objectifs dans les sous populations en fonction de nombre de génération à gauche et représentation des deux variables la vitesse de coupe Vc et l’avance par tour f en fonction de nombre de générations à droite

96

Page 113: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Cas : Profondeur de passe ap = 3.81 mm

(a) (b) Figure V.22 : (a) Espace de solutions avec les individus dominés en rouge qui sont minorités (28 individus) et non dominés en bleu (72 individus), (b) Espace de recherche des deux variables la vitesse de coupe (Vc) et l’avance par tour (f) avec les individus non dominés en bleu et les individus dominés en rouge

(a’) (b’) Figure V.23 : (a’) représente la variation des objectifs et (b’) représente la variation du chromosome contenant les deux gènes la vitesse de coupe (Vc) et l’avance par tour (f)

97

Page 114: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Cas : Profondeur de passe ap = 5.08 mm

Figure V.24 : Solutions non dominées ou frontière de Pareto trouvées lors de plusieurs essais de Genetique and Evolutionary Algorithm (GEA) à gauche et l’espace de recherche des deux variables à droite

Figure V.25 : Variation des objectifs en fonction de nombre de générations à gauche et variation de la vitesse de coupe et de l’avance par tour en fonction de nombre de générations

Tout les tests effectués dans cette section (population de taille 100 et nombre de génération 200) montrent une amélioration de quelque résultats concernant le temps

98

Page 115: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

d’usinage pour les profondeurs de passe ap = 0.5 mm, ap = 1.27 mm, ap = 2.54 mm, par contre on remarque une légère augmentation du coût de production et une convergence moins rapide que dans la population de taille 50 individus et 100 générations (en terme du temps CPU), ces résultats reste toujours meilleurs par rapport aux résultats obtenus par la méthode du simplexe et la méthode du gradient. Nous avons présenté les résultats obtenus sous forme d’un tableau.

a (mm)

Vc optimale (m/min)

f (mm/tr)

Pu euro

Tu min

CPU min

Meilleurs génération

0.5 149 0.762 0.376 2.394 0.90 53 1.27 115 0.762 0.430 2.678 0.77 121 2.54 88 0.762 0.477 3.028 0.74 37 3.81 88 0.674 0.557 3.276 0.79 9 5.08 97 0.506 0.721 3.754 0.77 16

Tableau V.5 : Résultats obtenus par l’algorithme de résolution à une population de 100 individus et 200 générations V.8. Conclusion

Le problème d’optimisation multi-objectif des conditions de coupe en tournage est un problème réel en production mécanique. La qualité des solutions qu’il est possible de trouver lors de l’optimisation apparaît donc plus importante que la rapidité de leur obtention. Les résultats obtenus lors des essais (population de taille 50 et de 100 générations, population de 100 individus et 200 générations) sont meilleurs par rapport à ceux obtenus par la méthode du simplexe et la méthode du gradient [Assas et al 2001], [Agapiou 1992]. Nous avons réussi à obtenir une grande variété de solutions pour l’optimisation des conditions de coupe jusqu’à présent hors d’atteinte.

99

Page 116: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Conclusion et perspectives

Page 117: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Conclusion et perspectives

Nous avons présenté dans ce mémoire un état de l’art sur les problèmes relatifs à l’optimisation dans les sciences de l’ingénieur en général. Ensuite, les problèmes d’optimisation multi-objectif et leur intérêt technico-scientifique, ainsi que les méthodes d’optimisation multi-objectif basées sur la dominance de Pareto, ont fait l’objet d’une étude bibliographique approfondie.

Ceci nous a permis de mettre en exergue la problématique selon deux approches. Dans

la première approche, le problème multi-objectif est souvent ramené à la résolution d’un problème mono-objectif, avec le risque toutefois d’éluder l’intérêt du problème d’optimisation multi-objectif. La deuxième approche adopte quant à elle un point de vue plus global, en prenant en compte l’ensemble des critères d’optimisation et en utilisant la notion de dominance au sens de Pareto. Cette dernière a été retenue.

Avant la résolution de la problématique posée, nous avons formulé les développements mathématiques inhérents au problème d’optimisation multi-objectif des conditions de coupe dans le cas du tournage, ainsi que les relations des fonctions ‘objectif’ et des contraintes ou limitations de production liées à la pièce, à l’outil et à la machines.

Ensuite, nous avons présenté un domaine de recherche relativement récent qui s’intéresse à l’optimisation mult-objectif sous contraintes des conditions de coupe en tournage, en utilisant la technique des algorithmes génétiques et une approche de résolution au sens de Pareto optimale, que nous avons implémentés sous Matlab. Notre démarche nous a permis de mettre en évidence la facilité d’exploitation de ce genre d’algorithmes de résolution et leur efficacité dans le traitement des problèmes complexes, après définition de leur opérateurs génétiques tels que le codage des individus, la sélection, le croisement et la mutation, notamment en optimisation multi-objectif des conditions de coupe, sans restriction inhérentes aux limitations des contraintes de production. En outre, le concept introduit permet une extension flexible à tous les procèdes d’usinage par enlèvement de copeau, moyennant de simples extensions au sens de la mise en œuvre algorithmique et de l’implémentation.

A la lumière des résultats obtenus, nous avons constaté que, pour une population de

taille 50 et un nombre de génération égal à 100, les résultats obtenus dans la première application concernant le coût de production et le temps de production apporte une nette amélioration en comparant ces résultats à celle obtenus par la méthode du gradient [Agapiou 1992] et la méthode du simplexe [Assas et al 2001] avec un temps de calcul en

100

Page 118: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

terme de CPU relativement bas. La deuxième application montre cette amélioration avec un temps du calcul jugé très acceptable.

Un problème majeur se pose lors de l’application des algorithmes génétiques : il s’agit

du problème inhérent au choix du critère d’arrêt. En effet, contrairement au cas d’optimisation mono-objectif, ce critère, dans le cas des algorithmes génétique multi-objectif dépend essentiellement du nombre maximum de générations employé jusqu’à présent.

En perspective, et nonobstant cet inconvénient du grand nombre d’itérations Il est

intéressant d’envisager une extension de ce concept aux problèmes d’optimisation multi-objectif, en tenant compte du 3ème paramètre, à savoir la profondeur de passe d’une part, et d’autre part, en généralisant cette approche aux autres procédés d’usinage par enlèvement de copeaux. Cette étude d’optimisation multi-objectif des conditions de coupe en tournage à été réalisée dans le cadre de préparation d’un magister, inscrit dans le PRU N° J3501/03/05/04. La qualité des solutions trouvées à l’aide d’un des algorithmes génétiques les plus performants aujourd’hui dépasse largement la solution de référence obtenue précédemment par les chercheurs.

101

Page 119: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Bibliographie [Agapiou 1992] J. S. Agapiou, The Optimization of Machining Operations Based on a

Combined Criterion, Part 1: The Use of Combined Objectives in Single-Pass Operations. Journal of Engineering for Industry Vol, 11, pp. 500-5007. November 1992.

[Allenson 1992] R. Allenson, Genetic Algorithm with Gender for Multi Function

Optimization,TR. EPCC-SS92-01, Edinburgh Parallel Computing Center, Edinburgh, Scotland, 1992.

[Assas et al 2001] M. Assas et M. Djenane, Optimisation des conditions d’usinage basée sur

un critère combiné par la méthode des Algorithmes Génétiques, 16ème Congrès Français de Mécanique, Nice. 1-5 Septembre 2003.

[Baker 1987] J. E. Baker, Reducing Bias and Inefficiency in the Selection Algorithm. In

ICGA2, pp. 14-21, 1987. [Baricelli 1957] N. A. Baricelli, Symbiogenetic Evolution Processes realized by Artificial

Methods, Methodos, 9, p. 143-182, 1957. [Baricelli 1962] N. A. Baricelli, Numerical Testing of Evolution Theories, Part II

Preliminary Tests of Performance, Symbiogenesis and terrestrial life, Acta Biotheoretica, XVI, p. 99-126, 1962.

[Berro 2001] A. Berron, Optimisation multiobjectif et stratégies d’évolution en environnement

dynamique, Thèse du doctorat, Spécialité, Informatique, Université des Sciences Sociale, Toulouse 1, 2001.

[Bedrin 1991] B. R. Bedrin, Optimisation des conditions de coupe, Fascicule de cours, INSA de Lyon, 1991.

[Charnes 1961] A. Charnes and W. Cooper, Management Model and Industrial Application

of Linear Programming, Vol. 1, John Wiley, New-York, 1961. [Chen and Liu 1994] Y. L. Chen and C. C. Liu, Multiobjectif VAR Planning using the Goal

attainment Method, Proceedings on Generation, Transmission and Distribution, 141, P. 227-232, 1994.

[Choquet 1953] G. Choquet, Theory of Capacities, Annales de l’Institut Fourier 5, P. 131-

295, 1953.

Page 120: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

[Coello 1995] C. A. C. Coellon and al, Multiobjective design Optimization of

Counterweight Balancing of a Robot Arm Using Genetic Algorithm, Seventh International Conference on Tools with Artificial Intelligence, P. 20-23, 1995.

[Coello 1996] C. A. C. Coello, An Empirical Study of Evolutionary Techniques for

Multiobjective Optimization in Engineering Design, ph. D. Thesis, Department of Computer Science, Tulane University New Orleans, 1996.

[Coello 2001] C. A. C. Coello and G. T. Pulido, Multiobjective Optimization using a

Micro-genetic Algorithm, In Proceedings of the Genetic and Evolutionary Computation Conference(GECCO 2001), P. 274-282, San Francisco, California, 2001.

[Corne 2001] D. W. Corne and al, PESA II: Region-based Selection in Evolutionary

Multiobjective Optimization, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2001), P. 283-290, San Fransisco, California, 2001.

[Darwin 1859] C. Darwin, The Origin of Species, 1859. [Deb and al 2000] K. Deb, S. Pratap and A. Meyarivan, Constrainted Test Problems for

Multiobjective Evolutionary Optimization, 2000. [Deb 1999] K. Deb, Multi-objective Genetic Algorithms: Problem Difficulties and

Construction of Test Problems, Evolutionary Computation, 7(3), p. 205-230, 1999.

[Dias and Vasconcelos 2002] H. F. Alexander Dias and A. J De Vasconcelos, Multiobjective

Genetic Algorithms Applied to Solve Optimization Problems, IEEE, Trans, Magn, March, Vol. 38 N°2, 2002.

[Drdi 2005] L. Drdi, Les algorithms génétiques extrait de la these de doctorat. INRS-

ETE, 2005. [Ehrgott and Gandibleux 2000] M. Ehrgott and X. Gandibleux, A Survey and Annotated

Bibliography of Multiobjective Combinatorial Optimization, OR Spektrum, 22, P. 425-460, 2000.

[Fishman 1997] G. S. Fishman, Monte-Carlo: Concept, Algorithms and Application,

Springer- Verlarg, 1997.

Page 121: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

[Fonseca and Fleming 1993] C. M. Fonseca and P. J. Fleming, Genetic Algorithms for Multiobjective Optimization: Formulation, Discussion and Gereralization, In proceedings of the fifth International Conference on Genetic Algorithms, San Mateo, California, P. 416-423, 1993.

[Fonseca and Fleming 1993] C. M. Fonseca and P. J. Fleming, Multiobjective Genetice Algorithms, the Institute of Electrical Engineering printed and published by the IEE, 1993.

[Fonseca 1995] C. M. Fonseca, Multiobjective Genetic Algorithms with Application to

Control Engineering Problems, ph. D thesis, Department of Automatic Control and Systems Engineering, University of Sheffield, 1995.

[Fourman 1985] Fourman, Compaction of symbolic Layout Using Genetic Algorithms. In

Genetic Algorithms and their Application: Proceedings of the First

International Conference on Genetic Algorithm, P. 141-153, 1985.

[Fraser 1962] A. S. Fraser, Simulation of Genetic Systems, Journal of theorical biology,

2, p. 329-364, 1962.

[François 1984] L. François, Usinage et usinabilité, Technique de l’ingénieur, M 725.

[Glover and Laguna 1997] F. Glover and M. Laguna, Tabu Search, Kluwer Academic

Publishers, 1997.

[Goldberg 1989] D. E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine

Learning, Addison-Wesley, Reading, Massachusetts, 1989.

[Goldberg 1989a] D. E. Goldberg, Sizing Populations for Serial and Parallel Genetic

Algorithms, In J. David Schaffer Ed., Proceedings of the Third

International Conference on Genetic Algorithm, P. 70-79, San-Mateo,

California, 1989.

[Goldberg and Deb 1992] D. E. Goldberg, K. Deb and J. Horn, Massive Multimodality,

Deception and Genetic Algorithms, Ed. R. Manner, B. Manderick, Parallel

Problem Solving from Nature 2, Brussels, p. 37-46, 1992.

[Goldberg and Richardson 1987] D. E. Goldberg and J. J. Richardson, Genetic Algorithm with

Sharing for Multimodal Function Optimization, Genetic Algorithms and

Page 122: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

their Applications: Proceedings of the Second ICGA, Lawrence Erlbaum

Associates, Hillsdales, p. 41-49, 1987.

[Haddouche 2002] K. Haddouche, Optimisation non linéaire des paramètres de coupe en

tournage, 1er Congrès International de Mécanique, Constantine, Algérie,

Decembre, 2002.

[Haimes and al 1986] Y. Y. Haimes, L. S. Lasdon, and D. A. Wismer, On a bicriterion

formulation of the problems of intergrated system identification and system

optimization. IEEE Trans. On Systems, Man and Cybernetics, SMC-16:

122-128, 1986.

[Hajek 1988] B. Hajek, Cooling Schedules for Optimal Annealing, Mathematics of

Operations Research, vol. 13, n°2, p. 311-329, 1988.

[Hansen 1986] P. Hansen, the steepest ascent mildest descent heuristic for Combinatorial

Programming. In Congress on numerical Method in Combinatorial

Optimization, Capri, Italy, 1986.

[Hartmut 2004] P. Hartmut, Genetic and evolutionary algorithm toolbox Introduction,

Overview, Methodes and Operators. Version 3.5a (July 2004).

[Holland 1975] J. Holland, Adaptation in Natural and Artificial Systems, University of

Michigan, press, ann Harbor, 1975.

[Horn and Nafliotis 1993] J. Horn and N. Nafliotis, Multiobjective Optimization using the

Niched Pareto Genetic Algorithm, Illigal TR. N° 93005, Jully 1993.

[Ishibuchi and Murata 1996] H. Ishibuchi and T. Murata, Multi-Objective Genetic Local

Search Algorithm. In Toshio Fukuda and Takeshi Furuhashi, edition,

Proceedings of the 1996 International Conference on Evolutionary

Computation, P. 119-124, Nagoya, Japan, 1996.

[Ignazio 1981] J. P. Ignazio, The Determination of a Subset of Efficient Solutions via

Goal Programming, Computing and Operations Research 3, P. 9-16, 1981.

Page 123: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

[Jiménez and Verdegay 1998] F. Jiménez and J. L. Verdegay, Constrained Multi-Objective

Optimization by Evolutionary Algorithm, Proceedings of the International

ICSC Symposium on Engineering of Intelligent Systems (IES 98), P. 266-

271, 1998.

[Keeney and Raiffa 1976] R. L. Keeney and H. Raiffa, Decision with Multiple Objectives, John

Wiley, New-York, 1976.

[Knowles and Corne 1999] J. D. Knowles and W. Corne, The Pareto Archived Evolution

Strategy: A New Baseline Algorithm for Multiobjective Optimization,

Congress on Evolutionary Computation, p. 98-105, Washington, July 1999.

[Knowles 2002] J. D. Knowles, Local-Search and Hybrid Evolutionary Algorithms for

Pareto Optimization, ph. D thesis of philosophy, Department of Science,

University of Reading, UK, 2002.

[Knowles and Corne 2000a] J. D. Knowles and D. W. Corne, Approximating the Non

Dominated Front using the Pareto Archived Evolution Strategy,

Evolutionary Computation 8 (2), P. 149-172, 2000.

[Knowles and Corne 2000b] J. D. Knowles, D. W. Cone and M. J. Oates, The Pareto-

Envelope based Selection Algorithm for Multiobjective Optimization, In

Proceedings of the Sixth International Conference on Parallel Problem

Solving from Native (PPSN VI), P. 839-848, Berlin, September 2000.

[Knowles and Corne 2000c] J. D. Knowles and D. W. Corne, M-PAES: A Memetic Algorithm

for Multiobjective Optimization, In Proceedings of the 2000 Congress on

Evolutionary Computation, P. 325-332, 2000.

[Koza 1992] J. R. Koza, Genetic Programming, Cambridge, MA, MIT Press, 1992

[Kurwase 1984] F. Kurwase, A Variant of Evolution Strategies for Vector Optimization, ph.

D thesis, Vanderbilt University, Nashville, Tennessee, 1984.

Page 124: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

[Laetitia 2003] J. Leztitia, Métaheuristiques pour l’extraction de connaissances: Application à

la Génomiques, Thèse du doctorat en Informatique, Université de Sciences

et Technologies de Lille, 2003.

[Lis and Eiben 1996] J. Lis and A. E. Eiben, A Multi-Sexual Genetic Algorithm for

Multiobjective Optimization, In T. Fukuda and T. Furuhashi ed.,

Proceedings of the 1996 International Conference on Evolutionary

Computation Nagoya, Japan, P. 59-64, 1996.

[Mahfoud 1995] S. W. Mahfoud, Niching Methods for Genetic Algorithms, Illigal TR.

N°95001, University of Illinois at Urbana-Champaign, Urbana, May 1995.

[Marichal 1999a] J. L. Marichal, Aggregation of Interacting Criteria by Means of the Discrete

Choquet Integral, Preprint 9910, GEMME, University of Liège, Belgium,

1999.

[Marichal 1999b] J. L. Marichal, Axiomatic Foundation for a Qualitative Multicriteria

Decision Making Theory, Preprint 9920, GEMME University of Liège,

Belgium, 1999.

[Marichal 2000] J. L. Marichal, L’utilisation de l’Intégrale de Sugeno Discrète en Aide

Multicritère à la Décision 3ième Congrès de la Société Française de

Recherche Opérationnelle et d’Aide à la Décision, Nante, 2000.

[Messine 1997] F. Messine, Méthode d’Optimisation Globale basées sur l’Analyse d’Intervalle

pour la Résolution de Problèmes avec Contraintes, thèse du doctorat de

d’université Paul Sabatier, Toulouse III, 1997.

[Minoux 1983] M. Minoux, Programmation Mathématique : Théorie et Algorithmes, Dunod,

Vol. 1, Paris, 1983.

[Muhlenbein 1994] H. Muhlenbein, The breeder Genetic Algorithm-a provable optimal search

algorithm and its application. Colloquium on Applications of Genetic

Algorithms, IEE 94/067, London, 1994.

[Murata 1997] T. Murata, Genetic Algorithms for Multi-Objective Optimization, ph. D

thesis, Graduate School of Engineering Osaka Prefecture University, 1997.

Page 125: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

[Nelder and Mead 1965] J. A. Nelder and R. Mead, A Simplex Method for Function

Minimization, Comput. J., vol. 7, p. 308-313, 1965.

[Osyczka 1985] A. Osyczda, Multicriteria Optimization for Engineering Design, in Design

Optimization, J. S. Gero, Ed New-York: Academic, P. 193-227, 1985.

[Padilla et al 1991] P. Padilla et al, Production mécanique, Dunod, 1991.

[Pareto 1896] V. Pareto, Cours d’économie politique, vol.1 et 2, F. Rouge, Lausanne,

1896.

[Parmee and al 2000] I. C. Parmee, D. Cevtkovic, A. W. Watson, and C. R. Bonham,

Multiobjective satisfaction within an interactive evolutionary design

environment. Evolutionary Computation, 8(2): 197-222, 2000.

[Rechenberg 1973] I. Rechenberg, Evolutions Strategie : Optimiering technischer Systeme

nach Prinzipien der biologischen Evolution, Stuttgart, 1973.

[Rafael 1994] Raphael Cerf, Une théorie Asymtotique des Algorithmes génétiques,

Thèse de doctorat de l’Université Montpellier II, 1994.

[Ritzel 1994] B. Ritzel and al, Using Genetic Algorithms to Solve a Multiple Objective

Ground water Pollution Containment Problem. Water Resources Research

30, P. 1589-1603, 1994.

[Roudenko 2004] O. Roudenko, Application des Algorithmes Evolutionnaires aux problèmes

d’Optimisation Multi-Objectif avec Contrainte, Thèse du doctorat,

Spécialité mathématiques appliqués, Ecole polytechnique, 2004.

[Sareni and Nicolas 1989] B. Sareni, L. Krahenbuhl and A. Nicolas, Niching Genetic

Algorithm for Optimization in Electromagnetic- I. Fundamentals, IEEE

Trans, Magn, Vol. 34, P. 2984-2987, September 1989.

[Schaffer 1985] D. Schaffer, Multiple Objective Optimization with Vector Evaluated Genetic

Algorithm, In Genetic Algorithm and their Applications: Proceedings of

the First International Conference on Genetic Algorithm, P. 93-100, 1985.

Page 126: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

[Srivinas and Deb 1993] N. Srivinas and K. Deb, Multiobjective Optimization using

Nondominated Sorting in Genetic Algorithms Technical Report,

Department of Mechanical Engineering, Institute of Technology, India,

1993.

[Surry 1995] P. Surry and al, A Multiobjective Approach to Constrained Optimization of

Gas Supply Networks: The COMOGA Method, Evolutionary Computing

AISB Workshop Selected Papers, Lecture Notes in Computer Science, P.

166-180, 1995.

[Tanaki 1995] H. Tanaki and al, Multicriteria Optimization by Genetic Algorithms: a case

of scheduling in hot rolling process, In Proceeding of the Third APORS, P.

374-381, 1995.

[Tansel 2005] I.N. Tansel, Selection of optimal cutting conditions by using GONNS,

International journal of machine tools and manufacture 46 (2006) 26-35.

[Vacher 2000] J. P. Vacher, Un système adaptatif par agents, avec utilisation des algorithmes

génétiques, Application à l’ordonnancement d’atelier de type job-shop

NxM, Thèse du doctorat, Université Du-Havre, France, 2000.

[Valenzuela and Uresti 1997] M. Valenzuela and E. Uresti, A Non Generational Genetic

Algorithm for Multiobjective Optimization, Proceedings of the Seventh

International Conference on Genetic Algorithms, P. 658-665, 1997.

[Van Veldhuizen 1999] D. A. Van Veldhuizen, Multiobjective Evolutionary Algorithms:

Classification, Analyses and New Innovation, Air Force Institute of

Technology, United State, 1999.

[Vasconcelos 2002] J. A. Vasconcelos, NSGA With Elitisme Applied to Solve Multiobjective

Optimization Problems, Journal of Microwaves and Optoelectronics, Vol.

2, N°6, December 2002.

[Vincke 1988] P. Vincke, L’Aide Multicritère à la Décision, Statistique et mathématiques

appliquées, Ellipses, Paris, 1988.

Page 127: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

[Yen and Wright 1983] D. W. Yen et P. K. Wright, Adaptative Control in Machining : A New

Approach based on the physical Constraints of Tool Wear mechanisms,

Journal of Engineering for Industry, Vol. 105, P. 31-38, 1983.

[Whitley 1989] D. Whitley, The GENITOR Algorithm and Selection Pressure: Why Rank-

Based Allocation of Reproductive Trials is Best. In ICGA3, pp. 116-121,

1989.

[Zitzler 1999] E. Zitzler, Evolutionary Algorithms for Multiobjective Optimization :

Methods and Applications, Doctoral thesis, Institute of Technology,

Zurich, Swiss, 1999.

[Zitzler 1998] E. Zitzler and L. Thiele, An Evolutionary Algorithm for Multiobjective

Optimization: The Strength Pareto Approach, TIK-Report N°113, 1998.

Page 128: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Annexes

A. Rappel sur les algorithmes génétiques B. Notice d’utilisation du programme élaboré sous Matlab

Page 129: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

A. Rappels sur les algorithmes génétiques A.1. De Darwin à Holland…

La découverte des principes de base de l’évolution des espèces et de ses mécanismes a été un sujet polémique entre scientifiques entre le début du XIXième siècle et le milieu du XXième. Jusqu’à la fin du XIXième siècle la grande majorité des naturalistes admettaient que les espèces n’évoluaient pas.

Pourtant, dès 1809, Jean-Baptiste Lamarck, naturaliste français fondateur du transformisme, émit l’hypothèse d’une évolution des organes d’un animal en fonction de ses besoins, l’adaptation des espèces se faisant selon l’influence du milieu de vie. En 1859, Charles Darwin, naturaliste britannique, publia son ouvrage ’’ L’origine des espèces par voie de sélection naturelle’’ [Darwin 1859]. Dans son libre, il tenta de défendre le transformisme mais sans reprendre les hypothèses de lamarck. Il émit l’idée que, dans chaque espèce, la nature sélectionne les meilleurs. Chaque individu donnant naissance à beaucoup plus d’individus qu’il n’en peut survivre, cela entraîne la destruction d’un grand nombre d’entre eux et la conservation des plus aptes. C’est ce qu’il appela la sélection naturelle. Par le jeu de la sélection, les caractères avantageux se trouvent modifiée et mieux adaptée aux conditions d’existence. Donc les espèces se transforment. Cette théorie a été appelée le Darwinisme et le courant de pensée reprenant ces concepts l’évolutionnisme.

En 1901, De Vries, botaniste néerlandais, exposa sa théorie du mutationnisme selon laquelle les variations responsables de l’évolution ne se faisaient pas dans le temps mais de façon soudaine et se produisaient dans l’œuf. Il appela cela des mutations. Aujourd’hui, on admet qu’ils avaient tous les trois en partie raison. Les bases de l’évolution étaient posées :

• L’adaptation des espèces sous la pression de leur environnement. Les individus mal adaptés disparaissent.

• La sélection des meilleurs individus. La reproduction est un combat entre individus.

• Le croisement pour assurer la pérennité de l’espèce. • La mutation qui crée des variations génétiques néfastes ou bénéfiques pour

l’individu. D’autres chercheurs se sont intéressés aux principes biologiques des mécanismes de l’évolution.

Page 130: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Dès 1948, les scientifiques avaient remarqué qu’une substance colorait particulièrement bien le noyau de la cellule et faisait apparaître des filaments.

En 1866, Gregor Johann Mendel, botaniste autrichien, fut reconnu comme le fondateur de la génétique moderne. Il démontra l’existence de facteurs héréditaires par les expériences sur des petits pois.

En 1902, Walter Sutton proposa le chromosome comme site des caractères transmissibles, constituant le lieu physique de chaque caractéristique d’un être vivant.

En 1911, Johansen nomma gène l’unité élémentaire de support de l’hérédité.

En 1962, J. D. Waston, biologiste américain, F. H. Crick, biologiste britannique et M. H. F. Wildins, biologiste britannique, reçurent le prix Nobel pour leur découverte de la structure d’A.D.N.

Ces découvertes vont être reprises et utilisées dans un autre domaine scientifique : l’informatique.

Dès 1960, de nombreux chercheurs essayèrent d’appliquer les connaissances sur l’évolution naturelle à des problèmes informatiques. [Baricelli 1957], [Baricelli 1962], [Fraser 1962] tentèrent de simuler l’évolution naturelle par des programmes informatiques. Mais ces tentatives furent infructueuses, probablement à cause de l’utilisation seule de la mutation.

En 1975, John Holland proposa une première solution [Holland 1975] appelée algorithme génétique. Ses recherches sur les processus d’adaptation des systèmes naturels ont permis la découverte de cette nouvelle technique d’exploration. Les mécanismes de base de ces algorithmes sont très simples mais les raisons pour lesquelles cette méthode fonctionne si bien sont plus complexes et subtiles. Les fondements mathématiques des algorithmes génétiques ont été exposés par Goldberg [Goldberg 1989].

La simplicité de mise en œuvre, l’efficacité et la robustesse sont les caractéristiques les plus attrayantes de l’approche proposée par Holland. La robustesse de cette technique est due à une sélection intelligente des individus les plus proches de la solution du problème.

Nous allons maintenant voir l’algorithmique associée à cette méthode.

A.2. Fonctionnement d’un algorithme génétique Cette section explique le fonctionnement algorithmique d’un algorithme génétique.

Page 131: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

A.2.1. Définitions a) La population : est définie comme un ensemble d’individus.

b) Individu : est constitué d’un ou plusieurs chromosomes.

c) Chromosome : est composé d’un nombre de gènes égale aux variables à optimiser et dont les valeurs sont les allèles.

d) Fitness : est une valeur permettant de mesurer si la valeur de la fonction est proche de la valeur à optimiser. A.2.2. L’algorithme génétique

Un algorithme génétique commence par la création d’une première population d’individus générés aléatoirement. Ensuite l’algorithme va passer d’une génération à une autre en appliquant les mécanismes d’évaluation, sélection et modification jusqu’à l’obtention d’un critère d’arrêt.

Meilleurs résultats (Front de Pareto)

Figure A.1 : Principe de fonctionnement d’un Algorithme génétique [ Drdi 2005]

Population initiale de génération t = 0

t = t + 1

Evaluation de la fitness de chaque individu

Sélection des individus

Opérateurs de croisement et mutation

Création de la nouvelle population P(t)Critère d’arrêt

Nombre de génération

Fin

Début

Page 132: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Nous voyons en haut du schéma la représentation d’une population dite t où t est le numéro de la génération, car il faut préciser que ce schéma se situe au niveau d’une seule itération de l’algorithme, comme nous allons le voir par la suite.

Juste en dessous, nous avons quatre éléments qui représentent ce qu’on nomme les opérateurs génétiques et qui sont le cœur de l’algorithme. Le premier est appelé opérateur de sélection et son rôle est, comme son non l’indique, de sélectionner un nombre S d’individus au sein de la population t.

Les S individus sélectionnés sont ensuite répartis aléatoirement sur les opérateurs de croisement et de mutation, selon des probabilités Pc et Pm. Ces deux opérateurs ont pour but de créer de nouveaux individus mais dans des optiques bien différentes. A la sortie de ces opérateurs, nous obtiendrons un nombre M de nouveaux individus pour la mutation et un nombre C pour le croisement.

Le résultat des opérations de sélection, croisement et mutation est une nouvelle population qui comportera X individus où X = S + C+ M. En général, ce nombre d’individus est égal à celui de la population de départ, ceci dans le but de toujours garder une population de taille constante de génération en génération.

Le dernier opérateur génétique consiste à évaluer la population obtenue de sorte à attribuer à chaque individu une note en fonction de l’adaptabilité de l’individu à son environnement. Autrement dit, il s’agit d’évaluer à quel point la solution que représente un individu est adaptée au problème à résoudre. Notons encore que l’opérateur de sélection se base sur ces évaluations pour sélectionner les individus.

Finalement, il ne reste plus qu’à remplacer la population t par la population t+1 obtenue à la sortie de l’opérateur d’évaluation et de recommencer tout le processus jusqu’à ce qu’une condition de sortie de boucle soit atteinte.

Une remarque sur la population initiale est que cette population est tirée aléatoirement puis évaluée avant d’être introduite dans le processus décrit par le schéma.

A.2.3. L’évaluation

Dans la nature, l’adaptation d’un individu traduit sa capacité de survie son environnement (savoir trouver de la nourriture, échapper aux prédateurs, résister aux maladies, etc.). Cette pression exercée sans cesse sur les espèces provoque, par disparition des plus faibles, une sélection des meilleurs.

Dans le cadre d’un algorithme servant à résoudre un problème, l’adaptation d’un individu va être traduite par une mesure de sa capacité de vie qui est appelée fitness ou fonction de notation. Celle-ci sera définie par l’utilisateur.

Page 133: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

A chaque début de génération, tous les individus sont notés pour permettre aux techniques de sélection de comparer les individus.

L’adoption d’une notation doit être faite avec soin car la convergence de l’algorithme en dépend. La notation ne doit pas être trop sévère car elle risque de privilégier les individus les plus forts et entraîner une convergence rapide qui peut s’avérer par la suite néfaste. Au début d’une simulation, les meilleurs individus sont éloignés de la solution optimale, si l’on favorise trop tôt ces individus, l’algorithme va converger vers une solution non optimale. Il ne faut pas tomber dans l’effet inverse en optant pour une notation trop lâche qui n’exercera pas pression suffisante sur la population. Dans ce cas la convergence sera lente ou n’existera pas.

Plusieurs scénarios sont envisageables pour le choix d’une fonction de natation.

• Une notation fixe • Une notation assez souple dans les premières générations dont la sévérité

augmente au fur et à mesure. • Une notation dépendante du contexte et de l’état de la population (par exemple : à

l’aide de mesure statistiques). Cette notation paraît la plus efficace a priori mais elle est bien difficile à mettre en place car le paramétrage dépend essentiellement du contexte.

• Une intervention du décideur qui modifie la notation au cours du temps. A.2.4. La Sélection

La sélection conditionne la capacité d’un individu à se reproduire. Elle décide également de la survie ou de la disparition de certains individus. Elle crée une population intermédiaire constituée de copies des individus de la population courante.

Il existe de multiples heuristiques de sélection. Nous allons voir les plus connues, la roulette wheel selection , le reste stochastique, les tournois et la sélection par rang. A.2.5.1. Roulette wheel selection

Le principe de la roulette wheel selection consiste à associer à chaque individu x une valeur proportionnelle à sa fitness. Ainsi le nombre de copies espérées pour un individu x dépend du rapport entre sa fitness f(x) et la fitness moyenne fmoyenne de l’ensemble des individus de la population. Donc un individu dont la note est relativement élevée par rapport à la moyenne aura plus de chance d’être sélectionné donc de transmettre ses caractères génétiques. Par contre un individu de fitness relativement faible aura un petit nombre de copies.

Page 134: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

A.2.5.2. La méthode du reste stochastique ( Stochastic remainder)

Cette méthode est utilisée à la place de la roulette wheel selection notamment sur des populations de petite taille. Le nombre de copies espérées d’un individu x est égal à la partie entière du rapport entre sa fitness f(x) et la fitness moyenne fmoyenne. Cet algorithme comprend les étapes suivantes pour chaque individu i :

• Calcul du rapport de la fitness de l’individu i par la fitness moyenne de tous les individus.

• On prend ensuite la partie entière de ce rapport.

• Ce chiffre définit le nombre de fois que l’individu i sera inclus dans la nouvelle population.

• Si la population ne contient pas assez d’individus, elle est complétée en utilisant la roulette wheel selection.

A.2.5.3. Le tournoi

Cette technique de sélection s’effectue en deux phases. Tout d’abord on réalise un tirage aléatoire sur l’ensemble de la population des n individu qui vont participer au tournoi. Dans cette première phase tous les individus ont la même chance d’être sélectionnés. Dans une deuxième phase on compare les notes des n individus sélectionnés pour garder le meilleur.

Cette technique de sélection est plus élitiste que les deux précédentes car la probabilité qu’un mauvais individu soit sélectionné est très faible. Mais cet élitisme peut être contrôlé en limitant le nombre de participants au tournoi. Plus ce nombre est élevé plus cette technique est élitiste.

A

B

C

D

Figure A.2 : Schéma de la roulette wheel selection

Page 135: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

A.2.5.4. La sélection par rang

Cette méthode classe les individus par ordre décroissant en fonction de leur note. Ainsi le meilleur individu aura note égale à la taille de la population et le dernier aura une note égale à 1. Ensuite on applique un tirage aléatoire sur la valeur des rangs à l’aide de la roulette wheel selection.

La sélection par rang est souvent couplée avec une fonction de mise à l’échelle qui permet de réduire ou d’augmenter l’influence des meilleurs rangs. A.2.5.5. Sélection uniforme (Uniform selection)

C’est une technique très simple qui consiste à sélectionner un individu aléatoirement de la population P. La probabilité Pi pour qu’un individu soit sélectionné est définie par

poptaille

Pi _1

=

A.2.6. La modification

La modification d’un individu peut s’effectuer de deux manières différentes : par croisement ou par mutation.

Le rôle de ces opérateurs est d’explorer l’espace autour des valeurs présentes dans la population (recherche locale) mais aussi d’explorer les zones inconnues (recherche globale). Ces deux objectifs sont profondément antagonistes, car les individus n’ont pas une fonction spécifique d’exploration mais participent tous à la fois à la recherche d’une solution locale et à la recherche de solutions potentielles éloignées. Un autre antagonisme vient de l’utilisation conjuguée de la sélection et des opérateurs de modification. La sélection joue un rôle centrifuge alors que le croisement et la mutation jouent un rôle centripète. Les avantages de cette capacité centrifuge/centripète sont d’assurer une certaine robustesse à la méthode.

A partir de la population des individus précédemment sélectionnés, les individus sont regroupés par paire. Chaque paire subit l’opérateur de croisement avec une probabilité tcrois appelée taux de croisement. La nouvelle population de taille n ainsi formée contient tcrois+n nouveaux individus. Ensuite chaque individu subit l’opérateur de mutation avec une probabilité tmut appelé taux de mutation. La population après application de la mutation constitue la génération suivante.

Page 136: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

A.2.6.1. Le croisement (Cross-over)

L’opérateur de croisement classique prend en entrée un couple d’individus parents P1 et P2 et renvoie un couple d’individus enfants C1 et C2 obtenus en choisissant aléatoirement un point de croisement (ou éventuellement plusieurs points de croisement pour éviter certains effets de bord du codage) dans les chromosomes et en recopiant dans le fils C1 les gènes de P1 Jusqu’au point de croisement puis en complétant avec les gènes de P2. On effectue l’opération symétrique pour C2 [Barnier et Brisset 1999]. La proportion d’éléments croisés varie généralement entre 30 et 60%. Ci-dessous un exemple de crossing-over simple à 1 point et un autre exemple de crossing-over à 2 points.

Figure A.3 : Exemple de croisement ’’ Crossing-over’’ simple à 1 point

Figure A.4 : Exemple de croisement’’ Crossing-over’’ à 2 points

En général la technique de croisement utilisée est très dépendante du codage de chromosomes car elle doit faire en sorte de produire des enfants génétiquement corrects. A.2.6.2. Mutation

Modification aléatoire d’individus choisis aléatoirement dans la population. La proportion d’éléments mutés est souvent propre à l’application étudiée. Ainsi la mutation lutte contre la dérive génétique.

En pratique il existe de nombreuses manières de muter un chromosome : modification d’un ou plusieurs gène(s), changement de position d’un gène, suppression ou ajout d’un gène,…

Dans le codage binaire, la mutation consiste à changer un bit 1 par le bit 0 et vice versa, avec une probabilité de mutation Pm.

Page 137: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Figure A.5 : Exemple de la mutation de 2 bits aléatoires

A.2.6.3. Probabilité des opérateurs génétiques

Le choix de la probabilité de mutation Pmut et la probabilité du croisement Pcross est un problème d’optimisation non linéaire complexe à résoudre [Man 2000]. En outre, pour les fixer, ces probabilités de mutation et de croisement dépendent de la nature de la fonction objective du problème à résoudre. Man et al [Man 2000] ont cité quelques exemples tels que :

- Pour une population de taille grande = 100

Pmut = 0.001 Pcross = 0.6

- Pour une population de taille petite = 50

Pmut = 0.01 Pcross = 0.9

Mitchell [Mitchell 1996] a, quant à elle, suggéré de fixer Pmut à 0.001 et Pcross à 0.6. Einben et al [Einben 1999] rapportent une formule proposée par plusieurs auteurs pour déterminer la probabilité de mutation. Cette probabilité dépend de la taille du chromosome et est exprimée par l’équation suivante.

*1L

Pmut = où L est taille du chromosome en gènes.

Lorsque la technique de mutation est non uniforme, l’équation (*) ne peut être appliquée. Car cette technique nécessite une mutation sur plusieurs valeurs des gènes. Ainsi, il préférable de choisir une probabilité qui approxime 10/L au lieu de la probabilité 1/L. La probabilité 1/L signifie la mutation maximale d’un gène dans un chromosome de taille L.

Concernant la probabilité de croisement, les recherches n’ont pas pu déterminer la valeur optimale due au fait que la probabilité de croisement s’opère sur une paire de chromosomes contrairement à la probabilité de mutation qui s’opère sur les gènes de chaque chromosome. Les probabilités de croisement les plus couramment utilisées appartiennent à l’intervalle [0.6, 0.95]. Il est préférable de ne pas utiliser un taux trop

Page 138: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

faible [Benahmed 2002]. Eiben et al [Eiben 1999] mentionnent que les valeurs inférieures à 0.6 sont rarement utilisées.

A.2.7. Codage

Plusieurs codes d’information sont utilisés. Les plus fréquemment utilisés sont le code binaire naturel et le code binaire de Gray. Plus récemment le codage ’’réel’’ a fait son apparition. Codage binaire

Ce codage consiste, pour un individu donné, à concaténer toutes ses variables codées en binaire. La chaîne binaire 1000| 0110| 1101, par exemple, correspond à un individu défini par 3 variables (8, 6, 13) en codage binaire naturel sur 4 bits chacune. Ce codage binaire présente plusieurs avantages : alphabet minimum, facilité de mise en place d’opérateurs génétiques et existence de résultats théoriques [Goldberg 1989]. Néanmoins, ce codage présente trois inconvénients majeurs :

• Dans le codage binaire deux nombres très proches ont parfois une distance de Hamming très élevées. Ce phénomène introduit des discontinuités dans l’espace de recherche. La distance de Hamming entre deux séquences de bits (de longueur égale), est le nombre de bits distincts ente ces deux séquences, la comparaison portant sur des bits de même position. Par exemple la distance de Hamming entre 31 (011111) et 32 (100000) est de 6.

• Les performances de l’algorithme sont diminuées lorsque la longueur de la chaîne augmente.

• La dissymétrie entre le 0 (plus fréquent) et le 1. Codage réel

Ce codage consiste simplement à la concaténation des variables xi d’un individu x. Exemple un individu x (25, 31, 8) est codé 25| 31| 8. Ce codage présente des avantages majeurs. Il est plus précis que le codage binaire et l’espace de recherche est le même que l’espace de problème. Il a le mérite d’être simple à utiliser, l’évaluation de la fonction coût est plus rapide. Le codage réel évite de faire le transcodage du binaire naturel ou de Gray vers les réels à chaque évaluation. Néanmoins, il possède deux inconvénients, son alphabet est infini, et il a besoin d’opérateurs appropriés.

Page 139: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

Codage non binaire Il a été introduit par les chercheurs, pour remédier aux inconvénients du codage binaire.

A.3. Elitisme

Lors des croisements et des mutations, il se peut que le meilleur individu, l’élite, soit endommagé de façon irréversible. Ce problème peut également se produire pour certaines méthodes de sélection, comme par exemple la roulette wheel selection ou le tournoi. Le meilleur élément est ainsi perdu et ne sera peut-être jamais reconstruit. Afin d’éviter ce problème, la notion d’élitisme a été introduite. Ce qui nous permettons de marquer le meilleur individu lors de chaque génération, afin de le conserver jusqu’à la génération suivante.

Afin d’améliorer encore l’algorithme, cette notion peut être étendue à plus d’un individu. On calcul le pourcentage du fitness des individus par rapport au fitness de l’élite. Ensuite, les individus ayant un pourcentage supérieur au ’’ pourcentage d’élite’’, feront partie des individus élite. Tous ces individus seront donc sélectionnés pour la génération suivant sans être ni croisés, ni mutés. Ce pourcentage d’élite varie généralement entre 90 et 95%.

A.4. Le Scaling

Les processus de sélection présentés ci-avant, sont très sensibles aux écarts de fitness. Dans certain cas, un individu trop bon, risque d’être reproduit trop souvent et parfois d’éliminer certains individus, qui à terme aurait pu donner également des bons éléments.

Le scaling [Mic 1992] est une mise à l’échelle qui permet de réduire ou d’augmenter artificiellement l’écart de fitness entre les individus, la sélection n’opère plus sur la fitness mais sur ces fitness artificielles. Cette opération permet ainsi, par exemple, au début de favoriser l’exploration et en fin d’algorithme de privilégier la croissance des individus forts.

A.5. Le Sharing

Cet algorithme a pour but de pénaliser la fitness des individus fortement agglomérés, les fitness vont être modifiées avant l’étape de sélection. L’objectif du sharing [Goldberg and Richardson 1987] est de repartir sur chaque sommet de la fonction à optimiser, un nombre d’individus proportionnels à la fitness associée à ce sommet. Le sharing a donc pour but d’éviter le rassemblement de beaucoup d’individu autour d’un même sommet.

Page 140: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

On va donc introduire la notion de distance, cette distance est utilisée pour calculer le nouveau sharing de la manière suivante.

( ) ShareShare

dsiddS σσ

α

<⎟⎟⎠

⎞⎜⎜⎝

⎛−=1

( ) SharedsidS σ≥= 0

σshare délimite le voisinage d’un point.

A.6. Critère d’arrêt de l’algorithme

L’arrêt de l’évolution d’un algorithme génétique est l’une des difficultés majeures car il est souvent difficile de savoir si l’on a trouvé l’optimum.

Actuellement les critères les plus utilisés sont les suivants :

• Arrêt de l’algorithme après un certain nombre de générations.

• Arrêt de l’algorithme lorsque le meilleur individu n’a pas été amélioré depuis un certain nombre de générations.

• Arrêt de l’algorithme lorsqu’il y a perte de diversité génétique.

A.7. Technique de clustering

A.7.1. Définition

Dans certain cas de problèmes multiobjectifs, l’ensemble Pareto-optimal étant trop grand, on utilise alors une technique de clustering pour supprimer un certain nombre de solution. Le but est d’alléger un ensemble de points tout en conservant une représentativité assez élevée [Morse 1980]. Cet élagage est justifié par plusieurs raisons :

• Présenter toutes les décisions aux décideurs est inutile si leur nombre est très important,

• Dans le cas d’une frontière de Pareto continue, garder toutes les solutions n’est pas nécessaire,

• Eviter des temps de calculs importants lorsque l’ensemble de Pareto est relativement grand.

Page 141: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

A.7.2. Algorithme

L’algorithme suivant présente la technique de cluster utilisée pour la réduction d’un ensemble de Pareto-optimal.

/*---- Initialisation : chaque point est considéré comme un cluster ----*/

ensCluster = ;

Pour i∈ ensemble Pareto faire

ensCluster = ensCluster ∪ i ;

Fin Pour

/*---- Regroupement des clusters jusqu’à ce que leur nombre soit < ou = au maximum ----*/

Tant Que | ensCluster| > maxParetoPoint faire

/*---- Sélection des deux clusters les plus proches ----*/

minDistance = ∞ ;

Pour tous les couples x,y de l’ensemble de Pareto faire

Si la distance entre x et y < minDistance alors

cluster 1 = x ;

cluster 2 = y ;

minDistance = distance entre x et y ;

Fin Si

Fin Pour

/*---- Regroupement des deux clusters -----*/

nouveauCluster = cluster1∪ cluster2----*/

ensCluster = ensCluster \ cluster1, cluster2 ;

ensCluster = ensCluster ∪ nouveauCluster ;

Fin Tant Que

/*---- Calcul du centre de chaque cluster----*/

ensPareto = ;

Pour c∈ ensCluster faire

Page 142: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

i = CalcuBarycentreCluster(c) ;

ensPareto = ensPareto ∪ i ;

Fin Pour

Page 143: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

B. Procédure algorithmique et pseudo-code implémentés sous Matlab B.1. Procédure algorithmique f1: fonction coût de production, f1(Vc,f) ; f2: fonction temps de production f2(Vc,f) ; G1, G2, G3, G4 : Contraintes de limitation de production ; G1(Vc,f,ap), G2(Vc,f,ap), G3(Vc,f,ap), G4(Vc,f,ap) ;

Variables : Vc et f Avance par tour Vitesse de coupe Critères imposés : ap :profondeur de passe ; Nombre de génération fixe ;

Données :

Espace de recherche pour les deux fonctions objectif

Vc min ≤ VC ≤ Vc max f min ≤ f ≤ f max Paramètres d’usinage (sous forme d’un tableau) ;

Paramétrage : Choix d’une population initiale (Nombre d’individus) ; Choix de sous population ; Définition des opérateurs génétiques ; Sélection (type de sélection) ; Croisement (type de croisement) ; Mutation (type de mutation) ;

B.2. Pseudo-code de l’algorithme génétique (on crée aléatoirement des individus) Initialiser Aléatoirement (Population_t)

(on évalue ces individus) Opérateur_Evaluation (Population_t)

VC f

Page 144: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

tant que Condition alors on boucle

(on sélectionne des individus en fonction de l’évaluation

et on les marque comme sélectionnés) Opérateur_Sélection (Population_t)

(on répartit les individus entre les opérateurs de croisement et de mutation) pour chaque individu de Population t on boucle

si l’individu courant est sélectionné alors (on garde ainsi les bons individus de Population_t) Ajouter l’individu à Population_t+1

(on suppose ici que Pc et plus grand que Pm) si valeur_aléatoire_entre_0_et_1 <= Pc alors

Nouveau_Individu := Operateur_Croisement(Individu)

sinon

Nouveau_Individu :=operateur_Mutation (Individu)

fin si

Ajouter Nouveau_Individu à Population_t+1

fin si

Le critère d’arrêt est satisfait (Nombre de génération max)

fin boucle

Meilleurs individus (frontière de Pareto optimale)

%************************************************************************** % MultiObjective Problem (constrained): BRAHIM constrained function %************************************************************************** % Author: MERDJAOUI Brahim % ******* 25.01.2006 ****** function ObjVal = mobjbrahimconstr(Chrom, GoalMethod); %*********************************************************************** %---------------- Les paramètres de la population ---------------------- %****************************************************************

Page 145: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

******* [Nind, Nvar] = size(Chrom); if nargin < 1, Chrom = []; end if isnan(Chrom), Chrom = []; end if isempty(Chrom), Chrom = [NaN, NaN, 1]; end GoalMethodDefault = 1; if nargin < 2, GoalMethod = []; end if isnan(GoalMethod), GoalMethod = []; end if isempty(GoalMethod), GoalMethod = GoalMethodDefault; end if ~(any(GoalMethod == [1,2])), GoalMethod = GoalMethodDefault; end FunConstraints = [5000, 500, 1100, 2]; GoalDefault = [Inf, Inf, 0, 0, 0, 0]; if GoalMethod == 2, GoalDefault = [Inf, Inf, FunConstraints]; end %*********************************************************************** %--- Création des paramètres de la fonction objectif F=[f1(Vc),f2(f)]--- %*********************************************************************** if isnan(Chrom(1)), if all([isnan(Chrom(2)), Chrom(3) <= 10]), ObjVal = objfunoptset('FunctionName', 'BRAHIM constrained MO-Function', ... 'VarBoundMin', [80, 0.25], 'VarBoundMax', [200, 0.80], ... 'NumVarDefault', 2, 'NumVarMin', 2, 'NumVarMax', 2, ... 'NumObjDefault', 6, 'NumObjMin', 6, 'NumObjMax', 6, ... 'MObjGoals', GoalDefault); end %*********************************************************************** %------------------- Entrée les fonctions objectifs-------------------- %**************************************************************** else % f1=6.89/(x1*x2) + 48.44*x1.^3*x2.^0.16*5.08.^1.4*193.3.^- 4 + 1.63 % f2= 9.68/(x1*x2) + 48.44*x1.^3*x2.^0.16*5.08.^1.4*193.3.^-4 +0.163

Page 146: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

% espace de recherche / contraintes: % 30 < x1 < 200 ; 0.254 < x2 < 0.762 % avec les contraintes suivantes: % g1: 0.0373*x1.^0.91*x2.^0.78 * 5.08.^0.75 <= 5000 % g2: 74.96*x1.^0.4*x2.^0.2 * 5.08.^0.105 - 17.8 <= 500 % g3: 844*x1.^-0.1013*x2.^0.725 * 5.08.^0.75 <= 1100 % g4: 14.785*x1.^-1.52*x2.^1.004*5.08^0.25 <= 2 % Preset the objective values, 1 and 2 for the objectives, 3, 4, 5 and 6 for the constraints ObjVal = repmat(Inf, [Nind, 6]); % Définition des deux paramètres (Vc = x1:la vitesse de coupe et f = x2:avance par tour) x1 = Chrom(:,1); x2 = Chrom(:,2); %**************************************************************** % -------------fonction objectif (temps de production)----- %******************************************************************** ObjVal(:,1) = (96.89./(x1.*x2)) + 48.44*x1.^3.*x2.^0.16 * 0.5.^1.4 * 193.3.^-4 + 1.5; %ObjVal(:,1) = (94.20./(x1.*x2)) + 47.10*x1.^3.*x2.^0.16 * 0.50.^1.4 * 193.3.^-4 + 1.50; %**************************************************************** % --------------fonction objectif (coût de production)----- %**************************************************************** ObjVal(:,2) = (9.68./(x1.*x2)) + 48.44*x1.^3.*x2.^0.16 * 0.5.^1.4 * 193.3^-4 + 0.25; %ObjVal(:,2) = (9.42./(x1.*x2)) + 47.10*x1.^3.*x2.^0.16 * 0.50.^1.4 * 193.3^-4 + 0.25; %**************************************************************** % ---------Défintion des contraints agit sur objectives --- %**************************************************************** % Limitations sur la puissance maximale admise par la machine-outil G1 = 0.0373*x1.^0.91.*x2.^0.78 * 0.5.^0.75; % - 5000; % Limitation sur la température de coupe G2 = 74.96*x1.^0.4.*x2.^0.2 * 0.5.^0.105 - 17.8; % - 500; % Limitations sur l'effort de coupe

Page 147: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

G3 = 844*x1.^-0.1013.*x2.^0.725 * 0.5.^0.75; % - 1100; % Limitations sur l'état de surface G4 = 14.785*x1.^-1.52.*x2.^1.004 * 0.5.^0.25; % - 2; GAll = [G1 G2 G3 G4]; % Création de la matrice contrainte de violation BAll = repmat(FunConstraints, [Nind, 1]); % je rend l'intervalle des contraintes égale à zéro pour éviter % l'infleunce des ces dérnieres sur les deux objectif % [Inf, Inf, 0, 0, 0, 0] if GoalMethod == 1, ObjVal(:,[3, 4, 5, 6]) = (GAll <= BAll) .* 0 + (GAll > BAll) .* GAll; % ou cette possibilité else ObjVal(:,[3, 4, 5, 6]) = GAll; % [Inf, Inf, 5000, 500, 1100, 2] end end % fin de la fonction % DEMO test optimisation multi-objectif % function [xnew, GeaOpt] = demomop(OptVariant, FunVariant) if nargin < 1, OptVariant = []; end if isnan(OptVariant), OptVariant = []; end if nargin < 2, FunVariant = []; end if isnan(FunVariant), FunVariant = ''; end if isempty(OptVariant), OptVariant = 1; end if ~(any(OptVariant == (1:3))), OptVariant = 1; end if OptVariant == 1, GeaOpt = tbx3real; % mutatition, croisement, GeaOpt = geaoptset( GeaOpt ... , 'NumberSubpopulation', 5 ... % Nombre de sous population , 'NumberIndividuals', [10, 10, 10, 10, 10] ... % Nombre de sous population ); elseif OptVariant == 2, GeaOpt = tbx3real; % mutation, croisement, % Définition des paramètres de l'algorithme GeaOpt = geaoptset( GeaOpt ... , 'NumberSubpopulation', 1 ...

Page 148: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

% Nombre de sous pop , 'NumberIndividuals', [50] ... % Nombre d'individus , 'Mutation.Range', [1e-2] ... % Taux de mutation 0.01 , 'Mutation.Precision', [24] ... % Pricésion ); elseif OptVariant == 3, GeaOpt = tbx3es1; end % définition des fonction objectif % nom de la fonobjct, nombres variables, nombre des oobjectifs, goals ObjFunStrings = 'mobjbrahimconstr', 2, 6, geaobjpara('mobjbrahimconstr', [16]) ... ; if isempty(FunVariant), ObjFunNames = ; for iname = 1:size(ObjFunStrings,1), CurObjFunName = geaobjpara(ObjFunStringsiname,1, [2, ObjFunStringsiname,2]); if isnan(ObjFunStringsiname,4), CurGoals = ''; else CurGoals = sprintf(', goals: %s', prprintf(ObjFunStringsiname,4)); end ObjFunNames = [ObjFunNames; sprintf(' %s (%s, %3d var%s)', CurObjFunName, ... ObjFunStringsiname,1, ObjFunStringsiname,2, CurGoals)]; end HeaderFunString = 'Cliquer sur entrée' FunVariant = menutext(HeaderFunString, ObjFunNames); end; objfun = ObjFunStringsFunVariant,1; VLUB = geaobjpara(objfun, [1 ObjFunStringsFunVariant,2]); GeaOpt = geaoptset( GeaOpt , 'Selection.RankingMultiobj', 15 ... , 'System.ObjFunGoals', ObjFunStringsFunVariant,4 ... ); GeaOpt = geaoptset( GeaOpt, tbx3output ... , 'Output.TextInterval', 5 ... % affichage des générations , 'Output.GrafikInterval', 10 ... ... ... );

Page 149: Optimisation multi-objectif par algorithmes génétiques …dlibrary.univ-boumerdes.dz:8080/bitstream/123456789/1982/1... · d’effectuer ce travail de magister dans un domaine qui

GeaOpt = geaoptset( GeaOpt ... , 'Termination.Method', [1 ] ... % fin après max gén et temps max , 'Termination.MaxGenerations', 50 ... % fin de gén après xx gén ); PopInit = []; [xnew, GeaOpt] = geamain2(objfun, GeaOpt, VLUB, PopInit); ObjV = feval(objfun, xnew); RankOpt = [GeaOpt.Selection.Pressure; GeaOpt.Selection.RankingMethod; GeaOpt.Selection.RankingMultiobj]'; [FitnV, RankMOV] = ranking(ObjV, RankOpt, 1, GeaOpt.System.ObjFunGoals); % la frontière de Pareto "best" meilleurs individus plotmop(xnew, ObjV, RankMOV,'Best individuals at end of optimization' );

% Fin