La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

TP sur MOEO (Optimisation Multi- Objectif) pour lordonnancement flow-shop bi-critère Parallel Cooperative Optimization Research Group Laboratoire dInformatique.

Présentations similaires


Présentation au sujet: "TP sur MOEO (Optimisation Multi- Objectif) pour lordonnancement flow-shop bi-critère Parallel Cooperative Optimization Research Group Laboratoire dInformatique."— Transcription de la présentation:

1 TP sur MOEO (Optimisation Multi- Objectif) pour lordonnancement flow-shop bi-critère Parallel Cooperative Optimization Research Group Laboratoire dInformatique Fondamentale de Lille

2 Le flow-shop multi-objectif N jobs à ordonnancer sur M machines Flow-shop de permutation Critères à optimiser (minimiser) : Cmax = Date de fin de l'ordonnancement T = Somme des retards M1M1 M2M2 M3M3 Cmax _T_T

3 La dominance Pareto But : Trouver un ensemble Pareto de bonne qualité en termes de convergence et de diversité Solution Pareto Solution dominée T Cmax

4 Représentation des individus Séquencement des jobs sur une machine M1M1 M2M2 M3M3

5 Opérateur de croisement Croisement 2 points Point 1Point 2 Enfant Parent 1 Parent 2

6 Opérateur de mutation (1) Permutation de 2 points (Shift) Point 1 Point 2

7 Opérateur de mutation (2) Échange de 2 points (Exchange)

8 Méthodes de sélection Quantifier la qualité des solutions Méthodes de sélection multi-objectif implémentées dans MOEO: Méthode basée sur le rang Pareto NSGA et NSGA-II IBEA

9 Méthode basée sur le rang Pareto F(x) = nombre de solutions qui dominent la solution x

10 NSGA et NSGA-II Non-dominated Sorting Genetic Algorithm Solutions classées selon différents fronts Front 1 : solutions non-dominées Front 2 : solutions dominées par au moins une solution du front 1 …

11 IBEA Indicator-Based Evolutionary Algorithm Méthode basée sur un indicateur de qualité I F(x) : calculée à partir des valeurs de I({x},{y}) Indicateurs implémentés : Indicateur epsilon Indicateur HD

12 Indicateur epsilon I (A,B) ε+ε+ I (B,A) ε+ε+

13 Méthode de sélection multi- objectif

14 Implémentation dun AE multi-objectif eoEvalFuncCounter eval; /* évaluation des objectifs */ eoInit init; /* solutions initiales aléatoires */ eoGenOp op; /* opérateurs de variation */ eoPop pop; /* population */ eoArchive arch; /* archive PO* */ eoContinue term; /* critère d'arrêt */ eoCheckPoint checkpoint; /* chaque génération (eval, term)/ eoAlgo algo; /* définition de l'algorithme */ algo(pop); /* application de l'algo à la pop */

15 Pour commencer... cd ~/TP_MOEO/flow-shop/ Fichier principal : FlowShopEA.cpp *.h : fichiers des composants benchmarks/* : jeux de données

16 Implémentation dun AE multi-objectif eoEvalFuncCounter eval; /* évaluation des objectifs */ eoInit init; /* solutions initiales aléatoires */ eoGenOp op; /* opérateurs de variation */ eoPop pop; /* population */ eoArchive arch; /* archive PO* */ eoContinue term; /* critère d'arrêt */ eoCheckPoint checkpoint; /* chaque génération (eval, term)/ eoAlgo algo; /* définition de l'algorithme */ algo(pop); /* application de l'algo à la pop */

17 Évaluation des objectifs Performances d'une solution : FlowShopFitness.h : typedef eoParetoFitness FlowShopFitness; eoParetoFitness : Vecteur (1 dimension 1 objectif) eoVariableParetoTraits : classe statique qui permet de définir les paramètres liés aux objectifs Nombre d'objectifs Minimisation / Maximisation

18 Évaluation des objectifs (2) Fonctions d'évaluation FlowShopEval.h : dans le constructeur : // nombre d'objectifs unsigned nObjs = 2; // minimiser les 2 objectifs vector bObjs(nObjs, false); // positionner les variables eoVariableParetoTraits::setUp (nObjs, bObjs);

