From f93d8b996d569a2730757e7e5fbe76b127295696 Mon Sep 17 00:00:00 2001 From: legrand Date: Fri, 22 Dec 2006 08:43:33 +0000 Subject: [PATCH] Latex doc added git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@120 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-moeo/docs/latex/Helvetica.ttf | Bin 0 -> 32760 bytes trunk/paradiseo-moeo/docs/latex/Makefile | 39 +++ trunk/paradiseo-moeo/docs/latex/annotated.tex | 39 +++ .../classeoAdditiveBinaryEpsilonIndicator.eps | 209 +++++++++++++++ .../classeoAdditiveBinaryEpsilonIndicator.tex | 83 ++++++ .../classeoBinaryHypervolumeIndicator.eps | 209 +++++++++++++++ .../classeoBinaryHypervolumeIndicator.tex | 149 +++++++++++ .../latex/classeoBinaryQualityIndicator.eps | 215 ++++++++++++++++ .../latex/classeoBinaryQualityIndicator.tex | 69 +++++ ...classeoBinaryQualityIndicator_1_1Range.tex | 51 ++++ .../paradiseo-moeo/docs/latex/classeoIBEA.eps | 233 +++++++++++++++++ .../paradiseo-moeo/docs/latex/classeoIBEA.tex | 60 +++++ .../docs/latex/classeoIBEAAvgSorting.eps | 233 +++++++++++++++++ .../docs/latex/classeoIBEAAvgSorting.tex | 99 ++++++++ .../docs/latex/classeoIBEASorting.eps | 233 +++++++++++++++++ .../docs/latex/classeoIBEASorting.tex | 99 ++++++++ .../docs/latex/classeoIBEAStochSorting.eps | 233 +++++++++++++++++ .../docs/latex/classeoIBEAStochSorting.tex | 97 +++++++ .../docs/latex/classeoParetoEuclidDist.eps | 197 +++++++++++++++ .../docs/latex/classeoParetoEuclidDist.tex | 28 ++ .../docs/latex/classeoParetoPhenDist.eps | 197 +++++++++++++++ .../docs/latex/classeoParetoPhenDist.tex | 22 ++ .../docs/latex/classeoParetoSharing.eps | 221 ++++++++++++++++ .../docs/latex/classeoParetoSharing.tex | 60 +++++ .../latex/classeoParetoSharing_1_1dMatrix.tex | 31 +++ .../docs/latex/classmoeoArchive.eps | 215 ++++++++++++++++ .../docs/latex/classmoeoArchive.tex | 103 ++++++++ .../classmoeoArchiveFitnessSavingUpdater.eps | 209 +++++++++++++++ .../classmoeoArchiveFitnessSavingUpdater.tex | 67 +++++ .../docs/latex/classmoeoArchiveUpdater.eps | 209 +++++++++++++++ .../docs/latex/classmoeoArchiveUpdater.tex | 61 +++++ .../paradiseo-moeo/docs/latex/classmoeoBM.eps | 215 ++++++++++++++++ .../paradiseo-moeo/docs/latex/classmoeoBM.tex | 27 ++ .../classmoeoBinaryMetricSavingUpdater.eps | 209 +++++++++++++++ .../classmoeoBinaryMetricSavingUpdater.tex | 79 ++++++ .../docs/latex/classmoeoCombinedMOLS.eps | 209 +++++++++++++++ .../docs/latex/classmoeoCombinedMOLS.tex | 101 ++++++++ .../latex/classmoeoContributionMetric.eps | 227 +++++++++++++++++ .../latex/classmoeoContributionMetric.tex | 116 +++++++++ .../classmoeoDisctinctElitistReplacement.eps | 215 ++++++++++++++++ .../classmoeoDisctinctElitistReplacement.tex | 99 ++++++++ .../latex/classmoeoElitistReplacement.eps | 215 ++++++++++++++++ .../latex/classmoeoElitistReplacement.tex | 76 ++++++ .../docs/latex/classmoeoEntropyMetric.eps | 227 +++++++++++++++++ .../docs/latex/classmoeoEntropyMetric.tex | 89 +++++++ .../docs/latex/classmoeoHybridMOLS.eps | 209 +++++++++++++++ .../docs/latex/classmoeoHybridMOLS.tex | 67 +++++ .../docs/latex/classmoeoMOLS.eps | 209 +++++++++++++++ .../docs/latex/classmoeoMOLS.tex | 29 +++ .../docs/latex/classmoeoMetric.eps | 239 ++++++++++++++++++ .../docs/latex/classmoeoMetric.tex | 25 ++ .../docs/latex/classmoeoNDSorting__II.eps | 233 +++++++++++++++++ .../docs/latex/classmoeoNDSorting__II.tex | 51 ++++ ...assmoeoNDSorting__II_1_1compare__nodes.tex | 22 ++ .../docs/latex/classmoeoNSGA__II.eps | 209 +++++++++++++++ .../docs/latex/classmoeoNSGA__II.tex | 83 ++++++ .../docs/latex/classmoeoReplacement.eps | 221 ++++++++++++++++ .../docs/latex/classmoeoReplacement.tex | 27 ++ .../classmoeoSelectOneFromPopAndArch.eps | 209 +++++++++++++++ .../classmoeoSelectOneFromPopAndArch.tex | 89 +++++++ .../docs/latex/classmoeoSolutionUM.eps | 221 ++++++++++++++++ .../docs/latex/classmoeoSolutionUM.tex | 27 ++ .../latex/classmoeoSolutionVsSolutionBM.eps | 221 ++++++++++++++++ .../latex/classmoeoSolutionVsSolutionBM.tex | 27 ++ .../paradiseo-moeo/docs/latex/classmoeoUM.eps | 215 ++++++++++++++++ .../paradiseo-moeo/docs/latex/classmoeoUM.tex | 27 ++ .../docs/latex/classmoeoVectorUM.eps | 221 ++++++++++++++++ .../docs/latex/classmoeoVectorUM.tex | 27 ++ .../latex/classmoeoVectorVsSolutionBM.eps | 221 ++++++++++++++++ .../latex/classmoeoVectorVsSolutionBM.tex | 27 ++ .../docs/latex/classmoeoVectorVsVectorBM.eps | 221 ++++++++++++++++ .../docs/latex/classmoeoVectorVsVectorBM.tex | 27 ++ trunk/paradiseo-moeo/docs/latex/doxygen.sty | 64 +++++ trunk/paradiseo-moeo/docs/latex/hierarchy.tex | 148 +++++++++++ trunk/paradiseo-moeo/docs/latex/main.tex | 5 + trunk/paradiseo-moeo/docs/latex/refman.tex | 74 ++++++ 76 files changed, 9769 insertions(+) create mode 100644 trunk/paradiseo-moeo/docs/latex/Helvetica.ttf create mode 100644 trunk/paradiseo-moeo/docs/latex/Makefile create mode 100644 trunk/paradiseo-moeo/docs/latex/annotated.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator_1_1Range.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoIBEA.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoIBEA.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classeoParetoSharing_1_1dMatrix.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoArchive.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoArchive.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoBM.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoBM.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoMetric.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoMetric.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II_1_1compare__nodes.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoUM.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoUM.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/doxygen.sty create mode 100644 trunk/paradiseo-moeo/docs/latex/hierarchy.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/main.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/refman.tex diff --git a/trunk/paradiseo-moeo/docs/latex/Helvetica.ttf b/trunk/paradiseo-moeo/docs/latex/Helvetica.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8051f8a119f13c1cce42c147c8252d69c40d8dff GIT binary patch literal 32760 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 _~!~TPBcwBP@B)(YIaPm95^@Y>JFX0bY}ls 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

