diff --git a/trunk/paradiseo-moeo/docs/html/README-source.html b/trunk/paradiseo-moeo/docs/html/README-source.html new file mode 100644 index 000000000..c68183072 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/README-source.html @@ -0,0 +1,30 @@ + + +ParadisEO-MOEO: README Source File + + + + +
+
+

README

00001 All the files contained in src/old/ will be fully rebuilt in the next version of ParadisEO-MOEO. 
+00002 For more informations, please contact paradiseo-help@lists.gforge.inria.fr.
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/annotated.html b/trunk/paradiseo-moeo/docs/html/annotated.html new file mode 100644 index 000000000..65dc0e43c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/annotated.html @@ -0,0 +1,73 @@ + + +ParadisEO-MOEO: Class List + + + + +
+
+
+
+

ParadisEO-MOEO Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoAdditiveBinaryEpsilonIndicator< EOFitness >Functor Additive binary epsilon indicator for eoParetoFitness
moeoArchive< EOT >An archive is a secondary population that stores non-dominated solutions
moeoArchiveFitnessSavingUpdater< EOT >This class allows to save the fitnesses of solutions contained in an archive into a file at each generation
moeoArchiveUpdater< EOT >This class allows to update the archive at each generation with newly found non-dominated solutions
moeoBinaryHypervolumeIndicator< EOFitness >Functor Binary hypervolume indicator for eoParetoFitness
moeoBinaryMetricSavingUpdater< EOT >This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file
moeoBinaryQualityIndicator< EOFitness >Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an eoParetoFitness object
moeoBinaryQualityIndicator< EOFitness >::RangePrivate class to represent the bounds
moeoBM< A1, A2, R >Base class for binary metrics
moeoCombinedMOLS< EOT >This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions
moeoContributionMetric< EOT >The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set
moeoDisctinctElitistReplacement< EOT, WorthT >Same than moeoElitistReplacement except that distinct individuals are privilegied
moeoElitistReplacement< EOT, WorthT >Keep all the best individuals (almost cut-and-pasted from eoNDPlusReplacement, (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002)
moeoEntropyMetric< EOT >The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set
moeoHybridMOLS< EOT >This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified
moeoIBEA< EOT, Fitness >Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm)
moeoIBEAAvgSorting< EOT, FitnessEval >Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper "Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization", 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object
moeoIBEASorting< EOT, Fitness >Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper "Indicator-Based Selection in Multiobjective Search" (2004) Of course, Fitness needs to be an eoParetoFitness object
moeoIBEAStochSorting< EOT, FitnessEval >Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper "Handling Uncertainty in Indicator-Based Multiobjective Optimization" (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object
moeoMetricBase class for performance metrics (also called quality indicators)
moeoMOLS< EOT >Abstract class for local searches applied to multi-objective optimization
moeoNDSorting_II< EOT >Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original eoNDSorting_II class
moeoNDSorting_II< EOT >::compare_nodesA class to compare the nodes
moeoNSGA_II< EOT >
moeoParetoEuclidDist< EOT, DistType >
moeoParetoPhenDist< EOT, DistType >
moeoParetoSharing< EOT, worthT >
moeoParetoSharing< EOT, worthT >::dMatrix
moeoReplacement< EOT, WorthT >Replacement strategy for multi-objective optimization
moeoSelectOneFromPopAndArch< EOT >Elitist selection process that consists in choosing individuals in the archive as well as in the current population
moeoSolutionUM< EOT, R, EOFitness >Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness
moeoSolutionVsSolutionBM< EOT, R, EOFitness >Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses
moeoUM< A, R >Base class for unary metrics
moeoVectorUM< EOT, R, EOFitness >Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses)
moeoVectorVsSolutionBM< EOT, R, EOFitness >Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness
moeoVectorVsVectorBM< EOT, R, EOFitness >Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses)
+
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classes.html b/trunk/paradiseo-moeo/docs/html/classes.html new file mode 100644 index 000000000..6e9003d1c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classes.html @@ -0,0 +1,52 @@ + + +ParadisEO-MOEO: Alphabetical List + + + + +
+
+
+
+

ParadisEO-MOEO Class Index

A | B | C | D | E | H | I | M | N | P | R | S | U | V

+ +
  A  
+
moeoElitistReplacement   moeoParetoEuclidDist   
moeoAdditiveBinaryEpsilonIndicator   moeoEntropyMetric   moeoParetoPhenDist   
moeoArchive   
  H  
+
moeoParetoSharing   
moeoArchiveFitnessSavingUpdater   moeoHybridMOLS   moeoParetoSharing::dMatrix   
moeoArchiveUpdater   
  I  
+
  R  
+
  B  
+
moeoIBEA   moeoReplacement   
moeoBinaryHypervolumeIndicator   moeoIBEAAvgSorting   
  S  
+
moeoBinaryMetricSavingUpdater   moeoIBEASorting   moeoSelectOneFromPopAndArch   
moeoBinaryQualityIndicator   moeoIBEAStochSorting   moeoSolutionUM   
moeoBinaryQualityIndicator::Range   
  M  
+
moeoSolutionVsSolutionBM   
moeoBM   moeoMetric   
  U  
+
  C  
+
moeoMOLS   moeoUM   
moeoCombinedMOLS   
  N  
+
  V  
+
moeoContributionMetric   moeoNDSorting_II   moeoVectorUM   
  D  
+
moeoNDSorting_II::compare_nodes   moeoVectorVsSolutionBM   
moeoDisctinctElitistReplacement   moeoNSGA_II   moeoVectorVsVectorBM   
  E  
+
  P  
+

A | B | C | D | E | H | I | M | N | P | R | S | U | V

+


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator-members.html new file mode 100644 index 000000000..6daefa711 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoAdditiveBinaryEpsilonIndicator< EOFitness > Member List

This is the complete list of members for moeoAdditiveBinaryEpsilonIndicator< EOFitness >, including all inherited members.

+ + + + + + + + + + + +
boundsmoeoBinaryQualityIndicator< EOFitness > [protected]
epsilonValue(const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj)moeoAdditiveBinaryEpsilonIndicator< EOFitness > [inline, private]
functor_category()eoBF< A1, A2, R > [static]
moeoAdditiveBinaryEpsilonIndicator()moeoAdditiveBinaryEpsilonIndicator< EOFitness > [inline]
moeoBinaryQualityIndicator()moeoBinaryQualityIndicator< EOFitness > [inline]
operator()(const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)moeoAdditiveBinaryEpsilonIndicator< EOFitness > [inline]
moeoBinaryQualityIndicator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
setBounds(const unsigned _iObj, const double _min, const double _max)moeoBinaryQualityIndicator< EOFitness > [inline]
traits typedefmoeoAdditiveBinaryEpsilonIndicator< EOFitness > [private]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.html b/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.html new file mode 100644 index 000000000..0fed0a944 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.html @@ -0,0 +1,173 @@ + + +ParadisEO-MOEO: moeoAdditiveBinaryEpsilonIndicator< EOFitness > Class Template Reference + + + + +
+
+
+
+

moeoAdditiveBinaryEpsilonIndicator< EOFitness > Class Template Reference

Functor Additive binary epsilon indicator for eoParetoFitness. +More... +

+#include <moeoBinaryQualityIndicator.h> +

+

Inheritance diagram for moeoAdditiveBinaryEpsilonIndicator< EOFitness >: +

+ +moeoBinaryQualityIndicator< EOFitness > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + +

Public Member Functions

moeoAdditiveBinaryEpsilonIndicator ()
 constructor
double operator() (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)
 computation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function)

Private Types

+typedef EOFitness::fitness_traits traits
 fitness traits

Private Member Functions

double epsilonValue (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj)
 computation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated
+

Detailed Description

+

template<class EOFitness>
+ class moeoAdditiveBinaryEpsilonIndicator< EOFitness >

+ +Functor Additive binary epsilon indicator for eoParetoFitness. +

+ +

+Definition at line 115 of file moeoBinaryQualityIndicator.h.


Member Function Documentation

+ +
+
+
+template<class EOFitness>
+ + + + + + + + + + + + + + + + + + +
double moeoAdditiveBinaryEpsilonIndicator< EOFitness >::operator() (const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2 
) [inline]
+
+
+ +

+computation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function) +

+

Parameters:
+ + + +
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual
+
+ +

+Definition at line 138 of file moeoBinaryQualityIndicator.h. +

+References moeoAdditiveBinaryEpsilonIndicator< EOFitness >::epsilonValue(). +

+

+ +

+
+
+template<class EOFitness>
+ + + + + + + + + + + + + + + + + + + + + + + + +
double moeoAdditiveBinaryEpsilonIndicator< EOFitness >::epsilonValue (const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2,
const unsigned  _iObj 
) [inline, private]
+
+
+ +

+computation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated +

+

Parameters:
+ + + + +
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual
unsigned _iObj the index of the objective
+
+ +

+Definition at line 170 of file moeoBinaryQualityIndicator.h. +

+References moeoBinaryQualityIndicator< EOFitness >::bounds. +

+Referenced by moeoAdditiveBinaryEpsilonIndicator< EOFitness >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.png b/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.png new file mode 100644 index 000000000..ab02eb8af Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchive-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoArchive-members.html new file mode 100644 index 000000000..416e07db6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoArchive-members.html @@ -0,0 +1,74 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoArchive< EOT > Member List

This is the complete list of members for moeoArchive< EOT >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
append(unsigned _newPopSize, eoInit< EOT > &_chromInit)eoPop< EOT >
best_element() consteoPop< EOT >
className() consteoPop< EOT > [virtual]
contains(const EOFitness &_fit) constmoeoArchive< EOT > [inline]
dominates(const EOFitness &_fit) constmoeoArchive< EOT > [inline]
EOFitness typedefmoeoArchive< EOT >
eoPop()eoPop< EOT >
eoPop(unsigned _popSize, eoInit< EOT > &_chromInit)eoPop< EOT >
eoPop(std::istream &_is)eoPop< EOT >
Fitness typedefeoPop< EOT >
fitness_traits typedefeoPop< EOT >
getPerf2Worth()eoPop< EOT >
invalidate()eoPop< EOT > [virtual]
it_best_element()eoPop< EOT >
it_worse_element()eoPop< EOT >
nth_element(int nth)eoPop< EOT >
nth_element(int which, std::vector< const EOT * > &result) consteoPop< EOT >
nth_element_fitness(int which) consteoPop< EOT >
printOn(std::ostream &_os) consteoPop< EOT > [virtual]
readFrom(std::istream &_is)eoPop< EOT > [virtual]
scale()eoPop< EOT >
setPerf2Worth(eoPerf2Worth< EOT > &_p2w)eoPop< EOT >
setPerf2Worth(eoPerf2Worth< EOT > *_p2w)eoPop< EOT >
shuffle(void)eoPop< EOT >
shuffle(std::vector< const EOT * > &result) consteoPop< EOT >
sort(void)eoPop< EOT >
sort(std::vector< const EOT * > &result) consteoPop< EOT >
sort()eoPop< EOT >
sortedPrintOn(std::ostream &_os) consteoPop< EOT > [virtual]
swap(eoPop< EOT > &other)eoPop< EOT >
swap(eoPop< EOT > &other)eoPop< EOT >
update(const EOT &_eo)moeoArchive< EOT > [inline]
update(const eoPop< EOT > &_pop)moeoArchive< EOT > [inline]
worse_element() consteoPop< EOT >
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPop()eoPop< EOT > [virtual]
~eoPrintable()eoPrintable [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchive.html b/trunk/paradiseo-moeo/docs/html/classmoeoArchive.html new file mode 100644 index 000000000..086c3b81e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoArchive.html @@ -0,0 +1,212 @@ + + +ParadisEO-MOEO: moeoArchive< EOT > Class Template Reference + + + + +
+
+
+
+

moeoArchive< EOT > Class Template Reference

An archive is a secondary population that stores non-dominated solutions. +More... +

+#include <moeoArchive.h> +

+

Inheritance diagram for moeoArchive< EOT >: +

+ +eoPop< EOT > +eoObject +eoPersistent +eoPrintable + +List of all members. + + + + + + + + + + + + + + + + + + +

Public Types

+typedef EOT::Fitness EOFitness
 The fitness type of a solution.

Public Member Functions

bool dominates (const EOFitness &_fit) const
 Returns true if the current archive dominates _fit.
bool contains (const EOFitness &_fit) const
 Returns true if the current archive contains _fit.
void update (const EOT &_eo)
 Updates the archive with a given individual _eo.
void update (const eoPop< EOT > &_pop)
 Updates the archive with a given population _pop.
+

Detailed Description

+

template<class EOT>
+ class moeoArchive< EOT >

+ +An archive is a secondary population that stores non-dominated solutions. +

+ +

+Definition at line 21 of file moeoArchive.h.


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
bool moeoArchive< EOT >::dominates (const EOFitness _fit  )  const [inline]
+
+
+ +

+Returns true if the current archive dominates _fit. +

+

Parameters:
+ + +
_fit the (Pareto) fitness to compare with the current archive
+
+ +

+Definition at line 39 of file moeoArchive.h. +

+Referenced by moeoArchive< EOT >::update(). +

+

+ +

+
+
+template<class EOT>
+ + + + + + + + + +
bool moeoArchive< EOT >::contains (const EOFitness _fit  )  const [inline]
+
+
+ +

+Returns true if the current archive contains _fit. +

+

Parameters:
+ + +
_fit the (Pareto) fitness to search within the current archive
+
+ +

+Definition at line 51 of file moeoArchive.h. +

+

+ +

+
+
+template<class EOT>
+ + + + + + + + + +
void moeoArchive< EOT >::update (const EOT &  _eo  )  [inline]
+
+
+ +

+Updates the archive with a given individual _eo. +

+

Parameters:
+ + +
_eo the given individual
+
+ +

+Definition at line 63 of file moeoArchive.h. +

+References moeoArchive< EOT >::dominates(). +

+Referenced by moeoArchive< EOT >::update(). +

+

+ +

+
+
+template<class EOT>
+ + + + + + + + + +
void moeoArchive< EOT >::update (const eoPop< EOT > &  _pop  )  [inline]
+
+
+ +

+Updates the archive with a given population _pop. +

+

Parameters:
+ + +
_pop the given population
+
+ +

+Definition at line 98 of file moeoArchive.h. +

+References moeoArchive< EOT >::update(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchive.png b/trunk/paradiseo-moeo/docs/html/classmoeoArchive.png new file mode 100644 index 000000000..c691aff76 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoArchive.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater-members.html new file mode 100644 index 000000000..ef776c99b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater-members.html @@ -0,0 +1,48 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoArchiveFitnessSavingUpdater< EOT > Member List

This is the complete list of members for moeoArchiveFitnessSavingUpdater< EOT >, including all inherited members.

+ + + + + + + + + + + + +
archmoeoArchiveFitnessSavingUpdater< EOT > [private]
className(void) consteoUpdater [virtual]
countermoeoArchiveFitnessSavingUpdater< EOT > [private]
filenamemoeoArchiveFitnessSavingUpdater< EOT > [private]
functor_category()eoF< void > [static]
idmoeoArchiveFitnessSavingUpdater< EOT > [private]
lastCall()eoUpdater [virtual]
moeoArchiveFitnessSavingUpdater(moeoArchive< EOT > &_arch, const std::string &_filename="Res/Arch", int _id=-1)moeoArchiveFitnessSavingUpdater< EOT > [inline]
operator()()moeoArchiveFitnessSavingUpdater< EOT > [inline, virtual]
result_type typedefeoF< void >
~eoF()eoF< void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.html b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.html new file mode 100644 index 000000000..2b2432e73 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.html @@ -0,0 +1,134 @@ + + +ParadisEO-MOEO: moeoArchiveFitnessSavingUpdater< EOT > Class Template Reference + + + + +
+
+
+
+

moeoArchiveFitnessSavingUpdater< EOT > Class Template Reference

This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. +More... +

+#include <moeoArchiveFitnessSavingUpdater.h> +

+

Inheritance diagram for moeoArchiveFitnessSavingUpdater< EOT >: +

+ +eoUpdater +eoF< void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoArchiveFitnessSavingUpdater (moeoArchive< EOT > &_arch, const std::string &_filename="Res/Arch", int _id=-1)
 Ctor.
+void operator() ()
 Saves the fitness of the archive's members into the file.

Private Attributes

+moeoArchive< EOT > & arch
 local archive
+std::string filename
 target filename
+int id
 own ID
+unsigned counter
 counter
+

Detailed Description

+

template<class EOT>
+ class moeoArchiveFitnessSavingUpdater< EOT >

+ +This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. +

+ +

+Definition at line 27 of file moeoArchiveFitnessSavingUpdater.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoArchiveFitnessSavingUpdater< EOT >::moeoArchiveFitnessSavingUpdater (moeoArchive< EOT > &  _arch,
const std::string &  _filename = "Res/Arch",
int  _id = -1 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + +
_arch local archive
_filename target filename
_id own ID
+
+ +

+Definition at line 37 of file moeoArchiveFitnessSavingUpdater.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.png b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.png new file mode 100644 index 000000000..b15ca800a Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater-members.html new file mode 100644 index 000000000..96f5a79b1 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater-members.html @@ -0,0 +1,46 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoArchiveUpdater< EOT > Member List

This is the complete list of members for moeoArchiveUpdater< EOT >, including all inherited members.

+ + + + + + + + + + +
archmoeoArchiveUpdater< EOT > [private]
className(void) consteoUpdater [virtual]
functor_category()eoF< void > [static]
lastCall()eoUpdater [virtual]
moeoArchiveUpdater(moeoArchive< EOT > &_arch, const eoPop< EOT > &_pop)moeoArchiveUpdater< EOT > [inline]
operator()()moeoArchiveUpdater< EOT > [inline, virtual]
popmoeoArchiveUpdater< EOT > [private]
result_type typedefeoF< void >
~eoF()eoF< void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.html b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.html new file mode 100644 index 000000000..218b2ffa6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.html @@ -0,0 +1,119 @@ + + +ParadisEO-MOEO: moeoArchiveUpdater< EOT > Class Template Reference + + + + +
+
+
+
+

moeoArchiveUpdater< EOT > Class Template Reference

This class allows to update the archive at each generation with newly found non-dominated solutions. +More... +

+#include <moeoArchiveUpdater.h> +

+

Inheritance diagram for moeoArchiveUpdater< EOT >: +

+ +eoUpdater +eoF< void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + +

Public Member Functions

 moeoArchiveUpdater (moeoArchive< EOT > &_arch, const eoPop< EOT > &_pop)
 Ctor.
+void operator() ()
 Updates the archive with newly found non-dominated solutions contained in the main population.

Private Attributes

+moeoArchive< EOT > & arch
 the archive of non-dominated solutions
+const eoPop< EOT > & pop
 the main population
+

Detailed Description

+

template<class EOT>
+ class moeoArchiveUpdater< EOT >

+ +This class allows to update the archive at each generation with newly found non-dominated solutions. +

+ +

+Definition at line 23 of file moeoArchiveUpdater.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
moeoArchiveUpdater< EOT >::moeoArchiveUpdater (moeoArchive< EOT > &  _arch,
const eoPop< EOT > &  _pop 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + +
_arch an archive of non-dominated solutions
_pop the main population
+
+ +

+Definition at line 32 of file moeoArchiveUpdater.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.png b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.png new file mode 100644 index 000000000..f31a59d01 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBM.html b/trunk/paradiseo-moeo/docs/html/classmoeoBM.html new file mode 100644 index 000000000..e4542d04a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBM.html @@ -0,0 +1,67 @@ + + +ParadisEO-MOEO: moeoBM< A1, A2, R > Class Template Reference + + + + +
+
+
+
+

moeoBM< A1, A2, R > Class Template Reference

Base class for binary metrics. +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoBM< A1, A2, R >: +

+ +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase +moeoSolutionVsSolutionBM< EOT, R, EOFitness > +moeoVectorVsSolutionBM< EOT, R, EOFitness > +moeoVectorVsVectorBM< EOT, R, EOFitness > +moeoVectorVsVectorBM< EOT, double > +moeoContributionMetric< EOT > +moeoEntropyMetric< EOT > + + + +
+

Detailed Description

+

template<class A1, class A2, class R>
+ class moeoBM< A1, A2, R >

+ +Base class for binary metrics. +

+ +

+Definition at line 38 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBM.png b/trunk/paradiseo-moeo/docs/html/classmoeoBM.png new file mode 100644 index 000000000..f5e291872 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoBM.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator-members.html new file mode 100644 index 000000000..3cd69bcb6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator-members.html @@ -0,0 +1,50 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoBinaryHypervolumeIndicator< EOFitness > Member List

This is the complete list of members for moeoBinaryHypervolumeIndicator< EOFitness >, including all inherited members.

+ + + + + + + + + + + + + + +
boundsmoeoBinaryQualityIndicator< EOFitness > [protected]
functor_category()eoBF< A1, A2, R > [static]
hypervolumeIndicatorValue(const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag=false)moeoBinaryHypervolumeIndicator< EOFitness > [inline, private]
hypervolumeIndicatorValueMax(const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)moeoBinaryHypervolumeIndicator< EOFitness > [inline, private]
hypervolumeIndicatorValueMin(const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)moeoBinaryHypervolumeIndicator< EOFitness > [inline, private]
moeoBinaryHypervolumeIndicator(double _rho)moeoBinaryHypervolumeIndicator< EOFitness > [inline]
moeoBinaryQualityIndicator()moeoBinaryQualityIndicator< EOFitness > [inline]
operator()(const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)moeoBinaryHypervolumeIndicator< EOFitness > [inline]
moeoBinaryQualityIndicator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
rhomoeoBinaryHypervolumeIndicator< EOFitness > [private]
setBounds(const unsigned _iObj, const double _min, const double _max)moeoBinaryQualityIndicator< EOFitness > [inline]
traits typedefmoeoBinaryHypervolumeIndicator< EOFitness > [private]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.html new file mode 100644 index 000000000..e2618cf2b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.html @@ -0,0 +1,342 @@ + + +ParadisEO-MOEO: moeoBinaryHypervolumeIndicator< EOFitness > Class Template Reference + + + + +
+
+
+
+

moeoBinaryHypervolumeIndicator< EOFitness > Class Template Reference

Functor Binary hypervolume indicator for eoParetoFitness. +More... +

+#include <moeoBinaryQualityIndicator.h> +

+

Inheritance diagram for moeoBinaryHypervolumeIndicator< EOFitness >: +

+ +moeoBinaryQualityIndicator< EOFitness > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoBinaryHypervolumeIndicator (double _rho)
 constructor
double operator() (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)
 indicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function)

Private Types

+typedef EOFitness::fitness_traits traits
 fitness traits

Private Member Functions

double hypervolumeIndicatorValue (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag=false)
 computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2
double hypervolumeIndicatorValueMin (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)
 computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj
double hypervolumeIndicatorValueMax (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)
 computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj

Private Attributes

+double rho
 reference point for the hypervolume calculation
+

Detailed Description

+

template<class EOFitness>
+ class moeoBinaryHypervolumeIndicator< EOFitness >

+ +Functor Binary hypervolume indicator for eoParetoFitness. +

+ +

+Definition at line 206 of file moeoBinaryQualityIndicator.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOFitness>
+ + + + + + + + + +
moeoBinaryHypervolumeIndicator< EOFitness >::moeoBinaryHypervolumeIndicator (double  _rho  )  [inline]
+
+
+ +

+constructor +

+

Parameters:
+ + +
double _rho reference point for the hypervolume calculation (rho must not be smaller than 1)
+
+ +

+Definition at line 216 of file moeoBinaryQualityIndicator.h. +

+References moeoBinaryHypervolumeIndicator< EOFitness >::rho. +

+

+


Member Function Documentation

+ +
+
+
+template<class EOFitness>
+ + + + + + + + + + + + + + + + + + +
double moeoBinaryHypervolumeIndicator< EOFitness >::operator() (const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2 
) [inline]
+
+
+ +

+indicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function) +

+

Parameters:
+ + + +
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual
+
+ +

+Definition at line 239 of file moeoBinaryQualityIndicator.h. +

+References moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +

+

+ +

+
+
+template<class EOFitness>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
double moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue (const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2,
const unsigned  _iObj,
const bool  _flag = false 
) [inline, private]
+
+
+ +

+computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 +

+

Parameters:
+ + + + + +
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual
unsigned _iObj number of objectives (used for iteration)
bool _flag = false (only used for iteration)
+
+ +

+Definition at line 274 of file moeoBinaryQualityIndicator.h. +

+References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), and moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(). +

+Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(), and moeoBinaryHypervolumeIndicator< EOFitness >::operator()(). +

+

+ +

+
+
+template<class EOFitness>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
double moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin (const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2,
const unsigned  _iObj,
const bool  _flag 
) [inline, private]
+
+
+ +

+computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj +

+

Parameters:
+ + + + + +
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual
unsigned _iObj index of the objective
bool _flag (only used for iteration)
+
+ +

+Definition at line 309 of file moeoBinaryQualityIndicator.h. +

+References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and moeoBinaryHypervolumeIndicator< EOFitness >::rho. +

+Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +

+

+ +

+
+
+template<class EOFitness>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
double moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax (const EOFitness &  _fitness_eo1,
const EOFitness &  _fitness_eo2,
const unsigned  _iObj,
const bool  _flag 
) [inline, private]
+
+
+ +

+computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj +

+

Parameters:
+ + + + + +
EOFitness & _fitness_eo1 the fitness of the first individual
EOFitness & _fitness_eo2 the fitness of the second individual
unsigned _iObj index of the objective
bool _flag (only used for iteration)
+
+ +

+Definition at line 363 of file moeoBinaryQualityIndicator.h. +

+References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and moeoBinaryHypervolumeIndicator< EOFitness >::rho. +

+Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.png b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.png new file mode 100644 index 000000000..817ee9099 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater-members.html new file mode 100644 index 000000000..ad6e24595 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater-members.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoBinaryMetricSavingUpdater< EOT > Member List

This is the complete list of members for moeoBinaryMetricSavingUpdater< EOT >, including all inherited members.

+ + + + + + + + + + + + + + + +
className(void) consteoUpdater [virtual]
countermoeoBinaryMetricSavingUpdater< EOT > [private]
EOFitness typedefmoeoBinaryMetricSavingUpdater< EOT >
filenamemoeoBinaryMetricSavingUpdater< EOT > [private]
firstGenmoeoBinaryMetricSavingUpdater< EOT > [private]
functor_category()eoF< void > [static]
lastCall()eoUpdater [virtual]
metricmoeoBinaryMetricSavingUpdater< EOT > [private]
moeoBinaryMetricSavingUpdater(moeoVectorVsVectorBM< EOT, double > &_metric, const eoPop< EOT > &_pop, std::string _filename)moeoBinaryMetricSavingUpdater< EOT > [inline]
oldPopmoeoBinaryMetricSavingUpdater< EOT > [private]
operator()()moeoBinaryMetricSavingUpdater< EOT > [inline, virtual]
popmoeoBinaryMetricSavingUpdater< EOT > [private]
result_type typedefeoF< void >
~eoF()eoF< void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.html new file mode 100644 index 000000000..a16e215fe --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.html @@ -0,0 +1,148 @@ + + +ParadisEO-MOEO: moeoBinaryMetricSavingUpdater< EOT > Class Template Reference + + + + +
+
+
+
+

moeoBinaryMetricSavingUpdater< EOT > Class Template Reference

This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. +More... +

+#include <moeoBinaryMetricSavingUpdater.h> +

+

Inheritance diagram for moeoBinaryMetricSavingUpdater< EOT >: +

+ +eoUpdater +eoF< void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef EOT::Fitness EOFitness
 The fitness type of a solution.

Public Member Functions

 moeoBinaryMetricSavingUpdater (moeoVectorVsVectorBM< EOT, double > &_metric, const eoPop< EOT > &_pop, std::string _filename)
 Ctor.
+void operator() ()
 Saves the metric's value for the current generation.

Private Attributes

+moeoVectorVsVectorBM< EOT,
+ double > & 
metric
 binary metric comparing two Pareto sets
+const eoPop< EOT > & pop
 main population
+eoPop< EOT > oldPop
 (n-1) population
+std::string filename
 target filename
+bool firstGen
 is it the first generation ?
+unsigned counter
 counter
+

Detailed Description

+

template<class EOT>
+ class moeoBinaryMetricSavingUpdater< EOT >

+ +This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. +

+ +

+Definition at line 26 of file moeoBinaryMetricSavingUpdater.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoBinaryMetricSavingUpdater< EOT >::moeoBinaryMetricSavingUpdater (moeoVectorVsVectorBM< EOT, double > &  _metric,
const eoPop< EOT > &  _pop,
std::string  _filename 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + +
_metric the binary metric comparing two Pareto sets
_pop the main population
_filename the target filename
+
+ +

+Definition at line 41 of file moeoBinaryMetricSavingUpdater.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.png b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.png new file mode 100644 index 000000000..333491908 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator-members.html new file mode 100644 index 000000000..62549f326 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator-members.html @@ -0,0 +1,44 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoBinaryQualityIndicator< EOFitness > Member List

This is the complete list of members for moeoBinaryQualityIndicator< EOFitness >, including all inherited members.

+ + + + + + + + +
boundsmoeoBinaryQualityIndicator< EOFitness > [protected]
functor_category()eoBF< A1, A2, R > [static]
moeoBinaryQualityIndicator()moeoBinaryQualityIndicator< EOFitness > [inline]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
setBounds(const unsigned _iObj, const double _min, const double _max)moeoBinaryQualityIndicator< EOFitness > [inline]
traits typedefmoeoBinaryQualityIndicator< EOFitness > [private]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.html new file mode 100644 index 000000000..f962ccbf5 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.html @@ -0,0 +1,134 @@ + + +ParadisEO-MOEO: moeoBinaryQualityIndicator< EOFitness > Class Template Reference + + + + +
+
+
+
+

moeoBinaryQualityIndicator< EOFitness > Class Template Reference

Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an eoParetoFitness object. +More... +

+#include <moeoBinaryQualityIndicator.h> +

+

Inheritance diagram for moeoBinaryQualityIndicator< EOFitness >: +

+ +eoBF< A1, A2, R > +eoFunctorBase +moeoAdditiveBinaryEpsilonIndicator< EOFitness > +moeoBinaryHypervolumeIndicator< EOFitness > + +List of all members. + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

moeoBinaryQualityIndicator ()
 constructor
void setBounds (const unsigned _iObj, const double _min, const double _max)
 set the bounds for objective _iObj

Protected Attributes

+std::vector< Rangebounds
 range (min and max double value) for each objective

Private Types

+typedef EOFitness::fitness_traits traits
 fitness traits

Classes

class  Range
 Private class to represent the bounds. More...
+

Detailed Description

+

template<class EOFitness>
+ class moeoBinaryQualityIndicator< EOFitness >

+ +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an eoParetoFitness object. +

+ +

+Definition at line 28 of file moeoBinaryQualityIndicator.h.


Member Function Documentation

+ +
+
+
+template<class EOFitness>
+ + + + + + + + + + + + + + + + + + + + + + + + +
void moeoBinaryQualityIndicator< EOFitness >::setBounds (const unsigned  _iObj,
const double  _min,
const double  _max 
) [inline]
+
+
+ +

+set the bounds for objective _iObj +

+

Parameters:
+ + + + +
unsigned _iObj the index of the objective
double _min the minimum value
double _max the maximum value
+
+ +

+Definition at line 51 of file moeoBinaryQualityIndicator.h. +

+Referenced by moeoIBEAAvgSorting< EOT, FitnessEval >::setBounds(), moeoIBEAStochSorting< EOT, FitnessEval >::setBounds(), and moeoIBEASorting< EOT, Fitness >::setBounds(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.png b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.png new file mode 100644 index 000000000..14f128256 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range-members.html new file mode 100644 index 000000000..0b87cd607 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range-members.html @@ -0,0 +1,44 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoBinaryQualityIndicator< EOFitness >::Range Member List

This is the complete list of members for moeoBinaryQualityIndicator< EOFitness >::Range, including all inherited members.

+ + + + + + + + +
maxmoeoBinaryQualityIndicator< EOFitness >::Range [private]
maximum()moeoBinaryQualityIndicator< EOFitness >::Range [inline]
minmoeoBinaryQualityIndicator< EOFitness >::Range [private]
minimum()moeoBinaryQualityIndicator< EOFitness >::Range [inline]
rmoeoBinaryQualityIndicator< EOFitness >::Range [private]
Range()moeoBinaryQualityIndicator< EOFitness >::Range [inline]
Range(const double _min, const double _max)moeoBinaryQualityIndicator< EOFitness >::Range [inline]
range()moeoBinaryQualityIndicator< EOFitness >::Range [inline]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range.html new file mode 100644 index 000000000..7f779ca59 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range.html @@ -0,0 +1,81 @@ + + +ParadisEO-MOEO: moeoBinaryQualityIndicator< EOFitness >::Range Class Reference + + + + +
+
+
+
+ +

moeoBinaryQualityIndicator< EOFitness >::Range Class Reference

Private class to represent the bounds. +More... +

+#include <moeoBinaryQualityIndicator.h> +

+List of all members. + + + + + + + + + + + + + + + + + + + +

Public Member Functions

Range ()
Range (const double _min, const double _max)
+double minimum ()
+double maximum ()
+double range ()

Private Attributes

+double min
+double max
+double r
+


Detailed Description

+

template<class EOFitness>
+ class moeoBinaryQualityIndicator< EOFitness >::Range

+ +Private class to represent the bounds. +

+ +

+Definition at line 62 of file moeoBinaryQualityIndicator.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS-members.html new file mode 100644 index 000000000..e7a9152e4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoCombinedMOLS< EOT > Member List

This is the complete list of members for moeoCombinedMOLS< EOT >, including all inherited members.

+ + + + + +
add(moeoMOLS< EOT > &_ls)moeoCombinedMOLS< EOT > [inline]
combinedMOLSmoeoCombinedMOLS< EOT > [private]
evalmoeoCombinedMOLS< EOT > [private]
moeoCombinedMOLS(eoEvalFunc< EOT > &_eval, moeoMOLS< EOT > &_first_ls)moeoCombinedMOLS< EOT > [inline]
operator()(const EOT &_eo, moeoArchive< EOT > &_arch)moeoCombinedMOLS< EOT > [inline, virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.html b/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.html new file mode 100644 index 000000000..a7b656846 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.html @@ -0,0 +1,202 @@ + + +ParadisEO-MOEO: moeoCombinedMOLS< EOT > Class Template Reference + + + + +
+
+
+
+

moeoCombinedMOLS< EOT > Class Template Reference

This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. +More... +

+#include <moeoCombinedMOLS.h> +

+

Inheritance diagram for moeoCombinedMOLS< EOT >: +

+ +moeoMOLS< EOT > +eoBF< const EOT &, moeoArchive< EOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoCombinedMOLS (eoEvalFunc< EOT > &_eval, moeoMOLS< EOT > &_first_ls)
 Ctor.
void add (moeoMOLS< EOT > &_ls)
 Adds a new local search to combine.
void operator() (const EOT &_eo, moeoArchive< EOT > &_arch)
 Gives a new solution in order to explore the neigborhood.

Private Attributes

+eoEvalFunc< EOT > & eval
 the full evaluator of a solution
+std::vector< moeoMOLS< EOT > * > combinedMOLS
 the vector that contains the combined MOLS
+

Detailed Description

+

template<class EOT>
+ class moeoCombinedMOLS< EOT >

+ +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. +

+ +

+Definition at line 24 of file moeoCombinedMOLS.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
moeoCombinedMOLS< EOT >::moeoCombinedMOLS (eoEvalFunc< EOT > &  _eval,
moeoMOLS< EOT > &  _first_ls 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + +
_eval the full evaluator of a solution
_first_ls the first multi-objective local search to add
+
+ +

+Definition at line 33 of file moeoCombinedMOLS.h. +

+References moeoCombinedMOLS< EOT >::combinedMOLS. +

+

+


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
void moeoCombinedMOLS< EOT >::add (moeoMOLS< EOT > &  _ls  )  [inline]
+
+
+ +

+Adds a new local search to combine. +

+

Parameters:
+ + +
_ls the multi-objective local search to add
+
+ +

+Definition at line 43 of file moeoCombinedMOLS.h. +

+References moeoCombinedMOLS< EOT >::combinedMOLS. +

+

+ +

+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
void moeoCombinedMOLS< EOT >::operator() (const EOT &  _eo,
moeoArchive< EOT > &  _arch 
) [inline, virtual]
+
+
+ +

+Gives a new solution in order to explore the neigborhood. +

+The new non-dominated solutions are added to the archive

Parameters:
+ + + +
_eo the solution
_arch the archive of non-dominated solutions
+
+ +

+Implements eoBF< const EOT &, moeoArchive< EOT > &, void >. +

+Definition at line 54 of file moeoCombinedMOLS.h. +

+References moeoCombinedMOLS< EOT >::combinedMOLS, and moeoCombinedMOLS< EOT >::eval. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.png b/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.png new file mode 100644 index 000000000..26f6e97e6 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric-members.html new file mode 100644 index 000000000..25eed64f6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoContributionMetric< EOT > Member List

This is the complete list of members for moeoContributionMetric< EOT >, including all inherited members.

+ + + + + +
card_C(const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)moeoContributionMetric< EOT > [inline, private]
card_N(const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)moeoContributionMetric< EOT > [inline, private]
card_W(const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)moeoContributionMetric< EOT > [inline, private]
EOFitness typedefmoeoContributionMetric< EOT >
operator()(const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)moeoContributionMetric< EOT > [inline]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.html b/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.html new file mode 100644 index 000000000..fe670d11e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.html @@ -0,0 +1,257 @@ + + +ParadisEO-MOEO: moeoContributionMetric< EOT > Class Template Reference + + + + +
+
+
+
+

moeoContributionMetric< EOT > Class Template Reference

The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. +More... +

+#include <moeoContributionMetric.h> +

+

Inheritance diagram for moeoContributionMetric< EOT >: +

+ +moeoVectorVsVectorBM< EOT, double > +moeoBM< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef EOT::Fitness EOFitness
 The fitness type of a solution.

Public Member Functions

double operator() (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)
 Returns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'.

Private Member Functions

unsigned card_C (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)
 Returns the number of solutions both in '_set1' and '_set2'.
unsigned card_W (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)
 Returns the number of solutions in '_set1' dominating at least one solution of '_set2'.
unsigned card_N (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)
 Returns the number of solutions in '_set1' having no relation of dominance with those from '_set2'.
+

Detailed Description

+

template<class EOT>
+ class moeoContributionMetric< EOT >

+ +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. +

+(Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. of the 2000 Congress on Evolutionary Computation, IEEE Press, pp. 317-324) +

+ +

+Definition at line 23 of file moeoContributionMetric.h.


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
double moeoContributionMetric< EOT >::operator() (const std::vector< EOFitness > &  _set1,
const std::vector< EOFitness > &  _set2 
) [inline]
+
+
+ +

+Returns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 38 of file moeoContributionMetric.h. +

+References moeoContributionMetric< EOT >::card_C(), moeoContributionMetric< EOT >::card_N(), and moeoContributionMetric< EOT >::card_W(). +

+

+ +

+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
unsigned moeoContributionMetric< EOT >::card_C (const std::vector< EOFitness > &  _set1,
const std::vector< EOFitness > &  _set2 
) [inline, private]
+
+
+ +

+Returns the number of solutions both in '_set1' and '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 57 of file moeoContributionMetric.h. +

+Referenced by moeoContributionMetric< EOT >::operator()(). +

+

+ +

+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
unsigned moeoContributionMetric< EOT >::card_W (const std::vector< EOFitness > &  _set1,
const std::vector< EOFitness > &  _set2 
) [inline, private]
+
+
+ +

+Returns the number of solutions in '_set1' dominating at least one solution of '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 76 of file moeoContributionMetric.h. +

+Referenced by moeoContributionMetric< EOT >::operator()(). +

+

+ +

+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
unsigned moeoContributionMetric< EOT >::card_N (const std::vector< EOFitness > &  _set1,
const std::vector< EOFitness > &  _set2 
) [inline, private]
+
+
+ +

+Returns the number of solutions in '_set1' having no relation of dominance with those from '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 95 of file moeoContributionMetric.h. +

+Referenced by moeoContributionMetric< EOT >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.png b/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.png new file mode 100644 index 000000000..5ba0e67df Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement-members.html new file mode 100644 index 000000000..fec803f16 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoDisctinctElitistReplacement< EOT, WorthT > Member List

This is the complete list of members for moeoDisctinctElitistReplacement< EOT, WorthT >, including all inherited members.

+ + + + +
createNewPop(eoPop< EOT > &_pop, unsigned _size)moeoDisctinctElitistReplacement< EOT, WorthT > [inline, private]
moeoDisctinctElitistReplacement(eoPerf2Worth< EOT, WorthT > &_perf2worth)moeoDisctinctElitistReplacement< EOT, WorthT > [inline]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)moeoDisctinctElitistReplacement< EOT, WorthT > [inline, virtual]
perf2worthmoeoDisctinctElitistReplacement< EOT, WorthT > [private]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.html b/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.html new file mode 100644 index 000000000..03c660892 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.html @@ -0,0 +1,200 @@ + + +ParadisEO-MOEO: moeoDisctinctElitistReplacement< EOT, WorthT > Class Template Reference + + + + +
+
+
+
+

moeoDisctinctElitistReplacement< EOT, WorthT > Class Template Reference

Same than moeoElitistReplacement except that distinct individuals are privilegied. +More... +

+#include <moeoReplacement.h> +

+

Inheritance diagram for moeoDisctinctElitistReplacement< EOT, WorthT >: +

+ +moeoReplacement< EOT, WorthT > +eoReplacement< EOT > +eoBF< eoPop< EOT > &, eoPop< EOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoDisctinctElitistReplacement (eoPerf2Worth< EOT, WorthT > &_perf2worth)
 constructor
void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 replacement - result in _parents

Private Member Functions

void createNewPop (eoPop< EOT > &_pop, unsigned _size)
 creation of the new population of size _size

Private Attributes

+eoPerf2Worth< EOT, WorthT > & perf2worth
 the functor object to transform raw fitnesses into fitness for selection
+

Detailed Description

+

template<class EOT, class WorthT = double>
+ class moeoDisctinctElitistReplacement< EOT, WorthT >

+ +Same than moeoElitistReplacement except that distinct individuals are privilegied. +

+ +

+Definition at line 78 of file moeoReplacement.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT, class WorthT = double>
+ + + + + + + + + +
moeoDisctinctElitistReplacement< EOT, WorthT >::moeoDisctinctElitistReplacement (eoPerf2Worth< EOT, WorthT > &  _perf2worth  )  [inline]
+
+
+ +

+constructor +

+

Parameters:
+ + +
_perf2worth the functor class to transform raw fitnesses into fitness for selection
+
+ +

+Definition at line 87 of file moeoReplacement.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class EOT, class WorthT = double>
+ + + + + + + + + + + + + + + + + + +
void moeoDisctinctElitistReplacement< EOT, WorthT >::operator() (eoPop< EOT > &  _parents,
eoPop< EOT > &  _offspring 
) [inline, virtual]
+
+
+ +

+replacement - result in _parents +

+

Parameters:
+ + + +
_parents parents population
_offspring offspring population
+
+ +

+Implements eoBF< eoPop< EOT > &, eoPop< EOT > &, void >. +

+Definition at line 99 of file moeoReplacement.h. +

+References moeoDisctinctElitistReplacement< EOT, WorthT >::createNewPop(). +

+

+ +

+
+
+template<class EOT, class WorthT = double>
+ + + + + + + + + + + + + + + + + + +
void moeoDisctinctElitistReplacement< EOT, WorthT >::createNewPop (eoPop< EOT > &  _pop,
unsigned  _size 
) [inline, private]
+
+
+ +

+creation of the new population of size _size +

+

Parameters:
+ + + +
_pop the initial population (will be modified)
_size the size of the population to create
+
+ +

+Definition at line 123 of file moeoReplacement.h. +

+References moeoDisctinctElitistReplacement< EOT, WorthT >::perf2worth, and eoPop< EOT >::swap(). +

+Referenced by moeoDisctinctElitistReplacement< EOT, WorthT >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.png b/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.png new file mode 100644 index 000000000..3848ed8dc Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement-members.html new file mode 100644 index 000000000..2709e535a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement-members.html @@ -0,0 +1,39 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoElitistReplacement< EOT, WorthT > Member List

This is the complete list of members for moeoElitistReplacement< EOT, WorthT >, including all inherited members.

+ + + +
moeoElitistReplacement(eoPerf2Worth< EOT, WorthT > &_perf2worth)moeoElitistReplacement< EOT, WorthT > [inline]
operator()(eoPop< EOT > &_parents, eoPop< EOT > &_offspring)moeoElitistReplacement< EOT, WorthT > [inline, virtual]
perf2worthmoeoElitistReplacement< EOT, WorthT > [private]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.html b/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.html new file mode 100644 index 000000000..3426d034a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.html @@ -0,0 +1,149 @@ + + +ParadisEO-MOEO: moeoElitistReplacement< EOT, WorthT > Class Template Reference + + + + +
+
+
+
+

moeoElitistReplacement< EOT, WorthT > Class Template Reference

Keep all the best individuals (almost cut-and-pasted from eoNDPlusReplacement, (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002). +More... +

+#include <moeoReplacement.h> +

+

Inheritance diagram for moeoElitistReplacement< EOT, WorthT >: +

+ +moeoReplacement< EOT, WorthT > +eoReplacement< EOT > +eoBF< eoPop< EOT > &, eoPop< EOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Member Functions

 moeoElitistReplacement (eoPerf2Worth< EOT, WorthT > &_perf2worth)
 constructor
void operator() (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)
 replacement - result in _parents

Private Attributes

+eoPerf2Worth< EOT, WorthT > & perf2worth
 the functor object to transform raw fitnesses into fitness for selection
+

Detailed Description

+

template<class EOT, class WorthT = double>
+ class moeoElitistReplacement< EOT, WorthT >

+ +Keep all the best individuals (almost cut-and-pasted from eoNDPlusReplacement, (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002). +

+ +

+Definition at line 35 of file moeoReplacement.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT, class WorthT = double>
+ + + + + + + + + +
moeoElitistReplacement< EOT, WorthT >::moeoElitistReplacement (eoPerf2Worth< EOT, WorthT > &  _perf2worth  )  [inline]
+
+
+ +

+constructor +

+

Parameters:
+ + +
_perf2worth the functor class to transform raw fitnesses into fitness for selection
+
+ +

+Definition at line 43 of file moeoReplacement.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class EOT, class WorthT = double>
+ + + + + + + + + + + + + + + + + + +
void moeoElitistReplacement< EOT, WorthT >::operator() (eoPop< EOT > &  _parents,
eoPop< EOT > &  _offspring 
) [inline, virtual]
+
+
+ +

+replacement - result in _parents +

+

Parameters:
+ + + +
_parents parents population
_offspring offspring population
+
+ +

+Implements eoBF< eoPop< EOT > &, eoPop< EOT > &, void >. +

+Definition at line 54 of file moeoReplacement.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.png b/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.png new file mode 100644 index 000000000..b12d591f6 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric-members.html new file mode 100644 index 000000000..1fa6541da --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric-members.html @@ -0,0 +1,46 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoEntropyMetric< EOT > Member List

This is the complete list of members for moeoEntropyMetric< EOT >, including all inherited members.

+ + + + + + + + + + +
computeUnion(const std::vector< EOFitness > &_f1, const std::vector< EOFitness > &_f2, std::vector< EOFitness > &_f)moeoEntropyMetric< EOT > [inline, private]
EOFitness typedefmoeoEntropyMetric< EOT >
euclidianDistance(const EOFitness &_set1, const EOFitness &_to, unsigned _deg=2)moeoEntropyMetric< EOT > [inline, private]
howManyInNicheOf(const std::vector< EOFitness > &_f, const EOFitness &_s, unsigned _size)moeoEntropyMetric< EOT > [inline, private]
normalize(std::vector< EOFitness > &_f)moeoEntropyMetric< EOT > [inline, private]
operator()(const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)moeoEntropyMetric< EOT > [inline]
prenormalize(const std::vector< EOFitness > &_f)moeoEntropyMetric< EOT > [inline, private]
removeDominated(std::vector< EOFitness > &_f)moeoEntropyMetric< EOT > [inline, private]
vect_max_valmoeoEntropyMetric< EOT > [private]
vect_min_valmoeoEntropyMetric< EOT > [private]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.html b/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.html new file mode 100644 index 000000000..39b285320 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.html @@ -0,0 +1,144 @@ + + +ParadisEO-MOEO: moeoEntropyMetric< EOT > Class Template Reference + + + + +
+
+
+
+

moeoEntropyMetric< EOT > Class Template Reference

The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. +More... +

+#include <moeoEntropyMetric.h> +

+

Inheritance diagram for moeoEntropyMetric< EOT >: +

+ +moeoVectorVsVectorBM< EOT, double > +moeoBM< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef EOT::Fitness EOFitness
 The fitness type of a solution.

Public Member Functions

double operator() (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2)
 Returns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'.

Private Member Functions

+void removeDominated (std::vector< EOFitness > &_f)
+void prenormalize (const std::vector< EOFitness > &_f)
+void normalize (std::vector< EOFitness > &_f)
+void computeUnion (const std::vector< EOFitness > &_f1, const std::vector< EOFitness > &_f2, std::vector< EOFitness > &_f)
+unsigned howManyInNicheOf (const std::vector< EOFitness > &_f, const EOFitness &_s, unsigned _size)
+double euclidianDistance (const EOFitness &_set1, const EOFitness &_to, unsigned _deg=2)

Private Attributes

+std::vector< double > vect_min_val
+std::vector< double > vect_max_val
+

Detailed Description

+

template<class EOT>
+ class moeoEntropyMetric< EOT >

+ +The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. +

+(Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. of the 2002 Congress on Evolutionary Computation, IEEE Press, pp. 1155-1156) +

+ +

+Definition at line 23 of file moeoEntropyMetric.h.


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + +
double moeoEntropyMetric< EOT >::operator() (const std::vector< EOFitness > &  _set1,
const std::vector< EOFitness > &  _set2 
) [inline]
+
+
+ +

+Returns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'. +

+

Parameters:
+ + + +
_set1 the first Pareto set
_set2 the second Pareto set
+
+ +

+Definition at line 38 of file moeoEntropyMetric.h. +

+References moeoEntropyMetric< EOT >::computeUnion(), moeoEntropyMetric< EOT >::howManyInNicheOf(), moeoEntropyMetric< EOT >::normalize(), moeoEntropyMetric< EOT >::prenormalize(), and moeoEntropyMetric< EOT >::removeDominated(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.png b/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.png new file mode 100644 index 000000000..bcc3bdbfd Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS-members.html new file mode 100644 index 000000000..bf2af2d7b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS-members.html @@ -0,0 +1,48 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoHybridMOLS< EOT > Member List

This is the complete list of members for moeoHybridMOLS< EOT >, including all inherited members.

+ + + + + + + + + + + + +
archmoeoHybridMOLS< EOT > [private]
className(void) consteoUpdater [virtual]
eoHybridMOLS(eoContinue< EOT > &_term, eoSelect< EOT > &_select, moeoMOLS< EOT > &_mols, moeoArchive< EOT > &_arch)moeoHybridMOLS< EOT > [inline]
functor_category()eoF< void > [static]
lastCall()eoUpdater [virtual]
molsmoeoHybridMOLS< EOT > [private]
operator()()moeoHybridMOLS< EOT > [inline, virtual]
result_type typedefeoF< void >
selectmoeoHybridMOLS< EOT > [private]
termmoeoHybridMOLS< EOT > [private]
~eoF()eoF< void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.html b/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.html new file mode 100644 index 000000000..6d6016f44 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.html @@ -0,0 +1,141 @@ + + +ParadisEO-MOEO: moeoHybridMOLS< EOT > Class Template Reference + + + + +
+
+
+
+

moeoHybridMOLS< EOT > Class Template Reference

This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. +More... +

+#include <moeoHybridMOLS.h> +

+

Inheritance diagram for moeoHybridMOLS< EOT >: +

+ +eoUpdater +eoF< void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 eoHybridMOLS (eoContinue< EOT > &_term, eoSelect< EOT > &_select, moeoMOLS< EOT > &_mols, moeoArchive< EOT > &_arch)
 Ctor.
+void operator() ()
 Applies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified.

Private Attributes

+eoContinue< EOT > & term
 stopping criteria
+eoSelect< EOT > & select
 selector
+moeoMOLS< EOT > & mols
 multi-objective local search
+moeoArchive< EOT > & arch
 archive
+

Detailed Description

+

template<class EOT>
+ class moeoHybridMOLS< EOT >

+ +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. +

+ +

+Definition at line 27 of file moeoHybridMOLS.h.


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoHybridMOLS< EOT >::eoHybridMOLS (eoContinue< EOT > &  _term,
eoSelect< EOT > &  _select,
moeoMOLS< EOT > &  _mols,
moeoArchive< EOT > &  _arch 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + + +
_term stopping criteria
_select selector
_mols a multi-objective local search
_arch the archive
+
+ +

+Definition at line 38 of file moeoHybridMOLS.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.png b/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.png new file mode 100644 index 000000000..134f540d4 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEA-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEA-members.html new file mode 100644 index 000000000..f3753e18d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEA-members.html @@ -0,0 +1,65 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoIBEA< EOT, Fitness > Member List

This is the complete list of members for moeoIBEA< EOT, Fitness >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
calculate_worths(const eoPop< EOT > &_pop)moeoIBEA< EOT, Fitness > [inline, virtual]
defValue() consteoParam
defValue(const std::string &str)eoParam
description() consteoParam
eoParam()eoParam
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, WorthT >
eoPerf2WorthCached(std::string _description="Worths")eoPerf2WorthCached< EOT, double >
eoValueParam(void)eoValueParam< std::vector< WorthT > >
eoValueParam(std::vector< WorthT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< WorthT > >
functor_category()eoUF< const eoPop< EOT > &, void > [static]
getValue(void) consteoValueParam< std::vector< WorthT > > [virtual]
ImoeoIBEA< EOT, Fitness > [protected]
longName() consteoParam
moeoIBEA(moeoBinaryQualityIndicator< Fitness > *_I)moeoIBEA< EOT, Fitness > [inline]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
eoPerf2Worth::operator()(eoPop< EOT > &_pop)eoPerf2Worth< EOT, WorthT > [virtual]
repValueeoValueParam< std::vector< WorthT > > [protected]
required() consteoParam
resize(eoPop< EOT > &_pop, unsigned sz)eoPerf2WorthCached< EOT, double > [virtual]
setLongName(std::string _longName)eoParam
setValue(const std::string &_value)eoValueParam< std::vector< WorthT > > [virtual]
shortName() consteoParam
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
value()eoValueParam< std::vector< WorthT > >
value() consteoValueParam< std::vector< WorthT > >
~eoFunctorBase()eoFunctorBase [virtual]
~eoParam()eoParam [virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEA.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEA.html new file mode 100644 index 000000000..959005c10 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEA.html @@ -0,0 +1,111 @@ + + +ParadisEO-MOEO: moeoIBEA< EOT, Fitness > Class Template Reference + + + + +
+
+
+
+

moeoIBEA< EOT, Fitness > Class Template Reference

Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). +More... +

+#include <moeoIBEA.h> +

+

Inheritance diagram for moeoIBEA< EOT, Fitness >: +

+ +eoPerf2WorthCached< EOT, double > +eoPerf2Worth< EOT, WorthT > +eoUF< const eoPop< EOT > &, void > +eoValueParam< std::vector< WorthT > > +eoFunctorBase +eoParam +moeoIBEASorting< EOT, Fitness > + +List of all members. + + + + + + + + + + + +

Public Member Functions

moeoIBEA (moeoBinaryQualityIndicator< Fitness > *_I)
void calculate_worths (const eoPop< EOT > &_pop)
 mapping

Protected Attributes

+moeoBinaryQualityIndicator<
+ Fitness > * 
I
 binary quality indicator to use in the selection process
+

Detailed Description

+

template<class EOT, class Fitness>
+ class moeoIBEA< EOT, Fitness >

+ +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). +

+ +

+Definition at line 28 of file moeoIBEA.h.


Member Function Documentation

+ +
+
+
+template<class EOT, class Fitness>
+ + + + + + + + + +
void moeoIBEA< EOT, Fitness >::calculate_worths (const eoPop< EOT > &  _pop  )  [inline, virtual]
+
+
+ +

+mapping +

+

Parameters:
+ + +
const eoPop<EOT>& _pop the population
+
+ +

+Implements eoPerf2WorthCached< EOT, double >. +

+Definition at line 46 of file moeoIBEA.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEA.png b/trunk/paradiseo-moeo/docs/html/classmoeoIBEA.png new file mode 100644 index 000000000..2c0c9137b Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoIBEA.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting-members.html new file mode 100644 index 000000000..01daac187 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting-members.html @@ -0,0 +1,69 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoIBEAAvgSorting< EOT, FitnessEval > Member List

This is the complete list of members for moeoIBEAAvgSorting< EOT, FitnessEval >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
calculate_worths(const eoPop< EOT > &_pop)moeoIBEA< EOT, FitnessEval > [inline, virtual]
defValue() consteoParam
defValue(const std::string &str)eoParam
description() consteoParam
eoParam()eoParam
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, WorthT >
eoPerf2WorthCached(std::string _description="Worths")eoPerf2WorthCached< EOT, double >
eoValueParam(void)eoValueParam< std::vector< WorthT > >
eoValueParam(std::vector< WorthT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< WorthT > >
fitnesses(const eoPop< EOT > &_pop)moeoIBEAAvgSorting< EOT, FitnessEval > [inline, private, virtual]
functor_category()eoUF< const eoPop< EOT > &, void > [static]
getValue(void) consteoValueParam< std::vector< WorthT > > [virtual]
ImoeoIBEA< EOT, FitnessEval > [protected]
kappamoeoIBEAAvgSorting< EOT, FitnessEval > [private]
longName() consteoParam
moeoIBEA(moeoBinaryQualityIndicator< FitnessEval > *_I)moeoIBEA< EOT, FitnessEval > [inline]
moeoIBEAAvgSorting(moeoBinaryQualityIndicator< FitnessEval > *_I, const double _kappa)moeoIBEAAvgSorting< EOT, FitnessEval > [inline]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
eoPerf2Worth::operator()(eoPop< EOT > &_pop)eoPerf2Worth< EOT, WorthT > [virtual]
repValueeoValueParam< std::vector< WorthT > > [protected]
required() consteoParam
resize(eoPop< EOT > &_pop, unsigned sz)eoPerf2WorthCached< EOT, double > [virtual]
setBounds(const eoPop< EOT > &_pop)moeoIBEAAvgSorting< EOT, FitnessEval > [inline, private, virtual]
setLongName(std::string _longName)eoParam
setValue(const std::string &_value)eoValueParam< std::vector< WorthT > > [virtual]
shortName() consteoParam
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
value()eoValueParam< std::vector< WorthT > >
value() consteoValueParam< std::vector< WorthT > >
~eoFunctorBase()eoFunctorBase [virtual]
~eoParam()eoParam [virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.html new file mode 100644 index 000000000..8cb8c716b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.html @@ -0,0 +1,195 @@ + + +ParadisEO-MOEO: moeoIBEAAvgSorting< EOT, FitnessEval > Class Template Reference + + + + +
+
+
+
+

moeoIBEAAvgSorting< EOT, FitnessEval > Class Template Reference

Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper "Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization", 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +More... +

+#include <moeoIBEA.h> +

+

Inheritance diagram for moeoIBEAAvgSorting< EOT, FitnessEval >: +

+ +moeoIBEA< EOT, FitnessEval > +eoPerf2WorthCached< EOT, double > +eoPerf2Worth< EOT, WorthT > +eoUF< const eoPop< EOT > &, void > +eoValueParam< std::vector< WorthT > > +eoFunctorBase +eoParam + +List of all members. + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoIBEAAvgSorting (moeoBinaryQualityIndicator< FitnessEval > *_I, const double _kappa)
 constructor

Private Member Functions

void setBounds (const eoPop< EOT > &_pop)
 computation and setting of the bounds for each objective
void fitnesses (const eoPop< EOT > &_pop)
 computation and setting of the fitness for each individual of the population

Private Attributes

+double kappa
 scaling factor kappa
+

Detailed Description

+

template<class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval>
+ class moeoIBEAAvgSorting< EOT, FitnessEval >

+ +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper "Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization", 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +

+ +

+Definition at line 361 of file moeoIBEA.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval>
+ + + + + + + + + + + + + + + + + + +
moeoIBEAAvgSorting< EOT, FitnessEval >::moeoIBEAAvgSorting (moeoBinaryQualityIndicator< FitnessEval > *  _I,
const double  _kappa 
) [inline]
+
+
+ +

+constructor +

+

Parameters:
+ + + +
eoBinaryQualityIndicator<EOT>* _I the binary quality indicator to use in the selection process
double _kappa scaling factor kappa
+
+ +

+Definition at line 373 of file moeoIBEA.h. +

+References moeoIBEAAvgSorting< EOT, FitnessEval >::kappa. +

+

+


Member Function Documentation

+ +
+
+
+template<class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval>
+ + + + + + + + + +
void moeoIBEAAvgSorting< EOT, FitnessEval >::setBounds (const eoPop< EOT > &  _pop  )  [inline, private, virtual]
+
+
+ +

+computation and setting of the bounds for each objective +

+

Parameters:
+ + +
const eoPop<EOT>& _pop the population
+
+ +

+Implements moeoIBEA< EOT, FitnessEval >. +

+Definition at line 398 of file moeoIBEA.h. +

+References moeoIBEA< EOT, FitnessEval >::I, and moeoBinaryQualityIndicator< EOFitness >::setBounds(). +

+

+ +

+
+
+template<class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval>
+ + + + + + + + + +
void moeoIBEAAvgSorting< EOT, FitnessEval >::fitnesses (const eoPop< EOT > &  _pop  )  [inline, private, virtual]
+
+
+ +

+computation and setting of the fitness for each individual of the population +

+

Parameters:
+ + +
const eoPop<EOT>& _pop the population
+
+ +

+Implements moeoIBEA< EOT, FitnessEval >. +

+Definition at line 431 of file moeoIBEA.h. +

+References moeoIBEAAvgSorting< EOT, FitnessEval >::kappa, and eoValueParam< std::vector< WorthT > >::value(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.png b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.png new file mode 100644 index 000000000..865d40459 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting-members.html new file mode 100644 index 000000000..8ad870dcc --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting-members.html @@ -0,0 +1,69 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoIBEASorting< EOT, Fitness > Member List

This is the complete list of members for moeoIBEASorting< EOT, Fitness >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
calculate_worths(const eoPop< EOT > &_pop)moeoIBEA< EOT, Fitness > [inline, virtual]
defValue() consteoParam
defValue(const std::string &str)eoParam
description() consteoParam
eoParam()eoParam
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, WorthT >
eoPerf2WorthCached(std::string _description="Worths")eoPerf2WorthCached< EOT, double >
eoValueParam(void)eoValueParam< std::vector< WorthT > >
eoValueParam(std::vector< WorthT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< WorthT > >
fitnesses(const eoPop< EOT > &_pop)moeoIBEASorting< EOT, Fitness > [inline, private, virtual]
functor_category()eoUF< const eoPop< EOT > &, void > [static]
getValue(void) consteoValueParam< std::vector< WorthT > > [virtual]
ImoeoIBEA< EOT, Fitness > [protected]
kappamoeoIBEASorting< EOT, Fitness > [private]
longName() consteoParam
moeoIBEA(moeoBinaryQualityIndicator< Fitness > *_I)moeoIBEA< EOT, Fitness > [inline]
moeoIBEASorting(moeoBinaryQualityIndicator< Fitness > *_I, const double _kappa)moeoIBEASorting< EOT, Fitness > [inline]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
eoPerf2Worth::operator()(eoPop< EOT > &_pop)eoPerf2Worth< EOT, WorthT > [virtual]
repValueeoValueParam< std::vector< WorthT > > [protected]
required() consteoParam
resize(eoPop< EOT > &_pop, unsigned sz)eoPerf2WorthCached< EOT, double > [virtual]
setBounds(const eoPop< EOT > &_pop)moeoIBEASorting< EOT, Fitness > [inline, private, virtual]
setLongName(std::string _longName)eoParam
setValue(const std::string &_value)eoValueParam< std::vector< WorthT > > [virtual]
shortName() consteoParam
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
value()eoValueParam< std::vector< WorthT > >
value() consteoValueParam< std::vector< WorthT > >
~eoFunctorBase()eoFunctorBase [virtual]
~eoParam()eoParam [virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.html new file mode 100644 index 000000000..eb95714db --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.html @@ -0,0 +1,195 @@ + + +ParadisEO-MOEO: moeoIBEASorting< EOT, Fitness > Class Template Reference + + + + +
+
+
+
+

moeoIBEASorting< EOT, Fitness > Class Template Reference

Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper "Indicator-Based Selection in Multiobjective Search" (2004) Of course, Fitness needs to be an eoParetoFitness object. +More... +

+#include <moeoIBEA.h> +

+

Inheritance diagram for moeoIBEASorting< EOT, Fitness >: +

+ +moeoIBEA< EOT, Fitness > +eoPerf2WorthCached< EOT, double > +eoPerf2Worth< EOT, WorthT > +eoUF< const eoPop< EOT > &, void > +eoValueParam< std::vector< WorthT > > +eoFunctorBase +eoParam + +List of all members. + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoIBEASorting (moeoBinaryQualityIndicator< Fitness > *_I, const double _kappa)
 constructor

Private Member Functions

void setBounds (const eoPop< EOT > &_pop)
 computation and setting of the bounds for each objective
void fitnesses (const eoPop< EOT > &_pop)
 computation and setting of the fitness for each individual of the population

Private Attributes

+double kappa
 scaling factor kappa
+

Detailed Description

+

template<class EOT, class Fitness = typename EOT::Fitness>
+ class moeoIBEASorting< EOT, Fitness >

+ +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper "Indicator-Based Selection in Multiobjective Search" (2004) Of course, Fitness needs to be an eoParetoFitness object. +

+ +

+Definition at line 84 of file moeoIBEA.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT, class Fitness = typename EOT::Fitness>
+ + + + + + + + + + + + + + + + + + +
moeoIBEASorting< EOT, Fitness >::moeoIBEASorting (moeoBinaryQualityIndicator< Fitness > *  _I,
const double  _kappa 
) [inline]
+
+
+ +

+constructor +

+

Parameters:
+ + + +
eoBinaryQualityIndicator<EOT>* _I the binary quality indicator to use in the selection process
double _kappa scaling factor kappa
+
+ +

+Definition at line 96 of file moeoIBEA.h. +

+References moeoIBEASorting< EOT, Fitness >::kappa. +

+

+


Member Function Documentation

+ +
+
+
+template<class EOT, class Fitness = typename EOT::Fitness>
+ + + + + + + + + +
void moeoIBEASorting< EOT, Fitness >::setBounds (const eoPop< EOT > &  _pop  )  [inline, private, virtual]
+
+
+ +

+computation and setting of the bounds for each objective +

+

Parameters:
+ + +
const eoPop<EOT>& _pop the population
+
+ +

+Implements moeoIBEA< EOT, Fitness >. +

+Definition at line 121 of file moeoIBEA.h. +

+References moeoIBEA< EOT, Fitness >::I, and moeoBinaryQualityIndicator< EOFitness >::setBounds(). +

+

+ +

+
+
+template<class EOT, class Fitness = typename EOT::Fitness>
+ + + + + + + + + +
void moeoIBEASorting< EOT, Fitness >::fitnesses (const eoPop< EOT > &  _pop  )  [inline, private, virtual]
+
+
+ +

+computation and setting of the fitness for each individual of the population +

+

Parameters:
+ + +
const eoPop<EOT>& _pop the population
+
+ +

+Implements moeoIBEA< EOT, Fitness >. +

+Definition at line 150 of file moeoIBEA.h. +

+References moeoIBEASorting< EOT, Fitness >::kappa, and eoValueParam< std::vector< WorthT > >::value(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.png b/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.png new file mode 100644 index 000000000..a3fac48f0 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting-members.html new file mode 100644 index 000000000..c6e3db6f4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting-members.html @@ -0,0 +1,69 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoIBEAStochSorting< EOT, FitnessEval > Member List

This is the complete list of members for moeoIBEAStochSorting< EOT, FitnessEval >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
calculate_worths(const eoPop< EOT > &_pop)moeoIBEA< EOT, FitnessEval > [inline, virtual]
defValue() consteoParam
defValue(const std::string &str)eoParam
description() consteoParam
eoParam()eoParam
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, WorthT >
eoPerf2WorthCached(std::string _description="Worths")eoPerf2WorthCached< EOT, double >
eoValueParam(void)eoValueParam< std::vector< WorthT > >
eoValueParam(std::vector< WorthT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< WorthT > >
fitnesses(const eoPop< EOT > &_pop)moeoIBEAStochSorting< EOT, FitnessEval > [inline, private, virtual]
functor_category()eoUF< const eoPop< EOT > &, void > [static]
getValue(void) consteoValueParam< std::vector< WorthT > > [virtual]
ImoeoIBEA< EOT, FitnessEval > [protected]
longName() consteoParam
moeoIBEA(moeoBinaryQualityIndicator< FitnessEval > *_I)moeoIBEA< EOT, FitnessEval > [inline]
moeoIBEAStochSorting(moeoBinaryQualityIndicator< FitnessEval > *_I)moeoIBEAStochSorting< EOT, FitnessEval > [inline]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
eoPerf2Worth::operator()(eoPop< EOT > &_pop)eoPerf2Worth< EOT, WorthT > [virtual]
repValueeoValueParam< std::vector< WorthT > > [protected]
required() consteoParam
resize(eoPop< EOT > &_pop, unsigned sz)eoPerf2WorthCached< EOT, double > [virtual]
setBounds(const eoPop< EOT > &_pop)moeoIBEAStochSorting< EOT, FitnessEval > [inline, private, virtual]
setLongName(std::string _longName)eoParam
setValue(const std::string &_value)eoValueParam< std::vector< WorthT > > [virtual]
shortName() consteoParam
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
value()eoValueParam< std::vector< WorthT > >
value() consteoValueParam< std::vector< WorthT > >
zero()moeoIBEAStochSorting< EOT, FitnessEval > [inline, private, static]
~eoFunctorBase()eoFunctorBase [virtual]
~eoParam()eoParam [virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.html new file mode 100644 index 000000000..9647f7961 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.html @@ -0,0 +1,183 @@ + + +ParadisEO-MOEO: moeoIBEAStochSorting< EOT, FitnessEval > Class Template Reference + + + + +
+
+
+
+

moeoIBEAStochSorting< EOT, FitnessEval > Class Template Reference

Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper "Handling Uncertainty in Indicator-Based Multiobjective Optimization" (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +More... +

+#include <moeoIBEA.h> +

+

Inheritance diagram for moeoIBEAStochSorting< EOT, FitnessEval >: +

+ +moeoIBEA< EOT, FitnessEval > +eoPerf2WorthCached< EOT, double > +eoPerf2Worth< EOT, WorthT > +eoUF< const eoPop< EOT > &, void > +eoValueParam< std::vector< WorthT > > +eoFunctorBase +eoParam + +List of all members. + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoIBEAStochSorting (moeoBinaryQualityIndicator< FitnessEval > *_I)
 constructor

Private Member Functions

void setBounds (const eoPop< EOT > &_pop)
 computation and setting of the bounds for each objective
void fitnesses (const eoPop< EOT > &_pop)
 computation and setting of the fitness for each individual of the population

Static Private Member Functions

+static double zero ()
 approximated zero value
+

Detailed Description

+

template<class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval>
+ class moeoIBEAStochSorting< EOT, FitnessEval >

+ +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper "Handling Uncertainty in Indicator-Based Multiobjective Optimization" (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +

+ +

+Definition at line 203 of file moeoIBEA.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval>
+ + + + + + + + + +
moeoIBEAStochSorting< EOT, FitnessEval >::moeoIBEAStochSorting (moeoBinaryQualityIndicator< FitnessEval > *  _I  )  [inline]
+
+
+ +

+constructor +

+

Parameters:
+ + +
eoBinaryQualityIndicator<EOT>* _I the binary quality indicator to use in the selection process
+
+ +

+Definition at line 214 of file moeoIBEA.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval>
+ + + + + + + + + +
void moeoIBEAStochSorting< EOT, FitnessEval >::setBounds (const eoPop< EOT > &  _pop  )  [inline, private, virtual]
+
+
+ +

+computation and setting of the bounds for each objective +

+

Parameters:
+ + +
const eoPop<EOT>& _pop the population
+
+ +

+Implements moeoIBEA< EOT, FitnessEval >. +

+Definition at line 243 of file moeoIBEA.h. +

+References moeoIBEA< EOT, FitnessEval >::I, and moeoBinaryQualityIndicator< EOFitness >::setBounds(). +

+

+ +

+
+
+template<class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval>
+ + + + + + + + + +
void moeoIBEAStochSorting< EOT, FitnessEval >::fitnesses (const eoPop< EOT > &  _pop  )  [inline, private, virtual]
+
+
+ +

+computation and setting of the fitness for each individual of the population +

+

Parameters:
+ + +
const eoPop<EOT>& _pop the population
+
+ +

+Implements moeoIBEA< EOT, FitnessEval >. +

+Definition at line 272 of file moeoIBEA.h. +

+References eoValueParam< std::vector< WorthT > >::value(), and moeoIBEAStochSorting< EOT, FitnessEval >::zero(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.png b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.png new file mode 100644 index 000000000..bdd99113f Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.html b/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.html new file mode 100644 index 000000000..244de8d2b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoMOLS< EOT > Class Template Reference + + + + +
+
+
+
+

moeoMOLS< EOT > Class Template Reference

Abstract class for local searches applied to multi-objective optimization. +More... +

+#include <moeoMOLS.h> +

+

Inheritance diagram for moeoMOLS< EOT >: +

+ +eoBF< const EOT &, moeoArchive< EOT > &, void > +eoFunctorBase +moeoCombinedMOLS< EOT > + + + +
+

Detailed Description

+

template<class EOT>
+ class moeoMOLS< EOT >

+ +Abstract class for local searches applied to multi-objective optimization. +

+Starting from only one solution, it produces a set of new non-dominated solutions. +

+ +

+Definition at line 23 of file moeoMOLS.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.png b/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.png new file mode 100644 index 000000000..e3241c9a1 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoMetric.html b/trunk/paradiseo-moeo/docs/html/classmoeoMetric.html new file mode 100644 index 000000000..a9a364bb2 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoMetric.html @@ -0,0 +1,63 @@ + + +ParadisEO-MOEO: moeoMetric Class Reference + + + + +
+
+
+
+

moeoMetric Class Reference

Base class for performance metrics (also called quality indicators). +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoMetric: +

+ +eoFunctorBase +moeoBM< A1, A2, R > +moeoBM< const const EOFitness &, EOFitness &, R > +moeoBM< const const std::vector< EOFitness > &, EOFitness &, R > +moeoBM< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R > +moeoBM< const const std::vector< typename EOT::Fitness > &, std::vector< typename EOT::Fitness > &, double > +moeoUM< A, R > +moeoUM< const EOFitness &, R > +moeoUM< const std::vector< EOFitness > &, R > + + + +
+

Detailed Description

+Base class for performance metrics (also called quality indicators). +

+ +

+Definition at line 21 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoMetric.png b/trunk/paradiseo-moeo/docs/html/classmoeoMetric.png new file mode 100644 index 000000000..a11119d0a Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoMetric.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II-members.html new file mode 100644 index 000000000..7e463b604 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II-members.html @@ -0,0 +1,68 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoNDSorting_II< EOT > Member List

This is the complete list of members for moeoNDSorting_II< EOT >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
calculate_worths(const eoPop< EOT > &_pop)eoNDSorting< EOT > [virtual]
defValue() consteoParam
defValue(const std::string &str)eoParam
description() consteoParam
double_index_pair typedefmoeoNDSorting_II< EOT >
eoNDSorting(bool nasty_flag_=false)eoNDSorting< EOT >
eoParam()eoParam
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, WorthT >
eoPerf2WorthCached(std::string _description="Worths")eoPerf2WorthCached< EOT, double >
eoValueParam(void)eoValueParam< std::vector< WorthT > >
eoValueParam(std::vector< WorthT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< WorthT > >
functor_category()eoUF< const eoPop< EOT > &, void > [static]
getValue(void) consteoValueParam< std::vector< WorthT > > [virtual]
longName() consteoParam
moeoNDSorting_II(bool nasty_flag_=false)moeoNDSorting_II< EOT > [inline]
nasty_declone_flag_that_only_is_implemented_for_two_objectiveseoNDSorting< EOT >
niche_penalty(const std::vector< unsigned > &_cf, const eoPop< EOT > &_pop)moeoNDSorting_II< EOT > [inline, virtual]
operator()(const eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
eoPerf2Worth::operator()(eoPop< EOT > &_pop)eoPerf2Worth< EOT, WorthT > [virtual]
repValueeoValueParam< std::vector< WorthT > > [protected]
required() consteoParam
resize(eoPop< EOT > &_pop, unsigned sz)eoPerf2WorthCached< EOT, double > [virtual]
setLongName(std::string _longName)eoParam
setValue(const std::string &_value)eoValueParam< std::vector< WorthT > > [virtual]
shortName() consteoParam
sort_pop(eoPop< EOT > &_pop)eoPerf2WorthCached< EOT, double > [virtual]
value()eoValueParam< std::vector< WorthT > >
value() consteoValueParam< std::vector< WorthT > >
~eoFunctorBase()eoFunctorBase [virtual]
~eoParam()eoParam [virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.html b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.html new file mode 100644 index 000000000..90fafc913 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.html @@ -0,0 +1,86 @@ + + +ParadisEO-MOEO: moeoNDSorting_II< EOT > Class Template Reference + + + + +
+
+
+
+

moeoNDSorting_II< EOT > Class Template Reference

Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original eoNDSorting_II class. +More... +

+#include <moeoNDSorting.h> +

+

Inheritance diagram for moeoNDSorting_II< EOT >: +

+ +eoNDSorting< EOT > +eoPerf2WorthCached< EOT, double > +eoPerf2Worth< EOT, WorthT > +eoUF< const eoPop< EOT > &, void > +eoValueParam< std::vector< WorthT > > +eoFunctorBase +eoParam + +List of all members. + + + + + + + + + + + + + + + + +

Public Types

+typedef std::pair< double,
+ unsigned > 
double_index_pair
 index pair

Public Member Functions

moeoNDSorting_II (bool nasty_flag_=false)
 constructor
+std::vector< double > niche_penalty (const std::vector< unsigned > &_cf, const eoPop< EOT > &_pop)
 _cf points into the elements that consist of the current front

Classes

class  compare_nodes
 A class to compare the nodes. More...
+

Detailed Description

+

template<class EOT>
+ class moeoNDSorting_II< EOT >

+ +Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original eoNDSorting_II class. +

+

See also:
eoNDSorting_II
+ +

+ +

+Definition at line 26 of file moeoNDSorting.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.png b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.png new file mode 100644 index 000000000..4ad772517 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes-members.html new file mode 100644 index 000000000..58abd5804 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes-members.html @@ -0,0 +1,37 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoNDSorting_II< EOT >::compare_nodes Member List

This is the complete list of members for moeoNDSorting_II< EOT >::compare_nodes, including all inherited members.

+ +
operator()(const double_index_pair &a, const double_index_pair &b) constmoeoNDSorting_II< EOT >::compare_nodes [inline]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes.html b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes.html new file mode 100644 index 000000000..bfa853588 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes.html @@ -0,0 +1,59 @@ + + +ParadisEO-MOEO: moeoNDSorting_II< EOT >::compare_nodes Class Reference + + + + +
+
+
+
+ +

moeoNDSorting_II< EOT >::compare_nodes Class Reference

A class to compare the nodes. +More... +

+#include <moeoNDSorting.h> +

+List of all members. + + + + +

Public Member Functions

+bool operator() (const double_index_pair &a, const double_index_pair &b) const
+


Detailed Description

+

template<class EOT>
+ class moeoNDSorting_II< EOT >::compare_nodes

+ +A class to compare the nodes. +

+ +

+Definition at line 46 of file moeoNDSorting.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II-members.html new file mode 100644 index 000000000..7c67a0c8e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II-members.html @@ -0,0 +1,49 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoNSGA_II< EOT > Member List

This is the complete list of members for moeoNSGA_II< EOT >, including all inherited members.

+ + + + + + + + + + + + + +
breedmoeoNSGA_II< EOT > [protected]
continuatormoeoNSGA_II< EOT > [protected]
evalmoeoNSGA_II< EOT > [protected]
genBreedmoeoNSGA_II< EOT > [protected]
loopEvalmoeoNSGA_II< EOT > [protected]
moeoNSGA_II(unsigned _max_gen, eoEvalFunc< EOT > &_eval, eoGenOp< EOT > &_op)moeoNSGA_II< EOT > [inline]
moeoNSGA_II(unsigned _max_gen, eoEvalFunc< EOT > &_eval, eoQuadOp< EOT > &crossover, double pCross, eoMonOp< EOT > &mutation, double pMut)moeoNSGA_II< EOT > [inline]
moeoNSGA_II(eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoGenOp< EOT > &_op)moeoNSGA_II< EOT > [inline]
operator()(eoPop< EOT > &_pop)moeoNSGA_II< EOT > [inline, virtual]
popEvalmoeoNSGA_II< EOT > [protected]
replacemoeoNSGA_II< EOT > [protected]
selectOnemoeoNSGA_II< EOT > [protected]
sortingmoeoNSGA_II< EOT > [protected]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.html b/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.html new file mode 100644 index 000000000..bdfe1e30e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.html @@ -0,0 +1,152 @@ + + +ParadisEO-MOEO: moeoNSGA_II< EOT > Class Template Reference + + + + +
+
+
+
+

moeoNSGA_II< EOT > Class Template Reference

Inheritance diagram for moeoNSGA_II< EOT >: +

+ +eoAlgo< EOT > +eoUF< eoPop< EOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoNSGA_II (unsigned _max_gen, eoEvalFunc< EOT > &_eval, eoGenOp< EOT > &_op)
 This constructor builds the algorithm as descibed in the paper.
moeoNSGA_II (unsigned _max_gen, eoEvalFunc< EOT > &_eval, eoQuadOp< EOT > &crossover, double pCross, eoMonOp< EOT > &mutation, double pMut)
 Ctor taking _max_gen, crossover and mutation.
moeoNSGA_II (eoContinue< EOT > &_continuator, eoEvalFunc< EOT > &_eval, eoGenOp< EOT > &_op)
 Ctor taking a continuator instead of _gen_max.
+virtual void operator() (eoPop< EOT > &_pop)
 Apply a few generation of evolution to the population.

Protected Attributes

+eoContinue< EOT > & continuator
+eoEvalFunc< EOT > & eval
+eoPopLoopEval< EOT > loopEval
+eoPopEvalFunc< EOT > & popEval
+moeoNDSorting_II< EOT > sorting
 NSGAII sorting.
+eoDetTournamentWorthSelect<
+ EOT > 
selectOne
 Binary tournament selection.
+moeoElitistReplacement< EOT > replace
 Elitist replacement.
+eoGeneralBreeder< EOT > genBreed
+eoBreed< EOT > & breed
+

Detailed Description

+

template<class EOT>
+ class moeoNSGA_II< EOT >

+ + +

+ +

+Definition at line 31 of file moeoNSGA_II.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoNSGA_II< EOT >::moeoNSGA_II (unsigned  _max_gen,
eoEvalFunc< EOT > &  _eval,
eoGenOp< EOT > &  _op 
) [inline]
+
+
+ +

+This constructor builds the algorithm as descibed in the paper. +

+Deb, K., S. Agrawal, A. Pratap, and T. Meyarivan, A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197, April 2002.

Parameters:
+ + + + +
_max_gen number of generations before stopping
_eval evaluation function
_op variation operator
+
+ +

+Definition at line 46 of file moeoNSGA_II.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.png b/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.png new file mode 100644 index 000000000..3d85e6dca Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist-members.html new file mode 100644 index 000000000..21cb0d9bc --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist-members.html @@ -0,0 +1,37 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoParetoEuclidDist< EOT, DistType > Member List

This is the complete list of members for moeoParetoEuclidDist< EOT, DistType >, including all inherited members.

+ +
operator()(const EOT &eopf1, const EOT &eopf2)moeoParetoEuclidDist< EOT, DistType > [inline, virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.html b/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.html new file mode 100644 index 000000000..56d3d301a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.html @@ -0,0 +1,57 @@ + + +ParadisEO-MOEO: moeoParetoEuclidDist< EOT, DistType > Class Template Reference + + + + +
+
+
+
+

moeoParetoEuclidDist< EOT, DistType > Class Template Reference

Inheritance diagram for moeoParetoEuclidDist< EOT, DistType >: +

+ +moeoParetoPhenDist< EOT, DistType > + +List of all members. + + + + +

Public Member Functions

+DistType operator() (const EOT &eopf1, const EOT &eopf2)
+

Detailed Description

+

template<class EOT, class DistType = double>
+ class moeoParetoEuclidDist< EOT, DistType >

+ + +

+ +

+Definition at line 27 of file moeoParetoPhenDist.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.png b/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.png new file mode 100644 index 000000000..49237bed5 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist-members.html new file mode 100644 index 000000000..fb8e64ccf --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist-members.html @@ -0,0 +1,36 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoParetoPhenDist< EOT, DistType > Member List

This is the complete list of members for moeoParetoPhenDist< EOT, DistType >, including all inherited members.

+


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.html b/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.html new file mode 100644 index 000000000..01f20092e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.html @@ -0,0 +1,53 @@ + + +ParadisEO-MOEO: moeoParetoPhenDist< EOT, DistType > Class Template Reference + + + + +
+
+
+
+

moeoParetoPhenDist< EOT, DistType > Class Template Reference

Inheritance diagram for moeoParetoPhenDist< EOT, DistType >: +

+ +moeoParetoEuclidDist< EOT, DistType > + +List of all members. + +
+

Detailed Description

+

template<class EOT, class DistType>
+ class moeoParetoPhenDist< EOT, DistType >

+ + +

+ +

+Definition at line 15 of file moeoParetoPhenDist.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.png b/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.png new file mode 100644 index 000000000..6a7bfb562 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing-members.html new file mode 100644 index 000000000..d440fb7ef --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing-members.html @@ -0,0 +1,69 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoParetoSharing< EOT, worthT > Member List

This is the complete list of members for moeoParetoSharing< EOT, worthT >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
defValue() consteoParam
defValue(const std::string &str)eoParam
description() consteoParam
distmoeoParetoSharing< EOT, worthT > [private]
DmaxmoeoParetoSharing< EOT, worthT > [private]
eoParam()eoParam
eoParam(std::string _longName, std::string _default, std::string _description, char _shortName=0, bool _required=false)eoParam
eoPerf2Worth(std::string _description="Worths")eoPerf2Worth< EOT, worthT >
eoValueParam(void)eoValueParam< std::vector< worthT > >
eoValueParam(std::vector< worthT >_defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)eoValueParam< std::vector< worthT > >
euc_distmoeoParetoSharing< EOT, worthT > [private]
functor_category()eoUF< const eoPop< EOT > &, void > [static]
getValue(void) consteoValueParam< std::vector< worthT > > [virtual]
longName() consteoParam
moeoParetoSharing(double _nicheSize)moeoParetoSharing< EOT, worthT > [inline]
moeoParetoSharing(double _nicheSize, moeoParetoPhenDist< EOT, worthT > &_dist)moeoParetoSharing< EOT, worthT > [inline]
nicheSizemoeoParetoSharing< EOT, worthT > [private]
operator()(const eoPop< EOT > &_pop)moeoParetoSharing< EOT, worthT > [inline]
operator()(eoPop< EOT > &_pop)eoPerf2Worth< EOT, worthT > [virtual]
eoUF< const eoPop< EOT > &, void >::operator()(const eoPop< EOT > &)=0eoUF< const eoPop< EOT > &, void > [pure virtual]
repValueeoValueParam< std::vector< worthT > > [protected]
required() consteoParam
resize(eoPop< EOT > &_pop, unsigned sz)eoPerf2Worth< EOT, worthT > [virtual]
setLongName(std::string _longName)eoParam
setValue(const std::string &_value)eoValueParam< std::vector< worthT > > [virtual]
sh(double dist, double Dmax)moeoParetoSharing< EOT, worthT > [inline, private]
shortName() consteoParam
sort_pop(eoPop< EOT > &_pop)eoPerf2Worth< EOT, worthT > [virtual]
value()eoValueParam< std::vector< worthT > >
value() consteoValueParam< std::vector< worthT > >
~eoFunctorBase()eoFunctorBase [virtual]
~eoParam()eoParam [virtual]
~eoUF()eoUF< const eoPop< EOT > &, void > [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.html b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.html new file mode 100644 index 000000000..101b85bc8 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.html @@ -0,0 +1,87 @@ + + +ParadisEO-MOEO: moeoParetoSharing< EOT, worthT > Class Template Reference + + + + +
+
+
+
+

moeoParetoSharing< EOT, worthT > Class Template Reference

Inheritance diagram for moeoParetoSharing< EOT, worthT >: +

+ +eoPerf2Worth< EOT, worthT > +eoUF< const eoPop< EOT > &, void > +eoValueParam< std::vector< worthT > > +eoFunctorBase +eoParam + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

moeoParetoSharing (double _nicheSize)
moeoParetoSharing (double _nicheSize, moeoParetoPhenDist< EOT, worthT > &_dist)
+void operator ()(const eoPop< EOT > &_pop)

Private Member Functions

+double sh (double dist, double Dmax)

Private Attributes

+double nicheSize
+moeoParetoPhenDist< EOT, worthT > & dist
+moeoParetoEuclidDist< EOT > euc_dist
+double Dmax

Classes

class  dMatrix
+

Detailed Description

+

template<class EOT, class worthT = double>
+ class moeoParetoSharing< EOT, worthT >

+ + +

+ +

+Definition at line 19 of file moeoParetoSharing.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.png b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.png new file mode 100644 index 000000000..2658cacc5 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix-members.html new file mode 100644 index 000000000..27f6d8f94 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix-members.html @@ -0,0 +1,39 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoParetoSharing< EOT, worthT >::dMatrix Member List

This is the complete list of members for moeoParetoSharing< EOT, worthT >::dMatrix, including all inherited members.

+ + + +
dMatrix(unsigned _s)moeoParetoSharing< EOT, worthT >::dMatrix [inline]
printOn(std::ostream &_os)moeoParetoSharing< EOT, worthT >::dMatrix [inline]
rSizemoeoParetoSharing< EOT, worthT >::dMatrix [private]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix.html b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix.html new file mode 100644 index 000000000..7ba408bfe --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix.html @@ -0,0 +1,61 @@ + + +ParadisEO-MOEO: moeoParetoSharing< EOT, worthT >::dMatrix Class Reference + + + + +
+
+
+
+ +

moeoParetoSharing< EOT, worthT >::dMatrix Class Reference

List of all members. + + + + + + + + + +

Public Member Functions

dMatrix (unsigned _s)
+void printOn (std::ostream &_os)

Private Attributes

+unsigned rSize
+

Detailed Description

+

template<class EOT, class worthT = double>
+ class moeoParetoSharing< EOT, worthT >::dMatrix

+ + +

+ +

+Definition at line 109 of file moeoParetoSharing.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoReplacement.html b/trunk/paradiseo-moeo/docs/html/classmoeoReplacement.html new file mode 100644 index 000000000..da9051d3e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoReplacement.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoReplacement< EOT, WorthT > Class Template Reference + + + + +
+
+
+
+

moeoReplacement< EOT, WorthT > Class Template Reference

Replacement strategy for multi-objective optimization. +More... +

+#include <moeoReplacement.h> +

+

Inheritance diagram for moeoReplacement< EOT, WorthT >: +

+ +eoReplacement< EOT > +eoBF< eoPop< EOT > &, eoPop< EOT > &, void > +eoFunctorBase +moeoDisctinctElitistReplacement< EOT, WorthT > +moeoElitistReplacement< EOT, WorthT > + + + +
+

Detailed Description

+

template<class EOT, class WorthT>
+ class moeoReplacement< EOT, WorthT >

+ +Replacement strategy for multi-objective optimization. +

+ +

+Definition at line 24 of file moeoReplacement.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoReplacement.png b/trunk/paradiseo-moeo/docs/html/classmoeoReplacement.png new file mode 100644 index 000000000..149fe72e3 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoReplacement.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch-members.html new file mode 100644 index 000000000..cb3709c3d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch-members.html @@ -0,0 +1,49 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoSelectOneFromPopAndArch< EOT > Member List

This is the complete list of members for moeoSelectOneFromPopAndArch< EOT >, including all inherited members.

+ + + + + + + + + + + + + +
archmoeoSelectOneFromPopAndArch< EOT > [private]
archSelectOnemoeoSelectOneFromPopAndArch< EOT > [private]
functor_category()eoUF< A1, R > [static]
moeoSelectOneFromPopAndArch(eoSelectOne< EOT > &_popSelectOne, eoSelectOne< EOT > _archSelectOne, moeoArchive< EOT > &_arch, double _ratioFromPop=0.5)moeoSelectOneFromPopAndArch< EOT > [inline]
moeoSelectOneFromPopAndArch(eoSelectOne< EOT > &_popSelectOne, moeoArchive< EOT > &_arch, double _ratioFromPop=0.5)moeoSelectOneFromPopAndArch< EOT > [inline]
operator()(const eoPop< EOT > &pop)moeoSelectOneFromPopAndArch< EOT > [inline, virtual]
eoSelectOne< EOT >::operator()(A1)=0eoUF< A1, R > [pure virtual]
popSelectOnemoeoSelectOneFromPopAndArch< EOT > [private]
randomSelectmoeoSelectOneFromPopAndArch< EOT > [private]
ratioFromPopmoeoSelectOneFromPopAndArch< EOT > [private]
setup(const eoPop< EOT > &_pop)moeoSelectOneFromPopAndArch< EOT > [inline, virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.html b/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.html new file mode 100644 index 000000000..e1519cce8 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.html @@ -0,0 +1,200 @@ + + +ParadisEO-MOEO: moeoSelectOneFromPopAndArch< EOT > Class Template Reference + + + + +
+
+
+
+

moeoSelectOneFromPopAndArch< EOT > Class Template Reference

Elitist selection process that consists in choosing individuals in the archive as well as in the current population. +More... +

+#include <moeoSelectOneFromPopAndArch.h> +

+

Inheritance diagram for moeoSelectOneFromPopAndArch< EOT >: +

+ +eoSelectOne< EOT > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 moeoSelectOneFromPopAndArch (eoSelectOne< EOT > &_popSelectOne, eoSelectOne< EOT > _archSelectOne, moeoArchive< EOT > &_arch, double _ratioFromPop=0.5)
 Ctor.
 moeoSelectOneFromPopAndArch (eoSelectOne< EOT > &_popSelectOne, moeoArchive< EOT > &_arch, double _ratioFromPop=0.5)
 Ctor - the archive's selection operator is a random selector.
+virtual const EOT & operator() (const eoPop< EOT > &pop)
 The selection process.
+virtual void setup (const eoPop< EOT > &_pop)
 Setups some population stats.

Private Attributes

+eoSelectOne< EOT > & popSelectOne
 The population's selection operator.
+eoSelectOne< EOT > & archSelectOne
 The archive's selection operator.
+moeoArchive< EOT > & arch
 the archive
+double ratioFromPop
 the ratio of selected individuals from the population
+eoRandomSelect< EOT > randomSelect
 the random selection operator
+

Detailed Description

+

template<class EOT>
+ class moeoSelectOneFromPopAndArch< EOT >

+ +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. +

+ +

+Definition at line 25 of file moeoSelectOneFromPopAndArch.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoSelectOneFromPopAndArch< EOT >::moeoSelectOneFromPopAndArch (eoSelectOne< EOT > &  _popSelectOne,
eoSelectOne< EOT >  _archSelectOne,
moeoArchive< EOT > &  _arch,
double  _ratioFromPop = 0.5 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + + +
_popSelectOne the population's selection operator
_archSelectOne the archive's selection operator
_arch the archive
_ratioFromPop the ratio of selected individuals from the population
+
+ +

+Definition at line 37 of file moeoSelectOneFromPopAndArch.h. +

+

+ +

+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + + + + + + + +
moeoSelectOneFromPopAndArch< EOT >::moeoSelectOneFromPopAndArch (eoSelectOne< EOT > &  _popSelectOne,
moeoArchive< EOT > &  _arch,
double  _ratioFromPop = 0.5 
) [inline]
+
+
+ +

+Ctor - the archive's selection operator is a random selector. +

+

Parameters:
+ + + + +
_popSelectOne the population's selection operator
_arch the archive
_ratioFromPop the ratio of selected individuals from the population
+
+ +

+Definition at line 49 of file moeoSelectOneFromPopAndArch.h. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.png b/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.png new file mode 100644 index 000000000..919ea21fb Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.html b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.html new file mode 100644 index 000000000..d2b0aa84f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoSolutionUM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+
+
+

moeoSolutionUM< EOT, R, EOFitness > Class Template Reference

Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoSolutionUM< EOT, R, EOFitness >: +

+ +moeoUM< const EOFitness &, R > +eoUF< const EOFitness &, R > +moeoMetric +eoFunctorBase +eoFunctorBase + + + +
+

Detailed Description

+

template<class EOT, class R, class EOFitness = typename EOT::Fitness>
+ class moeoSolutionUM< EOT, R, EOFitness >

+ +Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. +

+ +

+Definition at line 47 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.png b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.png new file mode 100644 index 000000000..6fa08b71b Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.html b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.html new file mode 100644 index 000000000..98c741a4a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoSolutionVsSolutionBM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+
+
+

moeoSolutionVsSolutionBM< EOT, R, EOFitness > Class Template Reference

Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoSolutionVsSolutionBM< EOT, R, EOFitness >: +

+ +moeoBM< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase + + + +
+

Detailed Description

+

template<class EOT, class R, class EOFitness = typename EOT::Fitness>
+ class moeoSolutionVsSolutionBM< EOT, R, EOFitness >

+ +Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. +

+ +

+Definition at line 70 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.png b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.png new file mode 100644 index 000000000..c739cd66a Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoUM.html b/trunk/paradiseo-moeo/docs/html/classmoeoUM.html new file mode 100644 index 000000000..ede77fcfe --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoUM.html @@ -0,0 +1,61 @@ + + +ParadisEO-MOEO: moeoUM< A, R > Class Template Reference + + + + +
+
+
+
+

moeoUM< A, R > Class Template Reference

Base class for unary metrics. +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoUM< A, R >: +

+ +eoUF< A, R > +moeoMetric +eoFunctorBase +eoFunctorBase + + + +
+

Detailed Description

+

template<class A, class R>
+ class moeoUM< A, R >

+ +Base class for unary metrics. +

+ +

+Definition at line 29 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoUM.png b/trunk/paradiseo-moeo/docs/html/classmoeoUM.png new file mode 100644 index 000000000..63de59401 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoUM.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.html b/trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.html new file mode 100644 index 000000000..f35d34471 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoVectorUM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+
+
+

moeoVectorUM< EOT, R, EOFitness > Class Template Reference

Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoVectorUM< EOT, R, EOFitness >: +

+ +moeoUM< const std::vector< EOFitness > &, R > +eoUF< const std::vector< EOFitness > &, R > +moeoMetric +eoFunctorBase +eoFunctorBase + + + +
+

Detailed Description

+

template<class EOT, class R, class EOFitness = typename EOT::Fitness>
+ class moeoVectorUM< EOT, R, EOFitness >

+ +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). +

+ +

+Definition at line 58 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.png b/trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.png new file mode 100644 index 000000000..3ddd615a4 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.html b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.html new file mode 100644 index 000000000..da4e4466d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoVectorVsSolutionBM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+
+
+

moeoVectorVsSolutionBM< EOT, R, EOFitness > Class Template Reference

Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoVectorVsSolutionBM< EOT, R, EOFitness >: +

+ +moeoBM< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase + + + +
+

Detailed Description

+

template<class EOT, class R, class EOFitness = typename EOT::Fitness>
+ class moeoVectorVsSolutionBM< EOT, R, EOFitness >

+ +Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. +

+ +

+Definition at line 82 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.png b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.png new file mode 100644 index 000000000..2fce31210 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.png differ diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.html b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.html new file mode 100644 index 000000000..ac6dd93f4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoVectorVsVectorBM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+
+
+

moeoVectorVsVectorBM< EOT, R, EOFitness > Class Template Reference

Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). +More... +

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoVectorVsVectorBM< EOT, R, EOFitness >: +

+ +moeoBM< A1, A2, R > +eoBF< A1, A2, R > +moeoMetric +eoFunctorBase +eoFunctorBase + + + +
+

Detailed Description

+

template<class EOT, class R, class EOFitness = typename EOT::Fitness>
+ class moeoVectorVsVectorBM< EOT, R, EOFitness >

+ +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). +

+ +

+Definition at line 95 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.png b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.png new file mode 100644 index 000000000..1c3bcd6ce Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.png differ diff --git a/trunk/paradiseo-moeo/docs/html/doxygen.css b/trunk/paradiseo-moeo/docs/html/doxygen.css new file mode 100644 index 000000000..c7db1a8a0 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/doxygen.css @@ -0,0 +1,358 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 90%; +} +H1 { + text-align: center; + font-size: 160%; +} +H2 { + font-size: 120%; +} +H3 { + font-size: 100%; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.navtab { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +TD.navtab { + font-size: 70%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +.fragment { + font-family: monospace, fixed; + font-size: 95%; +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } + +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #e8eef2; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #e8eef2; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +TD.tiny { font-size: 75%; +} +a { + color: #1A41A8; +} +a:visited { + color: #2A3798; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} +TH.dirtab { background: #e8eef2; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; +} + +/* Style for detailed member documentation */ +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; +} +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +.memitem { + padding: 4px; + background-color: #eef3f5; + border-width: 1px; + border-style: solid; + border-color: #dedeee; + -moz-border-radius: 8px 8px 8px 8px; +} +.memname { + white-space: nowrap; + font-weight: bold; +} +.memdoc{ + padding-left: 10px; +} +.memproto { + background-color: #d5e1e8; + width: 100%; + border-width: 1px; + border-style: solid; + border-color: #84b0c7; + font-weight: bold; + -moz-border-radius: 8px 8px 8px 8px; +} +.paramkey { + text-align: right; +} +.paramtype { + white-space: nowrap; +} +.paramname { + color: #602020; + font-style: italic; + white-space: nowrap; +} +/* End Styling for detailed member documentation */ + +/* for the tree view */ +.ftvtree { + font-family: sans-serif; + margin:0.5em; +} +.directory { font-size: 9pt; font-weight: bold; } +.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } +.directory > h3 { margin-top: 0; } +.directory p { margin: 0px; white-space: nowrap; } +.directory div { display: none; margin: 0px; } +.directory img { vertical-align: -30%; } diff --git a/trunk/paradiseo-moeo/docs/html/doxygen.png b/trunk/paradiseo-moeo/docs/html/doxygen.png new file mode 100644 index 000000000..f0a274bba Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/doxygen.png differ diff --git a/trunk/paradiseo-moeo/docs/html/files.html b/trunk/paradiseo-moeo/docs/html/files.html new file mode 100644 index 000000000..842f85447 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/files.html @@ -0,0 +1,52 @@ + + +ParadisEO-MOEO: File Index + + + + +
+
+

ParadisEO-MOEO File List

Here is a list of all documented files with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + +
index.h [code]
make_algo_MOEO.h [code]
moeo.h [code]
moeoArchive.h [code]
moeoArchiveFitnessSavingUpdater.h [code]
moeoArchiveUpdater.h [code]
moeoBinaryMetricSavingUpdater.h [code]
moeoBinaryQualityIndicator.h [code]
moeoCombinedMOLS.h [code]
moeoContributionMetric.h [code]
moeoEntropyMetric.h [code]
moeoHybridMOLS.h [code]
moeoIBEA.h [code]
moeoMetric.h [code]
moeoMOLS.h [code]
moeoNDSorting.h [code]
moeoNSGA_II.h [code]
moeoParetoPhenDist.h [code]
moeoParetoSharing.h [code]
moeoReplacement.h [code]
moeoSelectOneFromPopAndArch.h [code]
README [code]
+
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/ftv2blank.png b/trunk/paradiseo-moeo/docs/html/ftv2blank.png new file mode 100644 index 000000000..493c3c0b6 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2blank.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2doc.png b/trunk/paradiseo-moeo/docs/html/ftv2doc.png new file mode 100644 index 000000000..f72999f92 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2doc.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2folderclosed.png b/trunk/paradiseo-moeo/docs/html/ftv2folderclosed.png new file mode 100644 index 000000000..d6d063440 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2folderclosed.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2folderopen.png b/trunk/paradiseo-moeo/docs/html/ftv2folderopen.png new file mode 100644 index 000000000..bbe2c913c Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2folderopen.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2lastnode.png b/trunk/paradiseo-moeo/docs/html/ftv2lastnode.png new file mode 100644 index 000000000..e7b9ba90c Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2lastnode.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2link.png b/trunk/paradiseo-moeo/docs/html/ftv2link.png new file mode 100644 index 000000000..14f3fed00 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2link.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2mlastnode.png b/trunk/paradiseo-moeo/docs/html/ftv2mlastnode.png new file mode 100644 index 000000000..09ceb6adb Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2mlastnode.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2mnode.png b/trunk/paradiseo-moeo/docs/html/ftv2mnode.png new file mode 100644 index 000000000..3254c0511 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2mnode.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2node.png b/trunk/paradiseo-moeo/docs/html/ftv2node.png new file mode 100644 index 000000000..c9f06a57f Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2node.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2plastnode.png b/trunk/paradiseo-moeo/docs/html/ftv2plastnode.png new file mode 100644 index 000000000..0b07e0091 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2plastnode.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2pnode.png b/trunk/paradiseo-moeo/docs/html/ftv2pnode.png new file mode 100644 index 000000000..2001b797b Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2pnode.png differ diff --git a/trunk/paradiseo-moeo/docs/html/ftv2vertline.png b/trunk/paradiseo-moeo/docs/html/ftv2vertline.png new file mode 100644 index 000000000..b330f3a33 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/ftv2vertline.png differ diff --git a/trunk/paradiseo-moeo/docs/html/functions.html b/trunk/paradiseo-moeo/docs/html/functions.html new file mode 100644 index 000000000..35e6b396a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/functions.html @@ -0,0 +1,335 @@ + + +ParadisEO-MOEO: Class Members + + + + +
+
+
+
+
+ +
+
+ +
+ +

+Here is a list of all documented class members with links to the class documentation for each member: +

+

- a -

+

- b -

+

- c -

+

- d -

+

- e -

+

- f -

+

- g -

+

- h -

+

- i -

+

- k -

+

- l -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- t -

+

- u -

+

- v -

+

- z -

+
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/functions_func.html b/trunk/paradiseo-moeo/docs/html/functions_func.html new file mode 100644 index 000000000..b93c2b304 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/functions_func.html @@ -0,0 +1,216 @@ + + +ParadisEO-MOEO: Class Members - Functions + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- a -

+

- c -

+

- d -

+

- e -

+

- f -

+

- h -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- u -

+

- z -

+
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/functions_type.html b/trunk/paradiseo-moeo/docs/html/functions_type.html new file mode 100644 index 000000000..41615f79c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/functions_type.html @@ -0,0 +1,58 @@ + + +ParadisEO-MOEO: Class Members - Typedefs + + + + +
+
+
+
+
+ +
+  +

+

+
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/functions_vars.html b/trunk/paradiseo-moeo/docs/html/functions_vars.html new file mode 100644 index 000000000..9a572af67 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/functions_vars.html @@ -0,0 +1,194 @@ + + +ParadisEO-MOEO: Class Members - Variables + + + + +
+
+
+
+
+ +
+
+ +
+ +

+  +

+

- a -

+

- b -

+

- c -

+

- d -

+

- e -

+

- f -

+

- g -

+

- i -

+

- k -

+

- l -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- t -

+

- v -

+
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/hierarchy.html b/trunk/paradiseo-moeo/docs/html/hierarchy.html new file mode 100644 index 000000000..c44b723a7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/hierarchy.html @@ -0,0 +1,205 @@ + + +ParadisEO-MOEO: Hierarchical Index + + + + +
+
+
+
+

ParadisEO-MOEO Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/index.html b/trunk/paradiseo-moeo/docs/html/index.html new file mode 100644 index 000000000..7e73d848d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/index.html @@ -0,0 +1,8 @@ + + +ParadisEO-MOEO + + + + + diff --git a/trunk/paradiseo-moeo/docs/html/index_8h-source.html b/trunk/paradiseo-moeo/docs/html/index_8h-source.html new file mode 100644 index 000000000..68d09a002 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/index_8h-source.html @@ -0,0 +1,35 @@ + + +ParadisEO-MOEO: index.h Source File + + + + +
+
+

index.h

00001 
+00048 // Local Variables:
+00049 // coding: iso-8859-1
+00050 // mode: C++
+00051 // c-file-style: "Stroustrup"
+00052 // fill-column: 80
+00053 // End:
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/installdox b/trunk/paradiseo-moeo/docs/html/installdox new file mode 100755 index 000000000..1628445b3 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/installdox @@ -0,0 +1,117 @@ +#!/usr/bin/perl + +%subst = ( "eo.doxytag", ""); +$quiet = 0; + +if (open(F,"search.cfg")) +{ + $_= ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_; + $_= ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_; +} + +while ( @ARGV ) { + $_ = shift @ARGV; + if ( s/^-// ) { + if ( /^l(.*)/ ) { + $v = ($1 eq "") ? shift @ARGV : $1; + ($v =~ /\/$/) || ($v .= "/"); + $_ = $v; + if ( /(.+)\@(.+)/ ) { + if ( exists $subst{$1} ) { + $subst{$1} = $2; + } else { + print STDERR "Unknown tag file $1 given with option -l\n"; + &usage(); + } + } else { + print STDERR "Argument $_ is invalid for option -l\n"; + &usage(); + } + } + elsif ( /^q/ ) { + $quiet = 1; + } + elsif ( /^\?|^h/ ) { + &usage(); + } + else { + print STDERR "Illegal option -$_\n"; + &usage(); + } + } + else { + push (@files, $_ ); + } +} + +foreach $sub (keys %subst) +{ + if ( $subst{$sub} eq "" ) + { + print STDERR "No substitute given for tag file `$sub'\n"; + &usage(); + } + elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" ) + { + print "Substituting $subst{$sub} for each occurence of tag file $sub\n"; + } +} + +if ( ! @files ) { + if (opendir(D,".")) { + foreach $file ( readdir(D) ) { + $match = ".html"; + next if ( $file =~ /^\.\.?$/ ); + ($file =~ /$match/) && (push @files, $file); + ($file =~ "tree.js") && (push @files, $file); + } + closedir(D); + } +} + +if ( ! @files ) { + print STDERR "Warning: No input files given and none found!\n"; +} + +foreach $f (@files) +{ + if ( ! $quiet ) { + print "Editing: $f...\n"; + } + $oldf = $f; + $f .= ".bak"; + unless (rename $oldf,$f) { + print STDERR "Error: cannot rename file $oldf\n"; + exit 1; + } + if (open(F,"<$f")) { + unless (open(G,">$oldf")) { + print STDERR "Error: opening file $oldf for writing\n"; + exit 1; + } + if ($oldf ne "tree.js") { + while () { + s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g; + print G "$_"; + } + } + else { + while () { + s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g; + print G "$_"; + } + } + } + else { + print STDERR "Warning file $f does not exist\n"; + } + unlink $f; +} + +sub usage { + print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n"; + print STDERR "Options:\n"; + print STDERR " -l tagfile\@linkName tag file + URL or directory \n"; + print STDERR " -q Quiet mode\n\n"; + exit 1; +} diff --git a/trunk/paradiseo-moeo/docs/html/main.html b/trunk/paradiseo-moeo/docs/html/main.html new file mode 100644 index 000000000..658dbe127 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/main.html @@ -0,0 +1,38 @@ + + +ParadisEO-MOEO: Welcome to ParadisEO-MOEO + + + + +
+
+

Welcome to ParadisEO-MOEO

+

+

0.1

+intro

+ParadisEO-MOEO is a white-box object-oriented generic framework dedicated to the flexible design of evolutionary multi-objective algorithms. This paradigm-free software embeds some features and techniques for Pareto-based resolution and aims to provide a set of classes allowing to ease and speed up the development of computationally efficient programs. It is based on a clear conceptual distinction between the solution methods and the multi-objective problems they are intended to solve. This separation confers a maximum design and code reuse. ParadisEO-MOEO provides a broad range of archive-related features (such as elitism or performance metrics) and the most common Pareto-based fitness assignment strategies (MOGA, NSGA, SPEA, IBEA and more). Furthermore, parallel and distributed models as well as hybridization mechanisms can be applied to an algorithm designed within ParadisEO-MOEO using the whole version of ParadisEO.

+tutorial

+A tutorial about a bi-objective flow-shop scheduling problem will be available soon.

+install

+The installation procedure of the package is detailed in the README file in the top-directory of the source-tree.

+design

+For an introduction to the design of ParadisEO-MOEO, you can look at the ParadisEO website.
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/make__algo__MOEO_8h-source.html b/trunk/paradiseo-moeo/docs/html/make__algo__MOEO_8h-source.html new file mode 100644 index 000000000..c72702b13 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/make__algo__MOEO_8h-source.html @@ -0,0 +1,278 @@ + + +ParadisEO-MOEO: make_algo_MOEO.h Source File + + + + +
+
+

make_algo_MOEO.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // make_algo_MOEO.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef _make_algo_MOEO_h
+00014 #define _make_algo_MOEO_h
+00015 
+00016 // the parser and parameter includes
+00017 #include "utils/eoParser.h"
+00018 #include "utils/eoState.h"
+00019 // selections
+00020 #include "eoNDSorting.h"
+00021 #include "old/moeoIBEA.h"
+00022 #include "old/moeoBinaryQualityIndicator.h"
+00023 #include "eoParetoRanking.h"
+00024 #include "moeoParetoSharing.h"
+00025 #include "eoSelectFromWorth.h"
+00026 #include "moeoSelectOneFromPopAndArch.h"
+00027 // replacements
+00028 #include "eoReplacement.h"
+00029 #include "moeoReplacement.h"
+00030 // breeders
+00031 #include "eoGeneralBreeder.h"
+00032 // the algorithm
+00033 #include "eoEasyEA.h"
+00034 
+00035 /*
+00036  * This function builds the algorithm (i.e. selection and replacement) from existing continue (or checkpoint) and operators
+00037  * It uses a parser (to get user parameters) and a state (to store the memory)
+00038  *
+00039  * NB: this function is almost cut-and-pasted from EO/make_algo_pareto.h and integrates MOEO features
+00040  */
+00041 template < class EOT >
+00042   eoAlgo < EOT > &do_make_algo_MOEO (eoParser & _parser, eoState & _state,
+00043                                      eoEvalFunc < EOT > &_eval,
+00044                                      eoContinue < EOT > &_continue,
+00045                                      eoGenOp < EOT > &_op,
+00046                                      moeoArchive < EOT > &_arch)
+00047 {
+00048 
+00049   // the fitness of an EOT object
+00050   typedef typename EOT::Fitness EOFitness;
+00051 
+00052 
+00053 
+00054 
+00055 
+00056   /* the selection criteria */
+00057   string & selStr = _parser.createParam (string ("NSGA-II"), "selCrit",
+00058                                          "Multi-objective selection criterion: NSGA, NSGA-II, IBEA, ParetoRanking, ParetoSharing",
+00059                                          'S', "Evolution Engine").value ();
+00060   double nicheSize = _parser.createParam (1.0, "nicheSize",
+00061                                           "Size of niche for NSGA-I or ParetoSharing",
+00062                                           'n',
+00063                                           "Evolution Engine").value ();
+00064   double kappa =
+00065     _parser.createParam (0.05, "kappa", "Scaling factor kappa for IBEA", 'k',
+00066                          "Evolution Engine").value ();
+00067   string & indStr =
+00068     _parser.createParam (string ("Epsilon"), "indicator",
+00069                          "Binary quality indicator for IBEA : Epsilon, Hypervolume",
+00070                          'I', "Evolution Engine").value ();
+00071   double rho = _parser.createParam (1.1, "rho",
+00072                                     "reference point for the hypervolume calculation (must not be smaller than 1)",
+00073                                     'r', "Evolution Engine").value ();
+00074   // the eoPerf2Worth object
+00075   eoPerf2Worth < EOT, double >*p2w;
+00076   if ((selStr == string ("NSGA")) || (selStr == string ("NSGA-I")))     // NSGA-I
+00077     p2w = new eoNDSorting_I < EOT > (nicheSize);
+00078   else if (selStr == string ("NSGA-II"))        // NSGA-II
+00079     p2w = new eoNDSorting_II < EOT > ();
+00080   else if (selStr == string ("IBEA"))
+00081     {                           // IBEA
+00082       // the binary quality indicator
+00083       moeoBinaryQualityIndicator < EOFitness > *I;
+00084       if (indStr == string ("Epsilon"))
+00085         I = new moeoAdditiveBinaryEpsilonIndicator < EOFitness >;
+00086       else if (indStr == string ("Hypervolume"))
+00087         I = new moeoBinaryHypervolumeIndicator < EOFitness > (rho);
+00088       else
+00089         {
+00090           string stmp =
+00091             string ("Invalid binary quality indicator (for IBEA): ") + indStr;
+00092           throw std::runtime_error (stmp.c_str ());
+00093         }
+00094       p2w = new moeoIBEASorting < EOT > (I, kappa);
+00095     }
+00096   else if (selStr == string ("ParetoRanking"))
+00097     {                           // Pareto Ranking
+00098       eoDominanceMap < EOT > &dominance =
+00099         _state.storeFunctor (new eoDominanceMap < EOT >);
+00100       p2w = new eoParetoRanking < EOT > (dominance);
+00101     }
+00102   else if (selStr == string ("ParetoSharing"))
+00103     {                           // Pareto Sharing    
+00104       p2w = new moeoParetoSharing < EOT > (nicheSize);
+00105     }
+00106   else
+00107     {
+00108       string stmp = string ("Invalid Pareto selection criterion: ") + selStr;
+00109       throw std::runtime_error (stmp.c_str ());
+00110     }
+00111   // store  
+00112   _state.storeFunctor (p2w);
+00113 
+00114 
+00115 
+00116 
+00117 
+00118   /* the selector */
+00119   eoValueParam < eoParamParamType > &selectionParam =
+00120     _parser.createParam (eoParamParamType ("DetTour(2)"), "selection",
+00121                          "Selection: Roulette, DetTour(T), StochTour(t) or Random",
+00122                          's', "Evolution Engine");
+00123   eoParamParamType & ppSelect = selectionParam.value ();        // pair< string , vector<string> >
+00124   // the select object
+00125   eoSelectOne < EOT > *select;
+00126   if (ppSelect.first == string ("DetTour"))
+00127     {                           // DetTour
+00128       unsigned detSize;
+00129       if (!ppSelect.second.size ())
+00130         {                       // no parameter added       
+00131           cerr << "WARNING, no parameter passed to DetTour, using 2" << endl;
+00132           detSize = 2;
+00133           // put back 2 in parameter for consistency (and status file)
+00134           ppSelect.second.push_back (string ("2"));
+00135         }
+00136       else                      // parameter passed by user as DetTour(T)
+00137         detSize = atoi (ppSelect.second[0].c_str ());
+00138       select = new eoDetTournamentWorthSelect < EOT > (*p2w, detSize);
+00139     }
+00140   else if (ppSelect.first == string ("StochTour"))
+00141     {                           // StochTour
+00142       double p;
+00143       if (!ppSelect.second.size ())
+00144         {                       // no parameter added       
+00145           cerr << "WARNING, no parameter passed to StochTour, using 1" <<
+00146             endl;
+00147           p = 1;
+00148           // put back p in parameter for consistency (and status file)
+00149           ppSelect.second.push_back (string ("1"));
+00150         }
+00151       else                      // parameter passed by user as DetTour(T)
+00152         p = atof (ppSelect.second[0].c_str ());
+00153       select = new eoStochTournamentWorthSelect < EOT > (*p2w, p);
+00154     }
+00155   else if (ppSelect.first == string ("Roulette"))
+00156     {                           // Roulette
+00157       select = new eoRouletteWorthSelect < EOT > (*p2w);
+00158     }
+00159   else if (ppSelect.first == string ("Random"))
+00160     {                           // Random
+00161       select = new eoRandomSelect < EOT >;
+00162     }
+00163   else
+00164     {
+00165       string stmp = string ("Invalid selection: ") + ppSelect.first;
+00166       throw std::runtime_error (stmp.c_str ());
+00167     }
+00168   // store  
+00169   _state.storeFunctor (select);
+00170 
+00171 
+00172 
+00173 
+00174 
+00175   /* elitism */
+00176   bool useElitism = _parser.createParam (false, "elitism",
+00177                                          "Use elitism in the selection process (individuals from the archive are randomly selected)",
+00178                                          'E', "Evolution Engine").value ();
+00179   double ratioFromPop = _parser.createParam (0.8, "ratio",
+00180                                              "Ratio from the population for elitism (must not be greater than 1)",
+00181                                              '\0',
+00182                                              "Evolution Engine").value ();
+00183   if (useElitism)
+00184     {
+00185       eoSelectOne < EOT > *selectPop = select;
+00186       select =
+00187         new moeoSelectOneFromPopAndArch < EOT > (*selectPop, _arch,
+00188                                                  ratioFromPop);
+00189       // store  
+00190       _state.storeFunctor (select);
+00191     }
+00192 
+00193 
+00194 
+00195 
+00196 
+00197   /* the number of offspring  */
+00198   eoValueParam < eoHowMany > &offspringRateParam =
+00199     _parser.createParam (eoHowMany (1.0), "nbOffspring",
+00200                          "Nb of offspring (percentage or absolute)", 'O',
+00201                          "Evolution Engine");
+00202 
+00203 
+00204 
+00205 
+00206 
+00207   /* the replacement */
+00208   string & repStr =
+00209     _parser.createParam (string ("Plus"), "replacement",
+00210                          "Replacement: Plus, DistinctPlus or Generational",
+00211                          'R', "Evolution Engine").value ();
+00212   eoReplacement < EOT > *replace;
+00213   if (repStr == string ("Plus"))        // Plus
+00214     {
+00215       replace = new moeoElitistReplacement < EOT, double >(*p2w);
+00216     }
+00217   else if (repStr == string ("DistinctPlus"))   // DistinctPlus
+00218     {
+00219       replace = new moeoDisctinctElitistReplacement < EOT, double >(*p2w);
+00220     }
+00221   else if (repStr == string ("Generational"))   // Generational
+00222     {
+00223       replace = new eoGenerationalReplacement < EOT >;
+00224     }
+00225   else
+00226     {
+00227       string stmp = string ("Invalid replacement: ") + repStr;
+00228       throw std::runtime_error (stmp.c_str ());
+00229     }
+00230   // store
+00231   _state.storeFunctor (replace);
+00232 
+00233 
+00234 
+00235 
+00236 
+00237   // the general breeder
+00238   eoGeneralBreeder < EOT > *breed =
+00239     new eoGeneralBreeder < EOT > (*select, _op, offspringRateParam.value ());
+00240   _state.storeFunctor (breed);
+00241 
+00242   // the eoEasyEA
+00243   eoAlgo < EOT > *algo =
+00244     new eoEasyEA < EOT > (_continue, _eval, *breed, *replace);
+00245   _state.storeFunctor (algo);
+00246   // that's it!
+00247   return *algo;
+00248 }
+00249 
+00250 #endif
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoArchiveFitnessSavingUpdater_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoArchiveFitnessSavingUpdater_8h-source.html new file mode 100644 index 000000000..1a7e023b8 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoArchiveFitnessSavingUpdater_8h-source.html @@ -0,0 +1,85 @@ + + +ParadisEO-MOEO: moeoArchiveFitnessSavingUpdater.h Source File + + + + +
+
+

moeoArchiveFitnessSavingUpdater.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoArchiveFitnessSavingUpdater.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOARCHIVEFITNESSSAVINGUPDATER_H_
+00014 #define MOEOARCHIVEFITNESSSAVINGUPDATER_H_
+00015 
+00016 #include <fstream>
+00017 #include <string>
+00018 #include <eoPop.h>
+00019 #include <utils/eoUpdater.h>
+00020 #include <moeoArchive.h>
+00021 
+00022 #define MAX_BUFFER_SIZE 1000
+00023 
+00027 template < class EOT > class moeoArchiveFitnessSavingUpdater:public eoUpdater
+00028 {
+00029 public:
+00030 
+00037 moeoArchiveFitnessSavingUpdater (moeoArchive < EOT > &_arch, const std::string & _filename = "Res/Arch", int _id = -1):arch (_arch), filename (_filename), id (_id),
+00038     counter
+00039     (0)
+00040   {
+00041   }
+00042 
+00046   void operator () ()
+00047   {
+00048     char buff[MAX_BUFFER_SIZE];
+00049     if (id == -1)
+00050       sprintf (buff, "%s.%u", filename.c_str (), counter++);
+00051     else
+00052       sprintf (buff, "%s.%u.%u", filename.c_str (), id, counter++);
+00053     std::ofstream f (buff);
+00054     for (unsigned i = 0; i < arch.size (); i++)
+00055       f << arch[i].fitness () << std::endl;
+00056     f.close ();
+00057   }
+00058 
+00059 
+00060 private:
+00061 
+00063   moeoArchive < EOT > &arch;
+00065   std::string filename;
+00067   int id;
+00069   unsigned counter;
+00070 
+00071 };
+00072 
+00073 #endif /*MOEOARCHIVEFITNESSSAVINGUPDATER_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoArchiveUpdater_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoArchiveUpdater_8h-source.html new file mode 100644 index 000000000..51b540ec2 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoArchiveUpdater_8h-source.html @@ -0,0 +1,71 @@ + + +ParadisEO-MOEO: moeoArchiveUpdater.h Source File + + + + +
+
+

moeoArchiveUpdater.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoArchiveUpdater.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOARCHIVEUPDATER_H_
+00014 #define MOEOARCHIVEUPDATER_H_
+00015 
+00016 #include <eoPop.h>
+00017 #include <utils/eoUpdater.h>
+00018 #include <moeoArchive.h>
+00019 
+00023 template < class EOT > class moeoArchiveUpdater:public eoUpdater
+00024 {
+00025 public:
+00026 
+00032   moeoArchiveUpdater (moeoArchive < EOT > &_arch,
+00033                       const eoPop < EOT > &_pop):arch (_arch), pop (_pop)
+00034   {
+00035   }
+00036 
+00037 
+00041   void operator () ()
+00042   {
+00043     arch.update (pop);
+00044   }
+00045 
+00046 
+00047 private:
+00048 
+00050   moeoArchive < EOT > &arch;
+00052   const eoPop < EOT > &pop;
+00053 
+00054 };
+00055 
+00056 #endif /*MOEOARCHIVEUPDATER_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoArchive_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoArchive_8h-source.html new file mode 100644 index 000000000..b6a04f19a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoArchive_8h-source.html @@ -0,0 +1,112 @@ + + +ParadisEO-MOEO: moeoArchive.h Source File + + + + +
+
+

moeoArchive.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoArchive.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOARCHIVE_H_
+00014 #define MOEOARCHIVE_H_
+00015 
+00016 #include <eoPop.h>
+00017 
+00021 template < class EOT > class moeoArchive:public eoPop < EOT >
+00022 {
+00023 public:
+00024 
+00025   using std::vector < EOT >::size;
+00026   using std::vector < EOT >::operator[];
+00027   using std::vector < EOT >::back;
+00028   using std::vector < EOT >::pop_back;
+00029 
+00033   typedef typename EOT::Fitness EOFitness;
+00034 
+00039   bool dominates (const EOFitness & _fit) const
+00040   {
+00041     for (unsigned i = 0; i < size; i++)
+00042       if (operator[](i).fitness ().dominates (_fit))
+00043         return true;
+00044     return false;
+00045   }
+00046 
+00051   bool contains (const EOFitness & _fit) const
+00052   {
+00053     for (unsigned i = 0; i < size; i++)
+00054       if (operator[](i).fitness () == _fit)
+00055         return true;
+00056     return false;
+00057   }
+00058 
+00063   void update (const EOT & _eo)
+00064   {
+00065     // Removing the dominated solutions from the archive
+00066     for (unsigned j = 0; j < size ();)
+00067       {
+00068         if (_eo.fitness ().dominates (operator[](j).fitness ()))
+00069           {
+00070             operator[](j) = back ();
+00071             pop_back ();
+00072           }
+00073         else if (_eo.fitness () == operator[](j).fitness ())
+00074           {
+00075             operator[](j) = back ();
+00076             pop_back ();
+00077           }
+00078         else
+00079           j++;
+00080       }
+00081 
+00082     // Dominated ?
+00083     bool dom = false;
+00084     for (unsigned j = 0; j < size (); j++)
+00085       if (operator [](j).fitness ().dominates (_eo.fitness ()))
+00086         {
+00087           dom = true;
+00088           break;
+00089         }
+00090     if (!dom)
+00091       push_back (_eo);
+00092   }
+00093 
+00098   void update (const eoPop < EOT > &_pop)
+00099   {
+00100     for (unsigned i = 0; i < _pop.size (); i++)
+00101       update (_pop[i]);
+00102   }
+00103 
+00104 };
+00105 
+00106 #endif /*MOEOARCHIVE_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoBinaryMetricSavingUpdater_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoBinaryMetricSavingUpdater_8h-source.html new file mode 100644 index 000000000..ed1f7a34b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoBinaryMetricSavingUpdater_8h-source.html @@ -0,0 +1,100 @@ + + +ParadisEO-MOEO: moeoBinaryMetricSavingUpdater.h Source File + + + + +
+
+

moeoBinaryMetricSavingUpdater.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoBinaryMetricSavingUpdater.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOBINARYMETRICSAVINGUPDATER_H_
+00014 #define MOEOBINARYMETRICSAVINGUPDATER_H_
+00015 
+00016 #include <fstream>
+00017 #include <string>
+00018 #include <eoPop.h>
+00019 #include <utils/eoUpdater.h>
+00020 #include <metric/moeoMetric.h>
+00021 
+00026 template < class EOT > class moeoBinaryMetricSavingUpdater:public eoUpdater
+00027 {
+00028 public:
+00029 
+00033   typedef typename EOT::Fitness EOFitness;
+00034 
+00041   moeoBinaryMetricSavingUpdater (moeoVectorVsVectorBM < EOT, double >&_metric,
+00042                                  const eoPop < EOT > &_pop,
+00043                                  std::string _filename):metric (_metric),
+00044     pop (_pop), filename (_filename), counter (1)
+00045   {
+00046   }
+00047 
+00051   void operator () ()
+00052   {
+00053     if (pop.size ())
+00054       {
+00055         if (firstGen)
+00056           {
+00057             firstGen = false;
+00058           }
+00059         else
+00060           {
+00061             // creation of the two Pareto sets                              
+00062             std::vector < EOFitness > from;
+00063             std::vector < EOFitness > to;
+00064             for (unsigned i = 0; i < pop.size (); i++)
+00065               from.push_back (pop[i].fitness ());
+00066             for (unsigned i = 0; i < oldPop.size (); i++)
+00067               to.push_back (oldPop[i].fitness ());
+00068             // writing the result into the file
+00069             std::ofstream f (filename.c_str (), std::ios::app);
+00070             f << counter++ << ' ' << metric (from, to) << std::endl;
+00071             f.close ();
+00072           }
+00073         oldPop = pop;
+00074       }
+00075   }
+00076 
+00077 private:
+00078 
+00080   moeoVectorVsVectorBM < EOT, double >&metric;
+00082   const eoPop < EOT > &pop;
+00084   eoPop < EOT > oldPop;
+00086   std::string filename;
+00088   bool firstGen;
+00090   unsigned counter;
+00091 
+00092 };
+00093 
+00094 #endif /*MOEOBINARYMETRICSAVINGUPDATER_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoBinaryQualityIndicator_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoBinaryQualityIndicator_8h-source.html new file mode 100644 index 000000000..497f46c4f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoBinaryQualityIndicator_8h-source.html @@ -0,0 +1,350 @@ + + +ParadisEO-MOEO: moeoBinaryQualityIndicator.h Source File + + + + +
+
+

moeoBinaryQualityIndicator.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoBinaryQualityIndicator.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef _moeoBinaryQualityIndicator_h
+00014 #define _moeoBinaryQualityIndicator_h
+00015 
+00016 // for std::exceptions
+00017 #include <stdexcept>
+00018 // for eoBF
+00019 #include <eoFunctor.h>
+00020 
+00021 
+00028 template < class EOFitness > class moeoBinaryQualityIndicator:public eoBF < const EOFitness &, const EOFitness &,
+00029   double >
+00030 {
+00031 
+00032 public:
+00033 
+00037   moeoBinaryQualityIndicator ():eoBF < const EOFitness &, const EOFitness &,
+00038     double >()
+00039   {
+00040     bounds.reserve (traits::nObjectives ());
+00041     bounds.resize (traits::nObjectives ());
+00042   }
+00043 
+00044 
+00051   void setBounds (const unsigned _iObj, const double _min, const double _max)
+00052   {
+00053     bounds[_iObj] = Range (_min, _max);
+00054   }
+00055 
+00056 
+00057 protected:
+00058 
+00062   class Range
+00063   {
+00064   public:
+00065     Range ()
+00066     {
+00067       min = 0;
+00068       max = 0;
+00069       r = 0;
+00070     }
+00071     Range (const double _min, const double _max)
+00072     {
+00073       min = _min;
+00074       max = _max;
+00075       r = max - min;
+00076       if (r < 0)
+00077         throw std::logic_error ("Negative range in eoBinaryQualityIndicator");
+00078     }
+00079     double minimum ()
+00080     {
+00081       return min;
+00082     }
+00083     double maximum ()
+00084     {
+00085       return max;
+00086     }
+00087     double range ()
+00088     {
+00089       return r;
+00090     }
+00091   private:
+00092     double min, max, r;
+00093   };
+00094 
+00095 
+00097   std::vector < Range > bounds;
+00098 
+00099 
+00100 private:
+00101 
+00103   typedef typename EOFitness::fitness_traits traits;
+00104 
+00105 };
+00106 
+00107 
+00108 
+00109 
+00110 
+00115 template < class EOFitness > class moeoAdditiveBinaryEpsilonIndicator:public moeoBinaryQualityIndicator <
+00116   EOFitness
+00117   >
+00118 {
+00119 
+00120 public:
+00121 
+00125 moeoAdditiveBinaryEpsilonIndicator ():moeoBinaryQualityIndicator < EOFitness >
+00126     ()
+00127   {
+00128   }
+00129 
+00130 
+00138   double operator  () (const EOFitness & _fitness_eo1,
+00139                        const EOFitness & _fitness_eo2)
+00140   {
+00141     double epsilon, tmp;
+00142     // computation of the epsilon value for the first objective
+00143     epsilon = epsilonValue (_fitness_eo1, _fitness_eo2, 0);
+00144     // computation of the epsilon value for other objectives
+00145     for (unsigned i = 1; i < traits::nObjectives (); i++)
+00146       {
+00147         tmp = epsilonValue (_fitness_eo1, _fitness_eo2, i);
+00148         epsilon = std::max (epsilon, tmp);
+00149       }
+00150     // the maximum epsilon value
+00151     return epsilon;
+00152   }
+00153 
+00154 
+00155 private:
+00156 
+00158   typedef typename EOFitness::fitness_traits traits;
+00160   using moeoBinaryQualityIndicator < EOFitness >::bounds;
+00161 
+00162 
+00170   double epsilonValue (const EOFitness & _fitness_eo1,
+00171                        const EOFitness & _fitness_eo2, const unsigned _iObj)
+00172   {
+00173     double result;
+00174     if (bounds[_iObj].range () == 0)
+00175       {
+00176         // min==max => every individuals has the same value for this objective      
+00177         result = 0;
+00178       }
+00179     else
+00180       {
+00181         // computation of the epsilon value for the objective _iObj (in case of a minimization)
+00182         result =
+00183           (_fitness_eo1[_iObj] -
+00184            bounds[_iObj].minimum ()) / bounds[_iObj].range ();
+00185         result -=
+00186           (_fitness_eo2[_iObj] -
+00187            bounds[_iObj].minimum ()) / bounds[_iObj].range ();
+00188         // if we are maximizing, invert the value
+00189         if (traits::maximizing (_iObj))
+00190           result = -result;
+00191       }
+00192     // the espilon value
+00193     return result;
+00194   }
+00195 
+00196 };
+00197 
+00198 
+00199 
+00200 
+00201 
+00206 template < class EOFitness > class moeoBinaryHypervolumeIndicator:public moeoBinaryQualityIndicator <
+00207   EOFitness >
+00208 {
+00209 
+00210 public:
+00211 
+00216 moeoBinaryHypervolumeIndicator (double _rho):moeoBinaryQualityIndicator < EOFitness >
+00217     ()
+00218   {
+00219     rho = _rho;
+00220     // consistency check
+00221     if (rho < 1)
+00222       {
+00223         cout <<
+00224           "Warning, reference point rho for the hypervolume calculation must not be smaller than 1"
+00225           << endl;
+00226         cout << "Adjusted to 1" << endl;
+00227         rho = 1;
+00228       }
+00229   }
+00230 
+00231 
+00239   double operator  () (const EOFitness & _fitness_eo1,
+00240                        const EOFitness & _fitness_eo2)
+00241   {
+00242     double result;
+00243     if (_fitness_eo1.dominates (_fitness_eo2))
+00244       result =
+00245         -hypervolumeIndicatorValue (_fitness_eo1, _fitness_eo2,
+00246                                     traits::nObjectives ());
+00247     else
+00248       result =
+00249         hypervolumeIndicatorValue (_fitness_eo2, _fitness_eo1,
+00250                                    traits::nObjectives ());
+00251     return result;
+00252   }
+00253 
+00254 
+00255 private:
+00256 
+00258   typedef typename EOFitness::fitness_traits traits;
+00260   using moeoBinaryQualityIndicator < EOFitness >::bounds;
+00261 
+00263   double rho;
+00264 
+00265 
+00274   double hypervolumeIndicatorValue (const EOFitness & _fitness_eo1,
+00275                                     const EOFitness & _fitness_eo2,
+00276                                     const unsigned _iObj, const bool _flag =
+00277                                     false)
+00278   {
+00279     double result;
+00280     if (bounds[_iObj - 1].range () == 0)
+00281       {
+00282         // min==max => every individuals as the same value for this objective      
+00283         result = 0;
+00284       }
+00285     else
+00286       {
+00287         if (traits::maximizing (_iObj - 1))     // maximizing
+00288           result =
+00289             hypervolumeIndicatorValueMax (_fitness_eo1, _fitness_eo2, _iObj,
+00290                                           _flag);
+00291         else                    // minimizing
+00292           result =
+00293             hypervolumeIndicatorValueMin (_fitness_eo1, _fitness_eo2, _iObj,
+00294                                           _flag);
+00295       }
+00296     return result;
+00297   }
+00298 
+00299 
+00309   double hypervolumeIndicatorValueMin (const EOFitness & _fitness_eo1,
+00310                                        const EOFitness & _fitness_eo2,
+00311                                        const unsigned _iObj, const bool _flag)
+00312   {
+00313     double result;
+00314     double r = rho * bounds[_iObj - 1].range ();
+00315     double max = bounds[_iObj - 1].minimum () + r;
+00316     // fitness of individuals _eo1 and _eo2 for the objective _iObj (if flag==true, _eo2 is not taken into account)
+00317     double fitness_eo1 = _fitness_eo1[_iObj - 1];
+00318     double fitness_eo2;
+00319     if (_flag)
+00320       fitness_eo2 = max;
+00321     else
+00322       fitness_eo2 = _fitness_eo2[_iObj - 1];
+00323     // computation of the volume
+00324     if (_iObj == 1)
+00325       {
+00326         if (fitness_eo1 < fitness_eo2)
+00327           result = (fitness_eo2 - fitness_eo1) / r;
+00328         else
+00329           result = 0;
+00330       }
+00331     else
+00332       {
+00333         if (fitness_eo1 < fitness_eo2)
+00334           {
+00335             result =
+00336               hypervolumeIndicatorValue (_fitness_eo1, _fitness_eo2,
+00337                                          _iObj - 1) * (max - fitness_eo2) / r;
+00338             result +=
+00339               hypervolumeIndicatorValue (_fitness_eo1, _fitness_eo2,
+00340                                          _iObj - 1,
+00341                                          true) * (fitness_eo2 -
+00342                                                   fitness_eo1) / r;
+00343           }
+00344         else
+00345           result =
+00346             hypervolumeIndicatorValue (_fitness_eo1, _fitness_eo2,
+00347                                        _iObj - 1) * (max - fitness_eo2) / r;
+00348       }
+00349     // the volume
+00350     return result;
+00351   }
+00352 
+00353 
+00363   double hypervolumeIndicatorValueMax (const EOFitness & _fitness_eo1,
+00364                                        const EOFitness & _fitness_eo2,
+00365                                        const unsigned _iObj, const bool _flag)
+00366   {
+00367     double result;
+00368     double r = rho * bounds[_iObj - 1].range ();
+00369     double min = bounds[_iObj - 1].maximum () - r;
+00370     // fitness of individuals _eo1 and _eo2 for the objective _iObj (if flag==true, _eo2 is not taken into account)
+00371     double fitness_eo1 = _fitness_eo1[_iObj - 1];
+00372     double fitness_eo2;
+00373     if (_flag)
+00374       fitness_eo2 = min;
+00375     else
+00376       fitness_eo2 = _fitness_eo2[_iObj - 1];
+00377     // computation of the volume
+00378     if (_iObj == 1)
+00379       {
+00380         if (fitness_eo1 > fitness_eo2)
+00381           result = (fitness_eo1 - fitness_eo2) / r;
+00382         else
+00383           result = 0;
+00384       }
+00385     else
+00386       {
+00387         if (fitness_eo1 > fitness_eo2)
+00388           {
+00389             result =
+00390               hypervolumeIndicatorValue (_fitness_eo1, _fitness_eo2,
+00391                                          _iObj - 1) * (fitness_eo2 - min) / r;
+00392             result +=
+00393               hypervolumeIndicatorValue (_fitness_eo1, _fitness_eo2,
+00394                                          _iObj - 1,
+00395                                          true) * (fitness_eo1 -
+00396                                                   fitness_eo2) / r;
+00397           }
+00398         else
+00399           result =
+00400             hypervolumeIndicatorValue (_fitness_eo1, _fitness_eo2,
+00401                                        _iObj - 1) * (fitness_eo2 - min) / r;
+00402       }
+00403     // the volume
+00404     return result;
+00405   }
+00406 
+00407 };
+00408 
+00409 #endif
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoCombinedMOLS_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoCombinedMOLS_8h-source.html new file mode 100644 index 000000000..40dd31945 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoCombinedMOLS_8h-source.html @@ -0,0 +1,78 @@ + + +ParadisEO-MOEO: moeoCombinedMOLS.h Source File + + + + +
+
+

moeoCombinedMOLS.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoCombinedMOLS.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOCOMBINEDMOLS_H_
+00014 #define MOEOCOMBINEDMOLS_H_
+00015 
+00016 #include <eoEvalFunc.h>
+00017 #include <moeoArchive.h>
+00018 #include <moeoMOLS.h>
+00019 
+00024 template < class EOT > class moeoCombinedMOLS:public moeoMOLS < EOT >
+00025 {
+00026 public:
+00027 
+00033 moeoCombinedMOLS (eoEvalFunc < EOT > &_eval, moeoMOLS < EOT > &_first_ls):eval
+00034     (_eval)
+00035   {
+00036     combinedMOLS.push_back (&_first_ls);
+00037   }
+00038 
+00043   void add (moeoMOLS < EOT > &_ls)
+00044   {
+00045     combinedMOLS.push_back (&_ls);
+00046   }
+00047 
+00054   void operator  () (const EOT & _eo, moeoArchive < EOT > &_arch)
+00055   {
+00056     eval (const_cast < EOT & >(_eo));
+00057     for (unsigned i = 0; i < combinedMOLS.size (); i++)
+00058       combinedMOLS[i]->operator ()(_eo, _arch);
+00059   }
+00060 
+00061 
+00062 private:
+00063 
+00065   eoEvalFunc < EOT > &eval;
+00067   std::vector < moeoMOLS < EOT > *>combinedMOLS;
+00068 
+00069 };
+00070 
+00071 #endif /*MOEOCOMBINEDMOLS_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoContributionMetric_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoContributionMetric_8h-source.html new file mode 100644 index 000000000..dffee073f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoContributionMetric_8h-source.html @@ -0,0 +1,116 @@ + + +ParadisEO-MOEO: moeoContributionMetric.h Source File + + + + +
+
+

moeoContributionMetric.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoContributionMetric.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOCONTRIBUTIONMETRIC_H_
+00014 #define MOEOCONTRIBUTIONMETRIC_H_
+00015 
+00016 #include <metric/moeoMetric.h>
+00017 
+00023 template < class EOT > class moeoContributionMetric:public moeoVectorVsVectorBM < EOT,
+00024   double >
+00025 {
+00026 public:
+00027 
+00031   typedef typename EOT::Fitness EOFitness;
+00032 
+00038   double operator () (const std::vector < EOFitness > &_set1,
+00039                       const std::vector < EOFitness > &_set2)
+00040   {
+00041     unsigned c = card_C (_set1, _set2);
+00042     unsigned w1 = card_W (_set1, _set2);
+00043     unsigned n1 = card_N (_set1, _set2);
+00044     unsigned w2 = card_W (_set2, _set1);
+00045     unsigned n2 = card_N (_set2, _set1);
+00046       return (double) (c / 2.0 + w1 + n1) / (c + w1 + n1 + w2 + n2);
+00047   }
+00048 
+00049 
+00050 private:
+00051 
+00057   unsigned card_C (const std::vector < EOFitness > &_set1,
+00058                    const std::vector < EOFitness > &_set2)
+00059   {
+00060     unsigned c = 0;
+00061     for (unsigned i = 0; i < _set1.size (); i++)
+00062       for (unsigned j = 0; j < _set2.size (); j++)
+00063         if (_set1[i] == _set2[j])
+00064           {
+00065             c++;
+00066             break;
+00067           }
+00068     return c;
+00069   }
+00070 
+00076   unsigned card_W (const std::vector < EOFitness > &_set1,
+00077                    const std::vector < EOFitness > &_set2)
+00078   {
+00079     unsigned w = 0;
+00080     for (unsigned i = 0; i < _set1.size (); i++)
+00081       for (unsigned j = 0; j < _set2.size (); j++)
+00082         if (_set1[i].dominates (_set2[j]))
+00083           {
+00084             w++;
+00085             break;
+00086           }
+00087     return w;
+00088   }
+00089 
+00095   unsigned card_N (const std::vector < EOFitness > &_set1,
+00096                    const std::vector < EOFitness > &_set2)
+00097   {
+00098     unsigned n = 0;
+00099     for (unsigned i = 0; i < _set1.size (); i++)
+00100       {
+00101         bool domin_rel = false;
+00102         for (unsigned j = 0; j < _set2.size (); j++)
+00103           if (_set1[i].dominates (_set2[j]) || _set2[j].dominates (_set1[i]))
+00104             {
+00105               domin_rel = true;
+00106               break;
+00107             }
+00108         if (!domin_rel)
+00109           n++;
+00110       }
+00111     return n;
+00112   }
+00113 
+00114 };
+00115 
+00116 #endif /*MOEOCONTRIBUTIONMETRIC_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoEntropyMetric_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoEntropyMetric_8h-source.html new file mode 100644 index 000000000..1e9095ebb --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoEntropyMetric_8h-source.html @@ -0,0 +1,194 @@ + + +ParadisEO-MOEO: moeoEntropyMetric.h Source File + + + + +
+
+

moeoEntropyMetric.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoEntropyMetric.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOENTROPYMETRIC_H_
+00014 #define MOEOENTROPYMETRIC_H_
+00015 
+00016 #include <metric/moeoMetric.h>
+00017 
+00023 template < class EOT > class moeoEntropyMetric:public moeoVectorVsVectorBM < EOT,
+00024   double >
+00025 {
+00026 public:
+00027 
+00031   typedef typename EOT::Fitness EOFitness;
+00032 
+00038   double operator () (const std::vector < EOFitness > &_set1,
+00039                       const std::vector < EOFitness > &_set2)
+00040   {
+00041     // normalization
+00042     std::vector < EOFitness > set1 = _set1;
+00043     std::vector < EOFitness > set2 = _set2;
+00044     removeDominated (set1);
+00045     removeDominated (set2);
+00046     prenormalize (set1);
+00047     normalize (set1);
+00048     normalize (set2);
+00049 
+00050     // making of PO*
+00051     std::vector < EOFitness > star;     // rotf :-)
+00052     computeUnion (set1, set2, star);
+00053     removeDominated (star);
+00054 
+00055     // making of PO1 U PO*
+00056     std::vector < EOFitness > union_set1_star;  // rotf again ...
+00057     computeUnion (set1, star, union_set1_star);
+00058 
+00059     unsigned C = union_set1_star.size ();
+00060     float omega = 0;
+00061     float entropy = 0;
+00062 
+00063     for (unsigned i = 0; i < C; i++)
+00064       {
+00065         unsigned N_i =
+00066           howManyInNicheOf (union_set1_star, union_set1_star[i],
+00067                             star.size ());
+00068         unsigned n_i =
+00069           howManyInNicheOf (set1, union_set1_star[i], star.size ());
+00070         if (n_i > 0)
+00071           {
+00072             omega += 1.0 / N_i;
+00073             entropy +=
+00074               (float) n_i / (N_i * C) * log (((float) n_i / C) / log (2.0));
+00075           }
+00076       }
+00077     entropy /= -log (omega);
+00078     entropy *= log (2.0);
+00079     return entropy;
+00080   }
+00081 
+00082 
+00083 private:
+00084 
+00085   std::vector < double >vect_min_val;
+00086   std::vector < double >vect_max_val;
+00087 
+00088   void removeDominated (std::vector < EOFitness > &_f)
+00089   {
+00090     for (unsigned i = 0; i < _f.size (); i++)
+00091       {
+00092         bool dom = false;
+00093         for (unsigned j = 0; j < _f.size (); j++)
+00094           if (i != j && _f[j].dominates (_f[i]))
+00095             {
+00096               dom = true;
+00097               break;
+00098             }
+00099         if (dom)
+00100           {
+00101             _f[i] = _f.back ();
+00102             _f.pop_back ();
+00103             i--;
+00104           }
+00105       }
+00106   }
+00107 
+00108   void prenormalize (const std::vector < EOFitness > &_f)
+00109   {
+00110     vect_min_val.clear ();
+00111     vect_max_val.clear ();
+00112 
+00113     for (unsigned char i = 0; i < EOFitness::fitness_traits::nObjectives ();
+00114          i++)
+00115       {
+00116         float min_val = _f.front ()[i], max_val = min_val;
+00117         for (unsigned j = 1; j < _f.size (); j++)
+00118           {
+00119             if (_f[j][i] < min_val)
+00120               min_val = _f[j][i];
+00121             if (_f[j][i] > max_val)
+00122               max_val = _f[j][i];
+00123           }
+00124         vect_min_val.push_back (min_val);
+00125         vect_max_val.push_back (max_val);
+00126       }
+00127   }
+00128 
+00129   void normalize (std::vector < EOFitness > &_f)
+00130   {
+00131     for (unsigned i = 0; i < EOFitness::fitness_traits::nObjectives (); i++)
+00132       for (unsigned j = 0; j < _f.size (); j++)
+00133         _f[j][i] =
+00134           (_f[j][i] - vect_min_val[i]) / (vect_max_val[i] - vect_min_val[i]);
+00135   }
+00136 
+00137   void computeUnion (const std::vector < EOFitness > &_f1,
+00138                      const std::vector < EOFitness > &_f2,
+00139                      std::vector < EOFitness > &_f)
+00140   {
+00141     _f = _f1;
+00142     for (unsigned i = 0; i < _f2.size (); i++)
+00143       {
+00144         bool b = false;
+00145         for (unsigned j = 0; j < _f1.size (); j++)
+00146           if (_f1[j] == _f2[i])
+00147             {
+00148               b = true;
+00149               break;
+00150             }
+00151         if (!b)
+00152           _f.push_back (_f2[i]);
+00153       }
+00154   }
+00155 
+00156   unsigned howManyInNicheOf (const std::vector < EOFitness > &_f,
+00157                              const EOFitness & _s, unsigned _size)
+00158   {
+00159     unsigned n = 0;
+00160     for (unsigned i = 0; i < _f.size (); i++)
+00161       {
+00162         if (euclidianDistance (_f[i], _s) < (_s.size () / (double) _size))
+00163           n++;
+00164       }
+00165     return n;
+00166   }
+00167 
+00168   double euclidianDistance (const EOFitness & _set1, const EOFitness & _to,
+00169                             unsigned _deg = 2)
+00170   {
+00171     double dist = 0;
+00172     for (unsigned i = 0; i < _set1.size (); i++)
+00173       dist += pow (fabs (_set1[i] - _to[i]), (int) _deg);
+00174     return pow (dist, 1.0 / _deg);
+00175   }
+00176 
+00177 };
+00178 
+00179 #endif /*MOEOENTROPYMETRIC_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoHybridMOLS_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoHybridMOLS_8h-source.html new file mode 100644 index 000000000..f6df69e4e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoHybridMOLS_8h-source.html @@ -0,0 +1,84 @@ + + +ParadisEO-MOEO: moeoHybridMOLS.h Source File + + + + +
+
+

moeoHybridMOLS.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoHybridMOLS.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOHYBRIDMOLS_H_
+00014 #define MOEOHYBRIDMOLS_H_
+00015 
+00016 #include <eoContinue.h>
+00017 #include <eoPop.h>
+00018 #include <eoUpdater.h>
+00019 #include <eoSelect.h>
+00020 #include <moeoArchive.h>
+00021 #include <moeoMOLS.h>
+00022 
+00027 template < class EOT > class moeoHybridMOLS:public eoUpdater
+00028 {
+00029 public:
+00030 
+00038 eoHybridMOLS (eoContinue < EOT > &_term, eoSelect < EOT > &_select, moeoMOLS < EOT > &_mols, moeoArchive < EOT > &_arch):term (_term), select (_select), mols (_mols),
+00039     arch
+00040     (_arch)
+00041   {
+00042   }
+00043 
+00047   void operator  () ()
+00048   {
+00049     if (!cont (arch))
+00050       {
+00051         // selection of solutions
+00052         eoPop < EOT > selectedSolutions;
+00053         select (arch, selectedSolutions);
+00054         // apply the local search to every selected solution
+00055         for (unsigned i = 0; i < selectedSolutions.size (); i++)
+00056           mols (selectedSolutions[i], arch);
+00057       }
+00058   }
+00059 
+00060 
+00061 private:
+00062 
+00064   eoContinue < EOT > &term;
+00066   eoSelect < EOT > &select;
+00068   moeoMOLS < EOT > &mols;
+00070   moeoArchive < EOT > &arch;
+00071 
+00072 };
+00073 
+00074 #endif /*MOEOHYBRIDMOLS_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoIBEA_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoIBEA_8h-source.html new file mode 100644 index 000000000..9793f089e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoIBEA_8h-source.html @@ -0,0 +1,427 @@ + + +ParadisEO-MOEO: moeoIBEA.h Source File + + + + +
+
+

moeoIBEA.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoIBEASorting.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 
+00014 #ifndef _moeoIBEASorting_h
+00015 #define _moeoIBEASorting_h
+00016 
+00017 #include <math.h>
+00018 #include <list>
+00019 #include <eoPop.h>
+00020 #include <eoPerf2Worth.h>
+00021 #include "moeoBinaryQualityIndicator.h"
+00022 
+00023 
+00028 template < class EOT, class Fitness > class moeoIBEA:public eoPerf2WorthCached < EOT,
+00029   double >
+00030 {
+00031 
+00032 public:
+00034   using eoPerf2WorthCached < EOT, double >::value;
+00035 
+00036     moeoIBEA (moeoBinaryQualityIndicator < Fitness > *_I)
+00037   {
+00038     I = _I;
+00039   }
+00040 
+00041 
+00046   void calculate_worths (const eoPop < EOT > &_pop)
+00047   {
+00048     /* resizing the worths beforehand */
+00049     value ().resize (_pop.size ());
+00050 
+00051     /* computation and setting of the bounds for each objective */
+00052     setBounds (_pop);
+00053 
+00054     /* computation of the fitness for each individual */
+00055     fitnesses (_pop);
+00056 
+00057     // higher is better, so invert the value
+00058     double max = *std::max_element (value ().begin (), value ().end ());
+00059     for (unsigned i = 0; i < value ().size (); i++)
+00060       value ()[i] = max - value ()[i];
+00061   }
+00062 
+00063 
+00064 protected:
+00065 
+00067   moeoBinaryQualityIndicator < Fitness > *I;
+00068 
+00069   virtual void setBounds (const eoPop < EOT > &_pop) = 0;
+00070   virtual void fitnesses (const eoPop < EOT > &_pop) = 0;
+00071 
+00072 };
+00073 
+00074 
+00075 
+00076 
+00077 
+00084 template < class EOT, class Fitness = typename EOT::Fitness > class moeoIBEASorting:public moeoIBEA < EOT,
+00085   Fitness
+00086   >
+00087 {
+00088 
+00089 public:
+00090 
+00096   moeoIBEASorting (moeoBinaryQualityIndicator < Fitness > *_I,
+00097                    const double _kappa):
+00098     moeoIBEA <
+00099     EOT,
+00100   Fitness > (_I)
+00101   {
+00102     kappa = _kappa;
+00103   }
+00104 
+00105 
+00106 private:
+00108   using moeoIBEA < EOT, Fitness >::I;
+00110   using moeoIBEA < EOT, Fitness >::value;
+00112   double
+00113     kappa;
+00114 
+00115 
+00120   void
+00121   setBounds (const eoPop < EOT > &_pop)
+00122   {
+00123     typedef
+00124       typename
+00125       EOT::Fitness::fitness_traits
+00126       traits;
+00127     double
+00128       min,
+00129       max;
+00130     for (unsigned i = 0; i < traits::nObjectives (); i++)
+00131       {
+00132         min = _pop[0].fitness ()[i];
+00133         max = _pop[0].fitness ()[i];
+00134         for (unsigned j = 1; j < _pop.size (); j++)
+00135           {
+00136             min = std::min (min, _pop[j].fitness ()[i]);
+00137             max = std::max (max, _pop[j].fitness ()[i]);
+00138           }
+00139         // setting of the bounds for the objective i
+00140         I->setBounds (i, min, max);
+00141       }
+00142   }
+00143 
+00144 
+00149   void
+00150   fitnesses (const eoPop < EOT > &_pop)
+00151   {
+00152     // reprsentation of the fitness components
+00153     std::vector < std::vector < double > >
+00154     fitComponents (_pop.size (), _pop.size ());
+00155     // the maximum absolute indicator value
+00156     double
+00157       maxAbsoluteIndicatorValue = 0;
+00158 
+00159     // computation of the indicator values and of the maximum absolute indicator value
+00160     for (unsigned i = 0; i < _pop.size (); i++)
+00161       for (unsigned j = 0; j < _pop.size (); j++)
+00162         if (i != j)
+00163           {
+00164             fitComponents[i][j] =
+00165               (*I) (_pop[i].fitness (), _pop[j].fitness ());
+00166             maxAbsoluteIndicatorValue =
+00167               std::max (maxAbsoluteIndicatorValue,
+00168                         fabs (fitComponents[i][j]));
+00169           }
+00170 
+00171     // computation of the fitness components for each pair of individuals
+00172     // if maxAbsoluteIndicatorValue==0, every individuals have the same fitness values for all objectives (already = 0)
+00173     if (maxAbsoluteIndicatorValue != 0)
+00174       for (unsigned i = 0; i < _pop.size (); i++)
+00175         for (unsigned j = 0; j < _pop.size (); j++)
+00176           if (i != j)
+00177             fitComponents[i][j] =
+00178               exp (-fitComponents[i][j] /
+00179                    (maxAbsoluteIndicatorValue * kappa));
+00180 
+00181     // computation of the fitness for each individual
+00182     for (unsigned i = 0; i < _pop.size (); i++)
+00183       {
+00184         value ()[i] = 0;
+00185         for (unsigned j = 0; j < _pop.size (); j++)
+00186           if (i != j)
+00187             value ()[i] += fitComponents[j][i];
+00188       }
+00189   }
+00190 
+00191 };
+00192 
+00193 
+00194 
+00195 
+00196 
+00203 template < class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval > class moeoIBEAStochSorting:public moeoIBEA < EOT,
+00204   FitnessEval
+00205   >
+00206 {
+00207 
+00208 public:
+00209 
+00214 moeoIBEAStochSorting (moeoBinaryQualityIndicator < FitnessEval > *_I):moeoIBEA < EOT,
+00215     FitnessEval >
+00216     (_I)
+00217   {
+00218   }
+00219 
+00220 
+00221 private:
+00223   using moeoIBEAStochSorting < EOT, FitnessEval >::I;
+00225   using moeoIBEAStochSorting < EOT, FitnessEval >::value;
+00226 
+00227 
+00231   static double
+00232   zero ()
+00233   {
+00234     return 1e-7;
+00235   }
+00236 
+00237 
+00242   void
+00243   setBounds (const eoPop < EOT > &_pop)
+00244   {
+00245     typedef
+00246       typename
+00247       EOT::Fitness::FitnessTraits
+00248       traits;
+00249     double
+00250       min,
+00251       max;
+00252     for (unsigned i = 0; i < traits::nObjectives (); i++)
+00253       {
+00254         min = _pop[0].fitness ().minimum (i);
+00255         max = _pop[0].fitness ().maximum (i);
+00256         for (unsigned j = 1; j < _pop.size (); j++)
+00257           {
+00258             min = std::min (min, _pop[j].fitness ().minimum (i));
+00259             max = std::max (max, _pop[j].fitness ().maximum (i));
+00260           }
+00261         // setting of the bounds for the ith objective
+00262         I->setBounds (i, min, max);
+00263       }
+00264   }
+00265 
+00266 
+00271   void
+00272   fitnesses (const eoPop < EOT > &_pop)
+00273   {
+00274     typedef
+00275       typename
+00276       EOT::Fitness::FitnessTraits
+00277       traits;
+00278     unsigned
+00279       nEval = traits::nEvaluations ();
+00280     unsigned
+00281       index;
+00282     double
+00283       eiv,
+00284       p,
+00285       sumP,
+00286       iValue;
+00287     std::list < std::pair < double, unsigned > >
+00288       l;
+00289     std::vector < unsigned >
+00290     n (_pop.size ());
+00291 
+00292     for (unsigned ind = 0; ind < _pop.size (); ind++)
+00293       {
+00294         value ()[ind] = 0.0;    // fitness value for the individual ind
+00295         for (unsigned eval = 0; eval < nEval; eval++)
+00296           {
+00297 
+00298             // I-values computation for the evaluation eval of the individual ind
+00299             l.clear ();
+00300             for (unsigned i = 0; i < _pop.size (); i++)
+00301               {
+00302                 if (i != ind)
+00303                   {
+00304                     for (unsigned j = 0; j < nEval; j++)
+00305                       {
+00306                         std::pair < double, unsigned >
+00307                           pa;
+00308                         // I-value
+00309                         pa.first =
+00310                           (*I) (_pop[ind].fitness ()[eval],
+00311                                 _pop[i].fitness ()[j]);
+00312                         // index of the individual
+00313                         pa.second = i;
+00314                         // append this to the list
+00315                         l.push_back (pa);
+00316                       }
+00317                   }
+00318               }
+00319 
+00320             // sorting of the I-values (in decreasing order)
+00321             l.sort ();
+00322 
+00323             // computation of the Expected Indicator Value (eiv) for the evaluation eval of the individual ind
+00324             eiv = 0.0;
+00325             n.assign (n.size (), 0);    // n[i]==0 for all i
+00326             sumP = 0.0;
+00327             while (((1 - sumP) > zero ()) && (l.size () > 0))
+00328               {
+00329                 // we use the last element of the list (the greatest one)
+00330                 iValue = l.back ().first;
+00331                 index = l.back ().second;
+00332                 // computation of the probability to appear
+00333                 p = (1.0 / (nEval - n[index])) * (1.0 - sumP);
+00334                 // eiv update
+00335                 eiv += p * iValue;
+00336                 // update of the number of elements for individual index
+00337                 n[index]++;
+00338                 // removing the last element of the list
+00339                 l.pop_back ();
+00340                 // sum of p update
+00341                 sumP += p;
+00342               }
+00343             value ()[ind] += eiv / nEval;
+00344           }
+00345       }
+00346 
+00347   }
+00348 
+00349 };
+00350 
+00351 
+00352 
+00353 
+00354 
+00361 template < class EOT, class FitnessEval = typename EOT::Fitness::FitnessEval > class moeoIBEAAvgSorting:public moeoIBEA < EOT,
+00362   FitnessEval
+00363   >
+00364 {
+00365 
+00366 public:
+00367 
+00373   moeoIBEAAvgSorting (moeoBinaryQualityIndicator < FitnessEval > *_I,
+00374                       const double _kappa):
+00375     moeoIBEA <
+00376     EOT,
+00377   FitnessEval > (_I)
+00378   {
+00379     kappa = _kappa;
+00380   }
+00381 
+00382 
+00383 private:
+00385   using moeoIBEAAvgSorting < EOT, FitnessEval >::I;
+00387   using moeoIBEAAvgSorting < EOT, FitnessEval >::value;
+00389   double
+00390     kappa;
+00391 
+00392 
+00397   void
+00398   setBounds (const eoPop < EOT > &_pop)
+00399   {
+00400     typedef
+00401       typename
+00402       EOT::Fitness::FitnessTraits
+00403       traits;
+00404     double
+00405       min,
+00406       max;
+00407     for (unsigned i = 0; i < traits::nObjectives (); i++)
+00408       {
+00409         min = _pop[0].fitness ().averagedParetoFitnessObject ()[i];
+00410         max = _pop[0].fitness ().averagedParetoFitnessObject ()[i];
+00411         for (unsigned j = 1; j < _pop.size (); j++)
+00412           {
+00413             min =
+00414               std::min (min,
+00415                         _pop[j].fitness ().averagedParetoFitnessObject ()[i]);
+00416             max =
+00417               std::max (max,
+00418                         _pop[j].fitness ().averagedParetoFitnessObject ()[i]);
+00419           }
+00420         // setting of the bounds for the objective i
+00421         I->setBounds (i, min, max);
+00422       }
+00423   }
+00424 
+00425 
+00430   void
+00431   fitnesses (const eoPop < EOT > &_pop)
+00432   {
+00433     // reprsentation of the fitness components
+00434     std::vector < std::vector < double > >
+00435     fitComponents (_pop.size (), _pop.size ());
+00436     // the maximum absolute indicator value
+00437     double
+00438       maxAbsoluteIndicatorValue = 0;
+00439 
+00440     // computation of the indicator values and of the maximum absolute indicator value
+00441     for (unsigned i = 0; i < _pop.size (); i++)
+00442       for (unsigned j = 0; j < _pop.size (); j++)
+00443         if (i != j)
+00444           {
+00445             fitComponents[i][j] =
+00446               (*I) (_pop[i].fitness ().averagedParetoFitnessObject (),
+00447                     _pop[j].fitness ().averagedParetoFitnessObject ());
+00448             maxAbsoluteIndicatorValue =
+00449               std::max (maxAbsoluteIndicatorValue,
+00450                         fabs (fitComponents[i][j]));
+00451           }
+00452 
+00453     // computation of the fitness components for each pair of individuals
+00454     // if maxAbsoluteIndicatorValue==0, every individuals have the same fitness values for all objectives (already = 0)
+00455     if (maxAbsoluteIndicatorValue != 0)
+00456       for (unsigned i = 0; i < _pop.size (); i++)
+00457         for (unsigned j = 0; j < _pop.size (); j++)
+00458           if (i != j)
+00459             fitComponents[i][j] =
+00460               exp (-fitComponents[i][j] /
+00461                    (maxAbsoluteIndicatorValue * kappa));
+00462 
+00463     // computation of the fitness for each individual
+00464     for (unsigned i = 0; i < _pop.size (); i++)
+00465       {
+00466         value ()[i] = 0;
+00467         for (unsigned j = 0; j < _pop.size (); j++)
+00468           if (i != j)
+00469             value ()[i] += fitComponents[j][i];
+00470       }
+00471   }
+00472 
+00473 };
+00474 
+00475 
+00476 #endif
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoMOLS_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoMOLS_8h-source.html new file mode 100644 index 000000000..9edb7898b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoMOLS_8h-source.html @@ -0,0 +1,52 @@ + + +ParadisEO-MOEO: moeoMOLS.h Source File + + + + +
+
+

moeoMOLS.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoMOLS.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOMOLS_H_
+00014 #define MOEOMOLS_H_
+00015 
+00016 #include <eoFunctor.h>
+00017 #include <moeoArchive.h>
+00018 
+00023 template < class EOT > class moeoMOLS:public eoBF < const EOT &, moeoArchive < EOT > &,
+00024   void >
+00025 {
+00026 };
+00027 
+00028 #endif /*MOEOMOLS_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoMetric_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoMetric_8h-source.html new file mode 100644 index 000000000..e9610c120 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoMetric_8h-source.html @@ -0,0 +1,110 @@ + + +ParadisEO-MOEO: moeoMetric.h Source File + + + + +
+
+

moeoMetric.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoMetric.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOMETRIC_H_
+00014 #define MOEOMETRIC_H_
+00015 
+00016 #include <eoFunctor.h>
+00017 
+00021 class moeoMetric:public eoFunctorBase
+00022 {
+00023 };
+00024 
+00025 
+00029 template < class A, class R > class moeoUM:public eoUF < A, R >,
+00030   public moeoMetric
+00031 {
+00032 };
+00033 
+00034 
+00038 template < class A1, class A2, class R > class moeoBM:public eoBF < A1, A2, R >,
+00039   public moeoMetric
+00040 {
+00041 };
+00042 
+00043 
+00047 template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoSolutionUM:public moeoUM <
+00048   const
+00049   EOFitness &,
+00050   R >
+00051 {
+00052 };
+00053 
+00054 
+00058 template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoVectorUM:public moeoUM <
+00059   const
+00060   std::vector <
+00061 EOFitness > &,
+00062   R >
+00063 {
+00064 };
+00065 
+00066 
+00070 template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoSolutionVsSolutionBM:public moeoBM <
+00071   const
+00072   EOFitness &, const
+00073   EOFitness &,
+00074   R >
+00075 {
+00076 };
+00077 
+00078 
+00082 template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoVectorVsSolutionBM:public moeoBM <
+00083   const
+00084   std::vector <
+00085 EOFitness > &, const
+00086   EOFitness &,
+00087   R >
+00088 {
+00089 };
+00090 
+00091 
+00095 template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoVectorVsVectorBM:public moeoBM <
+00096   const
+00097   std::vector <
+00098 EOFitness > &, const
+00099   std::vector <
+00100 EOFitness > &,
+00101   R >
+00102 {
+00103 };
+00104 
+00105 
+00106 #endif /*MOEOMETRIC_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoNDSorting_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoNDSorting_8h-source.html new file mode 100644 index 000000000..3d6719c32 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoNDSorting_8h-source.html @@ -0,0 +1,121 @@ + + +ParadisEO-MOEO: moeoNDSorting.h Source File + + + + +
+
+

moeoNDSorting.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoNDSorting.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef moeoNDSorting_h
+00014 #define moeoNDSorting_h
+00015 
+00016 #include <cfloat>
+00017 #include <eoNDSorting.h>
+00018 
+00019 # define INF 1.0e14             // DBL_MAX
+00020 
+00026 template < class EOT > class moeoNDSorting_II:public eoNDSorting < EOT >
+00027 {
+00028 public:
+00029 
+00033 moeoNDSorting_II (bool nasty_flag_ = false):eoNDSorting < EOT >
+00034     (nasty_flag_)
+00035   {
+00036   }
+00037 
+00041   typedef std::pair < double, unsigned >double_index_pair;
+00042 
+00046   class compare_nodes
+00047   {
+00048     public:bool operator () (const double_index_pair & a,
+00049                              const double_index_pair & b) const
+00050     {
+00051       return a.first < b.first;
+00052     }
+00053   };
+00054 
+00056   std::vector < double >niche_penalty (const std::vector < unsigned >&_cf,
+00057                                        const eoPop < EOT > &_pop)
+00058   {
+00059     typedef typename EOT::Fitness::fitness_traits traits;
+00060     unsigned i;
+00061     std::vector < double >niche_count (_cf.size (), 0.);
+00062 
+00063 
+00064     unsigned nObjectives = traits::nObjectives ();      //_pop[_cf[0]].fitness().size();
+00065 
+00066     for (unsigned o = 0; o < nObjectives; ++o)
+00067       {
+00068         std::vector < std::pair < double,
+00069           unsigned > >performance (_cf.size ());
+00070         for (i = 0; i < _cf.size (); ++i)
+00071           {
+00072             performance[i].first = _pop[_cf[i]].fitness ()[o];
+00073             performance[i].second = i;
+00074           }
+00075 
+00076         std::sort (performance.begin (), performance.end (), compare_nodes ()); // a lambda operator would've been nice here
+00077 
+00078         // set boundary at INF (so it will get chosen over all the others
+00079         niche_count[performance[0].second] = INF;
+00080         niche_count[performance.back ().second] = INF;
+00081 
+00082         if (performance[0].first != performance.back ().first)
+00083           {
+00084             for (i = 1; i < _cf.size () - 1; ++i)
+00085               {
+00086                 if (niche_count[performance[i].second] != INF)
+00087                   {
+00088                     niche_count[performance[i].second] +=
+00089                       (performance[i + 1].first -
+00090                        performance[i -
+00091                                    1].first) / (performance.back ().first -
+00092                                                 performance[0].first);
+00093                   }
+00094               }
+00095           }
+00096       }
+00097 
+00098     // transform niche_count into penality
+00099     for (i = 0; i < niche_count.size (); ++i)
+00100       {
+00101         niche_count[i] = INF - niche_count[i];
+00102       }
+00103 
+00104     return niche_count;
+00105   }
+00106 };
+00107 
+00108 #endif
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoNSGA__II_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoNSGA__II_8h-source.html new file mode 100644 index 000000000..88867d67b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoNSGA__II_8h-source.html @@ -0,0 +1,115 @@ + + +ParadisEO-MOEO: moeoNSGA_II.h Source File + + + + +
+
+

moeoNSGA_II.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoNSGA_II.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 // (c) Deneche Abdelhakim, 2006
+00007 /*
+00008     This library...
+00009 
+00010     Contact: paradiseo-help@lists.gforge.inria.fr
+00011  */
+00012 //-----------------------------------------------------------------------------
+00013 #ifndef MOEONSGA_II_H_
+00014 #define MOEONSGA_II_H_
+00015 
+00016 #include <eoGeneralBreeder.h>
+00017 #include <eoBreed.h>
+00018 #include <eoContinue.h>
+00019 #include <eoEvalFunc.h>
+00020 #include <eoGenContinue.h>
+00021 #include <eoGenOp.h>
+00022 #include <eoPopEvalFunc.h>
+00023 #include <eoSelectOne.h>
+00024 #include <eoSGAGenOp.h>
+00025 
+00026 #include <moeoNDSorting.h>
+00027 #include <moeoReplacement.h>
+00028 
+00031 template < class EOT > class moeoNSGA_II:public eoAlgo < EOT >
+00032 {
+00033 public:
+00034 
+00046   moeoNSGA_II (unsigned _max_gen, eoEvalFunc < EOT > &_eval, eoGenOp < EOT > &_op):continuator (*(new eoGenContinue < EOT > (_max_gen))), eval (_eval), loopEval (_eval), popEval (loopEval), selectOne (sorting, 2),   // binary tournament selection
+00047     replace (sorting), genBreed (selectOne, _op), breed (genBreed)
+00048   {
+00049   }
+00050 
+00052   moeoNSGA_II (unsigned _max_gen, eoEvalFunc < EOT > &_eval, eoQuadOp < EOT > &crossover, double pCross, eoMonOp < EOT > &mutation, double pMut):continuator (*(new eoGenContinue < EOT > (_max_gen))), eval (_eval), loopEval (_eval), popEval (loopEval), selectOne (sorting, 2),     // binary tournament selection
+00053    
+00054     replace (sorting),
+00055     genBreed (selectOne,
+00056               *new eoSGAGenOp < EOT > (crossover, pCross, mutation, pMut)),
+00057     breed (genBreed)
+00058   {
+00059   }
+00060 
+00062 moeoNSGA_II (eoContinue < EOT > &_continuator, eoEvalFunc < EOT > &_eval, eoGenOp < EOT > &_op):
+00063   continuator (_continuator), eval (_eval), loopEval (_eval), popEval (loopEval), selectOne (sorting, 2),       // binary tournament selection
+00064     replace (sorting), genBreed (selectOne, _op), breed (genBreed)
+00065   {
+00066   }
+00067 
+00069   virtual void operator () (eoPop < EOT > &_pop)
+00070   {
+00071     eoPop < EOT > offspring, empty_pop;
+00072     popEval (empty_pop, _pop);  // a first eval of _pop
+00073     do
+00074       {
+00075         // generate offspring, worths are recalculated if necessary
+00076         breed (_pop, offspring);
+00077 
+00078         // eval of offspring
+00079         popEval (_pop, offspring);
+00080 
+00081         // after replace, the new pop is in _pop. Worths are recalculated if necessary
+00082         replace (_pop, offspring);
+00083 
+00084       }
+00085     while (continuator (_pop));
+00086   }
+00087 
+00088 protected:
+00089   eoContinue < EOT > &continuator;
+00090 
+00091   eoEvalFunc < EOT > &eval;
+00092   eoPopLoopEval < EOT > loopEval;
+00093 
+00094   eoPopEvalFunc < EOT > &popEval;
+00095 
+00097   moeoNDSorting_II < EOT > sorting;
+00099   eoDetTournamentWorthSelect < EOT > selectOne;
+00101   moeoElitistReplacement < EOT > replace;
+00102   eoGeneralBreeder < EOT > genBreed;
+00103   eoBreed < EOT > &breed;
+00104 };
+00105 
+00106 #endif
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoParetoPhenDist_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoParetoPhenDist_8h-source.html new file mode 100644 index 000000000..271d7fa44 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoParetoPhenDist_8h-source.html @@ -0,0 +1,78 @@ + + +ParadisEO-MOEO: moeoParetoPhenDist.h Source File + + + + +
+
+

moeoParetoPhenDist.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoParetoPhenDist.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include<eoParetoFitness.h>
+00014 
+00015 template < class EOT, class DistType > class moeoParetoPhenDist
+00016 {
+00017 public:
+00018   virtual DistType operator  ()(const EOT & eopf1, const EOT & eopf2) = 0;
+00019 
+00020 };
+00021 
+00022 
+00023 
+00024 //Euclidien distance
+00025 
+00026 template < class EOT, class DistType =
+00027   double >class moeoParetoEuclidDist:public moeoParetoPhenDist < EOT,
+00028   DistType >
+00029 {
+00030 
+00031 public:
+00032   DistType operator  () (const EOT & eopf1, const EOT & eopf2)
+00033   {
+00034     double res = 0.0;
+00035     double max = 0.0;
+00036     double temp;
+00037     for (unsigned i = 0; i < eopf1.fitness ().size (); ++i)
+00038       {
+00039         temp =
+00040           (eopf1.fitness ().operator[](i) -
+00041            eopf2.fitness ().operator[](i)) * (eopf1.fitness ().operator[](i) -
+00042                                               eopf2.fitness ().operator[](i));
+00043         if (temp > max)
+00044           max = temp;           /* for normalization */
+00045         res = res + temp;
+00046       }
+00047     return sqrt (res / max);
+00048   }
+00049 
+00050 };
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoParetoSharing_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoParetoSharing_8h-source.html new file mode 100644 index 000000000..0e02818db --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoParetoSharing_8h-source.html @@ -0,0 +1,185 @@ + + +ParadisEO-MOEO: moeoParetoSharing.h Source File + + + + +
+
+

moeoParetoSharing.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoParetoSharing.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <EO.h>
+00014 #include <eoPerf2Worth.h>
+00015 #include <old/moeoParetoPhenDist.h>
+00016 #include <eoParetoRanking.h>
+00017 
+00018 template < class EOT, class worthT =
+00019   double >class moeoParetoSharing:public eoPerf2Worth < EOT, worthT >
+00020 {
+00021 public:
+00022 
+00023   moeoParetoSharing (double _nicheSize):eoPerf2Worth < EOT,
+00024     worthT > ("ParetoSharing"), nicheSize (_nicheSize), dist (euc_dist),
+00025     Dmax (_nicheSize)
+00026   {
+00027   }
+00028 
+00029 
+00030   moeoParetoSharing (double _nicheSize, moeoParetoPhenDist < EOT,
+00031                      worthT > &_dist):eoPerf2Worth < EOT,
+00032     worthT > ("ParetoSharing"), nicheSize (_nicheSize), dist (_dist),
+00033     Dmax (_nicheSize)
+00034   {
+00035   }
+00036 
+00037 
+00038 
+00039 
+00040   void operator  () /*calculate_worths */ (const eoPop < EOT > &_pop)
+00041   {
+00042 
+00043     unsigned i, j, pSize = _pop.size ();
+00044     //cout<<"**************************************************************************************\n";
+00045     // std :: cout << "psize = " << pSize << std :: endl ;
+00046     if (pSize <= 1)
+00047       throw std::
+00048         runtime_error ("Apptempt to do sharing with population of size 1");
+00049     eoPerf2Worth < EOT, worthT >::value ().resize (pSize);
+00050     std::vector < double >sim (pSize);  // to hold the similarities
+00051 
+00052     dMatrix distMatrix (pSize);
+00053 
+00054 // compute the distance
+00055     distMatrix[0][0] = 0;
+00056     for (i = 1; i < pSize; i++)
+00057       {
+00058         distMatrix[i][i] = 0;
+00059         for (j = 0; j < i; j++)
+00060           {
+00061             //if
+00062             distMatrix[i][j] = distMatrix[j][i] = dist (_pop[i], _pop[j]);
+00063             //cout<<"   "<<distMatrix[j][i]<<"  "<<dist(_pop[i],_pop[j])<<"\n";
+00064           }
+00065 
+00066       }
+00067 
+00068 //compute the similarities
+00069     for (i = 0; i < pSize; i++)
+00070       {
+00071         double sum = 0.0;
+00072         for (j = 0; j < pSize; j++)
+00073 
+00074           sum += sh (distMatrix[i][j], Dmax);
+00075         sim[i] = sum;
+00076 
+00077 //cout<<"\n  i  ----->"<<sim[i]<<"\n";
+00078       }
+00079 
+00080     eoDominanceMap < EOT > Dmap1;
+00081     Dmap1.setup (_pop);
+00082 
+00083     eoParetoRanking < EOT > rnk1 (Dmap1);
+00084     rnk1.calculate_worths (_pop);
+00085 // now set the worthes values
+00086     for (i = 0; i < pSize; ++i)
+00087       {
+00088         typename EOT::Fitness v;
+00089 
+00090 
+00091 
+00092 //cout<<"voila: "<<
+00093 //rnk1.value().operator[](i);
+00094 
+00095 //vector<double> v;
+00096 //v.resize(_pop[i].fitness().size());
+00097 //for(unsigned k=0;k<_pop[i].fitness().size();++k)
+00098 //v[k]=_pop[i].fitness().operator[](k)/sim[i];
+00099 //_pop[i].fitness(v);//.operator[](k)=0;//_pop[i].fitness().operator[](k)/sim[i];
+00100         eoPerf2Worth < EOT, worthT >::value ()[i] = rnk1.value ().operator[](i) / sim[i];       //*_pop[i].fitness().operator[](1)*_pop[i].fitness().operator[](1));
+00101 //cout<<"\n__________"<<pSize<<"  "<<value()[i]<<"    "<<i;
+00102       }
+00103 
+00104   }
+00105 
+00106 
+00107 
+00108 
+00109   class dMatrix:public std::vector < std::vector < double > >
+00110   {
+00111   public:
+00112     dMatrix (unsigned _s):rSize (_s)
+00113     {
+00114       this->resize (_s);
+00115       for (unsigned i = 0; i < _s; ++i)
+00116         this->operator[] (i).resize (_s);
+00117     }
+00118 
+00119     void printOn (std::ostream & _os)
+00120     {
+00121       for (unsigned i = 0; i < rSize; i++)
+00122         for (unsigned j = 0; j < rSize; ++j)
+00123           {
+00124             _os << this->operator[](i)[j] << " ";
+00125             _os << endl;
+00126           }
+00127       _os << endl;
+00128     }
+00129 //public:
+00130 //std::vector<double>v;
+00131 
+00132   private:
+00133 
+00134 
+00135 
+00136 
+00137     unsigned rSize;
+00138   };
+00139 
+00140 private:
+00141 
+00142   ;
+00143 
+00144   double sh (double dist, double Dmax)
+00145   {
+00146     if (dist < Dmax)
+00147       return (1.0 - dist / Dmax);
+00148     else
+00149       return (0.0);
+00150   }
+00151 
+00152   double nicheSize;
+00153   moeoParetoPhenDist < EOT, worthT > &dist;
+00154   moeoParetoEuclidDist < EOT > euc_dist;
+00155   double Dmax;
+00156 
+00157 };
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoReplacement_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoReplacement_8h-source.html new file mode 100644 index 000000000..b8ffd1a81 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoReplacement_8h-source.html @@ -0,0 +1,162 @@ + + +ParadisEO-MOEO: moeoReplacement.h Source File + + + + +
+
+

moeoReplacement.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoReplacement.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOREPLACEMENT_H_
+00014 #define MOEOREPLACEMENT_H_
+00015 
+00016 #include <eoPerf2Worth.h>
+00017 #include <eoPop.h>
+00018 #include <eoReplacement.h>
+00019 
+00020 
+00024 template < class EOT, class WorthT > class moeoReplacement:public eoReplacement <
+00025   EOT >
+00026 {
+00027 };
+00028 
+00029 
+00034 template < class EOT, class WorthT =
+00035   double >class moeoElitistReplacement:public moeoReplacement < EOT, WorthT >
+00036 {
+00037 public:
+00038 
+00043   moeoElitistReplacement (eoPerf2Worth < EOT,
+00044                           WorthT > &_perf2worth):perf2worth (_perf2worth)
+00045   {
+00046   }
+00047 
+00048 
+00054   void operator () (eoPop < EOT > &_parents, eoPop < EOT > &_offspring)
+00055   {
+00056     unsigned size = _parents.size ();
+00057     _parents.reserve (_parents.size () + _offspring.size ());
+00058     copy (_offspring.begin (), _offspring.end (), back_inserter (_parents));
+00059 
+00060     // calculate worths
+00061     perf2worth (_parents);
+00062     perf2worth.sort_pop (_parents);
+00063     perf2worth.resize (_parents, size);
+00064 
+00065     _offspring.clear ();
+00066   }
+00067 
+00068 private:
+00070   eoPerf2Worth < EOT, WorthT > &perf2worth;
+00071 };
+00072 
+00073 
+00077 template < class EOT, class WorthT =
+00078   double >class moeoDisctinctElitistReplacement:public moeoReplacement < EOT,
+00079   WorthT >
+00080 {
+00081 public:
+00082 
+00087   moeoDisctinctElitistReplacement (eoPerf2Worth < EOT,
+00088                                    WorthT >
+00089                                    &_perf2worth):perf2worth (_perf2worth)
+00090   {
+00091   }
+00092 
+00093 
+00099   void operator () (eoPop < EOT > &_parents, eoPop < EOT > &_offspring)
+00100   {
+00101     unsigned size = _parents.size ();
+00102     _parents.reserve (_parents.size () + _offspring.size ());
+00103     copy (_offspring.begin (), _offspring.end (), back_inserter (_parents));
+00104 
+00105     // creation of the new population (of size 'size')
+00106     createNewPop (_parents, size);
+00107 
+00108     _offspring.clear ();
+00109   }
+00110 
+00111 
+00112 private:
+00113 
+00115   eoPerf2Worth < EOT, WorthT > &perf2worth;
+00116 
+00117 
+00123   void createNewPop (eoPop < EOT > &_pop, unsigned _size)
+00124   {
+00125     // the number of occurences for each individual
+00126     std::map < EOT, unsigned >nb_occurences;
+00127     for (unsigned i = 0; i < _pop.size (); i++)
+00128       nb_occurences[_pop[i]] = 0;
+00129     // the new population
+00130     eoPop < EOT > new_pop;
+00131     new_pop.reserve (_pop.size ());
+00132     for (unsigned i = 0; i < _pop.size (); i++)
+00133       {
+00134         if (nb_occurences[_pop[i]] == 0)
+00135           new_pop.push_back (_pop[i]);
+00136         nb_occurences[_pop[i]]++;
+00137       }
+00138 
+00139     // calculate worths (on the new population)
+00140     perf2worth (new_pop);
+00141     perf2worth.sort_pop (new_pop);
+00142 
+00143     // if case there's not enough individuals in the population...
+00144     unsigned new_pop_size_init = new_pop.size ();
+00145     unsigned k = 0;
+00146     while (new_pop.size () < _size)
+00147       {
+00148         if (k < new_pop_size_init)
+00149           {
+00150             if (nb_occurences[new_pop[k]] > 1)
+00151               {
+00152                 new_pop.push_back (new_pop[k]);
+00153                 nb_occurences[new_pop[k]]--;
+00154               }
+00155             k++;
+00156           }
+00157         else
+00158           k = 0;
+00159       }
+00160 
+00161     // resize and swap the populations
+00162     perf2worth.resize (new_pop, _size);
+00163     _pop.resize (_size);
+00164     _pop.swap (new_pop);
+00165   }
+00166 
+00167 };
+00168 
+00169 #endif /*MOEOREPLACEMENT_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeoSelectOneFromPopAndArch_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeoSelectOneFromPopAndArch_8h-source.html new file mode 100644 index 000000000..670a13066 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeoSelectOneFromPopAndArch_8h-source.html @@ -0,0 +1,94 @@ + + +ParadisEO-MOEO: moeoSelectOneFromPopAndArch.h Source File + + + + +
+
+

moeoSelectOneFromPopAndArch.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoSelectOneFormPopAndArch.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOSELECTONEFROMPOPANDARCH_H_
+00014 #define MOEOSELECTONEFROMPOPANDARCH_H_
+00015 
+00016 #include <eoPop.h>
+00017 #include <eoRandomSelect.h>
+00018 #include <eoSelectOne.h>
+00019 #include <utils/eoRNG.h>
+00020 #include <moeoArchive.h>
+00021 
+00025 template < class EOT > class moeoSelectOneFromPopAndArch:public eoSelectOne <
+00026   EOT >
+00027 {
+00028 public:
+00029 
+00037 moeoSelectOneFromPopAndArch (eoSelectOne < EOT > &_popSelectOne, eoSelectOne < EOT > _archSelectOne, moeoArchive < EOT > &_arch, double _ratioFromPop = 0.5):popSelectOne (_popSelectOne), archSelectOne (_archSelectOne), arch (_arch),
+00038     ratioFromPop
+00039     (_ratioFromPop)
+00040   {
+00041   }
+00042 
+00049 moeoSelectOneFromPopAndArch (eoSelectOne < EOT > &_popSelectOne, moeoArchive < EOT > &_arch, double _ratioFromPop = 0.5):popSelectOne (_popSelectOne), archSelectOne (randomSelect), arch (_arch),
+00050     ratioFromPop
+00051     (_ratioFromPop)
+00052   {
+00053   }
+00054 
+00058   virtual const EOT & operator  () (const eoPop < EOT > &pop)
+00059   {
+00060     if (arch.size () > 0)
+00061       if (rng.flip (ratioFromPop))
+00062         return popSelectOne (pop);
+00063       else
+00064         return archSelectOne (arch);
+00065     else
+00066       return popSelectOne (pop);
+00067   }
+00068 
+00072   virtual void setup (const eoPop < EOT > &_pop)
+00073   {
+00074     popSelectOne.setup (_pop);
+00075   }
+00076 
+00077 
+00078 private:
+00079 
+00081   eoSelectOne < EOT > &popSelectOne;
+00083   eoSelectOne < EOT > &archSelectOne;
+00085   moeoArchive < EOT > &arch;
+00087   double ratioFromPop;
+00089   eoRandomSelect < EOT > randomSelect;
+00090 
+00091 };
+00092 
+00093 #endif /*MOEOSELECTONEFROMPOPANDARCH_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/moeo_8h-source.html b/trunk/paradiseo-moeo/docs/html/moeo_8h-source.html new file mode 100644 index 000000000..e822e349a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/moeo_8h-source.html @@ -0,0 +1,59 @@ + + +ParadisEO-MOEO: moeo.h Source File + + + + +
+
+

moeo.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeo.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEO_H_
+00014 #define MOEO_H_
+00015 
+00016 #include <eo>
+00017 
+00018 #include <moeoArchiveFitnessSavingUpdater.h>
+00019 #include <moeoArchiveUpdater.h>
+00020 #include <moeoArchive.h>
+00021 #include <moeoCombinedMOLS.h>
+00022 #include <moeoHybridMOLS.h>
+00023 #include <moeoMOLS.h>
+00024 #include <moeoReplacement.h>
+00025 #include <moeoSelectOneFromPopAndArch.h>
+00026 #include <metric/moeoBinaryMetricSavingUpdater.h>
+00027 #include <metric/moeoContributionMetric.h>
+00028 #include <metric/moeoEntropyMetric.h>
+00029 #include <metric/moeoMetric.h>
+00030 
+00031 #endif /*MOEO_H_ */
+

Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/pages.html b/trunk/paradiseo-moeo/docs/html/pages.html new file mode 100644 index 000000000..2d51f632a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/pages.html @@ -0,0 +1,33 @@ + + +ParadisEO-MOEO: Page Index + + + + +
+
+

ParadisEO-MOEO Related Pages

Here is a list of all related documentation pages: +
Generated on Mon Jan 15 14:18:07 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/search.idx b/trunk/paradiseo-moeo/docs/html/search.idx new file mode 100644 index 000000000..2fb41de67 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/search.idx differ diff --git a/trunk/paradiseo-moeo/docs/html/search.php b/trunk/paradiseo-moeo/docs/html/search.php new file mode 100644 index 000000000..8b879c9f2 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/search.php @@ -0,0 +1,381 @@ + + +Search + + + + +
+
    +
  • Main Page
  • +
  • Classes
  • +
  • Files
  • +
  • +
    + + + + +1 document matching your query."; + } + else // $num>1 + { + return "Found $num documents matching your query. Showing best matches first."; + } +} + +function report_matches() +{ + return "Matches: "; +} +function end_form($value) +{ + echo " \n \n
    \n
    \n
  • \n
\n
\n"; +} + +function readInt($file) +{ + $b1 = ord(fgetc($file)); $b2 = ord(fgetc($file)); + $b3 = ord(fgetc($file)); $b4 = ord(fgetc($file)); + return ($b1<<24)|($b2<<16)|($b3<<8)|$b4; +} + +function readString($file) +{ + $result=""; + while (ord($c=fgetc($file))) $result.=$c; + return $result; +} + +function readHeader($file) +{ + $header =fgetc($file); $header.=fgetc($file); + $header.=fgetc($file); $header.=fgetc($file); + return $header; +} + +function computeIndex($word) +{ + // Fast string hashing + //$lword = strtolower($word); + //$l = strlen($lword); + //for ($i=0;$i<$l;$i++) + //{ + // $c = ord($lword{$i}); + // $v = (($v & 0xfc00) ^ ($v << 6) ^ $c) & 0xffff; + //} + //return $v; + + // Simple hashing that allows for substring search + if (strlen($word)<2) return -1; + // high char of the index + $hi = ord($word{0}); + if ($hi==0) return -1; + // low char of the index + $lo = ord($word{1}); + if ($lo==0) return -1; + // return index + return $hi*256+$lo; +} + +function search($file,$word,&$statsList) +{ + $index = computeIndex($word); + if ($index!=-1) // found a valid index + { + fseek($file,$index*4+4); // 4 bytes per entry, skip header + $index = readInt($file); + if ($index) // found words matching the hash key + { + $start=sizeof($statsList); + $count=$start; + fseek($file,$index); + $w = readString($file); + while ($w) + { + $statIdx = readInt($file); + if ($word==substr($w,0,strlen($word))) + { // found word that matches (as substring) + $statsList[$count++]=array( + "word"=>$word, + "match"=>$w, + "index"=>$statIdx, + "full"=>strlen($w)==strlen($word), + "docs"=>array() + ); + } + $w = readString($file); + } + $totalHi=0; + $totalFreqHi=0; + $totalFreqLo=0; + for ($count=$start;$count $idx, + "freq" => $freq>>1, + "rank" => 0.0, + "hi" => $freq&1 + ); + if ($freq&1) // word occurs in high priority doc + { + $totalHi++; + $totalFreqHi+=$freq*$multiplier; + } + else // word occurs in low priority doc + { + $totalFreqLo+=$freq*$multiplier; + } + } + // read name and url info for the doc + for ($i=0;$i<$numDocs;$i++) + { + fseek($file,$docInfo[$i]["idx"]); + $docInfo[$i]["name"]=readString($file); + $docInfo[$i]["url"]=readString($file); + } + $statInfo["docs"]=$docInfo; + } + $totalFreq=($totalHi+1)*$totalFreqLo + $totalFreqHi; + for ($count=$start;$count$key, + "name"=>$di["name"], + "rank"=>$rank + ); + } + $docs[$key]["words"][] = array( + "word"=>$wordInfo["word"], + "match"=>$wordInfo["match"], + "freq"=>$di["freq"] + ); + } + } + return $docs; +} + +function filter_results($docs,&$requiredWords,&$forbiddenWords) +{ + $filteredDocs=array(); + while (list ($key, $val) = each ($docs)) + { + $words = &$docs[$key]["words"]; + $copy=1; // copy entry by default + if (sizeof($requiredWords)>0) + { + foreach ($requiredWords as $reqWord) + { + $found=0; + foreach ($words as $wordInfo) + { + $found = $wordInfo["word"]==$reqWord; + if ($found) break; + } + if (!$found) + { + $copy=0; // document contains none of the required words + break; + } + } + } + if (sizeof($forbiddenWords)>0) + { + foreach ($words as $wordInfo) + { + if (in_array($wordInfo["word"],$forbiddenWords)) + { + $copy=0; // document contains a forbidden word + break; + } + } + } + if ($copy) $filteredDocs[$key]=$docs[$key]; + } + return $filteredDocs; +} + +function compare_rank($a,$b) +{ + if ($a["rank"] == $b["rank"]) + { + return 0; + } + return ($a["rank"]>$b["rank"]) ? -1 : 1; +} + +function sort_results($docs,&$sorted) +{ + $sorted = $docs; + usort($sorted,"compare_rank"); + return $sorted; +} + +function report_results(&$docs) +{ + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + $numDocs = sizeof($docs); + if ($numDocs==0) + { + echo " \n"; + echo " \n"; + echo " \n"; + } + else + { + echo " \n"; + echo " \n"; + echo " \n"; + $num=1; + foreach ($docs as $doc) + { + echo " \n"; + echo " "; + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + $num++; + } + } + echo "

".search_results()."

".matches_text(0)."
".matches_text($numDocs); + echo "\n"; + echo "
$num.".$doc["name"]."
".report_matches()." "; + foreach ($doc["words"] as $wordInfo) + { + $word = $wordInfo["word"]; + $matchRight = substr($wordInfo["match"],strlen($word)); + echo "$word$matchRight(".$wordInfo["freq"].") "; + } + echo "
\n"; +} + +function main() +{ + if(strcmp('4.1.0', phpversion()) > 0) + { + die("Error: PHP version 4.1.0 or above required!"); + } + if (!($file=fopen("search.idx","rb"))) + { + die("Error: Search index file could NOT be opened!"); + } + if (readHeader($file)!="DOXS") + { + die("Error: Header of index file is invalid!"); + } + $query=""; + if (array_key_exists("query", $_GET)) + { + $query=$_GET["query"]; + } + end_form($query); + echo " \n
\n"; + $results = array(); + $requiredWords = array(); + $forbiddenWords = array(); + $foundWords = array(); + $word=strtok($query," "); + while ($word) // for each word in the search query + { + if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; } + if (($word{0}=='-')) { $word=substr($word,1); $forbiddenWords[]=$word; } + if (!in_array($word,$foundWords)) + { + $foundWords[]=$word; + search($file,strtolower($word),$results); + } + $word=strtok(" "); + } + $docs = array(); + combine_results($results,$docs); + // filter out documents with forbidden word or that do not contain + // required words + $filteredDocs = filter_results($docs,$requiredWords,$forbiddenWords); + // sort the results based on rank + $sorted = array(); + sort_results($filteredDocs,$sorted); + // report results to the user + report_results($sorted); + echo "
\n"; + fclose($file); +} + +main(); + + +?> +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/tab_b.gif b/trunk/paradiseo-moeo/docs/html/tab_b.gif new file mode 100644 index 000000000..0d623483f Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/tab_b.gif differ diff --git a/trunk/paradiseo-moeo/docs/html/tab_l.gif b/trunk/paradiseo-moeo/docs/html/tab_l.gif new file mode 100644 index 000000000..9b1e6337c Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/tab_l.gif differ diff --git a/trunk/paradiseo-moeo/docs/html/tab_r.gif b/trunk/paradiseo-moeo/docs/html/tab_r.gif new file mode 100644 index 000000000..ce9dd9f53 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/html/tab_r.gif differ diff --git a/trunk/paradiseo-moeo/docs/html/tabs.css b/trunk/paradiseo-moeo/docs/html/tabs.css new file mode 100644 index 000000000..a61552a67 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/tabs.css @@ -0,0 +1,102 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI#current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI#current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.nav +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; +} diff --git a/trunk/paradiseo-moeo/docs/html/tree.html b/trunk/paradiseo-moeo/docs/html/tree.html new file mode 100644 index 000000000..5847a2023 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/tree.html @@ -0,0 +1,306 @@ + + + + + + + TreeView + + + + +
+

ParadisEO-MOEO

+
+

o*Welcome to ParadisEO-MOEO

+

o+Class List

+ +

o+Class Hierarchy

+
+

|o+eoFunctorBase [external]

+
+

||o+eoBF< A1, A2, R > [external]

+ +

||o+eoBF< const const EOFitness &, EOFitness &, R > [external]

+ +

||o+eoBF< const const std::vector< EOFitness > &, EOFitness &, R > [external]

+ +

||o+eoBF< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R > [external]

+ +

||o+eoBF< const const std::vector< typename EOT::Fitness > &, std::vector< typename EOT::Fitness > &, double > [external]

+ +

||o+eoBF< const EOT &, moeoArchive< EOT > &, void > [external]

+ +

||o+eoBF< eoPop< EOT > &, eoPop< EOT > &, void > [external]

+ +

||o+eoF< void > [external]

+ +

||o+eoUF< A1, R > [external]

+ +

||o+eoUF< A, R > [external]

+ +

||o+eoUF< const EOFitness &, R > [external]

+ +

||o+eoUF< const eoPop< EOT > &, void > [external]

+ +

||o+eoUF< const std::vector< EOFitness > &, R > [external]

+ +

||o+eoUF< eoPop< EOT > &, void > [external]

+
+

|||\+eoAlgo< EOT > [external]

+ +
+

||\+moeoMetric

+ +
+

|o+eoObject [external]

+
+

||\+eoPop< EOT > [external]

+ +
+

|o+eoParam [external]

+ +

|o+eoPrintable [external]

+
+

||\+eoPersistent [external]

+
+

|| \*eoPop< EOT > [external]

+
+
+

|o*moeoBinaryQualityIndicator< EOFitness >::Range

+

|o*moeoNDSorting_II< EOT >::compare_nodes

+

|o+moeoParetoPhenDist< EOT, DistType >

+ +

|\*moeoParetoSharing< EOT, worthT >::dMatrix

+
+

o*Class Members

+

\+File List

+
+

 o*index.h

+

 o*make_algo_MOEO.h

+

 o*moeo.h

+

 o*moeoArchive.h

+

 o*moeoArchiveFitnessSavingUpdater.h

+

 o*moeoArchiveUpdater.h

+

 o*moeoBinaryMetricSavingUpdater.h

+

 o*moeoBinaryQualityIndicator.h

+

 o*moeoCombinedMOLS.h

+

 o*moeoContributionMetric.h

+

 o*moeoEntropyMetric.h

+

 o*moeoHybridMOLS.h

+

 o*moeoIBEA.h

+

 o*moeoMetric.h

+

 o*moeoMOLS.h

+

 o*moeoNDSorting.h

+

 o*moeoNSGA_II.h

+

 o*moeoParetoPhenDist.h

+

 o*moeoParetoSharing.h

+

 o*moeoReplacement.h

+

 o*moeoSelectOneFromPopAndArch.h

+

 \*README

+
+
+
+ + diff --git a/trunk/paradiseo-moeo/docs/html/webpages.html b/trunk/paradiseo-moeo/docs/html/webpages.html new file mode 100644 index 000000000..98d444ebf --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/webpages.html @@ -0,0 +1,31 @@ + + +ParadisEO-MOEO: Related webpages + + + + +
+
+

Related webpages

+
Generated on Mon Jan 15 14:18:07 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/latex/FreeSans.ttf b/trunk/paradiseo-moeo/docs/latex/FreeSans.ttf new file mode 100644 index 000000000..b550b90ba Binary files /dev/null and b/trunk/paradiseo-moeo/docs/latex/FreeSans.ttf differ diff --git a/trunk/paradiseo-moeo/docs/latex/Helvetica.ttf b/trunk/paradiseo-moeo/docs/latex/Helvetica.ttf new file mode 100644 index 000000000..8051f8a11 Binary files /dev/null and b/trunk/paradiseo-moeo/docs/latex/Helvetica.ttf differ diff --git a/trunk/paradiseo-moeo/docs/latex/Makefile b/trunk/paradiseo-moeo/docs/latex/Makefile new file mode 100644 index 000000000..776fcf968 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/Makefile @@ -0,0 +1,39 @@ +all: clean refman.dvi + +ps: refman.ps + +pdf: refman.pdf + +ps_2on1: refman_2on1.ps + +pdf_2on1: refman_2on1.pdf + +refman.ps: refman.dvi + dvips -o refman.ps refman.dvi + +refman.pdf: refman.ps + ps2pdf refman.ps refman.pdf + +refman.dvi: refman.tex doxygen.sty + echo "Running latex..." + latex refman.tex + echo "Running makeindex..." + makeindex refman.idx + echo "Rerunning latex...." + latex refman.tex + latex_count=5 ; \ + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ + do \ + echo "Rerunning latex...." ;\ + latex refman.tex ;\ + latex_count=`expr $$latex_count - 1` ;\ + done + +refman_2on1.ps: refman.ps + psnup -2 refman.ps >refman_2on1.ps + +refman_2on1.pdf: refman_2on1.ps + ps2pdf refman_2on1.ps refman_2on1.pdf + +clean: + rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf diff --git a/trunk/paradiseo-moeo/docs/latex/annotated.tex b/trunk/paradiseo-moeo/docs/latex/annotated.tex new file mode 100644 index 000000000..bffe79872 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/annotated.tex @@ -0,0 +1,39 @@ +\section{Paradis\-EO-MOEO Class List} +Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} +\item\contentsline{section}{{\bf moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$} (Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness} )}{\pageref{classmoeoAdditiveBinaryEpsilonIndicator}}{} +\item\contentsline{section}{{\bf moeo\-Archive$<$ EOT $>$} (An archive is a secondary population that stores non-dominated solutions )}{\pageref{classmoeoArchive}}{} +\item\contentsline{section}{{\bf moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$} (This class allows to save the fitnesses of solutions contained in an archive into a file at each generation )}{\pageref{classmoeoArchiveFitnessSavingUpdater}}{} +\item\contentsline{section}{{\bf moeo\-Archive\-Updater$<$ EOT $>$} (This class allows to update the archive at each generation with newly found non-dominated solutions )}{\pageref{classmoeoArchiveUpdater}}{} +\item\contentsline{section}{{\bf moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$} (Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness} )}{\pageref{classmoeoBinaryHypervolumeIndicator}}{} +\item\contentsline{section}{{\bf moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$} (This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file )}{\pageref{classmoeoBinaryMetricSavingUpdater}}{} +\item\contentsline{section}{{\bf moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$} (Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object )}{\pageref{classmoeoBinaryQualityIndicator}}{} +\item\contentsline{section}{{\bf moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range} (Private class to represent the bounds )}{\pageref{classmoeoBinaryQualityIndicator_1_1Range}}{} +\item\contentsline{section}{{\bf moeo\-BM$<$ A1, A2, R $>$} (Base class for binary metrics )}{\pageref{classmoeoBM}}{} +\item\contentsline{section}{{\bf moeo\-Combined\-MOLS$<$ EOT $>$} (This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions )}{\pageref{classmoeoCombinedMOLS}}{} +\item\contentsline{section}{{\bf moeo\-Contribution\-Metric$<$ EOT $>$} (The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set )}{\pageref{classmoeoContributionMetric}}{} +\item\contentsline{section}{{\bf moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} (Same than \doxyref{moeo\-Elitist\-Replacement}{p.}{classmoeoElitistReplacement} except that distinct individuals are privilegied )}{\pageref{classmoeoDisctinctElitistReplacement}}{} +\item\contentsline{section}{{\bf moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} (Keep all the best individuals (almost cut-and-pasted from {\bf eo\-NDPlus\-Replacement}, (c) Maarten Keijzer, Marc Schoenauer and Ge\-Neura Team, 2002) )}{\pageref{classmoeoElitistReplacement}}{} +\item\contentsline{section}{{\bf moeo\-Entropy\-Metric$<$ EOT $>$} (The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set )}{\pageref{classmoeoEntropyMetric}}{} +\item\contentsline{section}{{\bf moeo\-Hybrid\-MOLS$<$ EOT $>$} (This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified )}{\pageref{classmoeoHybridMOLS}}{} +\item\contentsline{section}{{\bf moeo\-IBEA$<$ EOT, Fitness $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) )}{\pageref{classmoeoIBEA}}{} +\item\contentsline{section}{{\bf moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object )}{\pageref{classmoeoIBEAAvgSorting}}{} +\item\contentsline{section}{{\bf moeo\-IBEASorting$<$ EOT, Fitness $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object )}{\pageref{classmoeoIBEASorting}}{} +\item\contentsline{section}{{\bf moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object )}{\pageref{classmoeoIBEAStochSorting}}{} +\item\contentsline{section}{{\bf moeo\-Metric} (Base class for performance metrics (also called quality indicators) )}{\pageref{classmoeoMetric}}{} +\item\contentsline{section}{{\bf moeo\-MOLS$<$ EOT $>$} (Abstract class for local searches applied to multi-objective optimization )}{\pageref{classmoeoMOLS}}{} +\item\contentsline{section}{{\bf moeo\-NDSorting\_\-II$<$ EOT $>$} (Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original {\bf eo\-NDSorting\_\-II} class )}{\pageref{classmoeoNDSorting__II}}{} +\item\contentsline{section}{{\bf moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes} (A class to compare the nodes )}{\pageref{classmoeoNDSorting__II_1_1compare__nodes}}{} +\item\contentsline{section}{{\bf moeo\-NSGA\_\-II$<$ EOT $>$} }{\pageref{classmoeoNSGA__II}}{} +\item\contentsline{section}{{\bf moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$} }{\pageref{classmoeoParetoEuclidDist}}{} +\item\contentsline{section}{{\bf moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$} }{\pageref{classmoeoParetoPhenDist}}{} +\item\contentsline{section}{{\bf moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$} }{\pageref{classmoeoParetoSharing}}{} +\item\contentsline{section}{{\bf moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix} }{\pageref{classmoeoParetoSharing_1_1dMatrix}}{} +\item\contentsline{section}{{\bf moeo\-Replacement$<$ EOT, Worth\-T $>$} (Replacement strategy for multi-objective optimization )}{\pageref{classmoeoReplacement}}{} +\item\contentsline{section}{{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$} (Elitist selection process that consists in choosing individuals in the archive as well as in the current population )}{\pageref{classmoeoSelectOneFromPopAndArch}}{} +\item\contentsline{section}{{\bf moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$} (Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness )}{\pageref{classmoeoSolutionUM}}{} +\item\contentsline{section}{{\bf moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} (Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses )}{\pageref{classmoeoSolutionVsSolutionBM}}{} +\item\contentsline{section}{{\bf moeo\-UM$<$ A, R $>$} (Base class for unary metrics )}{\pageref{classmoeoUM}}{} +\item\contentsline{section}{{\bf moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$} (Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses) )}{\pageref{classmoeoVectorUM}}{} +\item\contentsline{section}{{\bf moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} (Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness )}{\pageref{classmoeoVectorVsSolutionBM}}{} +\item\contentsline{section}{{\bf moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$} (Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses) )}{\pageref{classmoeoVectorVsVectorBM}}{} +\end{CompactList} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.eps new file mode 100644 index 000000000..ee63c63a0 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 232.558 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.15 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoAdditiveBinaryEpsilonIndicator< EOFitness >) cw +(eoBinaryQualityIndicator< EOFitness >) cw +(eoBF< const EOFitness &, const EOFitness &, double >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box + (eoBinaryQualityIndicator< EOFitness >) 0 1 box + (eoBF< const EOFitness &, const EOFitness &, double >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.tex new file mode 100644 index 000000000..2cb1ea414 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.tex @@ -0,0 +1,83 @@ +\section{eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classeoAdditiveBinaryEpsilonIndicator}\index{eoAdditiveBinaryEpsilonIndicator@{eoAdditiveBinaryEpsilonIndicator}} +Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}. + + +{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classeoAdditiveBinaryEpsilonIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Additive\-Binary\-Epsilon\-Indicator} ()\label{classeoAdditiveBinaryEpsilonIndicator_c76501f3d05bc3c1e9ccef6f9c465cb9} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2) +\begin{CompactList}\small\item\em computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classeoAdditiveBinaryEpsilonIndicator_c6d4c79183683a05183a31fcb7f533f1} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf epsilon\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj) +\begin{CompactList}\small\item\em computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$} + +Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}. + + + +Definition at line 126 of file eo\-Binary\-Quality\-Indicator.h. + +\subsection{Member Function Documentation} +\index{eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}!operator()@{operator()}} +\index{operator()@{operator()}!eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeoAdditiveBinaryEpsilonIndicator_5fd885a2a555e26706174a44ef636f4d} + + +computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function) + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ const EOFitness \&, const EOFitness \&, double $>$}. + +Definition at line 149 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::epsilon\-Value().\index{eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}!epsilonValue@{epsilonValue}} +\index{epsilonValue@{epsilonValue}!eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::epsilon\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoAdditiveBinaryEpsilonIndicator_8f35162769a1b23ada83e5fb21cc74e7} + + +computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj the index of the objective \end{description} +\end{Desc} + + +Definition at line 181 of file eo\-Binary\-Quality\-Indicator.h. + +Referenced by eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.eps new file mode 100644 index 000000000..69b8a1f07 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 232.558 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.15 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoBinaryHypervolumeIndicator< EOFitness >) cw +(eoBinaryQualityIndicator< EOFitness >) cw +(eoBF< const EOFitness &, const EOFitness &, double >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoBinaryHypervolumeIndicator< EOFitness >) 0 0 box + (eoBinaryQualityIndicator< EOFitness >) 0 1 box + (eoBF< const EOFitness &, const EOFitness &, double >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.tex new file mode 100644 index 000000000..33cc87a7e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.tex @@ -0,0 +1,149 @@ +\section{eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classeoBinaryHypervolumeIndicator}\index{eoBinaryHypervolumeIndicator@{eoBinaryHypervolumeIndicator}} +Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}. + + +{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classeoBinaryHypervolumeIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Binary\-Hypervolume\-Indicator} (double \_\-rho) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2) +\begin{CompactList}\small\item\em indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classeoBinaryHypervolumeIndicator_abde225206c55671bd585cc41cbfab1c} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf hypervolume\-Indicator\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag=false) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 \item\end{CompactList}\item +double {\bf hypervolume\-Indicator\-Value\-Min} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj \item\end{CompactList}\item +double {\bf hypervolume\-Indicator\-Value\-Max} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf rho}\label{classeoBinaryHypervolumeIndicator_02fdfd1b2aa8071cdd3d395777d709a5} + +\begin{CompactList}\small\item\em reference point for the hypervolume calculation \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$} + +Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}. + + + +Definition at line 217 of file eo\-Binary\-Quality\-Indicator.h. + +\subsection{Constructor \& Destructor Documentation} +\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!eoBinaryHypervolumeIndicator@{eoBinaryHypervolumeIndicator}} +\index{eoBinaryHypervolumeIndicator@{eoBinaryHypervolumeIndicator}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::{\bf eo\-Binary\-Hypervolume\-Indicator} (double {\em \_\-rho})\hspace{0.3cm}{\tt [inline]}}\label{classeoBinaryHypervolumeIndicator_8b1dedf93c1936ea7efa9b19913d8773} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em double}]\_\-rho reference point for the hypervolume calculation (rho must not be smaller than 1) \end{description} +\end{Desc} + + +Definition at line 227 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +\subsection{Member Function Documentation} +\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!operator()@{operator()}} +\index{operator()@{operator()}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeoBinaryHypervolumeIndicator_d418f42f086a3221c60ad9149b5df9d0} + + +indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function) + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ const EOFitness \&, const EOFitness \&, double $>$}. + +Definition at line 250 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValue@{hypervolumeIndicatorValue}} +\index{hypervolumeIndicatorValue@{hypervolumeIndicatorValue}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag} = {\tt false})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoBinaryHypervolumeIndicator_9c12e672eaf7ed2b17cab9b96af911e6} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj number of objectives (used for iteration) \item[{\em bool}]\_\-flag = false (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 285 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min(). + +Referenced by eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::operator()().\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}} +\index{hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoBinaryHypervolumeIndicator_6c9b9a5279ad7894b4563e205f13e98b} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 320 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +Referenced by eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}} +\index{hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoBinaryHypervolumeIndicator_df2903822dbcd0a906dabf4cb6e05bfb} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 374 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +Referenced by eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.eps new file mode 100644 index 000000000..819e6f0ed --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 116.279 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 4.3 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoBinaryQualityIndicator< EOFitness >) cw +(eoBF< const EOFitness &, const EOFitness &, double >) cw +(eoFunctorBase) cw +(eoAdditiveBinaryEpsilonIndicator< EOFitness >) cw +(eoBinaryHypervolumeIndicator< EOFitness >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoBinaryQualityIndicator< EOFitness >) 0.5 1 box + (eoBF< const EOFitness &, const EOFitness &, double >) 0.5 2 box + (eoFunctorBase) 0.5 3 box + (eoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box + (eoBinaryHypervolumeIndicator< EOFitness >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.tex new file mode 100644 index 000000000..567e8db4b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.tex @@ -0,0 +1,69 @@ +\section{eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classeoBinaryQualityIndicator}\index{eoBinaryQualityIndicator@{eoBinaryQualityIndicator}} +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + +{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.25581cm]{classeoBinaryQualityIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Binary\-Quality\-Indicator} ()\label{classeoBinaryQualityIndicator_e138f133fb4a5024b2e31f1544b4739a} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf set\-Bounds} (const unsigned \_\-i\-Obj, const double \_\-min, const double \_\-max) +\begin{CompactList}\small\item\em set the bounds for objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +std::vector$<$ {\bf Range} $>$ {\bf bounds}\label{classeoBinaryQualityIndicator_aa9bb224ab744a00271577a10518581a} + +\begin{CompactList}\small\item\em range (min and max double value) for each objective \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classeoBinaryQualityIndicator_3d9415cfa63d3dd57fe44f9e11df3cac} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf Range} +\begin{CompactList}\small\item\em Private class to represent the bounds. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$} + +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + + +Definition at line 39 of file eo\-Binary\-Quality\-Indicator.h. + +\subsection{Member Function Documentation} +\index{eoBinaryQualityIndicator@{eo\-Binary\-Quality\-Indicator}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!eoBinaryQualityIndicator@{eo\-Binary\-Quality\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ void {\bf eo\-Binary\-Quality\-Indicator}$<$ EOFitness $>$::set\-Bounds (const unsigned {\em \_\-i\-Obj}, const double {\em \_\-min}, const double {\em \_\-max})\hspace{0.3cm}{\tt [inline]}}\label{classeoBinaryQualityIndicator_ed08c328526eb4c1c8cfde8b6938ece9} + + +set the bounds for objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em unsigned}]\_\-i\-Obj the index of the objective \item[{\em double}]\_\-min the minimum value \item[{\em double}]\_\-max the maximum value \end{description} +\end{Desc} + + +Definition at line 62 of file eo\-Binary\-Quality\-Indicator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator_1_1Range.tex b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator_1_1Range.tex new file mode 100644 index 000000000..01e43961d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator_1_1Range.tex @@ -0,0 +1,51 @@ +\section{eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range Class Reference} +\label{classeoBinaryQualityIndicator_1_1Range}\index{eoBinaryQualityIndicator::Range@{eoBinaryQualityIndicator::Range}} +Private class to represent the bounds. + + +{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf Range} ()\label{classeoBinaryQualityIndicator_1_1Range_75dfd77019095fa4993ad3187ac44006} + +\item +{\bf Range} (const double \_\-min, const double \_\-max)\label{classeoBinaryQualityIndicator_1_1Range_111b9a6b682bd0270039cce7d1a847ca} + +\item +double {\bf minimum} ()\label{classeoBinaryQualityIndicator_1_1Range_f9554f81819461f9ad56c12a93259803} + +\item +double {\bf maximum} ()\label{classeoBinaryQualityIndicator_1_1Range_790f08b55cdd69213886de198b2bcc5f} + +\item +double {\bf range} ()\label{classeoBinaryQualityIndicator_1_1Range_a432e7dbdb691ce4e6ee6d6a224e469f} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf min}\label{classeoBinaryQualityIndicator_1_1Range_e233e32a9b7cb73ef5dbe06a204482ec} + +\item +double {\bf max}\label{classeoBinaryQualityIndicator_1_1Range_63c9473e163e3c0c6d5a0327252786b1} + +\item +double {\bf r}\label{classeoBinaryQualityIndicator_1_1Range_101eaf7a60e7243df169c7fde6087342} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range} + +Private class to represent the bounds. + + + +Definition at line 73 of file eo\-Binary\-Quality\-Indicator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEA.eps b/trunk/paradiseo-moeo/docs/latex/classeoIBEA.eps new file mode 100644 index 000000000..abe693ac4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEA.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoIBEA< EOT, Fitness >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +(eoIBEASorting< EOT, Fitness >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoIBEA< EOT, Fitness >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + (eoIBEASorting< EOT, Fitness >) 0.5 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in +solid +1 0.5 0.25 out +solid +0 0.5 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEA.tex b/trunk/paradiseo-moeo/docs/latex/classeoIBEA.tex new file mode 100644 index 000000000..38074e73d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEA.tex @@ -0,0 +1,60 @@ +\section{eo\-IBEA$<$ EOT, Fitness $>$ Class Template Reference} +\label{classeoIBEA}\index{eoIBEA@{eoIBEA}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + + +{\tt \#include $<$eo\-IBEA.h$>$} + +Inheritance diagram for eo\-IBEA$<$ EOT, Fitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classeoIBEA} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-IBEA} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I)\label{classeoIBEA_703833c1f773136b24d2ca5c7cff4b2d} + +\item +void {\bf calculate\_\-worths} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em mapping \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\bf I}\label{classeoIBEA_f69a9efad202b67ee51d538d14d587e6} + +\begin{CompactList}\small\item\em binary quality indicator to use in the selection process \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness$>$ class eo\-IBEA$<$ EOT, Fitness $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + + + +Definition at line 38 of file eo\-IBEA.h. + +\subsection{Member Function Documentation} +\index{eoIBEA@{eo\-IBEA}!calculate_worths@{calculate\_\-worths}} +\index{calculate_worths@{calculate\_\-worths}!eoIBEA@{eo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness$>$ void {\bf eo\-IBEA}$<$ EOT, Fitness $>$::calculate\_\-worths (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeoIBEA_e6b7c15e38822bef261c545b498eabef} + + +mapping + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-Perf2Worth\-Cached$<$ EOT, double $>$}. + +Definition at line 56 of file eo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.eps b/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.eps new file mode 100644 index 000000000..99056127d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoIBEAAvgSorting< EOT, FitnessEval >) cw +(eoIBEA< EOT, FitnessEval >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoIBEAAvgSorting< EOT, FitnessEval >) 0.5 0 box + (eoIBEA< EOT, FitnessEval >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.tex b/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.tex new file mode 100644 index 000000000..52eea3221 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.tex @@ -0,0 +1,99 @@ +\section{eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference} +\label{classeoIBEAAvgSorting}\index{eoIBEAAvgSorting@{eoIBEAAvgSorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + +{\tt \#include $<$eo\-IBEA.h$>$} + +Inheritance diagram for eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classeoIBEAAvgSorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-IBEAAvg\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I, const double \_\-kappa) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf kappa}\label{classeoIBEAAvgSorting_6f467d673861830d6a0708f61cecc3f7} + +\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + + +Definition at line 373 of file eo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}!eoIBEAAvgSorting@{eoIBEAAvgSorting}} +\index{eoIBEAAvgSorting@{eoIBEAAvgSorting}!eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf eo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf eo\-IBEAAvg\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classeoIBEAAvgSorting_eb0cfda626e1e5cac6750f0598610f82} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 385 of file eo\-IBEA.h. + +References eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::kappa. + +\subsection{Member Function Documentation} +\index{eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAAvgSorting_b365a1eab0da5211c59369416642780d} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 413 of file eo\-IBEA.h.\index{eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAAvgSorting_4bc8c46d151d7935d7b2ac8bfbdd7ee6} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 445 of file eo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.eps b/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.eps new file mode 100644 index 000000000..824b0fded --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoIBEASorting< EOT, Fitness >) cw +(eoIBEA< EOT, Fitness >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoIBEASorting< EOT, Fitness >) 0.5 0 box + (eoIBEA< EOT, Fitness >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.tex b/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.tex new file mode 100644 index 000000000..7149cbafc --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.tex @@ -0,0 +1,99 @@ +\section{eo\-IBEASorting$<$ EOT, Fitness $>$ Class Template Reference} +\label{classeoIBEASorting}\index{eoIBEASorting@{eoIBEASorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + +{\tt \#include $<$eo\-IBEA.h$>$} + +Inheritance diagram for eo\-IBEASorting$<$ EOT, Fitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classeoIBEASorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-IBEASorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I, const double \_\-kappa) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf kappa}\label{classeoIBEASorting_de45fa88a6b6fc70896a0dbfffdb3dc7} + +\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness = typename EOT::Fitness$>$ class eo\-IBEASorting$<$ EOT, Fitness $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + + +Definition at line 94 of file eo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{eoIBEASorting@{eo\-IBEASorting}!eoIBEASorting@{eoIBEASorting}} +\index{eoIBEASorting@{eoIBEASorting}!eoIBEASorting@{eo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ {\bf eo\-IBEASorting}$<$ EOT, Fitness $>$::{\bf eo\-IBEASorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classeoIBEASorting_7a35d760e84a98fd7a47966c50e3af66} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 106 of file eo\-IBEA.h. + +References eo\-IBEASorting$<$ EOT, Fitness $>$::kappa. + +\subsection{Member Function Documentation} +\index{eoIBEASorting@{eo\-IBEASorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!eoIBEASorting@{eo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf eo\-IBEASorting}$<$ EOT, Fitness $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEASorting_02c7346d6aa62f3e3af20cc6ac3ee1d9} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 134 of file eo\-IBEA.h.\index{eoIBEASorting@{eo\-IBEASorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!eoIBEASorting@{eo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf eo\-IBEASorting}$<$ EOT, Fitness $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEASorting_af613f862a58b402d88958b0e290e810} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 162 of file eo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.eps b/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.eps new file mode 100644 index 000000000..e7776d152 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 233.463 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.14167 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoIBEAStochSorting< EOT, FitnessEval >) cw +(eoIBEA< EOT, FitnessEval >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoIBEAStochSorting< EOT, FitnessEval >) 0.5 0 box + (eoIBEA< EOT, FitnessEval >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.tex b/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.tex new file mode 100644 index 000000000..b429a0053 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.tex @@ -0,0 +1,97 @@ +\section{eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference} +\label{classeoIBEAStochSorting}\index{eoIBEAStochSorting@{eoIBEAStochSorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + +{\tt \#include $<$eo\-IBEA.h$>$} + +Inheritance diagram for eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classeoIBEAStochSorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-IBEAStoch\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Static Private Member Functions} +\begin{CompactItemize} +\item +static double {\bf zero} ()\label{classeoIBEAStochSorting_0cd3d638866730b7a8fdbd5a1c08c810} + +\begin{CompactList}\small\item\em approximated zero value \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + + +Definition at line 215 of file eo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}!eoIBEAStochSorting@{eoIBEAStochSorting}} +\index{eoIBEAStochSorting@{eoIBEAStochSorting}!eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf eo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf eo\-IBEAStoch\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I})\hspace{0.3cm}{\tt [inline]}}\label{classeoIBEAStochSorting_9d9775846e174bdbc9491856b23eb27d} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \end{description} +\end{Desc} + + +Definition at line 226 of file eo\-IBEA.h. + +\subsection{Member Function Documentation} +\index{eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAStochSorting_2a5ddad942fee331fe6912a6fecc9247} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 258 of file eo\-IBEA.h.\index{eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAStochSorting_0d099b5a341791b35db98b350cdbc83f} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 286 of file eo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.eps b/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.eps new file mode 100644 index 000000000..95067130d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 170.94 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.925 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoParetoEuclidDist< EOT, DistType >) cw +(eoParetoPhenDist< EOT, DistType >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoParetoEuclidDist< EOT, DistType >) 0 0 box + (eoParetoPhenDist< EOT, DistType >) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.tex b/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.tex new file mode 100644 index 000000000..468b8acf8 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.tex @@ -0,0 +1,28 @@ +\section{eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$ Class Template Reference} +\label{classeoParetoEuclidDist}\index{eoParetoEuclidDist@{eoParetoEuclidDist}} +Inheritance diagram for eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classeoParetoEuclidDist} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +Dist\-Type {\bf operator()} (const EOT \&eopf1, const EOT \&eopf2)\label{classeoParetoEuclidDist_8693ded671292b210c3c455fa18c496e} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Dist\-Type = double$>$ class eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$} + + + + + +Definition at line 15 of file eo\-Pareto\-Phen\-Dist.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Pareto\-Phen\-Dist.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.eps b/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.eps new file mode 100644 index 000000000..41b7a9d73 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 170.94 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.925 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoParetoPhenDist< EOT, DistType >) cw +(eoParetoEuclidDist< EOT, DistType >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoParetoPhenDist< EOT, DistType >) 0 1 box + (eoParetoEuclidDist< EOT, DistType >) 0 0 box + +% ----- relations ----- + +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.tex b/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.tex new file mode 100644 index 000000000..542553113 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.tex @@ -0,0 +1,22 @@ +\section{eo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$ Class Template Reference} +\label{classeoParetoPhenDist}\index{eoParetoPhenDist@{eoParetoPhenDist}} +Inheritance diagram for eo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classeoParetoPhenDist} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Dist\-Type$>$ class eo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$} + + + + + +Definition at line 3 of file eo\-Pareto\-Phen\-Dist.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Pareto\-Phen\-Dist.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.eps b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.eps new file mode 100644 index 000000000..1159ccf2d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 161.943 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.0875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoParetoSharing< EOT, worthT >) cw +(eoPerf2Worth< EOT, worthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< worthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoParetoSharing< EOT, worthT >) 0.5 0 box + (eoPerf2Worth< EOT, worthT >) 0.5 1 box + (eoUF< const eoPop< EOT > &, void >) 0 2 box + (eoValueParam< std::vector< worthT > >) 1 2 box + (eoFunctorBase) 0 3 box + (eoParam) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.tex b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.tex new file mode 100644 index 000000000..0ef03c5fe --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.tex @@ -0,0 +1,60 @@ +\section{eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$ Class Template Reference} +\label{classeoParetoSharing}\index{eoParetoSharing@{eoParetoSharing}} +Inheritance diagram for eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classeoParetoSharing} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Pareto\-Sharing} (double \_\-niche\-Size)\label{classeoParetoSharing_99666671930abc479a2f5e5dd2914d41} + +\item +{\bf eo\-Pareto\-Sharing} (double \_\-niche\-Size, {\bf eo\-Pareto\-Phen\-Dist}$<$ EOT, worth\-T $>$ \&\_\-dist)\label{classeoParetoSharing_5ad0d5b6a1c1f4fc17bb9a319f18d645} + +\item +void {\bf operator} ()(const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classeoParetoSharing_df55496bf711d4614bcf42d157a4b4de} + +\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf sh} (double {\bf dist}, double {\bf Dmax})\label{classeoParetoSharing_ce18ecb042033d564be6379869f2be88} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf niche\-Size}\label{classeoParetoSharing_0da31e076cf2098639cd1a9fa06f3942} + +\item +{\bf eo\-Pareto\-Phen\-Dist}$<$ EOT, worth\-T $>$ \& {\bf dist}\label{classeoParetoSharing_f5cff5bf666314e59d58043531253b1b} + +\item +{\bf eo\-Pareto\-Euclid\-Dist}$<$ EOT $>$ {\bf euc\_\-dist}\label{classeoParetoSharing_9b8e6e2c76d816afb23dfdbf91dabf57} + +\item +double {\bf Dmax}\label{classeoParetoSharing_35449ebac125955c49a6d34db0e710b3} + +\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf d\-Matrix} +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class worth\-T = double$>$ class eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$} + + + + + +Definition at line 9 of file eo\-Pareto\-Sharing.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Pareto\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing_1_1dMatrix.tex b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing_1_1dMatrix.tex new file mode 100644 index 000000000..3860314c0 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing_1_1dMatrix.tex @@ -0,0 +1,31 @@ +\section{eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix Class Reference} +\label{classeoParetoSharing_1_1dMatrix}\index{eoParetoSharing::dMatrix@{eoParetoSharing::dMatrix}} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf d\-Matrix} (unsigned \_\-s)\label{classeoParetoSharing_1_1dMatrix_0cff6678bc7af1fd6d620a472b6c9ee5} + +\item +void {\bf print\-On} (std::ostream \&\_\-os)\label{classeoParetoSharing_1_1dMatrix_0a331635c3125c5d936f30b34d3b4bcd} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned {\bf r\-Size}\label{classeoParetoSharing_1_1dMatrix_767481759c7990f6a90c581e0fd0a0dd} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class worth\-T = double$>$ class eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix} + + + + + +Definition at line 99 of file eo\-Pareto\-Sharing.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Pareto\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.eps new file mode 100644 index 000000000..ade9478ea --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 262.295 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.90625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoAdditiveBinaryEpsilonIndicator< EOFitness >) cw +(moeoBinaryQualityIndicator< EOFitness >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box + (moeoBinaryQualityIndicator< EOFitness >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.tex new file mode 100644 index 000000000..323f9b5d9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.tex @@ -0,0 +1,83 @@ +\section{moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classmoeoAdditiveBinaryEpsilonIndicator}\index{moeoAdditiveBinaryEpsilonIndicator@{moeoAdditiveBinaryEpsilonIndicator}} +Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}. + + +{\tt \#include $<$moeo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoAdditiveBinaryEpsilonIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Additive\-Binary\-Epsilon\-Indicator} ()\label{classmoeoAdditiveBinaryEpsilonIndicator_d26af04a8276654998b4425f97963c47} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2) +\begin{CompactList}\small\item\em computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classmoeoAdditiveBinaryEpsilonIndicator_43e2945121a3e77683d935bc72399992} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf epsilon\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj) +\begin{CompactList}\small\item\em computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$} + +Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}. + + + +Definition at line 115 of file moeo\-Binary\-Quality\-Indicator.h. + +\subsection{Member Function Documentation} +\index{moeoAdditiveBinaryEpsilonIndicator@{moeo\-Additive\-Binary\-Epsilon\-Indicator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoAdditiveBinaryEpsilonIndicator@{moeo\-Additive\-Binary\-Epsilon\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoAdditiveBinaryEpsilonIndicator_177f9999db6c9fb95d5fbff5a157348c} + + +computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function) + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description} +\end{Desc} + + +Definition at line 138 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::epsilon\-Value().\index{moeoAdditiveBinaryEpsilonIndicator@{moeo\-Additive\-Binary\-Epsilon\-Indicator}!epsilonValue@{epsilonValue}} +\index{epsilonValue@{epsilonValue}!moeoAdditiveBinaryEpsilonIndicator@{moeo\-Additive\-Binary\-Epsilon\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::epsilon\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoAdditiveBinaryEpsilonIndicator_e953aa9fe74ebc210dde5ab193c6acab} + + +computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj the index of the objective \end{description} +\end{Desc} + + +Definition at line 170 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds. + +Referenced by moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.eps new file mode 100644 index 000000000..3653c706b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 277.778 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.8 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoArchive< EOT >) cw +(eoPop< EOT >) cw +(eoObject) cw +(eoPersistent) cw +(eoPrintable) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoArchive< EOT >) 0.5 0 box + (eoPop< EOT >) 0.5 1 box + (eoObject) 0 2 box + (eoPersistent) 1 2 box + (eoPrintable) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.tex new file mode 100644 index 000000000..852b31278 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.tex @@ -0,0 +1,111 @@ +\section{moeo\-Archive$<$ EOT $>$ Class Template Reference} +\label{classmoeoArchive}\index{moeoArchive@{moeoArchive}} +An archive is a secondary population that stores non-dominated solutions. + + +{\tt \#include $<$moeo\-Archive.h$>$} + +Inheritance diagram for moeo\-Archive$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoArchive} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf EOFitness}\label{classmoeoArchive_798bc97d8321b1e2c469e5c341a96dac} + +\begin{CompactList}\small\item\em The fitness type of a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +bool {\bf dominates} (const {\bf EOFitness} \&\_\-fit) const +\begin{CompactList}\small\item\em Returns true if the current archive dominates \_\-fit. \item\end{CompactList}\item +bool {\bf contains} (const {\bf EOFitness} \&\_\-fit) const +\begin{CompactList}\small\item\em Returns true if the current archive contains \_\-fit. \item\end{CompactList}\item +void {\bf update} (const EOT \&\_\-eo) +\begin{CompactList}\small\item\em Updates the archive with a given individual \_\-eo. \item\end{CompactList}\item +void {\bf update} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Updates the archive with a given population \_\-pop. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Archive$<$ EOT $>$} + +An archive is a secondary population that stores non-dominated solutions. + + + +Definition at line 21 of file moeo\-Archive.h. + +\subsection{Member Function Documentation} +\index{moeoArchive@{moeo\-Archive}!dominates@{dominates}} +\index{dominates@{dominates}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moeo\-Archive}$<$ EOT $>$::dominates (const {\bf EOFitness} \& {\em \_\-fit}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_7786c8bfe67fefa19ac31a4ac700df06} + + +Returns true if the current archive dominates \_\-fit. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fit}]the (Pareto) fitness to compare with the current archive \end{description} +\end{Desc} + + +Definition at line 39 of file moeo\-Archive.h. + +Referenced by moeo\-Archive$<$ EOT $>$::update().\index{moeoArchive@{moeo\-Archive}!contains@{contains}} +\index{contains@{contains}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moeo\-Archive}$<$ EOT $>$::contains (const {\bf EOFitness} \& {\em \_\-fit}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_71feaf270daa7185e829caef40bbf956} + + +Returns true if the current archive contains \_\-fit. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fit}]the (Pareto) fitness to search within the current archive \end{description} +\end{Desc} + + +Definition at line 51 of file moeo\-Archive.h.\index{moeoArchive@{moeo\-Archive}!update@{update}} +\index{update@{update}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moeo\-Archive}$<$ EOT $>$::update (const EOT \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_be9f67bfe41c25537292056d5b30f56a} + + +Updates the archive with a given individual \_\-eo. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-eo}]the given individual \end{description} +\end{Desc} + + +Definition at line 63 of file moeo\-Archive.h. + +References moeo\-Archive$<$ EOT $>$::dominates(). + +Referenced by moeo\-Archive$<$ EOT $>$::update().\index{moeoArchive@{moeo\-Archive}!update@{update}} +\index{update@{update}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moeo\-Archive}$<$ EOT $>$::update (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_58e891ab400ba352e8b0a341d0bdc107} + + +Updates the archive with a given population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the given population \end{description} +\end{Desc} + + +Definition at line 98 of file moeo\-Archive.h. + +References moeo\-Archive$<$ EOT $>$::update(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Archive.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.eps new file mode 100644 index 000000000..2a12b3fbe --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 299.625 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.66875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoArchiveFitnessSavingUpdater< EOT >) cw +(eoUpdater) cw +(eoF< void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoArchiveFitnessSavingUpdater< EOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.tex new file mode 100644 index 000000000..656d6637d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.tex @@ -0,0 +1,67 @@ +\section{moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$ Class Template Reference} +\label{classmoeoArchiveFitnessSavingUpdater}\index{moeoArchiveFitnessSavingUpdater@{moeoArchiveFitnessSavingUpdater}} +This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. + + +{\tt \#include $<$moeo\-Archive\-Fitness\-Saving\-Updater.h$>$} + +Inheritance diagram for moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoArchiveFitnessSavingUpdater} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Archive\-Fitness\-Saving\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, const std::string \&\_\-filename=\char`\"{}Res/Arch\char`\"{}, int \_\-id=-1) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf operator()} ()\label{classmoeoArchiveFitnessSavingUpdater_2ad5d3ab2c2066a1a3b85fff2ac14a19} + +\begin{CompactList}\small\item\em Saves the fitness of the archive's members into the file. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moeo\-Archive}$<$ EOT $>$ \& {\bf arch}\label{classmoeoArchiveFitnessSavingUpdater_b8eeccd7b43eb11e36cee2ec7d7c9c21} + +\begin{CompactList}\small\item\em local archive \item\end{CompactList}\item +std::string {\bf filename}\label{classmoeoArchiveFitnessSavingUpdater_17c82bea631bf9ff635a3698d08907f0} + +\begin{CompactList}\small\item\em target filename \item\end{CompactList}\item +int {\bf id}\label{classmoeoArchiveFitnessSavingUpdater_e064861d67aae0747c2d8ffab90cbfbf} + +\begin{CompactList}\small\item\em own ID \item\end{CompactList}\item +unsigned {\bf counter}\label{classmoeoArchiveFitnessSavingUpdater_e32fab4bb828d40fe19c283dbd2a6423} + +\begin{CompactList}\small\item\em counter \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$} + +This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. + + + +Definition at line 27 of file moeo\-Archive\-Fitness\-Saving\-Updater.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoArchiveFitnessSavingUpdater@{moeo\-Archive\-Fitness\-Saving\-Updater}!moeoArchiveFitnessSavingUpdater@{moeoArchiveFitnessSavingUpdater}} +\index{moeoArchiveFitnessSavingUpdater@{moeoArchiveFitnessSavingUpdater}!moeoArchiveFitnessSavingUpdater@{moeo\-Archive\-Fitness\-Saving\-Updater}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Archive\-Fitness\-Saving\-Updater}$<$ EOT $>$::{\bf moeo\-Archive\-Fitness\-Saving\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch}, const std::string \& {\em \_\-filename} = {\tt \char`\"{}Res/Arch\char`\"{}}, int {\em \_\-id} = {\tt -1})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchiveFitnessSavingUpdater_b61826bfa0f47064aed460817cf61b92} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-arch}]local archive \item[{\em \_\-filename}]target filename \item[{\em \_\-id}]own ID \end{description} +\end{Desc} + + +Definition at line 37 of file moeo\-Archive\-Fitness\-Saving\-Updater.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Archive\-Fitness\-Saving\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.eps new file mode 100644 index 000000000..7d3bc3fca --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 425.532 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.175 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoArchiveUpdater< EOT >) cw +(eoUpdater) cw +(eoF< void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoArchiveUpdater< EOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.tex new file mode 100644 index 000000000..82d44c816 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.tex @@ -0,0 +1,61 @@ +\section{moeo\-Archive\-Updater$<$ EOT $>$ Class Template Reference} +\label{classmoeoArchiveUpdater}\index{moeoArchiveUpdater@{moeoArchiveUpdater}} +This class allows to update the archive at each generation with newly found non-dominated solutions. + + +{\tt \#include $<$moeo\-Archive\-Updater.h$>$} + +Inheritance diagram for moeo\-Archive\-Updater$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoArchiveUpdater} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Archive\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf operator()} ()\label{classmoeoArchiveUpdater_19e98244f0dd641983af81d8dcaf0f7d} + +\begin{CompactList}\small\item\em Updates the archive with newly found non-dominated solutions contained in the main population. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moeo\-Archive}$<$ EOT $>$ \& {\bf arch}\label{classmoeoArchiveUpdater_2fd7b92786ced836e3d0b5abfb801a86} + +\begin{CompactList}\small\item\em the archive of non-dominated solutions \item\end{CompactList}\item +const {\bf eo\-Pop}$<$ EOT $>$ \& {\bf pop}\label{classmoeoArchiveUpdater_0fc3f08f0385c55569eb056737303363} + +\begin{CompactList}\small\item\em the main population \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Archive\-Updater$<$ EOT $>$} + +This class allows to update the archive at each generation with newly found non-dominated solutions. + + + +Definition at line 23 of file moeo\-Archive\-Updater.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoArchiveUpdater@{moeo\-Archive\-Updater}!moeoArchiveUpdater@{moeoArchiveUpdater}} +\index{moeoArchiveUpdater@{moeoArchiveUpdater}!moeoArchiveUpdater@{moeo\-Archive\-Updater}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Archive\-Updater}$<$ EOT $>$::{\bf moeo\-Archive\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch}, const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchiveUpdater_71027fd5f8dac7d8069b682c998c03c5} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-arch}]an archive of non-dominated solutions \item[{\em \_\-pop}]the main population \end{description} +\end{Desc} + + +Definition at line 32 of file moeo\-Archive\-Updater.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Archive\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.eps new file mode 100644 index 000000000..d20d0f74a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.eps @@ -0,0 +1,247 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 65.1466 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 7.675 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 5 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +(moeoSolutionVsSolutionBM< EOT, R, EOFitness >) cw +(moeoVectorVsSolutionBM< EOT, R, EOFitness >) cw +(moeoVectorVsVectorBM< EOT, R, EOFitness >) cw +(moeoVectorVsVectorBM< EOT, double >) cw +(moeoContributionMetric< EOT >) cw +(moeoEntropyMetric< EOT >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoBM< A1, A2, R >) 1.5 2 box + (eoBF< A1, A2, R >) 1 3 box + (moeoMetric) 2 3 box + (eoFunctorBase) 1 4 box + (eoFunctorBase) 2 4 box + (moeoSolutionVsSolutionBM< EOT, R, EOFitness >) 0 1 box + (moeoVectorVsSolutionBM< EOT, R, EOFitness >) 1 1 box + (moeoVectorVsVectorBM< EOT, R, EOFitness >) 2 1 box + (moeoVectorVsVectorBM< EOT, double >) 3 1 box + (moeoContributionMetric< EOT >) 2.5 0 box + (moeoEntropyMetric< EOT >) 3.5 0 box + +% ----- relations ----- + +solid +0 1.5 2 out +solid +1 2 3 conn +solid +1 1 3 in +solid +0 1 3 out +solid +1 2 3 in +solid +0 2 3 out +solid +1 1 4 in +solid +1 2 4 in +solid +1 1.5 1.25 out +solid +0 3 2 conn +solid +0 0 1.75 in +solid +0 1 1.75 in +solid +0 2 1.75 in +solid +0 3 1.75 in +solid +1 3 0.25 out +solid +2.5 3.5 1 conn +solid +0 2.5 0.75 in +solid +0 3.5 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.tex new file mode 100644 index 000000000..ab5408f52 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.tex @@ -0,0 +1,27 @@ +\section{moeo\-BM$<$ A1, A2, R $>$ Class Template Reference} +\label{classmoeoBM}\index{moeoBM@{moeoBM}} +Base class for binary metrics. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-BM$<$ A1, A2, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=1.8241cm]{classmoeoBM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class A1, class A2, class R$>$ class moeo\-BM$<$ A1, A2, R $>$} + +Base class for binary metrics. + + + +Definition at line 38 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.eps new file mode 100644 index 000000000..f5cd0c37d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 273.038 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.83125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoBinaryHypervolumeIndicator< EOFitness >) cw +(moeoBinaryQualityIndicator< EOFitness >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoBinaryHypervolumeIndicator< EOFitness >) 0 0 box + (moeoBinaryQualityIndicator< EOFitness >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.tex new file mode 100644 index 000000000..60580eb30 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.tex @@ -0,0 +1,147 @@ +\section{moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classmoeoBinaryHypervolumeIndicator}\index{moeoBinaryHypervolumeIndicator@{moeoBinaryHypervolumeIndicator}} +Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}. + + +{\tt \#include $<$moeo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoBinaryHypervolumeIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Binary\-Hypervolume\-Indicator} (double \_\-rho) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2) +\begin{CompactList}\small\item\em indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classmoeoBinaryHypervolumeIndicator_511931936ec9e368b5f0cbcdc4dbe020} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf hypervolume\-Indicator\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag=false) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 \item\end{CompactList}\item +double {\bf hypervolume\-Indicator\-Value\-Min} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj \item\end{CompactList}\item +double {\bf hypervolume\-Indicator\-Value\-Max} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf rho}\label{classmoeoBinaryHypervolumeIndicator_06b7c3ba8fa0ceafd7e6b571e43e6f4c} + +\begin{CompactList}\small\item\em reference point for the hypervolume calculation \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$} + +Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}. + + + +Definition at line 206 of file moeo\-Binary\-Quality\-Indicator.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!moeoBinaryHypervolumeIndicator@{moeoBinaryHypervolumeIndicator}} +\index{moeoBinaryHypervolumeIndicator@{moeoBinaryHypervolumeIndicator}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::{\bf moeo\-Binary\-Hypervolume\-Indicator} (double {\em \_\-rho})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryHypervolumeIndicator_15d486d524816d294bc007d7a555cbfe} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em double}]\_\-rho reference point for the hypervolume calculation (rho must not be smaller than 1) \end{description} +\end{Desc} + + +Definition at line 216 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +\subsection{Member Function Documentation} +\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryHypervolumeIndicator_697e7fcab99f5192925e2f2157d1e1a3} + + +indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function) + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description} +\end{Desc} + + +Definition at line 239 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValue@{hypervolumeIndicatorValue}} +\index{hypervolumeIndicatorValue@{hypervolumeIndicatorValue}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag} = {\tt false})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoBinaryHypervolumeIndicator_dd0c63a922cb4bf921978413fdb1dca0} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj number of objectives (used for iteration) \item[{\em bool}]\_\-flag = false (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 274 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), and moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min(). + +Referenced by moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min(), and moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::operator()().\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}} +\index{hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoBinaryHypervolumeIndicator_637f559f83f473412c61d4a485af5993} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 309 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +Referenced by moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}} +\index{hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoBinaryHypervolumeIndicator_c0a602a4f1a27418d95d883f53e45cb2} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 363 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +Referenced by moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.eps new file mode 100644 index 000000000..c2cc5352d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 313.725 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.59375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoBinaryMetricSavingUpdater< EOT >) cw +(eoUpdater) cw +(eoF< void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoBinaryMetricSavingUpdater< EOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.tex new file mode 100644 index 000000000..d5e783c4d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.tex @@ -0,0 +1,79 @@ +\section{moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$ Class Template Reference} +\label{classmoeoBinaryMetricSavingUpdater}\index{moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}} +This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. + + +{\tt \#include $<$moeo\-Binary\-Metric\-Saving\-Updater.h$>$} + +Inheritance diagram for moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoBinaryMetricSavingUpdater} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf EOFitness}\label{classmoeoBinaryMetricSavingUpdater_c22e390633d94bbf69309e8d0cae1f0a} + +\begin{CompactList}\small\item\em The fitness type of a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Binary\-Metric\-Saving\-Updater} ({\bf moeo\-Vector\-Vs\-Vector\-BM}$<$ EOT, double $>$ \&\_\-metric, const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop, std::string \_\-filename) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf operator()} ()\label{classmoeoBinaryMetricSavingUpdater_2d051d28def4cadf69957c8a21bf88dc} + +\begin{CompactList}\small\item\em Saves the metric's value for the current generation. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moeo\-Vector\-Vs\-Vector\-BM}$<$ EOT, double $>$ \& {\bf metric}\label{classmoeoBinaryMetricSavingUpdater_52e12414a266bce1dbce0b913025fd37} + +\begin{CompactList}\small\item\em binary metric comparing two Pareto sets \item\end{CompactList}\item +const {\bf eo\-Pop}$<$ EOT $>$ \& {\bf pop}\label{classmoeoBinaryMetricSavingUpdater_9c30673aca66a1531856cb92068edaf7} + +\begin{CompactList}\small\item\em main population \item\end{CompactList}\item +{\bf eo\-Pop}$<$ EOT $>$ {\bf old\-Pop}\label{classmoeoBinaryMetricSavingUpdater_c1751bf23ef440d895a39cdff25c384c} + +\begin{CompactList}\small\item\em (n-1) population \item\end{CompactList}\item +std::string {\bf filename}\label{classmoeoBinaryMetricSavingUpdater_32c78860e3aee52346df3aa30c5ac42f} + +\begin{CompactList}\small\item\em target filename \item\end{CompactList}\item +bool {\bf first\-Gen}\label{classmoeoBinaryMetricSavingUpdater_1e40103a5cfa592a9d2408102e507a19} + +\begin{CompactList}\small\item\em is it the first generation ? \item\end{CompactList}\item +unsigned {\bf counter}\label{classmoeoBinaryMetricSavingUpdater_280b52506c280b07356726ad5d497ef8} + +\begin{CompactList}\small\item\em counter \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$} + +This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. + + + +Definition at line 26 of file moeo\-Binary\-Metric\-Saving\-Updater.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoBinaryMetricSavingUpdater@{moeo\-Binary\-Metric\-Saving\-Updater}!moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}} +\index{moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}!moeoBinaryMetricSavingUpdater@{moeo\-Binary\-Metric\-Saving\-Updater}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Binary\-Metric\-Saving\-Updater}$<$ EOT $>$::{\bf moeo\-Binary\-Metric\-Saving\-Updater} ({\bf moeo\-Vector\-Vs\-Vector\-BM}$<$ EOT, double $>$ \& {\em \_\-metric}, const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop}, std::string {\em \_\-filename})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryMetricSavingUpdater_978c6e8a99459722220387f911c1f461} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-metric}]the binary metric comparing two Pareto sets \item[{\em \_\-pop}]the main population \item[{\em \_\-filename}]the target filename \end{description} +\end{Desc} + + +Definition at line 41 of file moeo\-Binary\-Metric\-Saving\-Updater.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Metric\-Saving\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.eps new file mode 100644 index 000000000..6fcedbeaa --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 131.148 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.8125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoBinaryQualityIndicator< EOFitness >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moeoAdditiveBinaryEpsilonIndicator< EOFitness >) cw +(moeoBinaryHypervolumeIndicator< EOFitness >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoBinaryQualityIndicator< EOFitness >) 0.5 1 box + (eoBF< A1, A2, R >) 0.5 2 box + (eoFunctorBase) 0.5 3 box + (moeoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box + (moeoBinaryHypervolumeIndicator< EOFitness >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.tex new file mode 100644 index 000000000..4495bed7f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.tex @@ -0,0 +1,71 @@ +\section{moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classmoeoBinaryQualityIndicator}\index{moeoBinaryQualityIndicator@{moeoBinaryQualityIndicator}} +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + +{\tt \#include $<$moeo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.67213cm]{classmoeoBinaryQualityIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Binary\-Quality\-Indicator} ()\label{classmoeoBinaryQualityIndicator_a212ae7c8258587a32b158043911cdb6} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf set\-Bounds} (const unsigned \_\-i\-Obj, const double \_\-min, const double \_\-max) +\begin{CompactList}\small\item\em set the bounds for objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +std::vector$<$ {\bf Range} $>$ {\bf bounds}\label{classmoeoBinaryQualityIndicator_a3bce334c4e74a22c0eb1026592d2f90} + +\begin{CompactList}\small\item\em range (min and max double value) for each objective \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classmoeoBinaryQualityIndicator_a23261c88b3ce39b9fed704cad328a76} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf Range} +\begin{CompactList}\small\item\em Private class to represent the bounds. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$} + +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + + +Definition at line 28 of file moeo\-Binary\-Quality\-Indicator.h. + +\subsection{Member Function Documentation} +\index{moeoBinaryQualityIndicator@{moeo\-Binary\-Quality\-Indicator}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!moeoBinaryQualityIndicator@{moeo\-Binary\-Quality\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ void {\bf moeo\-Binary\-Quality\-Indicator}$<$ EOFitness $>$::set\-Bounds (const unsigned {\em \_\-i\-Obj}, const double {\em \_\-min}, const double {\em \_\-max})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryQualityIndicator_a08220a55c86a4e0dd1c8977eb625c9f} + + +set the bounds for objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em unsigned}]\_\-i\-Obj the index of the objective \item[{\em double}]\_\-min the minimum value \item[{\em double}]\_\-max the maximum value \end{description} +\end{Desc} + + +Definition at line 51 of file moeo\-Binary\-Quality\-Indicator.h. + +Referenced by moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::set\-Bounds(), moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$::set\-Bounds(), and moeo\-IBEASorting$<$ EOT, Fitness $>$::set\-Bounds(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator_1_1Range.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator_1_1Range.tex new file mode 100644 index 000000000..6f45f4709 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator_1_1Range.tex @@ -0,0 +1,51 @@ +\section{moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range Class Reference} +\label{classmoeoBinaryQualityIndicator_1_1Range}\index{moeoBinaryQualityIndicator::Range@{moeoBinaryQualityIndicator::Range}} +Private class to represent the bounds. + + +{\tt \#include $<$moeo\-Binary\-Quality\-Indicator.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf Range} ()\label{classmoeoBinaryQualityIndicator_1_1Range_6eafdd50d706e4add50a39400589697c} + +\item +{\bf Range} (const double \_\-min, const double \_\-max)\label{classmoeoBinaryQualityIndicator_1_1Range_1b739913f7b39b9332a85ba95bf0fd97} + +\item +double {\bf minimum} ()\label{classmoeoBinaryQualityIndicator_1_1Range_5e2d18b883faf80b5e8922508c1faeb7} + +\item +double {\bf maximum} ()\label{classmoeoBinaryQualityIndicator_1_1Range_82b2fdf7e8310b6b71230f75b298b455} + +\item +double {\bf range} ()\label{classmoeoBinaryQualityIndicator_1_1Range_352358206bff2de122504f2b1e0fc66f} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf min}\label{classmoeoBinaryQualityIndicator_1_1Range_19ded3674f2ced2fe56a247e43cdc276} + +\item +double {\bf max}\label{classmoeoBinaryQualityIndicator_1_1Range_47728b83ab11c42c7dec8a0d31bf0f2b} + +\item +double {\bf r}\label{classmoeoBinaryQualityIndicator_1_1Range_fc0f543dc51a29059e25d3d0298bc08c} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range} + +Private class to represent the bounds. + + + +Definition at line 62 of file moeo\-Binary\-Quality\-Indicator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.eps new file mode 100644 index 000000000..0761f1d7b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 243.902 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.05 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoCombinedMOLS< EOT >) cw +(moeoMOLS< EOT >) cw +(eoBF< const EOT &, moeoArchive< EOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoCombinedMOLS< EOT >) 0 0 box + (moeoMOLS< EOT >) 0 1 box + (eoBF< const EOT &, moeoArchive< EOT > &, void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.tex new file mode 100644 index 000000000..2c79dbbb4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.tex @@ -0,0 +1,101 @@ +\section{moeo\-Combined\-MOLS$<$ EOT $>$ Class Template Reference} +\label{classmoeoCombinedMOLS}\index{moeoCombinedMOLS@{moeoCombinedMOLS}} +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. + + +{\tt \#include $<$moeo\-Combined\-MOLS.h$>$} + +Inheritance diagram for moeo\-Combined\-MOLS$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoCombinedMOLS} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Combined\-MOLS} ({\bf eo\-Eval\-Func}$<$ EOT $>$ \&\_\-eval, {\bf moeo\-MOLS}$<$ EOT $>$ \&\_\-first\_\-ls) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf add} ({\bf moeo\-MOLS}$<$ EOT $>$ \&\_\-ls) +\begin{CompactList}\small\item\em Adds a new local search to combine. \item\end{CompactList}\item +void {\bf operator()} (const EOT \&\_\-eo, {\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Gives a new solution in order to explore the neigborhood. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Eval\-Func}$<$ EOT $>$ \& {\bf eval}\label{classmoeoCombinedMOLS_b2c0866a1808022bd3a9dac89e528a01} + +\begin{CompactList}\small\item\em the full evaluator of a solution \item\end{CompactList}\item +std::vector$<$ {\bf moeo\-MOLS}$<$ EOT $>$ $\ast$ $>$ {\bf combined\-MOLS}\label{classmoeoCombinedMOLS_a5ccc182c0d61421fc524c2da3671099} + +\begin{CompactList}\small\item\em the vector that contains the combined MOLS \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Combined\-MOLS$<$ EOT $>$} + +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. + + + +Definition at line 24 of file moeo\-Combined\-MOLS.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoCombinedMOLS@{moeo\-Combined\-MOLS}!moeoCombinedMOLS@{moeoCombinedMOLS}} +\index{moeoCombinedMOLS@{moeoCombinedMOLS}!moeoCombinedMOLS@{moeo\-Combined\-MOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Combined\-MOLS}$<$ EOT $>$::{\bf moeo\-Combined\-MOLS} ({\bf eo\-Eval\-Func}$<$ EOT $>$ \& {\em \_\-eval}, {\bf moeo\-MOLS}$<$ EOT $>$ \& {\em \_\-first\_\-ls})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoCombinedMOLS_9305380cd8f5a4d85ef603fa85c1860b} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-eval}]the full evaluator of a solution \item[{\em \_\-first\_\-ls}]the first multi-objective local search to add \end{description} +\end{Desc} + + +Definition at line 33 of file moeo\-Combined\-MOLS.h. + +References moeo\-Combined\-MOLS$<$ EOT $>$::combined\-MOLS. + +\subsection{Member Function Documentation} +\index{moeoCombinedMOLS@{moeo\-Combined\-MOLS}!add@{add}} +\index{add@{add}!moeoCombinedMOLS@{moeo\-Combined\-MOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moeo\-Combined\-MOLS}$<$ EOT $>$::add ({\bf moeo\-MOLS}$<$ EOT $>$ \& {\em \_\-ls})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoCombinedMOLS_bd6b8f46211d5d531753c69fcd76cba4} + + +Adds a new local search to combine. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-ls}]the multi-objective local search to add \end{description} +\end{Desc} + + +Definition at line 43 of file moeo\-Combined\-MOLS.h. + +References moeo\-Combined\-MOLS$<$ EOT $>$::combined\-MOLS.\index{moeoCombinedMOLS@{moeo\-Combined\-MOLS}!operator()@{operator()}} +\index{operator()@{operator()}!moeoCombinedMOLS@{moeo\-Combined\-MOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moeo\-Combined\-MOLS}$<$ EOT $>$::operator() (const EOT \& {\em \_\-eo}, {\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoCombinedMOLS_fa7de12db00b89feb139372603bba4aa} + + +Gives a new solution in order to explore the neigborhood. + +The new non-dominated solutions are added to the archive \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-eo}]the solution \item[{\em \_\-arch}]the archive of non-dominated solutions \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ const EOT \&, moeo\-Archive$<$ EOT $>$ \&, void $>$}. + +Definition at line 54 of file moeo\-Combined\-MOLS.h. + +References moeo\-Combined\-MOLS$<$ EOT $>$::combined\-MOLS, and moeo\-Combined\-MOLS$<$ EOT $>$::eval. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Combined\-MOLS.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.eps new file mode 100644 index 000000000..3335421e4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.eps @@ -0,0 +1,227 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 195.312 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.56 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoContributionMetric< EOT >) cw +(moeoVectorVsVectorBM< EOT, double >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoContributionMetric< EOT >) 0.5 0 box + (moeoVectorVsVectorBM< EOT, double >) 0.5 1 box + (moeoBM< A1, A2, R >) 0.5 2 box + (eoBF< A1, A2, R >) 0 3 box + (moeoMetric) 1 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +0 1 3 conn +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 0 4 in +solid +1 1 4 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.tex new file mode 100644 index 000000000..06b7da3d8 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.tex @@ -0,0 +1,116 @@ +\section{moeo\-Contribution\-Metric$<$ EOT $>$ Class Template Reference} +\label{classmoeoContributionMetric}\index{moeoContributionMetric@{moeoContributionMetric}} +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. + + +{\tt \#include $<$moeo\-Contribution\-Metric.h$>$} + +Inheritance diagram for moeo\-Contribution\-Metric$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoContributionMetric} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf EOFitness}\label{classmoeoContributionMetric_06c0247b9558eeb34e32c9a694924a66} + +\begin{CompactList}\small\item\em The fitness type of a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +double {\bf operator()} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the contribution of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +unsigned {\bf card\_\-C} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the number of solutions both in '\_\-set1' and '\_\-set2'. \item\end{CompactList}\item +unsigned {\bf card\_\-W} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the number of solutions in '\_\-set1' dominating at least one solution of '\_\-set2'. \item\end{CompactList}\item +unsigned {\bf card\_\-N} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the number of solutions in '\_\-set1' having no relation of dominance with those from '\_\-set2'. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Contribution\-Metric$<$ EOT $>$} + +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. + +(Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. of the 2000 Congress on Evolutionary Computation, IEEE Press, pp. 317-324) + + + +Definition at line 23 of file moeo\-Contribution\-Metric.h. + +\subsection{Member Function Documentation} +\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!operator()@{operator()}} +\index{operator()@{operator()}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ double {\bf moeo\-Contribution\-Metric}$<$ EOT $>$::operator() (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoContributionMetric_76b6b93124263ca1a8232b12a556d843} + + +Returns the contribution of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 38 of file moeo\-Contribution\-Metric.h. + +References moeo\-Contribution\-Metric$<$ EOT $>$::card\_\-C(), moeo\-Contribution\-Metric$<$ EOT $>$::card\_\-N(), and moeo\-Contribution\-Metric$<$ EOT $>$::card\_\-W().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_C@{card\_\-C}} +\index{card_C@{card\_\-C}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ unsigned {\bf moeo\-Contribution\-Metric}$<$ EOT $>$::card\_\-C (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_a0041e60c941dd1909f28fadcf011b87} + + +Returns the number of solutions both in '\_\-set1' and '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 57 of file moeo\-Contribution\-Metric.h. + +Referenced by moeo\-Contribution\-Metric$<$ EOT $>$::operator()().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_W@{card\_\-W}} +\index{card_W@{card\_\-W}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ unsigned {\bf moeo\-Contribution\-Metric}$<$ EOT $>$::card\_\-W (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_64a72db699a10d6b4794773d4adbae3c} + + +Returns the number of solutions in '\_\-set1' dominating at least one solution of '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 76 of file moeo\-Contribution\-Metric.h. + +Referenced by moeo\-Contribution\-Metric$<$ EOT $>$::operator()().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_N@{card\_\-N}} +\index{card_N@{card\_\-N}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ unsigned {\bf moeo\-Contribution\-Metric}$<$ EOT $>$::card\_\-N (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_9960fc1396dbadb412719aaeeedcf961} + + +Returns the number of solutions in '\_\-set1' having no relation of dominance with those from '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 95 of file moeo\-Contribution\-Metric.h. + +Referenced by moeo\-Contribution\-Metric$<$ EOT $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Contribution\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.eps new file mode 100644 index 000000000..cb6876239 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 318.471 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.57 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoDisctinctElitistReplacement< EOT, WorthT >) cw +(moeoReplacement< EOT, WorthT >) cw +(eoReplacement< EOT >) cw +(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoDisctinctElitistReplacement< EOT, WorthT >) 0 0 box + (moeoReplacement< EOT, WorthT >) 0 1 box + (eoReplacement< EOT >) 0 2 box + (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0 3 box + (eoFunctorBase) 0 4 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 0 4 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.tex new file mode 100644 index 000000000..68117695d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.tex @@ -0,0 +1,101 @@ +\section{moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$ Class Template Reference} +\label{classmoeoDisctinctElitistReplacement}\index{moeoDisctinctElitistReplacement@{moeoDisctinctElitistReplacement}} +Same than \doxyref{moeo\-Elitist\-Replacement}{p.}{classmoeoElitistReplacement} except that distinct individuals are privilegied. + + +{\tt \#include $<$moeo\-Replacement.h$>$} + +Inheritance diagram for moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoDisctinctElitistReplacement} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Disctinct\-Elitist\-Replacement} ({\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \&\_\-perf2worth) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf operator()} ({\bf eo\-Pop}$<$ EOT $>$ \&\_\-parents, {\bf eo\-Pop}$<$ EOT $>$ \&\_\-offspring) +\begin{CompactList}\small\item\em replacement - result in \_\-parents \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf create\-New\-Pop} ({\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop, unsigned \_\-size) +\begin{CompactList}\small\item\em creation of the new population of size \_\-size \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \& {\bf perf2worth}\label{classmoeoDisctinctElitistReplacement_3d1616ba57c10f5a77e0ec021cc8beb2} + +\begin{CompactList}\small\item\em the functor object to transform raw fitnesses into fitness for selection \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} + +Same than \doxyref{moeo\-Elitist\-Replacement}{p.}{classmoeoElitistReplacement} except that distinct individuals are privilegied. + + + +Definition at line 78 of file moeo\-Replacement.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}!moeoDisctinctElitistReplacement@{moeoDisctinctElitistReplacement}} +\index{moeoDisctinctElitistReplacement@{moeoDisctinctElitistReplacement}!moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ {\bf moeo\-Disctinct\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::{\bf moeo\-Disctinct\-Elitist\-Replacement} ({\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \& {\em \_\-perf2worth})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDisctinctElitistReplacement_f39200df2b68f6d35fbed2a2688a9d75} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-perf2worth}]the functor class to transform raw fitnesses into fitness for selection \end{description} +\end{Desc} + + +Definition at line 87 of file moeo\-Replacement.h. + +\subsection{Member Function Documentation} +\index{moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}!operator()@{operator()}} +\index{operator()@{operator()}!moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ void {\bf moeo\-Disctinct\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::operator() ({\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-parents}, {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDisctinctElitistReplacement_ca73704e827074092e7d228253427a8a} + + +replacement - result in \_\-parents + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-parents}]parents population \item[{\em \_\-offspring}]offspring population \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}. + +Definition at line 99 of file moeo\-Replacement.h. + +References moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::create\-New\-Pop().\index{moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}!createNewPop@{createNewPop}} +\index{createNewPop@{createNewPop}!moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ void {\bf moeo\-Disctinct\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::create\-New\-Pop ({\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop}, unsigned {\em \_\-size})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoDisctinctElitistReplacement_7aed100016940e4806a7c93c0e22bf85} + + +creation of the new population of size \_\-size + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the initial population (will be modified) \item[{\em \_\-size}]the size of the population to create \end{description} +\end{Desc} + + +Definition at line 123 of file moeo\-Replacement.h. + +References moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::perf2worth, and eo\-Pop$<$ EOT $>$::swap(). + +Referenced by moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.eps new file mode 100644 index 000000000..dacd4c9bb --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 318.471 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.57 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoElitistReplacement< EOT, WorthT >) cw +(moeoReplacement< EOT, WorthT >) cw +(eoReplacement< EOT >) cw +(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoElitistReplacement< EOT, WorthT >) 0 0 box + (moeoReplacement< EOT, WorthT >) 0 1 box + (eoReplacement< EOT >) 0 2 box + (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0 3 box + (eoFunctorBase) 0 4 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 0 4 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.tex new file mode 100644 index 000000000..260c40587 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.tex @@ -0,0 +1,76 @@ +\section{moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$ Class Template Reference} +\label{classmoeoElitistReplacement}\index{moeoElitistReplacement@{moeoElitistReplacement}} +Keep all the best individuals (almost cut-and-pasted from {\bf eo\-NDPlus\-Replacement}, (c) Maarten Keijzer, Marc Schoenauer and Ge\-Neura Team, 2002). + + +{\tt \#include $<$moeo\-Replacement.h$>$} + +Inheritance diagram for moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoElitistReplacement} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Elitist\-Replacement} ({\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \&\_\-perf2worth) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf operator()} ({\bf eo\-Pop}$<$ EOT $>$ \&\_\-parents, {\bf eo\-Pop}$<$ EOT $>$ \&\_\-offspring) +\begin{CompactList}\small\item\em replacement - result in \_\-parents \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \& {\bf perf2worth}\label{classmoeoElitistReplacement_020f0e0b6b88a0081d922cca5b05990e} + +\begin{CompactList}\small\item\em the functor object to transform raw fitnesses into fitness for selection \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} + +Keep all the best individuals (almost cut-and-pasted from {\bf eo\-NDPlus\-Replacement}, (c) Maarten Keijzer, Marc Schoenauer and Ge\-Neura Team, 2002). + + + +Definition at line 35 of file moeo\-Replacement.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}} +\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ {\bf moeo\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::{\bf moeo\-Elitist\-Replacement} ({\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \& {\em \_\-perf2worth})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_fa62ed508ac194ed7b720e37dd22458c} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-perf2worth}]the functor class to transform raw fitnesses into fitness for selection \end{description} +\end{Desc} + + +Definition at line 43 of file moeo\-Replacement.h. + +\subsection{Member Function Documentation} +\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!operator()@{operator()}} +\index{operator()@{operator()}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ void {\bf moeo\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::operator() ({\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-parents}, {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoElitistReplacement_aad627deb45859e65ace0709c004049a} + + +replacement - result in \_\-parents + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-parents}]parents population \item[{\em \_\-offspring}]offspring population \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}. + +Definition at line 54 of file moeo\-Replacement.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.eps new file mode 100644 index 000000000..62b905032 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.eps @@ -0,0 +1,227 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 195.312 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.56 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoEntropyMetric< EOT >) cw +(moeoVectorVsVectorBM< EOT, double >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoEntropyMetric< EOT >) 0.5 0 box + (moeoVectorVsVectorBM< EOT, double >) 0.5 1 box + (moeoBM< A1, A2, R >) 0.5 2 box + (eoBF< A1, A2, R >) 0 3 box + (moeoMetric) 1 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +0 1 3 conn +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 0 4 in +solid +1 1 4 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.tex new file mode 100644 index 000000000..33d9fc7b7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.tex @@ -0,0 +1,89 @@ +\section{moeo\-Entropy\-Metric$<$ EOT $>$ Class Template Reference} +\label{classmoeoEntropyMetric}\index{moeoEntropyMetric@{moeoEntropyMetric}} +The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. + + +{\tt \#include $<$moeo\-Entropy\-Metric.h$>$} + +Inheritance diagram for moeo\-Entropy\-Metric$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoEntropyMetric} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf EOFitness}\label{classmoeoEntropyMetric_306b72d2236de1ecbae986c65490a8fe} + +\begin{CompactList}\small\item\em The fitness type of a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +double {\bf operator()} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the entropy of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf remove\-Dominated} (std::vector$<$ {\bf EOFitness} $>$ \&\_\-f)\label{classmoeoEntropyMetric_3252e7534b1ceb1317936c5d2b3abcbe} + +\item +void {\bf prenormalize} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-f)\label{classmoeoEntropyMetric_c9f0c65b4de69accbfb42486f6445cb0} + +\item +void {\bf normalize} (std::vector$<$ {\bf EOFitness} $>$ \&\_\-f)\label{classmoeoEntropyMetric_bc32468b148a0da4eb21a9fc14dfafae} + +\item +void {\bf compute\-Union} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-f1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-f2, std::vector$<$ {\bf EOFitness} $>$ \&\_\-f)\label{classmoeoEntropyMetric_2de60a0e6be362f074b50e6b455152ab} + +\item +unsigned {\bf how\-Many\-In\-Niche\-Of} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-f, const {\bf EOFitness} \&\_\-s, unsigned \_\-size)\label{classmoeoEntropyMetric_a9369be315e139ebdf19fac09ad0563f} + +\item +double {\bf euclidian\-Distance} (const {\bf EOFitness} \&\_\-set1, const {\bf EOFitness} \&\_\-to, unsigned \_\-deg=2)\label{classmoeoEntropyMetric_34f825ce7c53132f7218483130da8652} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +std::vector$<$ double $>$ {\bf vect\_\-min\_\-val}\label{classmoeoEntropyMetric_d4046a304badfe78aa35b2d57938ffe9} + +\item +std::vector$<$ double $>$ {\bf vect\_\-max\_\-val}\label{classmoeoEntropyMetric_af0ae9645bdbb993de4bc990a0a08883} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Entropy\-Metric$<$ EOT $>$} + +The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. + +(Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. of the 2002 Congress on Evolutionary Computation, IEEE Press, pp. 1155-1156) + + + +Definition at line 23 of file moeo\-Entropy\-Metric.h. + +\subsection{Member Function Documentation} +\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!operator()@{operator()}} +\index{operator()@{operator()}!moeoEntropyMetric@{moeo\-Entropy\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ double {\bf moeo\-Entropy\-Metric}$<$ EOT $>$::operator() (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEntropyMetric_58136405dfed951efa340ddf541c29fd} + + +Returns the entropy of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 38 of file moeo\-Entropy\-Metric.h. + +References moeo\-Entropy\-Metric$<$ EOT $>$::compute\-Union(), moeo\-Entropy\-Metric$<$ EOT $>$::how\-Many\-In\-Niche\-Of(), moeo\-Entropy\-Metric$<$ EOT $>$::normalize(), moeo\-Entropy\-Metric$<$ EOT $>$::prenormalize(), and moeo\-Entropy\-Metric$<$ EOT $>$::remove\-Dominated(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Entropy\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.eps new file mode 100644 index 000000000..77aee0c9e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 462.428 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.08125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoHybridMOLS< EOT >) cw +(eoUpdater) cw +(eoF< void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoHybridMOLS< EOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.tex new file mode 100644 index 000000000..899ca25fb --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.tex @@ -0,0 +1,67 @@ +\section{moeo\-Hybrid\-MOLS$<$ EOT $>$ Class Template Reference} +\label{classmoeoHybridMOLS}\index{moeoHybridMOLS@{moeoHybridMOLS}} +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. + + +{\tt \#include $<$moeo\-Hybrid\-MOLS.h$>$} + +Inheritance diagram for moeo\-Hybrid\-MOLS$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoHybridMOLS} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Hybrid\-MOLS} ({\bf eo\-Continue}$<$ EOT $>$ \&\_\-term, {\bf eo\-Select}$<$ EOT $>$ \&\_\-select, {\bf moeo\-MOLS}$<$ EOT $>$ \&\_\-mols, {\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf operator()} ()\label{classmoeoHybridMOLS_f62b4221d0ec094e39b73b386b508fc1} + +\begin{CompactList}\small\item\em Applies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Continue}$<$ EOT $>$ \& {\bf term}\label{classmoeoHybridMOLS_cd05dc1c82febb819945663c3b5c6a75} + +\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item +{\bf eo\-Select}$<$ EOT $>$ \& {\bf select}\label{classmoeoHybridMOLS_b47c4d1bce77c5648b437a5884a7c41f} + +\begin{CompactList}\small\item\em selector \item\end{CompactList}\item +{\bf moeo\-MOLS}$<$ EOT $>$ \& {\bf mols}\label{classmoeoHybridMOLS_5ecf318c321a71857c11da1ff5000092} + +\begin{CompactList}\small\item\em multi-objective local search \item\end{CompactList}\item +{\bf moeo\-Archive}$<$ EOT $>$ \& {\bf arch}\label{classmoeoHybridMOLS_4aecb1f300f2f09b8d45998cc140576b} + +\begin{CompactList}\small\item\em archive \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Hybrid\-MOLS$<$ EOT $>$} + +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. + + + +Definition at line 27 of file moeo\-Hybrid\-MOLS.h. + +\subsection{Member Function Documentation} +\index{moeoHybridMOLS@{moeo\-Hybrid\-MOLS}!eoHybridMOLS@{eoHybridMOLS}} +\index{eoHybridMOLS@{eoHybridMOLS}!moeoHybridMOLS@{moeo\-Hybrid\-MOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Hybrid\-MOLS}$<$ EOT $>$::eo\-Hybrid\-MOLS ({\bf eo\-Continue}$<$ EOT $>$ \& {\em \_\-term}, {\bf eo\-Select}$<$ EOT $>$ \& {\em \_\-select}, {\bf moeo\-MOLS}$<$ EOT $>$ \& {\em \_\-mols}, {\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoHybridMOLS_ced4b6d35035bfe3339dd571646e570d} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-term}]stopping criteria \item[{\em \_\-select}]selector \item[{\em \_\-mols}]a multi-objective local search \item[{\em \_\-arch}]the archive \end{description} +\end{Desc} + + +Definition at line 38 of file moeo\-Hybrid\-MOLS.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Hybrid\-MOLS.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.eps new file mode 100644 index 000000000..de81ca4cd --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIBEA< EOT, Fitness >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +(moeoIBEASorting< EOT, Fitness >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBEA< EOT, Fitness >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + (moeoIBEASorting< EOT, Fitness >) 0.5 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in +solid +1 0.5 0.25 out +solid +0 0.5 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.tex new file mode 100644 index 000000000..1398210e5 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.tex @@ -0,0 +1,60 @@ +\section{moeo\-IBEA$<$ EOT, Fitness $>$ Class Template Reference} +\label{classmoeoIBEA}\index{moeoIBEA@{moeoIBEA}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + + +{\tt \#include $<$moeo\-IBEA.h$>$} + +Inheritance diagram for moeo\-IBEA$<$ EOT, Fitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoIBEA} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-IBEA} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I)\label{classmoeoIBEA_3de9693e4e8a723b2e40864ac1f4ac65} + +\item +void {\bf calculate\_\-worths} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em mapping \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +{\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\bf I}\label{classmoeoIBEA_15ef4c06c2bf6101e5c3d36e162a3965} + +\begin{CompactList}\small\item\em binary quality indicator to use in the selection process \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness$>$ class moeo\-IBEA$<$ EOT, Fitness $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + + + +Definition at line 28 of file moeo\-IBEA.h. + +\subsection{Member Function Documentation} +\index{moeoIBEA@{moeo\-IBEA}!calculate_worths@{calculate\_\-worths}} +\index{calculate_worths@{calculate\_\-worths}!moeoIBEA@{moeo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness$>$ void {\bf moeo\-IBEA}$<$ EOT, Fitness $>$::calculate\_\-worths (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIBEA_9e8738189ef146eb2e6ecb19c9709a31} + + +mapping + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-Perf2Worth\-Cached$<$ EOT, double $>$}. + +Definition at line 46 of file moeo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.eps new file mode 100644 index 000000000..3a0416e5b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 227.273 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.2 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIBEAAvgSorting< EOT, FitnessEval >) cw +(moeoIBEA< EOT, FitnessEval >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBEAAvgSorting< EOT, FitnessEval >) 0.5 0 box + (moeoIBEA< EOT, FitnessEval >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.tex new file mode 100644 index 000000000..2afb37333 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.tex @@ -0,0 +1,103 @@ +\section{moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference} +\label{classmoeoIBEAAvgSorting}\index{moeoIBEAAvgSorting@{moeoIBEAAvgSorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + +{\tt \#include $<$moeo\-IBEA.h$>$} + +Inheritance diagram for moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoIBEAAvgSorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-IBEAAvg\-Sorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I, const double \_\-kappa) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf kappa}\label{classmoeoIBEAAvgSorting_89375a49f85c93492b59dc8450b8a983} + +\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + + +Definition at line 361 of file moeo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}!moeoIBEAAvgSorting@{moeoIBEAAvgSorting}} +\index{moeoIBEAAvgSorting@{moeoIBEAAvgSorting}!moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf moeo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf moeo\-IBEAAvg\-Sorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEAAvgSorting_02056e5794eb5c1d0e3d9d1cbb347c41} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 373 of file moeo\-IBEA.h. + +References moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::kappa. + +\subsection{Member Function Documentation} +\index{moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf moeo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEAAvgSorting_b62fcfda9ac75352479fa06952754f90} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness\-Eval $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 398 of file moeo\-IBEA.h. + +References moeo\-IBEA$<$ EOT, Fitness\-Eval $>$::I, and moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::set\-Bounds().\index{moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf moeo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEAAvgSorting_e88f9280e5c81cd0b54d738b7863dc1d} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness\-Eval $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 431 of file moeo\-IBEA.h. + +References moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::kappa, and eo\-Value\-Param$<$ std::vector$<$ Worth\-T $>$ $>$::value(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.eps new file mode 100644 index 000000000..ab49cfe74 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIBEASorting< EOT, Fitness >) cw +(moeoIBEA< EOT, Fitness >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBEASorting< EOT, Fitness >) 0.5 0 box + (moeoIBEA< EOT, Fitness >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.tex new file mode 100644 index 000000000..0eded5df5 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.tex @@ -0,0 +1,103 @@ +\section{moeo\-IBEASorting$<$ EOT, Fitness $>$ Class Template Reference} +\label{classmoeoIBEASorting}\index{moeoIBEASorting@{moeoIBEASorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + +{\tt \#include $<$moeo\-IBEA.h$>$} + +Inheritance diagram for moeo\-IBEASorting$<$ EOT, Fitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoIBEASorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-IBEASorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I, const double \_\-kappa) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf kappa}\label{classmoeoIBEASorting_4789daab5ea5e215075d7430f343a321} + +\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness = typename EOT::Fitness$>$ class moeo\-IBEASorting$<$ EOT, Fitness $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + + +Definition at line 84 of file moeo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoIBEASorting@{moeo\-IBEASorting}!moeoIBEASorting@{moeoIBEASorting}} +\index{moeoIBEASorting@{moeoIBEASorting}!moeoIBEASorting@{moeo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ {\bf moeo\-IBEASorting}$<$ EOT, Fitness $>$::{\bf moeo\-IBEASorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEASorting_4d00a499f4d03b8cf66e9ce8f68cb174} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 96 of file moeo\-IBEA.h. + +References moeo\-IBEASorting$<$ EOT, Fitness $>$::kappa. + +\subsection{Member Function Documentation} +\index{moeoIBEASorting@{moeo\-IBEASorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!moeoIBEASorting@{moeo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf moeo\-IBEASorting}$<$ EOT, Fitness $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEASorting_f29f38584c69217f25e904118f6bfb2b} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 121 of file moeo\-IBEA.h. + +References moeo\-IBEA$<$ EOT, Fitness $>$::I, and moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::set\-Bounds().\index{moeoIBEASorting@{moeo\-IBEASorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!moeoIBEASorting@{moeo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf moeo\-IBEASorting}$<$ EOT, Fitness $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEASorting_63c3953d362b41e875e6e7759a308e07} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 150 of file moeo\-IBEA.h. + +References moeo\-IBEASorting$<$ EOT, Fitness $>$::kappa, and eo\-Value\-Param$<$ std::vector$<$ Worth\-T $>$ $>$::value(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.eps new file mode 100644 index 000000000..8d72ffe1a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 219.78 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.275 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIBEAStochSorting< EOT, FitnessEval >) cw +(moeoIBEA< EOT, FitnessEval >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBEAStochSorting< EOT, FitnessEval >) 0.5 0 box + (moeoIBEA< EOT, FitnessEval >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.tex new file mode 100644 index 000000000..d6d6c676b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.tex @@ -0,0 +1,101 @@ +\section{moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference} +\label{classmoeoIBEAStochSorting}\index{moeoIBEAStochSorting@{moeoIBEAStochSorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + +{\tt \#include $<$moeo\-IBEA.h$>$} + +Inheritance diagram for moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoIBEAStochSorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-IBEAStoch\-Sorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Static Private Member Functions} +\begin{CompactItemize} +\item +static double {\bf zero} ()\label{classmoeoIBEAStochSorting_3426ae274256fe8cedb9e0c009f81e15} + +\begin{CompactList}\small\item\em approximated zero value \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + + +Definition at line 203 of file moeo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}!moeoIBEAStochSorting@{moeoIBEAStochSorting}} +\index{moeoIBEAStochSorting@{moeoIBEAStochSorting}!moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf moeo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf moeo\-IBEAStoch\-Sorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEAStochSorting_675d3ff90643f398b8aacbea5ea7eb31} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \end{description} +\end{Desc} + + +Definition at line 214 of file moeo\-IBEA.h. + +\subsection{Member Function Documentation} +\index{moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf moeo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEAStochSorting_c23afa90c4eb5b21bb8f118c968ed0a2} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness\-Eval $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 243 of file moeo\-IBEA.h. + +References moeo\-IBEA$<$ EOT, Fitness\-Eval $>$::I, and moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::set\-Bounds().\index{moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf moeo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEAStochSorting_b75848ab2c0d03058b48147f11105dcb} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness\-Eval $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 272 of file moeo\-IBEA.h. + +References eo\-Value\-Param$<$ std::vector$<$ Worth\-T $>$ $>$::value(), and moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$::zero(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.eps new file mode 100644 index 000000000..2d25dc070 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 243.902 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.05 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoMOLS< EOT >) cw +(eoBF< const EOT &, moeoArchive< EOT > &, void >) cw +(eoFunctorBase) cw +(moeoCombinedMOLS< EOT >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoMOLS< EOT >) 0 1 box + (eoBF< const EOT &, moeoArchive< EOT > &, void >) 0 2 box + (eoFunctorBase) 0 3 box + (moeoCombinedMOLS< EOT >) 0 0 box + +% ----- relations ----- + +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.tex new file mode 100644 index 000000000..5a0b3885c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.tex @@ -0,0 +1,29 @@ +\section{moeo\-MOLS$<$ EOT $>$ Class Template Reference} +\label{classmoeoMOLS}\index{moeoMOLS@{moeoMOLS}} +Abstract class for local searches applied to multi-objective optimization. + + +{\tt \#include $<$moeo\-MOLS.h$>$} + +Inheritance diagram for moeo\-MOLS$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoMOLS} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-MOLS$<$ EOT $>$} + +Abstract class for local searches applied to multi-objective optimization. + +Starting from only one solution, it produces a set of new non-dominated solutions. + + + +Definition at line 23 of file moeo\-MOLS.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-MOLS.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.eps new file mode 100644 index 000000000..23737595a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.eps @@ -0,0 +1,236 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 149.031 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.355 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 10 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoMetric) cw +(eoFunctorBase) cw +(moeoBM< A1, A2, R >) cw +(moeoBM< const const EOFitness &, EOFitness &, R >) cw +(moeoBM< const const std::vector< EOFitness > &, EOFitness &, R >) cw +(moeoBM< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R >) cw +(moeoBM< const const std::vector< typename EOT::Fitness > &, std::vector< typename EOT::Fitness > &, double >) cw +(moeoUM< A, R >) cw +(moeoUM< const EOFitness &, R >) cw +(moeoUM< const std::vector< EOFitness > &, R >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoMetric) 0 8 box + (eoFunctorBase) 0 9 box + (moeoBM< A1, A2, R >) 1 7 box +1 7 mark + (moeoBM< const const EOFitness &, EOFitness &, R >) 1 6 box + (moeoBM< const const std::vector< EOFitness > &, EOFitness &, R >) 1 5 box + (moeoBM< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R >) 1 4 box + (moeoBM< const const std::vector< typename EOT::Fitness > &, std::vector< typename EOT::Fitness > &, double >) 1 3 box + (moeoUM< A, R >) 1 2 box + (moeoUM< const EOFitness &, R >) 1 1 box +1 1 mark + (moeoUM< const std::vector< EOFitness > &, R >) 1 0 box +1 0 mark + +% ----- relations ----- + +solid +0 0 8 out +solid +1 0 9 in +solid +1 0 7.25 out +solid +0 0 7.5 hedge +solid +0 0 6.5 hedge +solid +0 0 5.5 hedge +solid +0 0 4.5 hedge +solid +0 0 3.5 hedge +solid +0 0 2.5 hedge +solid +0 0 1.5 hedge +solid +0 0 0.5 hedge +solid +0 8 0.5 vedge diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.tex new file mode 100644 index 000000000..f6c2d9573 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.tex @@ -0,0 +1,25 @@ +\section{moeo\-Metric Class Reference} +\label{classmoeoMetric}\index{moeoMetric@{moeoMetric}} +Base class for performance metrics (also called quality indicators). + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Metric::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.17288cm]{classmoeoMetric} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +Base class for performance metrics (also called quality indicators). + + + +Definition at line 21 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.eps new file mode 100644 index 000000000..8ecf5da0b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoNDSorting_II< EOT >) cw +(eoNDSorting< EOT >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoNDSorting_II< EOT >) 0.5 0 box + (eoNDSorting< EOT >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.tex new file mode 100644 index 000000000..f74f31db1 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.tex @@ -0,0 +1,51 @@ +\section{moeo\-NDSorting\_\-II$<$ EOT $>$ Class Template Reference} +\label{classmoeoNDSorting__II}\index{moeoNDSorting_II@{moeoNDSorting\_\-II}} +Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original {\bf eo\-NDSorting\_\-II} class. + + +{\tt \#include $<$moeo\-NDSorting.h$>$} + +Inheritance diagram for moeo\-NDSorting\_\-II$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoNDSorting__II} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef std::pair$<$ double, unsigned $>$ {\bf double\_\-index\_\-pair}\label{classmoeoNDSorting__II_0987beaa2f600f5bce61c77215679e43} + +\begin{CompactList}\small\item\em index pair \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-NDSorting\_\-II} (bool nasty\_\-flag\_\-=false)\label{classmoeoNDSorting__II_820e9987853858ddc59e36c7f267955e} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +std::vector$<$ double $>$ {\bf niche\_\-penalty} (const std::vector$<$ unsigned $>$ \&\_\-cf, const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classmoeoNDSorting__II_265c74b9f64731db86e2c363593f67f9} + +\begin{CompactList}\small\item\em \_\-cf points into the elements that consist of the current front \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf compare\_\-nodes} +\begin{CompactList}\small\item\em A class to compare the nodes. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-NDSorting\_\-II$<$ EOT $>$} + +Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original {\bf eo\-NDSorting\_\-II} class. + +\begin{Desc} +\item[See also:]{\bf eo\-NDSorting\_\-II} \end{Desc} + + + + +Definition at line 26 of file moeo\-NDSorting.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-NDSorting.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II_1_1compare__nodes.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II_1_1compare__nodes.tex new file mode 100644 index 000000000..cec86004e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II_1_1compare__nodes.tex @@ -0,0 +1,27 @@ +\section{moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes Class Reference} +\label{classmoeoNDSorting__II_1_1compare__nodes}\index{moeoNDSorting_II::compare_nodes@{moeoNDSorting\_\-II::compare\_\-nodes}} +A class to compare the nodes. + + +{\tt \#include $<$moeo\-NDSorting.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +bool {\bf operator()} (const {\bf double\_\-index\_\-pair} \&a, const {\bf double\_\-index\_\-pair} \&b) const\label{classmoeoNDSorting__II_1_1compare__nodes_471ebe9e88bfc778c4c281399eb0c196} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes} + +A class to compare the nodes. + + + +Definition at line 46 of file moeo\-NDSorting.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-NDSorting.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.eps new file mode 100644 index 000000000..16c1780e3 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 388.35 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.2875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoNSGA_II< EOT >) cw +(eoAlgo< EOT >) cw +(eoUF< eoPop< EOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoNSGA_II< EOT >) 0 0 box + (eoAlgo< EOT >) 0 1 box + (eoUF< eoPop< EOT > &, void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.tex new file mode 100644 index 000000000..70fcda63a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.tex @@ -0,0 +1,83 @@ +\section{moeo\-NSGA\_\-II$<$ EOT $>$ Class Template Reference} +\label{classmoeoNSGA__II}\index{moeoNSGA_II@{moeoNSGA\_\-II}} +Inheritance diagram for moeo\-NSGA\_\-II$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoNSGA__II} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-NSGA\_\-II} (unsigned \_\-max\_\-gen, {\bf eo\-Eval\-Func}$<$ EOT $>$ \&\_\-eval, {\bf eo\-Gen\-Op}$<$ EOT $>$ \&\_\-op) +\begin{CompactList}\small\item\em This constructor builds the algorithm as descibed in the paper. \item\end{CompactList}\item +{\bf moeo\-NSGA\_\-II} (unsigned \_\-max\_\-gen, {\bf eo\-Eval\-Func}$<$ EOT $>$ \&\_\-eval, {\bf eo\-Quad\-Op}$<$ EOT $>$ \&crossover, double p\-Cross, {\bf eo\-Mon\-Op}$<$ EOT $>$ \&mutation, double p\-Mut)\label{classmoeoNSGA__II_37109beabe74b0fecb2f3f899ef573d7} + +\begin{CompactList}\small\item\em Ctor taking \_\-max\_\-gen, crossover and mutation. \item\end{CompactList}\item +{\bf moeo\-NSGA\_\-II} ({\bf eo\-Continue}$<$ EOT $>$ \&\_\-continuator, {\bf eo\-Eval\-Func}$<$ EOT $>$ \&\_\-eval, {\bf eo\-Gen\-Op}$<$ EOT $>$ \&\_\-op)\label{classmoeoNSGA__II_29ae86b4254ba6e5263c159df812fb7e} + +\begin{CompactList}\small\item\em Ctor taking a continuator instead of \_\-gen\_\-max. \item\end{CompactList}\item +virtual void {\bf operator()} ({\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classmoeoNSGA__II_a9a94b2ee67038b81cdba0fd005350d0} + +\begin{CompactList}\small\item\em Apply a few generation of evolution to the population. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Continue}$<$ EOT $>$ \& {\bf continuator}\label{classmoeoNSGA__II_22ba11ba501fb7cf3423d9b777294998} + +\item +{\bf eo\-Eval\-Func}$<$ EOT $>$ \& {\bf eval}\label{classmoeoNSGA__II_6b90df8b9890035788a4d4a3f0c26742} + +\item +{\bf eo\-Pop\-Loop\-Eval}$<$ EOT $>$ {\bf loop\-Eval}\label{classmoeoNSGA__II_72fd9c6e70e9ee19db82a6894cafc60b} + +\item +{\bf eo\-Pop\-Eval\-Func}$<$ EOT $>$ \& {\bf pop\-Eval}\label{classmoeoNSGA__II_c1975957e19a164fde96ed7b5ce90ba4} + +\item +{\bf moeo\-NDSorting\_\-II}$<$ EOT $>$ {\bf sorting}\label{classmoeoNSGA__II_1aa7de4992f6c0f1c3a093aca735874c} + +\begin{CompactList}\small\item\em NSGAII sorting. \item\end{CompactList}\item +{\bf eo\-Det\-Tournament\-Worth\-Select}$<$ EOT $>$ {\bf select\-One}\label{classmoeoNSGA__II_add129e06168846b7e405ddd25d70c4d} + +\begin{CompactList}\small\item\em Binary tournament selection. \item\end{CompactList}\item +{\bf moeo\-Elitist\-Replacement}$<$ EOT $>$ {\bf replace}\label{classmoeoNSGA__II_c75535b7a47c26d8a66c1f227d33a3af} + +\begin{CompactList}\small\item\em Elitist replacement. \item\end{CompactList}\item +{\bf eo\-General\-Breeder}$<$ EOT $>$ {\bf gen\-Breed}\label{classmoeoNSGA__II_febee845341b96dba1cdfc18640d4960} + +\item +{\bf eo\-Breed}$<$ EOT $>$ \& {\bf breed}\label{classmoeoNSGA__II_f0dc0665ea743729e6284d812192acfc} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-NSGA\_\-II$<$ EOT $>$} + + + + + +Definition at line 31 of file moeo\-NSGA\_\-II.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoNSGA_II@{moeo\-NSGA\_\-II}!moeoNSGA_II@{moeoNSGA\_\-II}} +\index{moeoNSGA_II@{moeoNSGA\_\-II}!moeoNSGA_II@{moeo\-NSGA\_\-II}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-NSGA\_\-II}$<$ EOT $>$::{\bf moeo\-NSGA\_\-II} (unsigned {\em \_\-max\_\-gen}, {\bf eo\-Eval\-Func}$<$ EOT $>$ \& {\em \_\-eval}, {\bf eo\-Gen\-Op}$<$ EOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGA__II_bdbf13431487a83afdfd4f527f99ebcf} + + +This constructor builds the algorithm as descibed in the paper. + +Deb, K., S. Agrawal, A. Pratap, and T. Meyarivan, A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197, April 2002. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\_\-gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description} +\end{Desc} + + +Definition at line 46 of file moeo\-NSGA\_\-II.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-NSGA\_\-II.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.eps new file mode 100644 index 000000000..d4372982b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 160 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoParetoEuclidDist< EOT, DistType >) cw +(moeoParetoPhenDist< EOT, DistType >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoParetoEuclidDist< EOT, DistType >) 0 0 box + (moeoParetoPhenDist< EOT, DistType >) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.tex new file mode 100644 index 000000000..3bc887b32 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.tex @@ -0,0 +1,28 @@ +\section{moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$ Class Template Reference} +\label{classmoeoParetoEuclidDist}\index{moeoParetoEuclidDist@{moeoParetoEuclidDist}} +Inheritance diagram for moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classmoeoParetoEuclidDist} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +Dist\-Type {\bf operator()} (const EOT \&eopf1, const EOT \&eopf2)\label{classmoeoParetoEuclidDist_5369b5167c0305ca99836ed2122d8c8b} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Dist\-Type = double$>$ class moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$} + + + + + +Definition at line 27 of file moeo\-Pareto\-Phen\-Dist.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Phen\-Dist.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.eps new file mode 100644 index 000000000..16044ebdf --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 160 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoParetoPhenDist< EOT, DistType >) cw +(moeoParetoEuclidDist< EOT, DistType >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoParetoPhenDist< EOT, DistType >) 0 1 box + (moeoParetoEuclidDist< EOT, DistType >) 0 0 box + +% ----- relations ----- + +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.tex new file mode 100644 index 000000000..f20b2e543 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.tex @@ -0,0 +1,22 @@ +\section{moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$ Class Template Reference} +\label{classmoeoParetoPhenDist}\index{moeoParetoPhenDist@{moeoParetoPhenDist}} +Inheritance diagram for moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classmoeoParetoPhenDist} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Dist\-Type$>$ class moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$} + + + + + +Definition at line 15 of file moeo\-Pareto\-Phen\-Dist.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Phen\-Dist.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.eps new file mode 100644 index 000000000..aa65f1c78 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 161.943 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.0875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoParetoSharing< EOT, worthT >) cw +(eoPerf2Worth< EOT, worthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< worthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoParetoSharing< EOT, worthT >) 0.5 0 box + (eoPerf2Worth< EOT, worthT >) 0.5 1 box + (eoUF< const eoPop< EOT > &, void >) 0 2 box + (eoValueParam< std::vector< worthT > >) 1 2 box + (eoFunctorBase) 0 3 box + (eoParam) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.tex new file mode 100644 index 000000000..c0174bb79 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.tex @@ -0,0 +1,60 @@ +\section{moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$ Class Template Reference} +\label{classmoeoParetoSharing}\index{moeoParetoSharing@{moeoParetoSharing}} +Inheritance diagram for moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoParetoSharing} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Pareto\-Sharing} (double \_\-niche\-Size)\label{classmoeoParetoSharing_e2bb92004d3ec5193c7c3efcd499c489} + +\item +{\bf moeo\-Pareto\-Sharing} (double \_\-niche\-Size, {\bf moeo\-Pareto\-Phen\-Dist}$<$ EOT, worth\-T $>$ \&\_\-dist)\label{classmoeoParetoSharing_757d64059315641796855d5adc48cce9} + +\item +void {\bf operator} ()(const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classmoeoParetoSharing_67f211b508194562903dae15989ab515} + +\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf sh} (double {\bf dist}, double {\bf Dmax})\label{classmoeoParetoSharing_002e355f0df0ad242cdf171207b592ac} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf niche\-Size}\label{classmoeoParetoSharing_b5519750a3f30747cbabf67df9b4afd8} + +\item +{\bf moeo\-Pareto\-Phen\-Dist}$<$ EOT, worth\-T $>$ \& {\bf dist}\label{classmoeoParetoSharing_329d7d08f06988fcb0f03059c88ed209} + +\item +{\bf moeo\-Pareto\-Euclid\-Dist}$<$ EOT $>$ {\bf euc\_\-dist}\label{classmoeoParetoSharing_42bc90da2e7f3f7d3837484c771f638e} + +\item +double {\bf Dmax}\label{classmoeoParetoSharing_0219625f2dd8bfd9ae7cb3039084059f} + +\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf d\-Matrix} +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class worth\-T = double$>$ class moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$} + + + + + +Definition at line 19 of file moeo\-Pareto\-Sharing.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing_1_1dMatrix.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing_1_1dMatrix.tex new file mode 100644 index 000000000..6ab35847c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing_1_1dMatrix.tex @@ -0,0 +1,31 @@ +\section{moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix Class Reference} +\label{classmoeoParetoSharing_1_1dMatrix}\index{moeoParetoSharing::dMatrix@{moeoParetoSharing::dMatrix}} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf d\-Matrix} (unsigned \_\-s)\label{classmoeoParetoSharing_1_1dMatrix_97aa4b1596be7ddba2b52a43ebc4cb6a} + +\item +void {\bf print\-On} (std::ostream \&\_\-os)\label{classmoeoParetoSharing_1_1dMatrix_e63c5e6d70866a31eff53fab563922d7} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned {\bf r\-Size}\label{classmoeoParetoSharing_1_1dMatrix_792b8a45e222a0daecad1ed344fc9a4f} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class worth\-T = double$>$ class moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix} + + + + + +Definition at line 109 of file moeo\-Pareto\-Sharing.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.eps new file mode 100644 index 000000000..07df814b6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 159.236 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.14 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoReplacement< EOT, WorthT >) cw +(eoReplacement< EOT >) cw +(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw +(eoFunctorBase) cw +(moeoDisctinctElitistReplacement< EOT, WorthT >) cw +(moeoElitistReplacement< EOT, WorthT >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoReplacement< EOT, WorthT >) 0.5 1 box + (eoReplacement< EOT >) 0.5 2 box + (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box + (eoFunctorBase) 0.5 4 box + (moeoDisctinctElitistReplacement< EOT, WorthT >) 0 0 box + (moeoElitistReplacement< EOT, WorthT >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +1 0.5 4 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.tex new file mode 100644 index 000000000..f146d8ad4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.tex @@ -0,0 +1,27 @@ +\section{moeo\-Replacement$<$ EOT, Worth\-T $>$ Class Template Reference} +\label{classmoeoReplacement}\index{moeoReplacement@{moeoReplacement}} +Replacement strategy for multi-objective optimization. + + +{\tt \#include $<$moeo\-Replacement.h$>$} + +Inheritance diagram for moeo\-Replacement$<$ EOT, Worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.4586cm]{classmoeoReplacement} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Worth\-T$>$ class moeo\-Replacement$<$ EOT, Worth\-T $>$} + +Replacement strategy for multi-objective optimization. + + + +Definition at line 24 of file moeo\-Replacement.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.eps new file mode 100644 index 000000000..f9c38857e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 307.692 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoSelectOneFromPopAndArch< EOT >) cw +(eoSelectOne< EOT >) cw +(eoUF< A1, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoSelectOneFromPopAndArch< EOT >) 0 0 box + (eoSelectOne< EOT >) 0 1 box + (eoUF< A1, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.tex new file mode 100644 index 000000000..0f8858baa --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.tex @@ -0,0 +1,89 @@ +\section{moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$ Class Template Reference} +\label{classmoeoSelectOneFromPopAndArch}\index{moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}} +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + + +{\tt \#include $<$moeo\-Select\-One\-From\-Pop\-And\-Arch.h$>$} + +Inheritance diagram for moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoSelectOneFromPopAndArch} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch} ({\bf eo\-Select\-One}$<$ EOT $>$ \&\_\-pop\-Select\-One, {\bf eo\-Select\-One}$<$ EOT $>$ \_\-arch\-Select\-One, {\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, double \_\-ratio\-From\-Pop=0.5) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch} ({\bf eo\-Select\-One}$<$ EOT $>$ \&\_\-pop\-Select\-One, {\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, double \_\-ratio\-From\-Pop=0.5) +\begin{CompactList}\small\item\em Ctor - the archive's selection operator is a random selector. \item\end{CompactList}\item +virtual const EOT \& {\bf operator()} (const {\bf eo\-Pop}$<$ EOT $>$ \&pop)\label{classmoeoSelectOneFromPopAndArch_3c97abfde2dd9959ae4db4c32038017d} + +\begin{CompactList}\small\item\em The selection process. \item\end{CompactList}\item +virtual void {\bf setup} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classmoeoSelectOneFromPopAndArch_a2acc5ddcf045c0c63c22f8d04274858} + +\begin{CompactList}\small\item\em Setups some population stats. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Select\-One}$<$ EOT $>$ \& {\bf pop\-Select\-One}\label{classmoeoSelectOneFromPopAndArch_4f6d51d06d92b0a3383f9f47e3b2b682} + +\begin{CompactList}\small\item\em The population's selection operator. \item\end{CompactList}\item +{\bf eo\-Select\-One}$<$ EOT $>$ \& {\bf arch\-Select\-One}\label{classmoeoSelectOneFromPopAndArch_5e062a1deca0307a91121271d3b976ba} + +\begin{CompactList}\small\item\em The archive's selection operator. \item\end{CompactList}\item +{\bf moeo\-Archive}$<$ EOT $>$ \& {\bf arch}\label{classmoeoSelectOneFromPopAndArch_3ca71296847a931355a1e88d0cc524cb} + +\begin{CompactList}\small\item\em the archive \item\end{CompactList}\item +double {\bf ratio\-From\-Pop}\label{classmoeoSelectOneFromPopAndArch_97b57e598752bccafaaf6a8a724d9a43} + +\begin{CompactList}\small\item\em the ratio of selected individuals from the population \item\end{CompactList}\item +{\bf eo\-Random\-Select}$<$ EOT $>$ {\bf random\-Select}\label{classmoeoSelectOneFromPopAndArch_77cbe0150e70219e5a7fd48296acc4c7} + +\begin{CompactList}\small\item\em the random selection operator \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$} + +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + + + +Definition at line 25 of file moeo\-Select\-One\-From\-Pop\-And\-Arch.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoSelectOneFromPopAndArch@{moeo\-Select\-One\-From\-Pop\-And\-Arch}!moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}} +\index{moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}!moeoSelectOneFromPopAndArch@{moeo\-Select\-One\-From\-Pop\-And\-Arch}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Select\-One\-From\-Pop\-And\-Arch}$<$ EOT $>$::{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch} ({\bf eo\-Select\-One}$<$ EOT $>$ \& {\em \_\-pop\-Select\-One}, {\bf eo\-Select\-One}$<$ EOT $>$ {\em \_\-arch\-Select\-One}, {\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch}, double {\em \_\-ratio\-From\-Pop} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoSelectOneFromPopAndArch_8d75155e2bb6994b080c696d6382c6c9} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop\-Select\-One}]the population's selection operator \item[{\em \_\-arch\-Select\-One}]the archive's selection operator \item[{\em \_\-arch}]the archive \item[{\em \_\-ratio\-From\-Pop}]the ratio of selected individuals from the population \end{description} +\end{Desc} + + +Definition at line 37 of file moeo\-Select\-One\-From\-Pop\-And\-Arch.h.\index{moeoSelectOneFromPopAndArch@{moeo\-Select\-One\-From\-Pop\-And\-Arch}!moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}} +\index{moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}!moeoSelectOneFromPopAndArch@{moeo\-Select\-One\-From\-Pop\-And\-Arch}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Select\-One\-From\-Pop\-And\-Arch}$<$ EOT $>$::{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch} ({\bf eo\-Select\-One}$<$ EOT $>$ \& {\em \_\-pop\-Select\-One}, {\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch}, double {\em \_\-ratio\-From\-Pop} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoSelectOneFromPopAndArch_1aeab159a74bf4cd171e2045e25be2b7} + + +Ctor - the archive's selection operator is a random selector. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop\-Select\-One}]the population's selection operator \item[{\em \_\-arch}]the archive \item[{\em \_\-ratio\-From\-Pop}]the ratio of selected individuals from the population \end{description} +\end{Desc} + + +Definition at line 49 of file moeo\-Select\-One\-From\-Pop\-And\-Arch.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Select\-One\-From\-Pop\-And\-Arch.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.eps new file mode 100644 index 000000000..ba240a9a5 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 161.943 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.0875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoSolutionUM< EOT, R, EOFitness >) cw +(moeoUM< const EOFitness &, R >) cw +(eoUF< const EOFitness &, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoSolutionUM< EOT, R, EOFitness >) 0.5 0 box + (moeoUM< const EOFitness &, R >) 0.5 1 box + (eoUF< const EOFitness &, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.tex new file mode 100644 index 000000000..01c9d0450 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoSolutionUM}\index{moeoSolutionUM@{moeoSolutionUM}} +Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoSolutionUM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$} + +Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. + + + +Definition at line 47 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.eps new file mode 100644 index 000000000..f3491d31f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 130.293 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.8375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoSolutionVsSolutionBM< EOT, R, EOFitness >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoSolutionVsSolutionBM< EOT, R, EOFitness >) 0.5 0 box + (moeoBM< A1, A2, R >) 0.5 1 box + (eoBF< A1, A2, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.tex new file mode 100644 index 000000000..2c3797c15 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoSolutionVsSolutionBM}\index{moeoSolutionVsSolutionBM@{moeoSolutionVsSolutionBM}} +Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.64821cm]{classmoeoSolutionVsSolutionBM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} + +Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. + + + +Definition at line 70 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoUM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoUM.eps new file mode 100644 index 000000000..384c9b3af --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoUM.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 252.101 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.98333 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoUM< A, R >) cw +(eoUF< A, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoUM< A, R >) 0.5 0 box + (eoUF< A, R >) 0 1 box + (moeoMetric) 1 1 box + (eoFunctorBase) 0 2 box + (eoFunctorBase) 1 2 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +0 1 1 conn +solid +1 0 1 in +solid +0 0 1 out +solid +1 1 1 in +solid +0 1 1 out +solid +1 0 2 in +solid +1 1 2 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoUM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoUM.tex new file mode 100644 index 000000000..a1be4b19f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoUM.tex @@ -0,0 +1,27 @@ +\section{moeo\-UM$<$ A, R $>$ Class Template Reference} +\label{classmoeoUM}\index{moeoUM@{moeoUM}} +Base class for unary metrics. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-UM$<$ A, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmoeoUM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class A, class R$>$ class moeo\-UM$<$ A, R $>$} + +Base class for unary metrics. + + + +Definition at line 29 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.eps new file mode 100644 index 000000000..7b5eb73fc --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 133.779 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.7375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoVectorUM< EOT, R, EOFitness >) cw +(moeoUM< const std::vector< EOFitness > &, R >) cw +(eoUF< const std::vector< EOFitness > &, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoVectorUM< EOT, R, EOFitness >) 0.5 0 box + (moeoUM< const std::vector< EOFitness > &, R >) 0.5 1 box + (eoUF< const std::vector< EOFitness > &, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.tex new file mode 100644 index 000000000..86b8fa6d6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoVectorUM}\index{moeoVectorUM@{moeoVectorUM}} +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.74582cm]{classmoeoVectorUM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$} + +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). + + + +Definition at line 58 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.eps new file mode 100644 index 000000000..cb9caa6f9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 133.333 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.75 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoVectorVsSolutionBM< EOT, R, EOFitness >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoVectorVsSolutionBM< EOT, R, EOFitness >) 0.5 0 box + (moeoBM< A1, A2, R >) 0.5 1 box + (eoBF< A1, A2, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.tex new file mode 100644 index 000000000..3d8168722 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoVectorVsSolutionBM}\index{moeoVectorVsSolutionBM@{moeoVectorVsSolutionBM}} +Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.73333cm]{classmoeoVectorVsSolutionBM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} + +Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. + + + +Definition at line 82 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.eps new file mode 100644 index 000000000..9602d3d8d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 136.519 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.6625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoVectorVsVectorBM< EOT, R, EOFitness >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoVectorVsVectorBM< EOT, R, EOFitness >) 0.5 0 box + (moeoBM< A1, A2, R >) 0.5 1 box + (eoBF< A1, A2, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.tex new file mode 100644 index 000000000..0ede3e6ee --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoVectorVsVectorBM}\index{moeoVectorVsVectorBM@{moeoVectorVsVectorBM}} +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.82253cm]{classmoeoVectorVsVectorBM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$} + +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). + + + +Definition at line 95 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/doxygen.sty b/trunk/paradiseo-moeo/docs/latex/doxygen.sty new file mode 100644 index 000000000..d627a4e02 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/doxygen.sty @@ -0,0 +1,78 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} +\RequirePackage{calc} +\RequirePackage{array} +\pagestyle{fancyplain} +\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} +\renewcommand{\chaptermark}[1]{\markboth{#1}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} +\lhead[\fancyplain{}{\bfseries\thepage}] + {\fancyplain{}{\bfseries\rightmark}} +\rhead[\fancyplain{}{\bfseries\leftmark}] + {\fancyplain{}{\bfseries\thepage}} +\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Jan 15 14:19:18 2007 for Paradis\-EO-MOEO by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Jan 15 14:19:18 2007 for Paradis\-EO-MOEO by Doxygen }} +\cfoot{} +\newenvironment{Code} +{\footnotesize} +{\normalsize} +\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})} +\newenvironment{DocInclude} +{\footnotesize} +{\normalsize} +\newenvironment{VerbInclude} +{\footnotesize} +{\normalsize} +\newenvironment{Image} +{\begin{figure}[H]} +{\end{figure}} +\newenvironment{ImageNoCaption}{}{} +\newenvironment{CompactList} +{\begin{list}{}{ + \setlength{\leftmargin}{0.5cm} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \renewcommand{\makelabel}{\hfill}}} +{\end{list}} +\newenvironment{CompactItemize} +{ + \begin{itemize} + \setlength{\itemsep}{-3pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \setlength{\partopsep}{0pt} +} +{\end{itemize}} +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} +\newlength{\tmplength} +\newenvironment{TabularC}[1] +{ +\setlength{\tmplength} + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} + \par\begin{tabular*}{\linewidth} + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} +} +{\end{tabular*}\par} +\newcommand{\entrylabel}[1]{ + {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}} +\newenvironment{Desc} +{\begin{list}{} + { + \settowidth{\labelwidth}{40pt} + \setlength{\leftmargin}{\labelwidth} + \setlength{\parsep}{0pt} + \setlength{\itemsep}{-4pt} + \renewcommand{\makelabel}{\entrylabel} + } +} +{\end{list}} +\newenvironment{Indent} + {\begin{list}{}{\setlength{\leftmargin}{0.5cm}} + \item[]\ignorespaces} + {\unskip\end{list}} +\setlength{\parindent}{0cm} +\setlength{\parskip}{0.2cm} +\addtocounter{secnumdepth}{1} +\sloppy +\usepackage[T1]{fontenc} diff --git a/trunk/paradiseo-moeo/docs/latex/hierarchy.tex b/trunk/paradiseo-moeo/docs/latex/hierarchy.tex new file mode 100644 index 000000000..86788b042 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/hierarchy.tex @@ -0,0 +1,138 @@ +\section{Paradis\-EO-MOEO Class Hierarchy} +This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} +\item eo\-Functor\-Base{\tt [external]}\begin{CompactList} +\item eo\-BF$<$ A1, A2, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$}{\pageref{classmoeoBinaryQualityIndicator}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$}{\pageref{classmoeoAdditiveBinaryEpsilonIndicator}}{} +\item \contentsline{section}{moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$}{\pageref{classmoeoBinaryHypervolumeIndicator}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Binary\-Quality\-Indicator$<$ Fitness\-Eval $>$}{\pageref{classmoeoBinaryQualityIndicator}}{} +\item \contentsline{section}{moeo\-BM$<$ A1, A2, R $>$}{\pageref{classmoeoBM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoSolutionVsSolutionBM}}{} +\item \contentsline{section}{moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoVectorVsSolutionBM}}{} +\item \contentsline{section}{moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoVectorVsVectorBM}}{} +\item \contentsline{section}{moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, double $>$}{\pageref{classmoeoVectorVsVectorBM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Contribution\-Metric$<$ EOT $>$}{\pageref{classmoeoContributionMetric}}{} +\item \contentsline{section}{moeo\-Entropy\-Metric$<$ EOT $>$}{\pageref{classmoeoEntropyMetric}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item eo\-BF$<$ const const EOFitness \&, EOFitness \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const const EOFitness \&, EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\end{CompactList} +\item eo\-BF$<$ const const std::vector$<$ EOFitness $>$ \&, EOFitness \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ EOFitness $>$ \&, EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\end{CompactList} +\item eo\-BF$<$ const const std::vector$<$ EOFitness $>$ \&, std::vector$<$ EOFitness $>$ \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ EOFitness $>$ \&, std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoBM}}{} +\end{CompactList} +\item eo\-BF$<$ const const std::vector$<$ typename EOT::Fitness $>$ \&, std::vector$<$ typename EOT::Fitness $>$ \&, double $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ typename EOT::Fitness $>$ \&, std::vector$<$ typename EOT::Fitness $>$ \&, double $>$}{\pageref{classmoeoBM}}{} +\end{CompactList} +\item eo\-BF$<$ const EOT \&, moeo\-Archive$<$ EOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-MOLS$<$ EOT $>$}{\pageref{classmoeoMOLS}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Combined\-MOLS$<$ EOT $>$}{\pageref{classmoeoCombinedMOLS}}{} +\end{CompactList} +\end{CompactList} +\item eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item eo\-Replacement$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Replacement$<$ EOT, Worth\-T $>$}{\pageref{classmoeoReplacement}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$}{\pageref{classmoeoDisctinctElitistReplacement}}{} +\item \contentsline{section}{moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$}{\pageref{classmoeoElitistReplacement}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item eo\-F$<$ void $>${\tt [external]}\begin{CompactList} +\item eo\-Updater{\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$}{\pageref{classmoeoArchiveFitnessSavingUpdater}}{} +\item \contentsline{section}{moeo\-Archive\-Updater$<$ EOT $>$}{\pageref{classmoeoArchiveUpdater}}{} +\item \contentsline{section}{moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$}{\pageref{classmoeoBinaryMetricSavingUpdater}}{} +\item \contentsline{section}{moeo\-Hybrid\-MOLS$<$ EOT $>$}{\pageref{classmoeoHybridMOLS}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ A1, R $>${\tt [external]}\begin{CompactList} +\item eo\-Select\-One$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$}{\pageref{classmoeoSelectOneFromPopAndArch}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ A, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-UM$<$ A, R $>$}{\pageref{classmoeoUM}}{} +\end{CompactList} +\item eo\-UF$<$ const EOFitness \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-UM$<$ const EOFitness \&, R $>$}{\pageref{classmoeoUM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoSolutionUM}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item eo\-Perf2Worth$<$ EOT, Worth\-T $>${\tt [external]}\begin{CompactList} +\item eo\-Perf2Worth\-Cached$<$ EOT, double $>${\tt [external]}\begin{CompactList} +\item eo\-NDSorting$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-NDSorting\_\-II$<$ EOT $>$}{\pageref{classmoeoNDSorting__II}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-IBEA$<$ EOT, Fitness $>$}{\pageref{classmoeoIBEA}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-IBEASorting$<$ EOT, Fitness $>$}{\pageref{classmoeoIBEASorting}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-IBEA$<$ EOT, Fitness\-Eval $>$}{\pageref{classmoeoIBEA}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$}{\pageref{classmoeoIBEAAvgSorting}}{} +\item \contentsline{section}{moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$}{\pageref{classmoeoIBEAStochSorting}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item eo\-Perf2Worth$<$ EOT, worth\-T $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$}{\pageref{classmoeoParetoSharing}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ const std::vector$<$ EOFitness $>$ \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-UM$<$ const std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoUM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoVectorUM}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ eo\-Pop$<$ EOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item eo\-Algo$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-NSGA\_\-II$<$ EOT $>$}{\pageref{classmoeoNSGA__II}}{} +\end{CompactList} +\end{CompactList} +\item \contentsline{section}{moeo\-Metric}{\pageref{classmoeoMetric}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ A1, A2, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const const EOFitness \&, EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ EOFitness $>$ \&, EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ EOFitness $>$ \&, std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ typename EOT::Fitness $>$ \&, std::vector$<$ typename EOT::Fitness $>$ \&, double $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-UM$<$ A, R $>$}{\pageref{classmoeoUM}}{} +\item \contentsline{section}{moeo\-UM$<$ const EOFitness \&, R $>$}{\pageref{classmoeoUM}}{} +\item \contentsline{section}{moeo\-UM$<$ const std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoUM}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Object{\tt [external]}\begin{CompactList} +\item eo\-Pop$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Archive$<$ EOT $>$}{\pageref{classmoeoArchive}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Param{\tt [external]}\begin{CompactList} +\item eo\-Value\-Param$<$ std::vector$<$ Worth\-T $>$ $>${\tt [external]}\begin{CompactList} +\item eo\-Perf2Worth$<$ EOT, Worth\-T $>${\tt [external]}\end{CompactList} +\item eo\-Value\-Param$<$ std::vector$<$ worth\-T $>$ $>${\tt [external]}\begin{CompactList} +\item eo\-Perf2Worth$<$ EOT, worth\-T $>${\tt [external]}\end{CompactList} +\end{CompactList} +\item eo\-Printable{\tt [external]}\begin{CompactList} +\item eo\-Persistent{\tt [external]}\begin{CompactList} +\item eo\-Pop$<$ EOT $>${\tt [external]}\end{CompactList} +\end{CompactList} +\item \contentsline{section}{moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range}{\pageref{classmoeoBinaryQualityIndicator_1_1Range}}{} +\item \contentsline{section}{moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes}{\pageref{classmoeoNDSorting__II_1_1compare__nodes}}{} +\item \contentsline{section}{moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$}{\pageref{classmoeoParetoPhenDist}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$}{\pageref{classmoeoParetoEuclidDist}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix}{\pageref{classmoeoParetoSharing_1_1dMatrix}}{} +\end{CompactList} diff --git a/trunk/paradiseo-moeo/docs/latex/main.tex b/trunk/paradiseo-moeo/docs/latex/main.tex new file mode 100644 index 000000000..7297a0ecb --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/main.tex @@ -0,0 +1,5 @@ +\section{intro}\label{main_intro} +Paradis\-EO-MOEO is a white-box object-oriented generic framework dedicated to the flexible design of evolutionary multi-objective algorithms. This paradigm-free software embeds some features and techniques for Pareto-based resolution and aims to provide a set of classes allowing to ease and speed up the development of computationally efficient programs. It is based on a clear conceptual distinction between the solution methods and the multi-objective problems they are intended to solve. This separation confers a maximum design and code reuse. Paradis\-EO-MOEO provides a broad range of archive-related features (such as elitism or performance metrics) and the most common Pareto-based fitness assignment strategies (MOGA, NSGA, SPEA, IBEA and more). Furthermore, parallel and distributed models as well as hybridization mechanisms can be applied to an algorithm designed within Paradis\-EO-MOEO using the whole version of Paradis\-EO.\section{tutorial}\label{main_tutorial} +A tutorial about a bi-objective flow-shop scheduling problem will be available soon.\section{install}\label{main_install} +The installation procedure of the package is detailed in the {\tt README} file in the top-directory of the source-tree.\section{design}\label{main_design} +For an introduction to the design of Paradis\-EO-MOEO, you can look at the {\tt Paradis\-EO website}. \ No newline at end of file diff --git a/trunk/paradiseo-moeo/docs/latex/pages.tex b/trunk/paradiseo-moeo/docs/latex/pages.tex new file mode 100644 index 000000000..8297a1563 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/pages.tex @@ -0,0 +1,5 @@ +\section{Paradis\-EO-MOEO Related Pages} +Here is a list of all related documentation pages:\begin{CompactList} +\item \contentsline{section}{Related webpages}{\pageref{webpages}}{} + +\end{CompactList} diff --git a/trunk/paradiseo-moeo/docs/latex/refman.tex b/trunk/paradiseo-moeo/docs/latex/refman.tex new file mode 100644 index 000000000..15cb018d4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/refman.tex @@ -0,0 +1,74 @@ +\documentclass[a4paper]{book} +\usepackage{a4wide} +\usepackage{makeidx} +\usepackage{fancyhdr} +\usepackage{graphicx} +\usepackage{multicol} +\usepackage{float} +\usepackage{textcomp} +\usepackage{alltt} +\usepackage{doxygen} +\makeindex +\setcounter{tocdepth}{1} +\renewcommand{\footrulewidth}{0.4pt} +\begin{document} +\begin{titlepage} +\vspace*{7cm} +\begin{center} +{\Large Paradis\-EO-MOEO Reference Manual\\[1ex]\large 0.1 }\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.5.1}\\ +\vspace*{0.5cm} +{\small Mon Jan 15 14:19:18 2007}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\pagenumbering{roman} +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\chapter{Welcome to Paradis\-EO-MOEO } +\label{index}\input{main} +\chapter{Paradis\-EO-MOEO Hierarchical Index} +\input{hierarchy} +\chapter{Paradis\-EO-MOEO Class Index} +\input{annotated} +\chapter{Paradis\-EO-MOEO Class Documentation} +\input{classmoeoAdditiveBinaryEpsilonIndicator} +\include{classmoeoArchive} +\include{classmoeoArchiveFitnessSavingUpdater} +\include{classmoeoArchiveUpdater} +\include{classmoeoBinaryHypervolumeIndicator} +\include{classmoeoBinaryMetricSavingUpdater} +\include{classmoeoBinaryQualityIndicator} +\include{classmoeoBinaryQualityIndicator_1_1Range} +\include{classmoeoBM} +\include{classmoeoCombinedMOLS} +\include{classmoeoContributionMetric} +\include{classmoeoDisctinctElitistReplacement} +\include{classmoeoElitistReplacement} +\include{classmoeoEntropyMetric} +\include{classmoeoHybridMOLS} +\include{classmoeoIBEA} +\include{classmoeoIBEAAvgSorting} +\include{classmoeoIBEASorting} +\include{classmoeoIBEAStochSorting} +\include{classmoeoMetric} +\include{classmoeoMOLS} +\include{classmoeoNDSorting__II} +\include{classmoeoNDSorting__II_1_1compare__nodes} +\include{classmoeoNSGA__II} +\include{classmoeoParetoEuclidDist} +\include{classmoeoParetoPhenDist} +\include{classmoeoParetoSharing} +\include{classmoeoParetoSharing_1_1dMatrix} +\include{classmoeoReplacement} +\include{classmoeoSelectOneFromPopAndArch} +\include{classmoeoSolutionUM} +\include{classmoeoSolutionVsSolutionBM} +\include{classmoeoUM} +\include{classmoeoVectorUM} +\include{classmoeoVectorVsSolutionBM} +\include{classmoeoVectorVsVectorBM} +\printindex +\end{document} diff --git a/trunk/paradiseo-moeo/docs/latex/webpages.tex b/trunk/paradiseo-moeo/docs/latex/webpages.tex new file mode 100644 index 000000000..f17506321 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/webpages.tex @@ -0,0 +1,3 @@ +\section{Related webpages}\label{webpages} +\begin{itemize} +\item Paradis\-EO {\tt homepage}\item INRIA GForge {\tt project page}\item {\tt README}\item {\tt NEWS} \end{itemize} diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoAdditiveBinaryEpsilonIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/eoAdditiveBinaryEpsilonIndicator.3 new file mode 100644 index 000000000..312538709 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoAdditiveBinaryEpsilonIndicator.3 @@ -0,0 +1,91 @@ +.TH "eoAdditiveBinaryEpsilonIndicator" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoAdditiveBinaryEpsilonIndicator \- Functor Additive binary epsilon indicator for \fBeoParetoFitness\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBinaryQualityIndicator< EOFitness >< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoAdditiveBinaryEpsilonIndicator\fP ()" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "double \fBoperator()\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)" +.br +.RI "\fIcomputation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function) \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBepsilonValue\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj)" +.br +.RI "\fIcomputation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoAdditiveBinaryEpsilonIndicator< EOFitness >" +Functor Additive binary epsilon indicator for \fBeoParetoFitness\fP. +.PP +Definition at line 126 of file eoBinaryQualityIndicator.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBeoAdditiveBinaryEpsilonIndicator\fP< EOFitness >::operator() (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2)\fC [inline, virtual]\fP" +.PP +computation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function) +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.RE +.PP + +.PP +Implements \fBeoBF< const EOFitness &, const EOFitness &, double >\fP. +.PP +Definition at line 149 of file eoBinaryQualityIndicator.h. +.PP +References eoAdditiveBinaryEpsilonIndicator< EOFitness >::epsilonValue(). +.SS "template double \fBeoAdditiveBinaryEpsilonIndicator\fP< EOFitness >::epsilonValue (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj)\fC [inline, private]\fP" +.PP +computation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj the index of the objective +.RE +.PP + +.PP +Definition at line 181 of file eoBinaryQualityIndicator.h. +.PP +Referenced by eoAdditiveBinaryEpsilonIndicator< EOFitness >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoBinaryHypervolumeIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryHypervolumeIndicator.3 new file mode 100644 index 000000000..58ab7568e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryHypervolumeIndicator.3 @@ -0,0 +1,171 @@ +.TH "eoBinaryHypervolumeIndicator" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoBinaryHypervolumeIndicator \- Functor Binary hypervolume indicator for \fBeoParetoFitness\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBinaryQualityIndicator< EOFitness >< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoBinaryHypervolumeIndicator\fP (double _rho)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "double \fBoperator()\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)" +.br +.RI "\fIindicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function) \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBhypervolumeIndicatorValue\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag=false)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 \fP" +.ti -1c +.RI "double \fBhypervolumeIndicatorValueMin\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj \fP" +.ti -1c +.RI "double \fBhypervolumeIndicatorValueMax\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBrho\fP" +.br +.RI "\fIreference point for the hypervolume calculation \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoBinaryHypervolumeIndicator< EOFitness >" +Functor Binary hypervolume indicator for \fBeoParetoFitness\fP. +.PP +Definition at line 217 of file eoBinaryQualityIndicator.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::\fBeoBinaryHypervolumeIndicator\fP (double _rho)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIdouble\fP _rho reference point for the hypervolume calculation (rho must not be smaller than 1) +.RE +.PP + +.PP +Definition at line 227 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryHypervolumeIndicator< EOFitness >::rho. +.SH "Member Function Documentation" +.PP +.SS "template double \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::operator() (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2)\fC [inline, virtual]\fP" +.PP +indicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function) +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.RE +.PP + +.PP +Implements \fBeoBF< const EOFitness &, const EOFitness &, double >\fP. +.PP +Definition at line 250 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +.SS "template double \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValue (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag = \fCfalse\fP)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj number of objectives (used for iteration) +.br +\fIbool\fP _flag = false (only used for iteration) +.RE +.PP + +.PP +Definition at line 285 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryQualityIndicator< EOFitness >::bounds, eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), and eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(). +.PP +Referenced by eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(), and eoBinaryHypervolumeIndicator< EOFitness >::operator()(). +.SS "template double \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValueMin (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj index of the objective +.br +\fIbool\fP _flag (only used for iteration) +.RE +.PP + +.PP +Definition at line 320 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryQualityIndicator< EOFitness >::bounds, eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and eoBinaryHypervolumeIndicator< EOFitness >::rho. +.PP +Referenced by eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +.SS "template double \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValueMax (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj index of the objective +.br +\fIbool\fP _flag (only used for iteration) +.RE +.PP + +.PP +Definition at line 374 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryQualityIndicator< EOFitness >::bounds, eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and eoBinaryHypervolumeIndicator< EOFitness >::rho. +.PP +Referenced by eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator.3 new file mode 100644 index 000000000..26d376cff --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator.3 @@ -0,0 +1,81 @@ +.TH "eoBinaryQualityIndicator" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoBinaryQualityIndicator \- Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an \fBeoParetoFitness\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< const EOFitness &, const EOFitness &, double >\fP. +.PP +Inherited by \fBeoAdditiveBinaryEpsilonIndicator< EOFitness >\fP, and \fBeoBinaryHypervolumeIndicator< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoBinaryQualityIndicator\fP ()" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBsetBounds\fP (const unsigned _iObj, const double _min, const double _max)" +.br +.RI "\fIset the bounds for objective _iObj \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "std::vector< \fBRange\fP > \fBbounds\fP" +.br +.RI "\fIrange (min and max double value) for each objective \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBRange\fP" +.br +.RI "\fIPrivate class to represent the bounds. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoBinaryQualityIndicator< EOFitness >" +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an \fBeoParetoFitness\fP object. +.PP +Definition at line 39 of file eoBinaryQualityIndicator.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoBinaryQualityIndicator\fP< EOFitness >::setBounds (const unsigned _iObj, const double _min, const double _max)\fC [inline]\fP" +.PP +set the bounds for objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIunsigned\fP _iObj the index of the objective +.br +\fIdouble\fP _min the minimum value +.br +\fIdouble\fP _max the maximum value +.RE +.PP + +.PP +Definition at line 62 of file eoBinaryQualityIndicator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator_Range.3 b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator_Range.3 new file mode 100644 index 000000000..58a342dda --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator_Range.3 @@ -0,0 +1,55 @@ +.TH "eoBinaryQualityIndicator::Range" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoBinaryQualityIndicator::Range \- Private class to represent the bounds. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBRange\fP ()" +.br +.ti -1c +.RI "\fBRange\fP (const double _min, const double _max)" +.br +.ti -1c +.RI "double \fBminimum\fP ()" +.br +.ti -1c +.RI "double \fBmaximum\fP ()" +.br +.ti -1c +.RI "double \fBrange\fP ()" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBmin\fP" +.br +.ti -1c +.RI "double \fBmax\fP" +.br +.ti -1c +.RI "double \fBr\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoBinaryQualityIndicator< EOFitness >::Range" +Private class to represent the bounds. +.PP +Definition at line 73 of file eoBinaryQualityIndicator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoIBEA.3 b/trunk/paradiseo-moeo/docs/man/man3/eoIBEA.3 new file mode 100644 index 000000000..c476420d4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoIBEA.3 @@ -0,0 +1,62 @@ +.TH "eoIBEA" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoIBEA \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoPerf2WorthCached< EOT, double >\fP. +.PP +Inherited by \fBeoIBEASorting< EOT, Fitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoIBEA\fP (\fBeoBinaryQualityIndicator\fP< Fitness > *_I)" +.br +.ti -1c +.RI "void \fBcalculate_worths\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fImapping \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBeoBinaryQualityIndicator\fP< Fitness > * \fBI\fP" +.br +.RI "\fIbinary quality indicator to use in the selection process \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoIBEA< EOT, Fitness >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). +.PP +Definition at line 38 of file eoIBEA.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoIBEA\fP< EOT, Fitness >::calculate_worths (const \fBeoPop\fP< EOT > & _pop)\fC [inline, virtual]\fP" +.PP +mapping +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoPerf2WorthCached< EOT, double >\fP. +.PP +Definition at line 56 of file eoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoIBEAAvgSorting.3 b/trunk/paradiseo-moeo/docs/man/man3/eoIBEAAvgSorting.3 new file mode 100644 index 000000000..9261a32dd --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoIBEAAvgSorting.3 @@ -0,0 +1,101 @@ +.TH "eoIBEAAvgSorting" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoIBEAAvgSorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper 'Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization', 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoIBEAAvgSorting\fP (\fBeoBinaryQualityIndicator\fP< FitnessEval > *_I, const double _kappa)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBkappa\fP" +.br +.RI "\fIscaling factor kappa \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoIBEAAvgSorting< EOT, FitnessEval >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper 'Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization', 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +.PP +Definition at line 373 of file eoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBeoIBEAAvgSorting\fP< EOT, FitnessEval >::\fBeoIBEAAvgSorting\fP (\fBeoBinaryQualityIndicator\fP< FitnessEval > * _I, const double _kappa)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.br +\fIdouble\fP _kappa scaling factor kappa +.RE +.PP + +.PP +Definition at line 385 of file eoIBEA.h. +.PP +References eoIBEAAvgSorting< EOT, FitnessEval >::kappa. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoIBEAAvgSorting\fP< EOT, FitnessEval >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 413 of file eoIBEA.h. +.SS "template void \fBeoIBEAAvgSorting\fP< EOT, FitnessEval >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 445 of file eoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoIBEASorting.3 b/trunk/paradiseo-moeo/docs/man/man3/eoIBEASorting.3 new file mode 100644 index 000000000..19388dc1c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoIBEASorting.3 @@ -0,0 +1,101 @@ +.TH "eoIBEASorting" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoIBEASorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper 'Indicator-Based Selection in Multiobjective Search' (2004) Of course, Fitness needs to be an \fBeoParetoFitness\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoIBEA< EOT, Fitness >< EOT, Fitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoIBEASorting\fP (\fBeoBinaryQualityIndicator\fP< Fitness > *_I, const double _kappa)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBkappa\fP" +.br +.RI "\fIscaling factor kappa \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoIBEASorting< EOT, Fitness >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper 'Indicator-Based Selection in Multiobjective Search' (2004) Of course, Fitness needs to be an \fBeoParetoFitness\fP object. +.PP +Definition at line 94 of file eoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBeoIBEASorting\fP< EOT, Fitness >::\fBeoIBEASorting\fP (\fBeoBinaryQualityIndicator\fP< Fitness > * _I, const double _kappa)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.br +\fIdouble\fP _kappa scaling factor kappa +.RE +.PP + +.PP +Definition at line 106 of file eoIBEA.h. +.PP +References eoIBEASorting< EOT, Fitness >::kappa. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoIBEASorting\fP< EOT, Fitness >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, Fitness >\fP. +.PP +Definition at line 134 of file eoIBEA.h. +.SS "template void \fBeoIBEASorting\fP< EOT, Fitness >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, Fitness >\fP. +.PP +Definition at line 162 of file eoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoIBEAStochSorting.3 b/trunk/paradiseo-moeo/docs/man/man3/eoIBEAStochSorting.3 new file mode 100644 index 000000000..9f919b4f0 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoIBEAStochSorting.3 @@ -0,0 +1,97 @@ +.TH "eoIBEAStochSorting" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoIBEAStochSorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper 'Handling Uncertainty in Indicator-Based Multiobjective Optimization' (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoIBEAStochSorting\fP (\fBeoBinaryQualityIndicator\fP< FitnessEval > *_I)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Static Private Member Functions" + +.in +1c +.ti -1c +.RI "static double \fBzero\fP ()" +.br +.RI "\fIapproximated zero value \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoIBEAStochSorting< EOT, FitnessEval >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper 'Handling Uncertainty in Indicator-Based Multiobjective Optimization' (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +.PP +Definition at line 215 of file eoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBeoIBEAStochSorting\fP< EOT, FitnessEval >::\fBeoIBEAStochSorting\fP (\fBeoBinaryQualityIndicator\fP< FitnessEval > * _I)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.RE +.PP + +.PP +Definition at line 226 of file eoIBEA.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoIBEAStochSorting\fP< EOT, FitnessEval >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 258 of file eoIBEA.h. +.SS "template void \fBeoIBEAStochSorting\fP< EOT, FitnessEval >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 286 of file eoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoParetoEuclidDist.3 b/trunk/paradiseo-moeo/docs/man/man3/eoParetoEuclidDist.3 new file mode 100644 index 000000000..021ac7075 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoParetoEuclidDist.3 @@ -0,0 +1,28 @@ +.TH "eoParetoEuclidDist" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoParetoEuclidDist \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoParetoPhenDist< EOT, DistType >< EOT, DistType >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "DistType \fBoperator()\fP (const EOT &eopf1, const EOT &eopf2)" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoParetoEuclidDist< EOT, DistType >" + +.PP +Definition at line 15 of file eoParetoPhenDist.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoParetoPhenDist.3 b/trunk/paradiseo-moeo/docs/man/man3/eoParetoPhenDist.3 new file mode 100644 index 000000000..e901eec51 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoParetoPhenDist.3 @@ -0,0 +1,21 @@ +.TH "eoParetoPhenDist" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoParetoPhenDist \- +.SH SYNOPSIS +.br +.PP +Inherited by \fBeoParetoEuclidDist< EOT, DistType >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class eoParetoPhenDist< EOT, DistType >" + +.PP +Definition at line 3 of file eoParetoPhenDist.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing.3 b/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing.3 new file mode 100644 index 000000000..080787919 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing.3 @@ -0,0 +1,64 @@ +.TH "eoParetoSharing" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoParetoSharing \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoPerf2Worth< EOT, worthT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoParetoSharing\fP (double _nicheSize)" +.br +.ti -1c +.RI "\fBeoParetoSharing\fP (double _nicheSize, \fBeoParetoPhenDist\fP< EOT, worthT > &_dist)" +.br +.ti -1c +.RI "void \fBoperator\fP ()(const \fBeoPop\fP< EOT > &_pop)" +.br +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBsh\fP (double \fBdist\fP, double \fBDmax\fP)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBnicheSize\fP" +.br +.ti -1c +.RI "\fBeoParetoPhenDist\fP< EOT, worthT > & \fBdist\fP" +.br +.ti -1c +.RI "\fBeoParetoEuclidDist\fP< EOT > \fBeuc_dist\fP" +.br +.ti -1c +.RI "double \fBDmax\fP" +.br +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBdMatrix\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoParetoSharing< EOT, worthT >" + +.PP +Definition at line 9 of file eoParetoSharing.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing_dMatrix.3 b/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing_dMatrix.3 new file mode 100644 index 000000000..5ffca64b3 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing_dMatrix.3 @@ -0,0 +1,36 @@ +.TH "eoParetoSharing::dMatrix" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoParetoSharing::dMatrix \- +.SH SYNOPSIS +.br +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBdMatrix\fP (unsigned _s)" +.br +.ti -1c +.RI "void \fBprintOn\fP (std::ostream &_os)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned \fBrSize\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoParetoSharing< EOT, worthT >::dMatrix" + +.PP +Definition at line 99 of file eoParetoSharing.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoAdditiveBinaryEpsilonIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoAdditiveBinaryEpsilonIndicator.3 new file mode 100644 index 000000000..1766b226a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoAdditiveBinaryEpsilonIndicator.3 @@ -0,0 +1,91 @@ +.TH "moeoAdditiveBinaryEpsilonIndicator" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoAdditiveBinaryEpsilonIndicator \- Functor Additive binary epsilon indicator for \fBeoParetoFitness\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBinaryQualityIndicator< EOFitness >< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoAdditiveBinaryEpsilonIndicator\fP ()" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "double \fBoperator()\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)" +.br +.RI "\fIcomputation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function) \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBepsilonValue\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj)" +.br +.RI "\fIcomputation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoAdditiveBinaryEpsilonIndicator< EOFitness >" +Functor Additive binary epsilon indicator for \fBeoParetoFitness\fP. +.PP +Definition at line 115 of file moeoBinaryQualityIndicator.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoAdditiveBinaryEpsilonIndicator\fP< EOFitness >::operator() (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2)\fC [inline]\fP" +.PP +computation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function) +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.RE +.PP + +.PP +Definition at line 138 of file moeoBinaryQualityIndicator.h. +.PP +References moeoAdditiveBinaryEpsilonIndicator< EOFitness >::epsilonValue(). +.SS "template double \fBmoeoAdditiveBinaryEpsilonIndicator\fP< EOFitness >::epsilonValue (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj)\fC [inline, private]\fP" +.PP +computation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj the index of the objective +.RE +.PP + +.PP +Definition at line 170 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryQualityIndicator< EOFitness >::bounds. +.PP +Referenced by moeoAdditiveBinaryEpsilonIndicator< EOFitness >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoArchive.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoArchive.3 new file mode 100644 index 000000000..e1bf41ffa --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoArchive.3 @@ -0,0 +1,111 @@ +.TH "moeoArchive" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoArchive \- An archive is a secondary population that stores non-dominated solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoPop< EOT >< EOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBEOFitness\fP" +.br +.RI "\fIThe fitness type of a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "bool \fBdominates\fP (const \fBEOFitness\fP &_fit) const" +.br +.RI "\fIReturns true if the current archive dominates _fit. \fP" +.ti -1c +.RI "bool \fBcontains\fP (const \fBEOFitness\fP &_fit) const" +.br +.RI "\fIReturns true if the current archive contains _fit. \fP" +.ti -1c +.RI "void \fBupdate\fP (const EOT &_eo)" +.br +.RI "\fIUpdates the archive with a given individual _eo. \fP" +.ti -1c +.RI "void \fBupdate\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIUpdates the archive with a given population _pop. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoArchive< EOT >" +An archive is a secondary population that stores non-dominated solutions. +.PP +Definition at line 21 of file moeoArchive.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoeoArchive\fP< EOT >::dominates (const \fBEOFitness\fP & _fit) const\fC [inline]\fP" +.PP +Returns true if the current archive dominates _fit. +.PP +\fBParameters:\fP +.RS 4 +\fI_fit\fP the (Pareto) fitness to compare with the current archive +.RE +.PP + +.PP +Definition at line 39 of file moeoArchive.h. +.PP +Referenced by moeoArchive< EOT >::update(). +.SS "template bool \fBmoeoArchive\fP< EOT >::contains (const \fBEOFitness\fP & _fit) const\fC [inline]\fP" +.PP +Returns true if the current archive contains _fit. +.PP +\fBParameters:\fP +.RS 4 +\fI_fit\fP the (Pareto) fitness to search within the current archive +.RE +.PP + +.PP +Definition at line 51 of file moeoArchive.h. +.SS "template void \fBmoeoArchive\fP< EOT >::update (const EOT & _eo)\fC [inline]\fP" +.PP +Updates the archive with a given individual _eo. +.PP +\fBParameters:\fP +.RS 4 +\fI_eo\fP the given individual +.RE +.PP + +.PP +Definition at line 63 of file moeoArchive.h. +.PP +References moeoArchive< EOT >::dominates(). +.PP +Referenced by moeoArchive< EOT >::update(). +.SS "template void \fBmoeoArchive\fP< EOT >::update (const \fBeoPop\fP< EOT > & _pop)\fC [inline]\fP" +.PP +Updates the archive with a given population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the given population +.RE +.PP + +.PP +Definition at line 98 of file moeoArchive.h. +.PP +References moeoArchive< EOT >::update(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveFitnessSavingUpdater.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveFitnessSavingUpdater.3 new file mode 100644 index 000000000..2110dd8f7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveFitnessSavingUpdater.3 @@ -0,0 +1,75 @@ +.TH "moeoArchiveFitnessSavingUpdater" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoArchiveFitnessSavingUpdater \- This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoArchiveFitnessSavingUpdater\fP (\fBmoeoArchive\fP< EOT > &_arch, const std::string &_filename='Res/Arch', int _id=-1)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fISaves the fitness of the archive's members into the file. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoArchive\fP< EOT > & \fBarch\fP" +.br +.RI "\fIlocal archive \fP" +.ti -1c +.RI "std::string \fBfilename\fP" +.br +.RI "\fItarget filename \fP" +.ti -1c +.RI "int \fBid\fP" +.br +.RI "\fIown ID \fP" +.ti -1c +.RI "unsigned \fBcounter\fP" +.br +.RI "\fIcounter \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoArchiveFitnessSavingUpdater< EOT >" +This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. +.PP +Definition at line 27 of file moeoArchiveFitnessSavingUpdater.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoArchiveFitnessSavingUpdater\fP< EOT >::\fBmoeoArchiveFitnessSavingUpdater\fP (\fBmoeoArchive\fP< EOT > & _arch, const std::string & _filename = \fC'Res/Arch'\fP, int _id = \fC-1\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_arch\fP local archive +.br +\fI_filename\fP target filename +.br +\fI_id\fP own ID +.RE +.PP + +.PP +Definition at line 37 of file moeoArchiveFitnessSavingUpdater.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveUpdater.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveUpdater.3 new file mode 100644 index 000000000..a0e7c74e9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveUpdater.3 @@ -0,0 +1,65 @@ +.TH "moeoArchiveUpdater" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoArchiveUpdater \- This class allows to update the archive at each generation with newly found non-dominated solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoArchiveUpdater\fP (\fBmoeoArchive\fP< EOT > &_arch, const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fIUpdates the archive with newly found non-dominated solutions contained in the main population. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoArchive\fP< EOT > & \fBarch\fP" +.br +.RI "\fIthe archive of non-dominated solutions \fP" +.ti -1c +.RI "const \fBeoPop\fP< EOT > & \fBpop\fP" +.br +.RI "\fIthe main population \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoArchiveUpdater< EOT >" +This class allows to update the archive at each generation with newly found non-dominated solutions. +.PP +Definition at line 23 of file moeoArchiveUpdater.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoArchiveUpdater\fP< EOT >::\fBmoeoArchiveUpdater\fP (\fBmoeoArchive\fP< EOT > & _arch, const \fBeoPop\fP< EOT > & _pop)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_arch\fP an archive of non-dominated solutions +.br +\fI_pop\fP the main population +.RE +.PP + +.PP +Definition at line 32 of file moeoArchiveUpdater.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBM.3 new file mode 100644 index 000000000..dfa636828 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBM.3 @@ -0,0 +1,27 @@ +.TH "moeoBM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBM \- Base class for binary metrics. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< A1, A2, R >\fP, and \fBmoeoMetric\fP. +.PP +Inherited by \fBmoeoSolutionVsSolutionBM< EOT, R, EOFitness >\fP, \fBmoeoVectorVsSolutionBM< EOT, R, EOFitness >\fP, \fBmoeoVectorVsVectorBM< EOT, R, EOFitness >\fP, and \fBmoeoVectorVsVectorBM< EOT, double >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoBM< A1, A2, R >" +Base class for binary metrics. +.PP +Definition at line 38 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryHypervolumeIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryHypervolumeIndicator.3 new file mode 100644 index 000000000..39404e2e1 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryHypervolumeIndicator.3 @@ -0,0 +1,169 @@ +.TH "moeoBinaryHypervolumeIndicator" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryHypervolumeIndicator \- Functor Binary hypervolume indicator for \fBeoParetoFitness\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBinaryQualityIndicator< EOFitness >< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoBinaryHypervolumeIndicator\fP (double _rho)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "double \fBoperator()\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)" +.br +.RI "\fIindicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function) \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBhypervolumeIndicatorValue\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag=false)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 \fP" +.ti -1c +.RI "double \fBhypervolumeIndicatorValueMin\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj \fP" +.ti -1c +.RI "double \fBhypervolumeIndicatorValueMax\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBrho\fP" +.br +.RI "\fIreference point for the hypervolume calculation \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryHypervolumeIndicator< EOFitness >" +Functor Binary hypervolume indicator for \fBeoParetoFitness\fP. +.PP +Definition at line 206 of file moeoBinaryQualityIndicator.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::\fBmoeoBinaryHypervolumeIndicator\fP (double _rho)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIdouble\fP _rho reference point for the hypervolume calculation (rho must not be smaller than 1) +.RE +.PP + +.PP +Definition at line 216 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryHypervolumeIndicator< EOFitness >::rho. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::operator() (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2)\fC [inline]\fP" +.PP +indicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function) +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.RE +.PP + +.PP +Definition at line 239 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +.SS "template double \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValue (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag = \fCfalse\fP)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj number of objectives (used for iteration) +.br +\fIbool\fP _flag = false (only used for iteration) +.RE +.PP + +.PP +Definition at line 274 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), and moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(). +.PP +Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(), and moeoBinaryHypervolumeIndicator< EOFitness >::operator()(). +.SS "template double \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValueMin (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj index of the objective +.br +\fIbool\fP _flag (only used for iteration) +.RE +.PP + +.PP +Definition at line 309 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and moeoBinaryHypervolumeIndicator< EOFitness >::rho. +.PP +Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +.SS "template double \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValueMax (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj index of the objective +.br +\fIbool\fP _flag (only used for iteration) +.RE +.PP + +.PP +Definition at line 363 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and moeoBinaryHypervolumeIndicator< EOFitness >::rho. +.PP +Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryMetricSavingUpdater.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryMetricSavingUpdater.3 new file mode 100644 index 000000000..a296fd8d2 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryMetricSavingUpdater.3 @@ -0,0 +1,91 @@ +.TH "moeoBinaryMetricSavingUpdater" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryMetricSavingUpdater \- This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBEOFitness\fP" +.br +.RI "\fIThe fitness type of a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoBinaryMetricSavingUpdater\fP (\fBmoeoVectorVsVectorBM\fP< EOT, double > &_metric, const \fBeoPop\fP< EOT > &_pop, std::string _filename)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fISaves the metric's value for the current generation. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoVectorVsVectorBM\fP< EOT, double > & \fBmetric\fP" +.br +.RI "\fIbinary metric comparing two Pareto sets \fP" +.ti -1c +.RI "const \fBeoPop\fP< EOT > & \fBpop\fP" +.br +.RI "\fImain population \fP" +.ti -1c +.RI "\fBeoPop\fP< EOT > \fBoldPop\fP" +.br +.RI "\fI(n-1) population \fP" +.ti -1c +.RI "std::string \fBfilename\fP" +.br +.RI "\fItarget filename \fP" +.ti -1c +.RI "bool \fBfirstGen\fP" +.br +.RI "\fIis it the first generation ? \fP" +.ti -1c +.RI "unsigned \fBcounter\fP" +.br +.RI "\fIcounter \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryMetricSavingUpdater< EOT >" +This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. +.PP +Definition at line 26 of file moeoBinaryMetricSavingUpdater.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoBinaryMetricSavingUpdater\fP< EOT >::\fBmoeoBinaryMetricSavingUpdater\fP (\fBmoeoVectorVsVectorBM\fP< EOT, double > & _metric, const \fBeoPop\fP< EOT > & _pop, std::string _filename)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_metric\fP the binary metric comparing two Pareto sets +.br +\fI_pop\fP the main population +.br +\fI_filename\fP the target filename +.RE +.PP + +.PP +Definition at line 41 of file moeoBinaryMetricSavingUpdater.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator.3 new file mode 100644 index 000000000..f289ce828 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator.3 @@ -0,0 +1,83 @@ +.TH "moeoBinaryQualityIndicator" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryQualityIndicator \- Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an \fBeoParetoFitness\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const EOFitness &, EOFitness &, double >\fP. +.PP +Inherited by \fBmoeoAdditiveBinaryEpsilonIndicator< EOFitness >\fP, and \fBmoeoBinaryHypervolumeIndicator< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoBinaryQualityIndicator\fP ()" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBsetBounds\fP (const unsigned _iObj, const double _min, const double _max)" +.br +.RI "\fIset the bounds for objective _iObj \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "std::vector< \fBRange\fP > \fBbounds\fP" +.br +.RI "\fIrange (min and max double value) for each objective \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBRange\fP" +.br +.RI "\fIPrivate class to represent the bounds. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryQualityIndicator< EOFitness >" +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an \fBeoParetoFitness\fP object. +.PP +Definition at line 28 of file moeoBinaryQualityIndicator.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoBinaryQualityIndicator\fP< EOFitness >::setBounds (const unsigned _iObj, const double _min, const double _max)\fC [inline]\fP" +.PP +set the bounds for objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIunsigned\fP _iObj the index of the objective +.br +\fIdouble\fP _min the minimum value +.br +\fIdouble\fP _max the maximum value +.RE +.PP + +.PP +Definition at line 51 of file moeoBinaryQualityIndicator.h. +.PP +Referenced by moeoIBEAAvgSorting< EOT, FitnessEval >::setBounds(), moeoIBEAStochSorting< EOT, FitnessEval >::setBounds(), and moeoIBEASorting< EOT, Fitness >::setBounds(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator_Range.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator_Range.3 new file mode 100644 index 000000000..56e95eb6c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator_Range.3 @@ -0,0 +1,55 @@ +.TH "moeoBinaryQualityIndicator::Range" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryQualityIndicator::Range \- Private class to represent the bounds. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBRange\fP ()" +.br +.ti -1c +.RI "\fBRange\fP (const double _min, const double _max)" +.br +.ti -1c +.RI "double \fBminimum\fP ()" +.br +.ti -1c +.RI "double \fBmaximum\fP ()" +.br +.ti -1c +.RI "double \fBrange\fP ()" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBmin\fP" +.br +.ti -1c +.RI "double \fBmax\fP" +.br +.ti -1c +.RI "double \fBr\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryQualityIndicator< EOFitness >::Range" +Private class to represent the bounds. +.PP +Definition at line 62 of file moeoBinaryQualityIndicator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoCombinedMOLS.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoCombinedMOLS.3 new file mode 100644 index 000000000..c9f97bdc9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoCombinedMOLS.3 @@ -0,0 +1,107 @@ +.TH "moeoCombinedMOLS" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoCombinedMOLS \- This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoMOLS< EOT >< EOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoCombinedMOLS\fP (\fBeoEvalFunc\fP< EOT > &_eval, \fBmoeoMOLS\fP< EOT > &_first_ls)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBadd\fP (\fBmoeoMOLS\fP< EOT > &_ls)" +.br +.RI "\fIAdds a new local search to combine. \fP" +.ti -1c +.RI "void \fBoperator()\fP (const EOT &_eo, \fBmoeoArchive\fP< EOT > &_arch)" +.br +.RI "\fIGives a new solution in order to explore the neigborhood. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoEvalFunc\fP< EOT > & \fBeval\fP" +.br +.RI "\fIthe full evaluator of a solution \fP" +.ti -1c +.RI "std::vector< \fBmoeoMOLS\fP< EOT > * > \fBcombinedMOLS\fP" +.br +.RI "\fIthe vector that contains the combined MOLS \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoCombinedMOLS< EOT >" +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. +.PP +Definition at line 24 of file moeoCombinedMOLS.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoCombinedMOLS\fP< EOT >::\fBmoeoCombinedMOLS\fP (\fBeoEvalFunc\fP< EOT > & _eval, \fBmoeoMOLS\fP< EOT > & _first_ls)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_eval\fP the full evaluator of a solution +.br +\fI_first_ls\fP the first multi-objective local search to add +.RE +.PP + +.PP +Definition at line 33 of file moeoCombinedMOLS.h. +.PP +References moeoCombinedMOLS< EOT >::combinedMOLS. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoCombinedMOLS\fP< EOT >::add (\fBmoeoMOLS\fP< EOT > & _ls)\fC [inline]\fP" +.PP +Adds a new local search to combine. +.PP +\fBParameters:\fP +.RS 4 +\fI_ls\fP the multi-objective local search to add +.RE +.PP + +.PP +Definition at line 43 of file moeoCombinedMOLS.h. +.PP +References moeoCombinedMOLS< EOT >::combinedMOLS. +.SS "template void \fBmoeoCombinedMOLS\fP< EOT >::operator() (const EOT & _eo, \fBmoeoArchive\fP< EOT > & _arch)\fC [inline, virtual]\fP" +.PP +Gives a new solution in order to explore the neigborhood. +.PP +The new non-dominated solutions are added to the archive +.PP +\fBParameters:\fP +.RS 4 +\fI_eo\fP the solution +.br +\fI_arch\fP the archive of non-dominated solutions +.RE +.PP + +.PP +Implements \fBeoBF< const EOT &, moeoArchive< EOT > &, void >\fP. +.PP +Definition at line 54 of file moeoCombinedMOLS.h. +.PP +References moeoCombinedMOLS< EOT >::combinedMOLS, and moeoCombinedMOLS< EOT >::eval. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoContributionMetric.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoContributionMetric.3 new file mode 100644 index 000000000..c4c472986 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoContributionMetric.3 @@ -0,0 +1,125 @@ +.TH "moeoContributionMetric" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoContributionMetric \- The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVectorVsVectorBM< EOT, double >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBEOFitness\fP" +.br +.RI "\fIThe fitness type of a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "double \fBoperator()\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "unsigned \fBcard_C\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the number of solutions both in '_set1' and '_set2'. \fP" +.ti -1c +.RI "unsigned \fBcard_W\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the number of solutions in '_set1' dominating at least one solution of '_set2'. \fP" +.ti -1c +.RI "unsigned \fBcard_N\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the number of solutions in '_set1' having no relation of dominance with those from '_set2'. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoContributionMetric< EOT >" +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. + +(Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. of the 2000 Congress on Evolutionary Computation, IEEE Press, pp. 317-324) +.PP +Definition at line 23 of file moeoContributionMetric.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoContributionMetric\fP< EOT >::operator() (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline]\fP" +.PP +Returns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 38 of file moeoContributionMetric.h. +.PP +References moeoContributionMetric< EOT >::card_C(), moeoContributionMetric< EOT >::card_N(), and moeoContributionMetric< EOT >::card_W(). +.SS "template unsigned \fBmoeoContributionMetric\fP< EOT >::card_C (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline, private]\fP" +.PP +Returns the number of solutions both in '_set1' and '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 57 of file moeoContributionMetric.h. +.PP +Referenced by moeoContributionMetric< EOT >::operator()(). +.SS "template unsigned \fBmoeoContributionMetric\fP< EOT >::card_W (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline, private]\fP" +.PP +Returns the number of solutions in '_set1' dominating at least one solution of '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 76 of file moeoContributionMetric.h. +.PP +Referenced by moeoContributionMetric< EOT >::operator()(). +.SS "template unsigned \fBmoeoContributionMetric\fP< EOT >::card_N (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline, private]\fP" +.PP +Returns the number of solutions in '_set1' having no relation of dominance with those from '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 95 of file moeoContributionMetric.h. +.PP +Referenced by moeoContributionMetric< EOT >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoDisctinctElitistReplacement.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoDisctinctElitistReplacement.3 new file mode 100644 index 000000000..2388951f9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoDisctinctElitistReplacement.3 @@ -0,0 +1,105 @@ +.TH "moeoDisctinctElitistReplacement" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoDisctinctElitistReplacement \- Same than \fBmoeoElitistReplacement\fP except that distinct individuals are privilegied. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoReplacement< EOT, WorthT >< EOT, WorthT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoDisctinctElitistReplacement\fP (\fBeoPerf2Worth\fP< EOT, WorthT > &_perf2worth)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< EOT > &_parents, \fBeoPop\fP< EOT > &_offspring)" +.br +.RI "\fIreplacement - result in _parents \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBcreateNewPop\fP (\fBeoPop\fP< EOT > &_pop, unsigned _size)" +.br +.RI "\fIcreation of the new population of size _size \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoPerf2Worth\fP< EOT, WorthT > & \fBperf2worth\fP" +.br +.RI "\fIthe functor object to transform raw fitnesses into fitness for selection \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoDisctinctElitistReplacement< EOT, WorthT >" +Same than \fBmoeoElitistReplacement\fP except that distinct individuals are privilegied. +.PP +Definition at line 78 of file moeoReplacement.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoDisctinctElitistReplacement\fP< EOT, WorthT >::\fBmoeoDisctinctElitistReplacement\fP (\fBeoPerf2Worth\fP< EOT, WorthT > & _perf2worth)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fI_perf2worth\fP the functor class to transform raw fitnesses into fitness for selection +.RE +.PP + +.PP +Definition at line 87 of file moeoReplacement.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoDisctinctElitistReplacement\fP< EOT, WorthT >::operator() (\fBeoPop\fP< EOT > & _parents, \fBeoPop\fP< EOT > & _offspring)\fC [inline, virtual]\fP" +.PP +replacement - result in _parents +.PP +\fBParameters:\fP +.RS 4 +\fI_parents\fP parents population +.br +\fI_offspring\fP offspring population +.RE +.PP + +.PP +Implements \fBeoBF< eoPop< EOT > &, eoPop< EOT > &, void >\fP. +.PP +Definition at line 99 of file moeoReplacement.h. +.PP +References moeoDisctinctElitistReplacement< EOT, WorthT >::createNewPop(). +.SS "template void \fBmoeoDisctinctElitistReplacement\fP< EOT, WorthT >::createNewPop (\fBeoPop\fP< EOT > & _pop, unsigned _size)\fC [inline, private]\fP" +.PP +creation of the new population of size _size +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the initial population (will be modified) +.br +\fI_size\fP the size of the population to create +.RE +.PP + +.PP +Definition at line 123 of file moeoReplacement.h. +.PP +References moeoDisctinctElitistReplacement< EOT, WorthT >::perf2worth, and eoPop< EOT >::swap(). +.PP +Referenced by moeoDisctinctElitistReplacement< EOT, WorthT >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoElitistReplacement.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoElitistReplacement.3 new file mode 100644 index 000000000..5e1c4777d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoElitistReplacement.3 @@ -0,0 +1,77 @@ +.TH "moeoElitistReplacement" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoElitistReplacement \- Keep all the best individuals (almost cut-and-pasted from \fBeoNDPlusReplacement\fP, (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoReplacement< EOT, WorthT >< EOT, WorthT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoElitistReplacement\fP (\fBeoPerf2Worth\fP< EOT, WorthT > &_perf2worth)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< EOT > &_parents, \fBeoPop\fP< EOT > &_offspring)" +.br +.RI "\fIreplacement - result in _parents \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoPerf2Worth\fP< EOT, WorthT > & \fBperf2worth\fP" +.br +.RI "\fIthe functor object to transform raw fitnesses into fitness for selection \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoElitistReplacement< EOT, WorthT >" +Keep all the best individuals (almost cut-and-pasted from \fBeoNDPlusReplacement\fP, (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002). +.PP +Definition at line 35 of file moeoReplacement.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoElitistReplacement\fP< EOT, WorthT >::\fBmoeoElitistReplacement\fP (\fBeoPerf2Worth\fP< EOT, WorthT > & _perf2worth)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fI_perf2worth\fP the functor class to transform raw fitnesses into fitness for selection +.RE +.PP + +.PP +Definition at line 43 of file moeoReplacement.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoElitistReplacement\fP< EOT, WorthT >::operator() (\fBeoPop\fP< EOT > & _parents, \fBeoPop\fP< EOT > & _offspring)\fC [inline, virtual]\fP" +.PP +replacement - result in _parents +.PP +\fBParameters:\fP +.RS 4 +\fI_parents\fP parents population +.br +\fI_offspring\fP offspring population +.RE +.PP + +.PP +Implements \fBeoBF< eoPop< EOT > &, eoPop< EOT > &, void >\fP. +.PP +Definition at line 54 of file moeoReplacement.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoEntropyMetric.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoEntropyMetric.3 new file mode 100644 index 000000000..2cf1583d5 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoEntropyMetric.3 @@ -0,0 +1,93 @@ +.TH "moeoEntropyMetric" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEntropyMetric \- The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVectorVsVectorBM< EOT, double >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBEOFitness\fP" +.br +.RI "\fIThe fitness type of a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "double \fBoperator()\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBremoveDominated\fP (std::vector< \fBEOFitness\fP > &_f)" +.br +.ti -1c +.RI "void \fBprenormalize\fP (const std::vector< \fBEOFitness\fP > &_f)" +.br +.ti -1c +.RI "void \fBnormalize\fP (std::vector< \fBEOFitness\fP > &_f)" +.br +.ti -1c +.RI "void \fBcomputeUnion\fP (const std::vector< \fBEOFitness\fP > &_f1, const std::vector< \fBEOFitness\fP > &_f2, std::vector< \fBEOFitness\fP > &_f)" +.br +.ti -1c +.RI "unsigned \fBhowManyInNicheOf\fP (const std::vector< \fBEOFitness\fP > &_f, const \fBEOFitness\fP &_s, unsigned _size)" +.br +.ti -1c +.RI "double \fBeuclidianDistance\fP (const \fBEOFitness\fP &_set1, const \fBEOFitness\fP &_to, unsigned _deg=2)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "std::vector< double > \fBvect_min_val\fP" +.br +.ti -1c +.RI "std::vector< double > \fBvect_max_val\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEntropyMetric< EOT >" +The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. + +(Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. of the 2002 Congress on Evolutionary Computation, IEEE Press, pp. 1155-1156) +.PP +Definition at line 23 of file moeoEntropyMetric.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoEntropyMetric\fP< EOT >::operator() (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline]\fP" +.PP +Returns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 38 of file moeoEntropyMetric.h. +.PP +References moeoEntropyMetric< EOT >::computeUnion(), moeoEntropyMetric< EOT >::howManyInNicheOf(), moeoEntropyMetric< EOT >::normalize(), moeoEntropyMetric< EOT >::prenormalize(), and moeoEntropyMetric< EOT >::removeDominated(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoHybridMOLS.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoHybridMOLS.3 new file mode 100644 index 000000000..a417ee37f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoHybridMOLS.3 @@ -0,0 +1,77 @@ +.TH "moeoHybridMOLS" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoHybridMOLS \- This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoHybridMOLS\fP (\fBeoContinue\fP< EOT > &_term, \fBeoSelect\fP< EOT > &_select, \fBmoeoMOLS\fP< EOT > &_mols, \fBmoeoArchive\fP< EOT > &_arch)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fIApplies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoContinue\fP< EOT > & \fBterm\fP" +.br +.RI "\fIstopping criteria \fP" +.ti -1c +.RI "\fBeoSelect\fP< EOT > & \fBselect\fP" +.br +.RI "\fIselector \fP" +.ti -1c +.RI "\fBmoeoMOLS\fP< EOT > & \fBmols\fP" +.br +.RI "\fImulti-objective local search \fP" +.ti -1c +.RI "\fBmoeoArchive\fP< EOT > & \fBarch\fP" +.br +.RI "\fIarchive \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoHybridMOLS< EOT >" +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. +.PP +Definition at line 27 of file moeoHybridMOLS.h. +.SH "Member Function Documentation" +.PP +.SS "template \fBmoeoHybridMOLS\fP< EOT >::eoHybridMOLS (\fBeoContinue\fP< EOT > & _term, \fBeoSelect\fP< EOT > & _select, \fBmoeoMOLS\fP< EOT > & _mols, \fBmoeoArchive\fP< EOT > & _arch)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_term\fP stopping criteria +.br +\fI_select\fP selector +.br +\fI_mols\fP a multi-objective local search +.br +\fI_arch\fP the archive +.RE +.PP + +.PP +Definition at line 38 of file moeoHybridMOLS.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoIBEA.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEA.3 new file mode 100644 index 000000000..e2e07ddce --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEA.3 @@ -0,0 +1,62 @@ +.TH "moeoIBEA" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBEA \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoPerf2WorthCached< EOT, double >\fP. +.PP +Inherited by \fBmoeoIBEASorting< EOT, Fitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBEA\fP (\fBmoeoBinaryQualityIndicator\fP< Fitness > *_I)" +.br +.ti -1c +.RI "void \fBcalculate_worths\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fImapping \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoBinaryQualityIndicator\fP< Fitness > * \fBI\fP" +.br +.RI "\fIbinary quality indicator to use in the selection process \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBEA< EOT, Fitness >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). +.PP +Definition at line 28 of file moeoIBEA.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIBEA\fP< EOT, Fitness >::calculate_worths (const \fBeoPop\fP< EOT > & _pop)\fC [inline, virtual]\fP" +.PP +mapping +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoPerf2WorthCached< EOT, double >\fP. +.PP +Definition at line 46 of file moeoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAAvgSorting.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAAvgSorting.3 new file mode 100644 index 000000000..85a679a29 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAAvgSorting.3 @@ -0,0 +1,105 @@ +.TH "moeoIBEAAvgSorting" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBEAAvgSorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper 'Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization', 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBEAAvgSorting\fP (\fBmoeoBinaryQualityIndicator\fP< FitnessEval > *_I, const double _kappa)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBkappa\fP" +.br +.RI "\fIscaling factor kappa \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBEAAvgSorting< EOT, FitnessEval >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper 'Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization', 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +.PP +Definition at line 361 of file moeoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoIBEAAvgSorting\fP< EOT, FitnessEval >::\fBmoeoIBEAAvgSorting\fP (\fBmoeoBinaryQualityIndicator\fP< FitnessEval > * _I, const double _kappa)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.br +\fIdouble\fP _kappa scaling factor kappa +.RE +.PP + +.PP +Definition at line 373 of file moeoIBEA.h. +.PP +References moeoIBEAAvgSorting< EOT, FitnessEval >::kappa. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIBEAAvgSorting\fP< EOT, FitnessEval >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 398 of file moeoIBEA.h. +.PP +References moeoIBEA< EOT, FitnessEval >::I, and moeoBinaryQualityIndicator< EOFitness >::setBounds(). +.SS "template void \fBmoeoIBEAAvgSorting\fP< EOT, FitnessEval >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 431 of file moeoIBEA.h. +.PP +References moeoIBEAAvgSorting< EOT, FitnessEval >::kappa, and eoValueParam< std::vector< WorthT > >::value(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoIBEASorting.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEASorting.3 new file mode 100644 index 000000000..708ee8cb2 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEASorting.3 @@ -0,0 +1,105 @@ +.TH "moeoIBEASorting" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBEASorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper 'Indicator-Based Selection in Multiobjective Search' (2004) Of course, Fitness needs to be an \fBeoParetoFitness\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoIBEA< EOT, Fitness >< EOT, Fitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBEASorting\fP (\fBmoeoBinaryQualityIndicator\fP< Fitness > *_I, const double _kappa)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBkappa\fP" +.br +.RI "\fIscaling factor kappa \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBEASorting< EOT, Fitness >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper 'Indicator-Based Selection in Multiobjective Search' (2004) Of course, Fitness needs to be an \fBeoParetoFitness\fP object. +.PP +Definition at line 84 of file moeoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoIBEASorting\fP< EOT, Fitness >::\fBmoeoIBEASorting\fP (\fBmoeoBinaryQualityIndicator\fP< Fitness > * _I, const double _kappa)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.br +\fIdouble\fP _kappa scaling factor kappa +.RE +.PP + +.PP +Definition at line 96 of file moeoIBEA.h. +.PP +References moeoIBEASorting< EOT, Fitness >::kappa. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIBEASorting\fP< EOT, Fitness >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, Fitness >\fP. +.PP +Definition at line 121 of file moeoIBEA.h. +.PP +References moeoIBEA< EOT, Fitness >::I, and moeoBinaryQualityIndicator< EOFitness >::setBounds(). +.SS "template void \fBmoeoIBEASorting\fP< EOT, Fitness >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, Fitness >\fP. +.PP +Definition at line 150 of file moeoIBEA.h. +.PP +References moeoIBEASorting< EOT, Fitness >::kappa, and eoValueParam< std::vector< WorthT > >::value(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAStochSorting.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAStochSorting.3 new file mode 100644 index 000000000..9e4b4fd92 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAStochSorting.3 @@ -0,0 +1,101 @@ +.TH "moeoIBEAStochSorting" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBEAStochSorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper 'Handling Uncertainty in Indicator-Based Multiobjective Optimization' (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBEAStochSorting\fP (\fBmoeoBinaryQualityIndicator\fP< FitnessEval > *_I)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Static Private Member Functions" + +.in +1c +.ti -1c +.RI "static double \fBzero\fP ()" +.br +.RI "\fIapproximated zero value \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBEAStochSorting< EOT, FitnessEval >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper 'Handling Uncertainty in Indicator-Based Multiobjective Optimization' (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +.PP +Definition at line 203 of file moeoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoIBEAStochSorting\fP< EOT, FitnessEval >::\fBmoeoIBEAStochSorting\fP (\fBmoeoBinaryQualityIndicator\fP< FitnessEval > * _I)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.RE +.PP + +.PP +Definition at line 214 of file moeoIBEA.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIBEAStochSorting\fP< EOT, FitnessEval >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 243 of file moeoIBEA.h. +.PP +References moeoIBEA< EOT, FitnessEval >::I, and moeoBinaryQualityIndicator< EOFitness >::setBounds(). +.SS "template void \fBmoeoIBEAStochSorting\fP< EOT, FitnessEval >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 272 of file moeoIBEA.h. +.PP +References eoValueParam< std::vector< WorthT > >::value(), and moeoIBEAStochSorting< EOT, FitnessEval >::zero(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoMOLS.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoMOLS.3 new file mode 100644 index 000000000..95a92aa15 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoMOLS.3 @@ -0,0 +1,29 @@ +.TH "moeoMOLS" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoMOLS \- Abstract class for local searches applied to multi-objective optimization. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< const EOT &, moeoArchive< EOT > &, void >\fP. +.PP +Inherited by \fBmoeoCombinedMOLS< EOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoMOLS< EOT >" +Abstract class for local searches applied to multi-objective optimization. + +Starting from only one solution, it produces a set of new non-dominated solutions. +.PP +Definition at line 23 of file moeoMOLS.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoMetric.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoMetric.3 new file mode 100644 index 000000000..9a698fee7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoMetric.3 @@ -0,0 +1,25 @@ +.TH "moeoMetric" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoMetric \- Base class for performance metrics (also called quality indicators). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoFunctorBase\fP. +.PP +Inherited by \fBmoeoBM< A1, A2, R >\fP, \fBmoeoBM< const const EOFitness &, EOFitness &, R >\fP, \fBmoeoBM< const const std::vector< EOFitness > &, EOFitness &, R >\fP, \fBmoeoBM< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R >\fP, \fBmoeoBM< const const std::vector< typename EOT::Fitness > &, std::vector< typename EOT::Fitness > &, double >\fP, \fBmoeoUM< A, R >\fP, \fBmoeoUM< const EOFitness &, R >\fP, and \fBmoeoUM< const std::vector< EOFitness > &, R >\fP. +.PP +.SH "Detailed Description" +.PP +Base class for performance metrics (also called quality indicators). +.PP +Definition at line 21 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II.3 new file mode 100644 index 000000000..ef0618944 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II.3 @@ -0,0 +1,60 @@ +.TH "moeoNDSorting_II" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNDSorting_II \- Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original \fBeoNDSorting_II\fP class. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoNDSorting< EOT >< EOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef std::pair< double, unsigned > \fBdouble_index_pair\fP" +.br +.RI "\fIindex pair \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoNDSorting_II\fP (bool nasty_flag_=false)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "std::vector< double > \fBniche_penalty\fP (const std::vector< unsigned > &_cf, const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fI_cf points into the elements that consist of the current front \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBcompare_nodes\fP" +.br +.RI "\fIA class to compare the nodes. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNDSorting_II< EOT >" +Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original \fBeoNDSorting_II\fP class. + +\fBSee also:\fP +.RS 4 +\fBeoNDSorting_II\fP +.RE +.PP + +.PP +Definition at line 26 of file moeoNDSorting.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II_compare_nodes.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II_compare_nodes.3 new file mode 100644 index 000000000..735dd97b3 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II_compare_nodes.3 @@ -0,0 +1,30 @@ +.TH "moeoNDSorting_II::compare_nodes" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNDSorting_II::compare_nodes \- A class to compare the nodes. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "bool \fBoperator()\fP (const \fBdouble_index_pair\fP &a, const \fBdouble_index_pair\fP &b) const" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNDSorting_II< EOT >::compare_nodes" +A class to compare the nodes. +.PP +Definition at line 46 of file moeoNDSorting.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoNSGA_II.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoNSGA_II.3 new file mode 100644 index 000000000..34da46cda --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoNSGA_II.3 @@ -0,0 +1,95 @@ +.TH "moeoNSGA_II" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNSGA_II \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoAlgo< EOT >< EOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoNSGA_II\fP (unsigned _max_gen, \fBeoEvalFunc\fP< EOT > &_eval, \fBeoGenOp\fP< EOT > &_op)" +.br +.RI "\fIThis constructor builds the algorithm as descibed in the paper. \fP" +.ti -1c +.RI "\fBmoeoNSGA_II\fP (unsigned _max_gen, \fBeoEvalFunc\fP< EOT > &_eval, \fBeoQuadOp\fP< EOT > &crossover, double pCross, \fBeoMonOp\fP< EOT > &mutation, double pMut)" +.br +.RI "\fICtor taking _max_gen, crossover and mutation. \fP" +.ti -1c +.RI "\fBmoeoNSGA_II\fP (\fBeoContinue\fP< EOT > &_continuator, \fBeoEvalFunc\fP< EOT > &_eval, \fBeoGenOp\fP< EOT > &_op)" +.br +.RI "\fICtor taking a continuator instead of _gen_max. \fP" +.ti -1c +.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIApply a few generation of evolution to the population. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBeoContinue\fP< EOT > & \fBcontinuator\fP" +.br +.ti -1c +.RI "\fBeoEvalFunc\fP< EOT > & \fBeval\fP" +.br +.ti -1c +.RI "\fBeoPopLoopEval\fP< EOT > \fBloopEval\fP" +.br +.ti -1c +.RI "\fBeoPopEvalFunc\fP< EOT > & \fBpopEval\fP" +.br +.ti -1c +.RI "\fBmoeoNDSorting_II\fP< EOT > \fBsorting\fP" +.br +.RI "\fINSGAII sorting. \fP" +.ti -1c +.RI "\fBeoDetTournamentWorthSelect\fP< EOT > \fBselectOne\fP" +.br +.RI "\fIBinary tournament selection. \fP" +.ti -1c +.RI "\fBmoeoElitistReplacement\fP< EOT > \fBreplace\fP" +.br +.RI "\fIElitist replacement. \fP" +.ti -1c +.RI "\fBeoGeneralBreeder\fP< EOT > \fBgenBreed\fP" +.br +.ti -1c +.RI "\fBeoBreed\fP< EOT > & \fBbreed\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNSGA_II< EOT >" + +.PP +Definition at line 31 of file moeoNSGA_II.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoNSGA_II\fP< EOT >::\fBmoeoNSGA_II\fP (unsigned _max_gen, \fBeoEvalFunc\fP< EOT > & _eval, \fBeoGenOp\fP< EOT > & _op)\fC [inline]\fP" +.PP +This constructor builds the algorithm as descibed in the paper. +.PP +Deb, K., S. Agrawal, A. Pratap, and T. Meyarivan, A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197, April 2002. +.PP +\fBParameters:\fP +.RS 4 +\fI_max_gen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.RE +.PP + +.PP +Definition at line 46 of file moeoNSGA_II.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoParetoEuclidDist.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoEuclidDist.3 new file mode 100644 index 000000000..8502a0824 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoEuclidDist.3 @@ -0,0 +1,28 @@ +.TH "moeoParetoEuclidDist" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoEuclidDist \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoParetoPhenDist< EOT, DistType >< EOT, DistType >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "DistType \fBoperator()\fP (const EOT &eopf1, const EOT &eopf2)" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoEuclidDist< EOT, DistType >" + +.PP +Definition at line 27 of file moeoParetoPhenDist.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoParetoPhenDist.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoPhenDist.3 new file mode 100644 index 000000000..e0b2549db --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoPhenDist.3 @@ -0,0 +1,21 @@ +.TH "moeoParetoPhenDist" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoPhenDist \- +.SH SYNOPSIS +.br +.PP +Inherited by \fBmoeoParetoEuclidDist< EOT, DistType >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoPhenDist< EOT, DistType >" + +.PP +Definition at line 15 of file moeoParetoPhenDist.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing.3 new file mode 100644 index 000000000..92e246be1 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing.3 @@ -0,0 +1,64 @@ +.TH "moeoParetoSharing" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoSharing \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoPerf2Worth< EOT, worthT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoParetoSharing\fP (double _nicheSize)" +.br +.ti -1c +.RI "\fBmoeoParetoSharing\fP (double _nicheSize, \fBmoeoParetoPhenDist\fP< EOT, worthT > &_dist)" +.br +.ti -1c +.RI "void \fBoperator\fP ()(const \fBeoPop\fP< EOT > &_pop)" +.br +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBsh\fP (double \fBdist\fP, double \fBDmax\fP)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBnicheSize\fP" +.br +.ti -1c +.RI "\fBmoeoParetoPhenDist\fP< EOT, worthT > & \fBdist\fP" +.br +.ti -1c +.RI "\fBmoeoParetoEuclidDist\fP< EOT > \fBeuc_dist\fP" +.br +.ti -1c +.RI "double \fBDmax\fP" +.br +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBdMatrix\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoSharing< EOT, worthT >" + +.PP +Definition at line 19 of file moeoParetoSharing.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing_dMatrix.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing_dMatrix.3 new file mode 100644 index 000000000..16063b07a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing_dMatrix.3 @@ -0,0 +1,36 @@ +.TH "moeoParetoSharing::dMatrix" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoSharing::dMatrix \- +.SH SYNOPSIS +.br +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBdMatrix\fP (unsigned _s)" +.br +.ti -1c +.RI "void \fBprintOn\fP (std::ostream &_os)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned \fBrSize\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoSharing< EOT, worthT >::dMatrix" + +.PP +Definition at line 109 of file moeoParetoSharing.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoReplacement.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoReplacement.3 new file mode 100644 index 000000000..4c7f876c6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoReplacement.3 @@ -0,0 +1,27 @@ +.TH "moeoReplacement" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoReplacement \- Replacement strategy for multi-objective optimization. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoReplacement< EOT >< EOT >\fP. +.PP +Inherited by \fBmoeoDisctinctElitistReplacement< EOT, WorthT >\fP, and \fBmoeoElitistReplacement< EOT, WorthT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoReplacement< EOT, WorthT >" +Replacement strategy for multi-objective optimization. +.PP +Definition at line 24 of file moeoReplacement.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoSelectOneFromPopAndArch.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoSelectOneFromPopAndArch.3 new file mode 100644 index 000000000..6bd2ec495 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoSelectOneFromPopAndArch.3 @@ -0,0 +1,105 @@ +.TH "moeoSelectOneFromPopAndArch" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSelectOneFromPopAndArch \- Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoSelectOne< EOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoSelectOneFromPopAndArch\fP (\fBeoSelectOne\fP< EOT > &_popSelectOne, \fBeoSelectOne\fP< EOT > _archSelectOne, \fBmoeoArchive\fP< EOT > &_arch, double _ratioFromPop=0.5)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "\fBmoeoSelectOneFromPopAndArch\fP (\fBeoSelectOne\fP< EOT > &_popSelectOne, \fBmoeoArchive\fP< EOT > &_arch, double _ratioFromPop=0.5)" +.br +.RI "\fICtor - the archive's selection operator is a random selector. \fP" +.ti -1c +.RI "virtual const EOT & \fBoperator()\fP (const \fBeoPop\fP< EOT > &pop)" +.br +.RI "\fIThe selection process. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fISetups some population stats. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoSelectOne\fP< EOT > & \fBpopSelectOne\fP" +.br +.RI "\fIThe population's selection operator. \fP" +.ti -1c +.RI "\fBeoSelectOne\fP< EOT > & \fBarchSelectOne\fP" +.br +.RI "\fIThe archive's selection operator. \fP" +.ti -1c +.RI "\fBmoeoArchive\fP< EOT > & \fBarch\fP" +.br +.RI "\fIthe archive \fP" +.ti -1c +.RI "double \fBratioFromPop\fP" +.br +.RI "\fIthe ratio of selected individuals from the population \fP" +.ti -1c +.RI "\fBeoRandomSelect\fP< EOT > \fBrandomSelect\fP" +.br +.RI "\fIthe random selection operator \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoSelectOneFromPopAndArch< EOT >" +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. +.PP +Definition at line 25 of file moeoSelectOneFromPopAndArch.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoSelectOneFromPopAndArch\fP< EOT >::\fBmoeoSelectOneFromPopAndArch\fP (\fBeoSelectOne\fP< EOT > & _popSelectOne, \fBeoSelectOne\fP< EOT > _archSelectOne, \fBmoeoArchive\fP< EOT > & _arch, double _ratioFromPop = \fC0.5\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_popSelectOne\fP the population's selection operator +.br +\fI_archSelectOne\fP the archive's selection operator +.br +\fI_arch\fP the archive +.br +\fI_ratioFromPop\fP the ratio of selected individuals from the population +.RE +.PP + +.PP +Definition at line 37 of file moeoSelectOneFromPopAndArch.h. +.SS "template \fBmoeoSelectOneFromPopAndArch\fP< EOT >::\fBmoeoSelectOneFromPopAndArch\fP (\fBeoSelectOne\fP< EOT > & _popSelectOne, \fBmoeoArchive\fP< EOT > & _arch, double _ratioFromPop = \fC0.5\fP)\fC [inline]\fP" +.PP +Ctor - the archive's selection operator is a random selector. +.PP +\fBParameters:\fP +.RS 4 +\fI_popSelectOne\fP the population's selection operator +.br +\fI_arch\fP the archive +.br +\fI_ratioFromPop\fP the ratio of selected individuals from the population +.RE +.PP + +.PP +Definition at line 49 of file moeoSelectOneFromPopAndArch.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionUM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionUM.3 new file mode 100644 index 000000000..bbbdd40a7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionUM.3 @@ -0,0 +1,25 @@ +.TH "moeoSolutionUM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSolutionUM \- Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoUM< const EOFitness &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoSolutionUM< EOT, R, EOFitness >" +Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. +.PP +Definition at line 47 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionVsSolutionBM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionVsSolutionBM.3 new file mode 100644 index 000000000..1ba173f99 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionVsSolutionBM.3 @@ -0,0 +1,25 @@ +.TH "moeoSolutionVsSolutionBM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSolutionVsSolutionBM \- Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBM< A1, A2, R >< const const EOFitness &, EOFitness &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoSolutionVsSolutionBM< EOT, R, EOFitness >" +Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. +.PP +Definition at line 70 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoUM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoUM.3 new file mode 100644 index 000000000..42fbb8089 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoUM.3 @@ -0,0 +1,25 @@ +.TH "moeoUM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoUM \- Base class for unary metrics. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< A, R >\fP, and \fBmoeoMetric\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoUM< A, R >" +Base class for unary metrics. +.PP +Definition at line 29 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoVectorUM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorUM.3 new file mode 100644 index 000000000..441effd9a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorUM.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorUM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoVectorUM \- Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoUM< const std::vector< EOFitness > &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoVectorUM< EOT, R, EOFitness >" +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). +.PP +Definition at line 58 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsSolutionBM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsSolutionBM.3 new file mode 100644 index 000000000..0159f5e27 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsSolutionBM.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorVsSolutionBM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoVectorVsSolutionBM \- Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBM< A1, A2, R >< const const std::vector< EOFitness > &, EOFitness &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoVectorVsSolutionBM< EOT, R, EOFitness >" +Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. +.PP +Definition at line 82 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsVectorBM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsVectorBM.3 new file mode 100644 index 000000000..5a782680d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsVectorBM.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorVsVectorBM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoVectorVsVectorBM \- Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBM< A1, A2, R >< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoVectorVsVectorBM< EOT, R, EOFitness >" +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). +.PP +Definition at line 95 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/webpages.3 b/trunk/paradiseo-moeo/docs/man/man3/webpages.3 new file mode 100644 index 000000000..a3ae4ccca --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/webpages.3 @@ -0,0 +1,15 @@ +.TH "webpages" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +webpages \- Related webpages +.IP "\(bu" 2 +ParadisEO \fChomepage\fP +.IP "\(bu" 2 +INRIA GForge \fCproject page\fP +.IP "\(bu" 2 +\fCREADME\fP +.IP "\(bu" 2 +\fCNEWS\fP +.PP +