19 Évaluation des objectifs (3) Fonctions d'évaluation FlowShopEval.h : operator(_eo) : // créer un objet de type FlowShopFitness FlowShopFitness fitness; // calcul des valeurs pour les 2 objectifs fitness[0] = tardiness(_eo); fitness[1] = makespan(_eo); // mise à jour des performances _eo.fitness(fitness);

20 Tester make./FlowShopEA -B=benchmarks/020_05_01.txt Renommer le fichier FlowShopEA.status en FlowShopEA.param Éditer les paramètres (ne pas oublier de supprimer les « #

21 Implémentation dun AE multi-objectif eoEvalFuncCounter eval; /* évaluation des objectifs */ eoInit init; /* solutions initiales aléatoires */ eoGenOp op; /* opérateurs de variation */ eoPop pop; /* population */ eoArchive arch; /* archive PO* */ eoContinue term; /* critère d'arrêt */ eoCheckPoint checkpoint; /* chaque génération (eval, term)/ eoAlgo algo; /* définition de l'algorithme */ algo(pop); /* application de l'algo à la pop */

22 Archive PO* Mise à jour des solutions non-dominées à chaque génération // créer eoArchiveUpdater updater(arch); // ajouter checkpoint.add(updater); Sauvegarde des solutions non-dominées à chaque génération // créer eoArchiveFitSavingUpdater save_updater('Res/Ar',arch,1); // ajouter checkpoint.add(save_updater);

23 Archive PO* (2) Calcul de métriques pour lévaluation des performances: Contribution (Res/Contribution.txt) Entropie (Res/Entropie.txt)

24 Archive PO* (3) Élitisme // créer le mode de sélection (random, roulette,...) eoRandomSelect select; // ajouter eoSelectNumberFromPopAndArch elitism(eoPerf2Worth, select, arch, S_RATE, S_SIZE); S_RATE = probabilité de sélection pour l'archive S_SIZE = nombre d'enfants à générer Sharing eoParetoSharing sharing(NICHE_SIZE, DISTANCE); NICHE_SIZE = taille de la niche DISTANCE = distance euclidienne

25 Manipulations But : Sauvegarder les fronts Pareto obtenus par NSGA-II et IBEA sur le jeu de données 020_05_01 pour des paramètres identiques Étapes : Compiler le projet () Éditer le fichier de paramètres pour NSGA-II () Exécuter et sauvegarder le front obtenu () Modifier le fichier de paramètres pour IBEA () Ré-exécuter et sauvegarder le front obtenu ()

26 Comment évaluer ces résultats ?

27 GUIMOO a Graphical User Interface for Multi Objective Optimization

28 Objectifs Proposer un outil graphique de manipulation de fichiers résultats d'optimisation multi-objectif Visualisation des fronts Calcul de métriques permettant de comparer la qualité des fronts obtenus Logiciels GPL

29 Les écrans (1) : L'écran principal Ajouter un front Pareto au projet Visualiser les fronts Titre du projet Les objectifs avec indication du type d'optimisation (min/ max)

30 Les écrans (2) La liste des fronts Pareto : Sélection de 1 ou plusieurs fronts (touche CTRL maintenue)

31 Les écrans (3) Le contenu des fichiers

32 Les métriques Mise à disposition de différents types de métriques

33 Génération de rapports Les formats dexportation

34 Exemple de visualisation 2D

35 Exemple de visualisation 3D

36 Manipulations But : Comparer des résultats des différentes exécutions Étapes : Créer votre projet Nom Objectifs Ajouter les 2 fronts Pareto obtenus grâce à MOEO sur le flow-shop Visualiser les fronts en 2D Calculer les métriques Contribution et S-métrique


Télécharger ppt "TP sur MOEO (Optimisation Multi- Objectif) pour lordonnancement flow-shop bi-critère Parallel Cooperative Optimization Research Group Laboratoire dInformatique."

Présentations similaires


Annonces Google