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:
liefooga 2007-04-12 08:28:23 +00:00
commit 70eeddcfd9

View file

@ -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_*/