Parallel Cooperative Optimization Research Group

Slides:



Advertisements
Présentations similaires
Soutenance du stage de DEA.
Advertisements

Placement de Motifs Architecture Application Contraintes: - Charge
Arnaud Thiry Julien Mellano INSA de Rouen - GM4
Cours n° 7 Standard Template Library II.
Master Professionnelle Sciences et Techniques 2 juillet
1 IXERP consulting. L archivage consiste à extraire de la base de données opérationnelle les informations qu' il n est plus nécessaire de conserver «
Co-directeurs : Alexandre DOLGUI et Farouk YALAOUI
Spécification et qualité du logiciel
ANNEXES 1.AG implémentation avancéeAG implémentation avancée 2.Optimisation des hyper-paramètres de contrôleOptimisation des hyper-paramètres de contrôle.
Chapitre I : Systèmes d’exploitation
Cours n° 8 Conception et Programmation à Objets
1 UMLV 1. Introduction 2. Hachage ouvert 3. Hachage fermé 4. Implémentation des fonctions Méthodes de hachage.
Colloque AIP-PRIMECA La Plagne, Avril 2007
F. Pascual - Laboratoire d’Informatique de Grenoble
PROCEDURE TYPE DE DEFINITION DES MODALITES
! ! ! PROCEDURE TYPE POUR ORGANISER L ’ANONYMAT
! 1 CREATION D'UNE MAQUETTE EXPORT / IMPORT
Connaissances Logiciel de géométrie dynamique Epreuve Expérimentale Série S 2007/08.
Application aux NK-landscape...
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Jean-Laurent Hippolyte
Résolution d'un problème industriel de job shop flexible bicritère Geoffrey VILCOT, Jean-Charles BILLAUT, Carl ESSWEIN {geoffrey.vilcot ; jean.billaut.
Matthieu Basseur Franck Seynhaeve El-Ghazali Talbi
El-Djillali TALBI Doctorant systèmes industriels
Plan 1. Problème étudié : Job Shop 1.1. Données et contraintes
Projet 4info.
Systèmes d’exploitation
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
BIO1130 LAB 4 MICROÉVOLUTION.
OMNIDIA 5.3. OMNIDIA 5.3 OMNIDIA 5.3 OMNIDIA 5.3.
GPA750 – Ordonnancement des systèmes de production aéronautique
Application des algorithmes génétiques
5. Algorithme à estimation de distribution
Algorithmique et Programmation
Algorithmes Branch & Bound
Commande par algorithme génétique
Mathieu De Craene Défense publique – 24 octobre 2005 Jury
GPA750 – Ordonnancement des systèmes de production aéronautique
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
FICHIERS : Définition : Algorithme général:
Structures de données IFT Abder Alikacem La classe vector Édition Septembre 2009 Département dinformatique et de génie logiciel.
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
AFFECTATION D'UN ETUDIANT EDITION DES CONVENTIONS
GPA750 Les ateliers multigammes Chapitre 5
Performance des algorithmes à véracité garantie pour l'ordonnancement de tâches individualistes F. Pascual - LIG En collaboration avec : G. Christodoulou,
Standard Template Library
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
AIP PRIMECA des Pays de La Loire – 9 novembre 2006
Fanny Pascual - Laboratoire d’Informatique de Grenoble (LIG)
République Algérienne Démocratique et Populaire Ministère de l'enseignement supérieur et de herche scientifique Université de Ferhat Abbas -Sétif - Département.
Optimisation par les algorithmes génétiques
Algorithmes Branch & Bound
Programmation créative – Les vecteurs
Le langage Racket (Lisp)
Travaux Pratiques Optimisation Combinatoire
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Simulation du rôle de la communication dans l’établissement d’un réseau de liens sociaux Projet GPL :
Optimisation pour la Conception de Systèmes Embarqués
Algorithmes génétiques en optimisation combinatoire
Implémentation d’un opérateur de répartition de sources lumineuses
Peuplement d’une ville virtuelle S.ESTIENNE PRE001v1.01 Exemple d’utilisation du GA 1. Initialement une population est choisie au hasard. 2. Chaque individu.
Système SYGOR Pro « La gestion de production ou de réparation »
Présentation de Qt Iris 1
Évolution de second ordre dans un algorithme évolutionnaire V. Lefort
Problème du Car Sequencing
ALGORITHME DE VOLÉES Programmation créatives Les volées, le spawning et les collisions.
Ordonnancement en présence d’agents individualistes
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Transcription de la présentation:

Parallel Cooperative Optimization Research Group TP sur MOEO (Optimisation Multi-Objectif) pour l’ordonnancement flow-shop bi-critère Laboratoire d’Informatique Fondamentale de Lille

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 M1 M2 M3 Cmax _ T

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

Représentation des individus Séquencement des jobs sur une machine M1 M2 M3

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

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

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

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

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

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 …

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

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

Méthode de sélection multi-objectif

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

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

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

Évaluation des objectifs Performances d'une solution : FlowShopFitness.h : typedef eoParetoFitness<eoVariableParetoTraits> 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

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

É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);

Tester make Renommer le fichier FlowShopEA.status en FlowShopEA.param ./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 « # ») ./FlowShopEA @FlowShopEA.param

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

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

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

Archive PO* (3) Élitisme Sharing // créer le mode de sélection (random, roulette, ...) eoRandomSelect<FlowShop> select; // ajouter eoSelectNumberFromPopAndArch<FlowShop> 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<FlowShop> sharing(NICHE_SIZE, DISTANCE); NICHE_SIZE = taille de la niche DISTANCE = distance euclidienne

Manipulations But : Étapes : 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 ()

Comment évaluer ces résultats ?

a Graphical User Interface for Multi Objective Optimization GUIMOO a Graphical User Interface for Multi Objective Optimization

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 http://guimoo.gforge.inria.fr/

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)

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

Les écrans (3) Le contenu des fichiers

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

Génération de rapports Les formats d’exportation

Exemple de visualisation 2D

Exemple de visualisation 3D

Manipulations But : Étapes : 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