update doc and sort files
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@212 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
db21384417
commit
70eeddcfd9
1 changed files with 23 additions and 13 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
|
// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// make_algo_moeo.h
|
// make_ea_moeo.h
|
||||||
// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
|
// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
|
||||||
/*
|
/*
|
||||||
This library...
|
This library...
|
||||||
|
|
@ -10,8 +10,8 @@
|
||||||
*/
|
*/
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
#ifndef MAKE_ALGO_MOEO_H_
|
#ifndef MAKE_EA_MOEO_H_
|
||||||
#define MAKE_ALGO_MOEO_H_
|
#define MAKE_EA_MOEO_H_
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <eoContinue.h>
|
#include <eoContinue.h>
|
||||||
|
|
@ -42,10 +42,16 @@
|
||||||
#include <metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h>
|
#include <metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ...
|
* This functions allows to build a moeoEA from the parser
|
||||||
|
* @param _parser the parser
|
||||||
|
* @param _state to store allocated objects
|
||||||
|
* @param _eval the funtions evaluator
|
||||||
|
* @param _continue the stopping crietria
|
||||||
|
* @param _op the variation operators
|
||||||
|
* @param _archive the archive of non-dominated solutions
|
||||||
*/
|
*/
|
||||||
template < class MOEOT >
|
template < class MOEOT >
|
||||||
moeoEA < MOEOT > & do_make_algo_moeo(eoParser & _parser, eoState & _state, eoEvalFunc < MOEOT > & _eval, eoContinue < MOEOT > & _continue, eoGenOp < MOEOT > & _op, moeoArchive < MOEOT > & _archive)
|
moeoEA < MOEOT > & do_make_ea_moeo(eoParser & _parser, eoState & _state, eoEvalFunc < MOEOT > & _eval, eoContinue < MOEOT > & _continue, eoGenOp < MOEOT > & _op, moeoArchive < MOEOT > & _archive)
|
||||||
{
|
{
|
||||||
|
|
||||||
/* the objective vector type */
|
/* the objective vector type */
|
||||||
|
|
@ -54,17 +60,21 @@ moeoEA < MOEOT > & do_make_algo_moeo(eoParser & _parser, eoState & _state, eoEva
|
||||||
|
|
||||||
/* the fitness assignment strategy */
|
/* the fitness assignment strategy */
|
||||||
string & fitnessParam = _parser.createParam(string("FastNonDominatedSorting"), "fitness",
|
string & fitnessParam = _parser.createParam(string("FastNonDominatedSorting"), "fitness",
|
||||||
"Fitness assignment strategy parameter: FastNonDominatedSorting, IndicatorBased, ReferencePointIndicatorBased ...", 'F',
|
"Fitness assignment scheme: Dummy, FastNonDominatedSorting or IndicatorBased", 'F',
|
||||||
"Evolution Engine").value();
|
"Evolution Engine").value();
|
||||||
string & indicatorParam = _parser.createParam(string("Epsilon"), "indicator",
|
string & indicatorParam = _parser.createParam(string("Epsilon"), "indicator",
|
||||||
"Binary indicator to use with the IndicatorBased assignment: Epsilon, Hypervolume", 'i',
|
"Binary indicator for IndicatorBased: Epsilon, Hypervolume", 'i',
|
||||||
"Evolution Engine").value();
|
"Evolution Engine").value();
|
||||||
double rho = _parser.createParam(1.1, "rho", "reference point for the hypervolume indicator", 'r',
|
double rho = _parser.createParam(1.1, "rho", "reference point for the hypervolume indicator", 'r',
|
||||||
"Evolution Engine").value();
|
"Evolution Engine").value();
|
||||||
double kappa = _parser.createParam(0.05, "kappa", "Scaling factor kappa for IndicatorBased", 'k',
|
double kappa = _parser.createParam(0.05, "kappa", "Scaling factor kappa for IndicatorBased", 'k',
|
||||||
"Evolution Engine").value();
|
"Evolution Engine").value();
|
||||||
moeoFitnessAssignment < MOEOT > * fitnessAssignment;
|
moeoFitnessAssignment < MOEOT > * fitnessAssignment;
|
||||||
if (fitnessParam == string("FastNonDominatedSorting"))
|
if (fitnessParam == string("Dummy"))
|
||||||
|
{
|
||||||
|
fitnessAssignment = new moeoDummyFitnessAssignment < MOEOT> ();
|
||||||
|
}
|
||||||
|
else if (fitnessParam == string("FastNonDominatedSorting"))
|
||||||
{
|
{
|
||||||
fitnessAssignment = new moeoFastNonDominatedSortingFitnessAssignment < MOEOT> ();
|
fitnessAssignment = new moeoFastNonDominatedSortingFitnessAssignment < MOEOT> ();
|
||||||
}
|
}
|
||||||
|
|
@ -97,7 +107,7 @@ moeoEA < MOEOT > & do_make_algo_moeo(eoParser & _parser, eoState & _state, eoEva
|
||||||
|
|
||||||
/* the diversity assignment strategy */
|
/* the diversity assignment strategy */
|
||||||
string & diversityParam = _parser.createParam(string("Dummy"), "diversity",
|
string & diversityParam = _parser.createParam(string("Dummy"), "diversity",
|
||||||
"Diversity assignment strategy parameter: Dummy, Crowding, ...", 'D', "Evolution Engine").value();
|
"Diversity assignment scheme: Dummy or Crowding", 'D', "Evolution Engine").value();
|
||||||
moeoDiversityAssignment < MOEOT > * diversityAssignment;
|
moeoDiversityAssignment < MOEOT > * diversityAssignment;
|
||||||
if (diversityParam == string("Crowding"))
|
if (diversityParam == string("Crowding"))
|
||||||
{
|
{
|
||||||
|
|
@ -117,7 +127,7 @@ moeoEA < MOEOT > & do_make_algo_moeo(eoParser & _parser, eoState & _state, eoEva
|
||||||
|
|
||||||
/* the comparator strategy */
|
/* the comparator strategy */
|
||||||
string & comparatorParam = _parser.createParam(string("FitnessThenDiversity"), "comparator",
|
string & comparatorParam = _parser.createParam(string("FitnessThenDiversity"), "comparator",
|
||||||
"Comparator strategy parameter: FitnessThenDiversity or DiversityThenFitness", 'C', "Evolution Engine").value();
|
"Comparator scheme: FitnessThenDiversity or DiversityThenFitness", 'C', "Evolution Engine").value();
|
||||||
moeoComparator < MOEOT > * comparator;
|
moeoComparator < MOEOT > * comparator;
|
||||||
if (comparatorParam == string("FitnessThenDiversity"))
|
if (comparatorParam == string("FitnessThenDiversity"))
|
||||||
{
|
{
|
||||||
|
|
@ -137,7 +147,7 @@ moeoEA < MOEOT > & do_make_algo_moeo(eoParser & _parser, eoState & _state, eoEva
|
||||||
|
|
||||||
/* the selection strategy */
|
/* the selection strategy */
|
||||||
eoValueParam < eoParamParamType > & selectionParam = _parser.createParam(eoParamParamType("DetTour(2)"), "selection",
|
eoValueParam < eoParamParamType > & selectionParam = _parser.createParam(eoParamParamType("DetTour(2)"), "selection",
|
||||||
"Selection strategy parameter: DetTour(T), StochTour(t) or Random", 'S', "Evolution Engine");
|
"Selection scheme: DetTour(T), StochTour(t) or Random", 'S', "Evolution Engine");
|
||||||
eoParamParamType & ppSelect = selectionParam.value();
|
eoParamParamType & ppSelect = selectionParam.value();
|
||||||
moeoSelectOne < MOEOT > * select;
|
moeoSelectOne < MOEOT > * select;
|
||||||
if (ppSelect.first == string("DetTour"))
|
if (ppSelect.first == string("DetTour"))
|
||||||
|
|
@ -191,7 +201,7 @@ moeoEA < MOEOT > & do_make_algo_moeo(eoParser & _parser, eoState & _state, eoEva
|
||||||
|
|
||||||
/* the replacement strategy */
|
/* the replacement strategy */
|
||||||
string & replacementParam = _parser.createParam(string("Elitist"), "replacement",
|
string & replacementParam = _parser.createParam(string("Elitist"), "replacement",
|
||||||
"Replacement strategy parameter: Elitist, Environmental or Generational", 'R', "Evolution Engine").value();
|
"Replacement scheme: Elitist, Environmental or Generational", 'R', "Evolution Engine").value();
|
||||||
moeoReplacement < MOEOT > * replace;
|
moeoReplacement < MOEOT > * replace;
|
||||||
if (replacementParam == string("Elitist"))
|
if (replacementParam == string("Elitist"))
|
||||||
{
|
{
|
||||||
|
|
@ -228,4 +238,4 @@ moeoEA < MOEOT > & do_make_algo_moeo(eoParser & _parser, eoState & _state, eoEva
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /*MAKE_ALGO_MOEO_H_*/
|
#endif /*MAKE_EA_MOEO_H_*/
|
||||||
Loading…
Add table
Add a link
Reference in a new issue