From b0351ae298940669d7a8c71d366d83c80f1741f2 Mon Sep 17 00:00:00 2001 From: liefooga Date: Mon, 15 Jan 2007 14:01:11 +0000 Subject: [PATCH] doc update git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@157 331e1502-861f-0410-8da2-ba01fb791d7f --- .../docs/html/README-source.html | 30 ++ trunk/paradiseo-moeo/docs/html/annotated.html | 73 +++ trunk/paradiseo-moeo/docs/html/classes.html | 52 +++ ...dditiveBinaryEpsilonIndicator-members.html | 47 ++ ...assmoeoAdditiveBinaryEpsilonIndicator.html | 173 +++++++ ...lassmoeoAdditiveBinaryEpsilonIndicator.png | Bin 0 -> 1487 bytes .../docs/html/classmoeoArchive-members.html | 74 +++ .../docs/html/classmoeoArchive.html | 212 +++++++++ .../docs/html/classmoeoArchive.png | Bin 0 -> 1083 bytes ...eoArchiveFitnessSavingUpdater-members.html | 48 ++ .../classmoeoArchiveFitnessSavingUpdater.html | 134 ++++++ .../classmoeoArchiveFitnessSavingUpdater.png | Bin 0 -> 922 bytes .../html/classmoeoArchiveUpdater-members.html | 46 ++ .../docs/html/classmoeoArchiveUpdater.html | 119 +++++ .../docs/html/classmoeoArchiveUpdater.png | Bin 0 -> 765 bytes .../paradiseo-moeo/docs/html/classmoeoBM.html | 67 +++ .../paradiseo-moeo/docs/html/classmoeoBM.png | Bin 0 -> 3649 bytes ...oeoBinaryHypervolumeIndicator-members.html | 50 ++ .../classmoeoBinaryHypervolumeIndicator.html | 342 ++++++++++++++ .../classmoeoBinaryHypervolumeIndicator.png | Bin 0 -> 1432 bytes ...moeoBinaryMetricSavingUpdater-members.html | 51 +++ .../classmoeoBinaryMetricSavingUpdater.html | 148 ++++++ .../classmoeoBinaryMetricSavingUpdater.png | Bin 0 -> 877 bytes ...assmoeoBinaryQualityIndicator-members.html | 44 ++ .../html/classmoeoBinaryQualityIndicator.html | 134 ++++++ .../html/classmoeoBinaryQualityIndicator.png | Bin 0 -> 1942 bytes ...naryQualityIndicator_1_1Range-members.html | 44 ++ ...ssmoeoBinaryQualityIndicator_1_1Range.html | 81 ++++ .../html/classmoeoCombinedMOLS-members.html | 41 ++ .../docs/html/classmoeoCombinedMOLS.html | 202 +++++++++ .../docs/html/classmoeoCombinedMOLS.png | Bin 0 -> 1403 bytes .../classmoeoContributionMetric-members.html | 41 ++ .../html/classmoeoContributionMetric.html | 257 +++++++++++ .../docs/html/classmoeoContributionMetric.png | Bin 0 -> 1734 bytes ...eoDisctinctElitistReplacement-members.html | 40 ++ .../classmoeoDisctinctElitistReplacement.html | 200 ++++++++ .../classmoeoDisctinctElitistReplacement.png | Bin 0 -> 1508 bytes .../classmoeoElitistReplacement-members.html | 39 ++ .../html/classmoeoElitistReplacement.html | 149 ++++++ .../docs/html/classmoeoElitistReplacement.png | Bin 0 -> 1458 bytes .../html/classmoeoEntropyMetric-members.html | 46 ++ .../docs/html/classmoeoEntropyMetric.html | 144 ++++++ .../docs/html/classmoeoEntropyMetric.png | Bin 0 -> 1724 bytes .../html/classmoeoHybridMOLS-members.html | 48 ++ .../docs/html/classmoeoHybridMOLS.html | 141 ++++++ .../docs/html/classmoeoHybridMOLS.png | Bin 0 -> 757 bytes .../docs/html/classmoeoIBEA-members.html | 65 +++ .../docs/html/classmoeoIBEA.html | 111 +++++ .../docs/html/classmoeoIBEA.png | Bin 0 -> 2306 bytes .../html/classmoeoIBEAAvgSorting-members.html | 69 +++ .../docs/html/classmoeoIBEAAvgSorting.html | 195 ++++++++ .../docs/html/classmoeoIBEAAvgSorting.png | Bin 0 -> 2615 bytes .../html/classmoeoIBEASorting-members.html | 69 +++ .../docs/html/classmoeoIBEASorting.html | 195 ++++++++ .../docs/html/classmoeoIBEASorting.png | Bin 0 -> 2294 bytes .../classmoeoIBEAStochSorting-members.html | 69 +++ .../docs/html/classmoeoIBEAStochSorting.html | 183 ++++++++ .../docs/html/classmoeoIBEAStochSorting.png | Bin 0 -> 2623 bytes .../docs/html/classmoeoMOLS.html | 62 +++ .../docs/html/classmoeoMOLS.png | Bin 0 -> 1421 bytes .../docs/html/classmoeoMetric.html | 63 +++ .../docs/html/classmoeoMetric.png | Bin 0 -> 5840 bytes .../html/classmoeoNDSorting__II-members.html | 68 +++ .../docs/html/classmoeoNDSorting__II.html | 86 ++++ .../docs/html/classmoeoNDSorting__II.png | Bin 0 -> 2237 bytes ...Sorting__II_1_1compare__nodes-members.html | 37 ++ ...ssmoeoNDSorting__II_1_1compare__nodes.html | 59 +++ .../docs/html/classmoeoNSGA__II-members.html | 49 ++ .../docs/html/classmoeoNSGA__II.html | 152 +++++++ .../docs/html/classmoeoNSGA__II.png | Bin 0 -> 878 bytes .../classmoeoParetoEuclidDist-members.html | 37 ++ .../docs/html/classmoeoParetoEuclidDist.html | 57 +++ .../docs/html/classmoeoParetoEuclidDist.png | Bin 0 -> 734 bytes .../html/classmoeoParetoPhenDist-members.html | 36 ++ .../docs/html/classmoeoParetoPhenDist.html | 53 +++ .../docs/html/classmoeoParetoPhenDist.png | Bin 0 -> 735 bytes .../html/classmoeoParetoSharing-members.html | 69 +++ .../docs/html/classmoeoParetoSharing.html | 87 ++++ .../docs/html/classmoeoParetoSharing.png | Bin 0 -> 1683 bytes ...smoeoParetoSharing_1_1dMatrix-members.html | 39 ++ .../classmoeoParetoSharing_1_1dMatrix.html | 61 +++ .../docs/html/classmoeoReplacement.html | 62 +++ .../docs/html/classmoeoReplacement.png | Bin 0 -> 2057 bytes ...ssmoeoSelectOneFromPopAndArch-members.html | 49 ++ .../classmoeoSelectOneFromPopAndArch.html | 200 ++++++++ .../html/classmoeoSelectOneFromPopAndArch.png | Bin 0 -> 985 bytes .../docs/html/classmoeoSolutionUM.html | 62 +++ .../docs/html/classmoeoSolutionUM.png | Bin 0 -> 1489 bytes .../html/classmoeoSolutionVsSolutionBM.html | 62 +++ .../html/classmoeoSolutionVsSolutionBM.png | Bin 0 -> 1664 bytes .../paradiseo-moeo/docs/html/classmoeoUM.html | 61 +++ .../paradiseo-moeo/docs/html/classmoeoUM.png | Bin 0 -> 830 bytes .../docs/html/classmoeoVectorUM.html | 62 +++ .../docs/html/classmoeoVectorUM.png | Bin 0 -> 1761 bytes .../html/classmoeoVectorVsSolutionBM.html | 62 +++ .../docs/html/classmoeoVectorVsSolutionBM.png | Bin 0 -> 1770 bytes .../docs/html/classmoeoVectorVsVectorBM.html | 62 +++ .../docs/html/classmoeoVectorVsVectorBM.png | Bin 0 -> 1711 bytes trunk/paradiseo-moeo/docs/html/doxygen.css | 358 +++++++++++++++ trunk/paradiseo-moeo/docs/html/doxygen.png | Bin 0 -> 1281 bytes trunk/paradiseo-moeo/docs/html/files.html | 52 +++ trunk/paradiseo-moeo/docs/html/ftv2blank.png | Bin 0 -> 174 bytes trunk/paradiseo-moeo/docs/html/ftv2doc.png | Bin 0 -> 255 bytes .../docs/html/ftv2folderclosed.png | Bin 0 -> 259 bytes .../docs/html/ftv2folderopen.png | Bin 0 -> 261 bytes .../paradiseo-moeo/docs/html/ftv2lastnode.png | Bin 0 -> 233 bytes trunk/paradiseo-moeo/docs/html/ftv2link.png | Bin 0 -> 358 bytes .../docs/html/ftv2mlastnode.png | Bin 0 -> 160 bytes trunk/paradiseo-moeo/docs/html/ftv2mnode.png | Bin 0 -> 194 bytes trunk/paradiseo-moeo/docs/html/ftv2node.png | Bin 0 -> 235 bytes .../docs/html/ftv2plastnode.png | Bin 0 -> 165 bytes trunk/paradiseo-moeo/docs/html/ftv2pnode.png | Bin 0 -> 200 bytes .../paradiseo-moeo/docs/html/ftv2vertline.png | Bin 0 -> 229 bytes trunk/paradiseo-moeo/docs/html/functions.html | 335 ++++++++++++++ .../docs/html/functions_func.html | 216 +++++++++ .../docs/html/functions_type.html | 58 +++ .../docs/html/functions_vars.html | 194 ++++++++ trunk/paradiseo-moeo/docs/html/hierarchy.html | 205 +++++++++ trunk/paradiseo-moeo/docs/html/index.html | 8 + .../docs/html/index_8h-source.html | 35 ++ trunk/paradiseo-moeo/docs/html/installdox | 117 +++++ trunk/paradiseo-moeo/docs/html/main.html | 38 ++ .../docs/html/make__algo__MOEO_8h-source.html | 278 ++++++++++++ ...ArchiveFitnessSavingUpdater_8h-source.html | 85 ++++ .../html/moeoArchiveUpdater_8h-source.html | 71 +++ .../docs/html/moeoArchive_8h-source.html | 112 +++++ ...eoBinaryMetricSavingUpdater_8h-source.html | 100 ++++ .../moeoBinaryQualityIndicator_8h-source.html | 350 ++++++++++++++ .../docs/html/moeoCombinedMOLS_8h-source.html | 78 ++++ .../moeoContributionMetric_8h-source.html | 116 +++++ .../html/moeoEntropyMetric_8h-source.html | 194 ++++++++ .../docs/html/moeoHybridMOLS_8h-source.html | 84 ++++ .../docs/html/moeoIBEA_8h-source.html | 427 ++++++++++++++++++ .../docs/html/moeoMOLS_8h-source.html | 52 +++ .../docs/html/moeoMetric_8h-source.html | 110 +++++ .../docs/html/moeoNDSorting_8h-source.html | 121 +++++ .../docs/html/moeoNSGA__II_8h-source.html | 115 +++++ .../html/moeoParetoPhenDist_8h-source.html | 78 ++++ .../html/moeoParetoSharing_8h-source.html | 185 ++++++++ .../docs/html/moeoReplacement_8h-source.html | 162 +++++++ ...moeoSelectOneFromPopAndArch_8h-source.html | 94 ++++ .../docs/html/moeo_8h-source.html | 59 +++ trunk/paradiseo-moeo/docs/html/pages.html | 33 ++ trunk/paradiseo-moeo/docs/html/search.idx | Bin 0 -> 353919 bytes trunk/paradiseo-moeo/docs/html/search.php | 381 ++++++++++++++++ trunk/paradiseo-moeo/docs/html/tab_b.gif | Bin 0 -> 35 bytes trunk/paradiseo-moeo/docs/html/tab_l.gif | Bin 0 -> 706 bytes trunk/paradiseo-moeo/docs/html/tab_r.gif | Bin 0 -> 2585 bytes trunk/paradiseo-moeo/docs/html/tabs.css | 102 +++++ trunk/paradiseo-moeo/docs/html/tree.html | 306 +++++++++++++ trunk/paradiseo-moeo/docs/html/webpages.html | 31 ++ trunk/paradiseo-moeo/docs/latex/FreeSans.ttf | Bin 0 -> 22932 bytes 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 ++ ...lassmoeoAdditiveBinaryEpsilonIndicator.eps | 209 +++++++++ ...lassmoeoAdditiveBinaryEpsilonIndicator.tex | 83 ++++ .../docs/latex/classmoeoArchive.eps | 215 +++++++++ .../docs/latex/classmoeoArchive.tex | 111 +++++ .../classmoeoArchiveFitnessSavingUpdater.eps | 209 +++++++++ .../classmoeoArchiveFitnessSavingUpdater.tex | 67 +++ .../docs/latex/classmoeoArchiveUpdater.eps | 209 +++++++++ .../docs/latex/classmoeoArchiveUpdater.tex | 61 +++ .../paradiseo-moeo/docs/latex/classmoeoBM.eps | 247 ++++++++++ .../paradiseo-moeo/docs/latex/classmoeoBM.tex | 27 ++ .../classmoeoBinaryHypervolumeIndicator.eps | 209 +++++++++ .../classmoeoBinaryHypervolumeIndicator.tex | 147 ++++++ .../classmoeoBinaryMetricSavingUpdater.eps | 209 +++++++++ .../classmoeoBinaryMetricSavingUpdater.tex | 79 ++++ .../latex/classmoeoBinaryQualityIndicator.eps | 215 +++++++++ .../latex/classmoeoBinaryQualityIndicator.tex | 71 +++ ...assmoeoBinaryQualityIndicator_1_1Range.tex | 51 +++ .../docs/latex/classmoeoCombinedMOLS.eps | 209 +++++++++ .../docs/latex/classmoeoCombinedMOLS.tex | 101 +++++ .../latex/classmoeoContributionMetric.eps | 227 ++++++++++ .../latex/classmoeoContributionMetric.tex | 116 +++++ .../classmoeoDisctinctElitistReplacement.eps | 215 +++++++++ .../classmoeoDisctinctElitistReplacement.tex | 101 +++++ .../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/classmoeoIBEA.eps | 233 ++++++++++ .../docs/latex/classmoeoIBEA.tex | 60 +++ .../docs/latex/classmoeoIBEAAvgSorting.eps | 233 ++++++++++ .../docs/latex/classmoeoIBEAAvgSorting.tex | 103 +++++ .../docs/latex/classmoeoIBEASorting.eps | 233 ++++++++++ .../docs/latex/classmoeoIBEASorting.tex | 103 +++++ .../docs/latex/classmoeoIBEAStochSorting.eps | 233 ++++++++++ .../docs/latex/classmoeoIBEAStochSorting.tex | 101 +++++ .../docs/latex/classmoeoMOLS.eps | 209 +++++++++ .../docs/latex/classmoeoMOLS.tex | 29 ++ .../docs/latex/classmoeoMetric.eps | 236 ++++++++++ .../docs/latex/classmoeoMetric.tex | 25 + .../docs/latex/classmoeoNDSorting__II.eps | 233 ++++++++++ .../docs/latex/classmoeoNDSorting__II.tex | 51 +++ ...assmoeoNDSorting__II_1_1compare__nodes.tex | 27 ++ .../docs/latex/classmoeoNSGA__II.eps | 209 +++++++++ .../docs/latex/classmoeoNSGA__II.tex | 83 ++++ .../docs/latex/classmoeoParetoEuclidDist.eps | 197 ++++++++ .../docs/latex/classmoeoParetoEuclidDist.tex | 28 ++ .../docs/latex/classmoeoParetoPhenDist.eps | 197 ++++++++ .../docs/latex/classmoeoParetoPhenDist.tex | 22 + .../docs/latex/classmoeoParetoSharing.eps | 221 +++++++++ .../docs/latex/classmoeoParetoSharing.tex | 60 +++ .../classmoeoParetoSharing_1_1dMatrix.tex | 31 ++ .../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 | 78 ++++ trunk/paradiseo-moeo/docs/latex/hierarchy.tex | 138 ++++++ trunk/paradiseo-moeo/docs/latex/main.tex | 5 + trunk/paradiseo-moeo/docs/latex/pages.tex | 5 + trunk/paradiseo-moeo/docs/latex/refman.tex | 74 +++ trunk/paradiseo-moeo/docs/latex/webpages.tex | 3 + .../man3/eoAdditiveBinaryEpsilonIndicator.3 | 91 ++++ .../man/man3/eoBinaryHypervolumeIndicator.3 | 171 +++++++ .../docs/man/man3/eoBinaryQualityIndicator.3 | 81 ++++ .../man/man3/eoBinaryQualityIndicator_Range.3 | 55 +++ trunk/paradiseo-moeo/docs/man/man3/eoIBEA.3 | 62 +++ .../docs/man/man3/eoIBEAAvgSorting.3 | 101 +++++ .../docs/man/man3/eoIBEASorting.3 | 101 +++++ .../docs/man/man3/eoIBEAStochSorting.3 | 97 ++++ .../docs/man/man3/eoParetoEuclidDist.3 | 28 ++ .../docs/man/man3/eoParetoPhenDist.3 | 21 + .../docs/man/man3/eoParetoSharing.3 | 64 +++ .../docs/man/man3/eoParetoSharing_dMatrix.3 | 36 ++ .../man3/moeoAdditiveBinaryEpsilonIndicator.3 | 91 ++++ .../docs/man/man3/moeoArchive.3 | 111 +++++ .../man3/moeoArchiveFitnessSavingUpdater.3 | 75 +++ .../docs/man/man3/moeoArchiveUpdater.3 | 65 +++ trunk/paradiseo-moeo/docs/man/man3/moeoBM.3 | 27 ++ .../man/man3/moeoBinaryHypervolumeIndicator.3 | 169 +++++++ .../man/man3/moeoBinaryMetricSavingUpdater.3 | 91 ++++ .../man/man3/moeoBinaryQualityIndicator.3 | 83 ++++ .../man3/moeoBinaryQualityIndicator_Range.3 | 55 +++ .../docs/man/man3/moeoCombinedMOLS.3 | 107 +++++ .../docs/man/man3/moeoContributionMetric.3 | 125 +++++ .../man3/moeoDisctinctElitistReplacement.3 | 105 +++++ .../docs/man/man3/moeoElitistReplacement.3 | 77 ++++ .../docs/man/man3/moeoEntropyMetric.3 | 93 ++++ .../docs/man/man3/moeoHybridMOLS.3 | 77 ++++ trunk/paradiseo-moeo/docs/man/man3/moeoIBEA.3 | 62 +++ .../docs/man/man3/moeoIBEAAvgSorting.3 | 105 +++++ .../docs/man/man3/moeoIBEASorting.3 | 105 +++++ .../docs/man/man3/moeoIBEAStochSorting.3 | 101 +++++ trunk/paradiseo-moeo/docs/man/man3/moeoMOLS.3 | 29 ++ .../paradiseo-moeo/docs/man/man3/moeoMetric.3 | 25 + .../docs/man/man3/moeoNDSorting_II.3 | 60 +++ .../man/man3/moeoNDSorting_II_compare_nodes.3 | 30 ++ .../docs/man/man3/moeoNSGA_II.3 | 95 ++++ .../docs/man/man3/moeoParetoEuclidDist.3 | 28 ++ .../docs/man/man3/moeoParetoPhenDist.3 | 21 + .../docs/man/man3/moeoParetoSharing.3 | 64 +++ .../docs/man/man3/moeoParetoSharing_dMatrix.3 | 36 ++ .../docs/man/man3/moeoReplacement.3 | 27 ++ .../man/man3/moeoSelectOneFromPopAndArch.3 | 105 +++++ .../docs/man/man3/moeoSolutionUM.3 | 25 + .../docs/man/man3/moeoSolutionVsSolutionBM.3 | 25 + trunk/paradiseo-moeo/docs/man/man3/moeoUM.3 | 25 + .../docs/man/man3/moeoVectorUM.3 | 25 + .../docs/man/man3/moeoVectorVsSolutionBM.3 | 25 + .../docs/man/man3/moeoVectorVsVectorBM.3 | 25 + trunk/paradiseo-moeo/docs/man/man3/webpages.3 | 15 + 301 files changed, 27492 insertions(+) create mode 100644 trunk/paradiseo-moeo/docs/html/README-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/annotated.html create mode 100644 trunk/paradiseo-moeo/docs/html/classes.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoArchive-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoArchive.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoArchive.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBM.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBM.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEA-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEA.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEA.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoMOLS.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoMOLS.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoMetric.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoMetric.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoReplacement.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoReplacement.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch-members.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoUM.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoUM.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.png create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.html create mode 100644 trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.png create mode 100644 trunk/paradiseo-moeo/docs/html/doxygen.css create mode 100644 trunk/paradiseo-moeo/docs/html/doxygen.png create mode 100644 trunk/paradiseo-moeo/docs/html/files.html create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2blank.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2doc.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2folderclosed.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2folderopen.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2lastnode.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2link.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2mlastnode.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2mnode.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2node.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2plastnode.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2pnode.png create mode 100644 trunk/paradiseo-moeo/docs/html/ftv2vertline.png create mode 100644 trunk/paradiseo-moeo/docs/html/functions.html create mode 100644 trunk/paradiseo-moeo/docs/html/functions_func.html create mode 100644 trunk/paradiseo-moeo/docs/html/functions_type.html create mode 100644 trunk/paradiseo-moeo/docs/html/functions_vars.html create mode 100644 trunk/paradiseo-moeo/docs/html/hierarchy.html create mode 100644 trunk/paradiseo-moeo/docs/html/index.html create mode 100644 trunk/paradiseo-moeo/docs/html/index_8h-source.html create mode 100755 trunk/paradiseo-moeo/docs/html/installdox create mode 100644 trunk/paradiseo-moeo/docs/html/main.html create mode 100644 trunk/paradiseo-moeo/docs/html/make__algo__MOEO_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoArchiveFitnessSavingUpdater_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoArchiveUpdater_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoArchive_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoBinaryMetricSavingUpdater_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoBinaryQualityIndicator_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoCombinedMOLS_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoContributionMetric_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoEntropyMetric_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoHybridMOLS_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoIBEA_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoMOLS_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoMetric_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoNDSorting_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoNSGA__II_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoParetoPhenDist_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoParetoSharing_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoReplacement_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeoSelectOneFromPopAndArch_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/moeo_8h-source.html create mode 100644 trunk/paradiseo-moeo/docs/html/pages.html create mode 100644 trunk/paradiseo-moeo/docs/html/search.idx create mode 100644 trunk/paradiseo-moeo/docs/html/search.php create mode 100644 trunk/paradiseo-moeo/docs/html/tab_b.gif create mode 100644 trunk/paradiseo-moeo/docs/html/tab_l.gif create mode 100644 trunk/paradiseo-moeo/docs/html/tab_r.gif create mode 100644 trunk/paradiseo-moeo/docs/html/tabs.css create mode 100644 trunk/paradiseo-moeo/docs/html/tree.html create mode 100644 trunk/paradiseo-moeo/docs/html/webpages.html create mode 100644 trunk/paradiseo-moeo/docs/latex/FreeSans.ttf 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/classmoeoAdditiveBinaryEpsilonIndicator.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.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/classmoeoBinaryHypervolumeIndicator.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.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/classmoeoBinaryQualityIndicator.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator_1_1Range.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/classmoeoIBEA.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.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/classmoeoParetoEuclidDist.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.eps create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing_1_1dMatrix.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/pages.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/refman.tex create mode 100644 trunk/paradiseo-moeo/docs/latex/webpages.tex create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoAdditiveBinaryEpsilonIndicator.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoBinaryHypervolumeIndicator.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator_Range.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoIBEA.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoIBEAAvgSorting.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoIBEASorting.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoIBEAStochSorting.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoParetoEuclidDist.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoParetoPhenDist.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing_dMatrix.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoAdditiveBinaryEpsilonIndicator.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoArchive.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoArchiveFitnessSavingUpdater.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoArchiveUpdater.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoBM.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoBinaryHypervolumeIndicator.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoBinaryMetricSavingUpdater.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator_Range.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoCombinedMOLS.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoContributionMetric.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoDisctinctElitistReplacement.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoElitistReplacement.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoEntropyMetric.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoHybridMOLS.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoIBEA.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoIBEAAvgSorting.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoIBEASorting.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoIBEAStochSorting.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoMOLS.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoMetric.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II_compare_nodes.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoNSGA_II.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoParetoEuclidDist.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoParetoPhenDist.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing_dMatrix.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoReplacement.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoSelectOneFromPopAndArch.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoSolutionUM.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoSolutionVsSolutionBM.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoUM.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoVectorUM.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsSolutionBM.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsVectorBM.3 create mode 100644 trunk/paradiseo-moeo/docs/man/man3/webpages.3 diff --git a/trunk/paradiseo-moeo/docs/html/README-source.html b/trunk/paradiseo-moeo/docs/html/README-source.html new file mode 100644 index 000000000..c68183072 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/README-source.html @@ -0,0 +1,30 @@ + + +ParadisEO-MOEO: README Source File + + + + +
+
+

README

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

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

ParadisEO-MOEO Class List

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

ParadisEO-MOEO Class Index

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

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

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

+


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

moeoAdditiveBinaryEpsilonIndicator< EOFitness > Member List

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

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


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

moeoAdditiveBinaryEpsilonIndicator< EOFitness > Class Template Reference

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

+#include <moeoBinaryQualityIndicator.h> +

+

Inheritance diagram for moeoAdditiveBinaryEpsilonIndicator< EOFitness >: +

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

Public Member Functions

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

Private Types

+typedef EOFitness::fitness_traits traits
 fitness traits

Private Member Functions

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

Detailed Description

+

template<class EOFitness>
+ class moeoAdditiveBinaryEpsilonIndicator< EOFitness >

+ +Functor Additive binary epsilon indicator for eoParetoFitness. +

+ +

+Definition at line 115 of file moeoBinaryQualityIndicator.h.


Member Function Documentation

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

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

+

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

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

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

+

+ +

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

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

+

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

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

+References moeoBinaryQualityIndicator< EOFitness >::bounds. +

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.png b/trunk/paradiseo-moeo/docs/html/classmoeoAdditiveBinaryEpsilonIndicator.png new file mode 100644 index 0000000000000000000000000000000000000000..ab02eb8afe24440cce99248269bb92ac439a3412 GIT binary patch literal 1487 zcmbtUX;6~~5DkbIhfP)FQV2TI0CI`SAs9dq6OeG_BOKB|2GEdzC@~_Jaww=ARRThT z)KO6KB|;z{7$gt@NgHfJmC#Vm7J{6jAP5vlQ~&gT{jt06&Ft*XynVB|zCNB>>iX(1 z7)%R&+T9-pQ!!Oyf!ZczX5P-hDvPeKcc6ztp-@7FLQqjbC{&^^ArJ_X+Z1C;s*>pM z6997=mqo*1o1@U~u7Ot=vkb4|Q6${s)nlPxN4NS^Vm$H`q&Uc3&Rh%2CHED)Z~wJ` zk~Lzs+a9a`c(!8u3bf9b2gtKIUUJmaB%qzUl;n!^3Dm`a|bvkm-;oO_f1Va z&%?!QOMWUSn?BVpWRvf-Ujhp+ElF9e#x-GANmyW50!C{(8aSdbVS6);YZwW`Mwv#@ z!Flzp&R}5lHR;ucmBz=|7vJzW?7!g+u)k`C$(uSDKx?{2sEYLyDWk82Wr-lG3tuygp5p$2z6l-t2_Zt%~oOsTiC-tcvn0ZAeMF@%!T2M)A>I zMG113>LqQ^8heYi)Jam*;YuULz@NKc@#aDfw4Me^u%jSgVxf_eJ286s?DSRE(tFLaK)mhKv%*3zl%aW15Gpv;sb*gHNL8?lAB)_8`LT6L z{J}FMo7PJhBuR6d>%(W$7ik~b4}l5AQu|ovOTpMU+U9T_i>Y%e#rmdnt|5v^?Y6G+#%aF!*TOV{$@| zM_BvL{6bB36;hI{14f^0^ehu_3;H`*YxJS>ZAZe_XGQBeZET&khsEGaT5M$LqBND| zO#^R`qAnrV4LKB@mYd4is{An1Ic4XPlXI(GkobvbKpM4?lry*lK;f8co{$jF<3s96 zbR8d=m=w<@Pa^GhS}ha=e2U zG;&qKxT`)-Hy)*zJ18#|4Mi$SvhmY;$k)7!1Ru~LXvgdGM`IeSK#i}n>wkV9kQJB0 z`I80(A1sx==pyYUSH87^&g0CG#QcnW;`6aQ=#P6DmrIt3Dbu3>MjNa;13C9dM|e|) zhOERmG%9YIU4*ihua9On`iI1iBkfl05%Sxqp)Cj?z%2W~?yPqk6ceX~gViH4$+_XG zUMVI%>ihD3jbT20N8W_YZ`EJe1s@ID%l1xTCpL(vZr4q5-t`sn5+hbxEpsu@sT>mo za${qpz4@Ve=zcqTi(6dQc%an}mj@#y9KI}K;NVO@PHbA(6AH@E0}n%1CX76opWvVF z64X0v&75>;$IIEK^995fa*Gl|xCxy^)8>h(TScy_|1*U7ty#9GGK;VtxAL~E^@`7~`d z*JsgCI1>BRv1e{v%Y4vzKr{`kP?9V`Y~7b GLdHL3X2R + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoArchive< EOT > Member List

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

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


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

moeoArchive< EOT > Class Template Reference

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

+#include <moeoArchive.h> +

+

Inheritance diagram for moeoArchive< EOT >: +

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

Public Types

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

Public Member Functions

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

Detailed Description

+

template<class EOT>
+ class moeoArchive< EOT >

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

+ +

+Definition at line 21 of file moeoArchive.h.


Member Function Documentation

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

+Returns true if the current archive dominates _fit. +

+

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

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

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

+

+ +

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

+Returns true if the current archive contains _fit. +

+

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

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

+

+ +

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

+Updates the archive with a given individual _eo. +

+

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

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

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

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

+

+ +

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

+Updates the archive with a given population _pop. +

+

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

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchive.png b/trunk/paradiseo-moeo/docs/html/classmoeoArchive.png new file mode 100644 index 0000000000000000000000000000000000000000..c691aff7637833d7cb84e6d555c87c5f006e19cf GIT binary patch literal 1083 zcmeAS@N?(olHy`uVBq!ia0y~yV3Y!~53n!;NlpKaB|u6dz$e7@|Ns9$=Kuc(=Fd-< z0AzvjfddDs5B+}vMVtyT0Fq?7v{?p{YVNy#aryP?M zzL)d&(UT0L7L(qMc7~nDqF&GWn!fLBn_0TvvX9PeeIChwcH3`Ss4LUXCpl|FUJg^| z)IZabjvtH$D_FmHHy=0QP#(GBa z!Kux2xt1_y-Ic$@vh~=aN*f2Mg_j~slGi3JtyG-A=D?K6ph6wWVt>n9MFDSxZR{yJ zjZ@q*Z)C<4%$Ro8u`X36xN$;i#%l%tvYVW}z5k+Jzw=7%{=f2jrrCAf8#fNh^zyQw z)9@9(v-3e+`r>o9L{4mPy>L+`fALD0lV^|ViKS|v&HAh+Y`k-(UiGYZCo*yu-duC* zd)lgqnTGZ+wcARjTHbTpY zR=ZfMA$R^(WvS?*l?eeqtq^ojRM=Yrl5(s%3gn=3m$4hXgDxr`6;(Kt}jjN z!Ix9Ma`v09m?YX1yIeLj|I9Tt<5T3!?VIve&3d&JNSrcRxQy#;7|^@R;(cqipdPta f?_GRV_KbM=>61oE?M`ceIi11N)z4*}Q$iB}hK%WG literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater-members.html new file mode 100644 index 000000000..ef776c99b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater-members.html @@ -0,0 +1,48 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoArchiveFitnessSavingUpdater< EOT > Member List

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

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


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

moeoArchiveFitnessSavingUpdater< EOT > Class Template Reference

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

+#include <moeoArchiveFitnessSavingUpdater.h> +

+

Inheritance diagram for moeoArchiveFitnessSavingUpdater< EOT >: +

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

Public Member Functions

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

Private Attributes

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

Detailed Description

+

template<class EOT>
+ class moeoArchiveFitnessSavingUpdater< EOT >

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

+ +

+Definition at line 27 of file moeoArchiveFitnessSavingUpdater.h.


Constructor & Destructor Documentation

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

+Ctor. +

+

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.png b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveFitnessSavingUpdater.png new file mode 100644 index 0000000000000000000000000000000000000000..b15ca800a1e0b0efa0cc08727352f903fad8b5ae GIT binary patch literal 922 zcmeAS@N?(olHy`uVBq!ia0y~yU}Ofe53qp9PhX_NfRsdlPl)UP|Nnu^|NjrnpPw)R z$O7X72M$yp`u_yTWh@Eu3ubV5b|Z~}f!V;*#WAE}&fDAGMUNE(*b+9L-1U&{1xxVB z*0iU;ulR{`56s18b-5!#fcxjFP@u1;4u3 zb0Ok`;+)xn&rJjz7!s`xy?FoOrT3rRZ(qMPu3>ukseDTU)1m86nGT6O}6I2H+|r2xgl1+CF%0ig4LVF7p^)Zp_b*&GnXT@R;%z8pB`ssxO!8_qB1q@ zF5BFSc>!5d%_2Fh4_$5(4^zCZmAk3!LZaxchzmx!=OcEU;?TTMcDCcOG|(mk*~Bm9 z6<0L*vmST12n(ob2>Ch8P?T|GU}OQh6h^QKxczTuF7*jd zBRH<+POarwY9qSn+LBebwSEhStv>T~_fIRqqLoI%JKW!YdE*jsy)8lfk)P>bkwbqY zUbt-NnXo&e*o|fP+D*a>w}dZadB}1|ke5Y(i#Uh;dEv&r_rKn~Y=wpoGaRnA-QE`b zLGQ^o=DEwiNlZ7-EZ35qckHv_B#wTLb5rm3u2u}V{gGQyK3G<*#YFY-CF!g7J|6q$ zY^*CZI<{%L&BWfx@{_htJGLayZ&$_KZD&pN-aa|FP9R1*oT+l=iJLWl3O;#FvwQz= za`yDeb;rB*+@5F~I@`*l?Pqq=Vy7FvDJ;^_-%dP_;9c}qCspreq~8=ytqBn;!X5kX z30gd;xcawm!nDBeI#(_B3e@Pdi(m9@Vlm(kJNUJAL+G0DgKDuc-Wv{RJvLdE5xspj zOZ1$jYn+^SY~=c>a!#)7)Y7ijqAaZzoA+}gBD{1$BrhIwI?17&A*P|2&T`yxYEMB? z%V`$R=90EKf=eVfsy_X;vtX*A`?l!$a{FZqH5!iz$8`P)Yzdd*P!Iv7wt4>;nf)v) U+_~O717;)!Pgg&ebxsLQ0Ks~aNB{r; literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater-members.html new file mode 100644 index 000000000..96f5a79b1 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater-members.html @@ -0,0 +1,46 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoArchiveUpdater< EOT > Member List

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

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


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

moeoArchiveUpdater< EOT > Class Template Reference

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

+#include <moeoArchiveUpdater.h> +

+

Inheritance diagram for moeoArchiveUpdater< EOT >: +

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

Public Member Functions

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

Private Attributes

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

Detailed Description

+

template<class EOT>
+ class moeoArchiveUpdater< EOT >

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

+ +

+Definition at line 23 of file moeoArchiveUpdater.h.


Constructor & Destructor Documentation

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

+Ctor. +

+

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.png b/trunk/paradiseo-moeo/docs/html/classmoeoArchiveUpdater.png new file mode 100644 index 0000000000000000000000000000000000000000..f31a59d019b56bf90e25911ac97c62078adec73b GIT binary patch literal 765 zcmVWa}t(R7noN|#U1JFyW`qPBEz{RB@8S10C(iHWzaxrVy-lykU zUq%ooP4C)2MO|xsf~@F{sGGHxvg8?S-DC)L&&iOkX0*{Cqz7&m25xaKLR+2hee^vu z#Au_9Hri;TjW+sBdf?Xmp8v}j{SsZ@vcvjuWx5t}aEjDL{aRliUCU2YZsMAgdads? zI+jXVeT%J+uBE<8BaHy`)3wxx^9{uEnqM!yxz@dO&JcQ=v1SOC*ZTVC#SI*4|2}=N z8U0Rr;AUaq7Uv?g)%o5>-!nsuHri;TjW*h7qtB#aSaV^_{W<52{xBU>$IpFV&T(p( z8|6d#aGpCmv{#(I-ZmX%Be3`nlOWK{5N0|QeL)9c zz-NaUJ^~u7-{fPE5xydw+|n@93n0^c%V9<5t}Ap9+2y~z8Z|UDPe`%Ag7&lmplJ^j zJS~#Q?SeoPb;cN8(D^aWx8^e^_L^>^E@x%B90j+v) + +ParadisEO-MOEO: moeoBM< A1, A2, R > Class Template Reference + + + + +
+
+ +

moeoBM< A1, A2, R > Class Template Reference

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

+#include <moeoMetric.h> +

+

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

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

Detailed Description

+

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

+ +Base class for binary metrics. +

+ +

+Definition at line 38 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBM.png b/trunk/paradiseo-moeo/docs/html/classmoeoBM.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e291872cb4379de2846b8f4fa13d3986b8b499 GIT binary patch literal 3649 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 DvcTLd literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator-members.html new file mode 100644 index 000000000..3cd69bcb6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator-members.html @@ -0,0 +1,50 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoBinaryHypervolumeIndicator< EOFitness > Member List

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

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


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

moeoBinaryHypervolumeIndicator< EOFitness > Class Template Reference

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

+#include <moeoBinaryQualityIndicator.h> +

+

Inheritance diagram for moeoBinaryHypervolumeIndicator< EOFitness >: +

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

Public Member Functions

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

Private Types

+typedef EOFitness::fitness_traits traits
 fitness traits

Private Member Functions

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

Private Attributes

+double rho
 reference point for the hypervolume calculation
+

Detailed Description

+

template<class EOFitness>
+ class moeoBinaryHypervolumeIndicator< EOFitness >

+ +Functor Binary hypervolume indicator for eoParetoFitness. +

+ +

+Definition at line 206 of file moeoBinaryQualityIndicator.h.


Constructor & Destructor Documentation

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

+constructor +

+

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

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

+References moeoBinaryHypervolumeIndicator< EOFitness >::rho. +

+

+


Member Function Documentation

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

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

+

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

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

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

+

+ +

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

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

+

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

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

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

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

+

+ +

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

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

+

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

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

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

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

+

+ +

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

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

+

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

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

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.png b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryHypervolumeIndicator.png new file mode 100644 index 0000000000000000000000000000000000000000..817ee9099d5d431b866f3af27e280869e2e74a3b GIT binary patch literal 1432 zcmbtUYfw@N6u#P;JtWQElF_bPZZ+Z~Ge_N$0nJfm4G74v@`p^>Bl+eJ9GY=`Of#9yofLiVwuA- z000mNg95MsVBu)S9p5Z6=WZ4oVJ_<qobpP+-Vvyw-#yG zFdX1NCO-}UR_KEPd+}#)Ox}n+quy*6SPAPFXPi4+P@;&SCYplRYja6fU5tC(A*Zii zbfFC`aj1Ij6}@27C7LE9^WI2^h7bDRn9?Sny2ic&iZUk!&1XibGzqh(6_^LQSC{$1 z!X)*@%csG%^Sso2CQD8Z1%`Hz3)nRPn@?K!%Pr6S zX$26L1D$JuFBvqlzy0JJ;i7Jh-wkDlz#wn5o#Np^6!aXvszO_>6Au*e>Qg*kD7SxH zJ3ZK_EQKiVrXCYHl!kuF8Mdchw{)qZAM4~80FQ5-+=6msDatt3uy@9`oLlzU&oG*7 z$}tRB7h2uRc*)uq&Jas`iW&4R*ohYMc1W$;*d@L$Myj1_Tx&RZ>L>Rn&bQhKt(n!n zRQ*nWncj1mEA_wxRcHJdb|)M*lQX6|wNGy8Qa;*@nc3i?`mscur1gWszLJ9fNE>12 z%BTGKmu7PYKfG~=3~5l>Kw=CbSUD){D}8!FAJG4Mcm2fsku=FKvhky?X>%mIVxTw@TCAX=-c?(B z%Y^cej`vET+m6WKzo@E5*{bMx=Z%TA@y|}8W-f_)NebqIUSuKG4Y>K4q*FLcNtO64 z__qDmnBxn^O$WL&nP!c)kv-ww*I9-eU!%|e75z90@un;yziC2KDtdn2l^S!e1+L>|63bA3abRa=YOc&Jqq?(4%%HY@9oENIvX=ZvE zuW5Gynprg%nH01`b{E@)sT{_|R5r|KYRc1+yc?!`Wy5Eq__nLr@15egoaGXQ(K}6U zxRy=&qh)jDu|gq6gv=y%7L!MNZdUN#;x?tO3;qYE=RGg9E$!MZ#fO#IRgzHDz>O#> z$tOK7hS|%-Yt(cS95ue9?*XOIS3JXKU(iN7z-~5Wq|AHR%0;jor;YRmF`#>$%vD&$ zfcK+rE|>MGFV4`l + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoBinaryMetricSavingUpdater< EOT > Member List

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

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


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

moeoBinaryMetricSavingUpdater< EOT > Class Template Reference

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

+#include <moeoBinaryMetricSavingUpdater.h> +

+

Inheritance diagram for moeoBinaryMetricSavingUpdater< EOT >: +

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

Public Types

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

Public Member Functions

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

Private Attributes

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

Detailed Description

+

template<class EOT>
+ class moeoBinaryMetricSavingUpdater< EOT >

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

+ +

+Definition at line 26 of file moeoBinaryMetricSavingUpdater.h.


Constructor & Destructor Documentation

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

+Ctor. +

+

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.png b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryMetricSavingUpdater.png new file mode 100644 index 0000000000000000000000000000000000000000..333491908f46334a597ec49f560c8789191b30df GIT binary patch literal 877 zcmV-z1CsoSP)U33(Jg&)?(n8uujL57%5LA+~t0HLtRLrfj50 z&i1_K6hg0T?@)jP2YwPh^rQ1z5yImB&aJB;n4jede;J|?c2M+uc zeCU@0*Zocg_^05p-O9+j5GUdHg8lJow?VrRb0CK9c(u=xI#LICgCmE!Wyye z?9+GRWp7QH5LWm;eecL^Z%vs7?>h2!&GS~`IcvVjcG*NcDccV&z<~ol2_O2=dFVe4 zpNnH(?Q-~qvmH2a;J|?c2M!!KaNwulL%$rj?sqc4KL{_+hy{E3-*MY)2$7%H388vy ztv6n_SwhTvE7fCbXX3N&D%tZ>-ErGmGn^y&8M^NHJU6&b`-A=6gYm~}-W}I$muCVk z+k-x~)*UZpHwOF&{Otn#iullv&O`rc_*@+OYL~+=obAAY0|yQqIB?*=fdfAUr*Xwk z{*Wp7Q2`E|izAv`ds+T12abGQDIq)bb$Dsh%RQ3h-{I3HNGZB*(YO73g4;dSZGt<; z@dQZkq>&WS^Hk{+C!cD)=L2b4u1#0EROh^x`|@GFRBkW0Yx|sWPt1F1Y08ZxPtIMA zrm$99e6m~k8hNP>UAc_5_%e-*%Sa0@Ypyl;%^16{V zUR5s#`NYHrYd)1Vud=;e^D5hI%}G+&>43SKmIEih&TvWbbf0Cr&)L4b)t2}9CflEs z%^UiD@jI@49e?Q$u + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoBinaryQualityIndicator< EOFitness > Member List

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

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


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

moeoBinaryQualityIndicator< EOFitness > Class Template Reference

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

+#include <moeoBinaryQualityIndicator.h> +

+

Inheritance diagram for moeoBinaryQualityIndicator< EOFitness >: +

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

Public Member Functions

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

Protected Attributes

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

Private Types

+typedef EOFitness::fitness_traits traits
 fitness traits

Classes

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

Detailed Description

+

template<class EOFitness>
+ class moeoBinaryQualityIndicator< EOFitness >

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

+ +

+Definition at line 28 of file moeoBinaryQualityIndicator.h.


Member Function Documentation

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

+set the bounds for objective _iObj +

+

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

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.png b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator.png new file mode 100644 index 0000000000000000000000000000000000000000..14f128256aaed085cc6b638e1dfea6cc858ced10 GIT binary patch literal 1942 zcmbW2c{J4PAIHZJDSqOXY~4$ixe~sT#xDDseQC0MZ6hwSHNF#R=#mlT5;qKu5n0AC z?vRTa_a+J%OR5?BRR-B*8C&Ge>DM`(-#NeEKlhL4^}L?*{P#ZZ&-0`?Iamn`N(;hZ zFku^Oa~BxwU*24A<>Td2;Ye{dcawCobF(-&IN<8RK`W8ym&LU&tF^T?zU^R&d*q36 zad3qh&kO~@U;?T(<|b~j50?nx5s!65aV84Ak&7qun_EMzM%K-xmA8!ACacyYWC>XP zt5LICHm}DeQRx*7t%eiKmi3y1?J9`pbyX zhzTT;K8q$zuq>Jg6gWBQIOxB#3goKtQ+4i8wr%H~@^lNZucs#&#UgUK zy}}3iM^&a41Bd66{vl$IfO{)ZqI>3(eQ;nU78bqOVS zuXZYyWAFIK*`$7^k0&xKvTb>`JHXV*`7NSQq1I9OVZ5lcb9f)!wvcvZ1F-$ zCr~IwAlFvjk4br~Qj@TQUzN)!bo6dtu!v#eifmQb7BK{V$izv4?<+Q{7v@D?ZZ>&# zBR?LKWfTcOCLh}li@r^16;d#Ek~oxlcLc5x61gnW-UVh-0DbI@qsr;!gg)Iez~r7P^F>Z05#+T7Y{ z4g;7ZD*BEEJOR5_IyE@YJqM@Eap`!syf@R)RS>Cs!=Nm+MV^I}t)WyEae6Z9BOiz5 zOM~Yy_Vd<>*DwfLcAK)cJl4@}HVZMu>h|*2_x-esqva|vhT&j8zM6Cf&%z+QT(k;O z?J+M97lYLZ12xIBx$TS6(qOKd>&AI4f^&B$$o`RztD&4X>slACBg@dG!O|OJ0}WDi z+&RoNo;ugOB}uQsYh;2Ew#gZHbKWb$&k0w)rWQ#l5u{uTcUmrDPNC=QgF2K#iHT8- z0}a>HcUD7`y1^K%{k3t+L5YF?8|@(@9r~TT?aP}6+#!*$yj2YF`AG64(a!3;HTzbB zZ`N{)vK7%h(gQ>y1)|J}q+JXIv-)=ZzwJ4m)<;hqAinY3RXK$D%dp_HZcW)l`vh{r zJxqWJL1OxQB>>;oQ5zb35RoV|iT(49+HLkY8`&s|S;ei<>fH2CS85L!Nq9|6|4iBZ zafJ0bK{Fxv(IVC3WI(;iXK$$MBnC?HTSDBwy|hHy?^}3f(7S+ICBdJ9d2z*I@tVda+;8s#qV;EdXx%ETh$H8d6-`O`r5a4d358ulTb^z?4@@ z*jmav7q4A9Ynrg^v_&@Z_xN==JKddIs&_dQH!DGJ%4F4&;+_Zg3C;Eozel?bKt<=} zNg?S%EzgBeAy@Mdv`09!HqxZuIN;7)pF0%>)=$h=iI@%Q1uwuu;NnPr?@_9KaE9@y z>v3Az)loMGL*r1yu)8)vI|o&N7A@v~JRX9%$D)7H&Oh=)-OSA_xS8tySP?K@D_jv5 zNmU3z&+Vhp>EXX?Z&)LvZ1Ok_5TX-C46D_)X literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range-members.html new file mode 100644 index 000000000..0b87cd607 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoBinaryQualityIndicator_1_1Range-members.html @@ -0,0 +1,44 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoBinaryQualityIndicator< EOFitness >::Range Member List

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

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


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

moeoBinaryQualityIndicator< EOFitness >::Range Class Reference

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

+#include <moeoBinaryQualityIndicator.h> +

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

Public Member Functions

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

Private Attributes

+double min
+double max
+double r
+


Detailed Description

+

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

+ +Private class to represent the bounds. +

+ +

+Definition at line 62 of file moeoBinaryQualityIndicator.h.


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

moeoCombinedMOLS< EOT > Member List

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

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


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

moeoCombinedMOLS< EOT > Class Template Reference

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

+#include <moeoCombinedMOLS.h> +

+

Inheritance diagram for moeoCombinedMOLS< EOT >: +

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

Public Member Functions

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

Private Attributes

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

Detailed Description

+

template<class EOT>
+ class moeoCombinedMOLS< EOT >

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

+ +

+Definition at line 24 of file moeoCombinedMOLS.h.


Constructor & Destructor Documentation

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

+Ctor. +

+

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

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

+References moeoCombinedMOLS< EOT >::combinedMOLS. +

+

+


Member Function Documentation

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

+Adds a new local search to combine. +

+

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

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

+References moeoCombinedMOLS< EOT >::combinedMOLS. +

+

+ +

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

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

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

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

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

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.png b/trunk/paradiseo-moeo/docs/html/classmoeoCombinedMOLS.png new file mode 100644 index 0000000000000000000000000000000000000000..26f6e97e68acb74388c99db3fdc87446bcba4eaf GIT binary patch literal 1403 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yo53n!;$@a?SUxAcFfKQ0)|NsAi%>Vxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fq_-f)5S5QV$Rz+(M4Z0c--DjuiSQn@eE&@ z*^=dN>N%5-T%De`w7$bW=dzs$}G3d_1Kh z$kV<}b($@U=b{-g%?moS3-U`X4&GhZ_aM-~XJh|TTa}BGo77yMZ(Xp)|MC=_yVn-< z?w>VTp@cUqGN-rVjjmbB#x;)KVzZ9=8?Z*tY+4I+NnNADujHl2E=j+$OG=l}UGU+$ z_$`OTii7L*-L&_lR~&peIfcvYa0Vl<8+V35ltc4HCaE5=3kh2q*cP*z0M#EPQR=&# zz+cv-$9}{!`X4k~mY}_L!Tnv^^-smtEWUEQ#ctE_|5=OgU)w(?E9{Woru)9@-X*VZ z)!q42;YZrx1H~QxW{Vp|-KDOz2v3a>I=c(IP+{fJFd6j3s@VqpS^>14B z8{OHj-Rd4~%~amUaqCHipilL;y8r(aW~}B73NKn}7$UobBdn>iOY<7DiuC>FRoTgf ztg)<*?<~{Q3+2D$B<|Rys`BKM#mX$DwFj-5c5?%*=BhAl+vE~ zX3fOTS5LfF>Rz9$eg5DUHqCv(AN3<;SRZdasFq$>#V5CEM$lXT7gc8;vF#EutctU3 zkY?R|#ei%5y_f5MMcb$ZZ0Vsn-_GZErOXr9a_#Bg z(x3N57V@Z0)qRrpZk@+7K}YA%)~1bS8pm&S$C#DIt9r7E^NrX+kbNYy+yyKy_>QwdOH7)We;Bc zUR!OT!u3$>-&OPce-+)&w`uG+y0F`)=gq^tr6PAcVy>y~J2BTRQ?1_T*ox;EiO-Mfh8q_r>mdK II;Vst0Q`%5`~Uy| literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric-members.html new file mode 100644 index 000000000..25eed64f6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric-members.html @@ -0,0 +1,41 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoContributionMetric< EOT > Member List

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

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


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

moeoContributionMetric< EOT > Class Template Reference

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

+#include <moeoContributionMetric.h> +

+

Inheritance diagram for moeoContributionMetric< EOT >: +

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

Public Types

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

Public Member Functions

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

Private Member Functions

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

Detailed Description

+

template<class EOT>
+ class moeoContributionMetric< EOT >

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

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

+ +

+Definition at line 23 of file moeoContributionMetric.h.


Member Function Documentation

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

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

+

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

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

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

+

+ +

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

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

+

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

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

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

+

+ +

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

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

+

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

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

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

+

+ +

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

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

+

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

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.png b/trunk/paradiseo-moeo/docs/html/classmoeoContributionMetric.png new file mode 100644 index 0000000000000000000000000000000000000000..5ba0e67df0b4d0729ea555d792aad5b767575938 GIT binary patch literal 1734 zcmcIldoz?!Ze7~RXIp6brobMmsJaoVw6Jtwb z2n1r{v)3~i0x?kQ_2e&5z5SNGty%BP(SG~9bUK}0>U07Cz!vJ&ECm9=$tK;PJ~T)U z4hVtl7?K=;Knx>&Ja_IpaqaWjYS$~Z)0EaNUWPV1+Bbo@|<-Up;(6qMMGZ< z9RHtaWS${&hd5hJcP%TY{WBo$5#mNL{Nqp>jFlYT0UeC(@@3tEuZgwEHvPrN6W zK=)?e>rO}-!;_X58xLZI{mhYd-|l(C*Q-ZYsmLxvtRk5XrvqK>>7aE7_Y`w$0HVI2ajZuyBr`^e8y}2> zsWlta57e5kZPW-{P&$ro*>s6ROZhOS$4#v>zY>tB>=g`^Z-%LZitFwx@- z#m_t^Qq>Ius48$16t!>z7rfef+EP-b?9x1$>kP3gaItbLTEmP^weff1eF_ScS7%vf zn9-L17bkblN69K39vW0!jOP9u+Aj6n`l)xAEi)frUs{T9g8Hr~Dv@+x$hBQDe?pp% zZ25-Dwoj(1xdHrKAxD&!{axh?iMgK`XxS?{%-Tkw0(FIGS=2~-U+Ol`RKE(PJ-7lm zs6M!hthxnsk?Z>D^CqO34F!Ie=dIkGn)AItklSuDu#>;_rOE<4Sw7pf3M8;#n)9i^ z7wzkOcCmKi-+!3Gn{e}>RJixuUL9)vb_3ERn^u<%mrv(*$n&~GbdD5d*b zXT+e*^>1&$s;oS~Ux)gBZ9Q~HNFo_dCI3S094Ss9iSo9*0q-w8dS9MHC!rj|eu^~q zRx`GNiEfji7ez1WzFh`}^U7*#@Ntr_=+qTog%1U85xs9Ea@(OgB=3qJi{*!j$j2RF z5Z2pu_ft#jtu%{-ipkJ~jfldhlekt{3*!-XRZIBN1B@a!5k0V%D0?JuxJc>XjBxU1 z#*BpvtIu0ld{7AHkA)>HhMzG~76HDmo3bb$6?`iVc2zu>p3;l7^9OfZng;L5mGY1( z;UtU&_sGSU(WQ-x;z|QYg<;yI+8ntNtKS>0x&}@tbz3(c&jV= Prvvfv3h?Ca!e;#q$)1rI literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement-members.html new file mode 100644 index 000000000..fec803f16 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement-members.html @@ -0,0 +1,40 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoDisctinctElitistReplacement< EOT, WorthT > Member List

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

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


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

moeoDisctinctElitistReplacement< EOT, WorthT > Class Template Reference

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

+#include <moeoReplacement.h> +

+

Inheritance diagram for moeoDisctinctElitistReplacement< EOT, WorthT >: +

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

Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Detailed Description

+

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

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

+ +

+Definition at line 78 of file moeoReplacement.h.


Constructor & Destructor Documentation

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

+constructor +

+

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

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

+

+


Member Function Documentation

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

+replacement - result in _parents +

+

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

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

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

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

+

+ +

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

+creation of the new population of size _size +

+

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

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

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.png b/trunk/paradiseo-moeo/docs/html/classmoeoDisctinctElitistReplacement.png new file mode 100644 index 0000000000000000000000000000000000000000..3848ed8dcc2e4a52b8e0de4238d18bc87f501539 GIT binary patch literal 1508 zcmb`HX;70_6ox|q9YIzLltpAmS)_@OpezEiCL!nt1!GVYL#QDTD6#|y#R6%{QduO( zE+Qa^Fos1eG*I>!wkQySmc;-O2_Q=-Dw;;yPM!Ylk9+QW-kCdR&U5D6pH8FPEuhr2TX0!cu`dPho997_Z-S>o%f(?}l|kw_$#B2i~q*~O3Mr_7YYJY4#t6Yx@tusuN|^&2+n?@&=U)@SOQEM04DEBg|T1F}{Ta7Ur6_(7zlI zY=GyzX;Nhb$$}Xf(lk;vyx0Rf4>Px@^YUz~;>6`Msd#szblza~v}23q1#X?L?5`dS z7)N_U6~ZsgO|4w{BL&PeD;#OTKFnx*3_A$!%;{nmv z_Jgm$KnG<43T)<(ciW0)-Jj;Xf4kGFIp?sM<0+7Eq96vs_o@H$CO>OV8RGx1X+;yP z9(pZrwcb$fM1c>4k7F;P+Dpz)r(8(UnivV1K(Ay0^=VaSvyYeZLL-UkHr?KA7th}q zKp29?k6ErWWD^UqQbk^24>Riltp>#}OeU~FC|jH%$6&*UgbZj_vM~^{dI6(5qm+z( zv@Kn3fV#wTs2M2@fq80@D*;W z8AF3-nv{m^ukSDbbMyo5X2c>?ziI=rs#@fR@;icit{%)Rr{YIyBq4YUgkM!&zEXeF z7Hy*^owIMVUtXWU|79vSL^R+&l=u#uCR@-=Uc9*2XS!D}1^wphNEs0( zP64gLeZ3D|kkeOk~zPaS-MBNS1Yfvv6?M<%z7lJ-mu z=1n7`)1Doj8XSj)FfZU5`8+~1rVqVP)Swysj&TK`XRdpLwR`fGxh!(yoWML5=m!pvy_kShpU_&)NOldb%M(2i>7mm) zTQ#cZ05edBY3lR0M>OrAA&S57EO$eKp0rt6*WONi+$T+6j?mbP9T`PU2?C2L>6YE0 z(N-uPRWN03vpv)(E|uLIQ+cx%7SG&H?bDidG;nM%UY0A3O&&TSv}3SmOm(}hj&Xm7 z5r5Q(TYKxh%67v~-KCP4ibf0SU;3E_~6Id?X(p z1wWgcSEvC|DO~5P_@*hOl3iH1X_>w5?=C0SIE5`>%Kfix2hVcsy>y=n)sGceRM6sH z?km_{iLdAxPqy(~FWm4wev6B}maULz;r$2o_FcwwBY(=Dpl}dC1BL znrx*@6#SCPIjWj4jlk9?U)5Gq4@IcrM<2m3^qjoF%xhK#;m@3rs-|h4p`k5aG|2~gspCU?+(2m+M=6onKbkr@l{;$QhOAx_k_=)+Yz)9|_5j^%sK3l}MZoH0Jy_r%jhb8Izz=5k|XRAMu6 l>z$Y}&Ztc|yi)K%Qe{=t3uQst#9uPV!v*DB?{x8pKLPP()$;%V literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement-members.html new file mode 100644 index 000000000..2709e535a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement-members.html @@ -0,0 +1,39 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoElitistReplacement< EOT, WorthT > Member List

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

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


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

moeoElitistReplacement< EOT, WorthT > Class Template Reference

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

+#include <moeoReplacement.h> +

+

Inheritance diagram for moeoElitistReplacement< EOT, WorthT >: +

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

Public Member Functions

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

Private Attributes

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

Detailed Description

+

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

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

+ +

+Definition at line 35 of file moeoReplacement.h.


Constructor & Destructor Documentation

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

+constructor +

+

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

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

+

+


Member Function Documentation

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

+replacement - result in _parents +

+

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

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.png b/trunk/paradiseo-moeo/docs/html/classmoeoElitistReplacement.png new file mode 100644 index 0000000000000000000000000000000000000000..b12d591f6f47ba7811dc0555edac81bfef1175b7 GIT binary patch literal 1458 zcmb_cdpy$%6kko<61R}tMO_jqulljNw3f#vGgQoDNX3tZU9Un`dU*Aj(9C-t%cT$| zGp(f%39(jJ9vhdCQ6^SsbVtkQ-p}X$asRk~+&|7a-*Z0ab3W(s`5y8K$771}+vOn; zh$6-o(=`fs@A->g$R|&4!H!d%dloKd@syMr$yERNw@y%==2F| ztTa&Ift|-L%+CbJYDZufrlzKXw zO^0!9Gl~0P`*d1dsA8Ig6cL?HdJ3;R-DyxE&~;_B-*u;$;m1z(4bcv3V_)O-Tg>&@ zI@qatzaFp28QP>=o?|fk);|3Xx3}?0I(ToD%`P2P@_yxr4CAE@Q02Dq-!ey(1(XiN zrdvc6z-ke3@S4gRvf2MUI9 z#8zeM4c+9Ln5UI9W5VyTeCl=&lsgex12Mf_N%Kd%Uw@@iM?U0=KHg+o!=FS-_x4R1 z_WbIKY6PYJ=(+!}xNKq2U`63@sSALkqg_ESjmnF6P;%ax6PeBu-}i73?cbupe7rlw zSYQcefklTvxBl6uQg=~bnct3I%zN6e_NZOA0L7h(%^sW@v3s~lCE0BI!OD#4_S;HT zTG{{%2!1!E29(_nO+_uhV%MiBlV)S4 zRq&#rIvnY#g_{VF&@;)6Ra$t}aW>IQv%au2%wl1~bP3N$mTb{INO1dXn%d6b){gZf z@=DL{!b_^QIw$)Z@*7^|LlNZoc@k6bj(kW`=|mSNEqm{UF$z0AHe5W6>kjIpho=lV z{jqx0knacHaqQZ^G2tKdsM9I-hTA*vY71;uss56Zg6j4e!X<)zyVRrHLm(F zBw@*!HPTylt|G~PxeeTM>57dmVKmCwz@0jtk&_+J0+w|32wsv-EgPNUc zDZl*jmk5Brbp*&|!zLojVu`y>BcoI!y^N&^PG)wh0r?ot;*s_sNDnGJSQzZSGRZ>hGC + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoEntropyMetric< EOT > Member List

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

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


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

moeoEntropyMetric< EOT > Class Template Reference

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

+#include <moeoEntropyMetric.h> +

+

Inheritance diagram for moeoEntropyMetric< EOT >: +

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

Public Types

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

Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Detailed Description

+

template<class EOT>
+ class moeoEntropyMetric< EOT >

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

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

+ +

+Definition at line 23 of file moeoEntropyMetric.h.


Member Function Documentation

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

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

+

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

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.png b/trunk/paradiseo-moeo/docs/html/classmoeoEntropyMetric.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc3bdbfdb4a02c1793abe9f5112233919cb1fdf GIT binary patch literal 1724 zcmcJQdoa{%7{`B(Vv22x%AJm8$e}h-l(kz~xg@($NLaZ`NXpg^s~eJBjv7R4WG!V^ zD!J4y5vzpN5~3AicU@ZYW8HT5Z04MQ&dizqIy0Z|`+lEyo_S`T_jzaDB%GrSY`yw= z003ZiwiqV>kXe%Yg*CF$b^hl5Ch4Y%b2wowkw~OgBB>{lywjy_RrU4t(G8Ms(op82 zlcO_maI7}~0OXwPFo#ZDelV5id0}MR#+%g7kC6&tK=d{07lqMxLUcoeqOEPFZ-GwL zw1a+Mi)!?e@^8^vm-zGWlGB^J>hW-PcwwSC4s?qkyMo!*J`Xo%4`*t)Ph}3D=E3*k zPRF>vg;Bp(OiZlCPiw0cULhyFkCMwG_q|lr$fc$~e#gP%s|B{a z;z&Fm6ci#@!%c7zAd-wqxI0MIVV^OEr+?p%xc{u^4Tc|3d6q{h zg>!Ff0`d(BVNa3;#b(B(2RFP#f?F(`v@?0JhXjLGI#z1$(kUCAiYPd*58qD8?df5` z*JV3k6ZhF%ZPs2qQizXS2rn=*xR+sd;1jpM_>YXcie(ftgQ+HOI8=H*UuZaOmO`J! z@9LYcFZGN2W4Ik)S}|hGCa7qKNQ4Uo!_)2)A2m zAd`t_ICX{S5Kc$hN@9w7ciCd|W-N+DQE|@|prYF-Yui(YkgZk6I3=B8A?QzkzrCC+ z1Y2_eSH@@%iHKi)TQcNC>8#pD4#Cd#2-}&0tzEzi^Uqf&F*)bJz9iE==$We}nYsSw z%)#~U5fl_{0)ZxPTGGV^(lSM7MBw1<2nIyv6cw@ho6GVV8F`;|2p+;jp<_IgyJ2{iC52Q7+#) zu8@wUO7{Aa{Mc2ov{A35VoB|zkvq2Uid7in26T^KQt60To?JT=NZYYmbXhmVuJ8jV$U;Td0+~b20Atmww?|utwl%p3+wxb!ucbCjo@|?$0l`7SA09srQhsUpM?N}@UdQX@9_^|bE(DV} zGx=WyJ{*0J=$0?MyBFONO&Gm`FI(Jir-OLR3?ZJiZ_GgizDL0I%9F}gKs3YtM~-0f zWX}p4(#@OigUYWbk&a31f6iNqBmnFr1qqxd;@W!k`=CPQ;Aeb){f~ZZ1^nDSFWN70 zrw9}sE!D-JWI_xrUF_2`KKfRsqKsGydCQPV*k*boHcNZnfyxpl=gGSFs1UN~7E5y` zgZ}(w)W9aMbPKDxp!3Ii#}Cx1HSdivjtw#`h#P2ukCAAnK(@7bm#RbEur0GKzoMqH zZq%zZJ}q8N#C{}s23;c;r74?-W-j{`Q8JO6s)gqB9n%P`4kvZ2g2ZOV`5-vPn2zZ* z8?o|AD_i-kk|hk;IqNyv+riJ(TK3_nKzf~N1mWz@n+t7U_G#;wMbVWYy`i~*)^9Ku zB0W5+O>#=~NgjoQx#aTUPdU3pndfA`r9>3^2U+!+Kk){fyZ(ys=vvv$PL I4trn!3)ft9`2YX_ literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS-members.html new file mode 100644 index 000000000..bf2af2d7b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS-members.html @@ -0,0 +1,48 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoHybridMOLS< EOT > Member List

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

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


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

moeoHybridMOLS< EOT > Class Template Reference

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

+#include <moeoHybridMOLS.h> +

+

Inheritance diagram for moeoHybridMOLS< EOT >: +

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

Public Member Functions

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

Private Attributes

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

Detailed Description

+

template<class EOT>
+ class moeoHybridMOLS< EOT >

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

+ +

+Definition at line 27 of file moeoHybridMOLS.h.


Member Function Documentation

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

+Ctor. +

+

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.png b/trunk/paradiseo-moeo/docs/html/classmoeoHybridMOLS.png new file mode 100644 index 0000000000000000000000000000000000000000..134f540d415021145c0c04d9de8bd80c406a9c9c GIT binary patch literal 757 zcmVc!M2XN*fafW1aecIqGew7&%rs2Tb85=D(~NPF!>98c_Dx>vxRI;p>xtuLoSCn#r^-7<9-1O3 zdFS;+z*qBru9<0OJF~~N_;9-&@A^*j&;1(a{eHWId6m4IX{MQGnrWt)*D-tC(_ZC% z-ptJg^ZG;_>S{q#V$rHiRcpw4lmJwlswOg^uC{R1LPC`$S3jaY$XHp~Mz_sJjcFW> zIB0Vl-J55rG0EteSu@YYdP)K8)Os%RPMat5Uf;|#vz^)FTHNEF;hm<{mm0SYq?u-# zX{MQGn)%sgk9*py+|Qf2*UH01SYCdYSxOB!MA}6C7*nNLN+MJO;W~(VjOn}?bG@cK z%2R2U5>qjeA^<1MQewi#lw*FZsoLCJ&uVkbJ3XjX@{aj2rb=@%<>T#tGhb~D%Cb+t zobJOW_wuP1P=Nb;mq&RqyzV^q@f1(T=7UO)w8JOKr+q$*W{@3fyw4}HGy@1STG^yP z`lSso2Nu)usl(Fr;bD@a%(OW9Z4OOM@*uCLo+qPIGg}hTrVBxvF2MS^6FQrxE2iHu zIY+Q&uFO-drCB9<=si%MWoLq@TYP9`CR0EwblQBZJK^P ne9AoWHE`wcrOz=tT#Nq!4ncA^wcbA~00000NkvXXu0mjf1lxKr literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEA-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEA-members.html new file mode 100644 index 000000000..f3753e18d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEA-members.html @@ -0,0 +1,65 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoIBEA< EOT, Fitness > Member List

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

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


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

moeoIBEA< EOT, Fitness > Class Template Reference

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

+#include <moeoIBEA.h> +

+

Inheritance diagram for moeoIBEA< EOT, Fitness >: +

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

Public Member Functions

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

Protected Attributes

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

Detailed Description

+

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

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

+ +

+Definition at line 28 of file moeoIBEA.h.


Member Function Documentation

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

+mapping +

+

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

+Implements eoPerf2WorthCached< EOT, double >. +

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEA.png b/trunk/paradiseo-moeo/docs/html/classmoeoIBEA.png new file mode 100644 index 0000000000000000000000000000000000000000..2c0c9137b9b932684767b6e70cbbebd0f3cf9a56 GIT binary patch literal 2306 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 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting-members.html new file mode 100644 index 000000000..01daac187 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting-members.html @@ -0,0 +1,69 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoIBEAAvgSorting< EOT, FitnessEval > Member List

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

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


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

moeoIBEAAvgSorting< EOT, FitnessEval > Class Template Reference

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

+#include <moeoIBEA.h> +

+

Inheritance diagram for moeoIBEAAvgSorting< EOT, FitnessEval >: +

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

Public Member Functions

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

Private Member Functions

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

Private Attributes

+double kappa
 scaling factor kappa
+

Detailed Description

+

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

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

+ +

+Definition at line 361 of file moeoIBEA.h.


Constructor & Destructor Documentation

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

+constructor +

+

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

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

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

+

+


Member Function Documentation

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

+computation and setting of the bounds for each objective +

+

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

+Implements moeoIBEA< EOT, FitnessEval >. +

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

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

+

+ +

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

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

+

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

+Implements moeoIBEA< EOT, FitnessEval >. +

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.png b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAAvgSorting.png new file mode 100644 index 0000000000000000000000000000000000000000..865d40459d71e4af8cc34279310cd11e8a5233b9 GIT binary patch literal 2615 zcmcJRYdF-~9>)iv{?tzM&oydjGY-vmDIqhMh8bdvp;Sf@l}m}n6mp%KOs+%1Cb^AE zZe5(pTymKdC1Qkfi4=orLaxc>%;`DjyxM!8H|M-q&-(t>i}kGE=lQJltQ!P8b~B&~ zKp>FKb~p?X0+AGF34;w%;+5TF7z6R7OmJ|uSzlil$MyAwygW~aIQ<+A4GmX#>z~D? zL|rg4nQu(x?Y4uiB?m#E?$YT;u&X% z)EN^Waua2}JD0C{z7n=`R(g*qm2qxFN4l-<0ogg@fiWNsrm~9$buoAWTCxWG^Ngo8 zX*$h=S*C&c8r`Euo=h#%W0iC*%)Y*8l92jpA{+R*D)D@7jjy3%TMsWOgn^Qkw>Sjj zbO!Hx4#8Hp&w>wgx*OYWhMhTMaj>yvJI?Cu)ucs1 zRrk6+&9pkDsNWL*(ZthC$saH`4t69x3XcjHJ_gX#N-tmkt^gdlHya6Dv`PLRdK!@) z$ZcEv6pVa|s9ov^gohkeipoMiz?$kQ-q#muz!pn6RgRYR*iaQW+x1OAG`e(kaHdTL z7Yn9I5O>jhem1L2MKA7ej0@FSJ50+=nU#k=9#fly2clxHGWp1#SWa=_{2#)@F8>$V6tHEQBU8sFWFZp=zSgU!_F@4DGAaU z{a7BCbhOw?a~G3Tl@2D_{W9-~r$!1%^xuY@;T{n-jhSHLOx-z0?~)BC{fyK#lf6=x+ulEn zxX`T(0A_h*64t^1;6s_5H$P}*6Z8$4j5Uq)TY1?Rj}B7-fKF(vp_&H=5t9R|0O^ki!A?!8C{{_VcuZxxi3 z79GZ&&a06etVOZxx1y8H7P4Yfvo!LjDVfLM5od>`;M_)tE(2|31uz-%^40}Ea)u9b zq3h+mR&40ie`?qfw(=E*65r*oGWlP%m*bWYQd#4HkjV>$i%W(7-O)Ld=_?y3rPJ)F zc@u+cI0;Q@I=G7%^G9J>9*Cx_ZG2(*RD!-X`6GCT6TlQ7D+mPy)DkC&qN|Y)GCOeu z`vZMD_V8cFe=i3{m%tvbExuweymCU*Jp=)dP8m(Rbrs_-p#(vG$oU7ucPL?I2mUti}r29VA{`4$Sa z!f+o=m|=Z3FS{>-j#hit0AAc`ock#|cJK{NofbM)nkQE^nYtMevI!!E^MJrzseCdu z{D}7RiPq2}_-Y+t%}MrL{80Z$vZ)$PKrzi&ya6Wns;**yW}Ba#SpiZm!v|(AbevtO zcwM0>Jq|^&mf5(ERGjaW!}vx`X$3dzpVImZkm8+;;nOZVwpw;drAlIet-4lBhzJhO z?@rnufN2tthO?6gP`+)Hi@U(Cg#oXw`)T3{wE46#e$P)MDLVc2B++Qizt&!R*P0pZrxp0ZI^ChXt z=}`!`I{iiZ!}ekg+@dr&8#yu)jAoaV%6|HXL7rQ>#r>#gInvHinL?UKoqMowYfs4U^Wq20uJ$`K0O)_qdx zvBn)5_2#TeKxm1h7nH#hGX0CW+oH(}Ew|IC`}$wIm7B%au%Nf!veQkTHdSq^1YelD z?L!GfsP(hN+G%_c@y>~pn)?swPiIYX?o=3gmoOwV!Vt=zret);Nkp%VuNwz2h7s>y z7@(x50sta;`a}@_9vODY5&Xgu@Gg0Dyh^xCy;;ZB;f?Dh{|PflsGS?+y3&nz+nb1MY*9HSDSYDK#llGP z*~2~{eWmQYFZUqq5*z1)^wAhw2)BH{L=WZ6GGh@>vw>a-O z9H=+}%5pLCpPcE4URHjo4{wGU`A_kVNg;|<2GHA z8aP6#9VlgJucg8Dz2DG8?E6GUh79eZ$2*b2sB;%P|Hte5Li8hS6Q!UqX0^dLuGWi` zfYe;AV_1!6-f%~AwU|)zlh^?*4cFG73Q@ZMpOAC7jgeeO{Jg1VrQh iW9C(Y>H2}0b*WRd@sNH4?GW)V4`OG7$5f*|ss8}Iv8X5j literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting-members.html new file mode 100644 index 000000000..8ad870dcc --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting-members.html @@ -0,0 +1,69 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoIBEASorting< EOT, Fitness > Member List

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

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


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

moeoIBEASorting< EOT, Fitness > Class Template Reference

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

+#include <moeoIBEA.h> +

+

Inheritance diagram for moeoIBEASorting< EOT, Fitness >: +

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

Public Member Functions

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

Private Member Functions

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

Private Attributes

+double kappa
 scaling factor kappa
+

Detailed Description

+

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

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

+ +

+Definition at line 84 of file moeoIBEA.h.


Constructor & Destructor Documentation

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

+constructor +

+

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

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

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

+

+


Member Function Documentation

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

+computation and setting of the bounds for each objective +

+

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

+Implements moeoIBEA< EOT, Fitness >. +

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

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

+

+ +

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

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

+

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

+Implements moeoIBEA< EOT, Fitness >. +

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.png b/trunk/paradiseo-moeo/docs/html/classmoeoIBEASorting.png new file mode 100644 index 0000000000000000000000000000000000000000..a3fac48f001d400be3c1a059e9e243b80ae2f775 GIT binary patch literal 2294 zcmb_ec{JN=8cwRMTB~Chw5m-pT3o8PqO>Zu+8R`is}f4aO+qa<)utHK&e%#VjkG0b zV@b3Lr3hI{wbW96N|>l_S47>Bq%Dz2@1HaGoH=LCob$Zj_rA~hzVp5BbDlrGJbzzz zHDv>35D28^>EVh1fxrTJSnpJjGdW+v73G_rzjq*9CX>linT$yyAxq@h@4;j;34^j_ zc?nKJ_y&MZzXzg0pgo12u4e+1@2nET%2v!&vpjuXr`QWX(Fy^!klzB<(v%|EBv3gJ zZ*Zkyva{@Q(LR!m*CM;=&^DwYjosMq2G^C<*dzd%8M2o^3I~vKfSf~Q*ZxmkLBzk` z*cFPdPdP9jxHB+~Q>Ke)Ya;fmNxY zOI+Q);x5aTjYlZ03Kbvz*4WLXBt(yEAr}$gJlO&ApA=XT&Iv1wn81sp!HykbV980 zS6f*JRk*^o|Gd;sJ|EulXm3mZ&_d535GL=bA~I9dfcn)1Lecq$dO5QCbY0${(>-r| zK}ufhjoeov&CM+P3KOq)o0GgPB(gLr90n9!RPLV=IT78A9Votw<^smdiY1;G!1Ud= zu(RtQzuw1$mRRm|5O|ykIysTsdM5@$061depa)qJ?fB2@=~C|pe^YeNJo3^W4j{25 ze{!2;j&23Dtvx;uhq>7mvW?s*2B8L-bxY^ph#o2nPS@Po@6&!8qFw0DuXL~zovF`* ze>;C4HN2Z~E0yGS)?N=%Jz#iqCkau5yPDkL(pY*}cnX_I!?XwMRdkx5ScPkY_2wAY z4d-q>9mm~*kL?-04dzsOK|u9@qsuR)=Vk__jpKGuVeTp{YkKrGnP(r6+`9zVqOO|s zk)Mfu41he?C}RM4jdh=%P;HDfco+?X_U-7Y!)a2-;jwscKd^G-X608bVQS`)6pK4T z3Bql7V<1rpY2%Gj>_x2x?ACD~CBmr+7F#YMh^`_f>3@hCI{)y2~AaOZ# zu~6#T$?1b~g;rdlrF<2q_ul(%EY4znlDhY#23)JQ*(Bf0e*6{}P+$YZKXTAF{f8)E z#xAxyJD+Br_wQJ1B&1rU84-Xmy~3A(96V}ykg7MF4j=Bc*ow56&k#zLJAz`c2tkq` zAz^X~s7PyJ$1ZRjA^2GBM{bsyL_?rjn`VnCQf{6 zQR!jU@%j~&6a+R-J8`Dv;Zd*6Z5poZcn60~MkJ197qvuyja1K_#E&>nGuxh^S)(lx z=I#|b3o{y&x*4Q{$+NL`v02#6WuiG34$G=f)ijiNqqQ)UR0D_ok8- z$8|!te=`syMqs(oatMl1lUvL$`LSCfruIILaST=8tOigp@-dYQ_p?_d)+^$_q1(oO zyj}EQfj#hDoWjU{5F-4b>`7Kj=B?YOgQ$RkBhn>FM4oba)on zEYds&)&^)vC2=d5z?Zp4GixVnC} z%;29d(>zR{<^;DL`)d=6aJ_PvwTVA;wR+y^WzDd2>&*M+c6RFO%}p=C%pc3y7?XQ2 z-)HK(3I7)@lW4@eoj>heU*JE~(wo}r@KfxPF>p`0YV-yYZf>1;|2g*-@Z8109sJ`i z13=D%T6)9NfJ?)7hH2yrPfXZ{(!42Jdf3z3)^Vp|sD62^N&HMD3`Es*lgw;T#ao5{ zJdBIG;#XvppUIhJKn%#tEv%w$*wZ1&lP0b@XJChYRjQoSVAu@rPkJ_cY=$8@Ev($Z z0#00-3xP^7kl9-l1X4Xz{-~Pm*ASw`F7a{TgI9Wrni%qb6GVJgeFBM%h*!)(W4-wL zgpSW6mG5wk;f&k%@2uhp3+fXc7>l>r9piajr#7@;2b=^HAjy30No-{o`r7zI!?Eo2@%$bZMmi1Qyj1sA}(?#-dQ zQl*)1XP=3S?m|8uMw9l;scE2c=)IsyLN>84%QT%_NF%e0mN=w%zuaCm7zyWr5#B&z z$Hr?`Ii#-S(nz5aEgg( + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoIBEAStochSorting< EOT, FitnessEval > Member List

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

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


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

moeoIBEAStochSorting< EOT, FitnessEval > Class Template Reference

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

+#include <moeoIBEA.h> +

+

Inheritance diagram for moeoIBEAStochSorting< EOT, FitnessEval >: +

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

Public Member Functions

 moeoIBEAStochSorting (moeoBinaryQualityIndicator< FitnessEval > *_I)
 constructor

Private Member Functions

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

Static Private Member Functions

+static double zero ()
 approximated zero value
+

Detailed Description

+

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

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

+ +

+Definition at line 203 of file moeoIBEA.h.


Constructor & Destructor Documentation

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

+constructor +

+

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

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

+

+


Member Function Documentation

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

+computation and setting of the bounds for each objective +

+

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

+Implements moeoIBEA< EOT, FitnessEval >. +

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

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

+

+ +

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

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

+

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

+Implements moeoIBEA< EOT, FitnessEval >. +

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.png b/trunk/paradiseo-moeo/docs/html/classmoeoIBEAStochSorting.png new file mode 100644 index 0000000000000000000000000000000000000000..bdd99113ffc6fc8d3d5c8a500fcbdf54b96592cd GIT binary patch literal 2623 zcmb7Gc{tQtA0Jd>$%KUPlgg4zu4%FShAvI^ZH%RcEK%0MC}T>5q)8Y{xfFAU#z+}7 zNko>6X08+oV@+A_EE1xHZeF=Py*=;qyzhP9KhASL=llJh?{l8-`Fua;q@W$Gq$QOl zArOePjrCy+1R|;mfr#j@6I->w+^eaplM>qA)na93WfiWhG*hX*nX71RG&eV&Ygw6C zU5Z3u99jakv^&o`6=7)(@7$4ev?f7I|2 z2~Xmy^Uh_5)H4$}=Hf@DRZPDM6XMl2$5Xs4-pp10N-Z9r-mUeugsd!pl!_I?e5o*h z`^EfrySE*?5B7}~-h4IPok)5+k1>o`Qh@S;QU^JfKsX3>*(QGO_w!&NOU|F=7n(%w zSAQ_jq7B+JwhP3aycnG`CI}V6I%s!=8;KBXBXh#)r_;h3A zJttC%>EY)ZfIFLv9*_XX`m;U=Uv3>_Spwa%eGOuS;#AFrtL0)t+F)ANi0mCHu;s$9 z#Vi5;XtyjU=lPKts|HpXEO+ILF+e98xT5 z#}n#(+3UK#NoB+Lykrun#iC`(DiHp%>jF#XLJfJ5G3^e7dL9BauL=UBPyq()8@3Z| zd?`9)$elvymye>HkG+kGmdR+g9+`G?H?TZg-pe9~a$+NbJouN3;QoG3B6tb*A%jlX zpwq2z=-9l}$iPF`c-&%U->Kj-v?C2AeeJ|hh`WKCQfL*y?v?{RLA8G$CeqE1Fu)M# zTMiogNR$#>j}J!SwE~Rn-dUIBTF2bJx5%tu^?_4ZY&m+z4FVc%upJtT5Al4uyN&BYEVO*%*&^G3eH3iiF#obmL5OH-S4FDzk!5I{Dd}1;RW!-V^XSv2&>}F>y%d z_@Xh*JwTYD=w~CgNoZ$i>v^g521JN-@!zlQ|7!Mb-tCq5hbY16W|Dn(V4tbVI0EySJLi0(=| ziFq0Mfh3t&rK#FhelU7TRRD=eQH&NP^n9u7`q;K90hEE!e{TAJ=*~4^_&cV#JZe^` z2Wi^4{znDjyi%=<10&aP8J&n1*;m4-t!;RgP!km1(P}??se|B}VwJ9&2$LdR1|Kzg zJDeuE0Vgq@(vO!Iv|>M(Y`Zb^-W5i9l#zZ(_Xc+G0T=O)J3s}k3YphRDiP>n_%62RBszn*ZqcPIRmX`lV*GDiDjFg2~_V`kjj)N`4*3@Dna|}YOdE> zrOw-s_F=6&%Ip)DF(mTc>I`oJk6)pkxmcwX^zf*Fw0HfCVuODG%?GI9;mg2BVKC-a zMxHHM!vgPGKLs>qQi(UP8Lj4ZEp69uT-wbNpk2KF=^s4(FFr7R!E0hBnq1o|ZbnC9+ zd5!z*AhbJqBxGk<@Zy$jxm`uwFQ-Oi6&Uu1bQ@5o+dlhA^c}&}OpWgaqdYu%Wydpg zufA{x9~o=`X0#e;08%5l(MTe!oTi4AmLksp4=@)o4(=wDVs@d|3HWZOCF{S3bqHAg)GBLa8B;||A z7&bqA^Ni8>!v5hH_H3pK>2)>~>WVZjim`(}Pz?1sBkySzHK4sPulff4z4I zV(JJx8Ay|ILUtoAB~cxhe8*5_JK;{1FqA;2Xf){Agbu@5xV6{X+n0?9i@qH1LYs45 zd^i%7w_RLqY1ZOF85L%1MTyuD{i= zpF$ literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.html b/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.html new file mode 100644 index 000000000..244de8d2b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoMOLS< EOT > Class Template Reference + + + + +
+
+ +

moeoMOLS< EOT > Class Template Reference

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

+#include <moeoMOLS.h> +

+

Inheritance diagram for moeoMOLS< EOT >: +

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

Detailed Description

+

template<class EOT>
+ class moeoMOLS< EOT >

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

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

+ +

+Definition at line 23 of file moeoMOLS.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.png b/trunk/paradiseo-moeo/docs/html/classmoeoMOLS.png new file mode 100644 index 0000000000000000000000000000000000000000..e3241c9a14262ccef667b997b093b92c83a9254b GIT binary patch literal 1421 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yo53n!;$@a?SUxAcFfKQ0)|NsAi%>Vxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fq_-o)5S5QV$R#S(Rq(81YFn7|5;YZzVzn7 zFKv1k9KP*u5uCqB&TpabHhty~44t{N7WI4UuyW4)^!WM%n}5;m&+cp9I3bd=w0%KG zNdJ~CyPi$FZr9{4sJpi6?XTx1oUg=o>iX%uun2t~edK4_^F0YK1b!8;?7g~dBJ12^ zV(WDjn?5ewc4Slgf)l!aE$=rzwpZDNdfcpmx3IC1#OXViLnB1i2_Izu?jQQ&{ zBX^y3^ew;ZIl+p3wN9A0%{H;#NSS8~x`HeT@Iz&0)7b{y1jcO*tT&j%61XEM;8gLS_{Y5T=#P4) zc}=-MCuBM9FIlg@ZTF938|>A-ac2KnFZOHezT#V(g~BKP%_{n8Rdx49P!wO&eVzNe zzbt)t?C3lFYb#^(_VX<()UmZI|GY~5;D>GJnpR$X-^SVfA~NWFQ{6_}uYBFF^=g(T ze|Gw#x8mkUr5V@X{QdRUal;$46S1jxr5~?rmO1FPVNR0gZ^li%?-j3Z%q(t=VZFTb z?DC5HUj?F`C~0JJcdkjDvnN~W{6VXxRN*V@0$E~j3Qb~tydY8iwA{fJ&-9u;iZ0>k zx*|B`tICRZdQE!#b678%&H5l$?sz}DI!*pdL6>RSWt&L8rh6)`1-5e@6|-Ew9UK#v z(*GdpQLRYH*9Fr#rdbw?-BJE=S0;wPc*Cir>FN((iijWlqA~x24KTW{P09VOvS)s? zWuoh=C#P1*_DwI{&-cty7Ar#>_t&iAH%ylOOmuJ~4Wyf$)Kf-*2w z$u)WZxh15>^DIAk_le@)-@b@0x>r7V7&&N}~5f3;qJ#b%eMCJ`2gi$r7YS%tsntlB=kDNfJhmt}*k=yXy{?*@iHurw~x3XltJ)>#u9?cb@TW2I+WSQO- zc%({drJl3RlXX|l+!tDNdZSFduE@*@tK?4Z3SYQG)AX`;K&kFj4U?;zIapKowAH`4 zRIJCjjQ{k?ly}}|ON2{;u6`=el+rWluGiVA)e+o#Z)KCGrd>&V*0R|TUgfcR7k|AI zSfKkgI}fN@TxV)#9?R$Ab61;QmoH8G#htd%`rxH7&MeK}MbTN$^f{jOC*HDe@qG3C zOHk;G+d;;)tlxF`u5X@j)-PCW`6T0)k7qsl>VGIypT96VYuR*#esD;pa&7y>%wqk2 d+KsvY83UW*)E-XODgc(944$rjF6*2UngGE2mvjIC literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoMetric.html b/trunk/paradiseo-moeo/docs/html/classmoeoMetric.html new file mode 100644 index 000000000..a9a364bb2 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoMetric.html @@ -0,0 +1,63 @@ + + +ParadisEO-MOEO: moeoMetric Class Reference + + + + +
+
+ +

moeoMetric Class Reference

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

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoMetric: +

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

Detailed Description

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

+ +

+Definition at line 21 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoMetric.png b/trunk/paradiseo-moeo/docs/html/classmoeoMetric.png new file mode 100644 index 0000000000000000000000000000000000000000..a11119d0a79ec6c21480499dbd22da994def8c0e GIT binary patch literal 5840 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 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II-members.html new file mode 100644 index 000000000..7e463b604 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II-members.html @@ -0,0 +1,68 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoNDSorting_II< EOT > Member List

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

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


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

moeoNDSorting_II< EOT > Class Template Reference

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

+#include <moeoNDSorting.h> +

+

Inheritance diagram for moeoNDSorting_II< EOT >: +

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

Public Types

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

Public Member Functions

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

Classes

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

Detailed Description

+

template<class EOT>
+ class moeoNDSorting_II< EOT >

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

+

See also:
eoNDSorting_II
+ +

+ +

+Definition at line 26 of file moeoNDSorting.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.png b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II.png new file mode 100644 index 0000000000000000000000000000000000000000..4ad772517d7aa15c5eb8e4acc95ef181ea3f36f0 GIT binary patch literal 2237 zcmbW3X*ApE9>+rlQ(HS1simmVsil_MYiV^lRizP?)K**UG@(_*HbmQN*Q%nDhNx1t zv=K|=l7`eCu^i0AUxJPnrJ|Us(1_f0=0(pv_r*QuzWANz_x-+j&Urq+@AI4|=Q7Mu zPFhtO1Omx9T|5s5fyB6?I{6(~kk@q5A`)sKBQ5Sz`$XEovLL&!nf}p!X9!8 zDod{!!>1JGKN)d-Y*vz3--o@kRp9k`s&@Hp!08L}DVI08Zq0hqKN=&uj{P{4hKOmf zJF+WF(NEsYycblOs2}YfKdEDrL0cPiqvgL~ty1sRR(1c+*pe^Y8a({5fvaG<(eI-F|X&(m}#t0cEA|wWZpbY{Q1xl)B>V&|hBfBU{bwvEkEAySzcREd2zqT(Y z)_C7>_r)>cV$`nmS?@bdj;SHGJK%R_S7GX@aBQZ7f2IQj+$7w~&qZ&w$Vv|@^25DC z0!h2Id83MiNN4aiNQ~O@FtAX9Ohu_cyg^jz|1I83)Ecwq!K=m;9tlKkNS_V(iSm+Y z4)vSvug{3jDtrkIA?DmoJ@?@)gl|aM((10$1dNMGvTn^Y6(5({Bq3}fN{af!r6pr` zn(I?yR*`$@`XLNwHC~Z=20@4I*FQ(4Rc-$2O*q?psFtiPQNkf!K(9c3R(p&n_H}D| zN!RJa5f}mnr^h`{&6OJOe{Ir`uS~A$8Y2F4OVX$PREf&4_LZVCUl|@@ zDAOdy5sig&*zFy~oEj_t##1@s6zkr$Euhm0Y#TE$&a%c>unXf+k_Zzy_bPRTHzhVd`%okp2B6H&)fk_ZJB?Ox#jOj8K$5 z;zVCMhK&6OdA%kj%^0hZ0{AJ@B`wLfX60|YM1NHJF?Pe!}4zpBMpux_C=0qG7S?Xb;ei!Z&&LUzB zzEqa+^SaC2KA-Q>rL^U?Tc1GXO>|<>>LDf5L2u!8?Twk`-hJX776v7Nq0kFVT@vja zsC3Et8p@5$D~K#e?ix3G5#+-46MD(;B~jGY+;#)VUPrqbvwow1k-jFNnGzOC2hswf zn1EHVW{YR4+_s6B8u0ZvSUJLbss8Y|ca2h`*?QX-?~I(??A2I~P}Qped=aW->jOa9 zcmECLn?0*cSeg3bd;Kj)#6}{3%%}KWQTR`8zAOmE~F}8;mo|l|mw!0d7VLgIJkO=tmKNG zt##n90qfF##mN5F$S2XG-my6a4)0YYJk!e6vqb!&h(MF{X)Pmdp!>koq@ z+(<;mN+0B|W>yT_Kk?4S-PSP)ms`4_L8zJ%P8Nlv9^_63!D@D2B_Ml=vm|dt&&An) zX(F`uLi9%H)6XJrR;?}%Q*xG)Og)1si4xle&CFPXXycdUaMQAuo^ox<(ZGRUukwcX zU$qpK=N1*rt1-Qf$S$koouygRDa)5{b@WpCg2DMu3VeG7J))L`nmoo z$?I#%&?P@RPSIR5+;(xah2H$xLBfP_5TQ+8zQ45{t=8&(4P4%YR9nzwETjwAYO OfSep)=Sk;~xBm_JCuD8_ literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes-members.html new file mode 100644 index 000000000..58abd5804 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoNDSorting__II_1_1compare__nodes-members.html @@ -0,0 +1,37 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoNDSorting_II< EOT >::compare_nodes Member List

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

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


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

moeoNDSorting_II< EOT >::compare_nodes Class Reference

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

+#include <moeoNDSorting.h> +

+List of all members. + + + + +

Public Member Functions

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


Detailed Description

+

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

+ +A class to compare the nodes. +

+ +

+Definition at line 46 of file moeoNDSorting.h.


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

moeoNSGA_II< EOT > Member List

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

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


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

moeoNSGA_II< EOT > Class Template Reference

Inheritance diagram for moeoNSGA_II< EOT >: +

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

Public Member Functions

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

Protected Attributes

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

Detailed Description

+

template<class EOT>
+ class moeoNSGA_II< EOT >

+ + +

+ +

+Definition at line 31 of file moeoNSGA_II.h.


Constructor & Destructor Documentation

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

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

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

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.png b/trunk/paradiseo-moeo/docs/html/classmoeoNSGA__II.png new file mode 100644 index 0000000000000000000000000000000000000000..3d85e6dca1077cb6fe87a1472e68dd6dc8d0d19d GIT binary patch literal 878 zcmV-!1CjiRP)NHLJ>G$COAOqjF~bZB>`Y_;?pl7c=#7VFF{5n^ zfE>q+P!IGTWB4#x9ug3=9_XaK&1IbGft1qhe4VsWU1@%44}6uBk`XSG-g!au^V9A=C-M-pl8~)YNULxl+-VHgE@y?$3y(^40#ufKISKPzh zk|Fx;tr(B#D`5yj7{U;SFoYotVJzAe&p1zc9u&s84ATg(U6J<)!)_FLhZsSh3qRGh z>Gza> zAq-&%Lm0wXH2Azt`ut2QQ^NQ*hQ>eN9Fqc#6WAHH*p~R_Kg69;25>~}U%1gFLsJkw zksS<;0sJ{DppB185morGW$1|6&H#lJ{De1{0R)DMD8Es4>?0| zP`-@kJUWmi20%pVc;;BzFh=SATD6enJf_G{kr8V<=TS3u<`LJ*M+#IHW z$onc?A4MKvX~Olfv#-v!5r#kYU6bybhcLdKalyUMe+-c8I6FAb + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoParetoEuclidDist< EOT, DistType > Member List

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

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


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

moeoParetoEuclidDist< EOT, DistType > Class Template Reference

Inheritance diagram for moeoParetoEuclidDist< EOT, DistType >: +

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

Public Member Functions

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

Detailed Description

+

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

+ + +

+ +

+Definition at line 27 of file moeoParetoPhenDist.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.png b/trunk/paradiseo-moeo/docs/html/classmoeoParetoEuclidDist.png new file mode 100644 index 0000000000000000000000000000000000000000..49237bed5feeec69eed132ce992cc2f2561a61fb GIT binary patch literal 734 zcmV<40wMj0P))tfbO8Pp?S*wmr(ReTx_sUdz#jrF(k&aEbBuToVY(%4fmF=8Lx|cV={AS z7ZDS)3e5nQW*4Ez2iv1!kDD<|{Bd&VDbc17CkCOjfihM_*a`>aAa1d2oWzHSSN@Mg zCgzxWvKA}oN42PPw=}~BfKlfuIaP8fWJB-Ba1gaMkS8cK=Cn0HwvofrY#TY0A0I+s&AxADr zPsn!Z?XsT>-1al4Xn8y8?Wc}7Rqc26caSG;CnAWxRap z>3@^__(pOY8|u`m^hH5CVL~REN!E-L9EeDH&evJ= z@BnRwk{7Z(gqxM@`&E0Vrp2KrQpkqvnVkC6lZvDYvcwbv`5GDDYMO@eY?5IWY!)NgHL@#Y#{;?fN3)>UwlQzX*##;1INL_nFiNlS5Oeik zB6jCwbAC*AmTj^GIyaBG*13}VI@h{uo&8Yfp|@L|N!w;x=S^>mC{EehSE`shy6bJ- z&ukI5{aoR?p9wa)kV$VpeN21~yZT$mlQ#zq+MjxF`^(7VSme8qFZ + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoParetoPhenDist< EOT, DistType > Member List

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

+


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

moeoParetoPhenDist< EOT, DistType > Class Template Reference

Inheritance diagram for moeoParetoPhenDist< EOT, DistType >: +

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

Detailed Description

+

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

+ + +

+ +

+Definition at line 15 of file moeoParetoPhenDist.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.png b/trunk/paradiseo-moeo/docs/html/classmoeoParetoPhenDist.png new file mode 100644 index 0000000000000000000000000000000000000000..6a7bfb562f6af2272961903f6365a12ed1852a5f GIT binary patch literal 735 zcmV<50wDc~P))p5PO5&nLW=w<^D%l^n(lrXFB7wZfi)4LCE^h4^9GJ)j|x{G+5*tlM!R9 z!dI6f&ymB9ARu zb)2lpiuzHhK>##H5P}dH6oE;TrNVcO7cPDoj;CyTOD^#LK*AxrqTDQt8XQ43k(8 zX@OE=GCw4XPEPHvQ&!b#FcB%FBPXP+Hua`MQh`ddEAZFI@-2GDeP z^LRVY4%hQcqN5v`)b`8UJK4L-W)VYKkL1nE+da^k?%r2^T+j6`w!N%r + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoParetoSharing< EOT, worthT > Member List

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

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


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

moeoParetoSharing< EOT, worthT > Class Template Reference

Inheritance diagram for moeoParetoSharing< EOT, worthT >: +

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

Public Member Functions

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

Private Member Functions

+double sh (double dist, double Dmax)

Private Attributes

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

Classes

class  dMatrix
+

Detailed Description

+

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

+ + +

+ +

+Definition at line 19 of file moeoParetoSharing.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.png b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing.png new file mode 100644 index 0000000000000000000000000000000000000000..2658cacc5d038e050d2783f7ffde69fb18e97abd GIT binary patch literal 1683 zcmb7FdsNZ~6h`eK_()Af(QJgXu|%1ore!5zBBpa@<|7}-T9~3XQ4=4P0_LWfX{(?l zdT4H`CHM%2Ql>eS{3-cJM~{U{Q#6$%HRotMJ7?$Yubp!r-@WHM_uTLPbBlt5{EQ$l z2nYl+^2g&sKp-8Z7K_*DX`}ao3eYC2;QgV#tE;P8xVkFlaN^Es(O)hWi?biDDzv2z zH6-W&XwUfYHz3eDq(9Cl^u!g_)s%19Xp;^p)qzu%{K-4rs|(nixs}pjzVLjQzAd`Q z@_KIaMn{9nyrqfacJ|Iceo^+42A$#ak7J#;(0`cyqZTl_1(e(ZINjEyX9w7X4K|$9 zPBzC6`*FLg-7nZBcUY5!NsoP0%*q`@*66hPc2=+plpenxc%}dQlq?D`PSWwR9Rc#6 zt&mG+80$h(5PWc9JHaHF@)+F4SM@P@fv0)W|zi ze&Vg_n*}Imt#G`z!dl=_h{Yj!fL^HM4!lQ3IoG0U0dcd zGJDq9qqry$?5Cf*Xs9~HWcB@DA6&4!_#@ZjNoEI8T0lhR2^S@z3BPO2{>Ip$dNYi{ z&U@VJ58q1LO{zwhDLL>)-Kd6jC0TY|F10@82J|h4V-}Z+(t=spXw2GroLj^m#|4n$ zyKz0z6&@S#eff**Y4Pc673Ez%XWwJVd)Efedj-u}jZtcI8x3@vMO zeduFmyoJk+02%)1vHYOZTdfjcHw;zC)NlsRkcg^kZa?sv%3F&OY$Z1^ceyy+lA^ch zwT8o><^I5{ieb6_CN>XpwMK@|-X*$-P$Ay9T)9AdaR_l$Y6%SBm-VGpnXHI}{?Qh+ zV__9*48Nl}@n&r8n=83L>RrqVJ@H@ zgsTZqIw1(rSk3)1BsDP*+X|6KmY=J~HV@h>egbOUz>5pu74r&nwP(?jjoKm3Av|OOyqPZMtn}T$&Y?-%0D~Jr{ay^;$3OL4k|x?88Vw!cDZ_s4B>y&ui1ukCghpEn z&LmT?^<(!xbbq8n`%s3hu%&|Z@VI#)v^Q<6HLL8l;4}5;$l27DIOX2c)g0Yi{NI~H zatYCSYjUufmAk8S0loE&_sNN;2tHZt|Idm3t6%=Txd8g_!}R5HON#e>MTTcGraPj! z*~i=L)p0!y{pghYH4DLE9^9o5C(#{Q;c4`tfE$TeXnpbfBg09Pmx5}J8P0ZiHd@uzl5;{a7yBxq$3sA^z;gtjh=uWVK3Vc7vSw`f)AJ2!kpX{EKL99rFa1NU<$L& za2W14VU3jDS`%p1UH1Iclc&%EW`n8q?ChD>oWe}cemC_Un-XfI3``qljwcF+MeFkx z8i%O&vJ2ZmyP;N&9d4A)Vb?6p*%?`p%{Tb%2@XeO!iEcdo|;d)rvsitY2l0*)tP#} xcm09snUj{OB<1KciC`Pmc^V==tofk-ez(FIvNSexR7d+kK>of#xH@cH{-1Q=JPiN< literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix-members.html b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix-members.html new file mode 100644 index 000000000..27f6d8f94 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoParetoSharing_1_1dMatrix-members.html @@ -0,0 +1,39 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoParetoSharing< EOT, worthT >::dMatrix Member List

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

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


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

moeoParetoSharing< EOT, worthT >::dMatrix Class Reference

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

Public Member Functions

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

Private Attributes

+unsigned rSize
+

Detailed Description

+

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

+ + +

+ +

+Definition at line 109 of file moeoParetoSharing.h.


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

moeoReplacement< EOT, WorthT > Class Template Reference

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

+#include <moeoReplacement.h> +

+

Inheritance diagram for moeoReplacement< EOT, WorthT >: +

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

Detailed Description

+

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

+ +Replacement strategy for multi-objective optimization. +

+ +

+Definition at line 24 of file moeoReplacement.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoReplacement.png b/trunk/paradiseo-moeo/docs/html/classmoeoReplacement.png new file mode 100644 index 0000000000000000000000000000000000000000..149fe72e38cdbf3a829d086a93cb9b457bc1a44f GIT binary patch literal 2057 zcmcIldsxzE8>U=r-xU6KfiC+wLjkbz2Enb=Xu}zdhX}R z3r70uZ!_Np0)g}czVHnJfi@GgeDwnzE!NnkqP3f8@Uc+8jg1X0-Pq`=s*1d*W$#v3 zR~Pls#)S5`i4=l70rHZKeggu1SQX%VG?Y@Iti)boxElH?tJZCsb%Y+%d8JEz=-KS8 zKFnRYR|^^r7$z1m^m;EAAJ3%X2-PcV@u;t zuRS0 z&(F+C7(T8xD)6JEP2T~|)B1lAq)2U&l`g+RlSS})74-cR5VHaquV^YIsAO}KMZ{ED z2}WaEEsECUZ%>Qo{5CoN;8;+7N|X_$|L5Ib{c@z7<(c}xlMY9vhM)CCcZ|aj>gsgP3&% zR-e?H*as|}+D#^mi^?1gtryW1(COq=r@-2-!Sb9$FcI%@A6bp(KSuG*%o&eq-N5hc9e0k+)WK3}*T>n&H<~5>c zIEQvJj!Eq93hB;l7sNaaG+UW(!5olU1LPn6P?SL?`e%=^dWF&C38ch>xRo81XsM@{ z{@qJ=Q`5gs{q8A%X6$7mtDEFnCbV=25;UuEiiWAWF#f9oR@P^$Q`>c%CInxWKDI!s z=N#>gE?r6?Q%a>3=0E9XUp^T|kO}_fcNACQLtGpm%1D>cQqKqst>OlX+A~RY5&h-4 zGsa90iNRqoss)OW0Ps&z_Ykceod|R?!;JpY!O_a-`I%B&ja6>jMb>a57;pcE)x>U& zr9!A}XQNa~ zVfiAqr6xsU?SJ7{x<}@0yNxR6VT!Z1a?j61Mh-we>e=#NGrqUw|IYF~(k`EJJJkm% zW9WpvOe2B*WbUxp6X+J_4li6}Hrx$(?d=U+EN1d4c;Z5+oyhBzt%CevY%Llqa1G`+nR5%3jJFTuhFt?-fRZkqvRQj zghP9cl7Ed_%(rGL@qqYX($2XO^Jmu!xSHY_R0}JQHU0VG=e%5lZFmag;=oy(Srh@Fv@pANG%+TSEgXUT7(yg1A((&pn%5%4uZbfz z2pG(ya74q=2GfRC<#-WIRXIsWVnntrToc&N@5CruNt&oMV$oWQ2k&FS=SQK?dDawL z8J2aG7lscRHnzr2;X8A4gbtL0RV|~7TnF8=HYHy1n93K&r`= zvE7;(`cQ&sU^R0z5SXz_93L5Z;TAWVn;HdyCZ9uf8;v=HTHRFD7bQFq?;EVNE?Y6V zMp6iPtrn5O&b8t432%A5Apt^-R{G|k$oJ&3g{3PT+_DRe#LA7J-WB0GkUhZL+eY!M z`wn{^?=iZWZ_KT!>}Xv?$($urKK;!OVLb6G>_Q1%K$&Tvsc79A7xvr9TON6zA(oF* z3>LYO96^LsZ + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoSelectOneFromPopAndArch< EOT > Member List

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

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


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

moeoSelectOneFromPopAndArch< EOT > Class Template Reference

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

+#include <moeoSelectOneFromPopAndArch.h> +

+

Inheritance diagram for moeoSelectOneFromPopAndArch< EOT >: +

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

Public Member Functions

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

Private Attributes

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

Detailed Description

+

template<class EOT>
+ class moeoSelectOneFromPopAndArch< EOT >

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

+ +

+Definition at line 25 of file moeoSelectOneFromPopAndArch.h.


Constructor & Destructor Documentation

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

+Ctor. +

+

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

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

+

+ +

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

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

+

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

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

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.png b/trunk/paradiseo-moeo/docs/html/classmoeoSelectOneFromPopAndArch.png new file mode 100644 index 0000000000000000000000000000000000000000..919ea21fbb479737e30676d1ce163ef8814576a6 GIT binary patch literal 985 zcmV;~119{5P)73kevaWL<+bXmcurO)8$*Ew=8z>6vN(i{FA7EH3VdcJNW}*hN!}0@>t)D0 z{BQtI#RGLGf)5(|B#l?$6TwNr%1RUwhm){5SCe65u9@v3^jO>gV{^$mD? z7>VksyO2*H#da#M<2mlBYHYykQ7jIzoxv()9l`6NtXkNy_zgv!?fAS}$H(?i&jUt@ zy|w;p{sz1r!;5kfP#-Kl3B>&?=YPrHWWCnV+WEVsS>$JM%CGonczBLHZlD>v%)jH(}ntKt`8Ra z_KI^xXtrV|in=$`eVOOerqbTZQ<;&vUdNQzN-Ct%G9mZ8ZY=jn@I^`S>3Uksd4u=! z4J+PLelDvOs#sjdqLZX5$P;ppT;704sZ8{uMB=a_%c_&}Ydm$lAR1ohS6X`zP + +ParadisEO-MOEO: moeoSolutionUM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+ +

moeoSolutionUM< EOT, R, EOFitness > Class Template Reference

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

+#include <moeoMetric.h> +

+

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

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

Detailed Description

+

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

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

+ +

+Definition at line 47 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.png b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionUM.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa08b71bcb925521369c2e4c4ddb9eadf6df3ca GIT binary patch literal 1489 zcmah}c{J1s93O+RXd>$V2k6C zAdqB~lO5dqP6e+rsEBNNAQQu`Pj;A2Yd!j?E&hU4gwW;iiNQr843yi1#T7xMzEAnx z#|!Q5w$Yil?_IfnNG4do%GN~;_Uy9&**AdfATXm3+I~eFY0MH&0YS+|TFtvP_-3pk zu6-qLWwuKbRuG;srMj4PJ;nkXZ!PX2B<-!G8U%@(OQrW2SVj`_VNy8`40c?0m~P^{ zHDXi@J7mbq)Olxk><0KcVO#O38E?1aoGqBwnlR0`Qp}Tlz->9Yx%f%fw5!k-v0g^; zWJ^OI@Om^!)=$uC^bH2+wJQ=pWLV0U!b^Pg6o*<<>)OOHEh)NQBMBrLx^Kgje)jT9t@ zcbb!CdSoYRO>9jn+oLBeWue?|joTRp@TDu;S&XUd=8vP$4e1JN$Op1#ZiPQax8%aS zfxs#srFV>YARp46Si?s?Yq*ZXBK%DbXZ93 zaIUZidDR!SJ}30yxE;ZU9l<(@{HaXkU1esXKk*l(9I8S9+1^RJ$vL;k8C97%^p#27 zLUc-KOD4HjuiH688twlJ!DWSA>aM0IYM|WWz$5^j1a1&E#pSxXbC()|kOV?9CysN5 zN$ZCp^DbTDxHJY8q*bZb78P&~#<0SHD0-1Z68`xLhOv{<{DbCOb&(Q&a^5@rx7U*! zFpkaWujU~)csNBqfXlj8H8*g#=J|>-BOWz8xj`kd8iG1iac+=U#%Cls>ve){NUMTp z!VGUj3fDSi>G7d}u@5J-|J}xzpWy$4w_6B&UbH8Q#DO$wx4~oX?Vm-Z?mwK|kg|-P z`&P{-lx6L8>UN^4d5_JHWLshEczW5z_>4*B;NRXT2GA-gv4}VdwPUnAfo`@MR!WZF)uF6RASJA@eOOc3~$*dZ$$5*1qY|LT7> qGTmv@a1D!RDzJgvmGhn8ecA48g|i*myHle73v#k|x1%9K)Bgdw3giR; literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.html b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.html new file mode 100644 index 000000000..98c741a4a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoSolutionVsSolutionBM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+ +

moeoSolutionVsSolutionBM< EOT, R, EOFitness > Class Template Reference

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

+#include <moeoMetric.h> +

+

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

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

Detailed Description

+

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

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

+ +

+Definition at line 70 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.png b/trunk/paradiseo-moeo/docs/html/classmoeoSolutionVsSolutionBM.png new file mode 100644 index 0000000000000000000000000000000000000000..c739cd66aa37ccb8a3860c37a803d06fdcb1f811 GIT binary patch literal 1664 zcmbVNc~H|w7!A@Q1PBo@+(p8vq$HwHAR@OR2;m5qa{1#_E)7vmBLWFj0YN}WML>ih z2qXlMQw1g|H;k5B3D|PVa0wJ?I838cr%v0McKXM@ec#*NnQz|r?d~lH97Y^04+eoi z;#g}-ClKhs1wL>8N|29^oh&u}B{+MFDkl_$!DKNdwY8vi#N*;1+F^b z@F3Iq@jwtr2!^#ZbB=znQs5O)Vgx-?9PUzhH}c4;P}%C_%Tocov$Dg%Q-|RO7nT>wLEgn0C0SK4L0xjihWu*8$Z~AuhsAIhBheH zE(3AEVon-~9_e4P3T!U0W~0h+AM#?y_nJ|QTdn%s#%@3d(;zcylJa$t;H1dz2SwMk zth%8zd34KW2!uElrL3N0e;Me9=-Sxa7S_4W)8dYBwrqHPe|Yi95I)o(s&4KILwvKiMTakNHHp{F)ACdnzC!nlTK!pO7NGZh5jdOz*({J zrYq1sLRHW#EmDz!&8duinMGI>etdVeEfJ!2cGnRgCkl{@UUm0i5+l`;v zJ`|bB{s3RzC60IDH-O^%uN?=QYm>W<*&@5l!&mifguX@9-&y2KI?hAyZQ_F#di7rH zGk(oDs^rxxT@A02`_fn6bM9*st|{)V1EY6jn(t0P_|-C$GWM+#6Qm?C#RP>Z#i+$3 z2U%fC!r!2KXZ8{kwvOkS*fSxNsb=)czZwh$;XaWs<%LhhIFNJy2B1q5}vVU)5{!WJM$;+ zL-dPL(i)`Cd;dK3-&v;2p?QSvR>OvfhTjRf9A91iY_p?(r4i74qDS9J7#g=gC-~<# z&=h8Nn)a$JrphH!6$XhvQdZXE#e2mvYSJsyNp)a!m{Ljy%V2K7dLo&?E1e+P#GehV3>9BZKb#=Gi%{+4{F=-b1zRLbmH7u+G7GLt@9N8I4OoEN3N0 zkyfN?>pD|}2Wa$j)c4F^Ug4cG^1D)$N7%{hNhmk4!nGIdQLOy}JjM994J?C4Fbq{t zA9Bg^=Mi2Ku8lagEa|`{OV*+5i9m literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoUM.html b/trunk/paradiseo-moeo/docs/html/classmoeoUM.html new file mode 100644 index 000000000..ede77fcfe --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoUM.html @@ -0,0 +1,61 @@ + + +ParadisEO-MOEO: moeoUM< A, R > Class Template Reference + + + + +
+
+ +

moeoUM< A, R > Class Template Reference

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

+#include <moeoMetric.h> +

+

Inheritance diagram for moeoUM< A, R >: +

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

Detailed Description

+

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

+ +Base class for unary metrics. +

+ +

+Definition at line 29 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoUM.png b/trunk/paradiseo-moeo/docs/html/classmoeoUM.png new file mode 100644 index 0000000000000000000000000000000000000000..63de5940132cb3a60b3db46cffcf979283b5104b GIT binary patch literal 830 zcmV-E1Ht@>P)658HH)vg>jpsfw5b}?xM4eKG``xO2Vq9!P! zniv{KY_o?=)Rf z-t!U)Q1cU1a>}#zpuoG$`~*eGX`F5i1*mtrfO2>thF8m?h6ZK5(-xY-8~3dBSa$0B zP=2RUEbUHxAIkATEvU_$g8H`5BRM71sT$~3POIwmATCP=gxOpawOlK|coil7EW7&zXZkp9w`ijMoOs&F;z`6y;S0JJ8Aov8eBYLOgKJ z(1jGJ9#0QK7Tg6yzj5&x1Z+Lv?(A z8w#o0R6`}Fg}UA;`5REI8WjtuHdj)E11095OY#l%CN$4OlzK~Ds5Vzf+76<`D!j*b z>I+ns+ktN6bOG(C&~u?M zCi9n|gWd);=$^L=N|!!W!BW@kDbSz>HJP)i>$u$sbuP{q7{DJ-g3b`JA*S*XUM? zuc433X{p|jyUCSICg?mpxOzv-o&j}B#Yg=18q}Zza?T^@KbC + +ParadisEO-MOEO: moeoVectorUM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+ +

moeoVectorUM< EOT, R, EOFitness > Class Template Reference

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

+#include <moeoMetric.h> +

+

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

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

Detailed Description

+

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

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

+ +

+Definition at line 58 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.png b/trunk/paradiseo-moeo/docs/html/classmoeoVectorUM.png new file mode 100644 index 0000000000000000000000000000000000000000..3ddd615a4e6068c819c1afae7d4e8e2cb0c5d698 GIT binary patch literal 1761 zcmb7_dpOf;9KaVxr&dG}4=I()QZC7KCPcOg(SB^DVlLy9xtwy}FqV*s?YNg^nd3Cm zluDD3lrEUW)|6Wpo6BOIiISt8DF&sf-&_h_Bk28a5m zFP_7pEUh0g+X@C77LMombJJ6hF14>`6K#;|p|+I7FO`th6s2;AIz)IIIkX8^u5@Jj?z!WKH zDu$SeO`O>m3Yfy&Xlo7=--~RtUKImSzwn{{B&b>moBaPRrG)d-ncjFq8+$jwJm$EY$)(K4PX&A^vwi$Q$#AU%jxhlwjfZn0T2s5T!2(xdg_y&- zzKbwRFe-Z6-a2ECk7SDHya2{1D=+A1Zl2l8VGNoF#PYKx`ZqUdxqWQ-&1KM^Sel*| zj%*s657nPQL5i^sJRL*-_La|T+qn0t2VHnpWVpV*u%e97@xV@)OWgUiwHr}$!)mP6 z>EY0MX~u$KyqFp+x4rbWgBIIp5w)iH504!6u8@3VwJhYz#xN+&vrVR>XPTl&6s17e z-W7;)%kycAFZ%-?%Tjc*8>zFhe4R=9?01Qmj`-hb#oEx%cd&Y-92?n6o4cYDOZT90 zSU#(q;y=w1G|LX4eK6J}e{>|wih4Q_0NkA2ca9_ZX`{fk9j2d}%MQa4uu+X^h|hXx zW-{O`1`?J71U8x8>3kNq7>I1Wfv*MzCVM(e?1MI{NSH5KyWNk5PFvX}Y*e|=d>EBN zMF8{RQ}S)#GfYRwH(a6UE{yY+S2Jtgi1vb-z!W9IWK`O!a>%*erMr~-(wL}{PN${i zKW|uU0XIW0Vq{%sTZp+qo3F1}$?JO+QBU2z#Y2}GhxX2HQ^oYkAh_o}H2Is}eWXvN zrI9PH8slN}PhxphoN&v+;`-}vJ{L1qpHT0w_a#aysUw$<`OTQu!MI!T4OQDCPA~^J zANES=Q#}IVmSryj^okjI?3gGSniLG3QDs=z7k@GGzs3sQEhV%IU)OL(H3|>nT+osE zj4f_aKsyiyB5wGS~Gyn&?9Ikp2 z`1y&(hnFu*Ik4;5krT=2^& + +ParadisEO-MOEO: moeoVectorVsSolutionBM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+ +

moeoVectorVsSolutionBM< EOT, R, EOFitness > Class Template Reference

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

+#include <moeoMetric.h> +

+

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

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

Detailed Description

+

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

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

+ +

+Definition at line 82 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.png b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsSolutionBM.png new file mode 100644 index 0000000000000000000000000000000000000000..2fce3121080c7f36d413a7d469cb45dabc357661 GIT binary patch literal 1770 zcmc&#XH*kb6b?{8_Na^^3TTmr%7%h)08K&JB8d+0AYavD4&T4PHRemmf%u#cY)aR`FsK7^C=jNe}Mq)8HGYg>gKZqu277J z8yIln-Dn5^AeQQAcM=l+V5$5<(L)P)do9Z^Cqf9X4Y#7A%XOR9&Jb*`rgM2 zw=yghbm%@(K4#S83}3c)|B1{g7k&hiYgMXdIFed8h?X_MQe8q@tALzjvz9~H0h8JWIAZwlF8sa-$!7DNw z4+=m&-cm~9B-xXMG&1UVxw~qEXyrW~Mquwf7z_o^n`c@)BHkj4L1RtdWRLZs%Hgpq`7kE*KvX`E<0%@$rGrU`An zFu6?|FnqEy-Wjfqx&rS}R&yQao%MY~h`YpwA&!kG;;VrgiS|7{XJGSZ!SyrPpfIA# zRR?fo!xdC3RhH2OQ8(4fEuq=S_abp9awiqi(cy7=o~amov@G$x;*BBn%Y)(0)vVyJ zSIJFMQ7C#){~USEQP||}3_6x=bnfK{9=_c@JjAH6?oAv-^Wf$Ek^xNePxpSPyU0Wm zEK78eI;3#RhRLg8%;j1ejMOzf4{ObnKv6n=DMXjL>jwr|ts`*cmU7FB$q`kBJxLfI zU0)8oSr`m72wYCC=la2rI>$mM?q{EBvw8Ri$XMLOR=f&cW;NQ*?*PE%hQCTepmKpa zGR)FbqO(lc?a=Y>Qp(s8zmHK>B(_CPS~Z;Fa8oESZ*)9G%~-G>!bf@z{}(g2=}n{g z`SpuiQked@#$upeh*M6n|3gLIf%LL2S?JA+t9LAJd(S3B9Ywd(6H9CFVVOzkzE65f_@dDk)ib*%^b6 z^5BDiZRYFSMg%;}XSe(nOh8M8Q%qAZ!LnweJKk#cJafUyIg> z>fU`SgY$qtw!++a78W`OF60Hr^5G=4WiOcJNa@p$9enhGu?JpKqM-*abtgv_>0b)d zFG5}1q$e=s5V3TpN)pM>v;FGR#^>O2Q@KHhpiHc(3G3I?;I zey{klPRZ>uCD&F%4V{kYgv@1VoEj62xs&r~>cj1ZE~KsGt$f2mM7s7gW~Vou^Ej0O zp(RBCYhwt+Km|Fx`t}$^x6DVs7{7o7|8j2iDg>M{hcCT&d2i zI$TtFX`>frz??Gl;fZT`zjy_i7~4Nv#X#GZISt&6b&BK=M-aqVLK_e3Y4hU6!o>ZY zl?L|+)*Nth+ldHX-l4BT3gOR>S5y}P=T=fC-%arJm|jvJ@VFN*A8(nRdb&Ga{mb6` g_Q1Aov_ttq(rfSCn))^x1s@Z@(caCj7UX~HXH1MsZvX%Q literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.html b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.html new file mode 100644 index 000000000..ac6dd93f4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.html @@ -0,0 +1,62 @@ + + +ParadisEO-MOEO: moeoVectorVsVectorBM< EOT, R, EOFitness > Class Template Reference + + + + +
+
+ +

moeoVectorVsVectorBM< EOT, R, EOFitness > Class Template Reference

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

+#include <moeoMetric.h> +

+

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

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

Detailed Description

+

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

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

+ +

+Definition at line 95 of file moeoMetric.h.


The documentation for this class was generated from the following file: +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.png b/trunk/paradiseo-moeo/docs/html/classmoeoVectorVsVectorBM.png new file mode 100644 index 0000000000000000000000000000000000000000..1c3bcd6ce322fcd972b44157e985af2bab0ac7b7 GIT binary patch literal 1711 zcma)7c~sI_6sF0Fad!s9rEQor#WEMN1Z^>Y3T}yzyC&s^W=?LE20E2fA}VHXk*ScD zI;bh8R+?j3Zlgg8TCRn=rkRFh#V}4Y!6OV=2WAGHazf>?dNf^iXrOBLEVKL<%L6hTL2qx)iOfhK7ciMu|{*T@&Ht zfCn8I?ePbJ)&p3}gM>5JXL4|1C3}^D{6fSa2CZEAb5XW}Sa11g;~{niowi*7KGw2y z<3VN|%|4v&PUua#B)Ru0mpEL;$6b||beO9^s*;&Qp$H2{m5bD^1R2x3X0O|ji>-};+^_l_cDwL zJtPWW(u`5|=2k5Cwhm|&_nP8_nZAtvE}ePra~tmkdIi4a(H5BHlR+Qw1#p;1Lp8~2 zJXXBKD`t-$-T+abz;c~?>bgCJkAm`>v-+GJZ`NX%=hB%?76XYk05MPenUJm(3{_7P zG0}k0GuoEG-Dy~_UDslrw~e(r7tBn0BPG9LDEEswWF*X#VS#{DwFBCKD>l&L*#N@;I;gji(BkqhB^1#_1c&b-&Psk$Jdj@ohiY*OEi z(A>jxBQq)?hRam)Sh1`|ycd-(OE|JEMxm*3O7#=~ok^Ug!-M6c#4NwH>&>ag!7Br36oK^V~U&zgj$80GqgD`>JEs$7$jA*<2PL(qupmsT?2- z`B6t})dCIGOWn4Yb*8WtqPY(cJcjH82kr&Wi;y}4Sib^COv!)aSK^O6UXg&*<+c5& zxrOqHrftGk5AhED!Qf$#)pB;9^>zBV>VNpH$arGr^=WD56^ls2BB>RVyF;2?rms&nM^UQh(;+P`Y5`3t zCd=RS&6&?Shs+?tVgdkB_kt2cOFc|3PKglVV!!`s*r{640o;?#(e%VNBbnSyA))N? z(q_RJ90y6Jlwb-1^`rS*EyxHUiJHLn{_e_zi#z5#1@Dse^8;_l0nyVYZ75zYuOG8u zVwBsJIM0+AJUFJltVG?n9p-0zEdjd7wWJR-;rn~0KjMsEq-|uABp|>#ls319n*4A3 z1epmuZmK%o#(ioDDE;XC8Y?yaLzM7M9{jN&(sobBd8&b(;P1z-(*FNZbUi%{dlwG> z?d3a>pmk(`wE!g?jl#P<&<_CO(*1zm%rAa z>aFd^3u}fsAFufm?PB7%oUwAIAIUSro^LivO;6qEP zP!hwETQP*rnmlWjD$)=sTjeBZMqaY|v?iFL*U?2{+`T|ijC!LroC=lmaG%@q9r literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/doxygen.css b/trunk/paradiseo-moeo/docs/html/doxygen.css new file mode 100644 index 000000000..c7db1a8a0 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/doxygen.css @@ -0,0 +1,358 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 90%; +} +H1 { + text-align: center; + font-size: 160%; +} +H2 { + font-size: 120%; +} +H3 { + font-size: 100%; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.navtab { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +TD.navtab { + font-size: 70%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +.fragment { + font-family: monospace, fixed; + font-size: 95%; +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } + +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #e8eef2; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #e8eef2; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +TD.tiny { font-size: 75%; +} +a { + color: #1A41A8; +} +a:visited { + color: #2A3798; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} +TH.dirtab { background: #e8eef2; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; +} + +/* Style for detailed member documentation */ +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; +} +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +.memitem { + padding: 4px; + background-color: #eef3f5; + border-width: 1px; + border-style: solid; + border-color: #dedeee; + -moz-border-radius: 8px 8px 8px 8px; +} +.memname { + white-space: nowrap; + font-weight: bold; +} +.memdoc{ + padding-left: 10px; +} +.memproto { + background-color: #d5e1e8; + width: 100%; + border-width: 1px; + border-style: solid; + border-color: #84b0c7; + font-weight: bold; + -moz-border-radius: 8px 8px 8px 8px; +} +.paramkey { + text-align: right; +} +.paramtype { + white-space: nowrap; +} +.paramname { + color: #602020; + font-style: italic; + white-space: nowrap; +} +/* End Styling for detailed member documentation */ + +/* for the tree view */ +.ftvtree { + font-family: sans-serif; + margin:0.5em; +} +.directory { font-size: 9pt; font-weight: bold; } +.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } +.directory > h3 { margin-top: 0; } +.directory p { margin: 0px; white-space: nowrap; } +.directory div { display: none; margin: 0px; } +.directory img { vertical-align: -30%; } diff --git a/trunk/paradiseo-moeo/docs/html/doxygen.png b/trunk/paradiseo-moeo/docs/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a274bbaffdd67f6d784c894d9cf28729db0e14 GIT binary patch literal 1281 zcmaJ>ZA?>F7(Vx-ms?uoS`b@hdRtpo6o^%HU>M$hfGrBvQnk$LE?p^P!kn&ikhyq! zX~V@&tPF5Qt@V?oTL96Bi%aRiwbe1)9DWQI#?)=HxS7QSw`J`5fAJ*eJbB;uNuKA& zdERDo*{Y<(If(#(B$Lr#;nB(8Y#ia=ZCeW?JfPLuQY`=@cW$k}Rivq|vbxGrRq1Tl9;+(gNt?}UtVKM2`T5t1jLzuL@0UIs`S#vlhl4)^ zLgSYrPj@$+`|j?eSbXTmiHGkWxV8V}BzNR?pl9k_s4pDu9vd5a_UzZEPk)}Ad{AV_ zzddrjrh4=Imr`E06;LY{)YYt?o}L~H@7C}F^WB!Ra=v`Q0bj{>5&$66CWF>mf6vjP z2N>RRY6ZYa=K`76>+|_)Xdwko+7wv}7cN|btOhWb(*{sta~6b?S8Omrxw}!4`NhGr zZVpNqpu1@BE`QGWNTpEpcJVW5izu~2B^GlM?1(OPg)zwW;QcP@Ltcclm>XbJL9C|j z=9!2?ua=uIlf0%AndzHsRC}IyTL$EhAee(fdKB`?27KeS^2M8M_7b~PiCFO&r5LC7 z7gl1*a<8;SjNaw#h=843_AV9iZbWQOAp5YOC^&_F*9K0> zB|6%IDb?aM#3viTxkLU4aXg&@+CkNTOnQ1iMP*^?b|^lJy$4C)Zk4isV!|RZ*XhXh zw8q3$=*0LeGC!XI_Wc?dkT~3+*Gu%%yIqP+Wr3H$=&ROMQU6q}Ag^P~>c5vAEO;a- z_dK-3PPeKar%)6$j~vI2#*-YH!1h6HYVtwCX5_wM`iF#UKz&&@9Oo5w3%XGYrX zW>dY~)SG-((Yim%`InwgTvyRC?e=Wh^8KCao!R6Eg&TpVWUY1sN~4G}V?nFnEGo-; zHZ_$eW9-GnC%^WS9b z@p;-$oH#MtC0v>Q$HX%4^JdFdO$0cbv-W)Q TtK}Eh@>>I#ipmV1>S*>q-hkC} literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/files.html b/trunk/paradiseo-moeo/docs/html/files.html new file mode 100644 index 000000000..842f85447 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/files.html @@ -0,0 +1,52 @@ + + +ParadisEO-MOEO: File Index + + + + +
+
+

ParadisEO-MOEO File List

Here is a list of all documented files with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + +
index.h [code]
make_algo_MOEO.h [code]
moeo.h [code]
moeoArchive.h [code]
moeoArchiveFitnessSavingUpdater.h [code]
moeoArchiveUpdater.h [code]
moeoBinaryMetricSavingUpdater.h [code]
moeoBinaryQualityIndicator.h [code]
moeoCombinedMOLS.h [code]
moeoContributionMetric.h [code]
moeoEntropyMetric.h [code]
moeoHybridMOLS.h [code]
moeoIBEA.h [code]
moeoMetric.h [code]
moeoMOLS.h [code]
moeoNDSorting.h [code]
moeoNSGA_II.h [code]
moeoParetoPhenDist.h [code]
moeoParetoSharing.h [code]
moeoReplacement.h [code]
moeoSelectOneFromPopAndArch.h [code]
README [code]
+
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/ftv2blank.png b/trunk/paradiseo-moeo/docs/html/ftv2blank.png new file mode 100644 index 0000000000000000000000000000000000000000..493c3c0b615ade5b22027bde773faf2c0e076d66 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr2qYM%T@!Q%(o7{me!&ckj8p!u14)&*MwA5S zr6z#mEsk^N1FBF3sc_EE%}vcKVF=AhO-xa6_jFST&P^;T z2~I3aEm8;rVk12R#UIz>f`J-DJY5_^DsClP9B62eH+WF*G=YJMp~A-KbWwke5Kx}M M)78&qol`;+0EL(^EC2ui literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/ftv2doc.png b/trunk/paradiseo-moeo/docs/html/ftv2doc.png new file mode 100644 index 0000000000000000000000000000000000000000..f72999f92172cca6edaa2538286b3e369bec9f49 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^5yjnX4egh%q=bp-`Pe zR7&bp17l3gfhmh7Fm(iZ2eAfco|q!h5)>qKG?UBh!IC9QGMbJAHf6IEiufk_g|d7~ qkWqJ4k(|I-Aeo-5U~n{Fnc?dN!3Uwu?t6hQVDNPHb6Mw<&;$TLIZ`G7 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/ftv2folderclosed.png b/trunk/paradiseo-moeo/docs/html/ftv2folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d063440cbf13c4128dacd96661b6fce58abf26 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^55uo^`BphW;jCHO69?}tw{JfcdnZ<*@N=4I z?xF5Qc|QYEmKAIZ;JRGVHe=bn*tx1_|J^^vyg*oVM#A1kZlFULJYD@<);T3K0RTgB BWg7qh literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/ftv2folderopen.png b/trunk/paradiseo-moeo/docs/html/ftv2folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe2c913cf493ee37ad8e3a5132382138d93ac92 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^5u(C zYP)Mg%H-DB+{J~>rPn_#pYTax?r*V6ubqGX{lvROQ{?n5_cbm+cQAOm`njxgN@xNA D92;js literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/ftv2lastnode.png b/trunk/paradiseo-moeo/docs/html/ftv2lastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b9ba90cb0cf71c8ce662956bfee7d64cf60fa6 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6UZ?L@CkAK|NlRbNhD}!Xpp$P zU;Pg)ksC(lf|p%(p+w2Gk+!>EaktaVt4N i!r*{E4>QXNV>t$uAA#a^n)TVt_DW*G8-srQl%FeIsRSdYm zeDdtWec}u&7@8h5rqv#p7g*pRdwwmugmlS-+cHV~j}#7`Nwj9m+AU)JGGo`8z_}`K z?s#Xsy%Z;1_jl5Y+?Gum8WyK6`MBvup0SAOKJ)mWcHyteJ?WLL>>-)=?&<$H&t5oH Vd!azZ1yDdSc)I$ztaD0e0sw}(dc*(# literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/ftv2mlastnode.png b/trunk/paradiseo-moeo/docs/html/ftv2mlastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..09ceb6adb01054ce799ad20c0e818ab9272f2df2 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr#LU3Jc=+&fg$isFPOjJ*AaIJQGm()YSDb0rfjgNefXW#>UHx3vIVCg! E0ORy6RsaA1 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/ftv2mnode.png b/trunk/paradiseo-moeo/docs/html/ftv2mnode.png new file mode 100644 index 0000000000000000000000000000000000000000..3254c05112199fbc80aad313611c58a5b388792d GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6Ub2s@Ck7}aNq!ti3c<^Gz9OH zn+a6GSQ6wH%;50sMjDVKR^l2_5}cn_Ql40p%8;I!W>k=uu3)5RqGz-?&YcgaLd(;| zF{I*Fa>4?=2W(CyOv{5p*uLi}G<-ambjQcb>&~4!CzK3KXWY6d$*{eWU47N}X+XCz OFnGH9xvXPg)ksC(lf|p%(p+w2Gk+y>EaktaVt4N l!r*{E4>Lv;t literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/ftv2plastnode.png b/trunk/paradiseo-moeo/docs/html/ftv2plastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..0b07e00913d8069ebbb51bd7fd6d70d8bba88f75 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr#LU3Jc=+&MJ literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/ftv2pnode.png b/trunk/paradiseo-moeo/docs/html/ftv2pnode.png new file mode 100644 index 0000000000000000000000000000000000000000..2001b797ba2b98a4127f1d3efca64aef08bf6d51 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6Ub2s@Ck7}aNq!ti3c<^Gz9OH zn+a6GSQ6wH%;50sMjDVKR^l2_5}cn_Ql40p%8;I!W>k=uu3)5RqGz-?&Ycga!obtT zF{I*Fa>4?=2W(Dkd1@Anj~<0|oqBMOmqox%*rjK-r)THv+0v0L%h-agt(X~hWwYzA SIxU|Ma*U^|pUXO@geCywmoZiV literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/ftv2vertline.png b/trunk/paradiseo-moeo/docs/html/ftv2vertline.png new file mode 100644 index 0000000000000000000000000000000000000000..b330f3a33c0085c183ff39fc56b1b274160c1da0 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6UZ?L@CkAK|NlRbNhD}!Xpp$P zU;Pg)ksC(lf|p%(p+w2Gqgt>EaktaVt4N e!r*{^G#i7W2*a|cHZQDzQVgE1elF{r5}E+)J2fZ( literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/functions.html b/trunk/paradiseo-moeo/docs/html/functions.html new file mode 100644 index 000000000..35e6b396a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/functions.html @@ -0,0 +1,335 @@ + + +ParadisEO-MOEO: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- a -

+

- b -

+

- c -

+

- d -

+

- e -

+

- f -

+

- g -

+

- h -

+

- i -

+

- k -

+

- l -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- t -

+

- u -

+

- v -

+

- z -

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

+  +

+

- a -

+

- c -

+

- d -

+

- e -

+

- f -

+

- h -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- u -

+

- z -

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

+

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

+  +

+

- a -

+

- b -

+

- c -

+

- d -

+

- e -

+

- f -

+

- g -

+

- i -

+

- k -

+

- l -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- t -

+

- v -

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

ParadisEO-MOEO Class Hierarchy

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

index.h

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

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

Welcome to ParadisEO-MOEO

+

+

0.1

+intro

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

+tutorial

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

+install

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

+design

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

make_algo_MOEO.h

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

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

moeoArchiveFitnessSavingUpdater.h

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

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

moeoArchiveUpdater.h

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

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

moeoArchive.h

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

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

moeoBinaryMetricSavingUpdater.h

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

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

moeoBinaryQualityIndicator.h

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

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

moeoCombinedMOLS.h

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

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

moeoContributionMetric.h

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

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

moeoEntropyMetric.h

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

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

moeoHybridMOLS.h

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

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

moeoIBEA.h

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

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

moeoMOLS.h

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

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

moeoMetric.h

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

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

moeoNDSorting.h

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

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

moeoNSGA_II.h

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

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

moeoParetoPhenDist.h

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

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

moeoParetoSharing.h

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

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

moeoReplacement.h

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

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

moeoSelectOneFromPopAndArch.h

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

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

moeo.h

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

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

ParadisEO-MOEO Related Pages

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

".search_results()."

".matches_text(0)."
".matches_text($numDocs); + echo "\n"; + echo "
$num.".$doc["name"]."
".report_matches()." "; + foreach ($doc["words"] as $wordInfo) + { + $word = $wordInfo["word"]; + $matchRight = substr($wordInfo["match"],strlen($word)); + echo "$word$matchRight(".$wordInfo["freq"].") "; + } + echo "
\n"; +} + +function main() +{ + if(strcmp('4.1.0', phpversion()) > 0) + { + die("Error: PHP version 4.1.0 or above required!"); + } + if (!($file=fopen("search.idx","rb"))) + { + die("Error: Search index file could NOT be opened!"); + } + if (readHeader($file)!="DOXS") + { + die("Error: Header of index file is invalid!"); + } + $query=""; + if (array_key_exists("query", $_GET)) + { + $query=$_GET["query"]; + } + end_form($query); + echo " \n
\n"; + $results = array(); + $requiredWords = array(); + $forbiddenWords = array(); + $foundWords = array(); + $word=strtok($query," "); + while ($word) // for each word in the search query + { + if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; } + if (($word{0}=='-')) { $word=substr($word,1); $forbiddenWords[]=$word; } + if (!in_array($word,$foundWords)) + { + $foundWords[]=$word; + search($file,strtolower($word),$results); + } + $word=strtok(" "); + } + $docs = array(); + combine_results($results,$docs); + // filter out documents with forbidden word or that do not contain + // required words + $filteredDocs = filter_results($docs,$requiredWords,$forbiddenWords); + // sort the results based on rank + $sorted = array(); + sort_results($filteredDocs,$sorted); + // report results to the user + report_results($sorted); + echo "
\n"; + fclose($file); +} + +main(); + + +?> +
Generated on Mon Jan 15 14:19:18 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/html/tab_b.gif b/trunk/paradiseo-moeo/docs/html/tab_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d623483ffdf5f9f96900108042a7ab0643fe2a3 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcJy*>IeJfk6j|fqX^=1|}vKMh0sDa2W*H literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/tab_l.gif b/trunk/paradiseo-moeo/docs/html/tab_l.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b1e6337c9299a700401a2a78a2c6ffced475216 GIT binary patch literal 706 zcmZ?wbhEHbZT`}F1e&(Gg}Y(8=I;HA5#Z$3JI=gGB)FQ#odI(O&E^@q;x zK6mr*m3xOS-#u~t!I@i+u0DKm^U160k6t`|^WpV}&n+8{U%dD9&a>B#U%!9-@yol< zU%&tQ{rk_K|NsC0`}dE5ET99@1@a36+kb~?0UJ*yc&I3X_m z!ND^5$O7$#8OFRuDhG}!?8z?cdZK&!`PWjdR;Aj^wZ` zeK{IEYHBJ)6K8VIp1`BVt++swf6j+=L{p1*nO(VhE`pFexG@5$|>uaCcd z`0m=9m+yak{QmXN#Sc$^{$X9h9&q2jiKAI|&T)a;PPx2K9p`YIdw8HtR5k2Q$2-O2 z*;3y{MQ-RnJTgJfI&R5|O)AHxDf_00XbPvDZPy4t=hHd)nfLPvms&O`Ok(sD()5v$ z5U@&h;a=#xbxVbo2~X&Xj0Ie(f{v>vERH+qC+nTG=B8Nca=wU-O$?1&vUgV~9=!H; zx>3p9Yn%*<>t~sk+&0xfyS8RsPfYBd<~wWK%j-LmpU>O7yX^h#UCp1x-p#i7@bE;py8XI6 zmY<)m>~)W~yIWcMVoiPg{duuf<*)9qZ9l$m*Ph&W&$jlv*Vpa+{pH@n=IQ$L?0$ax ec60Ul|8o2P|NVbd{6P)#weSbE3}s?04AuZvx_~SI literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/tab_r.gif b/trunk/paradiseo-moeo/docs/html/tab_r.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce9dd9f533cb5486d6941844f442b59d4a9e9175 GIT binary patch literal 2585 zcmbV}`9Bkk1ILFF--w5zJc=ZZT(zjE=;2|_S)Qm~rCWz1Pc)KPl;jv%A#&v2*x}yc zmf2~Jm~&=xjJY?PqwIN}f8qQ2{r$uH{c*nJbmr{cR5??*egHrs-B=MzCF`3%e{FAW z{oL5xTHn~5TM{jaB;@|_Ue5F&Zb@p(kMyG{*;gWDg zyeL|eZf7Qd8=#bXzSiR{yzRgLSj-fJS8>lBjVHN z^o-0eS=nE6a`W;LChBs=`+QAJP~{b93>H^eRb5kCSC1zUNezun%`L5M?RDzv#%jk7 zYVRX=vATPD`+oEfum^{RM@GjuP?-r=yh0!p;Vx^T9G7~`7%5ydH%70=jyJ;;`d;hv92x3R=z{xp+Lg2!*@OK*K15-t&okoPtSED)h&$RLxdbA zseWm^C3d%-yRNi-ryk^!ek+C`n&~cd$#ZWct_cUL{l~i+Nzx^5d!n94(>bW-iL~Rl z&8r)?q|1DIo=0=judQ{FaGcfLERz8gfn3-Qt<2lksh{mzpT}DXxUuR^z=^key&q4! z+wWI45vL0k$R^(F#{qfqhUsN@WA+w-V?LPH33!Q?WFSB3)WBojE@hK41Nb?KfS+Qo zXgrzfsP$wr4Qzy*{OD>uJBjdgGM@VMml5)2f~_}lD*YyOb}Hjeobhz#4c`w(l^>KK zr?Ud;W~Z}*w;%hZ|2^p^+f06gJDJQD zeIhGADbDmm&6arh(q>EZ<7mjzg7l|z$hRL8=1>)Nv=S7CY$B}iYJ&*T_-T_OG*L1q ztZ3Lana33?y3AKnyq^YCF|4x%Rb5WU&2qcl{TFKey%QJeMxn^SdT!hZ5+0i1zeusiYVp-phBl7b5+Px-X&LhByq z0F&<;K0l2+v>qiHlXb#$jXMv$uK-dEGE9L~qtdU(XeRXmvu*K2Q&6!fD**JxYP4b4BR7FdJ$Qx9G9`J%-_X!a#LGpp3g9)VWytGCa;7`S1_e8F~!R+aSJ zOF17p2`H?2kPs8Q`_;U}+D%3p zs2-0BTqFwpUoBk`?P;iPQ(IbEA|JmMx!P&YYG|R@S=5Mnw;-?A6rEEVyV%d7{iU4a zNk`i!%F(Ykpm`}#oH;BjY->@b8vQedv;pza2FL&*6ufjd+*3Ute&>kes~TU?^KkojsTh(o~(3tk1Y6>4(yn( z#U*ID9@eg-beKo1B;HXe+}{Z%n@7m0+yxivuqk9~;!1LGQlah)xYK4>wgL}l6dsaN zIxlRlq`*`j9PG4*0hD6YV_b_2w5b#)o7J?`q#{GjvvKlD`T*dWcZx<-s(ZvLB44E# z=!|sw!?)@%y$oRNL#25WS3lzdii}TuQ3?CLnvQ1_n};2sT_;Y;#d3=+-(O% zMN$>O!3;ke(UuLR%h_&)N zs^!-@A>QR}4yB1bPp`9S19ikTbZ~O{&FF-yHK{En;mmShDUIEw03`j(DBIsM}Rjki2J#SQa3gFZTKBPDeIiLt9Z z%bL3(B@Qw%(B`wSMS~dPh$=R`(}lBoFXKy(s|*{#ru$wjsBc_O#zxNk9w+UUHmx(U zmJ8+M+ndtnZ<7|VU9Mbt61zpo9T&3%Wx&XII=#QJxjR`CZf22ac3d51Z?GD%LEe_&*t46Qf;4`bZ7p2K(Ab5>GfT^}4! zBT&HZD`^PEgWoI&{~o-ID0F?O`75sm(87x%A{(}Ch1)QlzdJ)1B-eqe5a(weg0`4lQIf1evjvbBY50DVbzO7CLf|vP z2#0(U-|jZ`H{y5N^o7%iK6H>_HEGN->U6^!)1{XpJV!!4(Ig7wzZQ*9WYF4X1rG0x z=1uA@i`rIAciubDC{;~b(|&|A@xkjRP5aRcvRU9tvIm}jDB6J eQ0-6-y)mpwdT=ayS0tBxKDA*~;EWmo literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/docs/html/tabs.css b/trunk/paradiseo-moeo/docs/html/tabs.css new file mode 100644 index 000000000..a61552a67 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/tabs.css @@ -0,0 +1,102 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI#current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI#current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.nav +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; +} diff --git a/trunk/paradiseo-moeo/docs/html/tree.html b/trunk/paradiseo-moeo/docs/html/tree.html new file mode 100644 index 000000000..5847a2023 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/html/tree.html @@ -0,0 +1,306 @@ + + + + + + + TreeView + + + + +
+

ParadisEO-MOEO

+
+

o*Welcome to ParadisEO-MOEO

+

o+Class List

+ +

o+Class Hierarchy

+
+

|o+eoFunctorBase [external]

+
+

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

+ +

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

+ +

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

+ +

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

+ +

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

+ +

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

+ +

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

+ +

||o+eoF< void > [external]

+ +

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

+ +

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

+ +

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

+ +

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

+ +

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

+ +

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

+
+

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

+ +
+

||\+moeoMetric

+ +
+

|o+eoObject [external]

+
+

||\+eoPop< EOT > [external]

+ +
+

|o+eoParam [external]

+ +

|o+eoPrintable [external]

+
+

||\+eoPersistent [external]

+
+

|| \*eoPop< EOT > [external]

+
+
+

|o*moeoBinaryQualityIndicator< EOFitness >::Range

+

|o*moeoNDSorting_II< EOT >::compare_nodes

+

|o+moeoParetoPhenDist< EOT, DistType >

+ +

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

+
+

o*Class Members

+

\+File List

+
+

 o*index.h

+

 o*make_algo_MOEO.h

+

 o*moeo.h

+

 o*moeoArchive.h

+

 o*moeoArchiveFitnessSavingUpdater.h

+

 o*moeoArchiveUpdater.h

+

 o*moeoBinaryMetricSavingUpdater.h

+

 o*moeoBinaryQualityIndicator.h

+

 o*moeoCombinedMOLS.h

+

 o*moeoContributionMetric.h

+

 o*moeoEntropyMetric.h

+

 o*moeoHybridMOLS.h

+

 o*moeoIBEA.h

+

 o*moeoMetric.h

+

 o*moeoMOLS.h

+

 o*moeoNDSorting.h

+

 o*moeoNSGA_II.h

+

 o*moeoParetoPhenDist.h

+

 o*moeoParetoSharing.h

+

 o*moeoReplacement.h

+

 o*moeoSelectOneFromPopAndArch.h

+

 \*README

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

Related webpages

+
Generated on Mon Jan 15 14:18:07 2007 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/trunk/paradiseo-moeo/docs/latex/FreeSans.ttf b/trunk/paradiseo-moeo/docs/latex/FreeSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b550b90ba5480f9a3db170a19a1f86daecb0dc92 GIT binary patch literal 22932 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 RlllN>Fk>(~eFPlj{{dxA`xyWL literal 0 HcmV?d00001 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 z^1)6D0{|AAWZWc~21!|D$`7Rc@Y1=&zZ<^2XYZc^``jzWtlRUSF6%k3zKihDcMVqy7Jw5U>tiU6Pdm7)Y< zrjd=hM2jh%^7@Jo7u0=lckR~P=8oWt3l=`RYw6;hYo6S2_37=HSwE~dF+%Cq^6opY zzH#o|*I~>CgEsm>vg|NsU#OD<$Y&=bm^c>~N61r{ncQ4)iYzElm{LfFbMO;DDn*N!O|A*@eFuvMybW zR(4zf&>Y-feN@9kI=Wc)fL5@t2VP53*pl$SO&8KY5**T)Ao zGyOU06|LZ&n!uwwQM2l|iP+@Mb?3REY0mwa{&B-@gWxe_8uq)}+^n14U8W~cm?9V$ zy~!tGJBiw?EW;ydJM=hqT2D{mjDtqbyHI{cCUEaBV8c(9MZq z%y%F|lmmT9t(9fYmLrF4L*#xoUQBVPKT_F(hMi&W;>iai}<}BB#IHKh!Vlw$N=^Gjx+eld@`ansUx%d=vUU?S~Ar)4|(Y z$$^$kpH-(>FeM03AGKdis0|)%K&5NB+MDzFOj5s8pI&m<3&I6b*yTFw#EMgO);gP@ z`(VBahf!)E{T0(0)0d`B6B{s9n5w`kx}!PsLsTIlOO4mlh=iJX3IbjM0I;2UUE0WT zA=#1(bg6o1Vb_d%Nii)QP|_3_ekVkINhZK=x#&~($vyhaU%t*|#0&R-c4^Lg_nlbs z+?3CD{O-F)o?E_b*WM+Ica8Q83-_2jrey!Uxcu{N7;o6tbgk~EGmBqfvfpca<=xlb zcnxNMEl~X_yU2zP9EFBNXzsB)3&U&?(~mi3V6`r+bcn;8f?032F&xnFeVon))Tpqi z78DnDint9}Rzo#l(pgwsxZiQfLFPGjIQBa_9jt@c!pUl+9X@;s&If4GS?~=k8fqT^ zLqj8yuDWCt28nhdQcDGfil%3pxEXn)E^OrWUThFR(BSC<(8y08#GuvLsb|D?sI*cp zEA(`m*S6f*w(zCFEemE=-&YQ9@ShLFpLx7v0@=BC>F|xqJC1{ltpgQ&9v8edUM(#78f!@I7frG@?5nKM`I zY~<=WQ2x%Rpa;54yG9FoM6HAjhwI4}aBDcuDR7*Q1uipZMc5z{09K&KRMye!l6jra zY}yQZ54Z|+e1#=xvy20Bg8ZtmlH!(v-VYCC zzkTn$pO-#j9QXh`?&^-$D<@Oy2IJ5C1otN6cU6y$AIXmq8I$2(+!dY~!7P%9g%4Ua zAmLK8C4&MBms((J0agYa2x$k@Rd9r70Ziaa!~rlmd^c&dw1`z?Cr8XwVx zg&1EdRv4-bHEaz(T2~`3XYb%15#Qkd$bQ6M;J?-VoBvs`TO?quFf5@I7GSVQ93Y+H zByk1EEa4=XMS_`U1t`2~PmmI189}QYHXY$q!$koxPaNwBmOssi^6bt_1uX`38uUCC!4zzhiGjJ5`uq3N_F=A^_# z0b1oKIptsq<*0mcFsN+~gp#xrXrO~aWIYtvHSmfDOe&<6@(()b=8J=h#%zI&_DZj9 z4#>%W1}F)#b9ySv=PVX%4mg|5R<5n!Tvrad=s*AcfH(PZU`tUvq+X-F0REH)w3l@) zc+a0CV?dh+6jI)h(U=a-5ZV~4xAD^lSLzY6&5A8dHKn0 z@+nMhY8b4N38)dq$dHzlpjz)dL=AJHl-chC-fr z!|Jd%bP~Lrrj=9^>l-K@p&69BAw$=&d9aLp1Uyk1dgCZ`?|!28mJMJTFR&NHKRYi5 zxevK3LE;pGX`;&;1Xwf8@8j)08B`GSX+Tnu&W7>k@QyGEgDx7wo3-ZN_#sz#Gd#AS z6~|R5)E1ye2!JCj4P@fErxssMK zKx}@)Ry0C2AY#*-z1U)~UpJRDYN2;$r!E44#@M9jR=i%pWHYrrTm6O>1jX}jiPfRaz0OxJ*|eQLqy zwL7a7sU>^nEsf8!k%#y7n^)Omc}F8zGiP@12j1Urk$*mv2 z-y)3UYlLb13_&PV$}DA$B3D0Uuw}5LpKBa9PP|o#TjGveU9-8_;$&sEWwv9oYY{Zn z@SI^Ra~pS?G*&;0nZiwxX6YrTkJXt$>JaO3Ll|@Mo_+|5CUHqs%Sd|y+Cz=9WA#4eW2L^Rey0fH(b1(yIo{K$E{j_By^8z zk?(I~k-pE|^ZU=RW9i@S{W8&h^x)bx2b))~JxHuLW8=capF2+f?Jn%chIdcB``+(Q zy#uFS3ph~-#>E0r-Wl~-z0ytTr3_Zsis1er2?VqBX(>JIJyLE?nHSs~6v~`s-a*bm z-Wp-7ew=fh7fKiU8Om(uOmAE8ecR`*&pq$^FW4^l&j&k$jx;u^MD0avnF7^OWsGuB z{#!~yks7=Jpk!C*2o9{m9Imj zLM2LTrPpX5sNUM8WV9@;^}1!4ncuV!u6?HLf$8hc)-CvQ>6lI3&Ce}d{KE6|8xJIA za4)YPHf%%Zwx<(U?;TRsag}-I^y{ZSJoV1UFkZJLW-#YrycFbvzQAoViIQwrPcoR? zq30{?74E_A&Hf#JuFzWOt?>7?_Vq$C@110wTM&1VL6f!!E1&C&yCajoLQ?04V#G2-t z|3}uD;{T60HyPw!rV-D7jSsY0!c!NtBwfo5AhP|Blrty$;SnzPFpEnM(4fWJb|q0phJ+mX2YxsAW{VfLOr{o0!!eDo%bCRRhZ^ahNM8Qrb+%(Y^L z#c6CI+lL*_PG#q_yl56gK{Qy+q5;A4Ut~=TkR)bqhCYVWpcPw5s`>vIrCJ7b;Su01 z0ByM3K>6!*(rNpd7AiqE9(^7eg&`U!`!8u^lX(vixXr7dx@ktm*zq^rd~?t7Ha{EL zS$|8}^BDswY8yH}px0jkNW%fR{yhAtx|B_|rIv|<#J=exQ>UaZ6E}*h(x0=wkaLnT zh)$2onKwA+BPZu2BM4D?V97O37$=UC#>wOK;|z5|omeN;$#wcVLrbJ3!$esV=~>0; zW272+a%6Jm{IvN%s(Da)T>n7k!#P{>o{@IzpU!wDvpMqnh$97}0@dP=jS(`!dWrP} zBX(Bqp5mbywlCnWa96n}xc9lwxOtO1;GXOL(#;0ko7}{G9Kc^Y%)uU2Q798s!Dk^# z(hyoOKFu~qq1II5H^M^^arbd4vreVW5x zj&{LC^?(-vIjg=w1KJwsQyk#03*v<6R?X<C-hsFWBU#o~@M^~<-SqdOiKnc6iik|^b zjDx(6HirBclLhER^s#YNJt7qcP4_Hawzw$#;2V!r^)Ai6fB5p3$C&r)8)q!5b2xIn zt6q6{$qD>(tIgaDZQZgvTBb$^|ppY3X zVLk5D3H`)=wYqu0&E5=6ir`~*07<(|cUH&ij*&VbF%%zwAeVYy?Eyhhbh|*U002+) zDUC4Z1;CV};Z`&nb|$eWiWHbjKxfj-T5~l~JVVNFpOv#}Rr8@k)@Y`G=XT|$DNm6} z8?bIx;=TsBmr(IIBEVja^6{ibUhaOuU zGN2)5xE)mB2)mqGh~dO-PV5{Ced$myp&^Fnl84Om?C|XObb441mN0o(#b_`YC{u%W6+w)_>b=Myn3Ks9Gz=vR z%v~TH^#0KV3fN57$^T5nvJb~UU8Tq^vU$$1VHzk#iThIV$Bpyj>gwf(uJeAB4W{8Us z&<@BQ!eViev=*u|YnXd<>xA{<6KI=wzw{z{N_rU`(H)T9M!%QNp%10MqrXa5(Pb$I zngS#ja!8qoHc!LzekGApEsjD?g+NgPic46OY@#Rucm?^C#$Dl{lYsUW&@!NajN{?AE{UZbG!p60v=cUg*eS`;SXZMWb$R! zGOu45CSc7eq5oIzAY=y`u}9;D03igwl$iCq3t=ev{QYQR4jbuMHEr%~3&}c~y(cT@ zM_@)QzMYjbWUCZ*a zC>sTfg5VjgI-lT`Qy_Q?>#~KYu@DvM%7mWAzRUn#)l~|Eg16@Myz!+vA>+H#ryMf6!1jclajpb9Sl-AGb^%h}pF7&t~2;1&&3r%EPc@HMjz z8a>PwOBA3X04I!+ULQ6XZO{xLm`$drBtVH@pbVt0S%eOAorM)lX1&oMnI(8u4e&u| zUmKlP3$Q?qNU~i~445_-H5nK~D}Ek$A5{{bE3Kfle=8%`4!+1oV}xaJW{> z2cc^KKYs{cv0edN1a84y36Bk8A*QEa_Q7FG4CTNAxWNG{P2y{k8L-yBK*>)U>B;KUm`_Xwg9j&$ zAKP8Q7VJK{y{OmWeTkOiyR$w9p?~ax`5iK+W810IWa`y(WZ9u>XF&Q*V2}O*(y!n} zM@$xMf^t7aDpcql7-QPXZWW*f)zrqd@ol+q?-<`z&M_Z~?-@Q*E=m>)RI!tkBwo}=NhY8i11HI3GAK6) zNs7e7b3-KM4fKXcl&7#!8Z^EZ8#8aHl?1GEL;gJ5^wsc#o)j zHQxjzl~&S6H3peGNop0`=s@$bWOR5rXPdDs*i`5rhQMPy#Do-ERub7PHePOf!NzT4yzx*{ir4B*9pjzexJIkj z%9mPSz(J%j)_gdL<&!@LgGZ;=nxw^fy&5D^=fo==@ewJ1);v;<{Yiu|nxk#O;DI%q z^XoCKM6HT5N12wt|1nD_mHRLoViD4Yb4Qrmh>8~Lc2a=o!n&QPV+;#Iz^q+QM32lw zk9-ctj?O@m?2PE(7y4r=4%JlE#NyZYhV6@C*SUQZ*+W3Q^Djd3#X2+eB4r0kh3}|S1mgK zz@}|mHuKeAy!uRYaK5PLBJ|UfsOLm>mp1{5tbS_dR#p)e?|K7g0yCzv2FwjG=Dh5^ z3YKDC6jN@2XhG}@*2-JWGh*ggx>+ahG=KsH&E8qllUR`zk~3T&Q)XP^R2PnYOieFLr{a>5c)LqW!FZR92d!N@m}5_l z*TAjNe^6Cf$I`IX2h9~YxGa`GFqxGkyzy}8#jcsv1JUl7E842v3#;vYzBucm#cP+V z=BB0g>Sd+g&MdC=%;GEfoIy5wTIV%aT4MLN-#Y%efAz+)Nzb1;?($Xcw`8n*i1iJ2 z2nirMh8+^23tyoM=<;M+y-=`bc$o7GIy_0k%i_bT(5NHc4#jo{#DVaQ0HIeD%QVTy z_Crs}t)Fg1Smh|m4YDM+3B8~nji3yRA?htmH+tm=N)p}RBX12X8ATa5=D-p(eAFP( zm5}1lw8Vsi*6doFt1z|J>M|DA79C`2t??jrurL~Pf9ZozYbw(4Wr>P5h(;(^+@d8a zc2{MIrX@nC4XRj-9(=MuNP6I9QK~e?5eP}bi=s7;@eN-o&=^Z7FtEg6y0k#~ibr|J zj`87X3wp1##O-gt?ems(+g(+MP91l*Oxtfs?|W!`?~V?Xz#?9zE>t#Q{dR#D1FV{! z6PKE&M#*PotdFWm5lUyEyH)5& z!RxqqNkVbsT=O)s=q%rFDy!1Oz%>bAT(s(``rB{v`<+cYE4{bPtH1WcIo|cW?DZR* zQ**7e>rU2J+E!JG+QtGynD(YWUb!@>{$qT70tBK*-YYB-rvAI0BC%s;`ZYA~<1+=| z7e1svQ^WXdYBAd*k3^1`emy~#juI_1PLOyFqKJadPtg)}fYJanOu2NuVIc*ebGC~= zL0beUx#U%!q7C4G0{2ZYj|#uwUjTR;P!CuL$OZ`7EI z?X=FYFmfL8?J>MU*8m=Z{Soy&I$*4!YjOV={Jns4!&QO@VeK(KL3=^}4&0Z6_7Kbf z?jMG|8~!Fw*keq0Qx<4303+zd2xliigxC3!?z-$GygC_-M zGvH443f;wCi97;#m~3ffp9B}k@KsNPNhXt8+jjonKWcLU%wQG5V^6O{3I1xvV! zDDfIZXN0cj4x;48h^)UPO4W$cx`@(2&w#(oV?{n_(K(g;4$_H=$E@-uRm#6^#T?GK0sBkUdM?}Rp5tZDF{ZW{ua4SQa%eO*Zz6EeQ zQ3b-Bf;>z^8miHVYY;~5eSnXM>JWb&!m6(ZpbYBI5H&o3Vtk9JNhN9qy#?vloRHCrd2CEJp~Vz#@cl5+RgRt;8aPa_WZb6!5$W zoHYI^aI(Y&aGfU8GY!7pguPZ`k+v$yUnS$JA`4=vk}+0MF5<1CJc&gJRa7DQeUj2D zaht?55pNaEllBGDzEIi&(%vP*>;|quEIwcn3l4)ydoFlt5R1SfmKy8@3EU=mW+KKK zge>?)$mp>Wi=5UXwB5iK@YEtSVb7KJJc$b=k5A$@Ntub-szqpme}TjSiMt~oL5Hy@ zw|ZG_^$61kyC}VSgt;3yFLE=mNMXH9VLehPctqao5vH)um#&@C9+19*z%%frlQ(IB zOzi@h&LHf46okDGI?qHdx+J|@(z_*HjLOR>09^;-$FZZ4PH2sM2;Yi|{){wxVnD{z z9Hi(t&LOFRvtg1&g)JU!5K{1<#9|jIYUel~Zkw>HpqDgl=jF zP(QSAuAzCd6C{`C_D3!pIV`1tqrwt6}8h$nuXGv10l@0$lrYG zMExwp$QnScbkWu5@QY~)^tp$q$1rK_rZsCUYuBy4wr9iY{v zk>R(I|3;~H)3@jWdYj!Ba|orkh{E99k9yyyELK@$W#n_Dz(Lm|4Jyj;b@n2}@@Jxj zyw5V(7NrHDJQ~p>{|PP|%CL|2(NXC9o6a4E?#Qgj>!{^2x&fg+K*Mwx*BCudzi07= zbCJiO`a26XI|KO{r8n4%%J}(h!kLVTp1#_~O_&P(pp#rMRZ;G5m z`?&%&xQKoTpZ~)?;ahRtqWnZ{jWna3ZKrRF(xxBNJ1m=(L$Y`wFNQ+!hm;Lyk)`l^ z1+749-vNyvuh3hVIv(cn{DktT`lR}WF?alQBoQ^@rUz+1y~GlbQ;iL#K*s0$Bxe#-o!ikYJOJf zQ`RfbtIfDD*HLeS$kI;ZnehO$K>pYGCy|QC9cZ0fXd6=hE$BNKMLRh`zr*!5y~_+N z4&suDNQr|jU^nC1%I;>5umkLIHi}q&!QN#bu)nd7*%urg6^9#erkv;Fa`FxQdVW9u z4%A1U;J@I1;h!lPO1|PzAcn34m32tfoyxtq4k_=b+3E>3f^x1f?14zh0mGAqmksBP z@upj$p62KOeDr+D`M1Vt{I2mmB?fISJ|lCsO(X6<>$&Dly{YXDF4J2QDdQJAzyW?9(B69 zRNbULq`t4dZ|FAs%vuJ@A zf9$lf4FZ3M=pH^r&EjwHH_)D!(h6l3M@!`g*j@Y^Y?K!mZZOvIIyRfmscw|@PjE!< zAG}VP1#QRkX%)XB8lW*%#jFK0;N$q7#WCdV4TOAyF`jMZXN~bR%;Y?q{aBf-dX%5h z@0GV9S@$r#sp3#2`;h-o=|C%ZUTrW0$f10P4l3)RY4{NLW48B&c^BI8Y=$`}b+QWf zse;#hJ{zs5N_h`bMXUL5=|lA6yXf0&g}RdN!IzJ=(EIcQ^onA`T4RYZjs2A4lnR6s zMv1GBBX>1W&!QMo>2|hQ*=Ibm%Ff zMngdTC0mKt&V}SsPh)i3qEx63n73e5>Bg9L7`^)_#(^ef7ATo$IWy5N7GQ+fhifm! z2^B4y9%874$YpIYs<;b65lw%31EEWBoSXZ!S0ASnvP>)RO)xOhBVzB(xI)at*uPl zJ9|Lrxr7kXHIP~_=g~FcuLn+-aeBdd%~v?RQBLngPG-^SslKdK^E);Db)QokV_kCt zu;1--1~vUdX`dzS_ey&L><$M!X#UJTpQf{r=GR*{_YL|(zOqs_6c^j#Z0U_HE2W{> zI9TIg(=(jc4Y7;{CM`U}Ups^&f(gi?p6&Gc^(-g6A{fQx?^&UD%nkT`ISxm#tW;+$ z%bm+~ayIKp9?3#2G8*03qMKwiTEC9m&`xcr^u@tlV-{K#^2D!juIT9w=t>X5@axGQ z#Ou>DZu(>9m$wMq+7h_)Qr8@1(4X0_3Fg7UJ2m}#a|4(7&2fkjf zyHHc@^EJfAw+90{+m0wTkrR=tX#RSgenAPX()1W-v$Jn-RR~p+J*d;X8y&;h+1?|O z)0FMk20H^zhu)au4EFeJL#Z@4@5YfVuaC-PJ+P;WI2F0V!f;1^`@rLRDZ^y@J#p+QTnpd*V+ zH@GZLZSZ443vhn;m&++V6BMJ%@-YcV(M~QlHJ$ZbujPqL(^`1@*gmj3@Z_eR|(PQ7UU!O%pjZSM?RdKWzv zBMKDd2Db^Dp3)LfayV$h#&ZJ8_rnd=*}FybypB2*2ikg#`sGk1y*~c zDVe{3>bC=z0~!Hy080V80Y?4;&mUf4w>HJ$;~TG;vAn>C=>uv0fF3cEca`1iZkbWx z)dX_aUI`n}cQq(j^1AmtfLnpw_uL1YK3BayK5+VsK%p0aPXHqF&I=|j zKgyhyC(QhjlE&!$q}qygO>O)*JRV0i9H+MdDk|tWg#af23MBzI0+s?^1e^s#07h`< zBOkjZP693mGy;|aZULMH7-e$KA}O5K0gEI)BNJ8*+z6N>?)Y(BV#4a+4sR|#6y&kA zDZ8=BmdEDgMe=wRrKe-^WKA~XQ$PuaKS}uXlLU%sisAS0-FSVpW11K>cMpG-i?4+2 z9dCXJ zAMGDt_YBrEw&(1pv@w+p+kXwplZWjmZ9D8gEgv(3a?A}KE5r7qnq)m3p)@nac0J$VA4~RcHTa}8A?Q6Tu$xF zH2oj*ontI^ZkKLwHZ$GYPVJq|dbOv0%oLfYS9#iXQ^(bTA;#_rf~xbo#u&z(F%}V| z?KxsraD*63-hOwEFpIX|9Sl-t`sT*WMr%WIO{?!~P)HI(KCvS(@xwOO#b2f;SKov0 z9P3Zy2K5SIiR40%;6KE);Rs%k&iQ>u*k6Sa3>;A!*x&r~1YK$H1%vHlY@y`C4#{7^ zhZX|^eC9mT1RrVUyeQwkD4z@d!B-#*@WnuBzvOep#7I7s3BI9$0>5vl00=x88VyLE zfeh_Zp4VL9aRGrRJxs4jp4ZaDf=6$V!PsnI$pZol!&{eRv9WB)B2zvjS;{9^c3foH zA!AaasgXPaA(({I7kCm*gXdx~{yR%=Gj_N}>VnI={g`rvoc>-wNZ+}+FH;XM)3l-G zLE(Uzk2|z%d7m(Qdi9{Q*QYOc`m~`s>F+Df-NL!f=^LVMe`jE*+uQ3KuJhLUojtzb z$n=h>RhPxJ<6>M>JH95a4iOlXerZF~rN6JlRVAFKi@2&pTvZ~j>E7uwE|P7$BQRv9 z<{+j8(j0+)2(;Hwjw9HdZn>^OHr_f%=GL5}DzO6;hpA9JCeH}~(XPvy%9?}|`jl`= z6!Yo{r_8N&j+~?Hz=V?pG@8TiA;DihgFc19;g@sRb 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..bffe79872 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/annotated.tex @@ -0,0 +1,39 @@ +\section{Paradis\-EO-MOEO Class List} +Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} +\item\contentsline{section}{{\bf moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$} (Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness} )}{\pageref{classmoeoAdditiveBinaryEpsilonIndicator}}{} +\item\contentsline{section}{{\bf moeo\-Archive$<$ EOT $>$} (An archive is a secondary population that stores non-dominated solutions )}{\pageref{classmoeoArchive}}{} +\item\contentsline{section}{{\bf moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$} (This class allows to save the fitnesses of solutions contained in an archive into a file at each generation )}{\pageref{classmoeoArchiveFitnessSavingUpdater}}{} +\item\contentsline{section}{{\bf moeo\-Archive\-Updater$<$ EOT $>$} (This class allows to update the archive at each generation with newly found non-dominated solutions )}{\pageref{classmoeoArchiveUpdater}}{} +\item\contentsline{section}{{\bf moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$} (Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness} )}{\pageref{classmoeoBinaryHypervolumeIndicator}}{} +\item\contentsline{section}{{\bf moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$} (This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file )}{\pageref{classmoeoBinaryMetricSavingUpdater}}{} +\item\contentsline{section}{{\bf moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$} (Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object )}{\pageref{classmoeoBinaryQualityIndicator}}{} +\item\contentsline{section}{{\bf moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range} (Private class to represent the bounds )}{\pageref{classmoeoBinaryQualityIndicator_1_1Range}}{} +\item\contentsline{section}{{\bf moeo\-BM$<$ A1, A2, R $>$} (Base class for binary metrics )}{\pageref{classmoeoBM}}{} +\item\contentsline{section}{{\bf moeo\-Combined\-MOLS$<$ EOT $>$} (This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions )}{\pageref{classmoeoCombinedMOLS}}{} +\item\contentsline{section}{{\bf moeo\-Contribution\-Metric$<$ EOT $>$} (The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set )}{\pageref{classmoeoContributionMetric}}{} +\item\contentsline{section}{{\bf moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} (Same than \doxyref{moeo\-Elitist\-Replacement}{p.}{classmoeoElitistReplacement} except that distinct individuals are privilegied )}{\pageref{classmoeoDisctinctElitistReplacement}}{} +\item\contentsline{section}{{\bf moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} (Keep all the best individuals (almost cut-and-pasted from {\bf eo\-NDPlus\-Replacement}, (c) Maarten Keijzer, Marc Schoenauer and Ge\-Neura Team, 2002) )}{\pageref{classmoeoElitistReplacement}}{} +\item\contentsline{section}{{\bf moeo\-Entropy\-Metric$<$ EOT $>$} (The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set )}{\pageref{classmoeoEntropyMetric}}{} +\item\contentsline{section}{{\bf moeo\-Hybrid\-MOLS$<$ EOT $>$} (This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified )}{\pageref{classmoeoHybridMOLS}}{} +\item\contentsline{section}{{\bf moeo\-IBEA$<$ EOT, Fitness $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) )}{\pageref{classmoeoIBEA}}{} +\item\contentsline{section}{{\bf moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object )}{\pageref{classmoeoIBEAAvgSorting}}{} +\item\contentsline{section}{{\bf moeo\-IBEASorting$<$ EOT, Fitness $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object )}{\pageref{classmoeoIBEASorting}}{} +\item\contentsline{section}{{\bf moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$} (Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object )}{\pageref{classmoeoIBEAStochSorting}}{} +\item\contentsline{section}{{\bf moeo\-Metric} (Base class for performance metrics (also called quality indicators) )}{\pageref{classmoeoMetric}}{} +\item\contentsline{section}{{\bf moeo\-MOLS$<$ EOT $>$} (Abstract class for local searches applied to multi-objective optimization )}{\pageref{classmoeoMOLS}}{} +\item\contentsline{section}{{\bf moeo\-NDSorting\_\-II$<$ EOT $>$} (Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original {\bf eo\-NDSorting\_\-II} class )}{\pageref{classmoeoNDSorting__II}}{} +\item\contentsline{section}{{\bf moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes} (A class to compare the nodes )}{\pageref{classmoeoNDSorting__II_1_1compare__nodes}}{} +\item\contentsline{section}{{\bf moeo\-NSGA\_\-II$<$ EOT $>$} }{\pageref{classmoeoNSGA__II}}{} +\item\contentsline{section}{{\bf moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$} }{\pageref{classmoeoParetoEuclidDist}}{} +\item\contentsline{section}{{\bf moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$} }{\pageref{classmoeoParetoPhenDist}}{} +\item\contentsline{section}{{\bf moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$} }{\pageref{classmoeoParetoSharing}}{} +\item\contentsline{section}{{\bf moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix} }{\pageref{classmoeoParetoSharing_1_1dMatrix}}{} +\item\contentsline{section}{{\bf moeo\-Replacement$<$ EOT, Worth\-T $>$} (Replacement strategy for multi-objective optimization )}{\pageref{classmoeoReplacement}}{} +\item\contentsline{section}{{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$} (Elitist selection process that consists in choosing individuals in the archive as well as in the current population )}{\pageref{classmoeoSelectOneFromPopAndArch}}{} +\item\contentsline{section}{{\bf moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$} (Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness )}{\pageref{classmoeoSolutionUM}}{} +\item\contentsline{section}{{\bf moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} (Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses )}{\pageref{classmoeoSolutionVsSolutionBM}}{} +\item\contentsline{section}{{\bf moeo\-UM$<$ A, R $>$} (Base class for unary metrics )}{\pageref{classmoeoUM}}{} +\item\contentsline{section}{{\bf moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$} (Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses) )}{\pageref{classmoeoVectorUM}}{} +\item\contentsline{section}{{\bf moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} (Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness )}{\pageref{classmoeoVectorVsSolutionBM}}{} +\item\contentsline{section}{{\bf moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$} (Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses) )}{\pageref{classmoeoVectorVsVectorBM}}{} +\end{CompactList} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.eps new file mode 100644 index 000000000..ee63c63a0 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 232.558 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.15 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoAdditiveBinaryEpsilonIndicator< EOFitness >) cw +(eoBinaryQualityIndicator< EOFitness >) cw +(eoBF< const EOFitness &, const EOFitness &, double >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box + (eoBinaryQualityIndicator< EOFitness >) 0 1 box + (eoBF< const EOFitness &, const EOFitness &, double >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.tex new file mode 100644 index 000000000..2cb1ea414 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoAdditiveBinaryEpsilonIndicator.tex @@ -0,0 +1,83 @@ +\section{eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classeoAdditiveBinaryEpsilonIndicator}\index{eoAdditiveBinaryEpsilonIndicator@{eoAdditiveBinaryEpsilonIndicator}} +Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}. + + +{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classeoAdditiveBinaryEpsilonIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Additive\-Binary\-Epsilon\-Indicator} ()\label{classeoAdditiveBinaryEpsilonIndicator_c76501f3d05bc3c1e9ccef6f9c465cb9} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2) +\begin{CompactList}\small\item\em computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classeoAdditiveBinaryEpsilonIndicator_c6d4c79183683a05183a31fcb7f533f1} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf epsilon\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj) +\begin{CompactList}\small\item\em computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$} + +Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}. + + + +Definition at line 126 of file eo\-Binary\-Quality\-Indicator.h. + +\subsection{Member Function Documentation} +\index{eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}!operator()@{operator()}} +\index{operator()@{operator()}!eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeoAdditiveBinaryEpsilonIndicator_5fd885a2a555e26706174a44ef636f4d} + + +computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function) + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ const EOFitness \&, const EOFitness \&, double $>$}. + +Definition at line 149 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::epsilon\-Value().\index{eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}!epsilonValue@{epsilonValue}} +\index{epsilonValue@{epsilonValue}!eoAdditiveBinaryEpsilonIndicator@{eo\-Additive\-Binary\-Epsilon\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::epsilon\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoAdditiveBinaryEpsilonIndicator_8f35162769a1b23ada83e5fb21cc74e7} + + +computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj the index of the objective \end{description} +\end{Desc} + + +Definition at line 181 of file eo\-Binary\-Quality\-Indicator.h. + +Referenced by eo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.eps new file mode 100644 index 000000000..69b8a1f07 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 232.558 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.15 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoBinaryHypervolumeIndicator< EOFitness >) cw +(eoBinaryQualityIndicator< EOFitness >) cw +(eoBF< const EOFitness &, const EOFitness &, double >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoBinaryHypervolumeIndicator< EOFitness >) 0 0 box + (eoBinaryQualityIndicator< EOFitness >) 0 1 box + (eoBF< const EOFitness &, const EOFitness &, double >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.tex new file mode 100644 index 000000000..33cc87a7e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryHypervolumeIndicator.tex @@ -0,0 +1,149 @@ +\section{eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classeoBinaryHypervolumeIndicator}\index{eoBinaryHypervolumeIndicator@{eoBinaryHypervolumeIndicator}} +Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}. + + +{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classeoBinaryHypervolumeIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Binary\-Hypervolume\-Indicator} (double \_\-rho) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2) +\begin{CompactList}\small\item\em indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classeoBinaryHypervolumeIndicator_abde225206c55671bd585cc41cbfab1c} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf hypervolume\-Indicator\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag=false) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 \item\end{CompactList}\item +double {\bf hypervolume\-Indicator\-Value\-Min} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj \item\end{CompactList}\item +double {\bf hypervolume\-Indicator\-Value\-Max} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf rho}\label{classeoBinaryHypervolumeIndicator_02fdfd1b2aa8071cdd3d395777d709a5} + +\begin{CompactList}\small\item\em reference point for the hypervolume calculation \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$} + +Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}. + + + +Definition at line 217 of file eo\-Binary\-Quality\-Indicator.h. + +\subsection{Constructor \& Destructor Documentation} +\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!eoBinaryHypervolumeIndicator@{eoBinaryHypervolumeIndicator}} +\index{eoBinaryHypervolumeIndicator@{eoBinaryHypervolumeIndicator}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::{\bf eo\-Binary\-Hypervolume\-Indicator} (double {\em \_\-rho})\hspace{0.3cm}{\tt [inline]}}\label{classeoBinaryHypervolumeIndicator_8b1dedf93c1936ea7efa9b19913d8773} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em double}]\_\-rho reference point for the hypervolume calculation (rho must not be smaller than 1) \end{description} +\end{Desc} + + +Definition at line 227 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +\subsection{Member Function Documentation} +\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!operator()@{operator()}} +\index{operator()@{operator()}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeoBinaryHypervolumeIndicator_d418f42f086a3221c60ad9149b5df9d0} + + +indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function) + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ const EOFitness \&, const EOFitness \&, double $>$}. + +Definition at line 250 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValue@{hypervolumeIndicatorValue}} +\index{hypervolumeIndicatorValue@{hypervolumeIndicatorValue}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag} = {\tt false})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoBinaryHypervolumeIndicator_9c12e672eaf7ed2b17cab9b96af911e6} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj number of objectives (used for iteration) \item[{\em bool}]\_\-flag = false (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 285 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min(). + +Referenced by eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::operator()().\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}} +\index{hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoBinaryHypervolumeIndicator_6c9b9a5279ad7894b4563e205f13e98b} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 320 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +Referenced by eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}} +\index{hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}!eoBinaryHypervolumeIndicator@{eo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf eo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classeoBinaryHypervolumeIndicator_df2903822dbcd0a906dabf4cb6e05bfb} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 374 of file eo\-Binary\-Quality\-Indicator.h. + +References eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +Referenced by eo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.eps new file mode 100644 index 000000000..819e6f0ed --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 116.279 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 4.3 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoBinaryQualityIndicator< EOFitness >) cw +(eoBF< const EOFitness &, const EOFitness &, double >) cw +(eoFunctorBase) cw +(eoAdditiveBinaryEpsilonIndicator< EOFitness >) cw +(eoBinaryHypervolumeIndicator< EOFitness >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoBinaryQualityIndicator< EOFitness >) 0.5 1 box + (eoBF< const EOFitness &, const EOFitness &, double >) 0.5 2 box + (eoFunctorBase) 0.5 3 box + (eoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box + (eoBinaryHypervolumeIndicator< EOFitness >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.tex new file mode 100644 index 000000000..567e8db4b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator.tex @@ -0,0 +1,69 @@ +\section{eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classeoBinaryQualityIndicator}\index{eoBinaryQualityIndicator@{eoBinaryQualityIndicator}} +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + +{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.25581cm]{classeoBinaryQualityIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Binary\-Quality\-Indicator} ()\label{classeoBinaryQualityIndicator_e138f133fb4a5024b2e31f1544b4739a} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf set\-Bounds} (const unsigned \_\-i\-Obj, const double \_\-min, const double \_\-max) +\begin{CompactList}\small\item\em set the bounds for objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +std::vector$<$ {\bf Range} $>$ {\bf bounds}\label{classeoBinaryQualityIndicator_aa9bb224ab744a00271577a10518581a} + +\begin{CompactList}\small\item\em range (min and max double value) for each objective \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classeoBinaryQualityIndicator_3d9415cfa63d3dd57fe44f9e11df3cac} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf Range} +\begin{CompactList}\small\item\em Private class to represent the bounds. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$} + +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + + +Definition at line 39 of file eo\-Binary\-Quality\-Indicator.h. + +\subsection{Member Function Documentation} +\index{eoBinaryQualityIndicator@{eo\-Binary\-Quality\-Indicator}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!eoBinaryQualityIndicator@{eo\-Binary\-Quality\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ void {\bf eo\-Binary\-Quality\-Indicator}$<$ EOFitness $>$::set\-Bounds (const unsigned {\em \_\-i\-Obj}, const double {\em \_\-min}, const double {\em \_\-max})\hspace{0.3cm}{\tt [inline]}}\label{classeoBinaryQualityIndicator_ed08c328526eb4c1c8cfde8b6938ece9} + + +set the bounds for objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em unsigned}]\_\-i\-Obj the index of the objective \item[{\em double}]\_\-min the minimum value \item[{\em double}]\_\-max the maximum value \end{description} +\end{Desc} + + +Definition at line 62 of file eo\-Binary\-Quality\-Indicator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator_1_1Range.tex b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator_1_1Range.tex new file mode 100644 index 000000000..01e43961d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoBinaryQualityIndicator_1_1Range.tex @@ -0,0 +1,51 @@ +\section{eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range Class Reference} +\label{classeoBinaryQualityIndicator_1_1Range}\index{eoBinaryQualityIndicator::Range@{eoBinaryQualityIndicator::Range}} +Private class to represent the bounds. + + +{\tt \#include $<$eo\-Binary\-Quality\-Indicator.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf Range} ()\label{classeoBinaryQualityIndicator_1_1Range_75dfd77019095fa4993ad3187ac44006} + +\item +{\bf Range} (const double \_\-min, const double \_\-max)\label{classeoBinaryQualityIndicator_1_1Range_111b9a6b682bd0270039cce7d1a847ca} + +\item +double {\bf minimum} ()\label{classeoBinaryQualityIndicator_1_1Range_f9554f81819461f9ad56c12a93259803} + +\item +double {\bf maximum} ()\label{classeoBinaryQualityIndicator_1_1Range_790f08b55cdd69213886de198b2bcc5f} + +\item +double {\bf range} ()\label{classeoBinaryQualityIndicator_1_1Range_a432e7dbdb691ce4e6ee6d6a224e469f} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf min}\label{classeoBinaryQualityIndicator_1_1Range_e233e32a9b7cb73ef5dbe06a204482ec} + +\item +double {\bf max}\label{classeoBinaryQualityIndicator_1_1Range_63c9473e163e3c0c6d5a0327252786b1} + +\item +double {\bf r}\label{classeoBinaryQualityIndicator_1_1Range_101eaf7a60e7243df169c7fde6087342} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class eo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range} + +Private class to represent the bounds. + + + +Definition at line 73 of file eo\-Binary\-Quality\-Indicator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEA.eps b/trunk/paradiseo-moeo/docs/latex/classeoIBEA.eps new file mode 100644 index 000000000..abe693ac4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEA.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoIBEA< EOT, Fitness >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +(eoIBEASorting< EOT, Fitness >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoIBEA< EOT, Fitness >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + (eoIBEASorting< EOT, Fitness >) 0.5 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in +solid +1 0.5 0.25 out +solid +0 0.5 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEA.tex b/trunk/paradiseo-moeo/docs/latex/classeoIBEA.tex new file mode 100644 index 000000000..38074e73d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEA.tex @@ -0,0 +1,60 @@ +\section{eo\-IBEA$<$ EOT, Fitness $>$ Class Template Reference} +\label{classeoIBEA}\index{eoIBEA@{eoIBEA}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + + +{\tt \#include $<$eo\-IBEA.h$>$} + +Inheritance diagram for eo\-IBEA$<$ EOT, Fitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classeoIBEA} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-IBEA} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I)\label{classeoIBEA_703833c1f773136b24d2ca5c7cff4b2d} + +\item +void {\bf calculate\_\-worths} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em mapping \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\bf I}\label{classeoIBEA_f69a9efad202b67ee51d538d14d587e6} + +\begin{CompactList}\small\item\em binary quality indicator to use in the selection process \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness$>$ class eo\-IBEA$<$ EOT, Fitness $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + + + +Definition at line 38 of file eo\-IBEA.h. + +\subsection{Member Function Documentation} +\index{eoIBEA@{eo\-IBEA}!calculate_worths@{calculate\_\-worths}} +\index{calculate_worths@{calculate\_\-worths}!eoIBEA@{eo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness$>$ void {\bf eo\-IBEA}$<$ EOT, Fitness $>$::calculate\_\-worths (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeoIBEA_e6b7c15e38822bef261c545b498eabef} + + +mapping + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-Perf2Worth\-Cached$<$ EOT, double $>$}. + +Definition at line 56 of file eo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.eps b/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.eps new file mode 100644 index 000000000..99056127d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoIBEAAvgSorting< EOT, FitnessEval >) cw +(eoIBEA< EOT, FitnessEval >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoIBEAAvgSorting< EOT, FitnessEval >) 0.5 0 box + (eoIBEA< EOT, FitnessEval >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.tex b/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.tex new file mode 100644 index 000000000..52eea3221 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEAAvgSorting.tex @@ -0,0 +1,99 @@ +\section{eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference} +\label{classeoIBEAAvgSorting}\index{eoIBEAAvgSorting@{eoIBEAAvgSorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + +{\tt \#include $<$eo\-IBEA.h$>$} + +Inheritance diagram for eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classeoIBEAAvgSorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-IBEAAvg\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I, const double \_\-kappa) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf kappa}\label{classeoIBEAAvgSorting_6f467d673861830d6a0708f61cecc3f7} + +\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + + +Definition at line 373 of file eo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}!eoIBEAAvgSorting@{eoIBEAAvgSorting}} +\index{eoIBEAAvgSorting@{eoIBEAAvgSorting}!eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf eo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf eo\-IBEAAvg\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classeoIBEAAvgSorting_eb0cfda626e1e5cac6750f0598610f82} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 385 of file eo\-IBEA.h. + +References eo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::kappa. + +\subsection{Member Function Documentation} +\index{eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAAvgSorting_b365a1eab0da5211c59369416642780d} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 413 of file eo\-IBEA.h.\index{eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!eoIBEAAvgSorting@{eo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAAvgSorting_4bc8c46d151d7935d7b2ac8bfbdd7ee6} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 445 of file eo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.eps b/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.eps new file mode 100644 index 000000000..824b0fded --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoIBEASorting< EOT, Fitness >) cw +(eoIBEA< EOT, Fitness >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoIBEASorting< EOT, Fitness >) 0.5 0 box + (eoIBEA< EOT, Fitness >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.tex b/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.tex new file mode 100644 index 000000000..7149cbafc --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEASorting.tex @@ -0,0 +1,99 @@ +\section{eo\-IBEASorting$<$ EOT, Fitness $>$ Class Template Reference} +\label{classeoIBEASorting}\index{eoIBEASorting@{eoIBEASorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + +{\tt \#include $<$eo\-IBEA.h$>$} + +Inheritance diagram for eo\-IBEASorting$<$ EOT, Fitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classeoIBEASorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-IBEASorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I, const double \_\-kappa) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf kappa}\label{classeoIBEASorting_de45fa88a6b6fc70896a0dbfffdb3dc7} + +\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness = typename EOT::Fitness$>$ class eo\-IBEASorting$<$ EOT, Fitness $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + + +Definition at line 94 of file eo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{eoIBEASorting@{eo\-IBEASorting}!eoIBEASorting@{eoIBEASorting}} +\index{eoIBEASorting@{eoIBEASorting}!eoIBEASorting@{eo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ {\bf eo\-IBEASorting}$<$ EOT, Fitness $>$::{\bf eo\-IBEASorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classeoIBEASorting_7a35d760e84a98fd7a47966c50e3af66} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 106 of file eo\-IBEA.h. + +References eo\-IBEASorting$<$ EOT, Fitness $>$::kappa. + +\subsection{Member Function Documentation} +\index{eoIBEASorting@{eo\-IBEASorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!eoIBEASorting@{eo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf eo\-IBEASorting}$<$ EOT, Fitness $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEASorting_02c7346d6aa62f3e3af20cc6ac3ee1d9} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 134 of file eo\-IBEA.h.\index{eoIBEASorting@{eo\-IBEASorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!eoIBEASorting@{eo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf eo\-IBEASorting}$<$ EOT, Fitness $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEASorting_af613f862a58b402d88958b0e290e810} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 162 of file eo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.eps b/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.eps new file mode 100644 index 000000000..e7776d152 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 233.463 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.14167 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoIBEAStochSorting< EOT, FitnessEval >) cw +(eoIBEA< EOT, FitnessEval >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoIBEAStochSorting< EOT, FitnessEval >) 0.5 0 box + (eoIBEA< EOT, FitnessEval >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.tex b/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.tex new file mode 100644 index 000000000..b429a0053 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoIBEAStochSorting.tex @@ -0,0 +1,97 @@ +\section{eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference} +\label{classeoIBEAStochSorting}\index{eoIBEAStochSorting@{eoIBEAStochSorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + +{\tt \#include $<$eo\-IBEA.h$>$} + +Inheritance diagram for eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classeoIBEAStochSorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-IBEAStoch\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Static Private Member Functions} +\begin{CompactItemize} +\item +static double {\bf zero} ()\label{classeoIBEAStochSorting_0cd3d638866730b7a8fdbd5a1c08c810} + +\begin{CompactList}\small\item\em approximated zero value \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class eo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + + +Definition at line 215 of file eo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}!eoIBEAStochSorting@{eoIBEAStochSorting}} +\index{eoIBEAStochSorting@{eoIBEAStochSorting}!eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf eo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf eo\-IBEAStoch\-Sorting} ({\bf eo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I})\hspace{0.3cm}{\tt [inline]}}\label{classeoIBEAStochSorting_9d9775846e174bdbc9491856b23eb27d} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \end{description} +\end{Desc} + + +Definition at line 226 of file eo\-IBEA.h. + +\subsection{Member Function Documentation} +\index{eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAStochSorting_2a5ddad942fee331fe6912a6fecc9247} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 258 of file eo\-IBEA.h.\index{eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!eoIBEAStochSorting@{eo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf eo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classeoIBEAStochSorting_0d099b5a341791b35db98b350cdbc83f} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-IBEA$<$ EOT, Fitness\-Eval $>$} {\rm (p.\,\pageref{classeoIBEA})}. + +Definition at line 286 of file eo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.eps b/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.eps new file mode 100644 index 000000000..95067130d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 170.94 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.925 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoParetoEuclidDist< EOT, DistType >) cw +(eoParetoPhenDist< EOT, DistType >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoParetoEuclidDist< EOT, DistType >) 0 0 box + (eoParetoPhenDist< EOT, DistType >) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.tex b/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.tex new file mode 100644 index 000000000..468b8acf8 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoEuclidDist.tex @@ -0,0 +1,28 @@ +\section{eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$ Class Template Reference} +\label{classeoParetoEuclidDist}\index{eoParetoEuclidDist@{eoParetoEuclidDist}} +Inheritance diagram for eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classeoParetoEuclidDist} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +Dist\-Type {\bf operator()} (const EOT \&eopf1, const EOT \&eopf2)\label{classeoParetoEuclidDist_8693ded671292b210c3c455fa18c496e} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Dist\-Type = double$>$ class eo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$} + + + + + +Definition at line 15 of file eo\-Pareto\-Phen\-Dist.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Pareto\-Phen\-Dist.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.eps b/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.eps new file mode 100644 index 000000000..41b7a9d73 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 170.94 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.925 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoParetoPhenDist< EOT, DistType >) cw +(eoParetoEuclidDist< EOT, DistType >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoParetoPhenDist< EOT, DistType >) 0 1 box + (eoParetoEuclidDist< EOT, DistType >) 0 0 box + +% ----- relations ----- + +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.tex b/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.tex new file mode 100644 index 000000000..542553113 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoPhenDist.tex @@ -0,0 +1,22 @@ +\section{eo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$ Class Template Reference} +\label{classeoParetoPhenDist}\index{eoParetoPhenDist@{eoParetoPhenDist}} +Inheritance diagram for eo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classeoParetoPhenDist} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Dist\-Type$>$ class eo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$} + + + + + +Definition at line 3 of file eo\-Pareto\-Phen\-Dist.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Pareto\-Phen\-Dist.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.eps b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.eps new file mode 100644 index 000000000..1159ccf2d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 161.943 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.0875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(eoParetoSharing< EOT, worthT >) cw +(eoPerf2Worth< EOT, worthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< worthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (eoParetoSharing< EOT, worthT >) 0.5 0 box + (eoPerf2Worth< EOT, worthT >) 0.5 1 box + (eoUF< const eoPop< EOT > &, void >) 0 2 box + (eoValueParam< std::vector< worthT > >) 1 2 box + (eoFunctorBase) 0 3 box + (eoParam) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.tex b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.tex new file mode 100644 index 000000000..0ef03c5fe --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing.tex @@ -0,0 +1,60 @@ +\section{eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$ Class Template Reference} +\label{classeoParetoSharing}\index{eoParetoSharing@{eoParetoSharing}} +Inheritance diagram for eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classeoParetoSharing} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Pareto\-Sharing} (double \_\-niche\-Size)\label{classeoParetoSharing_99666671930abc479a2f5e5dd2914d41} + +\item +{\bf eo\-Pareto\-Sharing} (double \_\-niche\-Size, {\bf eo\-Pareto\-Phen\-Dist}$<$ EOT, worth\-T $>$ \&\_\-dist)\label{classeoParetoSharing_5ad0d5b6a1c1f4fc17bb9a319f18d645} + +\item +void {\bf operator} ()(const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classeoParetoSharing_df55496bf711d4614bcf42d157a4b4de} + +\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf sh} (double {\bf dist}, double {\bf Dmax})\label{classeoParetoSharing_ce18ecb042033d564be6379869f2be88} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf niche\-Size}\label{classeoParetoSharing_0da31e076cf2098639cd1a9fa06f3942} + +\item +{\bf eo\-Pareto\-Phen\-Dist}$<$ EOT, worth\-T $>$ \& {\bf dist}\label{classeoParetoSharing_f5cff5bf666314e59d58043531253b1b} + +\item +{\bf eo\-Pareto\-Euclid\-Dist}$<$ EOT $>$ {\bf euc\_\-dist}\label{classeoParetoSharing_9b8e6e2c76d816afb23dfdbf91dabf57} + +\item +double {\bf Dmax}\label{classeoParetoSharing_35449ebac125955c49a6d34db0e710b3} + +\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf d\-Matrix} +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class worth\-T = double$>$ class eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$} + + + + + +Definition at line 9 of file eo\-Pareto\-Sharing.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Pareto\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing_1_1dMatrix.tex b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing_1_1dMatrix.tex new file mode 100644 index 000000000..3860314c0 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classeoParetoSharing_1_1dMatrix.tex @@ -0,0 +1,31 @@ +\section{eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix Class Reference} +\label{classeoParetoSharing_1_1dMatrix}\index{eoParetoSharing::dMatrix@{eoParetoSharing::dMatrix}} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf d\-Matrix} (unsigned \_\-s)\label{classeoParetoSharing_1_1dMatrix_0cff6678bc7af1fd6d620a472b6c9ee5} + +\item +void {\bf print\-On} (std::ostream \&\_\-os)\label{classeoParetoSharing_1_1dMatrix_0a331635c3125c5d936f30b34d3b4bcd} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned {\bf r\-Size}\label{classeoParetoSharing_1_1dMatrix_767481759c7990f6a90c581e0fd0a0dd} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class worth\-T = double$>$ class eo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix} + + + + + +Definition at line 99 of file eo\-Pareto\-Sharing.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +eo\-Pareto\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.eps new file mode 100644 index 000000000..ade9478ea --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 262.295 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.90625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoAdditiveBinaryEpsilonIndicator< EOFitness >) cw +(moeoBinaryQualityIndicator< EOFitness >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box + (moeoBinaryQualityIndicator< EOFitness >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.tex new file mode 100644 index 000000000..323f9b5d9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoAdditiveBinaryEpsilonIndicator.tex @@ -0,0 +1,83 @@ +\section{moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classmoeoAdditiveBinaryEpsilonIndicator}\index{moeoAdditiveBinaryEpsilonIndicator@{moeoAdditiveBinaryEpsilonIndicator}} +Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}. + + +{\tt \#include $<$moeo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoAdditiveBinaryEpsilonIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Additive\-Binary\-Epsilon\-Indicator} ()\label{classmoeoAdditiveBinaryEpsilonIndicator_d26af04a8276654998b4425f97963c47} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2) +\begin{CompactList}\small\item\em computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classmoeoAdditiveBinaryEpsilonIndicator_43e2945121a3e77683d935bc72399992} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf epsilon\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj) +\begin{CompactList}\small\item\em computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$} + +Functor Additive binary epsilon indicator for {\bf eo\-Pareto\-Fitness}. + + + +Definition at line 115 of file moeo\-Binary\-Quality\-Indicator.h. + +\subsection{Member Function Documentation} +\index{moeoAdditiveBinaryEpsilonIndicator@{moeo\-Additive\-Binary\-Epsilon\-Indicator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoAdditiveBinaryEpsilonIndicator@{moeo\-Additive\-Binary\-Epsilon\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoAdditiveBinaryEpsilonIndicator_177f9999db6c9fb95d5fbff5a157348c} + + +computation of the maximum epsilon value by which individual \_\-eo1 must be decreased in all objectives such that individual \_\-eo2 is weakly dominated (do not forget to set the bounds before the call of this function) + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description} +\end{Desc} + + +Definition at line 138 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::epsilon\-Value().\index{moeoAdditiveBinaryEpsilonIndicator@{moeo\-Additive\-Binary\-Epsilon\-Indicator}!epsilonValue@{epsilonValue}} +\index{epsilonValue@{epsilonValue}!moeoAdditiveBinaryEpsilonIndicator@{moeo\-Additive\-Binary\-Epsilon\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Additive\-Binary\-Epsilon\-Indicator}$<$ EOFitness $>$::epsilon\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoAdditiveBinaryEpsilonIndicator_e953aa9fe74ebc210dde5ab193c6acab} + + +computation of the epsilon value by which individual \_\-eo1 must be decreased in the objective \_\-i\-Obj such that individual \_\-eo2 is weakly dominated + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj the index of the objective \end{description} +\end{Desc} + + +Definition at line 170 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds. + +Referenced by moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.eps new file mode 100644 index 000000000..3653c706b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 277.778 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.8 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoArchive< EOT >) cw +(eoPop< EOT >) cw +(eoObject) cw +(eoPersistent) cw +(eoPrintable) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoArchive< EOT >) 0.5 0 box + (eoPop< EOT >) 0.5 1 box + (eoObject) 0 2 box + (eoPersistent) 1 2 box + (eoPrintable) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.tex new file mode 100644 index 000000000..852b31278 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchive.tex @@ -0,0 +1,111 @@ +\section{moeo\-Archive$<$ EOT $>$ Class Template Reference} +\label{classmoeoArchive}\index{moeoArchive@{moeoArchive}} +An archive is a secondary population that stores non-dominated solutions. + + +{\tt \#include $<$moeo\-Archive.h$>$} + +Inheritance diagram for moeo\-Archive$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoArchive} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf EOFitness}\label{classmoeoArchive_798bc97d8321b1e2c469e5c341a96dac} + +\begin{CompactList}\small\item\em The fitness type of a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +bool {\bf dominates} (const {\bf EOFitness} \&\_\-fit) const +\begin{CompactList}\small\item\em Returns true if the current archive dominates \_\-fit. \item\end{CompactList}\item +bool {\bf contains} (const {\bf EOFitness} \&\_\-fit) const +\begin{CompactList}\small\item\em Returns true if the current archive contains \_\-fit. \item\end{CompactList}\item +void {\bf update} (const EOT \&\_\-eo) +\begin{CompactList}\small\item\em Updates the archive with a given individual \_\-eo. \item\end{CompactList}\item +void {\bf update} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Updates the archive with a given population \_\-pop. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Archive$<$ EOT $>$} + +An archive is a secondary population that stores non-dominated solutions. + + + +Definition at line 21 of file moeo\-Archive.h. + +\subsection{Member Function Documentation} +\index{moeoArchive@{moeo\-Archive}!dominates@{dominates}} +\index{dominates@{dominates}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moeo\-Archive}$<$ EOT $>$::dominates (const {\bf EOFitness} \& {\em \_\-fit}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_7786c8bfe67fefa19ac31a4ac700df06} + + +Returns true if the current archive dominates \_\-fit. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fit}]the (Pareto) fitness to compare with the current archive \end{description} +\end{Desc} + + +Definition at line 39 of file moeo\-Archive.h. + +Referenced by moeo\-Archive$<$ EOT $>$::update().\index{moeoArchive@{moeo\-Archive}!contains@{contains}} +\index{contains@{contains}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ bool {\bf moeo\-Archive}$<$ EOT $>$::contains (const {\bf EOFitness} \& {\em \_\-fit}) const\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_71feaf270daa7185e829caef40bbf956} + + +Returns true if the current archive contains \_\-fit. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-fit}]the (Pareto) fitness to search within the current archive \end{description} +\end{Desc} + + +Definition at line 51 of file moeo\-Archive.h.\index{moeoArchive@{moeo\-Archive}!update@{update}} +\index{update@{update}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moeo\-Archive}$<$ EOT $>$::update (const EOT \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_be9f67bfe41c25537292056d5b30f56a} + + +Updates the archive with a given individual \_\-eo. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-eo}]the given individual \end{description} +\end{Desc} + + +Definition at line 63 of file moeo\-Archive.h. + +References moeo\-Archive$<$ EOT $>$::dominates(). + +Referenced by moeo\-Archive$<$ EOT $>$::update().\index{moeoArchive@{moeo\-Archive}!update@{update}} +\index{update@{update}!moeoArchive@{moeo\-Archive}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moeo\-Archive}$<$ EOT $>$::update (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchive_58e891ab400ba352e8b0a341d0bdc107} + + +Updates the archive with a given population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the given population \end{description} +\end{Desc} + + +Definition at line 98 of file moeo\-Archive.h. + +References moeo\-Archive$<$ EOT $>$::update(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Archive.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.eps new file mode 100644 index 000000000..2a12b3fbe --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 299.625 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.66875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoArchiveFitnessSavingUpdater< EOT >) cw +(eoUpdater) cw +(eoF< void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoArchiveFitnessSavingUpdater< EOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.tex new file mode 100644 index 000000000..656d6637d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveFitnessSavingUpdater.tex @@ -0,0 +1,67 @@ +\section{moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$ Class Template Reference} +\label{classmoeoArchiveFitnessSavingUpdater}\index{moeoArchiveFitnessSavingUpdater@{moeoArchiveFitnessSavingUpdater}} +This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. + + +{\tt \#include $<$moeo\-Archive\-Fitness\-Saving\-Updater.h$>$} + +Inheritance diagram for moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoArchiveFitnessSavingUpdater} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Archive\-Fitness\-Saving\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, const std::string \&\_\-filename=\char`\"{}Res/Arch\char`\"{}, int \_\-id=-1) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf operator()} ()\label{classmoeoArchiveFitnessSavingUpdater_2ad5d3ab2c2066a1a3b85fff2ac14a19} + +\begin{CompactList}\small\item\em Saves the fitness of the archive's members into the file. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moeo\-Archive}$<$ EOT $>$ \& {\bf arch}\label{classmoeoArchiveFitnessSavingUpdater_b8eeccd7b43eb11e36cee2ec7d7c9c21} + +\begin{CompactList}\small\item\em local archive \item\end{CompactList}\item +std::string {\bf filename}\label{classmoeoArchiveFitnessSavingUpdater_17c82bea631bf9ff635a3698d08907f0} + +\begin{CompactList}\small\item\em target filename \item\end{CompactList}\item +int {\bf id}\label{classmoeoArchiveFitnessSavingUpdater_e064861d67aae0747c2d8ffab90cbfbf} + +\begin{CompactList}\small\item\em own ID \item\end{CompactList}\item +unsigned {\bf counter}\label{classmoeoArchiveFitnessSavingUpdater_e32fab4bb828d40fe19c283dbd2a6423} + +\begin{CompactList}\small\item\em counter \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$} + +This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. + + + +Definition at line 27 of file moeo\-Archive\-Fitness\-Saving\-Updater.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoArchiveFitnessSavingUpdater@{moeo\-Archive\-Fitness\-Saving\-Updater}!moeoArchiveFitnessSavingUpdater@{moeoArchiveFitnessSavingUpdater}} +\index{moeoArchiveFitnessSavingUpdater@{moeoArchiveFitnessSavingUpdater}!moeoArchiveFitnessSavingUpdater@{moeo\-Archive\-Fitness\-Saving\-Updater}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Archive\-Fitness\-Saving\-Updater}$<$ EOT $>$::{\bf moeo\-Archive\-Fitness\-Saving\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch}, const std::string \& {\em \_\-filename} = {\tt \char`\"{}Res/Arch\char`\"{}}, int {\em \_\-id} = {\tt -1})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchiveFitnessSavingUpdater_b61826bfa0f47064aed460817cf61b92} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-arch}]local archive \item[{\em \_\-filename}]target filename \item[{\em \_\-id}]own ID \end{description} +\end{Desc} + + +Definition at line 37 of file moeo\-Archive\-Fitness\-Saving\-Updater.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Archive\-Fitness\-Saving\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.eps new file mode 100644 index 000000000..7d3bc3fca --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 425.532 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.175 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoArchiveUpdater< EOT >) cw +(eoUpdater) cw +(eoF< void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoArchiveUpdater< EOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.tex new file mode 100644 index 000000000..82d44c816 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoArchiveUpdater.tex @@ -0,0 +1,61 @@ +\section{moeo\-Archive\-Updater$<$ EOT $>$ Class Template Reference} +\label{classmoeoArchiveUpdater}\index{moeoArchiveUpdater@{moeoArchiveUpdater}} +This class allows to update the archive at each generation with newly found non-dominated solutions. + + +{\tt \#include $<$moeo\-Archive\-Updater.h$>$} + +Inheritance diagram for moeo\-Archive\-Updater$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoArchiveUpdater} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Archive\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf operator()} ()\label{classmoeoArchiveUpdater_19e98244f0dd641983af81d8dcaf0f7d} + +\begin{CompactList}\small\item\em Updates the archive with newly found non-dominated solutions contained in the main population. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moeo\-Archive}$<$ EOT $>$ \& {\bf arch}\label{classmoeoArchiveUpdater_2fd7b92786ced836e3d0b5abfb801a86} + +\begin{CompactList}\small\item\em the archive of non-dominated solutions \item\end{CompactList}\item +const {\bf eo\-Pop}$<$ EOT $>$ \& {\bf pop}\label{classmoeoArchiveUpdater_0fc3f08f0385c55569eb056737303363} + +\begin{CompactList}\small\item\em the main population \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Archive\-Updater$<$ EOT $>$} + +This class allows to update the archive at each generation with newly found non-dominated solutions. + + + +Definition at line 23 of file moeo\-Archive\-Updater.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoArchiveUpdater@{moeo\-Archive\-Updater}!moeoArchiveUpdater@{moeoArchiveUpdater}} +\index{moeoArchiveUpdater@{moeoArchiveUpdater}!moeoArchiveUpdater@{moeo\-Archive\-Updater}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Archive\-Updater}$<$ EOT $>$::{\bf moeo\-Archive\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch}, const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoArchiveUpdater_71027fd5f8dac7d8069b682c998c03c5} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-arch}]an archive of non-dominated solutions \item[{\em \_\-pop}]the main population \end{description} +\end{Desc} + + +Definition at line 32 of file moeo\-Archive\-Updater.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Archive\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.eps new file mode 100644 index 000000000..d20d0f74a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.eps @@ -0,0 +1,247 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 65.1466 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 7.675 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 5 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +(moeoSolutionVsSolutionBM< EOT, R, EOFitness >) cw +(moeoVectorVsSolutionBM< EOT, R, EOFitness >) cw +(moeoVectorVsVectorBM< EOT, R, EOFitness >) cw +(moeoVectorVsVectorBM< EOT, double >) cw +(moeoContributionMetric< EOT >) cw +(moeoEntropyMetric< EOT >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoBM< A1, A2, R >) 1.5 2 box + (eoBF< A1, A2, R >) 1 3 box + (moeoMetric) 2 3 box + (eoFunctorBase) 1 4 box + (eoFunctorBase) 2 4 box + (moeoSolutionVsSolutionBM< EOT, R, EOFitness >) 0 1 box + (moeoVectorVsSolutionBM< EOT, R, EOFitness >) 1 1 box + (moeoVectorVsVectorBM< EOT, R, EOFitness >) 2 1 box + (moeoVectorVsVectorBM< EOT, double >) 3 1 box + (moeoContributionMetric< EOT >) 2.5 0 box + (moeoEntropyMetric< EOT >) 3.5 0 box + +% ----- relations ----- + +solid +0 1.5 2 out +solid +1 2 3 conn +solid +1 1 3 in +solid +0 1 3 out +solid +1 2 3 in +solid +0 2 3 out +solid +1 1 4 in +solid +1 2 4 in +solid +1 1.5 1.25 out +solid +0 3 2 conn +solid +0 0 1.75 in +solid +0 1 1.75 in +solid +0 2 1.75 in +solid +0 3 1.75 in +solid +1 3 0.25 out +solid +2.5 3.5 1 conn +solid +0 2.5 0.75 in +solid +0 3.5 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.tex new file mode 100644 index 000000000..ab5408f52 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBM.tex @@ -0,0 +1,27 @@ +\section{moeo\-BM$<$ A1, A2, R $>$ Class Template Reference} +\label{classmoeoBM}\index{moeoBM@{moeoBM}} +Base class for binary metrics. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-BM$<$ A1, A2, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=1.8241cm]{classmoeoBM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class A1, class A2, class R$>$ class moeo\-BM$<$ A1, A2, R $>$} + +Base class for binary metrics. + + + +Definition at line 38 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.eps new file mode 100644 index 000000000..f5cd0c37d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 273.038 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.83125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoBinaryHypervolumeIndicator< EOFitness >) cw +(moeoBinaryQualityIndicator< EOFitness >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoBinaryHypervolumeIndicator< EOFitness >) 0 0 box + (moeoBinaryQualityIndicator< EOFitness >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.tex new file mode 100644 index 000000000..60580eb30 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryHypervolumeIndicator.tex @@ -0,0 +1,147 @@ +\section{moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classmoeoBinaryHypervolumeIndicator}\index{moeoBinaryHypervolumeIndicator@{moeoBinaryHypervolumeIndicator}} +Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}. + + +{\tt \#include $<$moeo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoBinaryHypervolumeIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Binary\-Hypervolume\-Indicator} (double \_\-rho) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +double {\bf operator()} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2) +\begin{CompactList}\small\item\em indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function) \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classmoeoBinaryHypervolumeIndicator_511931936ec9e368b5f0cbcdc4dbe020} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf hypervolume\-Indicator\-Value} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag=false) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 \item\end{CompactList}\item +double {\bf hypervolume\-Indicator\-Value\-Min} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj \item\end{CompactList}\item +double {\bf hypervolume\-Indicator\-Value\-Max} (const EOFitness \&\_\-fitness\_\-eo1, const EOFitness \&\_\-fitness\_\-eo2, const unsigned \_\-i\-Obj, const bool \_\-flag) +\begin{CompactList}\small\item\em computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf rho}\label{classmoeoBinaryHypervolumeIndicator_06b7c3ba8fa0ceafd7e6b571e43e6f4c} + +\begin{CompactList}\small\item\em reference point for the hypervolume calculation \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$} + +Functor Binary hypervolume indicator for {\bf eo\-Pareto\-Fitness}. + + + +Definition at line 206 of file moeo\-Binary\-Quality\-Indicator.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!moeoBinaryHypervolumeIndicator@{moeoBinaryHypervolumeIndicator}} +\index{moeoBinaryHypervolumeIndicator@{moeoBinaryHypervolumeIndicator}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::{\bf moeo\-Binary\-Hypervolume\-Indicator} (double {\em \_\-rho})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryHypervolumeIndicator_15d486d524816d294bc007d7a555cbfe} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em double}]\_\-rho reference point for the hypervolume calculation (rho must not be smaller than 1) \end{description} +\end{Desc} + + +Definition at line 216 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +\subsection{Member Function Documentation} +\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!operator()@{operator()}} +\index{operator()@{operator()}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::operator() (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryHypervolumeIndicator_697e7fcab99f5192925e2f2157d1e1a3} + + +indicator value of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 (don't forget to set the bounds before the call of this function) + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \end{description} +\end{Desc} + + +Definition at line 239 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValue@{hypervolumeIndicatorValue}} +\index{hypervolumeIndicatorValue@{hypervolumeIndicatorValue}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag} = {\tt false})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoBinaryHypervolumeIndicator_dd0c63a922cb4bf921978413fdb1dca0} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj number of objectives (used for iteration) \item[{\em bool}]\_\-flag = false (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 274 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), and moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min(). + +Referenced by moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max(), moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min(), and moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::operator()().\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}} +\index{hypervolumeIndicatorValueMin@{hypervolumeIndicatorValueMin}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Min (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoBinaryHypervolumeIndicator_637f559f83f473412c61d4a485af5993} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a minimization on the objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 309 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +Referenced by moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value().\index{moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}!hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}} +\index{hypervolumeIndicatorValueMax@{hypervolumeIndicatorValueMax}!moeoBinaryHypervolumeIndicator@{moeo\-Binary\-Hypervolume\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ double {\bf moeo\-Binary\-Hypervolume\-Indicator}$<$ EOFitness $>$::hypervolume\-Indicator\-Value\-Max (const EOFitness \& {\em \_\-fitness\_\-eo1}, const EOFitness \& {\em \_\-fitness\_\-eo2}, const unsigned {\em \_\-i\-Obj}, const bool {\em \_\-flag})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoBinaryHypervolumeIndicator_c0a602a4f1a27418d95d883f53e45cb2} + + +computation of the hypervolume of the portion of the objective space that is dominated by individual \_\-eo1 but not by individual \_\-eo2 in case of a maximization on the objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em EOFitness}]\& \_\-fitness\_\-eo1 the fitness of the first individual \item[{\em EOFitness}]\& \_\-fitness\_\-eo2 the fitness of the second individual \item[{\em unsigned}]\_\-i\-Obj index of the objective \item[{\em bool}]\_\-flag (only used for iteration) \end{description} +\end{Desc} + + +Definition at line 363 of file moeo\-Binary\-Quality\-Indicator.h. + +References moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::bounds, moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(), and moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::rho. + +Referenced by moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$::hypervolume\-Indicator\-Value(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.eps new file mode 100644 index 000000000..c2cc5352d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 313.725 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.59375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoBinaryMetricSavingUpdater< EOT >) cw +(eoUpdater) cw +(eoF< void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoBinaryMetricSavingUpdater< EOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.tex new file mode 100644 index 000000000..d5e783c4d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryMetricSavingUpdater.tex @@ -0,0 +1,79 @@ +\section{moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$ Class Template Reference} +\label{classmoeoBinaryMetricSavingUpdater}\index{moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}} +This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. + + +{\tt \#include $<$moeo\-Binary\-Metric\-Saving\-Updater.h$>$} + +Inheritance diagram for moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoBinaryMetricSavingUpdater} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf EOFitness}\label{classmoeoBinaryMetricSavingUpdater_c22e390633d94bbf69309e8d0cae1f0a} + +\begin{CompactList}\small\item\em The fitness type of a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Binary\-Metric\-Saving\-Updater} ({\bf moeo\-Vector\-Vs\-Vector\-BM}$<$ EOT, double $>$ \&\_\-metric, const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop, std::string \_\-filename) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf operator()} ()\label{classmoeoBinaryMetricSavingUpdater_2d051d28def4cadf69957c8a21bf88dc} + +\begin{CompactList}\small\item\em Saves the metric's value for the current generation. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf moeo\-Vector\-Vs\-Vector\-BM}$<$ EOT, double $>$ \& {\bf metric}\label{classmoeoBinaryMetricSavingUpdater_52e12414a266bce1dbce0b913025fd37} + +\begin{CompactList}\small\item\em binary metric comparing two Pareto sets \item\end{CompactList}\item +const {\bf eo\-Pop}$<$ EOT $>$ \& {\bf pop}\label{classmoeoBinaryMetricSavingUpdater_9c30673aca66a1531856cb92068edaf7} + +\begin{CompactList}\small\item\em main population \item\end{CompactList}\item +{\bf eo\-Pop}$<$ EOT $>$ {\bf old\-Pop}\label{classmoeoBinaryMetricSavingUpdater_c1751bf23ef440d895a39cdff25c384c} + +\begin{CompactList}\small\item\em (n-1) population \item\end{CompactList}\item +std::string {\bf filename}\label{classmoeoBinaryMetricSavingUpdater_32c78860e3aee52346df3aa30c5ac42f} + +\begin{CompactList}\small\item\em target filename \item\end{CompactList}\item +bool {\bf first\-Gen}\label{classmoeoBinaryMetricSavingUpdater_1e40103a5cfa592a9d2408102e507a19} + +\begin{CompactList}\small\item\em is it the first generation ? \item\end{CompactList}\item +unsigned {\bf counter}\label{classmoeoBinaryMetricSavingUpdater_280b52506c280b07356726ad5d497ef8} + +\begin{CompactList}\small\item\em counter \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$} + +This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. + + + +Definition at line 26 of file moeo\-Binary\-Metric\-Saving\-Updater.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoBinaryMetricSavingUpdater@{moeo\-Binary\-Metric\-Saving\-Updater}!moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}} +\index{moeoBinaryMetricSavingUpdater@{moeoBinaryMetricSavingUpdater}!moeoBinaryMetricSavingUpdater@{moeo\-Binary\-Metric\-Saving\-Updater}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Binary\-Metric\-Saving\-Updater}$<$ EOT $>$::{\bf moeo\-Binary\-Metric\-Saving\-Updater} ({\bf moeo\-Vector\-Vs\-Vector\-BM}$<$ EOT, double $>$ \& {\em \_\-metric}, const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop}, std::string {\em \_\-filename})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryMetricSavingUpdater_978c6e8a99459722220387f911c1f461} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-metric}]the binary metric comparing two Pareto sets \item[{\em \_\-pop}]the main population \item[{\em \_\-filename}]the target filename \end{description} +\end{Desc} + + +Definition at line 41 of file moeo\-Binary\-Metric\-Saving\-Updater.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Metric\-Saving\-Updater.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.eps new file mode 100644 index 000000000..6fcedbeaa --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 131.148 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.8125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoBinaryQualityIndicator< EOFitness >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +(moeoAdditiveBinaryEpsilonIndicator< EOFitness >) cw +(moeoBinaryHypervolumeIndicator< EOFitness >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoBinaryQualityIndicator< EOFitness >) 0.5 1 box + (eoBF< A1, A2, R >) 0.5 2 box + (eoFunctorBase) 0.5 3 box + (moeoAdditiveBinaryEpsilonIndicator< EOFitness >) 0 0 box + (moeoBinaryHypervolumeIndicator< EOFitness >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.tex new file mode 100644 index 000000000..4495bed7f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator.tex @@ -0,0 +1,71 @@ +\section{moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$ Class Template Reference} +\label{classmoeoBinaryQualityIndicator}\index{moeoBinaryQualityIndicator@{moeoBinaryQualityIndicator}} +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + +{\tt \#include $<$moeo\-Binary\-Quality\-Indicator.h$>$} + +Inheritance diagram for moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.67213cm]{classmoeoBinaryQualityIndicator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Binary\-Quality\-Indicator} ()\label{classmoeoBinaryQualityIndicator_a212ae7c8258587a32b158043911cdb6} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf set\-Bounds} (const unsigned \_\-i\-Obj, const double \_\-min, const double \_\-max) +\begin{CompactList}\small\item\em set the bounds for objective \_\-i\-Obj \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +std::vector$<$ {\bf Range} $>$ {\bf bounds}\label{classmoeoBinaryQualityIndicator_a3bce334c4e74a22c0eb1026592d2f90} + +\begin{CompactList}\small\item\em range (min and max double value) for each objective \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Types} +\begin{CompactItemize} +\item +typedef EOFitness::fitness\_\-traits {\bf traits}\label{classmoeoBinaryQualityIndicator_a23261c88b3ce39b9fed704cad328a76} + +\begin{CompactList}\small\item\em fitness traits \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf Range} +\begin{CompactList}\small\item\em Private class to represent the bounds. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$} + +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + + +Definition at line 28 of file moeo\-Binary\-Quality\-Indicator.h. + +\subsection{Member Function Documentation} +\index{moeoBinaryQualityIndicator@{moeo\-Binary\-Quality\-Indicator}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!moeoBinaryQualityIndicator@{moeo\-Binary\-Quality\-Indicator}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOFitness$>$ void {\bf moeo\-Binary\-Quality\-Indicator}$<$ EOFitness $>$::set\-Bounds (const unsigned {\em \_\-i\-Obj}, const double {\em \_\-min}, const double {\em \_\-max})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoBinaryQualityIndicator_a08220a55c86a4e0dd1c8977eb625c9f} + + +set the bounds for objective \_\-i\-Obj + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em unsigned}]\_\-i\-Obj the index of the objective \item[{\em double}]\_\-min the minimum value \item[{\em double}]\_\-max the maximum value \end{description} +\end{Desc} + + +Definition at line 51 of file moeo\-Binary\-Quality\-Indicator.h. + +Referenced by moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::set\-Bounds(), moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$::set\-Bounds(), and moeo\-IBEASorting$<$ EOT, Fitness $>$::set\-Bounds(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator_1_1Range.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator_1_1Range.tex new file mode 100644 index 000000000..6f45f4709 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoBinaryQualityIndicator_1_1Range.tex @@ -0,0 +1,51 @@ +\section{moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range Class Reference} +\label{classmoeoBinaryQualityIndicator_1_1Range}\index{moeoBinaryQualityIndicator::Range@{moeoBinaryQualityIndicator::Range}} +Private class to represent the bounds. + + +{\tt \#include $<$moeo\-Binary\-Quality\-Indicator.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf Range} ()\label{classmoeoBinaryQualityIndicator_1_1Range_6eafdd50d706e4add50a39400589697c} + +\item +{\bf Range} (const double \_\-min, const double \_\-max)\label{classmoeoBinaryQualityIndicator_1_1Range_1b739913f7b39b9332a85ba95bf0fd97} + +\item +double {\bf minimum} ()\label{classmoeoBinaryQualityIndicator_1_1Range_5e2d18b883faf80b5e8922508c1faeb7} + +\item +double {\bf maximum} ()\label{classmoeoBinaryQualityIndicator_1_1Range_82b2fdf7e8310b6b71230f75b298b455} + +\item +double {\bf range} ()\label{classmoeoBinaryQualityIndicator_1_1Range_352358206bff2de122504f2b1e0fc66f} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf min}\label{classmoeoBinaryQualityIndicator_1_1Range_19ded3674f2ced2fe56a247e43cdc276} + +\item +double {\bf max}\label{classmoeoBinaryQualityIndicator_1_1Range_47728b83ab11c42c7dec8a0d31bf0f2b} + +\item +double {\bf r}\label{classmoeoBinaryQualityIndicator_1_1Range_fc0f543dc51a29059e25d3d0298bc08c} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOFitness$>$ class moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range} + +Private class to represent the bounds. + + + +Definition at line 62 of file moeo\-Binary\-Quality\-Indicator.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Binary\-Quality\-Indicator.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.eps new file mode 100644 index 000000000..0761f1d7b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 243.902 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.05 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoCombinedMOLS< EOT >) cw +(moeoMOLS< EOT >) cw +(eoBF< const EOT &, moeoArchive< EOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoCombinedMOLS< EOT >) 0 0 box + (moeoMOLS< EOT >) 0 1 box + (eoBF< const EOT &, moeoArchive< EOT > &, void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.tex new file mode 100644 index 000000000..2c79dbbb4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoCombinedMOLS.tex @@ -0,0 +1,101 @@ +\section{moeo\-Combined\-MOLS$<$ EOT $>$ Class Template Reference} +\label{classmoeoCombinedMOLS}\index{moeoCombinedMOLS@{moeoCombinedMOLS}} +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. + + +{\tt \#include $<$moeo\-Combined\-MOLS.h$>$} + +Inheritance diagram for moeo\-Combined\-MOLS$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoCombinedMOLS} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Combined\-MOLS} ({\bf eo\-Eval\-Func}$<$ EOT $>$ \&\_\-eval, {\bf moeo\-MOLS}$<$ EOT $>$ \&\_\-first\_\-ls) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf add} ({\bf moeo\-MOLS}$<$ EOT $>$ \&\_\-ls) +\begin{CompactList}\small\item\em Adds a new local search to combine. \item\end{CompactList}\item +void {\bf operator()} (const EOT \&\_\-eo, {\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Gives a new solution in order to explore the neigborhood. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Eval\-Func}$<$ EOT $>$ \& {\bf eval}\label{classmoeoCombinedMOLS_b2c0866a1808022bd3a9dac89e528a01} + +\begin{CompactList}\small\item\em the full evaluator of a solution \item\end{CompactList}\item +std::vector$<$ {\bf moeo\-MOLS}$<$ EOT $>$ $\ast$ $>$ {\bf combined\-MOLS}\label{classmoeoCombinedMOLS_a5ccc182c0d61421fc524c2da3671099} + +\begin{CompactList}\small\item\em the vector that contains the combined MOLS \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Combined\-MOLS$<$ EOT $>$} + +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. + + + +Definition at line 24 of file moeo\-Combined\-MOLS.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoCombinedMOLS@{moeo\-Combined\-MOLS}!moeoCombinedMOLS@{moeoCombinedMOLS}} +\index{moeoCombinedMOLS@{moeoCombinedMOLS}!moeoCombinedMOLS@{moeo\-Combined\-MOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Combined\-MOLS}$<$ EOT $>$::{\bf moeo\-Combined\-MOLS} ({\bf eo\-Eval\-Func}$<$ EOT $>$ \& {\em \_\-eval}, {\bf moeo\-MOLS}$<$ EOT $>$ \& {\em \_\-first\_\-ls})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoCombinedMOLS_9305380cd8f5a4d85ef603fa85c1860b} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-eval}]the full evaluator of a solution \item[{\em \_\-first\_\-ls}]the first multi-objective local search to add \end{description} +\end{Desc} + + +Definition at line 33 of file moeo\-Combined\-MOLS.h. + +References moeo\-Combined\-MOLS$<$ EOT $>$::combined\-MOLS. + +\subsection{Member Function Documentation} +\index{moeoCombinedMOLS@{moeo\-Combined\-MOLS}!add@{add}} +\index{add@{add}!moeoCombinedMOLS@{moeo\-Combined\-MOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moeo\-Combined\-MOLS}$<$ EOT $>$::add ({\bf moeo\-MOLS}$<$ EOT $>$ \& {\em \_\-ls})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoCombinedMOLS_bd6b8f46211d5d531753c69fcd76cba4} + + +Adds a new local search to combine. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-ls}]the multi-objective local search to add \end{description} +\end{Desc} + + +Definition at line 43 of file moeo\-Combined\-MOLS.h. + +References moeo\-Combined\-MOLS$<$ EOT $>$::combined\-MOLS.\index{moeoCombinedMOLS@{moeo\-Combined\-MOLS}!operator()@{operator()}} +\index{operator()@{operator()}!moeoCombinedMOLS@{moeo\-Combined\-MOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf moeo\-Combined\-MOLS}$<$ EOT $>$::operator() (const EOT \& {\em \_\-eo}, {\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoCombinedMOLS_fa7de12db00b89feb139372603bba4aa} + + +Gives a new solution in order to explore the neigborhood. + +The new non-dominated solutions are added to the archive \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-eo}]the solution \item[{\em \_\-arch}]the archive of non-dominated solutions \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ const EOT \&, moeo\-Archive$<$ EOT $>$ \&, void $>$}. + +Definition at line 54 of file moeo\-Combined\-MOLS.h. + +References moeo\-Combined\-MOLS$<$ EOT $>$::combined\-MOLS, and moeo\-Combined\-MOLS$<$ EOT $>$::eval. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Combined\-MOLS.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.eps new file mode 100644 index 000000000..3335421e4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.eps @@ -0,0 +1,227 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 195.312 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.56 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoContributionMetric< EOT >) cw +(moeoVectorVsVectorBM< EOT, double >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoContributionMetric< EOT >) 0.5 0 box + (moeoVectorVsVectorBM< EOT, double >) 0.5 1 box + (moeoBM< A1, A2, R >) 0.5 2 box + (eoBF< A1, A2, R >) 0 3 box + (moeoMetric) 1 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +0 1 3 conn +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 0 4 in +solid +1 1 4 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.tex new file mode 100644 index 000000000..06b7da3d8 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoContributionMetric.tex @@ -0,0 +1,116 @@ +\section{moeo\-Contribution\-Metric$<$ EOT $>$ Class Template Reference} +\label{classmoeoContributionMetric}\index{moeoContributionMetric@{moeoContributionMetric}} +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. + + +{\tt \#include $<$moeo\-Contribution\-Metric.h$>$} + +Inheritance diagram for moeo\-Contribution\-Metric$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoContributionMetric} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf EOFitness}\label{classmoeoContributionMetric_06c0247b9558eeb34e32c9a694924a66} + +\begin{CompactList}\small\item\em The fitness type of a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +double {\bf operator()} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the contribution of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +unsigned {\bf card\_\-C} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the number of solutions both in '\_\-set1' and '\_\-set2'. \item\end{CompactList}\item +unsigned {\bf card\_\-W} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the number of solutions in '\_\-set1' dominating at least one solution of '\_\-set2'. \item\end{CompactList}\item +unsigned {\bf card\_\-N} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the number of solutions in '\_\-set1' having no relation of dominance with those from '\_\-set2'. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Contribution\-Metric$<$ EOT $>$} + +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. + +(Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. of the 2000 Congress on Evolutionary Computation, IEEE Press, pp. 317-324) + + + +Definition at line 23 of file moeo\-Contribution\-Metric.h. + +\subsection{Member Function Documentation} +\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!operator()@{operator()}} +\index{operator()@{operator()}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ double {\bf moeo\-Contribution\-Metric}$<$ EOT $>$::operator() (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoContributionMetric_76b6b93124263ca1a8232b12a556d843} + + +Returns the contribution of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 38 of file moeo\-Contribution\-Metric.h. + +References moeo\-Contribution\-Metric$<$ EOT $>$::card\_\-C(), moeo\-Contribution\-Metric$<$ EOT $>$::card\_\-N(), and moeo\-Contribution\-Metric$<$ EOT $>$::card\_\-W().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_C@{card\_\-C}} +\index{card_C@{card\_\-C}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ unsigned {\bf moeo\-Contribution\-Metric}$<$ EOT $>$::card\_\-C (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_a0041e60c941dd1909f28fadcf011b87} + + +Returns the number of solutions both in '\_\-set1' and '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 57 of file moeo\-Contribution\-Metric.h. + +Referenced by moeo\-Contribution\-Metric$<$ EOT $>$::operator()().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_W@{card\_\-W}} +\index{card_W@{card\_\-W}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ unsigned {\bf moeo\-Contribution\-Metric}$<$ EOT $>$::card\_\-W (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_64a72db699a10d6b4794773d4adbae3c} + + +Returns the number of solutions in '\_\-set1' dominating at least one solution of '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 76 of file moeo\-Contribution\-Metric.h. + +Referenced by moeo\-Contribution\-Metric$<$ EOT $>$::operator()().\index{moeoContributionMetric@{moeo\-Contribution\-Metric}!card_N@{card\_\-N}} +\index{card_N@{card\_\-N}!moeoContributionMetric@{moeo\-Contribution\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ unsigned {\bf moeo\-Contribution\-Metric}$<$ EOT $>$::card\_\-N (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoContributionMetric_9960fc1396dbadb412719aaeeedcf961} + + +Returns the number of solutions in '\_\-set1' having no relation of dominance with those from '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 95 of file moeo\-Contribution\-Metric.h. + +Referenced by moeo\-Contribution\-Metric$<$ EOT $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Contribution\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.eps new file mode 100644 index 000000000..cb6876239 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 318.471 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.57 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoDisctinctElitistReplacement< EOT, WorthT >) cw +(moeoReplacement< EOT, WorthT >) cw +(eoReplacement< EOT >) cw +(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoDisctinctElitistReplacement< EOT, WorthT >) 0 0 box + (moeoReplacement< EOT, WorthT >) 0 1 box + (eoReplacement< EOT >) 0 2 box + (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0 3 box + (eoFunctorBase) 0 4 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 0 4 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.tex new file mode 100644 index 000000000..68117695d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoDisctinctElitistReplacement.tex @@ -0,0 +1,101 @@ +\section{moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$ Class Template Reference} +\label{classmoeoDisctinctElitistReplacement}\index{moeoDisctinctElitistReplacement@{moeoDisctinctElitistReplacement}} +Same than \doxyref{moeo\-Elitist\-Replacement}{p.}{classmoeoElitistReplacement} except that distinct individuals are privilegied. + + +{\tt \#include $<$moeo\-Replacement.h$>$} + +Inheritance diagram for moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoDisctinctElitistReplacement} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Disctinct\-Elitist\-Replacement} ({\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \&\_\-perf2worth) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf operator()} ({\bf eo\-Pop}$<$ EOT $>$ \&\_\-parents, {\bf eo\-Pop}$<$ EOT $>$ \&\_\-offspring) +\begin{CompactList}\small\item\em replacement - result in \_\-parents \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf create\-New\-Pop} ({\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop, unsigned \_\-size) +\begin{CompactList}\small\item\em creation of the new population of size \_\-size \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \& {\bf perf2worth}\label{classmoeoDisctinctElitistReplacement_3d1616ba57c10f5a77e0ec021cc8beb2} + +\begin{CompactList}\small\item\em the functor object to transform raw fitnesses into fitness for selection \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} + +Same than \doxyref{moeo\-Elitist\-Replacement}{p.}{classmoeoElitistReplacement} except that distinct individuals are privilegied. + + + +Definition at line 78 of file moeo\-Replacement.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}!moeoDisctinctElitistReplacement@{moeoDisctinctElitistReplacement}} +\index{moeoDisctinctElitistReplacement@{moeoDisctinctElitistReplacement}!moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ {\bf moeo\-Disctinct\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::{\bf moeo\-Disctinct\-Elitist\-Replacement} ({\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \& {\em \_\-perf2worth})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoDisctinctElitistReplacement_f39200df2b68f6d35fbed2a2688a9d75} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-perf2worth}]the functor class to transform raw fitnesses into fitness for selection \end{description} +\end{Desc} + + +Definition at line 87 of file moeo\-Replacement.h. + +\subsection{Member Function Documentation} +\index{moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}!operator()@{operator()}} +\index{operator()@{operator()}!moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ void {\bf moeo\-Disctinct\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::operator() ({\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-parents}, {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoDisctinctElitistReplacement_ca73704e827074092e7d228253427a8a} + + +replacement - result in \_\-parents + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-parents}]parents population \item[{\em \_\-offspring}]offspring population \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}. + +Definition at line 99 of file moeo\-Replacement.h. + +References moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::create\-New\-Pop().\index{moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}!createNewPop@{createNewPop}} +\index{createNewPop@{createNewPop}!moeoDisctinctElitistReplacement@{moeo\-Disctinct\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ void {\bf moeo\-Disctinct\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::create\-New\-Pop ({\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop}, unsigned {\em \_\-size})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoDisctinctElitistReplacement_7aed100016940e4806a7c93c0e22bf85} + + +creation of the new population of size \_\-size + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the initial population (will be modified) \item[{\em \_\-size}]the size of the population to create \end{description} +\end{Desc} + + +Definition at line 123 of file moeo\-Replacement.h. + +References moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::perf2worth, and eo\-Pop$<$ EOT $>$::swap(). + +Referenced by moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.eps new file mode 100644 index 000000000..dacd4c9bb --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 318.471 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.57 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoElitistReplacement< EOT, WorthT >) cw +(moeoReplacement< EOT, WorthT >) cw +(eoReplacement< EOT >) cw +(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoElitistReplacement< EOT, WorthT >) 0 0 box + (moeoReplacement< EOT, WorthT >) 0 1 box + (eoReplacement< EOT >) 0 2 box + (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0 3 box + (eoFunctorBase) 0 4 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 0 4 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.tex new file mode 100644 index 000000000..260c40587 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoElitistReplacement.tex @@ -0,0 +1,76 @@ +\section{moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$ Class Template Reference} +\label{classmoeoElitistReplacement}\index{moeoElitistReplacement@{moeoElitistReplacement}} +Keep all the best individuals (almost cut-and-pasted from {\bf eo\-NDPlus\-Replacement}, (c) Maarten Keijzer, Marc Schoenauer and Ge\-Neura Team, 2002). + + +{\tt \#include $<$moeo\-Replacement.h$>$} + +Inheritance diagram for moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoElitistReplacement} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Elitist\-Replacement} ({\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \&\_\-perf2worth) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf operator()} ({\bf eo\-Pop}$<$ EOT $>$ \&\_\-parents, {\bf eo\-Pop}$<$ EOT $>$ \&\_\-offspring) +\begin{CompactList}\small\item\em replacement - result in \_\-parents \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \& {\bf perf2worth}\label{classmoeoElitistReplacement_020f0e0b6b88a0081d922cca5b05990e} + +\begin{CompactList}\small\item\em the functor object to transform raw fitnesses into fitness for selection \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Worth\-T = double$>$ class moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} + +Keep all the best individuals (almost cut-and-pasted from {\bf eo\-NDPlus\-Replacement}, (c) Maarten Keijzer, Marc Schoenauer and Ge\-Neura Team, 2002). + + + +Definition at line 35 of file moeo\-Replacement.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!moeoElitistReplacement@{moeoElitistReplacement}} +\index{moeoElitistReplacement@{moeoElitistReplacement}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ {\bf moeo\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::{\bf moeo\-Elitist\-Replacement} ({\bf eo\-Perf2Worth}$<$ EOT, Worth\-T $>$ \& {\em \_\-perf2worth})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoElitistReplacement_fa62ed508ac194ed7b720e37dd22458c} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-perf2worth}]the functor class to transform raw fitnesses into fitness for selection \end{description} +\end{Desc} + + +Definition at line 43 of file moeo\-Replacement.h. + +\subsection{Member Function Documentation} +\index{moeoElitistReplacement@{moeo\-Elitist\-Replacement}!operator()@{operator()}} +\index{operator()@{operator()}!moeoElitistReplacement@{moeo\-Elitist\-Replacement}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Worth\-T = double$>$ void {\bf moeo\-Elitist\-Replacement}$<$ EOT, Worth\-T $>$::operator() ({\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-parents}, {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoElitistReplacement_aad627deb45859e65ace0709c004049a} + + +replacement - result in \_\-parents + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-parents}]parents population \item[{\em \_\-offspring}]offspring population \end{description} +\end{Desc} + + +Implements {\bf eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>$}. + +Definition at line 54 of file moeo\-Replacement.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.eps new file mode 100644 index 000000000..62b905032 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.eps @@ -0,0 +1,227 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 195.312 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.56 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoEntropyMetric< EOT >) cw +(moeoVectorVsVectorBM< EOT, double >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoEntropyMetric< EOT >) 0.5 0 box + (moeoVectorVsVectorBM< EOT, double >) 0.5 1 box + (moeoBM< A1, A2, R >) 0.5 2 box + (eoBF< A1, A2, R >) 0 3 box + (moeoMetric) 1 3 box + (eoFunctorBase) 0 4 box + (eoFunctorBase) 1 4 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +0 1 3 conn +solid +1 0 3 in +solid +0 0 3 out +solid +1 1 3 in +solid +0 1 3 out +solid +1 0 4 in +solid +1 1 4 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.tex new file mode 100644 index 000000000..33d9fc7b7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoEntropyMetric.tex @@ -0,0 +1,89 @@ +\section{moeo\-Entropy\-Metric$<$ EOT $>$ Class Template Reference} +\label{classmoeoEntropyMetric}\index{moeoEntropyMetric@{moeoEntropyMetric}} +The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. + + +{\tt \#include $<$moeo\-Entropy\-Metric.h$>$} + +Inheritance diagram for moeo\-Entropy\-Metric$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classmoeoEntropyMetric} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef EOT::Fitness {\bf EOFitness}\label{classmoeoEntropyMetric_306b72d2236de1ecbae986c65490a8fe} + +\begin{CompactList}\small\item\em The fitness type of a solution. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +double {\bf operator()} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-set2) +\begin{CompactList}\small\item\em Returns the entropy of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf remove\-Dominated} (std::vector$<$ {\bf EOFitness} $>$ \&\_\-f)\label{classmoeoEntropyMetric_3252e7534b1ceb1317936c5d2b3abcbe} + +\item +void {\bf prenormalize} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-f)\label{classmoeoEntropyMetric_c9f0c65b4de69accbfb42486f6445cb0} + +\item +void {\bf normalize} (std::vector$<$ {\bf EOFitness} $>$ \&\_\-f)\label{classmoeoEntropyMetric_bc32468b148a0da4eb21a9fc14dfafae} + +\item +void {\bf compute\-Union} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-f1, const std::vector$<$ {\bf EOFitness} $>$ \&\_\-f2, std::vector$<$ {\bf EOFitness} $>$ \&\_\-f)\label{classmoeoEntropyMetric_2de60a0e6be362f074b50e6b455152ab} + +\item +unsigned {\bf how\-Many\-In\-Niche\-Of} (const std::vector$<$ {\bf EOFitness} $>$ \&\_\-f, const {\bf EOFitness} \&\_\-s, unsigned \_\-size)\label{classmoeoEntropyMetric_a9369be315e139ebdf19fac09ad0563f} + +\item +double {\bf euclidian\-Distance} (const {\bf EOFitness} \&\_\-set1, const {\bf EOFitness} \&\_\-to, unsigned \_\-deg=2)\label{classmoeoEntropyMetric_34f825ce7c53132f7218483130da8652} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +std::vector$<$ double $>$ {\bf vect\_\-min\_\-val}\label{classmoeoEntropyMetric_d4046a304badfe78aa35b2d57938ffe9} + +\item +std::vector$<$ double $>$ {\bf vect\_\-max\_\-val}\label{classmoeoEntropyMetric_af0ae9645bdbb993de4bc990a0a08883} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Entropy\-Metric$<$ EOT $>$} + +The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. + +(Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. of the 2002 Congress on Evolutionary Computation, IEEE Press, pp. 1155-1156) + + + +Definition at line 23 of file moeo\-Entropy\-Metric.h. + +\subsection{Member Function Documentation} +\index{moeoEntropyMetric@{moeo\-Entropy\-Metric}!operator()@{operator()}} +\index{operator()@{operator()}!moeoEntropyMetric@{moeo\-Entropy\-Metric}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ double {\bf moeo\-Entropy\-Metric}$<$ EOT $>$::operator() (const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set1}, const std::vector$<$ {\bf EOFitness} $>$ \& {\em \_\-set2})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoEntropyMetric_58136405dfed951efa340ddf541c29fd} + + +Returns the entropy of the Pareto set '\_\-set1' relatively to the Pareto set '\_\-set2'. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-set1}]the first Pareto set \item[{\em \_\-set2}]the second Pareto set \end{description} +\end{Desc} + + +Definition at line 38 of file moeo\-Entropy\-Metric.h. + +References moeo\-Entropy\-Metric$<$ EOT $>$::compute\-Union(), moeo\-Entropy\-Metric$<$ EOT $>$::how\-Many\-In\-Niche\-Of(), moeo\-Entropy\-Metric$<$ EOT $>$::normalize(), moeo\-Entropy\-Metric$<$ EOT $>$::prenormalize(), and moeo\-Entropy\-Metric$<$ EOT $>$::remove\-Dominated(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Entropy\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.eps new file mode 100644 index 000000000..77aee0c9e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 462.428 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.08125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoHybridMOLS< EOT >) cw +(eoUpdater) cw +(eoF< void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoHybridMOLS< EOT >) 0 0 box + (eoUpdater) 0 1 box + (eoF< void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.tex new file mode 100644 index 000000000..899ca25fb --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoHybridMOLS.tex @@ -0,0 +1,67 @@ +\section{moeo\-Hybrid\-MOLS$<$ EOT $>$ Class Template Reference} +\label{classmoeoHybridMOLS}\index{moeoHybridMOLS@{moeoHybridMOLS}} +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. + + +{\tt \#include $<$moeo\-Hybrid\-MOLS.h$>$} + +Inheritance diagram for moeo\-Hybrid\-MOLS$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoHybridMOLS} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Hybrid\-MOLS} ({\bf eo\-Continue}$<$ EOT $>$ \&\_\-term, {\bf eo\-Select}$<$ EOT $>$ \&\_\-select, {\bf moeo\-MOLS}$<$ EOT $>$ \&\_\-mols, {\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void {\bf operator()} ()\label{classmoeoHybridMOLS_f62b4221d0ec094e39b73b386b508fc1} + +\begin{CompactList}\small\item\em Applies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Continue}$<$ EOT $>$ \& {\bf term}\label{classmoeoHybridMOLS_cd05dc1c82febb819945663c3b5c6a75} + +\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item +{\bf eo\-Select}$<$ EOT $>$ \& {\bf select}\label{classmoeoHybridMOLS_b47c4d1bce77c5648b437a5884a7c41f} + +\begin{CompactList}\small\item\em selector \item\end{CompactList}\item +{\bf moeo\-MOLS}$<$ EOT $>$ \& {\bf mols}\label{classmoeoHybridMOLS_5ecf318c321a71857c11da1ff5000092} + +\begin{CompactList}\small\item\em multi-objective local search \item\end{CompactList}\item +{\bf moeo\-Archive}$<$ EOT $>$ \& {\bf arch}\label{classmoeoHybridMOLS_4aecb1f300f2f09b8d45998cc140576b} + +\begin{CompactList}\small\item\em archive \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Hybrid\-MOLS$<$ EOT $>$} + +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. + + + +Definition at line 27 of file moeo\-Hybrid\-MOLS.h. + +\subsection{Member Function Documentation} +\index{moeoHybridMOLS@{moeo\-Hybrid\-MOLS}!eoHybridMOLS@{eoHybridMOLS}} +\index{eoHybridMOLS@{eoHybridMOLS}!moeoHybridMOLS@{moeo\-Hybrid\-MOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Hybrid\-MOLS}$<$ EOT $>$::eo\-Hybrid\-MOLS ({\bf eo\-Continue}$<$ EOT $>$ \& {\em \_\-term}, {\bf eo\-Select}$<$ EOT $>$ \& {\em \_\-select}, {\bf moeo\-MOLS}$<$ EOT $>$ \& {\em \_\-mols}, {\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoHybridMOLS_ced4b6d35035bfe3339dd571646e570d} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-term}]stopping criteria \item[{\em \_\-select}]selector \item[{\em \_\-mols}]a multi-objective local search \item[{\em \_\-arch}]the archive \end{description} +\end{Desc} + + +Definition at line 38 of file moeo\-Hybrid\-MOLS.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Hybrid\-MOLS.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.eps new file mode 100644 index 000000000..de81ca4cd --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIBEA< EOT, Fitness >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +(moeoIBEASorting< EOT, Fitness >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBEA< EOT, Fitness >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + (moeoIBEASorting< EOT, Fitness >) 0.5 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in +solid +1 0.5 0.25 out +solid +0 0.5 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.tex new file mode 100644 index 000000000..1398210e5 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEA.tex @@ -0,0 +1,60 @@ +\section{moeo\-IBEA$<$ EOT, Fitness $>$ Class Template Reference} +\label{classmoeoIBEA}\index{moeoIBEA@{moeoIBEA}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + + +{\tt \#include $<$moeo\-IBEA.h$>$} + +Inheritance diagram for moeo\-IBEA$<$ EOT, Fitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoIBEA} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-IBEA} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I)\label{classmoeoIBEA_3de9693e4e8a723b2e40864ac1f4ac65} + +\item +void {\bf calculate\_\-worths} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em mapping \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +{\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\bf I}\label{classmoeoIBEA_15ef4c06c2bf6101e5c3d36e162a3965} + +\begin{CompactList}\small\item\em binary quality indicator to use in the selection process \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness$>$ class moeo\-IBEA$<$ EOT, Fitness $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + + + +Definition at line 28 of file moeo\-IBEA.h. + +\subsection{Member Function Documentation} +\index{moeoIBEA@{moeo\-IBEA}!calculate_worths@{calculate\_\-worths}} +\index{calculate_worths@{calculate\_\-worths}!moeoIBEA@{moeo\-IBEA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness$>$ void {\bf moeo\-IBEA}$<$ EOT, Fitness $>$::calculate\_\-worths (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIBEA_9e8738189ef146eb2e6ecb19c9709a31} + + +mapping + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf eo\-Perf2Worth\-Cached$<$ EOT, double $>$}. + +Definition at line 46 of file moeo\-IBEA.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.eps new file mode 100644 index 000000000..3a0416e5b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 227.273 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.2 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIBEAAvgSorting< EOT, FitnessEval >) cw +(moeoIBEA< EOT, FitnessEval >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBEAAvgSorting< EOT, FitnessEval >) 0.5 0 box + (moeoIBEA< EOT, FitnessEval >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.tex new file mode 100644 index 000000000..2afb37333 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAAvgSorting.tex @@ -0,0 +1,103 @@ +\section{moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference} +\label{classmoeoIBEAAvgSorting}\index{moeoIBEAAvgSorting@{moeoIBEAAvgSorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + +{\tt \#include $<$moeo\-IBEA.h$>$} + +Inheritance diagram for moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoIBEAAvgSorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-IBEAAvg\-Sorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I, const double \_\-kappa) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf kappa}\label{classmoeoIBEAAvgSorting_89375a49f85c93492b59dc8450b8a983} + +\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb \& Gupta paper \char`\"{}Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization\char`\"{}, 2005 Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + + +Definition at line 361 of file moeo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}!moeoIBEAAvgSorting@{moeoIBEAAvgSorting}} +\index{moeoIBEAAvgSorting@{moeoIBEAAvgSorting}!moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf moeo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf moeo\-IBEAAvg\-Sorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEAAvgSorting_02056e5794eb5c1d0e3d9d1cbb347c41} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 373 of file moeo\-IBEA.h. + +References moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::kappa. + +\subsection{Member Function Documentation} +\index{moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf moeo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEAAvgSorting_b62fcfda9ac75352479fa06952754f90} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness\-Eval $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 398 of file moeo\-IBEA.h. + +References moeo\-IBEA$<$ EOT, Fitness\-Eval $>$::I, and moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::set\-Bounds().\index{moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!moeoIBEAAvgSorting@{moeo\-IBEAAvg\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf moeo\-IBEAAvg\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEAAvgSorting_e88f9280e5c81cd0b54d738b7863dc1d} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness\-Eval $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 431 of file moeo\-IBEA.h. + +References moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$::kappa, and eo\-Value\-Param$<$ std::vector$<$ Worth\-T $>$ $>$::value(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.eps new file mode 100644 index 000000000..ab49cfe74 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIBEASorting< EOT, Fitness >) cw +(moeoIBEA< EOT, Fitness >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBEASorting< EOT, Fitness >) 0.5 0 box + (moeoIBEA< EOT, Fitness >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.tex new file mode 100644 index 000000000..0eded5df5 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEASorting.tex @@ -0,0 +1,103 @@ +\section{moeo\-IBEASorting$<$ EOT, Fitness $>$ Class Template Reference} +\label{classmoeoIBEASorting}\index{moeoIBEASorting@{moeoIBEASorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + +{\tt \#include $<$moeo\-IBEA.h$>$} + +Inheritance diagram for moeo\-IBEASorting$<$ EOT, Fitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoIBEASorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-IBEASorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$\_\-I, const double \_\-kappa) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf kappa}\label{classmoeoIBEASorting_4789daab5ea5e215075d7430f343a321} + +\begin{CompactList}\small\item\em scaling factor kappa \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness = typename EOT::Fitness$>$ class moeo\-IBEASorting$<$ EOT, Fitness $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and K\~{A}¼nzli paper \char`\"{}Indicator-Based Selection in Multiobjective Search\char`\"{} (2004) Of course, Fitness needs to be an {\bf eo\-Pareto\-Fitness} object. + + + +Definition at line 84 of file moeo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoIBEASorting@{moeo\-IBEASorting}!moeoIBEASorting@{moeoIBEASorting}} +\index{moeoIBEASorting@{moeoIBEASorting}!moeoIBEASorting@{moeo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ {\bf moeo\-IBEASorting}$<$ EOT, Fitness $>$::{\bf moeo\-IBEASorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness $>$ $\ast$ {\em \_\-I}, const double {\em \_\-kappa})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEASorting_4d00a499f4d03b8cf66e9ce8f68cb174} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \item[{\em double}]\_\-kappa scaling factor kappa \end{description} +\end{Desc} + + +Definition at line 96 of file moeo\-IBEA.h. + +References moeo\-IBEASorting$<$ EOT, Fitness $>$::kappa. + +\subsection{Member Function Documentation} +\index{moeoIBEASorting@{moeo\-IBEASorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!moeoIBEASorting@{moeo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf moeo\-IBEASorting}$<$ EOT, Fitness $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEASorting_f29f38584c69217f25e904118f6bfb2b} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 121 of file moeo\-IBEA.h. + +References moeo\-IBEA$<$ EOT, Fitness $>$::I, and moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::set\-Bounds().\index{moeoIBEASorting@{moeo\-IBEASorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!moeoIBEASorting@{moeo\-IBEASorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness = typename EOT::Fitness$>$ void {\bf moeo\-IBEASorting}$<$ EOT, Fitness $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEASorting_63c3953d362b41e875e6e7759a308e07} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 150 of file moeo\-IBEA.h. + +References moeo\-IBEASorting$<$ EOT, Fitness $>$::kappa, and eo\-Value\-Param$<$ std::vector$<$ Worth\-T $>$ $>$::value(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.eps new file mode 100644 index 000000000..8d72ffe1a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 219.78 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.275 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIBEAStochSorting< EOT, FitnessEval >) cw +(moeoIBEA< EOT, FitnessEval >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBEAStochSorting< EOT, FitnessEval >) 0.5 0 box + (moeoIBEA< EOT, FitnessEval >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.tex new file mode 100644 index 000000000..d6d6c676b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoIBEAStochSorting.tex @@ -0,0 +1,101 @@ +\section{moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$ Class Template Reference} +\label{classmoeoIBEAStochSorting}\index{moeoIBEAStochSorting@{moeoIBEAStochSorting}} +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + +{\tt \#include $<$moeo\-IBEA.h$>$} + +Inheritance diagram for moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoIBEAStochSorting} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-IBEAStoch\-Sorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$\_\-I) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void {\bf set\-Bounds} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the bounds for each objective \item\end{CompactList}\item +void {\bf fitnesses} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em computation and setting of the fitness for each individual of the population \item\end{CompactList}\end{CompactItemize} +\subsection*{Static Private Member Functions} +\begin{CompactItemize} +\item +static double {\bf zero} ()\label{classmoeoIBEAStochSorting_3426ae274256fe8cedb9e0c009f81e15} + +\begin{CompactList}\small\item\em approximated zero value \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ class moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$} + +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper \char`\"{}Handling Uncertainty in Indicator-Based Multiobjective Optimization\char`\"{} (2006) Of course, the fitness of an individual needs to be an eo\-Stochastic\-Pareto\-Fitness object. + + + +Definition at line 203 of file moeo\-IBEA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}!moeoIBEAStochSorting@{moeoIBEAStochSorting}} +\index{moeoIBEAStochSorting@{moeoIBEAStochSorting}!moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ {\bf moeo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::{\bf moeo\-IBEAStoch\-Sorting} ({\bf moeo\-Binary\-Quality\-Indicator}$<$ Fitness\-Eval $>$ $\ast$ {\em \_\-I})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBEAStochSorting_675d3ff90643f398b8aacbea5ea7eb31} + + +constructor + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Binary\-Quality\-Indicator$<$EOT$>$$\ast$}]\_\-I the binary quality indicator to use in the selection process \end{description} +\end{Desc} + + +Definition at line 214 of file moeo\-IBEA.h. + +\subsection{Member Function Documentation} +\index{moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}!setBounds@{setBounds}} +\index{setBounds@{setBounds}!moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf moeo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::set\-Bounds (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEAStochSorting_c23afa90c4eb5b21bb8f118c968ed0a2} + + +computation and setting of the bounds for each objective + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness\-Eval $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 243 of file moeo\-IBEA.h. + +References moeo\-IBEA$<$ EOT, Fitness\-Eval $>$::I, and moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::set\-Bounds().\index{moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}!fitnesses@{fitnesses}} +\index{fitnesses@{fitnesses}!moeoIBEAStochSorting@{moeo\-IBEAStoch\-Sorting}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT, class Fitness\-Eval = typename EOT::Fitness::Fitness\-Eval$>$ void {\bf moeo\-IBEAStoch\-Sorting}$<$ EOT, Fitness\-Eval $>$::fitnesses (const {\bf eo\-Pop}$<$ EOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private, virtual]}}\label{classmoeoIBEAStochSorting_b75848ab2c0d03058b48147f11105dcb} + + +computation and setting of the fitness for each individual of the population + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em const}]eo\-Pop$<$EOT$>$\& \_\-pop the population \end{description} +\end{Desc} + + +Implements {\bf moeo\-IBEA$<$ EOT, Fitness\-Eval $>$} \doxyref{}{p.}{classmoeoIBEA}. + +Definition at line 272 of file moeo\-IBEA.h. + +References eo\-Value\-Param$<$ std::vector$<$ Worth\-T $>$ $>$::value(), and moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$::zero(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBEA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.eps new file mode 100644 index 000000000..2d25dc070 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 243.902 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.05 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoMOLS< EOT >) cw +(eoBF< const EOT &, moeoArchive< EOT > &, void >) cw +(eoFunctorBase) cw +(moeoCombinedMOLS< EOT >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoMOLS< EOT >) 0 1 box + (eoBF< const EOT &, moeoArchive< EOT > &, void >) 0 2 box + (eoFunctorBase) 0 3 box + (moeoCombinedMOLS< EOT >) 0 0 box + +% ----- relations ----- + +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.tex new file mode 100644 index 000000000..5a0b3885c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoMOLS.tex @@ -0,0 +1,29 @@ +\section{moeo\-MOLS$<$ EOT $>$ Class Template Reference} +\label{classmoeoMOLS}\index{moeoMOLS@{moeoMOLS}} +Abstract class for local searches applied to multi-objective optimization. + + +{\tt \#include $<$moeo\-MOLS.h$>$} + +Inheritance diagram for moeo\-MOLS$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoMOLS} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-MOLS$<$ EOT $>$} + +Abstract class for local searches applied to multi-objective optimization. + +Starting from only one solution, it produces a set of new non-dominated solutions. + + + +Definition at line 23 of file moeo\-MOLS.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-MOLS.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.eps new file mode 100644 index 000000000..23737595a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.eps @@ -0,0 +1,236 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 149.031 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.355 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 10 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoMetric) cw +(eoFunctorBase) cw +(moeoBM< A1, A2, R >) cw +(moeoBM< const const EOFitness &, EOFitness &, R >) cw +(moeoBM< const const std::vector< EOFitness > &, EOFitness &, R >) cw +(moeoBM< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R >) cw +(moeoBM< const const std::vector< typename EOT::Fitness > &, std::vector< typename EOT::Fitness > &, double >) cw +(moeoUM< A, R >) cw +(moeoUM< const EOFitness &, R >) cw +(moeoUM< const std::vector< EOFitness > &, R >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoMetric) 0 8 box + (eoFunctorBase) 0 9 box + (moeoBM< A1, A2, R >) 1 7 box +1 7 mark + (moeoBM< const const EOFitness &, EOFitness &, R >) 1 6 box + (moeoBM< const const std::vector< EOFitness > &, EOFitness &, R >) 1 5 box + (moeoBM< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R >) 1 4 box + (moeoBM< const const std::vector< typename EOT::Fitness > &, std::vector< typename EOT::Fitness > &, double >) 1 3 box + (moeoUM< A, R >) 1 2 box + (moeoUM< const EOFitness &, R >) 1 1 box +1 1 mark + (moeoUM< const std::vector< EOFitness > &, R >) 1 0 box +1 0 mark + +% ----- relations ----- + +solid +0 0 8 out +solid +1 0 9 in +solid +1 0 7.25 out +solid +0 0 7.5 hedge +solid +0 0 6.5 hedge +solid +0 0 5.5 hedge +solid +0 0 4.5 hedge +solid +0 0 3.5 hedge +solid +0 0 2.5 hedge +solid +0 0 1.5 hedge +solid +0 0 0.5 hedge +solid +0 8 0.5 vedge diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.tex new file mode 100644 index 000000000..f6c2d9573 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoMetric.tex @@ -0,0 +1,25 @@ +\section{moeo\-Metric Class Reference} +\label{classmoeoMetric}\index{moeoMetric@{moeoMetric}} +Base class for performance metrics (also called quality indicators). + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Metric::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.17288cm]{classmoeoMetric} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +Base class for performance metrics (also called quality indicators). + + + +Definition at line 21 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.eps new file mode 100644 index 000000000..8ecf5da0b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 240.964 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.075 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoNDSorting_II< EOT >) cw +(eoNDSorting< EOT >) cw +(eoPerf2WorthCached< EOT, double >) cw +(eoPerf2Worth< EOT, WorthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< WorthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoNDSorting_II< EOT >) 0.5 0 box + (eoNDSorting< EOT >) 0.5 1 box + (eoPerf2WorthCached< EOT, double >) 0.5 2 box + (eoPerf2Worth< EOT, WorthT >) 0.5 3 box + (eoUF< const eoPop< EOT > &, void >) 0 4 box + (eoValueParam< std::vector< WorthT > >) 1 4 box + (eoFunctorBase) 0 5 box + (eoParam) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +0 0 4 out +solid +1 1 4 in +solid +0 1 4 out +solid +1 0 5 in +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.tex new file mode 100644 index 000000000..f74f31db1 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II.tex @@ -0,0 +1,51 @@ +\section{moeo\-NDSorting\_\-II$<$ EOT $>$ Class Template Reference} +\label{classmoeoNDSorting__II}\index{moeoNDSorting_II@{moeoNDSorting\_\-II}} +Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original {\bf eo\-NDSorting\_\-II} class. + + +{\tt \#include $<$moeo\-NDSorting.h$>$} + +Inheritance diagram for moeo\-NDSorting\_\-II$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=6cm]{classmoeoNDSorting__II} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef std::pair$<$ double, unsigned $>$ {\bf double\_\-index\_\-pair}\label{classmoeoNDSorting__II_0987beaa2f600f5bce61c77215679e43} + +\begin{CompactList}\small\item\em index pair \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-NDSorting\_\-II} (bool nasty\_\-flag\_\-=false)\label{classmoeoNDSorting__II_820e9987853858ddc59e36c7f267955e} + +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +std::vector$<$ double $>$ {\bf niche\_\-penalty} (const std::vector$<$ unsigned $>$ \&\_\-cf, const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classmoeoNDSorting__II_265c74b9f64731db86e2c363593f67f9} + +\begin{CompactList}\small\item\em \_\-cf points into the elements that consist of the current front \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf compare\_\-nodes} +\begin{CompactList}\small\item\em A class to compare the nodes. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-NDSorting\_\-II$<$ EOT $>$} + +Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original {\bf eo\-NDSorting\_\-II} class. + +\begin{Desc} +\item[See also:]{\bf eo\-NDSorting\_\-II} \end{Desc} + + + + +Definition at line 26 of file moeo\-NDSorting.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-NDSorting.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II_1_1compare__nodes.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II_1_1compare__nodes.tex new file mode 100644 index 000000000..cec86004e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNDSorting__II_1_1compare__nodes.tex @@ -0,0 +1,27 @@ +\section{moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes Class Reference} +\label{classmoeoNDSorting__II_1_1compare__nodes}\index{moeoNDSorting_II::compare_nodes@{moeoNDSorting\_\-II::compare\_\-nodes}} +A class to compare the nodes. + + +{\tt \#include $<$moeo\-NDSorting.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +bool {\bf operator()} (const {\bf double\_\-index\_\-pair} \&a, const {\bf double\_\-index\_\-pair} \&b) const\label{classmoeoNDSorting__II_1_1compare__nodes_471ebe9e88bfc778c4c281399eb0c196} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes} + +A class to compare the nodes. + + + +Definition at line 46 of file moeo\-NDSorting.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-NDSorting.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.eps new file mode 100644 index 000000000..16c1780e3 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 388.35 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.2875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoNSGA_II< EOT >) cw +(eoAlgo< EOT >) cw +(eoUF< eoPop< EOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoNSGA_II< EOT >) 0 0 box + (eoAlgo< EOT >) 0 1 box + (eoUF< eoPop< EOT > &, void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.tex new file mode 100644 index 000000000..70fcda63a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoNSGA__II.tex @@ -0,0 +1,83 @@ +\section{moeo\-NSGA\_\-II$<$ EOT $>$ Class Template Reference} +\label{classmoeoNSGA__II}\index{moeoNSGA_II@{moeoNSGA\_\-II}} +Inheritance diagram for moeo\-NSGA\_\-II$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoNSGA__II} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-NSGA\_\-II} (unsigned \_\-max\_\-gen, {\bf eo\-Eval\-Func}$<$ EOT $>$ \&\_\-eval, {\bf eo\-Gen\-Op}$<$ EOT $>$ \&\_\-op) +\begin{CompactList}\small\item\em This constructor builds the algorithm as descibed in the paper. \item\end{CompactList}\item +{\bf moeo\-NSGA\_\-II} (unsigned \_\-max\_\-gen, {\bf eo\-Eval\-Func}$<$ EOT $>$ \&\_\-eval, {\bf eo\-Quad\-Op}$<$ EOT $>$ \&crossover, double p\-Cross, {\bf eo\-Mon\-Op}$<$ EOT $>$ \&mutation, double p\-Mut)\label{classmoeoNSGA__II_37109beabe74b0fecb2f3f899ef573d7} + +\begin{CompactList}\small\item\em Ctor taking \_\-max\_\-gen, crossover and mutation. \item\end{CompactList}\item +{\bf moeo\-NSGA\_\-II} ({\bf eo\-Continue}$<$ EOT $>$ \&\_\-continuator, {\bf eo\-Eval\-Func}$<$ EOT $>$ \&\_\-eval, {\bf eo\-Gen\-Op}$<$ EOT $>$ \&\_\-op)\label{classmoeoNSGA__II_29ae86b4254ba6e5263c159df812fb7e} + +\begin{CompactList}\small\item\em Ctor taking a continuator instead of \_\-gen\_\-max. \item\end{CompactList}\item +virtual void {\bf operator()} ({\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classmoeoNSGA__II_a9a94b2ee67038b81cdba0fd005350d0} + +\begin{CompactList}\small\item\em Apply a few generation of evolution to the population. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Continue}$<$ EOT $>$ \& {\bf continuator}\label{classmoeoNSGA__II_22ba11ba501fb7cf3423d9b777294998} + +\item +{\bf eo\-Eval\-Func}$<$ EOT $>$ \& {\bf eval}\label{classmoeoNSGA__II_6b90df8b9890035788a4d4a3f0c26742} + +\item +{\bf eo\-Pop\-Loop\-Eval}$<$ EOT $>$ {\bf loop\-Eval}\label{classmoeoNSGA__II_72fd9c6e70e9ee19db82a6894cafc60b} + +\item +{\bf eo\-Pop\-Eval\-Func}$<$ EOT $>$ \& {\bf pop\-Eval}\label{classmoeoNSGA__II_c1975957e19a164fde96ed7b5ce90ba4} + +\item +{\bf moeo\-NDSorting\_\-II}$<$ EOT $>$ {\bf sorting}\label{classmoeoNSGA__II_1aa7de4992f6c0f1c3a093aca735874c} + +\begin{CompactList}\small\item\em NSGAII sorting. \item\end{CompactList}\item +{\bf eo\-Det\-Tournament\-Worth\-Select}$<$ EOT $>$ {\bf select\-One}\label{classmoeoNSGA__II_add129e06168846b7e405ddd25d70c4d} + +\begin{CompactList}\small\item\em Binary tournament selection. \item\end{CompactList}\item +{\bf moeo\-Elitist\-Replacement}$<$ EOT $>$ {\bf replace}\label{classmoeoNSGA__II_c75535b7a47c26d8a66c1f227d33a3af} + +\begin{CompactList}\small\item\em Elitist replacement. \item\end{CompactList}\item +{\bf eo\-General\-Breeder}$<$ EOT $>$ {\bf gen\-Breed}\label{classmoeoNSGA__II_febee845341b96dba1cdfc18640d4960} + +\item +{\bf eo\-Breed}$<$ EOT $>$ \& {\bf breed}\label{classmoeoNSGA__II_f0dc0665ea743729e6284d812192acfc} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-NSGA\_\-II$<$ EOT $>$} + + + + + +Definition at line 31 of file moeo\-NSGA\_\-II.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoNSGA_II@{moeo\-NSGA\_\-II}!moeoNSGA_II@{moeoNSGA\_\-II}} +\index{moeoNSGA_II@{moeoNSGA\_\-II}!moeoNSGA_II@{moeo\-NSGA\_\-II}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-NSGA\_\-II}$<$ EOT $>$::{\bf moeo\-NSGA\_\-II} (unsigned {\em \_\-max\_\-gen}, {\bf eo\-Eval\-Func}$<$ EOT $>$ \& {\em \_\-eval}, {\bf eo\-Gen\-Op}$<$ EOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoNSGA__II_bdbf13431487a83afdfd4f527f99ebcf} + + +This constructor builds the algorithm as descibed in the paper. + +Deb, K., S. Agrawal, A. Pratap, and T. Meyarivan, A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197, April 2002. \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-max\_\-gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description} +\end{Desc} + + +Definition at line 46 of file moeo\-NSGA\_\-II.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-NSGA\_\-II.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.eps new file mode 100644 index 000000000..d4372982b --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 160 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoParetoEuclidDist< EOT, DistType >) cw +(moeoParetoPhenDist< EOT, DistType >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoParetoEuclidDist< EOT, DistType >) 0 0 box + (moeoParetoPhenDist< EOT, DistType >) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.tex new file mode 100644 index 000000000..3bc887b32 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoEuclidDist.tex @@ -0,0 +1,28 @@ +\section{moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$ Class Template Reference} +\label{classmoeoParetoEuclidDist}\index{moeoParetoEuclidDist@{moeoParetoEuclidDist}} +Inheritance diagram for moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classmoeoParetoEuclidDist} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +Dist\-Type {\bf operator()} (const EOT \&eopf1, const EOT \&eopf2)\label{classmoeoParetoEuclidDist_5369b5167c0305ca99836ed2122d8c8b} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Dist\-Type = double$>$ class moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$} + + + + + +Definition at line 27 of file moeo\-Pareto\-Phen\-Dist.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Phen\-Dist.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.eps new file mode 100644 index 000000000..16044ebdf --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 160 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoParetoPhenDist< EOT, DistType >) cw +(moeoParetoEuclidDist< EOT, DistType >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoParetoPhenDist< EOT, DistType >) 0 1 box + (moeoParetoEuclidDist< EOT, DistType >) 0 0 box + +% ----- relations ----- + +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.tex new file mode 100644 index 000000000..f20b2e543 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoPhenDist.tex @@ -0,0 +1,22 @@ +\section{moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$ Class Template Reference} +\label{classmoeoParetoPhenDist}\index{moeoParetoPhenDist@{moeoParetoPhenDist}} +Inheritance diagram for moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classmoeoParetoPhenDist} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Dist\-Type$>$ class moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$} + + + + + +Definition at line 15 of file moeo\-Pareto\-Phen\-Dist.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Phen\-Dist.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.eps new file mode 100644 index 000000000..aa65f1c78 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 161.943 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.0875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoParetoSharing< EOT, worthT >) cw +(eoPerf2Worth< EOT, worthT >) cw +(eoUF< const eoPop< EOT > &, void >) cw +(eoValueParam< std::vector< worthT > >) cw +(eoFunctorBase) cw +(eoParam) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoParetoSharing< EOT, worthT >) 0.5 0 box + (eoPerf2Worth< EOT, worthT >) 0.5 1 box + (eoUF< const eoPop< EOT > &, void >) 0 2 box + (eoValueParam< std::vector< worthT > >) 1 2 box + (eoFunctorBase) 0 3 box + (eoParam) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.tex new file mode 100644 index 000000000..c0174bb79 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing.tex @@ -0,0 +1,60 @@ +\section{moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$ Class Template Reference} +\label{classmoeoParetoSharing}\index{moeoParetoSharing@{moeoParetoSharing}} +Inheritance diagram for moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoParetoSharing} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Pareto\-Sharing} (double \_\-niche\-Size)\label{classmoeoParetoSharing_e2bb92004d3ec5193c7c3efcd499c489} + +\item +{\bf moeo\-Pareto\-Sharing} (double \_\-niche\-Size, {\bf moeo\-Pareto\-Phen\-Dist}$<$ EOT, worth\-T $>$ \&\_\-dist)\label{classmoeoParetoSharing_757d64059315641796855d5adc48cce9} + +\item +void {\bf operator} ()(const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classmoeoParetoSharing_67f211b508194562903dae15989ab515} + +\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double {\bf sh} (double {\bf dist}, double {\bf Dmax})\label{classmoeoParetoSharing_002e355f0df0ad242cdf171207b592ac} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +double {\bf niche\-Size}\label{classmoeoParetoSharing_b5519750a3f30747cbabf67df9b4afd8} + +\item +{\bf moeo\-Pareto\-Phen\-Dist}$<$ EOT, worth\-T $>$ \& {\bf dist}\label{classmoeoParetoSharing_329d7d08f06988fcb0f03059c88ed209} + +\item +{\bf moeo\-Pareto\-Euclid\-Dist}$<$ EOT $>$ {\bf euc\_\-dist}\label{classmoeoParetoSharing_42bc90da2e7f3f7d3837484c771f638e} + +\item +double {\bf Dmax}\label{classmoeoParetoSharing_0219625f2dd8bfd9ae7cb3039084059f} + +\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class {\bf d\-Matrix} +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class worth\-T = double$>$ class moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$} + + + + + +Definition at line 19 of file moeo\-Pareto\-Sharing.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing_1_1dMatrix.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing_1_1dMatrix.tex new file mode 100644 index 000000000..6ab35847c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoParetoSharing_1_1dMatrix.tex @@ -0,0 +1,31 @@ +\section{moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix Class Reference} +\label{classmoeoParetoSharing_1_1dMatrix}\index{moeoParetoSharing::dMatrix@{moeoParetoSharing::dMatrix}} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf d\-Matrix} (unsigned \_\-s)\label{classmoeoParetoSharing_1_1dMatrix_97aa4b1596be7ddba2b52a43ebc4cb6a} + +\item +void {\bf print\-On} (std::ostream \&\_\-os)\label{classmoeoParetoSharing_1_1dMatrix_e63c5e6d70866a31eff53fab563922d7} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned {\bf r\-Size}\label{classmoeoParetoSharing_1_1dMatrix_792b8a45e222a0daecad1ed344fc9a4f} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class worth\-T = double$>$ class moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix} + + + + + +Definition at line 109 of file moeo\-Pareto\-Sharing.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Pareto\-Sharing.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.eps new file mode 100644 index 000000000..07df814b6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 159.236 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.14 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoReplacement< EOT, WorthT >) cw +(eoReplacement< EOT >) cw +(eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) cw +(eoFunctorBase) cw +(moeoDisctinctElitistReplacement< EOT, WorthT >) cw +(moeoElitistReplacement< EOT, WorthT >) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoReplacement< EOT, WorthT >) 0.5 1 box + (eoReplacement< EOT >) 0.5 2 box + (eoBF< eoPop< EOT > &, eoPop< EOT > &, void >) 0.5 3 box + (eoFunctorBase) 0.5 4 box + (moeoDisctinctElitistReplacement< EOT, WorthT >) 0 0 box + (moeoElitistReplacement< EOT, WorthT >) 1 0 box + +% ----- relations ----- + +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +1 0.5 4 in +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.tex new file mode 100644 index 000000000..f146d8ad4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoReplacement.tex @@ -0,0 +1,27 @@ +\section{moeo\-Replacement$<$ EOT, Worth\-T $>$ Class Template Reference} +\label{classmoeoReplacement}\index{moeoReplacement@{moeoReplacement}} +Replacement strategy for multi-objective optimization. + + +{\tt \#include $<$moeo\-Replacement.h$>$} + +Inheritance diagram for moeo\-Replacement$<$ EOT, Worth\-T $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.4586cm]{classmoeoReplacement} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class Worth\-T$>$ class moeo\-Replacement$<$ EOT, Worth\-T $>$} + +Replacement strategy for multi-objective optimization. + + + +Definition at line 24 of file moeo\-Replacement.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Replacement.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.eps new file mode 100644 index 000000000..f9c38857e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.eps @@ -0,0 +1,209 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 307.692 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoSelectOneFromPopAndArch< EOT >) cw +(eoSelectOne< EOT >) cw +(eoUF< A1, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoSelectOneFromPopAndArch< EOT >) 0 0 box + (eoSelectOne< EOT >) 0 1 box + (eoUF< A1, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.tex new file mode 100644 index 000000000..0f8858baa --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSelectOneFromPopAndArch.tex @@ -0,0 +1,89 @@ +\section{moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$ Class Template Reference} +\label{classmoeoSelectOneFromPopAndArch}\index{moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}} +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + + +{\tt \#include $<$moeo\-Select\-One\-From\-Pop\-And\-Arch.h$>$} + +Inheritance diagram for moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoSelectOneFromPopAndArch} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch} ({\bf eo\-Select\-One}$<$ EOT $>$ \&\_\-pop\-Select\-One, {\bf eo\-Select\-One}$<$ EOT $>$ \_\-arch\-Select\-One, {\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, double \_\-ratio\-From\-Pop=0.5) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch} ({\bf eo\-Select\-One}$<$ EOT $>$ \&\_\-pop\-Select\-One, {\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, double \_\-ratio\-From\-Pop=0.5) +\begin{CompactList}\small\item\em Ctor - the archive's selection operator is a random selector. \item\end{CompactList}\item +virtual const EOT \& {\bf operator()} (const {\bf eo\-Pop}$<$ EOT $>$ \&pop)\label{classmoeoSelectOneFromPopAndArch_3c97abfde2dd9959ae4db4c32038017d} + +\begin{CompactList}\small\item\em The selection process. \item\end{CompactList}\item +virtual void {\bf setup} (const {\bf eo\-Pop}$<$ EOT $>$ \&\_\-pop)\label{classmoeoSelectOneFromPopAndArch_a2acc5ddcf045c0c63c22f8d04274858} + +\begin{CompactList}\small\item\em Setups some population stats. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +{\bf eo\-Select\-One}$<$ EOT $>$ \& {\bf pop\-Select\-One}\label{classmoeoSelectOneFromPopAndArch_4f6d51d06d92b0a3383f9f47e3b2b682} + +\begin{CompactList}\small\item\em The population's selection operator. \item\end{CompactList}\item +{\bf eo\-Select\-One}$<$ EOT $>$ \& {\bf arch\-Select\-One}\label{classmoeoSelectOneFromPopAndArch_5e062a1deca0307a91121271d3b976ba} + +\begin{CompactList}\small\item\em The archive's selection operator. \item\end{CompactList}\item +{\bf moeo\-Archive}$<$ EOT $>$ \& {\bf arch}\label{classmoeoSelectOneFromPopAndArch_3ca71296847a931355a1e88d0cc524cb} + +\begin{CompactList}\small\item\em the archive \item\end{CompactList}\item +double {\bf ratio\-From\-Pop}\label{classmoeoSelectOneFromPopAndArch_97b57e598752bccafaaf6a8a724d9a43} + +\begin{CompactList}\small\item\em the ratio of selected individuals from the population \item\end{CompactList}\item +{\bf eo\-Random\-Select}$<$ EOT $>$ {\bf random\-Select}\label{classmoeoSelectOneFromPopAndArch_77cbe0150e70219e5a7fd48296acc4c7} + +\begin{CompactList}\small\item\em the random selection operator \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$} + +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + + + +Definition at line 25 of file moeo\-Select\-One\-From\-Pop\-And\-Arch.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoSelectOneFromPopAndArch@{moeo\-Select\-One\-From\-Pop\-And\-Arch}!moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}} +\index{moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}!moeoSelectOneFromPopAndArch@{moeo\-Select\-One\-From\-Pop\-And\-Arch}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Select\-One\-From\-Pop\-And\-Arch}$<$ EOT $>$::{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch} ({\bf eo\-Select\-One}$<$ EOT $>$ \& {\em \_\-pop\-Select\-One}, {\bf eo\-Select\-One}$<$ EOT $>$ {\em \_\-arch\-Select\-One}, {\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch}, double {\em \_\-ratio\-From\-Pop} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoSelectOneFromPopAndArch_8d75155e2bb6994b080c696d6382c6c9} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop\-Select\-One}]the population's selection operator \item[{\em \_\-arch\-Select\-One}]the archive's selection operator \item[{\em \_\-arch}]the archive \item[{\em \_\-ratio\-From\-Pop}]the ratio of selected individuals from the population \end{description} +\end{Desc} + + +Definition at line 37 of file moeo\-Select\-One\-From\-Pop\-And\-Arch.h.\index{moeoSelectOneFromPopAndArch@{moeo\-Select\-One\-From\-Pop\-And\-Arch}!moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}} +\index{moeoSelectOneFromPopAndArch@{moeoSelectOneFromPopAndArch}!moeoSelectOneFromPopAndArch@{moeo\-Select\-One\-From\-Pop\-And\-Arch}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf moeo\-Select\-One\-From\-Pop\-And\-Arch}$<$ EOT $>$::{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch} ({\bf eo\-Select\-One}$<$ EOT $>$ \& {\em \_\-pop\-Select\-One}, {\bf moeo\-Archive}$<$ EOT $>$ \& {\em \_\-arch}, double {\em \_\-ratio\-From\-Pop} = {\tt 0.5})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoSelectOneFromPopAndArch_1aeab159a74bf4cd171e2045e25be2b7} + + +Ctor - the archive's selection operator is a random selector. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop\-Select\-One}]the population's selection operator \item[{\em \_\-arch}]the archive \item[{\em \_\-ratio\-From\-Pop}]the ratio of selected individuals from the population \end{description} +\end{Desc} + + +Definition at line 49 of file moeo\-Select\-One\-From\-Pop\-And\-Arch.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Select\-One\-From\-Pop\-And\-Arch.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.eps new file mode 100644 index 000000000..ba240a9a5 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 161.943 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.0875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoSolutionUM< EOT, R, EOFitness >) cw +(moeoUM< const EOFitness &, R >) cw +(eoUF< const EOFitness &, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoSolutionUM< EOT, R, EOFitness >) 0.5 0 box + (moeoUM< const EOFitness &, R >) 0.5 1 box + (eoUF< const EOFitness &, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.tex new file mode 100644 index 000000000..01c9d0450 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionUM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoSolutionUM}\index{moeoSolutionUM@{moeoSolutionUM}} +Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoSolutionUM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$} + +Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. + + + +Definition at line 47 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.eps new file mode 100644 index 000000000..f3491d31f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 130.293 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.8375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoSolutionVsSolutionBM< EOT, R, EOFitness >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoSolutionVsSolutionBM< EOT, R, EOFitness >) 0.5 0 box + (moeoBM< A1, A2, R >) 0.5 1 box + (eoBF< A1, A2, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.tex new file mode 100644 index 000000000..2c3797c15 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoSolutionVsSolutionBM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoSolutionVsSolutionBM}\index{moeoSolutionVsSolutionBM@{moeoSolutionVsSolutionBM}} +Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.64821cm]{classmoeoSolutionVsSolutionBM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} + +Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. + + + +Definition at line 70 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoUM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoUM.eps new file mode 100644 index 000000000..384c9b3af --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoUM.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 252.101 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 1.98333 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoUM< A, R >) cw +(eoUF< A, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoUM< A, R >) 0.5 0 box + (eoUF< A, R >) 0 1 box + (moeoMetric) 1 1 box + (eoFunctorBase) 0 2 box + (eoFunctorBase) 1 2 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +0 1 1 conn +solid +1 0 1 in +solid +0 0 1 out +solid +1 1 1 in +solid +0 1 1 out +solid +1 0 2 in +solid +1 1 2 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoUM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoUM.tex new file mode 100644 index 000000000..a1be4b19f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoUM.tex @@ -0,0 +1,27 @@ +\section{moeo\-UM$<$ A, R $>$ Class Template Reference} +\label{classmoeoUM}\index{moeoUM@{moeoUM}} +Base class for unary metrics. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-UM$<$ A, R $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmoeoUM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class A, class R$>$ class moeo\-UM$<$ A, R $>$} + +Base class for unary metrics. + + + +Definition at line 29 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.eps new file mode 100644 index 000000000..7b5eb73fc --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 133.779 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.7375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoVectorUM< EOT, R, EOFitness >) cw +(moeoUM< const std::vector< EOFitness > &, R >) cw +(eoUF< const std::vector< EOFitness > &, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoVectorUM< EOT, R, EOFitness >) 0.5 0 box + (moeoUM< const std::vector< EOFitness > &, R >) 0.5 1 box + (eoUF< const std::vector< EOFitness > &, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.tex new file mode 100644 index 000000000..86b8fa6d6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorUM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoVectorUM}\index{moeoVectorUM@{moeoVectorUM}} +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.74582cm]{classmoeoVectorUM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$} + +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). + + + +Definition at line 58 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.eps new file mode 100644 index 000000000..cb9caa6f9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 133.333 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.75 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoVectorVsSolutionBM< EOT, R, EOFitness >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoVectorVsSolutionBM< EOT, R, EOFitness >) 0.5 0 box + (moeoBM< A1, A2, R >) 0.5 1 box + (eoBF< A1, A2, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.tex new file mode 100644 index 000000000..3d8168722 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsSolutionBM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoVectorVsSolutionBM}\index{moeoVectorVsSolutionBM@{moeoVectorVsSolutionBM}} +Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.73333cm]{classmoeoVectorVsSolutionBM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$} + +Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. + + + +Definition at line 82 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.eps b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.eps new file mode 100644 index 000000000..9602d3d8d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.eps @@ -0,0 +1,221 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 136.519 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 3.6625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoVectorVsVectorBM< EOT, R, EOFitness >) cw +(moeoBM< A1, A2, R >) cw +(eoBF< A1, A2, R >) cw +(moeoMetric) cw +(eoFunctorBase) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoVectorVsVectorBM< EOT, R, EOFitness >) 0.5 0 box + (moeoBM< A1, A2, R >) 0.5 1 box + (eoBF< A1, A2, R >) 0 2 box + (moeoMetric) 1 2 box + (eoFunctorBase) 0 3 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +0 0 2 out +solid +1 1 2 in +solid +0 1 2 out +solid +1 0 3 in +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.tex b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.tex new file mode 100644 index 000000000..0ede3e6ee --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/classmoeoVectorVsVectorBM.tex @@ -0,0 +1,27 @@ +\section{moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$ Class Template Reference} +\label{classmoeoVectorVsVectorBM}\index{moeoVectorVsVectorBM@{moeoVectorVsVectorBM}} +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). + + +{\tt \#include $<$moeo\-Metric.h$>$} + +Inheritance diagram for moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.82253cm]{classmoeoVectorVsVectorBM} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT, class R, class EOFitness = typename EOT::Fitness$>$ class moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$} + +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). + + + +Definition at line 95 of file moeo\-Metric.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Metric.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/docs/latex/doxygen.sty b/trunk/paradiseo-moeo/docs/latex/doxygen.sty new file mode 100644 index 000000000..d627a4e02 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/doxygen.sty @@ -0,0 +1,78 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} +\RequirePackage{calc} +\RequirePackage{array} +\pagestyle{fancyplain} +\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} +\renewcommand{\chaptermark}[1]{\markboth{#1}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} +\lhead[\fancyplain{}{\bfseries\thepage}] + {\fancyplain{}{\bfseries\rightmark}} +\rhead[\fancyplain{}{\bfseries\leftmark}] + {\fancyplain{}{\bfseries\thepage}} +\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Jan 15 14:19:18 2007 for Paradis\-EO-MOEO by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Jan 15 14:19:18 2007 for Paradis\-EO-MOEO by Doxygen }} +\cfoot{} +\newenvironment{Code} +{\footnotesize} +{\normalsize} +\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})} +\newenvironment{DocInclude} +{\footnotesize} +{\normalsize} +\newenvironment{VerbInclude} +{\footnotesize} +{\normalsize} +\newenvironment{Image} +{\begin{figure}[H]} +{\end{figure}} +\newenvironment{ImageNoCaption}{}{} +\newenvironment{CompactList} +{\begin{list}{}{ + \setlength{\leftmargin}{0.5cm} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \renewcommand{\makelabel}{\hfill}}} +{\end{list}} +\newenvironment{CompactItemize} +{ + \begin{itemize} + \setlength{\itemsep}{-3pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \setlength{\partopsep}{0pt} +} +{\end{itemize}} +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} +\newlength{\tmplength} +\newenvironment{TabularC}[1] +{ +\setlength{\tmplength} + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} + \par\begin{tabular*}{\linewidth} + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} +} +{\end{tabular*}\par} +\newcommand{\entrylabel}[1]{ + {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}} +\newenvironment{Desc} +{\begin{list}{} + { + \settowidth{\labelwidth}{40pt} + \setlength{\leftmargin}{\labelwidth} + \setlength{\parsep}{0pt} + \setlength{\itemsep}{-4pt} + \renewcommand{\makelabel}{\entrylabel} + } +} +{\end{list}} +\newenvironment{Indent} + {\begin{list}{}{\setlength{\leftmargin}{0.5cm}} + \item[]\ignorespaces} + {\unskip\end{list}} +\setlength{\parindent}{0cm} +\setlength{\parskip}{0.2cm} +\addtocounter{secnumdepth}{1} +\sloppy +\usepackage[T1]{fontenc} diff --git a/trunk/paradiseo-moeo/docs/latex/hierarchy.tex b/trunk/paradiseo-moeo/docs/latex/hierarchy.tex new file mode 100644 index 000000000..86788b042 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/hierarchy.tex @@ -0,0 +1,138 @@ +\section{Paradis\-EO-MOEO Class Hierarchy} +This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} +\item eo\-Functor\-Base{\tt [external]}\begin{CompactList} +\item eo\-BF$<$ A1, A2, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$}{\pageref{classmoeoBinaryQualityIndicator}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Additive\-Binary\-Epsilon\-Indicator$<$ EOFitness $>$}{\pageref{classmoeoAdditiveBinaryEpsilonIndicator}}{} +\item \contentsline{section}{moeo\-Binary\-Hypervolume\-Indicator$<$ EOFitness $>$}{\pageref{classmoeoBinaryHypervolumeIndicator}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Binary\-Quality\-Indicator$<$ Fitness\-Eval $>$}{\pageref{classmoeoBinaryQualityIndicator}}{} +\item \contentsline{section}{moeo\-BM$<$ A1, A2, R $>$}{\pageref{classmoeoBM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Solution\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoSolutionVsSolutionBM}}{} +\item \contentsline{section}{moeo\-Vector\-Vs\-Solution\-BM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoVectorVsSolutionBM}}{} +\item \contentsline{section}{moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoVectorVsVectorBM}}{} +\item \contentsline{section}{moeo\-Vector\-Vs\-Vector\-BM$<$ EOT, double $>$}{\pageref{classmoeoVectorVsVectorBM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Contribution\-Metric$<$ EOT $>$}{\pageref{classmoeoContributionMetric}}{} +\item \contentsline{section}{moeo\-Entropy\-Metric$<$ EOT $>$}{\pageref{classmoeoEntropyMetric}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item eo\-BF$<$ const const EOFitness \&, EOFitness \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const const EOFitness \&, EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\end{CompactList} +\item eo\-BF$<$ const const std::vector$<$ EOFitness $>$ \&, EOFitness \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ EOFitness $>$ \&, EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\end{CompactList} +\item eo\-BF$<$ const const std::vector$<$ EOFitness $>$ \&, std::vector$<$ EOFitness $>$ \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ EOFitness $>$ \&, std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoBM}}{} +\end{CompactList} +\item eo\-BF$<$ const const std::vector$<$ typename EOT::Fitness $>$ \&, std::vector$<$ typename EOT::Fitness $>$ \&, double $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ typename EOT::Fitness $>$ \&, std::vector$<$ typename EOT::Fitness $>$ \&, double $>$}{\pageref{classmoeoBM}}{} +\end{CompactList} +\item eo\-BF$<$ const EOT \&, moeo\-Archive$<$ EOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-MOLS$<$ EOT $>$}{\pageref{classmoeoMOLS}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Combined\-MOLS$<$ EOT $>$}{\pageref{classmoeoCombinedMOLS}}{} +\end{CompactList} +\end{CompactList} +\item eo\-BF$<$ eo\-Pop$<$ EOT $>$ \&, eo\-Pop$<$ EOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item eo\-Replacement$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Replacement$<$ EOT, Worth\-T $>$}{\pageref{classmoeoReplacement}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$}{\pageref{classmoeoDisctinctElitistReplacement}}{} +\item \contentsline{section}{moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$}{\pageref{classmoeoElitistReplacement}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item eo\-F$<$ void $>${\tt [external]}\begin{CompactList} +\item eo\-Updater{\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$}{\pageref{classmoeoArchiveFitnessSavingUpdater}}{} +\item \contentsline{section}{moeo\-Archive\-Updater$<$ EOT $>$}{\pageref{classmoeoArchiveUpdater}}{} +\item \contentsline{section}{moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$}{\pageref{classmoeoBinaryMetricSavingUpdater}}{} +\item \contentsline{section}{moeo\-Hybrid\-MOLS$<$ EOT $>$}{\pageref{classmoeoHybridMOLS}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ A1, R $>${\tt [external]}\begin{CompactList} +\item eo\-Select\-One$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$}{\pageref{classmoeoSelectOneFromPopAndArch}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ A, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-UM$<$ A, R $>$}{\pageref{classmoeoUM}}{} +\end{CompactList} +\item eo\-UF$<$ const EOFitness \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-UM$<$ const EOFitness \&, R $>$}{\pageref{classmoeoUM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoSolutionUM}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ const eo\-Pop$<$ EOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item eo\-Perf2Worth$<$ EOT, Worth\-T $>${\tt [external]}\begin{CompactList} +\item eo\-Perf2Worth\-Cached$<$ EOT, double $>${\tt [external]}\begin{CompactList} +\item eo\-NDSorting$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-NDSorting\_\-II$<$ EOT $>$}{\pageref{classmoeoNDSorting__II}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-IBEA$<$ EOT, Fitness $>$}{\pageref{classmoeoIBEA}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-IBEASorting$<$ EOT, Fitness $>$}{\pageref{classmoeoIBEASorting}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-IBEA$<$ EOT, Fitness\-Eval $>$}{\pageref{classmoeoIBEA}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-IBEAAvg\-Sorting$<$ EOT, Fitness\-Eval $>$}{\pageref{classmoeoIBEAAvgSorting}}{} +\item \contentsline{section}{moeo\-IBEAStoch\-Sorting$<$ EOT, Fitness\-Eval $>$}{\pageref{classmoeoIBEAStochSorting}}{} +\end{CompactList} +\end{CompactList} +\end{CompactList} +\item eo\-Perf2Worth$<$ EOT, worth\-T $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$}{\pageref{classmoeoParetoSharing}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ const std::vector$<$ EOFitness $>$ \&, R $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-UM$<$ const std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoUM}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Vector\-UM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoVectorUM}}{} +\end{CompactList} +\end{CompactList} +\item eo\-UF$<$ eo\-Pop$<$ EOT $>$ \&, void $>${\tt [external]}\begin{CompactList} +\item eo\-Algo$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-NSGA\_\-II$<$ EOT $>$}{\pageref{classmoeoNSGA__II}}{} +\end{CompactList} +\end{CompactList} +\item \contentsline{section}{moeo\-Metric}{\pageref{classmoeoMetric}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-BM$<$ A1, A2, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const const EOFitness \&, EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ EOFitness $>$ \&, EOFitness \&, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ EOFitness $>$ \&, std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-BM$<$ const const std::vector$<$ typename EOT::Fitness $>$ \&, std::vector$<$ typename EOT::Fitness $>$ \&, double $>$}{\pageref{classmoeoBM}}{} +\item \contentsline{section}{moeo\-UM$<$ A, R $>$}{\pageref{classmoeoUM}}{} +\item \contentsline{section}{moeo\-UM$<$ const EOFitness \&, R $>$}{\pageref{classmoeoUM}}{} +\item \contentsline{section}{moeo\-UM$<$ const std::vector$<$ EOFitness $>$ \&, R $>$}{\pageref{classmoeoUM}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Object{\tt [external]}\begin{CompactList} +\item eo\-Pop$<$ EOT $>${\tt [external]}\begin{CompactList} +\item \contentsline{section}{moeo\-Archive$<$ EOT $>$}{\pageref{classmoeoArchive}}{} +\end{CompactList} +\end{CompactList} +\item eo\-Param{\tt [external]}\begin{CompactList} +\item eo\-Value\-Param$<$ std::vector$<$ Worth\-T $>$ $>${\tt [external]}\begin{CompactList} +\item eo\-Perf2Worth$<$ EOT, Worth\-T $>${\tt [external]}\end{CompactList} +\item eo\-Value\-Param$<$ std::vector$<$ worth\-T $>$ $>${\tt [external]}\begin{CompactList} +\item eo\-Perf2Worth$<$ EOT, worth\-T $>${\tt [external]}\end{CompactList} +\end{CompactList} +\item eo\-Printable{\tt [external]}\begin{CompactList} +\item eo\-Persistent{\tt [external]}\begin{CompactList} +\item eo\-Pop$<$ EOT $>${\tt [external]}\end{CompactList} +\end{CompactList} +\item \contentsline{section}{moeo\-Binary\-Quality\-Indicator$<$ EOFitness $>$::Range}{\pageref{classmoeoBinaryQualityIndicator_1_1Range}}{} +\item \contentsline{section}{moeo\-NDSorting\_\-II$<$ EOT $>$::compare\_\-nodes}{\pageref{classmoeoNDSorting__II_1_1compare__nodes}}{} +\item \contentsline{section}{moeo\-Pareto\-Phen\-Dist$<$ EOT, Dist\-Type $>$}{\pageref{classmoeoParetoPhenDist}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Pareto\-Euclid\-Dist$<$ EOT, Dist\-Type $>$}{\pageref{classmoeoParetoEuclidDist}}{} +\end{CompactList} +\item \contentsline{section}{moeo\-Pareto\-Sharing$<$ EOT, worth\-T $>$::d\-Matrix}{\pageref{classmoeoParetoSharing_1_1dMatrix}}{} +\end{CompactList} diff --git a/trunk/paradiseo-moeo/docs/latex/main.tex b/trunk/paradiseo-moeo/docs/latex/main.tex new file mode 100644 index 000000000..7297a0ecb --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/main.tex @@ -0,0 +1,5 @@ +\section{intro}\label{main_intro} +Paradis\-EO-MOEO is a white-box object-oriented generic framework dedicated to the flexible design of evolutionary multi-objective algorithms. This paradigm-free software embeds some features and techniques for Pareto-based resolution and aims to provide a set of classes allowing to ease and speed up the development of computationally efficient programs. It is based on a clear conceptual distinction between the solution methods and the multi-objective problems they are intended to solve. This separation confers a maximum design and code reuse. Paradis\-EO-MOEO provides a broad range of archive-related features (such as elitism or performance metrics) and the most common Pareto-based fitness assignment strategies (MOGA, NSGA, SPEA, IBEA and more). Furthermore, parallel and distributed models as well as hybridization mechanisms can be applied to an algorithm designed within Paradis\-EO-MOEO using the whole version of Paradis\-EO.\section{tutorial}\label{main_tutorial} +A tutorial about a bi-objective flow-shop scheduling problem will be available soon.\section{install}\label{main_install} +The installation procedure of the package is detailed in the {\tt README} file in the top-directory of the source-tree.\section{design}\label{main_design} +For an introduction to the design of Paradis\-EO-MOEO, you can look at the {\tt Paradis\-EO website}. \ No newline at end of file diff --git a/trunk/paradiseo-moeo/docs/latex/pages.tex b/trunk/paradiseo-moeo/docs/latex/pages.tex new file mode 100644 index 000000000..8297a1563 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/pages.tex @@ -0,0 +1,5 @@ +\section{Paradis\-EO-MOEO Related Pages} +Here is a list of all related documentation pages:\begin{CompactList} +\item \contentsline{section}{Related webpages}{\pageref{webpages}}{} + +\end{CompactList} diff --git a/trunk/paradiseo-moeo/docs/latex/refman.tex b/trunk/paradiseo-moeo/docs/latex/refman.tex new file mode 100644 index 000000000..15cb018d4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/refman.tex @@ -0,0 +1,74 @@ +\documentclass[a4paper]{book} +\usepackage{a4wide} +\usepackage{makeidx} +\usepackage{fancyhdr} +\usepackage{graphicx} +\usepackage{multicol} +\usepackage{float} +\usepackage{textcomp} +\usepackage{alltt} +\usepackage{doxygen} +\makeindex +\setcounter{tocdepth}{1} +\renewcommand{\footrulewidth}{0.4pt} +\begin{document} +\begin{titlepage} +\vspace*{7cm} +\begin{center} +{\Large Paradis\-EO-MOEO Reference Manual\\[1ex]\large 0.1 }\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.5.1}\\ +\vspace*{0.5cm} +{\small Mon Jan 15 14:19:18 2007}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\pagenumbering{roman} +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\chapter{Welcome to Paradis\-EO-MOEO } +\label{index}\input{main} +\chapter{Paradis\-EO-MOEO Hierarchical Index} +\input{hierarchy} +\chapter{Paradis\-EO-MOEO Class Index} +\input{annotated} +\chapter{Paradis\-EO-MOEO Class Documentation} +\input{classmoeoAdditiveBinaryEpsilonIndicator} +\include{classmoeoArchive} +\include{classmoeoArchiveFitnessSavingUpdater} +\include{classmoeoArchiveUpdater} +\include{classmoeoBinaryHypervolumeIndicator} +\include{classmoeoBinaryMetricSavingUpdater} +\include{classmoeoBinaryQualityIndicator} +\include{classmoeoBinaryQualityIndicator_1_1Range} +\include{classmoeoBM} +\include{classmoeoCombinedMOLS} +\include{classmoeoContributionMetric} +\include{classmoeoDisctinctElitistReplacement} +\include{classmoeoElitistReplacement} +\include{classmoeoEntropyMetric} +\include{classmoeoHybridMOLS} +\include{classmoeoIBEA} +\include{classmoeoIBEAAvgSorting} +\include{classmoeoIBEASorting} +\include{classmoeoIBEAStochSorting} +\include{classmoeoMetric} +\include{classmoeoMOLS} +\include{classmoeoNDSorting__II} +\include{classmoeoNDSorting__II_1_1compare__nodes} +\include{classmoeoNSGA__II} +\include{classmoeoParetoEuclidDist} +\include{classmoeoParetoPhenDist} +\include{classmoeoParetoSharing} +\include{classmoeoParetoSharing_1_1dMatrix} +\include{classmoeoReplacement} +\include{classmoeoSelectOneFromPopAndArch} +\include{classmoeoSolutionUM} +\include{classmoeoSolutionVsSolutionBM} +\include{classmoeoUM} +\include{classmoeoVectorUM} +\include{classmoeoVectorVsSolutionBM} +\include{classmoeoVectorVsVectorBM} +\printindex +\end{document} diff --git a/trunk/paradiseo-moeo/docs/latex/webpages.tex b/trunk/paradiseo-moeo/docs/latex/webpages.tex new file mode 100644 index 000000000..f17506321 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/latex/webpages.tex @@ -0,0 +1,3 @@ +\section{Related webpages}\label{webpages} +\begin{itemize} +\item Paradis\-EO {\tt homepage}\item INRIA GForge {\tt project page}\item {\tt README}\item {\tt NEWS} \end{itemize} diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoAdditiveBinaryEpsilonIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/eoAdditiveBinaryEpsilonIndicator.3 new file mode 100644 index 000000000..312538709 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoAdditiveBinaryEpsilonIndicator.3 @@ -0,0 +1,91 @@ +.TH "eoAdditiveBinaryEpsilonIndicator" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoAdditiveBinaryEpsilonIndicator \- Functor Additive binary epsilon indicator for \fBeoParetoFitness\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBinaryQualityIndicator< EOFitness >< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoAdditiveBinaryEpsilonIndicator\fP ()" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "double \fBoperator()\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)" +.br +.RI "\fIcomputation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function) \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBepsilonValue\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj)" +.br +.RI "\fIcomputation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoAdditiveBinaryEpsilonIndicator< EOFitness >" +Functor Additive binary epsilon indicator for \fBeoParetoFitness\fP. +.PP +Definition at line 126 of file eoBinaryQualityIndicator.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBeoAdditiveBinaryEpsilonIndicator\fP< EOFitness >::operator() (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2)\fC [inline, virtual]\fP" +.PP +computation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function) +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.RE +.PP + +.PP +Implements \fBeoBF< const EOFitness &, const EOFitness &, double >\fP. +.PP +Definition at line 149 of file eoBinaryQualityIndicator.h. +.PP +References eoAdditiveBinaryEpsilonIndicator< EOFitness >::epsilonValue(). +.SS "template double \fBeoAdditiveBinaryEpsilonIndicator\fP< EOFitness >::epsilonValue (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj)\fC [inline, private]\fP" +.PP +computation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj the index of the objective +.RE +.PP + +.PP +Definition at line 181 of file eoBinaryQualityIndicator.h. +.PP +Referenced by eoAdditiveBinaryEpsilonIndicator< EOFitness >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoBinaryHypervolumeIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryHypervolumeIndicator.3 new file mode 100644 index 000000000..58ab7568e --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryHypervolumeIndicator.3 @@ -0,0 +1,171 @@ +.TH "eoBinaryHypervolumeIndicator" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoBinaryHypervolumeIndicator \- Functor Binary hypervolume indicator for \fBeoParetoFitness\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBinaryQualityIndicator< EOFitness >< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoBinaryHypervolumeIndicator\fP (double _rho)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "double \fBoperator()\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)" +.br +.RI "\fIindicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function) \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBhypervolumeIndicatorValue\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag=false)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 \fP" +.ti -1c +.RI "double \fBhypervolumeIndicatorValueMin\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj \fP" +.ti -1c +.RI "double \fBhypervolumeIndicatorValueMax\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBrho\fP" +.br +.RI "\fIreference point for the hypervolume calculation \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoBinaryHypervolumeIndicator< EOFitness >" +Functor Binary hypervolume indicator for \fBeoParetoFitness\fP. +.PP +Definition at line 217 of file eoBinaryQualityIndicator.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::\fBeoBinaryHypervolumeIndicator\fP (double _rho)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIdouble\fP _rho reference point for the hypervolume calculation (rho must not be smaller than 1) +.RE +.PP + +.PP +Definition at line 227 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryHypervolumeIndicator< EOFitness >::rho. +.SH "Member Function Documentation" +.PP +.SS "template double \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::operator() (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2)\fC [inline, virtual]\fP" +.PP +indicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function) +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.RE +.PP + +.PP +Implements \fBeoBF< const EOFitness &, const EOFitness &, double >\fP. +.PP +Definition at line 250 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +.SS "template double \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValue (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag = \fCfalse\fP)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj number of objectives (used for iteration) +.br +\fIbool\fP _flag = false (only used for iteration) +.RE +.PP + +.PP +Definition at line 285 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryQualityIndicator< EOFitness >::bounds, eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), and eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(). +.PP +Referenced by eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(), and eoBinaryHypervolumeIndicator< EOFitness >::operator()(). +.SS "template double \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValueMin (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj index of the objective +.br +\fIbool\fP _flag (only used for iteration) +.RE +.PP + +.PP +Definition at line 320 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryQualityIndicator< EOFitness >::bounds, eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and eoBinaryHypervolumeIndicator< EOFitness >::rho. +.PP +Referenced by eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +.SS "template double \fBeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValueMax (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj index of the objective +.br +\fIbool\fP _flag (only used for iteration) +.RE +.PP + +.PP +Definition at line 374 of file eoBinaryQualityIndicator.h. +.PP +References eoBinaryQualityIndicator< EOFitness >::bounds, eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and eoBinaryHypervolumeIndicator< EOFitness >::rho. +.PP +Referenced by eoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator.3 new file mode 100644 index 000000000..26d376cff --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator.3 @@ -0,0 +1,81 @@ +.TH "eoBinaryQualityIndicator" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoBinaryQualityIndicator \- Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an \fBeoParetoFitness\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< const EOFitness &, const EOFitness &, double >\fP. +.PP +Inherited by \fBeoAdditiveBinaryEpsilonIndicator< EOFitness >\fP, and \fBeoBinaryHypervolumeIndicator< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoBinaryQualityIndicator\fP ()" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBsetBounds\fP (const unsigned _iObj, const double _min, const double _max)" +.br +.RI "\fIset the bounds for objective _iObj \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "std::vector< \fBRange\fP > \fBbounds\fP" +.br +.RI "\fIrange (min and max double value) for each objective \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBRange\fP" +.br +.RI "\fIPrivate class to represent the bounds. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoBinaryQualityIndicator< EOFitness >" +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an \fBeoParetoFitness\fP object. +.PP +Definition at line 39 of file eoBinaryQualityIndicator.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoBinaryQualityIndicator\fP< EOFitness >::setBounds (const unsigned _iObj, const double _min, const double _max)\fC [inline]\fP" +.PP +set the bounds for objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIunsigned\fP _iObj the index of the objective +.br +\fIdouble\fP _min the minimum value +.br +\fIdouble\fP _max the maximum value +.RE +.PP + +.PP +Definition at line 62 of file eoBinaryQualityIndicator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator_Range.3 b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator_Range.3 new file mode 100644 index 000000000..58a342dda --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoBinaryQualityIndicator_Range.3 @@ -0,0 +1,55 @@ +.TH "eoBinaryQualityIndicator::Range" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoBinaryQualityIndicator::Range \- Private class to represent the bounds. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBRange\fP ()" +.br +.ti -1c +.RI "\fBRange\fP (const double _min, const double _max)" +.br +.ti -1c +.RI "double \fBminimum\fP ()" +.br +.ti -1c +.RI "double \fBmaximum\fP ()" +.br +.ti -1c +.RI "double \fBrange\fP ()" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBmin\fP" +.br +.ti -1c +.RI "double \fBmax\fP" +.br +.ti -1c +.RI "double \fBr\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoBinaryQualityIndicator< EOFitness >::Range" +Private class to represent the bounds. +.PP +Definition at line 73 of file eoBinaryQualityIndicator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoIBEA.3 b/trunk/paradiseo-moeo/docs/man/man3/eoIBEA.3 new file mode 100644 index 000000000..c476420d4 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoIBEA.3 @@ -0,0 +1,62 @@ +.TH "eoIBEA" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoIBEA \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoPerf2WorthCached< EOT, double >\fP. +.PP +Inherited by \fBeoIBEASorting< EOT, Fitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoIBEA\fP (\fBeoBinaryQualityIndicator\fP< Fitness > *_I)" +.br +.ti -1c +.RI "void \fBcalculate_worths\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fImapping \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBeoBinaryQualityIndicator\fP< Fitness > * \fBI\fP" +.br +.RI "\fIbinary quality indicator to use in the selection process \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoIBEA< EOT, Fitness >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). +.PP +Definition at line 38 of file eoIBEA.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoIBEA\fP< EOT, Fitness >::calculate_worths (const \fBeoPop\fP< EOT > & _pop)\fC [inline, virtual]\fP" +.PP +mapping +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoPerf2WorthCached< EOT, double >\fP. +.PP +Definition at line 56 of file eoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoIBEAAvgSorting.3 b/trunk/paradiseo-moeo/docs/man/man3/eoIBEAAvgSorting.3 new file mode 100644 index 000000000..9261a32dd --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoIBEAAvgSorting.3 @@ -0,0 +1,101 @@ +.TH "eoIBEAAvgSorting" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoIBEAAvgSorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper 'Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization', 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoIBEAAvgSorting\fP (\fBeoBinaryQualityIndicator\fP< FitnessEval > *_I, const double _kappa)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBkappa\fP" +.br +.RI "\fIscaling factor kappa \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoIBEAAvgSorting< EOT, FitnessEval >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper 'Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization', 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +.PP +Definition at line 373 of file eoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBeoIBEAAvgSorting\fP< EOT, FitnessEval >::\fBeoIBEAAvgSorting\fP (\fBeoBinaryQualityIndicator\fP< FitnessEval > * _I, const double _kappa)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.br +\fIdouble\fP _kappa scaling factor kappa +.RE +.PP + +.PP +Definition at line 385 of file eoIBEA.h. +.PP +References eoIBEAAvgSorting< EOT, FitnessEval >::kappa. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoIBEAAvgSorting\fP< EOT, FitnessEval >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 413 of file eoIBEA.h. +.SS "template void \fBeoIBEAAvgSorting\fP< EOT, FitnessEval >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 445 of file eoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoIBEASorting.3 b/trunk/paradiseo-moeo/docs/man/man3/eoIBEASorting.3 new file mode 100644 index 000000000..19388dc1c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoIBEASorting.3 @@ -0,0 +1,101 @@ +.TH "eoIBEASorting" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoIBEASorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper 'Indicator-Based Selection in Multiobjective Search' (2004) Of course, Fitness needs to be an \fBeoParetoFitness\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoIBEA< EOT, Fitness >< EOT, Fitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoIBEASorting\fP (\fBeoBinaryQualityIndicator\fP< Fitness > *_I, const double _kappa)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBkappa\fP" +.br +.RI "\fIscaling factor kappa \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoIBEASorting< EOT, Fitness >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper 'Indicator-Based Selection in Multiobjective Search' (2004) Of course, Fitness needs to be an \fBeoParetoFitness\fP object. +.PP +Definition at line 94 of file eoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBeoIBEASorting\fP< EOT, Fitness >::\fBeoIBEASorting\fP (\fBeoBinaryQualityIndicator\fP< Fitness > * _I, const double _kappa)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.br +\fIdouble\fP _kappa scaling factor kappa +.RE +.PP + +.PP +Definition at line 106 of file eoIBEA.h. +.PP +References eoIBEASorting< EOT, Fitness >::kappa. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoIBEASorting\fP< EOT, Fitness >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, Fitness >\fP. +.PP +Definition at line 134 of file eoIBEA.h. +.SS "template void \fBeoIBEASorting\fP< EOT, Fitness >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, Fitness >\fP. +.PP +Definition at line 162 of file eoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoIBEAStochSorting.3 b/trunk/paradiseo-moeo/docs/man/man3/eoIBEAStochSorting.3 new file mode 100644 index 000000000..9f919b4f0 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoIBEAStochSorting.3 @@ -0,0 +1,97 @@ +.TH "eoIBEAStochSorting" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoIBEAStochSorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper 'Handling Uncertainty in Indicator-Based Multiobjective Optimization' (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoIBEAStochSorting\fP (\fBeoBinaryQualityIndicator\fP< FitnessEval > *_I)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Static Private Member Functions" + +.in +1c +.ti -1c +.RI "static double \fBzero\fP ()" +.br +.RI "\fIapproximated zero value \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoIBEAStochSorting< EOT, FitnessEval >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper 'Handling Uncertainty in Indicator-Based Multiobjective Optimization' (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +.PP +Definition at line 215 of file eoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBeoIBEAStochSorting\fP< EOT, FitnessEval >::\fBeoIBEAStochSorting\fP (\fBeoBinaryQualityIndicator\fP< FitnessEval > * _I)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.RE +.PP + +.PP +Definition at line 226 of file eoIBEA.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBeoIBEAStochSorting\fP< EOT, FitnessEval >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 258 of file eoIBEA.h. +.SS "template void \fBeoIBEAStochSorting\fP< EOT, FitnessEval >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 286 of file eoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoParetoEuclidDist.3 b/trunk/paradiseo-moeo/docs/man/man3/eoParetoEuclidDist.3 new file mode 100644 index 000000000..021ac7075 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoParetoEuclidDist.3 @@ -0,0 +1,28 @@ +.TH "eoParetoEuclidDist" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoParetoEuclidDist \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoParetoPhenDist< EOT, DistType >< EOT, DistType >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "DistType \fBoperator()\fP (const EOT &eopf1, const EOT &eopf2)" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoParetoEuclidDist< EOT, DistType >" + +.PP +Definition at line 15 of file eoParetoPhenDist.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoParetoPhenDist.3 b/trunk/paradiseo-moeo/docs/man/man3/eoParetoPhenDist.3 new file mode 100644 index 000000000..e901eec51 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoParetoPhenDist.3 @@ -0,0 +1,21 @@ +.TH "eoParetoPhenDist" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoParetoPhenDist \- +.SH SYNOPSIS +.br +.PP +Inherited by \fBeoParetoEuclidDist< EOT, DistType >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class eoParetoPhenDist< EOT, DistType >" + +.PP +Definition at line 3 of file eoParetoPhenDist.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing.3 b/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing.3 new file mode 100644 index 000000000..080787919 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing.3 @@ -0,0 +1,64 @@ +.TH "eoParetoSharing" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoParetoSharing \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoPerf2Worth< EOT, worthT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoParetoSharing\fP (double _nicheSize)" +.br +.ti -1c +.RI "\fBeoParetoSharing\fP (double _nicheSize, \fBeoParetoPhenDist\fP< EOT, worthT > &_dist)" +.br +.ti -1c +.RI "void \fBoperator\fP ()(const \fBeoPop\fP< EOT > &_pop)" +.br +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBsh\fP (double \fBdist\fP, double \fBDmax\fP)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBnicheSize\fP" +.br +.ti -1c +.RI "\fBeoParetoPhenDist\fP< EOT, worthT > & \fBdist\fP" +.br +.ti -1c +.RI "\fBeoParetoEuclidDist\fP< EOT > \fBeuc_dist\fP" +.br +.ti -1c +.RI "double \fBDmax\fP" +.br +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBdMatrix\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoParetoSharing< EOT, worthT >" + +.PP +Definition at line 9 of file eoParetoSharing.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing_dMatrix.3 b/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing_dMatrix.3 new file mode 100644 index 000000000..5ffca64b3 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/eoParetoSharing_dMatrix.3 @@ -0,0 +1,36 @@ +.TH "eoParetoSharing::dMatrix" 3 "22 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +eoParetoSharing::dMatrix \- +.SH SYNOPSIS +.br +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBdMatrix\fP (unsigned _s)" +.br +.ti -1c +.RI "void \fBprintOn\fP (std::ostream &_os)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned \fBrSize\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class eoParetoSharing< EOT, worthT >::dMatrix" + +.PP +Definition at line 99 of file eoParetoSharing.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoAdditiveBinaryEpsilonIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoAdditiveBinaryEpsilonIndicator.3 new file mode 100644 index 000000000..1766b226a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoAdditiveBinaryEpsilonIndicator.3 @@ -0,0 +1,91 @@ +.TH "moeoAdditiveBinaryEpsilonIndicator" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoAdditiveBinaryEpsilonIndicator \- Functor Additive binary epsilon indicator for \fBeoParetoFitness\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBinaryQualityIndicator< EOFitness >< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoAdditiveBinaryEpsilonIndicator\fP ()" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "double \fBoperator()\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)" +.br +.RI "\fIcomputation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function) \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBepsilonValue\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj)" +.br +.RI "\fIcomputation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoAdditiveBinaryEpsilonIndicator< EOFitness >" +Functor Additive binary epsilon indicator for \fBeoParetoFitness\fP. +.PP +Definition at line 115 of file moeoBinaryQualityIndicator.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoAdditiveBinaryEpsilonIndicator\fP< EOFitness >::operator() (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2)\fC [inline]\fP" +.PP +computation of the maximum epsilon value by which individual _eo1 must be decreased in all objectives such that individual _eo2 is weakly dominated (do not forget to set the bounds before the call of this function) +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.RE +.PP + +.PP +Definition at line 138 of file moeoBinaryQualityIndicator.h. +.PP +References moeoAdditiveBinaryEpsilonIndicator< EOFitness >::epsilonValue(). +.SS "template double \fBmoeoAdditiveBinaryEpsilonIndicator\fP< EOFitness >::epsilonValue (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj)\fC [inline, private]\fP" +.PP +computation of the epsilon value by which individual _eo1 must be decreased in the objective _iObj such that individual _eo2 is weakly dominated +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj the index of the objective +.RE +.PP + +.PP +Definition at line 170 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryQualityIndicator< EOFitness >::bounds. +.PP +Referenced by moeoAdditiveBinaryEpsilonIndicator< EOFitness >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoArchive.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoArchive.3 new file mode 100644 index 000000000..e1bf41ffa --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoArchive.3 @@ -0,0 +1,111 @@ +.TH "moeoArchive" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoArchive \- An archive is a secondary population that stores non-dominated solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoPop< EOT >< EOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBEOFitness\fP" +.br +.RI "\fIThe fitness type of a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "bool \fBdominates\fP (const \fBEOFitness\fP &_fit) const" +.br +.RI "\fIReturns true if the current archive dominates _fit. \fP" +.ti -1c +.RI "bool \fBcontains\fP (const \fBEOFitness\fP &_fit) const" +.br +.RI "\fIReturns true if the current archive contains _fit. \fP" +.ti -1c +.RI "void \fBupdate\fP (const EOT &_eo)" +.br +.RI "\fIUpdates the archive with a given individual _eo. \fP" +.ti -1c +.RI "void \fBupdate\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIUpdates the archive with a given population _pop. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoArchive< EOT >" +An archive is a secondary population that stores non-dominated solutions. +.PP +Definition at line 21 of file moeoArchive.h. +.SH "Member Function Documentation" +.PP +.SS "template bool \fBmoeoArchive\fP< EOT >::dominates (const \fBEOFitness\fP & _fit) const\fC [inline]\fP" +.PP +Returns true if the current archive dominates _fit. +.PP +\fBParameters:\fP +.RS 4 +\fI_fit\fP the (Pareto) fitness to compare with the current archive +.RE +.PP + +.PP +Definition at line 39 of file moeoArchive.h. +.PP +Referenced by moeoArchive< EOT >::update(). +.SS "template bool \fBmoeoArchive\fP< EOT >::contains (const \fBEOFitness\fP & _fit) const\fC [inline]\fP" +.PP +Returns true if the current archive contains _fit. +.PP +\fBParameters:\fP +.RS 4 +\fI_fit\fP the (Pareto) fitness to search within the current archive +.RE +.PP + +.PP +Definition at line 51 of file moeoArchive.h. +.SS "template void \fBmoeoArchive\fP< EOT >::update (const EOT & _eo)\fC [inline]\fP" +.PP +Updates the archive with a given individual _eo. +.PP +\fBParameters:\fP +.RS 4 +\fI_eo\fP the given individual +.RE +.PP + +.PP +Definition at line 63 of file moeoArchive.h. +.PP +References moeoArchive< EOT >::dominates(). +.PP +Referenced by moeoArchive< EOT >::update(). +.SS "template void \fBmoeoArchive\fP< EOT >::update (const \fBeoPop\fP< EOT > & _pop)\fC [inline]\fP" +.PP +Updates the archive with a given population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the given population +.RE +.PP + +.PP +Definition at line 98 of file moeoArchive.h. +.PP +References moeoArchive< EOT >::update(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveFitnessSavingUpdater.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveFitnessSavingUpdater.3 new file mode 100644 index 000000000..2110dd8f7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveFitnessSavingUpdater.3 @@ -0,0 +1,75 @@ +.TH "moeoArchiveFitnessSavingUpdater" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoArchiveFitnessSavingUpdater \- This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoArchiveFitnessSavingUpdater\fP (\fBmoeoArchive\fP< EOT > &_arch, const std::string &_filename='Res/Arch', int _id=-1)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fISaves the fitness of the archive's members into the file. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoArchive\fP< EOT > & \fBarch\fP" +.br +.RI "\fIlocal archive \fP" +.ti -1c +.RI "std::string \fBfilename\fP" +.br +.RI "\fItarget filename \fP" +.ti -1c +.RI "int \fBid\fP" +.br +.RI "\fIown ID \fP" +.ti -1c +.RI "unsigned \fBcounter\fP" +.br +.RI "\fIcounter \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoArchiveFitnessSavingUpdater< EOT >" +This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. +.PP +Definition at line 27 of file moeoArchiveFitnessSavingUpdater.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoArchiveFitnessSavingUpdater\fP< EOT >::\fBmoeoArchiveFitnessSavingUpdater\fP (\fBmoeoArchive\fP< EOT > & _arch, const std::string & _filename = \fC'Res/Arch'\fP, int _id = \fC-1\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_arch\fP local archive +.br +\fI_filename\fP target filename +.br +\fI_id\fP own ID +.RE +.PP + +.PP +Definition at line 37 of file moeoArchiveFitnessSavingUpdater.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveUpdater.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveUpdater.3 new file mode 100644 index 000000000..a0e7c74e9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoArchiveUpdater.3 @@ -0,0 +1,65 @@ +.TH "moeoArchiveUpdater" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoArchiveUpdater \- This class allows to update the archive at each generation with newly found non-dominated solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoArchiveUpdater\fP (\fBmoeoArchive\fP< EOT > &_arch, const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fIUpdates the archive with newly found non-dominated solutions contained in the main population. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoArchive\fP< EOT > & \fBarch\fP" +.br +.RI "\fIthe archive of non-dominated solutions \fP" +.ti -1c +.RI "const \fBeoPop\fP< EOT > & \fBpop\fP" +.br +.RI "\fIthe main population \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoArchiveUpdater< EOT >" +This class allows to update the archive at each generation with newly found non-dominated solutions. +.PP +Definition at line 23 of file moeoArchiveUpdater.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoArchiveUpdater\fP< EOT >::\fBmoeoArchiveUpdater\fP (\fBmoeoArchive\fP< EOT > & _arch, const \fBeoPop\fP< EOT > & _pop)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_arch\fP an archive of non-dominated solutions +.br +\fI_pop\fP the main population +.RE +.PP + +.PP +Definition at line 32 of file moeoArchiveUpdater.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBM.3 new file mode 100644 index 000000000..dfa636828 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBM.3 @@ -0,0 +1,27 @@ +.TH "moeoBM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBM \- Base class for binary metrics. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< A1, A2, R >\fP, and \fBmoeoMetric\fP. +.PP +Inherited by \fBmoeoSolutionVsSolutionBM< EOT, R, EOFitness >\fP, \fBmoeoVectorVsSolutionBM< EOT, R, EOFitness >\fP, \fBmoeoVectorVsVectorBM< EOT, R, EOFitness >\fP, and \fBmoeoVectorVsVectorBM< EOT, double >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoBM< A1, A2, R >" +Base class for binary metrics. +.PP +Definition at line 38 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryHypervolumeIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryHypervolumeIndicator.3 new file mode 100644 index 000000000..39404e2e1 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryHypervolumeIndicator.3 @@ -0,0 +1,169 @@ +.TH "moeoBinaryHypervolumeIndicator" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryHypervolumeIndicator \- Functor Binary hypervolume indicator for \fBeoParetoFitness\fP. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBinaryQualityIndicator< EOFitness >< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoBinaryHypervolumeIndicator\fP (double _rho)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "double \fBoperator()\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2)" +.br +.RI "\fIindicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function) \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBhypervolumeIndicatorValue\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag=false)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 \fP" +.ti -1c +.RI "double \fBhypervolumeIndicatorValueMin\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj \fP" +.ti -1c +.RI "double \fBhypervolumeIndicatorValueMax\fP (const EOFitness &_fitness_eo1, const EOFitness &_fitness_eo2, const unsigned _iObj, const bool _flag)" +.br +.RI "\fIcomputation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBrho\fP" +.br +.RI "\fIreference point for the hypervolume calculation \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryHypervolumeIndicator< EOFitness >" +Functor Binary hypervolume indicator for \fBeoParetoFitness\fP. +.PP +Definition at line 206 of file moeoBinaryQualityIndicator.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::\fBmoeoBinaryHypervolumeIndicator\fP (double _rho)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIdouble\fP _rho reference point for the hypervolume calculation (rho must not be smaller than 1) +.RE +.PP + +.PP +Definition at line 216 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryHypervolumeIndicator< EOFitness >::rho. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::operator() (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2)\fC [inline]\fP" +.PP +indicator value of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 (don't forget to set the bounds before the call of this function) +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.RE +.PP + +.PP +Definition at line 239 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +.SS "template double \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValue (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag = \fCfalse\fP)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj number of objectives (used for iteration) +.br +\fIbool\fP _flag = false (only used for iteration) +.RE +.PP + +.PP +Definition at line 274 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), and moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(). +.PP +Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMax(), moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValueMin(), and moeoBinaryHypervolumeIndicator< EOFitness >::operator()(). +.SS "template double \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValueMin (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a minimization on the objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj index of the objective +.br +\fIbool\fP _flag (only used for iteration) +.RE +.PP + +.PP +Definition at line 309 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and moeoBinaryHypervolumeIndicator< EOFitness >::rho. +.PP +Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). +.SS "template double \fBmoeoBinaryHypervolumeIndicator\fP< EOFitness >::hypervolumeIndicatorValueMax (const EOFitness & _fitness_eo1, const EOFitness & _fitness_eo2, const unsigned _iObj, const bool _flag)\fC [inline, private]\fP" +.PP +computation of the hypervolume of the portion of the objective space that is dominated by individual _eo1 but not by individual _eo2 in case of a maximization on the objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIEOFitness\fP & _fitness_eo1 the fitness of the first individual +.br +\fIEOFitness\fP & _fitness_eo2 the fitness of the second individual +.br +\fIunsigned\fP _iObj index of the objective +.br +\fIbool\fP _flag (only used for iteration) +.RE +.PP + +.PP +Definition at line 363 of file moeoBinaryQualityIndicator.h. +.PP +References moeoBinaryQualityIndicator< EOFitness >::bounds, moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(), and moeoBinaryHypervolumeIndicator< EOFitness >::rho. +.PP +Referenced by moeoBinaryHypervolumeIndicator< EOFitness >::hypervolumeIndicatorValue(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryMetricSavingUpdater.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryMetricSavingUpdater.3 new file mode 100644 index 000000000..a296fd8d2 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryMetricSavingUpdater.3 @@ -0,0 +1,91 @@ +.TH "moeoBinaryMetricSavingUpdater" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryMetricSavingUpdater \- This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBEOFitness\fP" +.br +.RI "\fIThe fitness type of a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoBinaryMetricSavingUpdater\fP (\fBmoeoVectorVsVectorBM\fP< EOT, double > &_metric, const \fBeoPop\fP< EOT > &_pop, std::string _filename)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fISaves the metric's value for the current generation. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoVectorVsVectorBM\fP< EOT, double > & \fBmetric\fP" +.br +.RI "\fIbinary metric comparing two Pareto sets \fP" +.ti -1c +.RI "const \fBeoPop\fP< EOT > & \fBpop\fP" +.br +.RI "\fImain population \fP" +.ti -1c +.RI "\fBeoPop\fP< EOT > \fBoldPop\fP" +.br +.RI "\fI(n-1) population \fP" +.ti -1c +.RI "std::string \fBfilename\fP" +.br +.RI "\fItarget filename \fP" +.ti -1c +.RI "bool \fBfirstGen\fP" +.br +.RI "\fIis it the first generation ? \fP" +.ti -1c +.RI "unsigned \fBcounter\fP" +.br +.RI "\fIcounter \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryMetricSavingUpdater< EOT >" +This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file. +.PP +Definition at line 26 of file moeoBinaryMetricSavingUpdater.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoBinaryMetricSavingUpdater\fP< EOT >::\fBmoeoBinaryMetricSavingUpdater\fP (\fBmoeoVectorVsVectorBM\fP< EOT, double > & _metric, const \fBeoPop\fP< EOT > & _pop, std::string _filename)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_metric\fP the binary metric comparing two Pareto sets +.br +\fI_pop\fP the main population +.br +\fI_filename\fP the target filename +.RE +.PP + +.PP +Definition at line 41 of file moeoBinaryMetricSavingUpdater.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator.3 new file mode 100644 index 000000000..f289ce828 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator.3 @@ -0,0 +1,83 @@ +.TH "moeoBinaryQualityIndicator" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryQualityIndicator \- Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an \fBeoParetoFitness\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< A1, A2, R >< const const EOFitness &, EOFitness &, double >\fP. +.PP +Inherited by \fBmoeoAdditiveBinaryEpsilonIndicator< EOFitness >\fP, and \fBmoeoBinaryHypervolumeIndicator< EOFitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoBinaryQualityIndicator\fP ()" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBsetBounds\fP (const unsigned _iObj, const double _min, const double _max)" +.br +.RI "\fIset the bounds for objective _iObj \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "std::vector< \fBRange\fP > \fBbounds\fP" +.br +.RI "\fIrange (min and max double value) for each objective \fP" +.in -1c +.SS "Private Types" + +.in +1c +.ti -1c +.RI "typedef EOFitness::fitness_traits \fBtraits\fP" +.br +.RI "\fIfitness traits \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBRange\fP" +.br +.RI "\fIPrivate class to represent the bounds. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryQualityIndicator< EOFitness >" +Functor Binary quality indicator Binary performance measure to use in the replacement selection process of IBEA (Indicator-Based Evolutionary Algorithm) Of course, EOFitness needs to be an \fBeoParetoFitness\fP object. +.PP +Definition at line 28 of file moeoBinaryQualityIndicator.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoBinaryQualityIndicator\fP< EOFitness >::setBounds (const unsigned _iObj, const double _min, const double _max)\fC [inline]\fP" +.PP +set the bounds for objective _iObj +.PP +\fBParameters:\fP +.RS 4 +\fIunsigned\fP _iObj the index of the objective +.br +\fIdouble\fP _min the minimum value +.br +\fIdouble\fP _max the maximum value +.RE +.PP + +.PP +Definition at line 51 of file moeoBinaryQualityIndicator.h. +.PP +Referenced by moeoIBEAAvgSorting< EOT, FitnessEval >::setBounds(), moeoIBEAStochSorting< EOT, FitnessEval >::setBounds(), and moeoIBEASorting< EOT, Fitness >::setBounds(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator_Range.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator_Range.3 new file mode 100644 index 000000000..56e95eb6c --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoBinaryQualityIndicator_Range.3 @@ -0,0 +1,55 @@ +.TH "moeoBinaryQualityIndicator::Range" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoBinaryQualityIndicator::Range \- Private class to represent the bounds. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBRange\fP ()" +.br +.ti -1c +.RI "\fBRange\fP (const double _min, const double _max)" +.br +.ti -1c +.RI "double \fBminimum\fP ()" +.br +.ti -1c +.RI "double \fBmaximum\fP ()" +.br +.ti -1c +.RI "double \fBrange\fP ()" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBmin\fP" +.br +.ti -1c +.RI "double \fBmax\fP" +.br +.ti -1c +.RI "double \fBr\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoBinaryQualityIndicator< EOFitness >::Range" +Private class to represent the bounds. +.PP +Definition at line 62 of file moeoBinaryQualityIndicator.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoCombinedMOLS.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoCombinedMOLS.3 new file mode 100644 index 000000000..c9f97bdc9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoCombinedMOLS.3 @@ -0,0 +1,107 @@ +.TH "moeoCombinedMOLS" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoCombinedMOLS \- This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoMOLS< EOT >< EOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoCombinedMOLS\fP (\fBeoEvalFunc\fP< EOT > &_eval, \fBmoeoMOLS\fP< EOT > &_first_ls)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBadd\fP (\fBmoeoMOLS\fP< EOT > &_ls)" +.br +.RI "\fIAdds a new local search to combine. \fP" +.ti -1c +.RI "void \fBoperator()\fP (const EOT &_eo, \fBmoeoArchive\fP< EOT > &_arch)" +.br +.RI "\fIGives a new solution in order to explore the neigborhood. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoEvalFunc\fP< EOT > & \fBeval\fP" +.br +.RI "\fIthe full evaluator of a solution \fP" +.ti -1c +.RI "std::vector< \fBmoeoMOLS\fP< EOT > * > \fBcombinedMOLS\fP" +.br +.RI "\fIthe vector that contains the combined MOLS \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoCombinedMOLS< EOT >" +This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions. +.PP +Definition at line 24 of file moeoCombinedMOLS.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoCombinedMOLS\fP< EOT >::\fBmoeoCombinedMOLS\fP (\fBeoEvalFunc\fP< EOT > & _eval, \fBmoeoMOLS\fP< EOT > & _first_ls)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_eval\fP the full evaluator of a solution +.br +\fI_first_ls\fP the first multi-objective local search to add +.RE +.PP + +.PP +Definition at line 33 of file moeoCombinedMOLS.h. +.PP +References moeoCombinedMOLS< EOT >::combinedMOLS. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoCombinedMOLS\fP< EOT >::add (\fBmoeoMOLS\fP< EOT > & _ls)\fC [inline]\fP" +.PP +Adds a new local search to combine. +.PP +\fBParameters:\fP +.RS 4 +\fI_ls\fP the multi-objective local search to add +.RE +.PP + +.PP +Definition at line 43 of file moeoCombinedMOLS.h. +.PP +References moeoCombinedMOLS< EOT >::combinedMOLS. +.SS "template void \fBmoeoCombinedMOLS\fP< EOT >::operator() (const EOT & _eo, \fBmoeoArchive\fP< EOT > & _arch)\fC [inline, virtual]\fP" +.PP +Gives a new solution in order to explore the neigborhood. +.PP +The new non-dominated solutions are added to the archive +.PP +\fBParameters:\fP +.RS 4 +\fI_eo\fP the solution +.br +\fI_arch\fP the archive of non-dominated solutions +.RE +.PP + +.PP +Implements \fBeoBF< const EOT &, moeoArchive< EOT > &, void >\fP. +.PP +Definition at line 54 of file moeoCombinedMOLS.h. +.PP +References moeoCombinedMOLS< EOT >::combinedMOLS, and moeoCombinedMOLS< EOT >::eval. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoContributionMetric.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoContributionMetric.3 new file mode 100644 index 000000000..c4c472986 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoContributionMetric.3 @@ -0,0 +1,125 @@ +.TH "moeoContributionMetric" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoContributionMetric \- The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVectorVsVectorBM< EOT, double >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBEOFitness\fP" +.br +.RI "\fIThe fitness type of a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "double \fBoperator()\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "unsigned \fBcard_C\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the number of solutions both in '_set1' and '_set2'. \fP" +.ti -1c +.RI "unsigned \fBcard_W\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the number of solutions in '_set1' dominating at least one solution of '_set2'. \fP" +.ti -1c +.RI "unsigned \fBcard_N\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the number of solutions in '_set1' having no relation of dominance with those from '_set2'. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoContributionMetric< EOT >" +The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set. + +(Meunier, Talbi, Reininger: 'A multiobjective genetic algorithm for radio network optimization', in Proc. of the 2000 Congress on Evolutionary Computation, IEEE Press, pp. 317-324) +.PP +Definition at line 23 of file moeoContributionMetric.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoContributionMetric\fP< EOT >::operator() (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline]\fP" +.PP +Returns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 38 of file moeoContributionMetric.h. +.PP +References moeoContributionMetric< EOT >::card_C(), moeoContributionMetric< EOT >::card_N(), and moeoContributionMetric< EOT >::card_W(). +.SS "template unsigned \fBmoeoContributionMetric\fP< EOT >::card_C (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline, private]\fP" +.PP +Returns the number of solutions both in '_set1' and '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 57 of file moeoContributionMetric.h. +.PP +Referenced by moeoContributionMetric< EOT >::operator()(). +.SS "template unsigned \fBmoeoContributionMetric\fP< EOT >::card_W (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline, private]\fP" +.PP +Returns the number of solutions in '_set1' dominating at least one solution of '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 76 of file moeoContributionMetric.h. +.PP +Referenced by moeoContributionMetric< EOT >::operator()(). +.SS "template unsigned \fBmoeoContributionMetric\fP< EOT >::card_N (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline, private]\fP" +.PP +Returns the number of solutions in '_set1' having no relation of dominance with those from '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 95 of file moeoContributionMetric.h. +.PP +Referenced by moeoContributionMetric< EOT >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoDisctinctElitistReplacement.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoDisctinctElitistReplacement.3 new file mode 100644 index 000000000..2388951f9 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoDisctinctElitistReplacement.3 @@ -0,0 +1,105 @@ +.TH "moeoDisctinctElitistReplacement" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoDisctinctElitistReplacement \- Same than \fBmoeoElitistReplacement\fP except that distinct individuals are privilegied. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoReplacement< EOT, WorthT >< EOT, WorthT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoDisctinctElitistReplacement\fP (\fBeoPerf2Worth\fP< EOT, WorthT > &_perf2worth)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< EOT > &_parents, \fBeoPop\fP< EOT > &_offspring)" +.br +.RI "\fIreplacement - result in _parents \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBcreateNewPop\fP (\fBeoPop\fP< EOT > &_pop, unsigned _size)" +.br +.RI "\fIcreation of the new population of size _size \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoPerf2Worth\fP< EOT, WorthT > & \fBperf2worth\fP" +.br +.RI "\fIthe functor object to transform raw fitnesses into fitness for selection \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoDisctinctElitistReplacement< EOT, WorthT >" +Same than \fBmoeoElitistReplacement\fP except that distinct individuals are privilegied. +.PP +Definition at line 78 of file moeoReplacement.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoDisctinctElitistReplacement\fP< EOT, WorthT >::\fBmoeoDisctinctElitistReplacement\fP (\fBeoPerf2Worth\fP< EOT, WorthT > & _perf2worth)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fI_perf2worth\fP the functor class to transform raw fitnesses into fitness for selection +.RE +.PP + +.PP +Definition at line 87 of file moeoReplacement.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoDisctinctElitistReplacement\fP< EOT, WorthT >::operator() (\fBeoPop\fP< EOT > & _parents, \fBeoPop\fP< EOT > & _offspring)\fC [inline, virtual]\fP" +.PP +replacement - result in _parents +.PP +\fBParameters:\fP +.RS 4 +\fI_parents\fP parents population +.br +\fI_offspring\fP offspring population +.RE +.PP + +.PP +Implements \fBeoBF< eoPop< EOT > &, eoPop< EOT > &, void >\fP. +.PP +Definition at line 99 of file moeoReplacement.h. +.PP +References moeoDisctinctElitistReplacement< EOT, WorthT >::createNewPop(). +.SS "template void \fBmoeoDisctinctElitistReplacement\fP< EOT, WorthT >::createNewPop (\fBeoPop\fP< EOT > & _pop, unsigned _size)\fC [inline, private]\fP" +.PP +creation of the new population of size _size +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the initial population (will be modified) +.br +\fI_size\fP the size of the population to create +.RE +.PP + +.PP +Definition at line 123 of file moeoReplacement.h. +.PP +References moeoDisctinctElitistReplacement< EOT, WorthT >::perf2worth, and eoPop< EOT >::swap(). +.PP +Referenced by moeoDisctinctElitistReplacement< EOT, WorthT >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoElitistReplacement.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoElitistReplacement.3 new file mode 100644 index 000000000..5e1c4777d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoElitistReplacement.3 @@ -0,0 +1,77 @@ +.TH "moeoElitistReplacement" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoElitistReplacement \- Keep all the best individuals (almost cut-and-pasted from \fBeoNDPlusReplacement\fP, (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoReplacement< EOT, WorthT >< EOT, WorthT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoElitistReplacement\fP (\fBeoPerf2Worth\fP< EOT, WorthT > &_perf2worth)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< EOT > &_parents, \fBeoPop\fP< EOT > &_offspring)" +.br +.RI "\fIreplacement - result in _parents \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoPerf2Worth\fP< EOT, WorthT > & \fBperf2worth\fP" +.br +.RI "\fIthe functor object to transform raw fitnesses into fitness for selection \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoElitistReplacement< EOT, WorthT >" +Keep all the best individuals (almost cut-and-pasted from \fBeoNDPlusReplacement\fP, (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002). +.PP +Definition at line 35 of file moeoReplacement.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoElitistReplacement\fP< EOT, WorthT >::\fBmoeoElitistReplacement\fP (\fBeoPerf2Worth\fP< EOT, WorthT > & _perf2worth)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fI_perf2worth\fP the functor class to transform raw fitnesses into fitness for selection +.RE +.PP + +.PP +Definition at line 43 of file moeoReplacement.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoElitistReplacement\fP< EOT, WorthT >::operator() (\fBeoPop\fP< EOT > & _parents, \fBeoPop\fP< EOT > & _offspring)\fC [inline, virtual]\fP" +.PP +replacement - result in _parents +.PP +\fBParameters:\fP +.RS 4 +\fI_parents\fP parents population +.br +\fI_offspring\fP offspring population +.RE +.PP + +.PP +Implements \fBeoBF< eoPop< EOT > &, eoPop< EOT > &, void >\fP. +.PP +Definition at line 54 of file moeoReplacement.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoEntropyMetric.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoEntropyMetric.3 new file mode 100644 index 000000000..2cf1583d5 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoEntropyMetric.3 @@ -0,0 +1,93 @@ +.TH "moeoEntropyMetric" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoEntropyMetric \- The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVectorVsVectorBM< EOT, double >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef EOT::Fitness \fBEOFitness\fP" +.br +.RI "\fIThe fitness type of a solution. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "double \fBoperator()\fP (const std::vector< \fBEOFitness\fP > &_set1, const std::vector< \fBEOFitness\fP > &_set2)" +.br +.RI "\fIReturns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBremoveDominated\fP (std::vector< \fBEOFitness\fP > &_f)" +.br +.ti -1c +.RI "void \fBprenormalize\fP (const std::vector< \fBEOFitness\fP > &_f)" +.br +.ti -1c +.RI "void \fBnormalize\fP (std::vector< \fBEOFitness\fP > &_f)" +.br +.ti -1c +.RI "void \fBcomputeUnion\fP (const std::vector< \fBEOFitness\fP > &_f1, const std::vector< \fBEOFitness\fP > &_f2, std::vector< \fBEOFitness\fP > &_f)" +.br +.ti -1c +.RI "unsigned \fBhowManyInNicheOf\fP (const std::vector< \fBEOFitness\fP > &_f, const \fBEOFitness\fP &_s, unsigned _size)" +.br +.ti -1c +.RI "double \fBeuclidianDistance\fP (const \fBEOFitness\fP &_set1, const \fBEOFitness\fP &_to, unsigned _deg=2)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "std::vector< double > \fBvect_min_val\fP" +.br +.ti -1c +.RI "std::vector< double > \fBvect_max_val\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoEntropyMetric< EOT >" +The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set. + +(Basseur, Seynhaeve, Talbi: 'Design of Multi-objective Evolutionary Algorithms: Application to the Flow-shop Scheduling Problem', in Proc. of the 2002 Congress on Evolutionary Computation, IEEE Press, pp. 1155-1156) +.PP +Definition at line 23 of file moeoEntropyMetric.h. +.SH "Member Function Documentation" +.PP +.SS "template double \fBmoeoEntropyMetric\fP< EOT >::operator() (const std::vector< \fBEOFitness\fP > & _set1, const std::vector< \fBEOFitness\fP > & _set2)\fC [inline]\fP" +.PP +Returns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2'. +.PP +\fBParameters:\fP +.RS 4 +\fI_set1\fP the first Pareto set +.br +\fI_set2\fP the second Pareto set +.RE +.PP + +.PP +Definition at line 38 of file moeoEntropyMetric.h. +.PP +References moeoEntropyMetric< EOT >::computeUnion(), moeoEntropyMetric< EOT >::howManyInNicheOf(), moeoEntropyMetric< EOT >::normalize(), moeoEntropyMetric< EOT >::prenormalize(), and moeoEntropyMetric< EOT >::removeDominated(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoHybridMOLS.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoHybridMOLS.3 new file mode 100644 index 000000000..a417ee37f --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoHybridMOLS.3 @@ -0,0 +1,77 @@ +.TH "moeoHybridMOLS" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoHybridMOLS \- This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoHybridMOLS\fP (\fBeoContinue\fP< EOT > &_term, \fBeoSelect\fP< EOT > &_select, \fBmoeoMOLS\fP< EOT > &_mols, \fBmoeoArchive\fP< EOT > &_arch)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.RI "\fIApplies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoContinue\fP< EOT > & \fBterm\fP" +.br +.RI "\fIstopping criteria \fP" +.ti -1c +.RI "\fBeoSelect\fP< EOT > & \fBselect\fP" +.br +.RI "\fIselector \fP" +.ti -1c +.RI "\fBmoeoMOLS\fP< EOT > & \fBmols\fP" +.br +.RI "\fImulti-objective local search \fP" +.ti -1c +.RI "\fBmoeoArchive\fP< EOT > & \fBarch\fP" +.br +.RI "\fIarchive \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoHybridMOLS< EOT >" +This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified. +.PP +Definition at line 27 of file moeoHybridMOLS.h. +.SH "Member Function Documentation" +.PP +.SS "template \fBmoeoHybridMOLS\fP< EOT >::eoHybridMOLS (\fBeoContinue\fP< EOT > & _term, \fBeoSelect\fP< EOT > & _select, \fBmoeoMOLS\fP< EOT > & _mols, \fBmoeoArchive\fP< EOT > & _arch)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_term\fP stopping criteria +.br +\fI_select\fP selector +.br +\fI_mols\fP a multi-objective local search +.br +\fI_arch\fP the archive +.RE +.PP + +.PP +Definition at line 38 of file moeoHybridMOLS.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoIBEA.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEA.3 new file mode 100644 index 000000000..e2e07ddce --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEA.3 @@ -0,0 +1,62 @@ +.TH "moeoIBEA" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBEA \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoPerf2WorthCached< EOT, double >\fP. +.PP +Inherited by \fBmoeoIBEASorting< EOT, Fitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBEA\fP (\fBmoeoBinaryQualityIndicator\fP< Fitness > *_I)" +.br +.ti -1c +.RI "void \fBcalculate_worths\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fImapping \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoBinaryQualityIndicator\fP< Fitness > * \fBI\fP" +.br +.RI "\fIbinary quality indicator to use in the selection process \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBEA< EOT, Fitness >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm). +.PP +Definition at line 28 of file moeoIBEA.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIBEA\fP< EOT, Fitness >::calculate_worths (const \fBeoPop\fP< EOT > & _pop)\fC [inline, virtual]\fP" +.PP +mapping +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBeoPerf2WorthCached< EOT, double >\fP. +.PP +Definition at line 46 of file moeoIBEA.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAAvgSorting.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAAvgSorting.3 new file mode 100644 index 000000000..85a679a29 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAAvgSorting.3 @@ -0,0 +1,105 @@ +.TH "moeoIBEAAvgSorting" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBEAAvgSorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper 'Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization', 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBEAAvgSorting\fP (\fBmoeoBinaryQualityIndicator\fP< FitnessEval > *_I, const double _kappa)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBkappa\fP" +.br +.RI "\fIscaling factor kappa \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBEAAvgSorting< EOT, FitnessEval >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty using averaged values for each objective Follow the idea presented in the Deb & Gupta paper 'Searching for Robust Pareto-Optimal Solutions in Multi-Objective Optimization', 2005 Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +.PP +Definition at line 361 of file moeoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoIBEAAvgSorting\fP< EOT, FitnessEval >::\fBmoeoIBEAAvgSorting\fP (\fBmoeoBinaryQualityIndicator\fP< FitnessEval > * _I, const double _kappa)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.br +\fIdouble\fP _kappa scaling factor kappa +.RE +.PP + +.PP +Definition at line 373 of file moeoIBEA.h. +.PP +References moeoIBEAAvgSorting< EOT, FitnessEval >::kappa. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIBEAAvgSorting\fP< EOT, FitnessEval >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 398 of file moeoIBEA.h. +.PP +References moeoIBEA< EOT, FitnessEval >::I, and moeoBinaryQualityIndicator< EOFitness >::setBounds(). +.SS "template void \fBmoeoIBEAAvgSorting\fP< EOT, FitnessEval >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 431 of file moeoIBEA.h. +.PP +References moeoIBEAAvgSorting< EOT, FitnessEval >::kappa, and eoValueParam< std::vector< WorthT > >::value(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoIBEASorting.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEASorting.3 new file mode 100644 index 000000000..708ee8cb2 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEASorting.3 @@ -0,0 +1,105 @@ +.TH "moeoIBEASorting" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBEASorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper 'Indicator-Based Selection in Multiobjective Search' (2004) Of course, Fitness needs to be an \fBeoParetoFitness\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoIBEA< EOT, Fitness >< EOT, Fitness >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBEASorting\fP (\fBmoeoBinaryQualityIndicator\fP< Fitness > *_I, const double _kappa)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBkappa\fP" +.br +.RI "\fIscaling factor kappa \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBEASorting< EOT, Fitness >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) without uncertainty Adapted from the Zitzler and Künzli paper 'Indicator-Based Selection in Multiobjective Search' (2004) Of course, Fitness needs to be an \fBeoParetoFitness\fP object. +.PP +Definition at line 84 of file moeoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoIBEASorting\fP< EOT, Fitness >::\fBmoeoIBEASorting\fP (\fBmoeoBinaryQualityIndicator\fP< Fitness > * _I, const double _kappa)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.br +\fIdouble\fP _kappa scaling factor kappa +.RE +.PP + +.PP +Definition at line 96 of file moeoIBEA.h. +.PP +References moeoIBEASorting< EOT, Fitness >::kappa. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIBEASorting\fP< EOT, Fitness >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, Fitness >\fP. +.PP +Definition at line 121 of file moeoIBEA.h. +.PP +References moeoIBEA< EOT, Fitness >::I, and moeoBinaryQualityIndicator< EOFitness >::setBounds(). +.SS "template void \fBmoeoIBEASorting\fP< EOT, Fitness >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, Fitness >\fP. +.PP +Definition at line 150 of file moeoIBEA.h. +.PP +References moeoIBEASorting< EOT, Fitness >::kappa, and eoValueParam< std::vector< WorthT > >::value(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAStochSorting.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAStochSorting.3 new file mode 100644 index 000000000..9e4b4fd92 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoIBEAStochSorting.3 @@ -0,0 +1,101 @@ +.TH "moeoIBEAStochSorting" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBEAStochSorting \- Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper 'Handling Uncertainty in Indicator-Based Multiobjective Optimization' (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBEAStochSorting\fP (\fBmoeoBinaryQualityIndicator\fP< FitnessEval > *_I)" +.br +.RI "\fIconstructor \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetBounds\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the bounds for each objective \fP" +.ti -1c +.RI "void \fBfitnesses\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIcomputation and setting of the fitness for each individual of the population \fP" +.in -1c +.SS "Static Private Member Functions" + +.in +1c +.ti -1c +.RI "static double \fBzero\fP ()" +.br +.RI "\fIapproximated zero value \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBEAStochSorting< EOT, FitnessEval >" +Functor The sorting phase of IBEA (Indicator-Based Evolutionary Algorithm) under uncertainty Adapted from the Basseur and Zitzler paper 'Handling Uncertainty in Indicator-Based Multiobjective Optimization' (2006) Of course, the fitness of an individual needs to be an eoStochasticParetoFitness object. +.PP +Definition at line 203 of file moeoIBEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoIBEAStochSorting\fP< EOT, FitnessEval >::\fBmoeoIBEAStochSorting\fP (\fBmoeoBinaryQualityIndicator\fP< FitnessEval > * _I)\fC [inline]\fP" +.PP +constructor +.PP +\fBParameters:\fP +.RS 4 +\fIeoBinaryQualityIndicator*\fP _I the binary quality indicator to use in the selection process +.RE +.PP + +.PP +Definition at line 214 of file moeoIBEA.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIBEAStochSorting\fP< EOT, FitnessEval >::setBounds (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the bounds for each objective +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 243 of file moeoIBEA.h. +.PP +References moeoIBEA< EOT, FitnessEval >::I, and moeoBinaryQualityIndicator< EOFitness >::setBounds(). +.SS "template void \fBmoeoIBEAStochSorting\fP< EOT, FitnessEval >::fitnesses (const \fBeoPop\fP< EOT > & _pop)\fC [inline, private, virtual]\fP" +.PP +computation and setting of the fitness for each individual of the population +.PP +\fBParameters:\fP +.RS 4 +\fIconst\fP eoPop& _pop the population +.RE +.PP + +.PP +Implements \fBmoeoIBEA< EOT, FitnessEval >\fP. +.PP +Definition at line 272 of file moeoIBEA.h. +.PP +References eoValueParam< std::vector< WorthT > >::value(), and moeoIBEAStochSorting< EOT, FitnessEval >::zero(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoMOLS.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoMOLS.3 new file mode 100644 index 000000000..95a92aa15 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoMOLS.3 @@ -0,0 +1,29 @@ +.TH "moeoMOLS" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoMOLS \- Abstract class for local searches applied to multi-objective optimization. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoBF< const EOT &, moeoArchive< EOT > &, void >\fP. +.PP +Inherited by \fBmoeoCombinedMOLS< EOT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoMOLS< EOT >" +Abstract class for local searches applied to multi-objective optimization. + +Starting from only one solution, it produces a set of new non-dominated solutions. +.PP +Definition at line 23 of file moeoMOLS.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoMetric.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoMetric.3 new file mode 100644 index 000000000..9a698fee7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoMetric.3 @@ -0,0 +1,25 @@ +.TH "moeoMetric" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoMetric \- Base class for performance metrics (also called quality indicators). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoFunctorBase\fP. +.PP +Inherited by \fBmoeoBM< A1, A2, R >\fP, \fBmoeoBM< const const EOFitness &, EOFitness &, R >\fP, \fBmoeoBM< const const std::vector< EOFitness > &, EOFitness &, R >\fP, \fBmoeoBM< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R >\fP, \fBmoeoBM< const const std::vector< typename EOT::Fitness > &, std::vector< typename EOT::Fitness > &, double >\fP, \fBmoeoUM< A, R >\fP, \fBmoeoUM< const EOFitness &, R >\fP, and \fBmoeoUM< const std::vector< EOFitness > &, R >\fP. +.PP +.SH "Detailed Description" +.PP +Base class for performance metrics (also called quality indicators). +.PP +Definition at line 21 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II.3 new file mode 100644 index 000000000..ef0618944 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II.3 @@ -0,0 +1,60 @@ +.TH "moeoNDSorting_II" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNDSorting_II \- Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original \fBeoNDSorting_II\fP class. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoNDSorting< EOT >< EOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef std::pair< double, unsigned > \fBdouble_index_pair\fP" +.br +.RI "\fIindex pair \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoNDSorting_II\fP (bool nasty_flag_=false)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "std::vector< double > \fBniche_penalty\fP (const std::vector< unsigned > &_cf, const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fI_cf points into the elements that consist of the current front \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBcompare_nodes\fP" +.br +.RI "\fIA class to compare the nodes. \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNDSorting_II< EOT >" +Fast Elitist Non-Dominant Sorting Genetic Algorithm assignment strategie Note : This is a corrected version of the original \fBeoNDSorting_II\fP class. + +\fBSee also:\fP +.RS 4 +\fBeoNDSorting_II\fP +.RE +.PP + +.PP +Definition at line 26 of file moeoNDSorting.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II_compare_nodes.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II_compare_nodes.3 new file mode 100644 index 000000000..735dd97b3 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoNDSorting_II_compare_nodes.3 @@ -0,0 +1,30 @@ +.TH "moeoNDSorting_II::compare_nodes" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNDSorting_II::compare_nodes \- A class to compare the nodes. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "bool \fBoperator()\fP (const \fBdouble_index_pair\fP &a, const \fBdouble_index_pair\fP &b) const" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNDSorting_II< EOT >::compare_nodes" +A class to compare the nodes. +.PP +Definition at line 46 of file moeoNDSorting.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoNSGA_II.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoNSGA_II.3 new file mode 100644 index 000000000..34da46cda --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoNSGA_II.3 @@ -0,0 +1,95 @@ +.TH "moeoNSGA_II" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoNSGA_II \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoAlgo< EOT >< EOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoNSGA_II\fP (unsigned _max_gen, \fBeoEvalFunc\fP< EOT > &_eval, \fBeoGenOp\fP< EOT > &_op)" +.br +.RI "\fIThis constructor builds the algorithm as descibed in the paper. \fP" +.ti -1c +.RI "\fBmoeoNSGA_II\fP (unsigned _max_gen, \fBeoEvalFunc\fP< EOT > &_eval, \fBeoQuadOp\fP< EOT > &crossover, double pCross, \fBeoMonOp\fP< EOT > &mutation, double pMut)" +.br +.RI "\fICtor taking _max_gen, crossover and mutation. \fP" +.ti -1c +.RI "\fBmoeoNSGA_II\fP (\fBeoContinue\fP< EOT > &_continuator, \fBeoEvalFunc\fP< EOT > &_eval, \fBeoGenOp\fP< EOT > &_op)" +.br +.RI "\fICtor taking a continuator instead of _gen_max. \fP" +.ti -1c +.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fIApply a few generation of evolution to the population. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBeoContinue\fP< EOT > & \fBcontinuator\fP" +.br +.ti -1c +.RI "\fBeoEvalFunc\fP< EOT > & \fBeval\fP" +.br +.ti -1c +.RI "\fBeoPopLoopEval\fP< EOT > \fBloopEval\fP" +.br +.ti -1c +.RI "\fBeoPopEvalFunc\fP< EOT > & \fBpopEval\fP" +.br +.ti -1c +.RI "\fBmoeoNDSorting_II\fP< EOT > \fBsorting\fP" +.br +.RI "\fINSGAII sorting. \fP" +.ti -1c +.RI "\fBeoDetTournamentWorthSelect\fP< EOT > \fBselectOne\fP" +.br +.RI "\fIBinary tournament selection. \fP" +.ti -1c +.RI "\fBmoeoElitistReplacement\fP< EOT > \fBreplace\fP" +.br +.RI "\fIElitist replacement. \fP" +.ti -1c +.RI "\fBeoGeneralBreeder\fP< EOT > \fBgenBreed\fP" +.br +.ti -1c +.RI "\fBeoBreed\fP< EOT > & \fBbreed\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoNSGA_II< EOT >" + +.PP +Definition at line 31 of file moeoNSGA_II.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoNSGA_II\fP< EOT >::\fBmoeoNSGA_II\fP (unsigned _max_gen, \fBeoEvalFunc\fP< EOT > & _eval, \fBeoGenOp\fP< EOT > & _op)\fC [inline]\fP" +.PP +This constructor builds the algorithm as descibed in the paper. +.PP +Deb, K., S. Agrawal, A. Pratap, and T. Meyarivan, A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197, April 2002. +.PP +\fBParameters:\fP +.RS 4 +\fI_max_gen\fP number of generations before stopping +.br +\fI_eval\fP evaluation function +.br +\fI_op\fP variation operator +.RE +.PP + +.PP +Definition at line 46 of file moeoNSGA_II.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoParetoEuclidDist.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoEuclidDist.3 new file mode 100644 index 000000000..8502a0824 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoEuclidDist.3 @@ -0,0 +1,28 @@ +.TH "moeoParetoEuclidDist" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoEuclidDist \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoParetoPhenDist< EOT, DistType >< EOT, DistType >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "DistType \fBoperator()\fP (const EOT &eopf1, const EOT &eopf2)" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoEuclidDist< EOT, DistType >" + +.PP +Definition at line 27 of file moeoParetoPhenDist.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoParetoPhenDist.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoPhenDist.3 new file mode 100644 index 000000000..e0b2549db --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoPhenDist.3 @@ -0,0 +1,21 @@ +.TH "moeoParetoPhenDist" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoPhenDist \- +.SH SYNOPSIS +.br +.PP +Inherited by \fBmoeoParetoEuclidDist< EOT, DistType >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoPhenDist< EOT, DistType >" + +.PP +Definition at line 15 of file moeoParetoPhenDist.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing.3 new file mode 100644 index 000000000..92e246be1 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing.3 @@ -0,0 +1,64 @@ +.TH "moeoParetoSharing" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoSharing \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoPerf2Worth< EOT, worthT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoParetoSharing\fP (double _nicheSize)" +.br +.ti -1c +.RI "\fBmoeoParetoSharing\fP (double _nicheSize, \fBmoeoParetoPhenDist\fP< EOT, worthT > &_dist)" +.br +.ti -1c +.RI "void \fBoperator\fP ()(const \fBeoPop\fP< EOT > &_pop)" +.br +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBsh\fP (double \fBdist\fP, double \fBDmax\fP)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "double \fBnicheSize\fP" +.br +.ti -1c +.RI "\fBmoeoParetoPhenDist\fP< EOT, worthT > & \fBdist\fP" +.br +.ti -1c +.RI "\fBmoeoParetoEuclidDist\fP< EOT > \fBeuc_dist\fP" +.br +.ti -1c +.RI "double \fBDmax\fP" +.br +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBdMatrix\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoSharing< EOT, worthT >" + +.PP +Definition at line 19 of file moeoParetoSharing.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing_dMatrix.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing_dMatrix.3 new file mode 100644 index 000000000..16063b07a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoParetoSharing_dMatrix.3 @@ -0,0 +1,36 @@ +.TH "moeoParetoSharing::dMatrix" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoParetoSharing::dMatrix \- +.SH SYNOPSIS +.br +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBdMatrix\fP (unsigned _s)" +.br +.ti -1c +.RI "void \fBprintOn\fP (std::ostream &_os)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned \fBrSize\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoParetoSharing< EOT, worthT >::dMatrix" + +.PP +Definition at line 109 of file moeoParetoSharing.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoReplacement.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoReplacement.3 new file mode 100644 index 000000000..4c7f876c6 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoReplacement.3 @@ -0,0 +1,27 @@ +.TH "moeoReplacement" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoReplacement \- Replacement strategy for multi-objective optimization. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoReplacement< EOT >< EOT >\fP. +.PP +Inherited by \fBmoeoDisctinctElitistReplacement< EOT, WorthT >\fP, and \fBmoeoElitistReplacement< EOT, WorthT >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoReplacement< EOT, WorthT >" +Replacement strategy for multi-objective optimization. +.PP +Definition at line 24 of file moeoReplacement.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoSelectOneFromPopAndArch.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoSelectOneFromPopAndArch.3 new file mode 100644 index 000000000..6bd2ec495 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoSelectOneFromPopAndArch.3 @@ -0,0 +1,105 @@ +.TH "moeoSelectOneFromPopAndArch" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSelectOneFromPopAndArch \- Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoSelectOne< EOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoSelectOneFromPopAndArch\fP (\fBeoSelectOne\fP< EOT > &_popSelectOne, \fBeoSelectOne\fP< EOT > _archSelectOne, \fBmoeoArchive\fP< EOT > &_arch, double _ratioFromPop=0.5)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "\fBmoeoSelectOneFromPopAndArch\fP (\fBeoSelectOne\fP< EOT > &_popSelectOne, \fBmoeoArchive\fP< EOT > &_arch, double _ratioFromPop=0.5)" +.br +.RI "\fICtor - the archive's selection operator is a random selector. \fP" +.ti -1c +.RI "virtual const EOT & \fBoperator()\fP (const \fBeoPop\fP< EOT > &pop)" +.br +.RI "\fIThe selection process. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (const \fBeoPop\fP< EOT > &_pop)" +.br +.RI "\fISetups some population stats. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoSelectOne\fP< EOT > & \fBpopSelectOne\fP" +.br +.RI "\fIThe population's selection operator. \fP" +.ti -1c +.RI "\fBeoSelectOne\fP< EOT > & \fBarchSelectOne\fP" +.br +.RI "\fIThe archive's selection operator. \fP" +.ti -1c +.RI "\fBmoeoArchive\fP< EOT > & \fBarch\fP" +.br +.RI "\fIthe archive \fP" +.ti -1c +.RI "double \fBratioFromPop\fP" +.br +.RI "\fIthe ratio of selected individuals from the population \fP" +.ti -1c +.RI "\fBeoRandomSelect\fP< EOT > \fBrandomSelect\fP" +.br +.RI "\fIthe random selection operator \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoSelectOneFromPopAndArch< EOT >" +Elitist selection process that consists in choosing individuals in the archive as well as in the current population. +.PP +Definition at line 25 of file moeoSelectOneFromPopAndArch.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoSelectOneFromPopAndArch\fP< EOT >::\fBmoeoSelectOneFromPopAndArch\fP (\fBeoSelectOne\fP< EOT > & _popSelectOne, \fBeoSelectOne\fP< EOT > _archSelectOne, \fBmoeoArchive\fP< EOT > & _arch, double _ratioFromPop = \fC0.5\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_popSelectOne\fP the population's selection operator +.br +\fI_archSelectOne\fP the archive's selection operator +.br +\fI_arch\fP the archive +.br +\fI_ratioFromPop\fP the ratio of selected individuals from the population +.RE +.PP + +.PP +Definition at line 37 of file moeoSelectOneFromPopAndArch.h. +.SS "template \fBmoeoSelectOneFromPopAndArch\fP< EOT >::\fBmoeoSelectOneFromPopAndArch\fP (\fBeoSelectOne\fP< EOT > & _popSelectOne, \fBmoeoArchive\fP< EOT > & _arch, double _ratioFromPop = \fC0.5\fP)\fC [inline]\fP" +.PP +Ctor - the archive's selection operator is a random selector. +.PP +\fBParameters:\fP +.RS 4 +\fI_popSelectOne\fP the population's selection operator +.br +\fI_arch\fP the archive +.br +\fI_ratioFromPop\fP the ratio of selected individuals from the population +.RE +.PP + +.PP +Definition at line 49 of file moeoSelectOneFromPopAndArch.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionUM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionUM.3 new file mode 100644 index 000000000..bbbdd40a7 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionUM.3 @@ -0,0 +1,25 @@ +.TH "moeoSolutionUM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSolutionUM \- Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoUM< const EOFitness &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoSolutionUM< EOT, R, EOFitness >" +Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness. +.PP +Definition at line 47 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionVsSolutionBM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionVsSolutionBM.3 new file mode 100644 index 000000000..1ba173f99 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoSolutionVsSolutionBM.3 @@ -0,0 +1,25 @@ +.TH "moeoSolutionVsSolutionBM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoSolutionVsSolutionBM \- Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBM< A1, A2, R >< const const EOFitness &, EOFitness &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoSolutionVsSolutionBM< EOT, R, EOFitness >" +Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses. +.PP +Definition at line 70 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoUM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoUM.3 new file mode 100644 index 000000000..42fbb8089 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoUM.3 @@ -0,0 +1,25 @@ +.TH "moeoUM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoUM \- Base class for unary metrics. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoUF< A, R >\fP, and \fBmoeoMetric\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoUM< A, R >" +Base class for unary metrics. +.PP +Definition at line 29 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoVectorUM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorUM.3 new file mode 100644 index 000000000..441effd9a --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorUM.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorUM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoVectorUM \- Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoUM< const std::vector< EOFitness > &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoVectorUM< EOT, R, EOFitness >" +Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses). +.PP +Definition at line 58 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsSolutionBM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsSolutionBM.3 new file mode 100644 index 000000000..0159f5e27 --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsSolutionBM.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorVsSolutionBM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoVectorVsSolutionBM \- Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBM< A1, A2, R >< const const std::vector< EOFitness > &, EOFitness &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoVectorVsSolutionBM< EOT, R, EOFitness >" +Base class for binary metrics dedicated to the performance comparison between a Pareto set (a vector of Pareto fitnesses) and a single solution's Pareto fitness. +.PP +Definition at line 82 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsVectorBM.3 b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsVectorBM.3 new file mode 100644 index 000000000..5a782680d --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/moeoVectorVsVectorBM.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorVsVectorBM" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoVectorVsVectorBM \- Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoBM< A1, A2, R >< const const std::vector< EOFitness > &, std::vector< EOFitness > &, R >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoVectorVsVectorBM< EOT, R, EOFitness >" +Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses). +.PP +Definition at line 95 of file moeoMetric.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/trunk/paradiseo-moeo/docs/man/man3/webpages.3 b/trunk/paradiseo-moeo/docs/man/man3/webpages.3 new file mode 100644 index 000000000..a3ae4ccca --- /dev/null +++ b/trunk/paradiseo-moeo/docs/man/man3/webpages.3 @@ -0,0 +1,15 @@ +.TH "webpages" 3 "15 Jan 2007" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +webpages \- Related webpages +.IP "\(bu" 2 +ParadisEO \fChomepage\fP +.IP "\(bu" 2 +INRIA GForge \fCproject page\fP +.IP "\(bu" 2 +\fCREADME\fP +.IP "\(bu" 2 +\fCNEWS\fP +.PP +