tp sur moeo optimisation multi objectif pour l ordonnancement flow shop bi crit re n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
TP sur MOEO (Optimisation Multi-Objectif) pour l’ordonnancement flow-shop bi-critère PowerPoint Presentation
Download Presentation
TP sur MOEO (Optimisation Multi-Objectif) pour l’ordonnancement flow-shop bi-critère

Loading in 2 Seconds...

play fullscreen
1 / 36

TP sur MOEO (Optimisation Multi-Objectif) pour l’ordonnancement flow-shop bi-critère - PowerPoint PPT Presentation


  • 153 Views
  • Uploaded on

Laboratoire d’Informatique Fondamentale de Lille. Parallel Cooperative Optimization Research Group. TP sur MOEO (Optimisation Multi-Objectif) pour l’ordonnancement flow-shop bi-critère. M 1. M 2. M 3. Cmax. Le flow-shop multi-objectif. N jobs à ordonnancer sur M machines

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'TP sur MOEO (Optimisation Multi-Objectif) pour l’ordonnancement flow-shop bi-critère' - tangia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
tp sur moeo optimisation multi objectif pour l ordonnancement flow shop bi crit re

Laboratoire d’InformatiqueFondamentale de Lille

Parallel Cooperative

Optimization Research

Group

TP sur MOEO (Optimisation Multi-Objectif) pour l’ordonnancement flow-shop bi-critère

le flow shop multi objectif

M1

M2

M3

Cmax

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

_

T

la dominance pareto

Cmax

Solution Pareto

Solution dominée

T

La dominance Pareto
  • But :Trouver un ensemble Pareto de bonne qualité en termes de convergence et de diversité
repr sentation des individus

M1

M2

M3

Représentation des individus
  • Séquencement des jobs sur une machine
op rateur de croisement

Point 1

Point 2

Parent 1

Parent 2

Enfant

Opérateur de croisement
  • Croisement 2 points
op rateur de mutation 1

Point 1

Point 2

Opérateur de mutation (1)
  • Permutation de 2 points (Shift)
op rateur de mutation 2
Opérateur de mutation (2)
  • Échange de 2 points (Exchange)
m thodes de s lection
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
Méthode basée sur le rang Pareto
  • F(x) = nombre de solutions qui dominent la solution x
nsga et nsga ii
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
slide11
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
impl mentation d un ae 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
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 objectif1
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
É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
É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
É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
Tester
  • make
  • ./FlowShopEA -B=benchmarks/020_05_01.txt
  • Renommer le fichierFlowShopEA.statusenFlowShopEA.param
  • Éditer les paramètres

(ne pas oublier de supprimer les « # »)

  • ./FlowShopEA @FlowShopEA.param
impl mentation d un ae multi objectif2
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
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
Archive PO* (2)
  • Calcul de métriques pour l’évaluation des performances:
    • Contribution (Res/Contribution.txt)
    • Entropie (Res/Entropie.txt)
archive po 3
Archive PO* (3)
  • Élitisme

// 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
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 ()
guimoo

GUIMOO

a Graphical User Interface for Multi Objective Optimization

objectifs
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
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
Les écrans (2)

La liste des fronts Pareto :

Sélection de 1 ou plusieurs

fronts (touche CTRL

maintenue)

les crans 3
Les écrans (3)

Le contenu des

fichiers

les m triques
Les métriques

Mise à disposition de

différents types de

métriques

g n ration de rapports
Génération de rapports

Les formats

d’exportation

manipulations1
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