l4D1v*qT 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 literal 0 HcmV?d00001 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..cfda7cf81 --- /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 eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$} (Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness} )}{\pageref{classeoAdditiveBinaryEpsilonIndicator}}{} +\item\contentsline{section}{{\bf eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$} (Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness} )}{\pageref{classeoBinaryHypervolumeIndicator}}{} +\item\contentsline{section}{{\bf 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 )}{\pageref{classeoBinaryQualityIndicator}}{} +\item\contentsline{section}{{\bf eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range} (Private class to represent the bounds )}{\pageref{classeoBinaryQualityIndicator_1_1Range}}{} +\item\contentsline{section}{{\bf eo\-IBEA$<$ EOT, Fitness $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) )}{\pageref{classeoIBEA}}{} +\item\contentsline{section}{{\bf 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 )}{\pageref{classeoIBEAAvgSorting}}{} +\item\contentsline{section}{{\bf 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 )}{\pageref{classeoIBEASorting}}{} +\item\contentsline{section}{{\bf 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 )}{\pageref{classeoIBEAStochSorting}}{} +\item\contentsline{section}{{\bf eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$} }{\pageref{classeoParetoEuclidDist}}{} +\item\contentsline{section}{{\bf eo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$} }{\pageref{classeoParetoPhenDist}}{} +\item\contentsline{section}{{\bf eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$} }{\pageref{classeoParetoSharing}}{} +\item\contentsline{section}{{\bf eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix} }{\pageref{classeoParetoSharing_1_1dMatrix}}{} +\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\-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\-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 {\bf moeo\-Elitist\-Replacement}{\rm (p.\,\pageref{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\-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 )}{\pageref{classmoeoNDSorting__II}}{} +\item\contentsline{section}{{\bf moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes} }{\pageref{classmoeoNDSorting__II_1_1compare__nodes}}{} +\item\contentsline{section}{{\bf moeo\-NSGA\_\-II$<$ EOT $>$} }{\pageref{classmoeoNSGA__II}}{} +\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/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..59e752ada --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.tex @@ -0,0 +1,103 @@ +\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_22b298bb0e4f4b02f9d8c5d3385134a2} + + +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.\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_b62d5274da2b12802113858be49a21a4} + + +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.\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. + +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..956ec10a7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.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 198.675 +%%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.51667 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 +(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 ----- + + (moeoBM< A1, A2, R >) 0.5 0 box + (eoBF< A1, A2, 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/classmoeoBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.tex new file mode 100644 index 000000000..78b27745d --- /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=3cm]{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/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/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..1e393b585 --- /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 74.5156 +%%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 6.71 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< const std::vector< typename EOT::Fitness > &, const std::vector< typename EOT::Fitness > &, double >) cw +(eoBF< const std::vector< typename EOT::Fitness > &, const std::vector< typename EOT::Fitness > &, double >) 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< const std::vector< typename EOT::Fitness > &, const std::vector< typename EOT::Fitness > &, double >) 0.5 2 box + (eoBF< const std::vector< typename EOT::Fitness > &, const std::vector< typename EOT::Fitness > &, double >) 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..b4dc475fd --- /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=2.08644cm]{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..228d6461c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.tex @@ -0,0 +1,99 @@ +\section{moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$ Class Template Reference} +\label{classmoeoDisctinctElitistReplacement}\index{moeoDisctinctElitistReplacement@{moeoDisctinctElitistReplacement}} +Same than {\bf moeo\-Elitist\-Replacement}{\rm (p.\,\pageref{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 {\bf moeo\-Elitist\-Replacement}{\rm (p.\,\pageref{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. + +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..04e578986 --- /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 74.5156 +%%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 6.71 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< const std::vector< typename EOT::Fitness > &, const std::vector< typename EOT::Fitness > &, double >) cw +(eoBF< const std::vector< typename EOT::Fitness > &, const std::vector< typename EOT::Fitness > &, double >) 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< const std::vector< typename EOT::Fitness > &, const std::vector< typename EOT::Fitness > &, double >) 0.5 2 box + (eoBF< const std::vector< typename EOT::Fitness > &, const std::vector< typename EOT::Fitness > &, double >) 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..57f3435ff --- /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=2.08644cm]{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/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..17339b3c4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.eps @@ -0,0 +1,239 @@ +%!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 EOFitness &, const EOFitness &, R >) cw +(moeoBM< const std::vector< EOFitness > &, const EOFitness &, R >) cw +(moeoBM< const std::vector< EOFitness > &, const std::vector< EOFitness > &, R >) cw +(moeoBM< const std::vector< typename EOT::Fitness > &, const 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 + (moeoBM< const EOFitness &, const EOFitness &, R >) 1 6 box +1 6 mark + (moeoBM< const std::vector< EOFitness > &, const EOFitness &, R >) 1 5 box +1 5 mark + (moeoBM< const std::vector< EOFitness > &, const std::vector< EOFitness > &, R >) 1 4 box +1 4 mark + (moeoBM< const std::vector< typename EOT::Fitness > &, const std::vector< typename EOT::Fitness > &, double >) 1 3 box +1 3 mark + (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..adb9857dd --- /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. + + +{\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_6703325377eec015f475e944dc75097d} + +\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-NDSorting\_\-II} (bool nasty\_\-flag\_\-=false)\label{classmoeoNDSorting__II_820e9987853858ddc59e36c7f267955e} + +\item +std::vector$<$ double $>$ {\bf niche\_\-penalty} (const std::vector$<$ unsigned $>$ \&\_\-cf, const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classmoeoNDSorting__II_d24d8008d6928aeaeeb59791cb4059fc} + +\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} +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-NDSorting\_\-II$<$ EOT $>$} + +Fast Elitist Non-Dominant Sorting Genetic Algorithm. + +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..3361c1944 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II_1_1compare__nodes.tex @@ -0,0 +1,22 @@ +\section{moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes Class Reference} +\label{classmoeoNDSorting__II_1_1compare__nodes}\index{moeoNDSorting_II::compare_nodes@{moeoNDSorting\_\-II::compare\_\-nodes}} +\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_e1052afbabd0e4f14b7913cd1afcd824} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes} + + + + + +Definition at line 34 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..d67dfe60c --- /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_5723ef1daf0c523d4bf66a691fd6e909} + +\item +{\bf eo\-Eval\-Func}$<$ EOT $>$ \& {\bf eval}\label{classmoeoNSGA__II_31560a9c8d9499ce8dd361a004083ce9} + +\item +{\bf eo\-Pop\-Loop\-Eval}$<$ EOT $>$ {\bf loop\-Eval}\label{classmoeoNSGA__II_0308927592ac71d747ba345c74eb6595} + +\item +{\bf eo\-Pop\-Eval\-Func}$<$ EOT $>$ \& {\bf pop\-Eval}\label{classmoeoNSGA__II_abca45cb9b0099f294ff5172a287ce33} + +\item +{\bf moeo\-NDSorting\_\-II}$<$ EOT $>$ {\bf sorting}\label{classmoeoNSGA__II_0c64d278d6675671fb45a241d2b4802f} + +\begin{CompactList}\small\item\em NSGAII sorting. \item\end{CompactList}\item +{\bf eo\-Det\-Tournament\-Worth\-Select}$<$ EOT $>$ {\bf select\-One}\label{classmoeoNSGA__II_7f122201fa2d60855384389bf080e093} + +\begin{CompactList}\small\item\em Binary tournament selection. \item\end{CompactList}\item +{\bf moeo\-Elitist\-Replacement}$<$ EOT $>$ {\bf replace}\label{classmoeoNSGA__II_225df0fde7341dc20db61e822cee7aeb} + +\begin{CompactList}\small\item\em Elitist replacement. \item\end{CompactList}\item +{\bf eo\-General\-Breeder}$<$ EOT $>$ {\bf gen\-Breed}\label{classmoeoNSGA__II_33b60728fb89a6be957f3a312171941f} + +\item +{\bf eo\-Breed}$<$ EOT $>$ \& {\bf breed}\label{classmoeoNSGA__II_8908faf0b9a4334eaab0f34a2774fa16} + +\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 45 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/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..eac75bdbf --- /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 274.914 +%%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.81875 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< const eoPop< EOT > &, const EOT & >) 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< const eoPop< EOT > &, const EOT & >) 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..9a9dbb2c2 --- /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 120.12 +%%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.1625 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< const EOFitness &, const EOFitness &, R >) cw +(eoBF< const EOFitness &, 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 ----- + + (moeoSolutionVsSolutionBM< EOT, R, EOFitness >) 0.5 0 box + (moeoBM< const EOFitness &, const EOFitness &, R >) 0.5 1 box + (eoBF< const EOFitness &, 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/classmoeoSolutionVsSolutionBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.tex new file mode 100644 index 000000000..f6d1d635c --- /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.36336cm]{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..400ed858d --- /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 96.3855 +%%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 5.1875 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< const std::vector< EOFitness > &, const EOFitness &, R >) cw +(eoBF< const std::vector< EOFitness > &, 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 ----- + + (moeoVectorVsSolutionBM< EOT, R, EOFitness >) 0.5 0 box + (moeoBM< const std::vector< EOFitness > &, const EOFitness &, R >) 0.5 1 box + (eoBF< const std::vector< EOFitness > &, 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/classmoeoVectorVsSolutionBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.tex new file mode 100644 index 000000000..f6d56d34c --- /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=2.6988cm]{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..ce5c61a89 --- /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 80.4829 +%%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 6.2125 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< const std::vector< EOFitness > &, const std::vector< EOFitness > &, R >) cw +(eoBF< const std::vector< EOFitness > &, 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 ----- + + (moeoVectorVsVectorBM< EOT, R, EOFitness >) 0.5 0 box + (moeoBM< const std::vector< EOFitness > &, const std::vector< EOFitness > &, R >) 0.5 1 box + (eoBF< const std::vector< EOFitness > &, 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/classmoeoVectorVsVectorBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.tex new file mode 100644 index 000000000..898bf0303 --- /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=2.25352cm]{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..113cbe4a8 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/doxygen.sty @@ -0,0 +1,64 @@ +\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 Fri Dec 22 09:37:11 2006 for Paradis\-EO-MOEO by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Fri Dec 22 09:37:11 2006 for Paradis\-EO-MOEO by Doxygen }} +\cfoot{} +\newenvironment{CompactList} +{\begin{list}{}{ + \setlength{\leftmargin}{0.5cm} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \renewcommand{\makelabel}{}}} +{\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}}\\}}} +\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..15b140b99 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/hierarchy.tex @@ -0,0 +1,148 @@ +\section{Paradis\-EO-MOEO Class Hierarchy} +This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} +\item \contentsline{section}{eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range}{\pageref{classeoBinaryQualityIndicator_1_1Range}}{} +\item eo\-Functor\-Base{\tt [external]}\begin{CompactList} +\item eo\-BF$<$ A1, A2, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ A1, A2, R $>$}{\pageref{classmoeoBM}}{} +\end{CompactList} +\item eo\-BF$<$ const EOFitness \&, const EOFitness \&, double $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$}{\pageref{classeoBinaryQualityIndicator}}{} +\begin{CompactList} +\item \contentsline{section}{eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$}{\pageref{classeoAdditiveBinaryEpsilonIndicator}}{} +\item \contentsline{section}{eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$}{\pageref{classeoBinaryHypervolumeIndicator}}{} +\end{CompactList} +\end{CompactList} +\item eo\-BF$<$ const EOFitness \&, const EOFitness \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const EOFitness \&, const EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoSolutionVsSolutionBM}}{} +\end{CompactList} +\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$<$ const Fitness\-Eval \&, const Fitness\-Eval \&, double $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{eo\-Binary\-Quality\-Indicator$<$ Fitness\-Eval $>$}{\pageref{classeoBinaryQualityIndicator}}{} +\end{CompactList} +\item eo\-BF$<$ const std::vector$<$ EOFitness $>$ \&, const EOFitness \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const std::vector$<$ EOFitness $>$ \&, const EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoVectorVsSolutionBM}}{} +\end{CompactList} +\end{CompactList} +\item eo\-BF$<$ const std::vector$<$ EOFitness $>$ \&, const std::vector$<$ EOFitness $>$ \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const std::vector$<$ EOFitness $>$ \&, const std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoBM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoVectorVsVectorBM}}{} +\end{CompactList} +\end{CompactList} +\item eo\-BF$<$ const std::vector$<$ typename EOT::Fitness $>$ \&, const std::vector$<$ typename EOT::Fitness $>$ \&, double $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const std::vector$<$ typename EOT::Fitness $>$ \&, const std::vector$<$ typename EOT::Fitness $>$ \&, double $>$}{\pageref{classmoeoBM}}{} +\begin{CompactList} +\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$<$ 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$<$ 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 $>$ \&, const EOT \& $>${\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$<$ 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 \contentsline{section}{eo\-IBEA$<$ EOT, Fitness $>$}{\pageref{classeoIBEA}}{} +\begin{CompactList} +\item \contentsline{section}{eo\-IBEASorting$<$ EOT, Fitness $>$}{\pageref{classeoIBEASorting}}{} +\end{CompactList} +\item \contentsline{section}{eo\-IBEA$<$ EOT, Fitness\-Eval $>$}{\pageref{classeoIBEA}}{} +\begin{CompactList} +\item \contentsline{section}{eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$}{\pageref{classeoIBEAAvgSorting}}{} +\item \contentsline{section}{eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$}{\pageref{classeoIBEAStochSorting}}{} +\end{CompactList} +\item eo\-NDSorting$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-NDSorting\_\-II$<$ EOT $>$}{\pageref{classmoeoNDSorting__II}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item eo\-Perf2Worth$<$ EOT, worth\-T $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$}{\pageref{classeoParetoSharing}}{} +\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 EOFitness \&, const EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const std::vector$<$ EOFitness $>$ \&, const EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const std::vector$<$ EOFitness $>$ \&, const std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const std::vector$<$ typename EOT::Fitness $>$ \&, const 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 \contentsline{section}{eo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$}{\pageref{classeoParetoPhenDist}}{} +\begin{CompactList} +\item \contentsline{section}{eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$}{\pageref{classeoParetoEuclidDist}}{} +\end{CompactList} +\item \contentsline{section}{eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix}{\pageref{classeoParetoSharing_1_1dMatrix}}{} +\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\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes}{\pageref{classmoeoNDSorting__II_1_1compare__nodes}}{} +\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..a16d9208c --- /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 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/refman.tex b/trunk/paradiseo-moeo/docs/latex/refman.tex new file mode 100644 index 000000000..39c874911 --- /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.4.6}\\ +\vspace*{0.5cm} +{\small Fri Dec 22 09:37:11 2006}\\ +\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{classeoAdditiveBinaryEpsilonIndicator} +\include{classeoBinaryHypervolumeIndicator} +\include{classeoBinaryQualityIndicator} +\include{classeoBinaryQualityIndicator_1_1Range} +\include{classeoIBEA} +\include{classeoIBEAAvgSorting} +\include{classeoIBEASorting} +\include{classeoIBEAStochSorting} +\include{classeoParetoEuclidDist} +\include{classeoParetoPhenDist} +\include{classeoParetoSharing} +\include{classeoParetoSharing_1_1dMatrix} +\include{classmoeoArchive} +\include{classmoeoArchiveFitnessSavingUpdater} +\include{classmoeoArchiveUpdater} +\include{classmoeoBinaryMetricSavingUpdater} +\include{classmoeoBM} +\include{classmoeoCombinedMOLS} +\include{classmoeoContributionMetric} +\include{classmoeoDisctinctElitistReplacement} +\include{classmoeoElitistReplacement} +\include{classmoeoEntropyMetric} +\include{classmoeoHybridMOLS} +\include{classmoeoMetric} +\include{classmoeoMOLS} +\include{classmoeoNDSorting__II} +\include{classmoeoNDSorting__II_1_1compare__nodes} +\include{classmoeoNSGA__II} +\include{classmoeoReplacement} +\include{classmoeoSelectOneFromPopAndArch} +\include{classmoeoSolutionUM} +\include{classmoeoSolutionVsSolutionBM} +\include{classmoeoUM} +\include{classmoeoVectorUM} +\include{classmoeoVectorVsSolutionBM} +\include{classmoeoVectorVsVectorBM} +\printindex +\end{document}