From 85aa6550c308c8ef9b19bc49aadc4a8f1f373ccd Mon Sep 17 00:00:00 2001 From: legrand Date: Wed, 6 Dec 2006 09:56:01 +0000 Subject: [PATCH] Project Import git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1 331e1502-861f-0410-8da2-ba01fb791d7f --- paradiseo-moeo/NEWS | 7 + paradiseo-moeo/README | 14 + paradiseo-moeo/doc/html/NEWS-source.html | 36 ++ paradiseo-moeo/doc/html/README-source.html | 43 ++ paradiseo-moeo/doc/html/annotated.html | 59 ++ paradiseo-moeo/doc/html/classes.html | 50 ++ .../doc/html/classmoeoArchive-members.html | 42 ++ paradiseo-moeo/doc/html/classmoeoArchive.html | 205 ++++++ ...eoArchiveFitnessSavingUpdater-members.html | 43 ++ .../classmoeoArchiveFitnessSavingUpdater.html | 128 ++++ .../html/classmoeoArchiveUpdater-members.html | 41 ++ .../doc/html/classmoeoArchiveUpdater.html | 113 ++++ paradiseo-moeo/doc/html/classmoeoBM.html | 65 ++ paradiseo-moeo/doc/html/classmoeoBM.png | Bin 0 -> 2807 bytes ...moeoBinaryMetricSavingUpdater-members.html | 46 ++ .../classmoeoBinaryMetricSavingUpdater.html | 142 ++++ .../html/classmoeoCombinedMOLS-members.html | 42 ++ .../doc/html/classmoeoCombinedMOLS.html | 199 ++++++ .../doc/html/classmoeoCombinedMOLS.png | Bin 0 -> 532 bytes .../classmoeoContributionMetric-members.html | 42 ++ .../doc/html/classmoeoContributionMetric.html | 255 ++++++++ .../doc/html/classmoeoContributionMetric.png | Bin 0 -> 1038 bytes ...eoDisctinctElitistReplacement-members.html | 41 ++ .../classmoeoDisctinctElitistReplacement.html | 196 ++++++ .../classmoeoDisctinctElitistReplacement.png | Bin 0 -> 848 bytes .../classmoeoElitistReplacement-members.html | 40 ++ .../doc/html/classmoeoElitistReplacement.html | 147 +++++ .../doc/html/classmoeoElitistReplacement.png | Bin 0 -> 674 bytes .../html/classmoeoEntropyMetric-members.html | 47 ++ .../doc/html/classmoeoEntropyMetric.html | 142 ++++ .../doc/html/classmoeoEntropyMetric.png | Bin 0 -> 1030 bytes .../doc/html/classmoeoHybridMOLS-members.html | 43 ++ .../doc/html/classmoeoHybridMOLS.html | 135 ++++ paradiseo-moeo/doc/html/classmoeoMOLS.html | 61 ++ paradiseo-moeo/doc/html/classmoeoMOLS.png | Bin 0 -> 539 bytes paradiseo-moeo/doc/html/classmoeoMetric.html | 63 ++ paradiseo-moeo/doc/html/classmoeoMetric.png | Bin 0 -> 5466 bytes .../doc/html/classmoeoReplacement.html | 60 ++ .../doc/html/classmoeoReplacement.png | Bin 0 -> 1222 bytes ...ssmoeoSelectOneFromPopAndArch-members.html | 46 ++ .../classmoeoSelectOneFromPopAndArch.html | 194 ++++++ .../doc/html/classmoeoSolutionUM.html | 60 ++ .../doc/html/classmoeoSolutionUM.png | Bin 0 -> 813 bytes .../html/classmoeoSolutionVsSolutionBM.html | 60 ++ .../html/classmoeoSolutionVsSolutionBM.png | Bin 0 -> 894 bytes paradiseo-moeo/doc/html/classmoeoUM.html | 59 ++ paradiseo-moeo/doc/html/classmoeoUM.png | Bin 0 -> 392 bytes .../doc/html/classmoeoVectorUM.html | 60 ++ paradiseo-moeo/doc/html/classmoeoVectorUM.png | Bin 0 -> 994 bytes .../doc/html/classmoeoVectorVsSolutionBM.html | 60 ++ .../doc/html/classmoeoVectorVsSolutionBM.png | Bin 0 -> 1022 bytes .../doc/html/classmoeoVectorVsVectorBM.html | 60 ++ .../doc/html/classmoeoVectorVsVectorBM.png | Bin 0 -> 997 bytes paradiseo-moeo/doc/html/doxygen.css | 358 ++++++++++ paradiseo-moeo/doc/html/doxygen.png | Bin 0 -> 1281 bytes paradiseo-moeo/doc/html/files.html | 47 ++ paradiseo-moeo/doc/html/ftv2blank.png | Bin 0 -> 174 bytes paradiseo-moeo/doc/html/ftv2doc.png | Bin 0 -> 255 bytes paradiseo-moeo/doc/html/ftv2folderclosed.png | Bin 0 -> 259 bytes paradiseo-moeo/doc/html/ftv2folderopen.png | Bin 0 -> 261 bytes paradiseo-moeo/doc/html/ftv2lastnode.png | Bin 0 -> 233 bytes paradiseo-moeo/doc/html/ftv2link.png | Bin 0 -> 358 bytes paradiseo-moeo/doc/html/ftv2mlastnode.png | Bin 0 -> 160 bytes paradiseo-moeo/doc/html/ftv2mnode.png | Bin 0 -> 194 bytes paradiseo-moeo/doc/html/ftv2node.png | Bin 0 -> 235 bytes paradiseo-moeo/doc/html/ftv2plastnode.png | Bin 0 -> 165 bytes paradiseo-moeo/doc/html/ftv2pnode.png | Bin 0 -> 200 bytes paradiseo-moeo/doc/html/ftv2vertline.png | Bin 0 -> 229 bytes paradiseo-moeo/doc/html/functions.html | 209 ++++++ paradiseo-moeo/doc/html/functions_func.html | 145 +++++ paradiseo-moeo/doc/html/functions_type.html | 53 ++ paradiseo-moeo/doc/html/functions_vars.html | 95 +++ paradiseo-moeo/doc/html/hierarchy.html | 80 +++ paradiseo-moeo/doc/html/index.html | 8 + paradiseo-moeo/doc/html/index_8h-source.html | 36 ++ paradiseo-moeo/doc/html/installdox | 117 ++++ paradiseo-moeo/doc/html/main.html | 39 ++ ...ArchiveFitnessSavingUpdater_8h-source.html | 86 +++ .../html/moeoArchiveUpdater_8h-source.html | 72 +++ .../doc/html/moeoArchive_8h-source.html | 113 ++++ ...eoBinaryMetricSavingUpdater_8h-source.html | 101 +++ .../doc/html/moeoCombinedMOLS_8h-source.html | 79 +++ .../moeoContributionMetric_8h-source.html | 117 ++++ .../doc/html/moeoEntropyMetric_8h-source.html | 194 ++++++ .../doc/html/moeoHybridMOLS_8h-source.html | 85 +++ .../doc/html/moeoMOLS_8h-source.html | 53 ++ .../doc/html/moeoMetric_8h-source.html | 111 ++++ .../doc/html/moeoReplacement_8h-source.html | 163 +++++ ...moeoSelectOneFromPopAndArch_8h-source.html | 95 +++ paradiseo-moeo/doc/html/moeo_8h-source.html | 60 ++ paradiseo-moeo/doc/html/pages.html | 33 + paradiseo-moeo/doc/html/search.idx | Bin 0 -> 312477 bytes paradiseo-moeo/doc/html/search.php | 382 +++++++++++ paradiseo-moeo/doc/html/tab_b.gif | Bin 0 -> 35 bytes paradiseo-moeo/doc/html/tab_l.gif | Bin 0 -> 706 bytes paradiseo-moeo/doc/html/tab_r.gif | Bin 0 -> 2585 bytes paradiseo-moeo/doc/html/tabs.css | 102 +++ paradiseo-moeo/doc/html/tree.html | 163 +++++ paradiseo-moeo/doc/html/webpages.html | 31 + paradiseo-moeo/doc/index.h | 53 ++ paradiseo-moeo/doc/latex/FreeSans.ttf | Bin 0 -> 22932 bytes paradiseo-moeo/doc/latex/Makefile | 39 ++ paradiseo-moeo/doc/latex/annotated.tex | 24 + paradiseo-moeo/doc/latex/classmoeoArchive.tex | 105 +++ .../classmoeoArchiveFitnessSavingUpdater.tex | 61 ++ .../doc/latex/classmoeoArchiveUpdater.tex | 55 ++ paradiseo-moeo/doc/latex/classmoeoBM.eps | 229 +++++++ paradiseo-moeo/doc/latex/classmoeoBM.tex | 27 + .../classmoeoBinaryMetricSavingUpdater.tex | 73 +++ .../doc/latex/classmoeoCombinedMOLS.eps | 197 ++++++ .../doc/latex/classmoeoCombinedMOLS.tex | 99 +++ .../doc/latex/classmoeoContributionMetric.eps | 209 ++++++ .../doc/latex/classmoeoContributionMetric.tex | 116 ++++ .../classmoeoDisctinctElitistReplacement.eps | 197 ++++++ .../classmoeoDisctinctElitistReplacement.tex | 99 +++ .../doc/latex/classmoeoElitistReplacement.eps | 197 ++++++ .../doc/latex/classmoeoElitistReplacement.tex | 76 +++ .../doc/latex/classmoeoEntropyMetric.eps | 209 ++++++ .../doc/latex/classmoeoEntropyMetric.tex | 89 +++ .../doc/latex/classmoeoHybridMOLS.tex | 61 ++ paradiseo-moeo/doc/latex/classmoeoMOLS.eps | 197 ++++++ paradiseo-moeo/doc/latex/classmoeoMOLS.tex | 29 + paradiseo-moeo/doc/latex/classmoeoMetric.eps | 230 +++++++ paradiseo-moeo/doc/latex/classmoeoMetric.tex | 25 + .../doc/latex/classmoeoReplacement.eps | 203 ++++++ .../doc/latex/classmoeoReplacement.tex | 27 + .../classmoeoSelectOneFromPopAndArch.tex | 83 +++ .../doc/latex/classmoeoSolutionUM.eps | 203 ++++++ .../doc/latex/classmoeoSolutionUM.tex | 27 + .../latex/classmoeoSolutionVsSolutionBM.eps | 203 ++++++ .../latex/classmoeoSolutionVsSolutionBM.tex | 27 + paradiseo-moeo/doc/latex/classmoeoUM.eps | 197 ++++++ paradiseo-moeo/doc/latex/classmoeoUM.tex | 27 + .../doc/latex/classmoeoVectorUM.eps | 203 ++++++ .../doc/latex/classmoeoVectorUM.tex | 27 + .../doc/latex/classmoeoVectorVsSolutionBM.eps | 203 ++++++ .../doc/latex/classmoeoVectorVsSolutionBM.tex | 27 + .../doc/latex/classmoeoVectorVsVectorBM.eps | 203 ++++++ .../doc/latex/classmoeoVectorVsVectorBM.tex | 27 + paradiseo-moeo/doc/latex/doxygen.sty | 78 +++ paradiseo-moeo/doc/latex/hierarchy.tex | 45 ++ paradiseo-moeo/doc/latex/main.tex | 5 + paradiseo-moeo/doc/latex/pages.tex | 5 + paradiseo-moeo/doc/latex/refman.tex | 63 ++ paradiseo-moeo/doc/latex/webpages.tex | 3 + paradiseo-moeo/doc/man/man3/moeoArchive.3 | 109 ++++ .../man3/moeoArchiveFitnessSavingUpdater.3 | 73 +++ .../doc/man/man3/moeoArchiveUpdater.3 | 63 ++ paradiseo-moeo/doc/man/man3/moeoBM.3 | 27 + .../man/man3/moeoBinaryMetricSavingUpdater.3 | 89 +++ .../doc/man/man3/moeoCombinedMOLS.3 | 105 +++ .../doc/man/man3/moeoContributionMetric.3 | 125 ++++ .../man3/moeoDisctinctElitistReplacement.3 | 103 +++ .../doc/man/man3/moeoElitistReplacement.3 | 77 +++ .../doc/man/man3/moeoEntropyMetric.3 | 93 +++ paradiseo-moeo/doc/man/man3/moeoHybridMOLS.3 | 75 +++ paradiseo-moeo/doc/man/man3/moeoMOLS.3 | 27 + paradiseo-moeo/doc/man/man3/moeoMetric.3 | 23 + paradiseo-moeo/doc/man/man3/moeoReplacement.3 | 25 + .../man/man3/moeoSelectOneFromPopAndArch.3 | 103 +++ paradiseo-moeo/doc/man/man3/moeoSolutionUM.3 | 25 + .../doc/man/man3/moeoSolutionVsSolutionBM.3 | 25 + paradiseo-moeo/doc/man/man3/moeoUM.3 | 25 + paradiseo-moeo/doc/man/man3/moeoVectorUM.3 | 25 + .../doc/man/man3/moeoVectorVsSolutionBM.3 | 25 + .../doc/man/man3/moeoVectorVsVectorBM.3 | 25 + paradiseo-moeo/doc/man/man3/webpages.3 | 15 + paradiseo-moeo/doc/moeo.doxyfile | 237 +++++++ paradiseo-moeo/doc/moeo.doxytag | 611 ++++++++++++++++++ .../metric/moeoBinaryMetricSavingUpdater.h | 94 +++ .../src/metric/moeoContributionMetric.h | 116 ++++ paradiseo-moeo/src/metric/moeoEntropyMetric.h | 178 +++++ paradiseo-moeo/src/metric/moeoMetric.h | 106 +++ paradiseo-moeo/src/moeo.h | 31 + paradiseo-moeo/src/moeoArchive.h | 106 +++ .../src/moeoArchiveFitnessSavingUpdater.h | 73 +++ paradiseo-moeo/src/moeoArchiveUpdater.h | 56 ++ paradiseo-moeo/src/moeoCombinedMOLS.h | 71 ++ paradiseo-moeo/src/moeoHybridMOLS.h | 74 +++ paradiseo-moeo/src/moeoMOLS.h | 28 + paradiseo-moeo/src/moeoReplacement.h | 169 +++++ .../src/moeoSelectOneFromPopAndArch.h | 93 +++ 182 files changed, 14280 insertions(+) create mode 100644 paradiseo-moeo/NEWS create mode 100644 paradiseo-moeo/README create mode 100644 paradiseo-moeo/doc/html/NEWS-source.html create mode 100644 paradiseo-moeo/doc/html/README-source.html create mode 100644 paradiseo-moeo/doc/html/annotated.html create mode 100644 paradiseo-moeo/doc/html/classes.html create mode 100644 paradiseo-moeo/doc/html/classmoeoArchive-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoArchive.html create mode 100644 paradiseo-moeo/doc/html/classmoeoArchiveFitnessSavingUpdater-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoArchiveFitnessSavingUpdater.html create mode 100644 paradiseo-moeo/doc/html/classmoeoArchiveUpdater-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoArchiveUpdater.html create mode 100644 paradiseo-moeo/doc/html/classmoeoBM.html create mode 100644 paradiseo-moeo/doc/html/classmoeoBM.png create mode 100644 paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.html create mode 100644 paradiseo-moeo/doc/html/classmoeoCombinedMOLS-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoCombinedMOLS.html create mode 100644 paradiseo-moeo/doc/html/classmoeoCombinedMOLS.png create mode 100644 paradiseo-moeo/doc/html/classmoeoContributionMetric-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoContributionMetric.html create mode 100644 paradiseo-moeo/doc/html/classmoeoContributionMetric.png create mode 100644 paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement.html create mode 100644 paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement.png create mode 100644 paradiseo-moeo/doc/html/classmoeoElitistReplacement-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoElitistReplacement.html create mode 100644 paradiseo-moeo/doc/html/classmoeoElitistReplacement.png create mode 100644 paradiseo-moeo/doc/html/classmoeoEntropyMetric-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoEntropyMetric.html create mode 100644 paradiseo-moeo/doc/html/classmoeoEntropyMetric.png create mode 100644 paradiseo-moeo/doc/html/classmoeoHybridMOLS-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoHybridMOLS.html create mode 100644 paradiseo-moeo/doc/html/classmoeoMOLS.html create mode 100644 paradiseo-moeo/doc/html/classmoeoMOLS.png create mode 100644 paradiseo-moeo/doc/html/classmoeoMetric.html create mode 100644 paradiseo-moeo/doc/html/classmoeoMetric.png create mode 100644 paradiseo-moeo/doc/html/classmoeoReplacement.html create mode 100644 paradiseo-moeo/doc/html/classmoeoReplacement.png create mode 100644 paradiseo-moeo/doc/html/classmoeoSelectOneFromPopAndArch-members.html create mode 100644 paradiseo-moeo/doc/html/classmoeoSelectOneFromPopAndArch.html create mode 100644 paradiseo-moeo/doc/html/classmoeoSolutionUM.html create mode 100644 paradiseo-moeo/doc/html/classmoeoSolutionUM.png create mode 100644 paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBM.html create mode 100644 paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBM.png create mode 100644 paradiseo-moeo/doc/html/classmoeoUM.html create mode 100644 paradiseo-moeo/doc/html/classmoeoUM.png create mode 100644 paradiseo-moeo/doc/html/classmoeoVectorUM.html create mode 100644 paradiseo-moeo/doc/html/classmoeoVectorUM.png create mode 100644 paradiseo-moeo/doc/html/classmoeoVectorVsSolutionBM.html create mode 100644 paradiseo-moeo/doc/html/classmoeoVectorVsSolutionBM.png create mode 100644 paradiseo-moeo/doc/html/classmoeoVectorVsVectorBM.html create mode 100644 paradiseo-moeo/doc/html/classmoeoVectorVsVectorBM.png create mode 100644 paradiseo-moeo/doc/html/doxygen.css create mode 100644 paradiseo-moeo/doc/html/doxygen.png create mode 100644 paradiseo-moeo/doc/html/files.html create mode 100644 paradiseo-moeo/doc/html/ftv2blank.png create mode 100644 paradiseo-moeo/doc/html/ftv2doc.png create mode 100644 paradiseo-moeo/doc/html/ftv2folderclosed.png create mode 100644 paradiseo-moeo/doc/html/ftv2folderopen.png create mode 100644 paradiseo-moeo/doc/html/ftv2lastnode.png create mode 100644 paradiseo-moeo/doc/html/ftv2link.png create mode 100644 paradiseo-moeo/doc/html/ftv2mlastnode.png create mode 100644 paradiseo-moeo/doc/html/ftv2mnode.png create mode 100644 paradiseo-moeo/doc/html/ftv2node.png create mode 100644 paradiseo-moeo/doc/html/ftv2plastnode.png create mode 100644 paradiseo-moeo/doc/html/ftv2pnode.png create mode 100644 paradiseo-moeo/doc/html/ftv2vertline.png create mode 100644 paradiseo-moeo/doc/html/functions.html create mode 100644 paradiseo-moeo/doc/html/functions_func.html create mode 100644 paradiseo-moeo/doc/html/functions_type.html create mode 100644 paradiseo-moeo/doc/html/functions_vars.html create mode 100644 paradiseo-moeo/doc/html/hierarchy.html create mode 100644 paradiseo-moeo/doc/html/index.html create mode 100644 paradiseo-moeo/doc/html/index_8h-source.html create mode 100755 paradiseo-moeo/doc/html/installdox create mode 100644 paradiseo-moeo/doc/html/main.html create mode 100644 paradiseo-moeo/doc/html/moeoArchiveFitnessSavingUpdater_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoArchiveUpdater_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoArchive_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoBinaryMetricSavingUpdater_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoCombinedMOLS_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoContributionMetric_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoEntropyMetric_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoHybridMOLS_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoMOLS_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoMetric_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoReplacement_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeoSelectOneFromPopAndArch_8h-source.html create mode 100644 paradiseo-moeo/doc/html/moeo_8h-source.html create mode 100644 paradiseo-moeo/doc/html/pages.html create mode 100644 paradiseo-moeo/doc/html/search.idx create mode 100644 paradiseo-moeo/doc/html/search.php create mode 100644 paradiseo-moeo/doc/html/tab_b.gif create mode 100644 paradiseo-moeo/doc/html/tab_l.gif create mode 100644 paradiseo-moeo/doc/html/tab_r.gif create mode 100644 paradiseo-moeo/doc/html/tabs.css create mode 100644 paradiseo-moeo/doc/html/tree.html create mode 100644 paradiseo-moeo/doc/html/webpages.html create mode 100644 paradiseo-moeo/doc/index.h create mode 100644 paradiseo-moeo/doc/latex/FreeSans.ttf create mode 100644 paradiseo-moeo/doc/latex/Makefile create mode 100644 paradiseo-moeo/doc/latex/annotated.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoArchive.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoArchiveFitnessSavingUpdater.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoBM.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoBM.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoCombinedMOLS.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoCombinedMOLS.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoContributionMetric.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoContributionMetric.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoDisctinctElitistReplacement.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoDisctinctElitistReplacement.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoElitistReplacement.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoElitistReplacement.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoEntropyMetric.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoEntropyMetric.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoHybridMOLS.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoMOLS.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoMOLS.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoMetric.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoMetric.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoReplacement.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoReplacement.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoSelectOneFromPopAndArch.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoSolutionUM.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoSolutionUM.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBM.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBM.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoUM.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoUM.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoVectorUM.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoVectorUM.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoVectorVsSolutionBM.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoVectorVsSolutionBM.tex create mode 100644 paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBM.eps create mode 100644 paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBM.tex create mode 100644 paradiseo-moeo/doc/latex/doxygen.sty create mode 100644 paradiseo-moeo/doc/latex/hierarchy.tex create mode 100644 paradiseo-moeo/doc/latex/main.tex create mode 100644 paradiseo-moeo/doc/latex/pages.tex create mode 100644 paradiseo-moeo/doc/latex/refman.tex create mode 100644 paradiseo-moeo/doc/latex/webpages.tex create mode 100644 paradiseo-moeo/doc/man/man3/moeoArchive.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoArchiveFitnessSavingUpdater.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoArchiveUpdater.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoBM.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoBinaryMetricSavingUpdater.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoCombinedMOLS.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoContributionMetric.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoDisctinctElitistReplacement.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoElitistReplacement.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoEntropyMetric.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoHybridMOLS.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoMOLS.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoMetric.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoReplacement.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoSelectOneFromPopAndArch.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoSolutionUM.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoSolutionVsSolutionBM.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoUM.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoVectorUM.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoVectorVsSolutionBM.3 create mode 100644 paradiseo-moeo/doc/man/man3/moeoVectorVsVectorBM.3 create mode 100644 paradiseo-moeo/doc/man/man3/webpages.3 create mode 100644 paradiseo-moeo/doc/moeo.doxyfile create mode 100644 paradiseo-moeo/doc/moeo.doxytag create mode 100644 paradiseo-moeo/src/metric/moeoBinaryMetricSavingUpdater.h create mode 100644 paradiseo-moeo/src/metric/moeoContributionMetric.h create mode 100644 paradiseo-moeo/src/metric/moeoEntropyMetric.h create mode 100644 paradiseo-moeo/src/metric/moeoMetric.h create mode 100644 paradiseo-moeo/src/moeo.h create mode 100644 paradiseo-moeo/src/moeoArchive.h create mode 100644 paradiseo-moeo/src/moeoArchiveFitnessSavingUpdater.h create mode 100644 paradiseo-moeo/src/moeoArchiveUpdater.h create mode 100644 paradiseo-moeo/src/moeoCombinedMOLS.h create mode 100644 paradiseo-moeo/src/moeoHybridMOLS.h create mode 100644 paradiseo-moeo/src/moeoMOLS.h create mode 100644 paradiseo-moeo/src/moeoReplacement.h create mode 100644 paradiseo-moeo/src/moeoSelectOneFromPopAndArch.h diff --git a/paradiseo-moeo/NEWS b/paradiseo-moeo/NEWS new file mode 100644 index 000000000..31fe551dc --- /dev/null +++ b/paradiseo-moeo/NEWS @@ -0,0 +1,7 @@ +* release 0.1 + +# Local Variables: +# coding: iso-8859-1 +# mode: text +# fill-column: 80 +# End: diff --git a/paradiseo-moeo/README b/paradiseo-moeo/README new file mode 100644 index 000000000..82d7d6672 --- /dev/null +++ b/paradiseo-moeo/README @@ -0,0 +1,14 @@ + PARADISEO-MOEO README FILE +======================================================================= + check latest news at http://paradiseo.gforge.inria.fr/ +======================================================================= + +Welcome to ParadisEO-MOEO, the Multi-Objective Evolving Objects library. + +The latest news about ParadisEO-MOEO can be found on the gforge repository at + +http://paradiseo.gforge.inria.fr/ + +In case of any problem, please e-mail us at + +paradiseo-help@lists.gforge.inria.fr diff --git a/paradiseo-moeo/doc/html/NEWS-source.html b/paradiseo-moeo/doc/html/NEWS-source.html new file mode 100644 index 000000000..0bbfdabef --- /dev/null +++ b/paradiseo-moeo/doc/html/NEWS-source.html @@ -0,0 +1,36 @@ + + +ParadisEO-MOEO: NEWS Source File + + + + +
+
+

NEWS

00001 * release 0.1
+00002 
+00003 # Local Variables:
+00004 # coding: iso-8859-1
+00005 # mode: text
+00006 # fill-column: 80
+00007 # End:
+

Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/README-source.html b/paradiseo-moeo/doc/html/README-source.html new file mode 100644 index 000000000..9afde62de --- /dev/null +++ b/paradiseo-moeo/doc/html/README-source.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEO: README Source File + + + + +
+
+

README

00001                 PARADISEO-MOEO README FILE
+00002 =======================================================================
+00003          check latest news at http://paradiseo.gforge.inria.fr/
+00004 =======================================================================
+00005 
+00006 Welcome to ParadisEO-MOEO, the Multi-Objective Evolving Objects library.
+00007 
+00008 The latest news about ParadisEO-MOEO can be found on the gforge repository at
+00009 
+00010 http://paradiseo.gforge.inria.fr/
+00011 
+00012 In case of any problem, please e-mail us at
+00013 
+00014 paradiseo-help@lists.gforge.inria.fr
+

Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/annotated.html b/paradiseo-moeo/doc/html/annotated.html new file mode 100644 index 000000000..c13b3ec6e --- /dev/null +++ b/paradiseo-moeo/doc/html/annotated.html @@ -0,0 +1,59 @@ + + +ParadisEO-MOEO: Class List + + + + +
+
+
+
+

ParadisEO-MOEO Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + + + + + + + + + + + + + + + + + + + + + +
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
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
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
moeoMetricBase class for performance metrics (also called quality indicators)
moeoMOLS< EOT >Abstract class for local searches applied to multi-objective optimization
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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classes.html b/paradiseo-moeo/doc/html/classes.html new file mode 100644 index 000000000..2ca75f6e5 --- /dev/null +++ b/paradiseo-moeo/doc/html/classes.html @@ -0,0 +1,50 @@ + + +ParadisEO-MOEO: Alphabetical List + + + + +
+
+
+
+

ParadisEO-MOEO Class Index

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

+ +
  A  
+
moeoDisctinctElitistReplacement   
  S  
+
moeoArchive   
  E  
+
moeoSelectOneFromPopAndArch   
moeoArchiveFitnessSavingUpdater   moeoElitistReplacement   moeoSolutionUM   
moeoArchiveUpdater   moeoEntropyMetric   moeoSolutionVsSolutionBM   
  B  
+
  H  
+
  U  
+
moeoBinaryMetricSavingUpdater   moeoHybridMOLS   moeoUM   
moeoBM   
  M  
+
  V  
+
  C  
+
moeoMetric   moeoVectorUM   
moeoCombinedMOLS   moeoMOLS   moeoVectorVsSolutionBM   
moeoContributionMetric   
  R  
+
moeoVectorVsVectorBM   
  D  
+
moeoReplacement   

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

+


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoArchive-members.html b/paradiseo-moeo/doc/html/classmoeoArchive-members.html new file mode 100644 index 000000000..6e013f8d1 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoArchive-members.html @@ -0,0 +1,42 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+
+
+

moeoArchive< EOT > Member List

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

+ + + + + +
contains(const EOFitness &_fit) constmoeoArchive< EOT > [inline]
dominates(const EOFitness &_fit) constmoeoArchive< EOT > [inline]
EOFitness typedefmoeoArchive< EOT >
update(const EOT &_eo)moeoArchive< EOT > [inline]
update(const eoPop< EOT > &_pop)moeoArchive< EOT > [inline]


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoArchive.html b/paradiseo-moeo/doc/html/classmoeoArchive.html new file mode 100644 index 000000000..0467b2643 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoArchive.html @@ -0,0 +1,205 @@ + + +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> +

+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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoArchiveFitnessSavingUpdater-members.html b/paradiseo-moeo/doc/html/classmoeoArchiveFitnessSavingUpdater-members.html new file mode 100644 index 000000000..a31a5645d --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoArchiveFitnessSavingUpdater-members.html @@ -0,0 +1,43 @@ + + +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]
countermoeoArchiveFitnessSavingUpdater< EOT > [private]
filenamemoeoArchiveFitnessSavingUpdater< EOT > [private]
idmoeoArchiveFitnessSavingUpdater< EOT > [private]
moeoArchiveFitnessSavingUpdater(moeoArchive< EOT > &_arch, const std::string &_filename="Res/Arch", int _id=-1)moeoArchiveFitnessSavingUpdater< EOT > [inline]
operator()()moeoArchiveFitnessSavingUpdater< EOT > [inline]


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoArchiveFitnessSavingUpdater.html b/paradiseo-moeo/doc/html/classmoeoArchiveFitnessSavingUpdater.html new file mode 100644 index 000000000..720a7c9e2 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoArchiveFitnessSavingUpdater.html @@ -0,0 +1,128 @@ + + +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> +

+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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoArchiveUpdater-members.html b/paradiseo-moeo/doc/html/classmoeoArchiveUpdater-members.html new file mode 100644 index 000000000..5d18a53fc --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoArchiveUpdater-members.html @@ -0,0 +1,41 @@ + + +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]
moeoArchiveUpdater(moeoArchive< EOT > &_arch, const eoPop< EOT > &_pop)moeoArchiveUpdater< EOT > [inline]
operator()()moeoArchiveUpdater< EOT > [inline]
popmoeoArchiveUpdater< EOT > [private]


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoArchiveUpdater.html b/paradiseo-moeo/doc/html/classmoeoArchiveUpdater.html new file mode 100644 index 000000000..771d24020 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoArchiveUpdater.html @@ -0,0 +1,113 @@ + + +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> +

+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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoBM.html b/paradiseo-moeo/doc/html/classmoeoBM.html new file mode 100644 index 000000000..c4bc06660 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoBM.html @@ -0,0 +1,65 @@ + + +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 >: +

+ +moeoMetric +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoBM.png b/paradiseo-moeo/doc/html/classmoeoBM.png new file mode 100644 index 0000000000000000000000000000000000000000..df485aced9431dd411258d2bca1b72fcbfb1dc96 GIT binary patch literal 2807 zcmcImX*k>28vk1wRdiEQTeZ_(QaYBZpiy)|)fT%bsqJqmY7ZK!t*OjZg-h^=T5IV< zg2onWm8p(cOD(ZB6je!?B2)4k?Gb&f5~x+y2(VX!Mq-T`p~e=)=q}49HthEnPtSnK3W_drK1k{5S5Shs+V$m5 zw6-M+c_ODq7-UMsmSjbC;HjZqP`+8&18V0PJGZU#5Rgf^ums}F7*+BhGx>u2as8fx zbIlLbRS->HsRpx@1pNf+Dr9R3`o~}(^!C?ADB5wD7*q&kdajx?R~Kh%g@B(|#|40E zJKOK9fRlp!jo5p4+53T`Na>2i(SyLrjsOuLmHE4#cQhLS&NpKKKn9Hf?u%C{07m~G zwflw-bC!Mscd|w(@GS`Y_?;U2G6yaenj;#;_vH?hD7Ym)w9*a6X>O)) zbz8Fbt%-QlD_x>>1p@`=SmD!nE{zSFqqy8H&%~>CjNjC2j|&%B*}uOp*b8)CpaFQ z^QHcBnbEv_K2u6JiCWb!3Yt0vs3Y)@&y3dvAr5fA#*d+fXZnix5slQM0NJ5w zd_%tSCZ1nG;RtC20aJOC3poGl)E@`&YF95SNBEm&6&6S~);#M*4v4yq{{bw)m&Xpq ztNlAwKUG?@g@JGQrP;YyHi`#M3V_Vpe=((guPd#$%%Xz|r~B2}0GDswguGz+d`}cc zRI=v@AG4Gs#S1@`oXy}SH=7#C8V3&VDz5lbK-t)=j&b^$94K{}Az46Hf?)*-!@{8TeJZhlB|2S6 z)(rKW({aiiZ}!GgG~sI0r9!cksV%VG!UdV(-UAO?<8-0fb|a4hMjs{VTg?`BY-l@n$v~kEuGLeua=wd+KYlg`gO)@nFW`!!BSFyNTVN8Y z3^%t~)l*`;boBeBpvj;fKX`9dwXT?!=d7+)UUs(#u`ZXCpHa)~@}cXz!)c;j6_e_Y zG(}b^fGMNFr+3Ru6vDW;qBlRtz+)1qBR{=YtBtad@mZ^{QtB()mnvmLOA*EIf8ayrhAFOhKGu` z+v;Jyr%QZKE1J8@CfeXlyE>O!*Mn{A;1LF-m{e-sKvgyTAa>T*;%TSbT6Ine=rwfQ z3;L$lQfeZ&l%;Z$vWm2wH@;f2=gQE4CgR?T`$BQ*K0UZ6{*|GrdOte%wdt!M4EwGy zWb2NxH8IQXSo(>I8I$d-d?BjP$`|(;|Gnl8ET|-U_NFl9Z~t03Hc@ zd%~;!Am;{SbOUP{7-?qKe1eXEuDr8BlQ?#^S% z3)XG-R0Ci2w7O$Kr}>D8h(Nd-6W4i-Hfzo!&!2$4D=L=6TBZbZJx^m{(kGXq+^ zB#mZNxwx!!D}h0iL+J=ed7w?gx<<=fZxWr-eYmr8s?^9IaK`;@h?ykska(A?RckC8 z+)DF$AGUQ2<^U_XzS0ozPh>0@SATU!vI*znx^!kVqjgFgAY2wIymd)L?{6vCZSuaE zwV_JMSFPN#TWNlyc8=4)j9uKbm1y!<+mI`VR6^6+EK!#cWP;N0(w^atkJIl}u%`rc8PnA2Y*t+xKfQQ!J# z_P9~jYNagG^Uo~)AH@0JHn*h5cjuY>=Zds3lRZ%k`wx!BBFUym{>I%>w8=>Nm zj>7a$3Dj?pj*0}S2h{EF36Z6HNuM>m)(oYhlH%WdmevA0Lc6PKH5c0AzZ#UYXq#cH zGVpjyt!m$tTWY}=VZyL!F*!G|N=rw{c#;;~E$dW|ri?9+shC`4Puq$|74wBj=|WC6 z5O5=gL>AjE6N|HXTD%wj^djP3{Rm!bPLliruHQi~Z}lM{=M+QSKMZ2eXgttxn}#GuY~Adw;(gR^I;#jY);cU2^77J8T)87FHD{kmdP| z>Ob6^<)&(`j+Hngl;Agch4H-S({PNQRx;=tB~DBRop9*00aWUtEXIY*+$l}>bJ!zj zRm7C$_fd|y*%AAr#M|WxV&4?dJ-=}Cm++Sx)F-y_mt(CRR*n;11h%HQTVe)FeY4M} z!#2SNuaIx=eX)KSrZaw&FuYi%iftCU#83BHM@GTLN!+!v(31FK5 literal 0 HcmV?d00001 diff --git a/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater-members.html b/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater-members.html new file mode 100644 index 000000000..6014f4350 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater-members.html @@ -0,0 +1,46 @@ + + +ParadisEO-MOEO: Member List + + + + +
+
+ +

moeoBinaryMetricSavingUpdater< EOT > Member List

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

+ + + + + + + + + +
countermoeoBinaryMetricSavingUpdater< EOT > [private]
EOFitness typedefmoeoBinaryMetricSavingUpdater< EOT >
filenamemoeoBinaryMetricSavingUpdater< EOT > [private]
firstGenmoeoBinaryMetricSavingUpdater< EOT > [private]
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]
popmoeoBinaryMetricSavingUpdater< EOT > [private]


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.html b/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.html new file mode 100644 index 000000000..f9e6f20dc --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoBinaryMetricSavingUpdater.html @@ -0,0 +1,142 @@ + + +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> +

+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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoCombinedMOLS-members.html b/paradiseo-moeo/doc/html/classmoeoCombinedMOLS-members.html new file mode 100644 index 000000000..638575ad4 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoCombinedMOLS-members.html @@ -0,0 +1,42 @@ + + +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]


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoCombinedMOLS.html b/paradiseo-moeo/doc/html/classmoeoCombinedMOLS.html new file mode 100644 index 000000000..491b92d47 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoCombinedMOLS.html @@ -0,0 +1,199 @@ + + +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 > + +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]
+
+
+ +

+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
+
+ +

+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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoCombinedMOLS.png b/paradiseo-moeo/doc/html/classmoeoCombinedMOLS.png new file mode 100644 index 0000000000000000000000000000000000000000..5ebc17cd38d2137fcd5bca96ac32713aba07f00e GIT binary patch literal 532 zcmV+v0_**WP)td@H;iYg+Yfw5fxNx%v*^QL{Iy@6|a;fTy zmQ#3@sn8x?2BR6lnfnyZU@5>e_ni;uM{pvok+X-_OyjZa>4%-yJzQQWjo>FcuZt@i zwe*=gwVau`Q;VWm-z2K;$GXl>spao1-~qo3eCnsgDZ8CJej)h%`%U4u`~6MfZ>*Mp z2Rz^b4|u=>9`JvJ(>%k3Q?4i$@Qc8K&>cwNj`JE=ViFN=DJ_TdL?lOWbi8#Kp*<6a z(aKsJmOS5zoB`f%O-OYOv*&H(XS5g^T)3+{*^O3x85~JCkj!a7wuzs~Vt}n6zyeP) z723lAA8^hcz?W?oTf-SledfM%p|9aY&*43W=;1Q4(O8(i={y~Dp7wBgp)`UII@hbq zi4G?p197lXOP{$@%Xa1uwTNCtH3+5_Zcx>tXx2B0s=Hdc&Ub2=WdRTPW#BVEEq(yj W`Ah&6jG5B_0000 + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoContributionMetric.html b/paradiseo-moeo/doc/html/classmoeoContributionMetric.html new file mode 100644 index 000000000..a7b4e4999 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoContributionMetric.html @@ -0,0 +1,255 @@ + + +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 > +moeoMetric + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoContributionMetric.png b/paradiseo-moeo/doc/html/classmoeoContributionMetric.png new file mode 100644 index 0000000000000000000000000000000000000000..b997e833382bd5186e7bede349ea5eae436c0d29 GIT binary patch literal 1038 zcmV+p1o8WcP)9X==xZ&GM zkY`;v5r>pw!8ez!cnC3*Aw{4C;}G&@2)J@64iWj7Tgr=&bQ`$lNIU~iaH`o>eu@LI z8Sx2lE}jRs;#hw!-u8C0ax~t|c7D*bmz5*&U5nv{8-5ag=~w6X%J-Yce=Ppzaaa8D z_`WHA-`Q@s;f5P-xZ#EyZn)uwpMqa{ap1n!WDNiHI0hPcJ-=Mj?=~=f0A7VvSKc?` zc(p%JoF-l^4t^hNGKU2mBNR;)BFy52iILg;@BnR|LU<&GfRn7&nTYZ&HNkd`1YU}IAq|x=ta6qZGy+t zW(^QIlFKKd1&r`MJ<~^&lmky(D)=ZA%(wNf^=$Mc2J|dFT3nsYSc!r6gow z85_@b`J8KhSwH8+2RZkX*?w4Ah`El%--|PkEruI@GJfe-=S%--_*~p_wfo`so$ZDj zZn)uw8*aGah8u49DL7nM2ER)W{HQp?4WI4-We;5OZhWAVXI;?)^O1No0L&xHxUVPl zN_2|L)zDYfJ?QAs3omeoRW6^6-nXbB)m z{RK{c{np@lFme|_#bLhNC;F?F4_k0Q4C9uM@J%gOZRj^?TwRBcSL&EIvwi)T*V#^= zRGRfPy9S!=F1J-?yPCL*mlZjYe$F?{_7jWYh8unoe&tu^|CdVv5KX#_r~m)}07*qo IM6N<$f~JoH%>V!Z literal 0 HcmV?d00001 diff --git a/paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement-members.html b/paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement-members.html new file mode 100644 index 000000000..1ba019c8d --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement-members.html @@ -0,0 +1,41 @@ + + +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]
perf2worthmoeoDisctinctElitistReplacement< EOT, WorthT > [private]


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement.html b/paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement.html new file mode 100644 index 000000000..bfc67135b --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement.html @@ -0,0 +1,196 @@ + + +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 > + +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]
+
+
+ +

+replacement - result in _parents +

+

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

+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. +

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

+

+


The documentation for this class was generated from the following file: +
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement.png b/paradiseo-moeo/doc/html/classmoeoDisctinctElitistReplacement.png new file mode 100644 index 0000000000000000000000000000000000000000..ea7436ecb2a67739cadfc270da7781048a89a399 GIT binary patch literal 848 zcmeAS@N?(olHy`uVBq!ia0y~yU{nOM16Y`WVxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fr06nr;B4q#hka(1B)Ij@U)#hZKr(yfSqId zcc-dXfBQFhFg5DNOuEv0NAkaCPfp7hMTMC@|MiyjzkFY%d)Flyh-^K!Fs!J2V6^)A z9KFw6DI5MTN`BTV`#|AHu*zYu&XXrf#wvgq(sYn59|+4TI{PK%di z?y=x}yI3|bC@txD%wpvwih)iiC$7@8v@ESE-hH8I-CwD%oqZFInMS={HFcNB?uxa! zy*z=-EY`Zkzh8WI?YqTiBdryxa^+>`ZFQCJo_^reflswd0(=gp=eCwzou^`T;rc>@MQWY(A5QkoIV^#ZRf*qD~vnYF}6#KPum z^K6B>8hM48S%vH_uNG$~ymv5kV0KYjKCMP8FehEh#YAn1#RbK#Dbu?q%=Q#h_u$UD z+NWWvl>c=Ko70pqrlWF!auef(;yP}a3wt)%3jUrt@2nkHs{G3ZMVZSE`Re@6@Sb8a zHT=rg^FMS2`+Ig}RV%F({9gD_G5x$HV~Ym6&;q~SUoJgcR$sg#py}SeVqMfq?`_M2 z4sUa7(+IW+P>$Vt&g>gTe~DWM4fV5f9o literal 0 HcmV?d00001 diff --git a/paradiseo-moeo/doc/html/classmoeoElitistReplacement-members.html b/paradiseo-moeo/doc/html/classmoeoElitistReplacement-members.html new file mode 100644 index 000000000..40e8bd69a --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoElitistReplacement-members.html @@ -0,0 +1,40 @@ + + +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]
perf2worthmoeoElitistReplacement< EOT, WorthT > [private]


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoElitistReplacement.html b/paradiseo-moeo/doc/html/classmoeoElitistReplacement.html new file mode 100644 index 000000000..d9bfae6d0 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoElitistReplacement.html @@ -0,0 +1,147 @@ + + +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 > + +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]
+
+
+ +

+replacement - result in _parents +

+

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

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

+References moeoElitistReplacement< EOT, WorthT >::perf2worth. +

+

+


The documentation for this class was generated from the following file: +
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoElitistReplacement.png b/paradiseo-moeo/doc/html/classmoeoElitistReplacement.png new file mode 100644 index 0000000000000000000000000000000000000000..3d0dd855cd4a9c10dcec3e9a878f88f8639ea0fd GIT binary patch literal 674 zcmV;T0$u%yP)NO zAPk0K)3wA6@CiEYg|f>1k5KdkJJ?Pp$+)diQiJg?eF(|ZgztmwGki_Q*dU*toDqGx zB1x`H<&q|(3G1`_q|5?b`fiau@-A8C*@a7TjnpUSOzvfKoPm(bG|{wKR#na^V)MLzCV z?=yCJ%KJ}}Kd$E^U$2+bkaIl{OUKfM0-#3+(*O&aSRJzbMfZqRy-Ajx(f~DjORkZW963Dgmj@vO z0t5_njl3F3i!Ow6C_Iv;lEL7WOg^#1!44Ua*d>$>O!lv?%AE@_f{g4Cp+{Da@&OhK znYBt5fXDSZN2{|xw2M7AKd?H_$;ElY{~4|uFn_IuCXxZO%7jrQMP9BXyqL);iC6yH8%$x#?}KGxv5}_BL2=M`>H$lyK~Q zu5b>I908is_D6SF+?UL3FYepOyYlzt{5tZhZII7GKI~WT51J&nGRFZ$R{#J207*qo IM6N<$f*?afUH||9 literal 0 HcmV?d00001 diff --git a/paradiseo-moeo/doc/html/classmoeoEntropyMetric-members.html b/paradiseo-moeo/doc/html/classmoeoEntropyMetric-members.html new file mode 100644 index 000000000..528b5ceae --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoEntropyMetric-members.html @@ -0,0 +1,47 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoEntropyMetric.html b/paradiseo-moeo/doc/html/classmoeoEntropyMetric.html new file mode 100644 index 000000000..f12a79ffa --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoEntropyMetric.html @@ -0,0 +1,142 @@ + + +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 > +moeoMetric + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoEntropyMetric.png b/paradiseo-moeo/doc/html/classmoeoEntropyMetric.png new file mode 100644 index 0000000000000000000000000000000000000000..edf5b923a048f377c6c8c85cbb3a96c2eb9b5b48 GIT binary patch literal 1030 zcmV+h1o``kP)Jlm_4I-CzII&d-$Zsxo+nkTv-xJI2Pk&nZ4IKDu zCF*@xI1s14PZfW;yo$$|G8y|s{3JNVyc%O!*cGQ#_>@~JPqDXklA1m73{2o$^IBPp z6N#D1o#6p*xOL2+Lk|aF2^>WlwUGV}oZ)8?q-15G`hxoRF+y`c9 z?M5wkW3HVY=kYDZ+|73WoF~`2!X(3qqDJW(%=U$)k(LL0+u+`NA<_Jx-|fJGzm1>z z)%nza8a@|Cu68~Ay0aZPaNxj!0|yQqIB?*H;HRD(xb8U_;6DU+xrv=mwyGgTY0?dM zwOZn|qg>fiv$ZC8+ZHe9^=U{IlGU}z-!wi-&p4iu)%;lM_JF6} zXAP7jlFJ9-CmP{xdSwCacPxe}}S7|ILcpKvk_>kvB z%j^uVyYiUx580TH@HQgS)QcW)z3{9ghIR}KlQdA`@RU3r?aDEF-tA-D<{>?_ysx-U z4v%vWL_PE)t}UO#EpwdecKLB*uJb(Uw09k-xV+59yqWEF%;}pkceB0MB%H59qoJ+Z z8=A4nY}e1Z<(I?fy!xcao|x^sm6@1pU;Mo|bKe3S_`&$8U!70=r{QyP%KTenFMtSSLG@QK}sc)xb%p!Z?H?H%%+^kr}2`aHt(D*4TR z@2)(JHY~(L*%0!Pxed~^(B-ABJmkf^xf49EQy20J0y#XGzXtCp@bPc@RI17%i7K^0 z-elQJYNRJdc$n(kN&MC|cpf}m^tBGxBgrW6-b2f$^jVy!wtR&1Lw?lv6|CJ)x_v^Q zZ~1Kk4~BQL$+vujuWq>;bBA||*Uh%Ej=7ud>&D#8cI{h|&p?^&e007MPd7i??Q_0z zwtru=Y44Wx`1g(48Q + +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]
eoHybridMOLS(eoContinue< EOT > &_term, eoSelect< EOT > &_select, moeoMOLS< EOT > &_mols, moeoArchive< EOT > &_arch)moeoHybridMOLS< EOT > [inline]
molsmoeoHybridMOLS< EOT > [private]
operator()()moeoHybridMOLS< EOT > [inline]
selectmoeoHybridMOLS< EOT > [private]
termmoeoHybridMOLS< EOT > [private]


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoHybridMOLS.html b/paradiseo-moeo/doc/html/classmoeoHybridMOLS.html new file mode 100644 index 000000000..360a836bc --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoHybridMOLS.html @@ -0,0 +1,135 @@ + + +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> +

+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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoMOLS.html b/paradiseo-moeo/doc/html/classmoeoMOLS.html new file mode 100644 index 000000000..723f95462 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoMOLS.html @@ -0,0 +1,61 @@ + + +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 >: +

+ +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoMOLS.png b/paradiseo-moeo/doc/html/classmoeoMOLS.png new file mode 100644 index 0000000000000000000000000000000000000000..d5c9ae6819816b02489f064e74284d54d6b18eb1 GIT binary patch literal 539 zcmV+$0_6RPP)5KDQq)syfTr6xD1of%xYsRh}M3jcX{f^bp{#l>=5 zfd`!m_VC!5Ko2h5yKn*P0W$Np^A7zH94Kd`)WSnTe=K|Y!_LDVt{)UV_+aN@c5$PY zI`c*?BQtN*QqZDrsH$sP)%lQGe$O24@YBE#{k0gf%Q08{1NiOxP2rc@?M>lttQLnm z+~E#)xWgUp@PCAVj@Z{w_BDJ=hnd4q0%y>?&MRIbB{yHQT-UUsaAw)hP3Y+*EMB%r-pOKQaOJMDqt3kTT + +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: +

+ +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoMetric.png b/paradiseo-moeo/doc/html/classmoeoMetric.png new file mode 100644 index 0000000000000000000000000000000000000000..372641f943169711de073445530c4e7bf8391c80 GIT binary patch literal 5466 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 CkFZ|= literal 0 HcmV?d00001 diff --git a/paradiseo-moeo/doc/html/classmoeoReplacement.html b/paradiseo-moeo/doc/html/classmoeoReplacement.html new file mode 100644 index 000000000..aade7709c --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoReplacement.html @@ -0,0 +1,60 @@ + + +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 >: +

+ +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoReplacement.png b/paradiseo-moeo/doc/html/classmoeoReplacement.png new file mode 100644 index 0000000000000000000000000000000000000000..713145545fd9ea297d0f80000e111b0bb82a4422 GIT binary patch literal 1222 zcmeAS@N?(olHy`uVBq!ia0y~yVDbU716Y`Wq~t+!OCTi?;1lBd|Nnm=^Z)+?^XDf_ z0J6aNz<~qRhyFhSav4j4{DK)Ap4~`eU|@;yba4!+nDch#+jX-Ic-p$v=H9m`pD;&y zhFRwI;w7GY|9eNgxuMq5ze`p-^ZE8{&V)(V`PCAwrk_rfT3{?Y{nkXOb7mJ-nA@+p zm-F>m`_Sj~FLUV)OrM6iK-7k-ItZ&Vf`P^A^n|%Rq(y6nF2hvJsEOy(`5VY|9g@i-dY!bx} zq7$1K1s}Y9?wk2+?yn6ljPK&u+)R!i34e0lqcQbJ;_HLex<0!6t2FGC?45;OXFi@{ za(qhZ#Pciq--|83eq_o|kE&ZK0t~8MWyc#o$Aw+CTBhr_zSHwmTA1UVX)C;AeYt&l zp6y+oS)VuStzYrwoTbsnzql1&{^n(VDzQ(g>8Vp?{w$A+zZnAflfPcL`}}#%-PG6j zWWL=~=9hZp`D^+NInST=N4|92W4tVU1?K-(XT$RABKF>Vb(Vj%dGy|&i9h8R%v;sJ znRic{%w*5&>o?2pX_1-iDu4a;O|dw~zLRS65BV1Ps9CB_21@sxR5_k9DcR_x;mjv9 ze5$g2uIrVWO>NzG&TPZ7e_Wqm=P+mEP>U*jsc=S}+>-n3Uq8$G)>^OF91moD{-peM zY17Lb@m@RG$*wS)GI@hpJTyP}b$CWIRPz5%3^-L?m9@8cr^trGe|oPh_@Qt;AV1)1 z>cN)3BHC|O%Wj;?)AsntpQ((>waa|2CN2*3DZLk}J*_zKa`)*4+mvl%t$2$P`d0d# zZ_-?{YJ0%Xy{#*^n0B%*TN}a=ykySDzRPN2pSQ>>ns0SgS9oCgr&mPQF!cf-6JL9D z&&*U&X`c$;eOqt*)%Cfwvd1xU;o^uIRyo6KnFV2j$!b1<9=m19ohJjX&^1H+)hY8PJT+Q%kQG>wmJAqGb zCI|Yyp3!kxPfgaJzpyIHR!pGC{VCG}t+)_i`kNLU?7Q;Nl7cV;U;eov0^5()ty-Pg z*m=<=$Tzc3^QE)8s7mhEsPM~7!i#sVpS7jva7vC<^6c4ZyD#4{iGF#_@a-Ajw-Qwu z`M?DG>dur`Q}dWFpSu&HEBJKp$~VqaLOE0N7ERULrX4#WRO8dG=7})}|J*Z~xacU? ziuM58lHD^_P3?QG7WFb{_a)cZ4c=j`35`nceZ9Ia9GR5=_rlu5U)s5QSLI|rmi7Mn zBl^eMdD3^2|Gb=$*JjUq+4kZ2^~<8Gq?T1b`Tx}vl0G46&W`^#^OZoWFZ==RFZr|1 XG8Y)!lfMltbQnBc{an^LB{Ts5_2WO5 literal 0 HcmV?d00001 diff --git a/paradiseo-moeo/doc/html/classmoeoSelectOneFromPopAndArch-members.html b/paradiseo-moeo/doc/html/classmoeoSelectOneFromPopAndArch-members.html new file mode 100644 index 000000000..031b98e78 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoSelectOneFromPopAndArch-members.html @@ -0,0 +1,46 @@ + + +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]
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]
popSelectOnemoeoSelectOneFromPopAndArch< EOT > [private]
randomSelectmoeoSelectOneFromPopAndArch< EOT > [private]
ratioFromPopmoeoSelectOneFromPopAndArch< EOT > [private]
setup(const eoPop< EOT > &_pop)moeoSelectOneFromPopAndArch< EOT > [inline, virtual]


Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoSelectOneFromPopAndArch.html b/paradiseo-moeo/doc/html/classmoeoSelectOneFromPopAndArch.html new file mode 100644 index 000000000..3abda7a50 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoSelectOneFromPopAndArch.html @@ -0,0 +1,194 @@ + + +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> +

+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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoSolutionUM.html b/paradiseo-moeo/doc/html/classmoeoSolutionUM.html new file mode 100644 index 000000000..343a2c47c --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoSolutionUM.html @@ -0,0 +1,60 @@ + + +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 > +moeoMetric + + + +
+

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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoSolutionUM.png b/paradiseo-moeo/doc/html/classmoeoSolutionUM.png new file mode 100644 index 0000000000000000000000000000000000000000..0a82769698a4981834d8c0f5124eeb362f930625 GIT binary patch literal 813 zcmV+|1JeA7P)U_wSyhR7wBsqlA_#$n(@YhdZwBi{of z79QmT@r~fzHZZ01MsVlh);JVA%Ifk#Nv%V(`jz5f2RrzM;L~1jpOBAdlz%1o_V;4o zkK65H;0tE8gB|Q(2Rqoo4tB7E9qeG0)BZ8P-X4g9e*l!JC?;1;k=0%{W znp{fQ3&y5C2lEkA-I||+>s;c(K7!^&3jUv&0vf) zt~ZFQiT|XaR!2xn6H_qHvgk!cnyWQ3>no0F8El0-8?hJ*7?HXPF~&z=EhPz< zOInyF;7E%r){<0pwba9s`f5sES#j#XvlXXhS5tMd6SsjroxHzg+n~D?cIWAz%hc2s2#5QF05wccWJ{-JO_WO~))ed&>li<@{ zZ%=!n|BYa;JN@_I3ud*09qeESJJ`VvcCdpT>|hlnqtd`OCxj;fBu1~;1iV=z>voeZ3FdNG%)p|d^IQgVRB+AJP`%i%SS>eKLzu02(92!0u6VPn)w1Q` z!ioo&fN=`0q1c?&BmI>ax2!JDpkx^gn$`TlP{B3E(pTBWvgf#fgIHS3>gQ$jE3;8v r1g=I_el3mz?-vI<_(1SkuebjI#aKEH^Euo-00000NkvXXu0mjf)w6*g literal 0 HcmV?d00001 diff --git a/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBM.html b/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBM.html new file mode 100644 index 000000000..f77ce6933 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBM.html @@ -0,0 +1,60 @@ + + +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 > +moeoMetric + + + +
+

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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBM.png b/paradiseo-moeo/doc/html/classmoeoSolutionVsSolutionBM.png new file mode 100644 index 0000000000000000000000000000000000000000..6ba76eee3a8a8131f6811ce23d38200e63fc5f4a GIT binary patch literal 894 zcmeAS@N?(olHy`uVBq!ia0y~yVAKY(J6M>3q;KhkVjv|E;1lBd|Nnm=^Z)+?^XDf_ z0J6aNz<~qRhyFhSav4j4{DK)Ap4~`eU|<&Uba4!+nDcg)_oT-PJZ*`WvybpTV2L#r zpA~xlKSy)RghHmPVM*I(YW}U9q2MroV}X|AyYF4UO7?$hGScbg@m?&vQE30RL$9rb zwV&~XRMf92-w<@laJdsx$%=@j42Gh?O}jTJDMaXSlz51W*t=`pX_@+%r#tK31Prp;Y%5jYj)RH^L~AK?(*@@ ztO)t|_;Tf*EgIKWDdtB=NltTXTRJf@GX*QNMC;n!{~LI>zL`Iz ztu&@>=|$;?9pZbuD{s^uh>f@x$P$oWv9CF_#`_)f#3Q-+#!Gd6uMeCrx$t1snQDmy zP6sd17wQ}2KFJk%8!b4)b4y69VTSp!uBj&BL9Jgmr1ouejkx;QSgg4qCv!*Kp{z>& zIVlJJZHU?+klMcDaaHcNPkh~fkLq=0+>>Ix9%mOFoAYsL_xFB#&Ez^Eq*c0Ax zWy1%jV>Lg$Y*xq~?w+YEp72#=ecFt__4hl&Pi-&(hJ_CQBR$=&t!al2E{f<@lhNtg znsq`Nua|)VF}I6VTWd$bGs}6ZhcBJjU?P>oxPkZnpKDvL^{mbP`k_G1{`aRvsiE3Y z&MT4=5?}wfotAI+bnWq3QG2!b)l4wVn)~^;<95TQEwd9U`;{MXUTB>4=;ZGtM*mQ` zSdqh5tPXtYeZ$FJdyT2(Kwa|}(KQS=xMTxa`TAY!oVlm2uFY}%ulPV%TISfH;)xSi z1mDqC!g@uu=Ow+{QR5sCh?MB>nmTghKHy4o%D+xa6kM}FRh73}kmPEMZLxo~P4 z_hQC0@r&La@6x*e=80cyUw*TwW=4|l+NPtMOMfVBijS0SzFG8-k-JLgyl(ro1B@4r zUTd6ssO;dy8*8zW>v2Pdqs7h=~1l{3iZmmVou@#$_$Q%);R5>gTe~DWM4f{c)uq literal 0 HcmV?d00001 diff --git a/paradiseo-moeo/doc/html/classmoeoUM.html b/paradiseo-moeo/doc/html/classmoeoUM.html new file mode 100644 index 000000000..78c0300e6 --- /dev/null +++ b/paradiseo-moeo/doc/html/classmoeoUM.html @@ -0,0 +1,59 @@ + + +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 >: +

+ +moeoMetric + + + +
+

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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoUM.png b/paradiseo-moeo/doc/html/classmoeoUM.png new file mode 100644 index 0000000000000000000000000000000000000000..df4319015b6645eb01f75101cc8e1b79e78e9bf0 GIT binary patch literal 392 zcmV;30eAk1P)#6s;_p03M^eEAf55Xj#sUEgUM5Y>oYD>m9qdYCxhJB|EcbY mwQVnmYvDaU^3MZ%e~%Zs=F9muyiK710000 + +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 > +moeoMetric + + + +
+

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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoVectorUM.png b/paradiseo-moeo/doc/html/classmoeoVectorUM.png new file mode 100644 index 0000000000000000000000000000000000000000..25c458116c66534279ebd1e335fb279d76776f55 GIT binary patch literal 994 zcmeAS@N?(olHy`uVBq!ia0y~yU{nUOJ6M>3WZa?&?LbN*z$e7@|Ns9$=Kuc(=Fd-< z0AzvjfddDs5B+}vEaktG3V_p?@5mpc-qb`yWSyvfOA)x zp2_Mv|2dMsJV><8JbKo|XX?KrsXe(L6;+lCrT*SK%WivorlI5{x3(o04VIjU&b@Qh zV#x%dCGQ`l+;#6VY!xZzIv}g~mY1W@UNn&{sDVfH+rvU}P9u5t93Ka-hmu0y?p$L~ zVNl}y&9;H%(mg#7#ignfc70vd>*?Wp>>{_p4)xSK_LCJeQ#_=AmUt_j{nuA=>A9Jg z{9zs5%S|5r_M18VqWE7v{y3wz;7XH+cH4HC+O{PVu`(|@EV;SAVD6SD{LO7&w(@u` z)?PAWg;-@|Tz_e~22)wP;07P@4IlS(Xol{t`8wTWVO%|TXO&X?f0mUS+S2}Yl<54F zpYX%y#O{{M2kV(zCQO>5_1SPHm|0z12V-PFO)XBM+ zxL5dNg_f;Q{28{4AdQ2{Dl)wj`=%y4F3R4q#y7n}M^odva8Smx{gnwEs;h2pfANTK zmsiccM$J>5A0%eKo0HT+Z3(%j}kP+Fao9Z@OZ}e0Q4)%~B6_ z{f`2gtzw!}E=udiDs*lP*c0N^AuS%4CDwOl`$m<80m+@m-z8~YjnI-5uVyx#*0ke| z)wHZ*suMQZdm8nL_3<2=Q#jG*W96wGMg2C@1vtIZzDcsbc@uo>?A4DmP32#Hku;Ql zsp5R;!~~Nlq0DdPOD4amXR=@Ywd)hNl5WJ5c!A8LAIwyGc|4WDYK*Wlr8-zvpUkhj z^X3@P7@!gnk2>w^J1#xl(EmHuPk4L&4E-yP=?dl<&1ZM}F8=ND+v1%0-JSk=1x4M{ zneX5GXE*8m<%5-%^R(L^6wm)I?%}t>&!bLwe$)4yOVg`MJsuc^m^E8hK1|#vm+`Qs zF5Sp9XdZiH*_N*9G1KFUZkq~yeds;GAgxH}t4FTR!`dGKdTQP}F@}4c4mEyivF$5# zDf-R!Xv*U0b7s8XJ7r>7aOp$68FAH_+8$R++KheIC3Q}G z5!b2edd!r&Tz%TCp2LMNE(9KXXnf*&_32{I6 + +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 > +moeoMetric + + + +
+

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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoVectorVsSolutionBM.png b/paradiseo-moeo/doc/html/classmoeoVectorVsSolutionBM.png new file mode 100644 index 0000000000000000000000000000000000000000..9b7fe2ae91c76fc98a0983c92d21cf5b638fd2e7 GIT binary patch literal 1022 zcmeAS@N?(olHy`uVBq!ia0y~yU{nFJJ6M>3bel|i?O|wt>)6Q{ z_oiI$sbA*SG>atPQY`d7pzqYQBzG zy!$6e@=m<#1n>N}OY?M|UKZW2cGrB`F3IE9mtL7GpJ^j1UoRo#kuA&Putb?m5W1aF5{!!;Ht9?^R3` z=~~A8A?(9%>xHYI{8XL7^gc`U*2ljG`#t8(v#m9%L|s$PE>*AS7L*6 zkjAQXAzP;WiVt??S6+z)G2|Wbj(*x*{_^B@rhiWq_s_29xZ`l+=Dc4McdvcJl7Pd)LSYhHV9aedt8sZ;cm>yF3Yh)Ih-y;%MAwFZOhBj=BuMO!yb$m0K@ zEVN&rMSs!aIIiP+UH0xNzTL@u)qC9}r?oMjf1d51RHWZKe}~cDQ$82=PVt|kt$Zw8 zNc^kHdJiZ4+P + +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 > +moeoMetric + + + +
+

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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBM.png b/paradiseo-moeo/doc/html/classmoeoVectorVsVectorBM.png new file mode 100644 index 0000000000000000000000000000000000000000..bb555bf0f6a2cb3c996db6c0d9ab219ae2d4e00c GIT binary patch literal 997 zcmeAS@N?(olHy`uVBq!ia0y~yV3Y;2J6M>3q{a*-9v~$V;1lBd|Nnm=^Z)+?^XDf_ z0J6aNz<~qRhyFhSav4j4{DK)Ap4~`eU|_EHba4!+nDcg)Z_#4~0k@-R*ADP55%xJ7 zvm$)wf5EnQY&^NHfifrMO^&Qt2oot|>Gl|85W zYn=jmr_NVAPB^x6eO+C~R>$o?*9m?emwPSzE*m1fmW&WH2%>WaXiN6JFZ# zk3Zym#sBrQ?c9ClC&zu|ob);C((T;F$%U58$28BB|8Vh}J8h2j@!0L|LVCy6rf^)( zPkZA3dq&OgdFQYF$SMDQqo(>~;puQ;lip~h*Efz_d;Vp~T>1HS_1dr9`FOuRnJm03 z_3s?fU)%goZl5kw&Ud8lYP;;NjaK?!4*kfP+s_ttd#ccOceZ_3?wQ%W{dF;tOTFe@ zr2X6Pky+>Vwp=~2@y8O&=E8^ zb75a~LUHZqtux|wp34+%FMO)?^Wmevef`>A{&q4x{!QO47p%`+-On#{QCG^se#r^_ zbt^Bli|o+zc%U+s@0!)y!}5zC|Tl;?ftJ=l)>brtMSA3WM`f<~bvhUY(Z`{6d{m$#;_jA*udj9|B jJ_%0HkKKP)KbOxB{ixIMyEYw|CmB3l{an^LB{Ts5vR2_R literal 0 HcmV?d00001 diff --git a/paradiseo-moeo/doc/html/doxygen.css b/paradiseo-moeo/doc/html/doxygen.css new file mode 100644 index 000000000..c7db1a8a0 --- /dev/null +++ b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/doxygen.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/files.html b/paradiseo-moeo/doc/html/files.html new file mode 100644 index 000000000..7aad6ae69 --- /dev/null +++ b/paradiseo-moeo/doc/html/files.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEO: File Index + + + + +
+
+

ParadisEO-MOEO File List

Here is a list of all documented files with brief descriptions: + + + + + + + + + + + + + + + + +
index.h [code]
moeo.h [code]
moeoArchive.h [code]
moeoArchiveFitnessSavingUpdater.h [code]
moeoArchiveUpdater.h [code]
moeoBinaryMetricSavingUpdater.h [code]
moeoCombinedMOLS.h [code]
moeoContributionMetric.h [code]
moeoEntropyMetric.h [code]
moeoHybridMOLS.h [code]
moeoMetric.h [code]
moeoMOLS.h [code]
moeoReplacement.h [code]
moeoSelectOneFromPopAndArch.h [code]
NEWS [code]
README [code]
+
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/ftv2blank.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/ftv2doc.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/ftv2folderclosed.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/ftv2folderopen.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/ftv2lastnode.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/ftv2mlastnode.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/ftv2mnode.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/ftv2plastnode.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/ftv2pnode.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/ftv2vertline.png b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/functions.html b/paradiseo-moeo/doc/html/functions.html new file mode 100644 index 000000000..41a47d1c6 --- /dev/null +++ b/paradiseo-moeo/doc/html/functions.html @@ -0,0 +1,209 @@ + + +ParadisEO-MOEO: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- a -

+

- c -

+

- d -

+

- e -

+

- f -

+

- h -

+

- i -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- t -

+

- u -

+

- v -

+
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/functions_func.html b/paradiseo-moeo/doc/html/functions_func.html new file mode 100644 index 000000000..d3b90ccc5 --- /dev/null +++ b/paradiseo-moeo/doc/html/functions_func.html @@ -0,0 +1,145 @@ + + +ParadisEO-MOEO: Class Members - Functions + + + + +
+
+ + +
+ +
+ +

+  +

+

- a -

+

- c -

+

- d -

+

- e -

+

- h -

+

- m -

+

- n -

+

- o -

+

- p -

+

- r -

+

- s -

+

- u -

+
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/functions_type.html b/paradiseo-moeo/doc/html/functions_type.html new file mode 100644 index 000000000..fe541c63d --- /dev/null +++ b/paradiseo-moeo/doc/html/functions_type.html @@ -0,0 +1,53 @@ + + +ParadisEO-MOEO: Class Members - Typedefs + + + + +
+
+ + +  +

+

+
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/functions_vars.html b/paradiseo-moeo/doc/html/functions_vars.html new file mode 100644 index 000000000..bc5678480 --- /dev/null +++ b/paradiseo-moeo/doc/html/functions_vars.html @@ -0,0 +1,95 @@ + + +ParadisEO-MOEO: Class Members - Variables + + + + +
+
+ + +  +

+

+
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/hierarchy.html b/paradiseo-moeo/doc/html/hierarchy.html new file mode 100644 index 000000000..4b8d74b59 --- /dev/null +++ b/paradiseo-moeo/doc/html/hierarchy.html @@ -0,0 +1,80 @@ + + +ParadisEO-MOEO: Hierarchical Index + + + + +
+
+ +

ParadisEO-MOEO Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: +
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/index.html b/paradiseo-moeo/doc/html/index.html new file mode 100644 index 000000000..7e73d848d --- /dev/null +++ b/paradiseo-moeo/doc/html/index.html @@ -0,0 +1,8 @@ + + +ParadisEO-MOEO + + + + + diff --git a/paradiseo-moeo/doc/html/index_8h-source.html b/paradiseo-moeo/doc/html/index_8h-source.html new file mode 100644 index 000000000..0fdfc9548 --- /dev/null +++ b/paradiseo-moeo/doc/html/index_8h-source.html @@ -0,0 +1,36 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/installdox b/paradiseo-moeo/doc/html/installdox new file mode 100755 index 000000000..9b89fe025 --- /dev/null +++ b/paradiseo-moeo/doc/html/installdox @@ -0,0 +1,117 @@ +#!/usr/bin/perl + +%subst = ( ); +$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/paradiseo-moeo/doc/html/main.html b/paradiseo-moeo/doc/html/main.html new file mode 100644 index 000000000..cd89ecf29 --- /dev/null +++ b/paradiseo-moeo/doc/html/main.html @@ -0,0 +1,39 @@ + + +ParadisEO-MOEO: Welcome to ParadisEO-MOEO + + + + +
+
+

Welcome to ParadisEO-MOEO

+

+

0.1

+Introduction

+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.

+Installation

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

+Overall Design

+For an introduction to the design of ParadisEO-MOEO, you can look at the ParadisEO website.
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoArchiveFitnessSavingUpdater_8h-source.html b/paradiseo-moeo/doc/html/moeoArchiveFitnessSavingUpdater_8h-source.html new file mode 100644 index 000000000..89e5ec1cf --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoArchiveFitnessSavingUpdater_8h-source.html @@ -0,0 +1,86 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoArchiveUpdater_8h-source.html b/paradiseo-moeo/doc/html/moeoArchiveUpdater_8h-source.html new file mode 100644 index 000000000..1615e61d2 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoArchiveUpdater_8h-source.html @@ -0,0 +1,72 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoArchive_8h-source.html b/paradiseo-moeo/doc/html/moeoArchive_8h-source.html new file mode 100644 index 000000000..ccaf3abda --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoArchive_8h-source.html @@ -0,0 +1,113 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoBinaryMetricSavingUpdater_8h-source.html b/paradiseo-moeo/doc/html/moeoBinaryMetricSavingUpdater_8h-source.html new file mode 100644 index 000000000..8e75e3950 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoBinaryMetricSavingUpdater_8h-source.html @@ -0,0 +1,101 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoCombinedMOLS_8h-source.html b/paradiseo-moeo/doc/html/moeoCombinedMOLS_8h-source.html new file mode 100644 index 000000000..ea9751429 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoCombinedMOLS_8h-source.html @@ -0,0 +1,79 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoContributionMetric_8h-source.html b/paradiseo-moeo/doc/html/moeoContributionMetric_8h-source.html new file mode 100644 index 000000000..fda839c42 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoContributionMetric_8h-source.html @@ -0,0 +1,117 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoEntropyMetric_8h-source.html b/paradiseo-moeo/doc/html/moeoEntropyMetric_8h-source.html new file mode 100644 index 000000000..888237739 --- /dev/null +++ b/paradiseo-moeo/doc/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 = howManyInNicheOf (union_set1_star, union_set1_star[i],
+00066                                          star.size ());
+00067         unsigned n_i =
+00068           howManyInNicheOf (set1, union_set1_star[i], star.size ());
+00069         if (n_i > 0)
+00070           {
+00071             omega += 1.0 / N_i;
+00072             entropy +=
+00073               (float) n_i / (N_i * C) * log (((float) n_i / C) / log (2.0));
+00074           }
+00075       }
+00076     entropy /= -log (omega);
+00077     entropy *= log (2.0);
+00078     return entropy;
+00079   }
+00080 
+00081 
+00082 private:
+00083 
+00084   std::vector < double >vect_min_val;
+00085   std::vector < double >vect_max_val;
+00086 
+00087   void removeDominated (std::vector < EOFitness > &_f)
+00088   {
+00089     for (unsigned i = 0; i < _f.size (); i++)
+00090       {
+00091         bool dom = false;
+00092         for (unsigned j = 0; j < _f.size (); j++)
+00093           if (i != j && _f[j].dominates (_f[i]))
+00094             {
+00095               dom = true;
+00096               break;
+00097             }
+00098         if (dom)
+00099           {
+00100             _f[i] = _f.back ();
+00101             _f.pop_back ();
+00102             i--;
+00103           }
+00104       }
+00105   }
+00106 
+00107   void prenormalize (const std::vector < EOFitness > &_f)
+00108   {
+00109     vect_min_val.clear ();
+00110     vect_max_val.clear ();
+00111 
+00112     for (unsigned char i = 0; i < EOFitness::fitness_traits::nObjectives ();
+00113          i++)
+00114       {
+00115         float min_val = _f.front ()[i], max_val = min_val;
+00116         for (unsigned j = 1; j < _f.size (); j++)
+00117           {
+00118             if (_f[j][i] < min_val)
+00119               min_val = _f[j][i];
+00120             if (_f[j][i] > max_val)
+00121               max_val = _f[j][i];
+00122           }
+00123         vect_min_val.push_back (min_val);
+00124         vect_max_val.push_back (max_val);
+00125       }
+00126   }
+00127 
+00128   void normalize (std::vector < EOFitness > &_f)
+00129   {
+00130     for (unsigned i = 0; i < EOFitness::fitness_traits::nObjectives (); i++)
+00131       for (unsigned j = 0; j < _f.size (); j++)
+00132         _f[j][i] =
+00133           (_f[j][i] - vect_min_val[i]) / (vect_max_val[i] - vect_min_val[i]);
+00134   }
+00135 
+00136   void computeUnion (const std::vector < EOFitness > &_f1,
+00137                      const std::vector < EOFitness > &_f2,
+00138                      std::vector < EOFitness > &_f)
+00139   {
+00140     _f = _f1;
+00141     for (unsigned i = 0; i < _f2.size (); i++)
+00142       {
+00143         bool b = false;
+00144         for (unsigned j = 0; j < _f1.size (); j++)
+00145           if (_f1[j] == _f2[i])
+00146             {
+00147               b = true;
+00148               break;
+00149             }
+00150         if (!b)
+00151           _f.push_back (_f2[i]);
+00152       }
+00153   }
+00154 
+00155   unsigned howManyInNicheOf (const std::vector < EOFitness > &_f,
+00156                              const EOFitness & _s, unsigned _size)
+00157   {
+00158     unsigned n = 0;
+00159     for (unsigned i = 0; i < _f.size (); i++)
+00160       {
+00161         if (euclidianDistance (_f[i], _s) < (_s.size () / (double) _size))
+00162           n++;
+00163       }
+00164     return n;
+00165   }
+00166 
+00167   double euclidianDistance (const EOFitness & _set1, const EOFitness & _to,
+00168                             unsigned _deg = 2)
+00169   {
+00170     double dist = 0;
+00171     for (unsigned i = 0; i < _set1.size (); i++)
+00172       dist += pow (fabs (_set1[i] - _to[i]), (int) _deg);
+00173     return pow (dist, 1.0 / _deg);
+00174   }
+00175 
+00176 };
+00177 
+00178 #endif /*MOEOENTROPYMETRIC_H_ */
+

Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoHybridMOLS_8h-source.html b/paradiseo-moeo/doc/html/moeoHybridMOLS_8h-source.html new file mode 100644 index 000000000..36f6141d9 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoHybridMOLS_8h-source.html @@ -0,0 +1,85 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoMOLS_8h-source.html b/paradiseo-moeo/doc/html/moeoMOLS_8h-source.html new file mode 100644 index 000000000..09b518042 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoMOLS_8h-source.html @@ -0,0 +1,53 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoMetric_8h-source.html b/paradiseo-moeo/doc/html/moeoMetric_8h-source.html new file mode 100644 index 000000000..d0a2325e6 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoMetric_8h-source.html @@ -0,0 +1,111 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoReplacement_8h-source.html b/paradiseo-moeo/doc/html/moeoReplacement_8h-source.html new file mode 100644 index 000000000..0607aff86 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoReplacement_8h-source.html @@ -0,0 +1,163 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeoSelectOneFromPopAndArch_8h-source.html b/paradiseo-moeo/doc/html/moeoSelectOneFromPopAndArch_8h-source.html new file mode 100644 index 000000000..6735476d9 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeoSelectOneFromPopAndArch_8h-source.html @@ -0,0 +1,95 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/moeo_8h-source.html b/paradiseo-moeo/doc/html/moeo_8h-source.html new file mode 100644 index 000000000..e82dab0f1 --- /dev/null +++ b/paradiseo-moeo/doc/html/moeo_8h-source.html @@ -0,0 +1,60 @@ + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/pages.html b/paradiseo-moeo/doc/html/pages.html new file mode 100644 index 000000000..97bc6262b --- /dev/null +++ b/paradiseo-moeo/doc/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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/search.idx b/paradiseo-moeo/doc/html/search.idx new file mode 100644 index 0000000000000000000000000000000000000000..70e3db704ba9562d8ca36176ce7aaa2acec80d44 GIT binary patch literal 312477 zcmeI5f3##(b>}Z~#pcH(WWuZgL4DE)jdnx*{_$vjb~itye*sN*Pi%O7tLj$2lJ{Oc z->cW%5KK@}JCP^~CavixnpRPXwn`KeR1%pPk}$KFEdF3+F$rUsgq2|?%nF&132QRn zz0cX_o?CURs(}W9Y+cPg_uTXIbN1e6pL1^Aw|3L^YXbeB5>Nt4KnW-TC7=Y9fD%vw zNNt4KnW-TC7=Y9fD%vw zNNt4KnW-TC7=Y9fD%vw zNNt4KnW-TC7=Y9fD%vw zNNt4KnW-TC7=Y9fD%vw zNNt4KnW-TC7=Y9fD%vwN?FPy$NeMGy#s>s~}I&7uU9fD%vw zNNt4KnW-TC7=Y9fD%vw zNNt4KnW-TC7=Y9fD%vw zNNt4KnW-TC7=Y9fD%vw zNNt4KnW-TC7=Y9fD%vw zNNt4KnW-TC7=Y9fD%vw zN{-4Kk2*dGk2=+c zw;;R=|32f=YCs7n0VSXWlz9z8hcOY6d;|51V_ZTNHUJ`9ZyKoQ{^KVY7}@jitA(52CU z5>NuKEdt>ill?wwd3em3nH>m^xgj%NBb9&>c#R-JRUXZFYJofUw`>pOiJoa;5_&<5! zCz9}S$GWfvlzt|2(pB;qh-8cpe`Au^>GDj)8cM zPy$Lo2`B+2pafq11j6Hg^VQ!-ZJ`oS0!M^EczpW(yzuz+8a_P!q0D;1O%OIR_Z?M zCVcD4tZ0o>0!rXDMj(7^nOhvb^=f-f@Bf8wGx7c13g3qB{k`pPQ_ar_Z`) z8c+gC;I&U6Jbe#$B0T*r*O~D2hh10$NNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwNNt4KnW-TC7=Y9fD%vwFNMHaQ;Tsge^wBL%b(_Ofx>5; z9Gn%=b!~7~D_-pEnxmV|LGGM91$G4ae7U>||EbXJbWq6Uaun(zP@upqK`~!lRV^PsD;2x zJQvM!rv12ESnN&BEYh?4r`mLRWU5Wgd&l!rZED1s%Yvy+ivlMFCgGVYf~ncKx6o-) z?CPo6F6TcJwRGF<#rcKK95v+3RxmZ+ou|;gsrh)JUD(rI=u!L6e0*v?T8QU*RP9-u z%J0irrC@3y>UFy9h3>2=;jHZe6Q=YxQ;1r2)?-stz>1Yqi=CUOKPzf@L`*2WBbe$D zh86Quy?9}kLN^Cdqr1dUZ;u*_y@kjmJs3nS>fwq*xN?z?A`o-b6G7CO<+!JVXl7S; zq0^f-_s>N$Gu=I=uV+F>X(sg?@GuvIHy3cM!GmF%+v*&|ojw(6( z=7=QY?7O468|nIJG}rA-#|soj{qyrP9d69o&vLj)Y$(G!Po#Uw^3KytDys6GD+0i! zK#Am~vpZh35YI$CF5;crtqi@hMFAiCJD;)1k@a1t+3;CZ;=7&-BD$_TAzCCUp2g77 z?L-jqb!8Ckjyf|@V}`0-xie@)i(K2vnMTySf#UX3V5&2>7%yNnDCRawM1i{ySd5oA z^2wkP_x8jw^={=e4SK%nq(;1}LlLWTjhG3pS{pPvtGbQ%VyMwQdbGLGnTr+(#i|`a z1N11gKWHp;BO<)&V9;16f`*5{XugIB0y0O1x+4+RgX8Lh1L{_^{Qt$xCg;= zPT(N5;G7jr3@3N(oV7u7I_A!uv$;9l?JgQgIA=%DoS_a8uydxHGjT+9oYQO0bh*Fh z?C0kccTdoSfG_oUJW(*U>)c$kJJ*codrPdk=dQ+WJ6@pD&b_?ZZBcK}-GY3xECT25 z#PePRuoOSj>@Lk2zUSVKG=LJfta_gNBvL}xo6%x#V)aDa?M<9HaRGAWPBg8Em*$LE z0B9Rk`i9M#hk9nJ1?6xqY@$%5%_$iGS`8Wm@PomaORJ?nlI~ zg?N$LoqL1|u^i~$G<9JK){Wrho>nAEq>JsMEBO%l@0 z{uac0VX@PrK`0yyTHRTQd5>kQa0qu4{WQl;LC0}dM4Ba|hs6_Yax*r?lg%xJi_)DD z#76&$xj5okrMNnX+wD%XV^9<~2k}g&*IA@WiaSi0npm6;;@L*bhO*e>AjRGiAm4(K zm*Q6y4ovs!y;uIVKzpX3U2bxgs&cY2GHlXK2ekg%0k#NFu|8w(v#jPmNZOVZhyTZ;W6 z(Gp`G{m2&TLDi5;Yre{R(L6FN2pT>|@R$KR>vYnpnHeyt{nPQhBqnVX`_Kroeasc|kM!0gfjW^<6xi^US z&d&e~Kvf=!_mY95;G;ns6ETIJ2-?u%C0GQydpbx&qw*ZNEQqZh@O+o*L+rZj;;Evx z(kAEJwafVta@6h&+B5Oqj!}r(BW+CBs}`r(DXBedV?N zq-412C}9EK62^w+vHBtMNhokX0&Fts&$US~C&Qq<1osB6hUwZ~>S022Wj(k;>*yGhuKN!1C%S?N#_aP%7!j;VL&-+DvbdGAeZK+eBCAYX`$?fC}+OwT5GcQDgw zEEvf@|K1rW2AB0fFw^bQ$e;i4Oqaac^B?zlfi7Xw==s$@^HcB2v3oZ5if{4 zdchWoGcNcAJ7+N&P{J7mX#6hNI~zrChB$n17XB7R9tz-DPj}h4UU0whvZ)~#JTx0O zr=vNTW4gWYB-L%eG*u7}3jajjnX0Bt4dC`7KC@zQfc`ib4;;!60A~#;cE_&KzOPmu2 z_Tm%iQGeBdb@3VWz|M9_^2;eUHM3m2!&ZIqJUvU29-v#6n~NWyV1q>H;wLG%Xl*b* zy~JyRiQuXw&F)1BaRHaqr~qkj`q6rNl%5DK*-3GBUhjK!D?P&O07b=Qm!0MirEv=g zyH>-TLK1`ST=FPAM_|n|3RpRsoOBa4Jvu4%$oea6)YeR-9?=ACz1%e`Q%{UEQDNMD zTThmJPEL9mvl37t3~FQ{G?kOhS#dU{-#(_y$w|v&O>1mQZ+ct95;L+LY?IgAJhs$i zO|WL4m)L4y3QD4xYhW4Npt+>!uES;wCXwFWll9QJf@|)hXG68VPedLZlX&D~8lgu< zrkI>eck1ymshtw9d1_2b+u3KwBrUvqe1l0Arsh$yO`UH9Hy<^k& zt((_AFg8bO5wrGTxC))N*_vAW7-b%uC`{J|cfGPRdBJ5YJ*tm6?f_1nVX;lFefSp}Q~}&6u6Ybt^N{q!QFJ5VIITpmq1tgCP!zk;@?usk(SW)6%045QU7G2o_hm25 zaU4Cql|ybThN5l{=2p>B!=(p;IldkW<_dIwe=s-Ip}<4ITw|)+#0FiAZ35B$ zoj!Z8aOo2^%u6n8FZ06h(x(y2X`e%YcU3Pt0U_kRY+^3%>}qruuwhHOeA#-exb52h zvh9Jdp_jGhx^t_1#lP&9Ir3*Odl*{(v_UuQ+Hnh^~03 zJI6h};_*O)^F7z0)GMBn+lh%4XHQVfvq_ANdUsBu*r|Q@`tE$MGi&z(=p^giclj|C zagXGnn+F2kHhK56-GvrYxN=$0-9vNVl_v$*H;yoG#objTP87GoMD3bg)n4Fjgeyz5 zx!minl7oXQFQO#aYNsXhmFry*bhmvTM+s&F+cPqf>ZXuV*LZgDO>;Oe3t}g!$hBcZdi$kCAY(|VP|s7 ztM3iZ2lJ%$8&3}A7rNNkpgK0LM0gkWlW6ES)^LNJDRZ;drs5}??GsA11L0=ef(Fpt zeBVT~@n$@xa}avCA7S28H@hnv58{3vXKwcP5S2vf?nfcK@xJj99M9pW|*tId6)SI>k*pKAhrA@6qd$MWX z->O6nn+}j>@qd94zq3=vA!%8zb10357B|yoh}~W<-j1^+j|7O@a0Hc=YP+ zW`dx&mI-3h-eROGuiht9)75t_#_)2nbSDT`-@S-KD_+E3eJ_%5+UHChxAmHn7UTCV zLC3HU$2_iCVe%vMH6>G(k-2MjF2*;`O-I-lre_aIGw9|KbHkS7n&-JGRMVD|13OMz z&Y&|j-um70RIu1>_x6}0s4dSg!VV(swacVGbaNVRxSnhGE_QinuDx}!yR^`ZSM`jY zx%T!&sDqt6u00@`soHA~@tN#aDug$|S&O%>klRIbzdBf)kJ+Ygy&NIhJKMU2kGy-d z54v?{K*!2GQYb2Q>&#-WH92YaWMtcEa?*Bi>)y<#o@L#7Yi0^-q_*Ck`4pB&baU$g zPC-XaEO}e+=KF3NF>ypL*VczQ23xmeYPUYoU!vV7;XSsk&+^kw7l$f1Z$|oUo73sZ z!joSnU8N*DuoX<2v28k?*4w<>*5gOB(Y);JE#bUx7Y;AE-fjC9p`Q$N+nor`&zs(C zyNim(78PyGZhO#@ClTKE2%fOuZhJgfTw+%d&A)IrBB;V&c)T~whY7#%6t-{KIKAg2 zM3HK~XCmOe?Dwoh(^s`R3%r|2xpw4&-og@zkLQEk5n6#Mfp2f7qaPF8$3ZIM&VbJ-S>dj`t8Y1R-90A4tsSm= z#3%#hd=?pH0eSt2CZ6iK{)}J`nX>D1!5;DluU{SPiTNz$`pfsk4OnYpaQzNMV#&ne zX~dH+z}b7jo@u06)#&b}bhqr8?y?oR{6jw#p*TwSKwwVbDEvG* zg$B#iL~vtw36WDP=@p?j2I2ef#q|wAxbGj#_0y}&^{)4u>lfg7;rRoz(E*E;&)Mupo)&X<<_RpL62kzi2rzeXJDyBDT|St5P2YSML1HP_p|Zqj_}ugvwg45#p`pWx@5 zU;2Hpul*1FolS#24%CIV-hw$cI1zkK!}Vu^@MF}TWkL9<<8eh>_Sg8zedM@hxJQ3o z80AXcmKig;REO*Y+d!x>@>&<_REArp<7kuSsi+^t7 zWPCqN<9AXJe*QvS(Qc{hD`%K=GR|N9OWdPfwhiGQ!VWQa#PznAXM0XGc|QBNx&D~O zA;do#8)_SPwW%CpN^OMPNgLmfcid8KMY$p`B6A{ZR<^i3W78ZTgxx3?O)rbpQ6Cc?ICQ@5?hw@X>ioh^cHEj-WVhKqNb>n~56>jz=IsXxDaIbT_y ze0%1Hcki=lP#)I@+2eB2w~sD2<%oTD`6MmUNSz;sLqK)zTVt+PAGmJE4$pUeK9!D{ z31jJx;|oSU58E#;^RuKEb_{lHGG+Fclgaw$f^g@_NRP4V{AZJobsTNG#q#`!<@r&# zrIhaWo#x6qgmee~#@w^M;r_S3k9)9S8-shcQ@DQjDa1ohzV|2Q`Td{574bhjny+lj zfALX-QHPYBDwE2%)}}orvD@vODM#$0*m03x;W$h#WUPMG=x6wAmzwf^{RVTjY(tp` zK2P%k+VaI`&DGgDV|(4)CUY6f9eAYXBi#G8@B@$8I!SL(w%DxuKE(GN$KwfpTtDfk zuQQ03@n-qL{jmO8zapLAFAMeaJcTRIrPdy>Ek+#MV3IZ1m-tq0U%2bPn(MrkXRAly zFMiF$i|*XJQZeJ1Ju)JVh4z z^-p9&=6#V7v7Of5g<`k+WFQnjLB_?GCEMn7pU~H_@#r`Edtm+gl%n7}>t z5k6Ameh!E4-C(cQHnRVNyuw9n-o2#PC`)YK?~x5ex<4SFmFyno4)zlfCv&Ix&Y!x* zr2WcIY+Ce#pHW*-ruY!-8zTSr|6P)fZ7rokyo{&QTa;scUbfSYyPYS+4qCg%b%|~W zbLUf{EPp(VxTIy4Y_! z#-VTi8`*y+TYeb`TiccB8*G61baq`nRL4HBmdBWN?7dbtK0>|{+V;7hnCn4oGq8MN zO(SV$X&wSIN&B(W%{?!*`Xzkjwu`;IjW$lGZ77r1)41|_+QxnKX*>f*>xXhW@kxKM zJjp9@KQ=x)%SrF|?Q_V$O=bib$Pd2U(pbK&Z^p-sa4m;Y~)=aV0@VQ@>W zMUno{S*8x>>!J8Gp+%{LM!=FEeny z0^0P2f6w(N`zC0U^KTG#YZ0Uso8;S|Pt!gSwTtp?O2TYYY&^G@YytKa`t7Cbi(NA; ze3Huu#fK34Cpz*;YhOi2?%Zh7-}y~*{dMbSv#o(_i%-GxH~6sq#g*r6^vU)m{DWIK zKhN9JChwBh_9Y08P3DdFS$@Jz#!A{Q9PhAxy701m*oMe{i0prS6gr_!+cEfE&Ka< zhn0uE{)*1X_%l}-Z<$}Lzr^i#{e!Lj=pP#{pD}wSp`EA9xL}@>HJ+>!onE8w)}E#H zu#ew>PJ)MUkn!#7Pr8k?Mzne&eGxejKS;*b$uipD>Y}wzDvPGtye~$68{dYQR)3Dq)8Am;S*q1HeA9Zqy z^nTberg*Y*Gz{%BrIAQehmx(3X=C22C zB%X-7^+|KJ{;kaSyw}jbA1l6^?8o-+k%}KH_G@5&6}EYfd~MV#e)f$8b8mfl_Q4x; zrh+u$gA2=VkpD_H7JZU9%a!xZ(%Oc~KG&q#+cNjo*GxUT`BL-D`O#=wD{u0NZz}sC zzW*NGW%7OQbDWmzZP|U=+bqk^(fJYD=+Yo8X+HP`&d<+pCcg#kwQCIa>7)(cm@s7s zQ(3copJad-&|FJ%C-U31f~*rlyGGzNH_+ZR(%3ab_+eU;pgkX>J#zAUp=;4|CXK8u zK56Eea6h8CAErMXmi+h8*{~gpr5~F7u1u6aRWot6EYACZ1ruk><@R-B#3B8!eb+pb zb>IDe#qr!evDLq`#iaSZO>5JHZmk0*k!3PtWF?gH?YbzS{eQdmaeMrqvAQdJ{a^ZD zrk-zqmanXHY)6m5J#_A4r{hZO5a#^_8|HmG3Zp;YeB4~`r~L=}oOR8HZ~tBr&*v95 z{;TAN+c3}nHq85VHq1I>!?%7kNzdmZHvRzl4mQl|ZyRRavf(+>GaF|6Wy811c%y%x z_}@tyUOU({?Bm-o?=ea_q;odRXK*(B2^w@8<~5!Tf8{4hJnuW$_&xue#PgoCjpsdR z8|FP{8|Lwry!(>8AN<=S{P72pus?URJlVWEjUUcqJL9bxdC$Y9`RoUha=!dv629jj zlJIv()@^#;7qwyb6QwR%JKJ#kBT0CMbjQZ?9)beEw#`cWh76e16G>u{XtY6ZBAg2=N{J zeF$0ah)*=ickq1}Hz%SmpZ3J^Ny~%6m!T-%A_CM-v9TCPI213%VM83}r9o4%t)K2qq*y zG>0LbFq8FytOf3Rze&e^M><*WTH7J(&`?Yr^F*0W#t;@p{yM?N@!0V`6zMjd6+C77&2ovnH@(B$ z%Xz$<4T^8;{CTuhd_=d8YszAOl5H!}@VtZT918Ei|4YJ=C8*& z&oa{{n?KPlTZW5AA2^KqSqC5+&d#7uE*-)y{$D41l5Q`G)*dKB-Z$WVG2Ey02KTZi zVSRxdiJq`N;5o}VuDqXyEAOM>%KK-yI=Ow9sn4ywz+ymdAwSYS+YebAyM0;FThT|i zwgLy1J+x8wta%OwFWJ|&d)UTSBi+XzK%4N~`GBMwo*k0&AbbA9HdW3IM4s8-K^by> zz`hgiS%y)EtTkBP(MEf2z~jsN$27i3$MYug^{1V4|l?jSEX%Dxoy zL|U=$ZeF?1q!T+YbD!8M*{@*xf&8*wW?O~(VK&OjxU5H$cS6t)(VafK#_g4P-RWPS z-1;({8TRzdjh9~r>KFSXXDjSqS-p39fjo9i&Ew(D1W^7!8?)k&-#-tqdAKZRACYhB zi-x~Dr-PjLuM_1QirWk3axQLdYqB4XI^BMe-)Hy}>{ktwA++NUf5h!znYU*$p{!fj z59_y!Xot+jL-%A+uGmFq2hj$Rt%33P+w6ytM|581b~jEkp3oD~$uB>MzEFGdOy(S! zYnUa?M`)WobN(6Xw0l)NPQLu~XuWIaG4UJ34-j8Q_C!(-F$>P`krxKJ6CdF#m8|njXbhP?)HfgCu?Hs7jj-<@5`{; z55v2@+$Z!+(uq%*nm153_ZjKLPK)m#^TxROg3nv}=R7d-eQ*xbe2IE^{Q_?Ndma9H zDDQtzdbE$%DoAhN?PZ46UecbXn-66TBL1TI=400!C|l;tJFL&>&w0Yl`Wsxo8wcoc z|M`@hOAVYyVeeJ!is-1=T+vnWTVzjL_Oiv^i{1|PXTaUb1KK7mM7M>-fR2NK@cWM0 zlL(z{K$&*l3WAfZeq!y%V+#Fd9mYNDImVau7WZPu#YdF6P1ZefcFJ}W`Q+@B&scD8 z=Wz3$0py_noL~HM@t67CHRO}Mv+u1i@+N1h{B8%yDasOAcfJVq@lE_JrCYAwct6|e z(I;&g_PkBj8*=6=c1PBPvW}4T!N7XJuX|V+ZBE%mvP1tWv0EaevR)LsB7TL_X}d;p zeg&)kr@!j4>7;?OO*-`v=aa z(Z+%GN>-e_cMsi^c}nC~Y#r(l9TmM6eRl7SA-(fs5O#AB!cLYcEV7QUs|)4JT1Va& zkoN+7duZ)TG6(wQ!H)1=6|Q36f3Q61mz$q1OKc&(dx5%T9U=1;uXCu+)YdmAeV4OA z_5(03+#aM8o0{5J0AHR@@mzF6d~dP6G9QW!mNOxq7g4_GlGtWpFE&KxNwII@f3S|B zUU|P;?1aoQVlTwj_uCE8N%jNK4z}SakH;MMGB=2S!*c|l^L&lxqRV1`WQ`zm2-{Dj zv%ZYed3h(0=LpzwSts%t1KJDCWQ?3&<;y7M#Xf&ZbWGk+PTs*qKFg8y)~y{TV2`UT z*J-(hyvh2U+lc;)Z!CJ_wZ|HkU{*X@m9VcJkH0_glNNk13 z4a*7g_0OX+Pg!>ITbg8?Xnd@la&`peh#dNUwe(f`CbDkZz)W2k=#$uhls|@eXMbqS z?ffhHBzk1!ByC?YepVKE-67|{qT`wKKjcfsMD`41O~*b6+Q8>MuyK6eW7jk?r;5D0 zcTLa+H+TASh_Jtw@z*%a-p;%J8L`ib&k)cCnLlJ5%JUZGMLYRy0cq^qBJb2E?=9k) zun>8&XOTQNi5^+mVYXJjIGnlv4q3466n#pMb6>yR8m^Cx>nqAj=@iMHSBI6~fcG-3 zPRjVnn20SDnI0G;u#!C}*?W?+Nq?_ta2)Bk;@8+8+izWz&?OsIPpsRtW#z=xD{;Nl zd@gw6f{8WsQSFH>@hm>9+lwczj`5*Q`X-F|+V-%r&YAAb&IB9y1DX8Urfc~7@SEo1 zOYt4o&E5Hn=UNxzQwOP!XYu#Bxy0(UCia$g?6sqsI^MvdcD?c=1aM9wbJ0? z)|t;+ZQzgZ`Dy403sa-3Sn{l;SF6N7ccD0bNm1+p)T2ZZ1E|?nl zlh3`YlkXR2qggkQ&QuabtxBQViW{YJtz3^QWqbuWSIyO%xm+n%sz+Q2nrl8RIarDv z{B87?0=691u#YH=o5VG)@je-6=y64dRl#81q+F8Li}NcdE-pY|5396GHh8)DoAstW z*YJl=uQeaKHeaW@WZ2_G=7%ORqfxKcnw7W~)$0(ZY61U)a8}#(e7>1)mnwN*Ge`~a zeG{v3ea(?i1UmT|k=j%pL&Bm)snMtvAj-LRoUbYQUxU{mTrM#EE`tb)oVE+|od8f$!Sm$D|2Sve~;(*)lJ48~;T1Z^sQsIbr{ z)A6~;%ka6#k?FF^u9;SikcY`he5sVm9g!xhBSC=EY7BTmlc}2+N*~=!iu9qA_U5lVS#+_2<51Ly}sIxaU}m zP_B_WJpK+qyHJHw5>@lHa$GCan^D{@;(Eq7KS#XP4QAxbh2j})n_ zqU)w-BZibl#{BV^F#?iRe5HQ)wwj8+mi(r}b(yZUE|aHiLoDzsW2t>vNVFx94L$XyIf=csuHc~UdS54{4FNR#g&aybomAx zzQ^g>J=89k<`-JIa=ry`8^*GUiM)bUX|-943i(F6R%n>iqVV%7U*!K}a z!hIWO+>NJdmRsjca~5;cXVLgcO6dli{M6IF?8|ArP&AeK(qgOhqxy1YjF8Qg#^0X} ze+DJqisZB1)a(%N+VKzr@uF-8t^N3EX6)<-Vaz&ffB*GLaa z(1}K?na|lp?bYTlGETV97D~X>N^1F%#EA+RV-IUp&jfnGJ_Ew$tYAFTl&*=pV*joX z)tGvoRZh+9e)wX+HTw}+`S2G|sr>W+WkhA>HQtc5qi|j$hB`zJ>!rXt!$l3CE@NZFW2(L3ihP2Q_!lH^Vo(fmU69DyG)aM zz1{K`eOcC*P(hT zH6nwlwi#86)m#b7&}yz)%GC>T6%}G5y@>sssAe{_v&?K(ZG-7dCD`AuH0s5Cp;W+j zQIwBrg<_$RFGOW{N41g>U|&bfeB#F>0R31~e7%?}<4~g6syH8)XBfVBB<8P6`N*3U^8azX}@6CH>(hCidp%-RD13JZ8JE%~OuNf{>5V{5P`P5U6B&~jGo+MesPT?)QsN#aCAg?8zqlOdDupQDiknfc zn5#xOf+^$+)qJbis6+dW8F^uA%JfN)lt(5q{N z4bHA~LKbdiQ+18hA7@~FB{H>)HQ`<@ub?IOYE7$ZrbfH| zrPErD;|zM@-`MO~7CBMJ5sA1$-+MfKm9eEJC5(_oxOvGR{UwVs+9A*9jgiGc10^1A z)a~9v$~T*wG=KhLt^Etp8QY6}){y51y9V&(&HO1hYJne{mD&0w>A_4X50#RBoLP=p zT-b#ExMZcaOA%wQ{Zqb|=DqtRnbGxRdx&W_hj#8^B6}|CMNI{Xpp%JDN=*!Yk|HtT zNxCF15z~~g9KN`xvL&UB6ngV#l3f zv6+ht1#Do70|HOR{uOznAUL*&7FttllA4AYYHVSb@^K~CtYb0W%GY!CcA?ge=%6;A zZw%E0XS95EFimc>ur-eNC<^&}tK7m{HPv#lS*f?1t!ky&h|HRGgf+%0FlqMCbf&I) zvzV(?i%}CB(NP|C)yk*?`=^y!+=|-SPPOM$x^ATP(G;Gq$MssFRBB@(S1IM|wPMu9 zc0V?aanR7V?=snpSyne??Xwaj-5gPhg*xs~F%f>T82x?Yg4m9XkU9ts{sc-dwt{*X z_SwEhA@2~3b-qhxP*OUCIl=!+fmCbid4|QKJ)?eeJYZ#g;mjx_XJ0!>559fr;P9+; zIdy{QZzFp7v#N&2pA6Zc*-k`b@L4jDLo90lYZF6~8Og%Rx|%Q4E432*Z@l+bE=Tzo zCnGt$uTdy98(uSq8D8pYVqWR*9wv85N0K;G@z|rlgilHsk`hzVhKe^m9ln%1O&O8J zw0W#K_Ua$BxJS?`r|R+DXZnk?u0Ou~n+}XM&R)SoZ7=WCCAADqXQ~`)qrEEoHSvg< z>cKj)4Du^#u{{If+YL8(mW36(dJRX}*wHEC;4&WtS0sRL@5} z?K4iCRF?gGGu-9IYg^Qblp0P>CVwt+;9*}~egeyl#eW zHSm^0l+VEtFIDTMYPHxZMJ;r(XzYZqR4Jdyb;M6$3T{Vue?5<)ae!B=x8p{>SjVdh z*fDRwr;p55-O!l;wam0qE1#iBO?6GI8t{fjp@`QuaF9}~m!o36*=o1(u70sr%6e_1 zUlY=Ei7B?w#tBKiKrc+ku%(r_hy%znez4HMuM_aTKieFeF?)g-F(YMVu+>Ib2^FJ8 zp^23V7AjG(Q7gC68Jyab@WQsQ=gtx(ugSS#vCmAQ)t4|Oa6gAwlq_RcFlJVqe1BVj ziyA&hWWNH~G=J0k+By1zm;*|j(E^;VaXMcx>D|1<^%;1aQ3}?IoNR>fjeg!&CMR|S z)|7WR$IKk%ywT$cO4o1q6BX}&!lTYL4jDM?c18HBwsvy-TN+BQluojkWq-?SqEht{RSn@lVy0 zsLm0a1HAHws@RdA3cOmaE;>IjqCeQ{1}gp3jLp~?VX*WpJD-ivR+yE+);?}x@JxyC zoA!6fl=jko2t-v4F%_e%PM=BS4Rm{&Ef!3sjj?<9_D#4x6`$_z*$~a$c*Wet4*mr6 zrZ%@Gl_sMN`SP&6QF|IXsAzqqa5Y24c=Xf0qRgpt%DZsyOL-%lm8+8aP1um}d3h}V z2!S~Kz49R~W`XtHo@7eMR;A>*k@c}t2DLsVB-!Prl9-}j$h$lvY`@t|7?B_`Od}H6 z-oDruz4;hmV^Y(g)SC+G^-2yCZ4sLZ__HD{m_&OEX6jw5WKuxZkF-tQ9Z_+{y21~ z7IVcS)YDVoEJHtJS(261a>Hx(O&pdqN=2-)@^KMsmADY&bsn7jG;z>3I3vA=riN1X zwh2=lzKW|h-C?hxi$D_&ejT$vnbh8RizYTP_ zGezBOqzy5+G)2tem&E3AqEkbX8&RxQn~gY^FX!Sa_9&pZ5ne7U;kRcM{F<|b50~AU%hM0JD|kh)*eEw~K3euQ zq)%kBRwJn-riLRn1!UDX*4n?+7j=%9(f2HkZ{O|ytQ#NynYCf#Y`<6XP}QIxU?1rz zz^gZH?2p7uFj#n&l|S+mf;R)vp2%DezW^Wlv4C;EBpsp5DGzEyx-6S!&kD@j8phh= zHIBZNeRjZl>WTViB_A~7{-yx6axg_-IcCi=)*+#?h6*b;edyDy3QMUMe6l1Z{oZC) zioSAv!#BhrzdZB62w^a8@Q~IV-t@4%hTk$`K^GSqw6k4mz@fw&C6!jChIHNDI;h50xL^>v8q_n9uX!BzW9NP5AKveImkmCkzKiK=tzQGtvy{)+nuK5JzuM+3R>pkM zthX_(l^dm2T){V-nmCm#6-u>AyHdh8a~kGNv%w#Nz3@Z&!7{jazHAKYKuVrnHwM#L zD>&}ATb@DkCx|0BiFh>(RlS#EE+Ls3TH)buoDMBwV5~;W4lmDS;#nrQIpHM2w#Mqq zxNjR!Q9}(t>i3`{Qf8UDnlYfM<4HD|UQA!UzDcC-B^9baF$aBF%?d)^WEz}d?AzE> z#-PSzl~o>dPz@t(ett+r4i%NGl543qR-R7u^7QgdJ;|$hPCYZ` zod!P7S*p|;`4YC}TTuz`A>pk;oCcIyZM+X)H{d5|Xa;AFWK;&94Opr{*@wM9Qa@Di zxTa?mqjkw~chY1(ospigzbG52Z!~+EuSGfDLv_>CSE%9rqe2-U*`ZLbTExjhp+cv^ zrFu1P*GyZP{m_z<{tQiGMuOTtLaq6egs$Nu5}Kytx0`TI@~ui0=S27wc(qx;PpR>F z%X*Gnm$t9(wy>9Vwun+cK&8G8(eg~IXwGrG$$^cWcb}EZet^MOV{gNknvguo%5Q%Q zF;p$KaU%vFXO&eo$IC-Sz-(}i6yL03?UDQlX-GMSV?->ghLUNxyd?1AKRA(;V8q=s z2ty>{6|wheF`z2(VN<7OiGUcbD#y(>e#QiooaZn7;YHDWE6TUqW&8>ZA6j6ENEvZ< zndg^!v3Z-$m7Gds3NK(~fp4M3l?F}~@j+!wkvQAITcTxbuN5NuIpu*LFB?pQ_C4vv z;4@R<*w0gVV>Bq{c5--G-+X#yelKyvr-hMv>~DZOaTsbC%t+yLta$A%S1A@-*kEno zJ88vSJ*J-lMR6YA)yuHv*}fw_YwPM9VKq#xW9Jaho{X71#(rUliW+JMX!2my8j>Q* zaM@p94$A)FOdUmYqMfL}-K|bri>zuZ^0lBL%Z!aLVA8PX>O*A%w%xq9JyPDXT4}#& zG(rOGIhZ%XSpt<+HeR}55u4y4wI9pJ4-cK(_0I&HZrEpxy%{?xAUm-U+Oglb_l%l9 zzDM5h54;)YI*?)f@#{W(4JIz;%Q4>bi5snUzTS@TzHNl#^hz=1uMNudPk9bF60b0M z!{R&sDgVU*^i#-OHs%))Uil*wYNRG5B0RJN)0h|X-Q%G}y)5&@7=6xIB8{*Sc9wWC zU(H_{_07$fHd&-zvmaqwvTT?AMg0pdf+!Z$XHW+$66C(&6AvR`oRGZ;LF nq~iMWa)J?( + +Search + + + + +
+
    +
  • Main Page
  • +
  • Classes
  • +
  • Files
  • +
  • Related Pages
  • +
  • +
    + + + + +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 Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/html/tab_b.gif b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/tab_l.gif b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/tab_r.gif b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/tabs.css b/paradiseo-moeo/doc/html/tabs.css new file mode 100644 index 000000000..a61552a67 --- /dev/null +++ b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/html/tree.html b/paradiseo-moeo/doc/html/tree.html new file mode 100644 index 000000000..7adff0fdd --- /dev/null +++ b/paradiseo-moeo/doc/html/tree.html @@ -0,0 +1,163 @@ + + + + + + + TreeView + + + + +
+

ParadisEO-MOEO

+
+

o*Welcome to ParadisEO-MOEO

+

o+Class List

+ +

o+Class Hierarchy

+ +

o*Class Members

+

o+File List

+
+

|o*index.h

+

|o*moeo.h

+

|o*moeoArchive.h

+

|o*moeoArchiveFitnessSavingUpdater.h

+

|o*moeoArchiveUpdater.h

+

|o*moeoBinaryMetricSavingUpdater.h

+

|o*moeoCombinedMOLS.h

+

|o*moeoContributionMetric.h

+

|o*moeoEntropyMetric.h

+

|o*moeoHybridMOLS.h

+

|o*moeoMetric.h

+

|o*moeoMOLS.h

+

|o*moeoReplacement.h

+

|o*moeoSelectOneFromPopAndArch.h

+

|o*NEWS

+

|\*README

+
+

\+Related Pages

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

Related webpages

+
Generated on Wed Dec 6 10:16:12 2006 for ParadisEO-MOEO by  + +doxygen 1.5.1
+ + diff --git a/paradiseo-moeo/doc/index.h b/paradiseo-moeo/doc/index.h new file mode 100644 index 000000000..a8ab0ea63 --- /dev/null +++ b/paradiseo-moeo/doc/index.h @@ -0,0 +1,53 @@ +/** @mainpage Welcome to ParadisEO-MOEO + +@section intro Introduction + +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. + + + +@section tutorial Tutorial + +A tutorial about a bi-objective flow-shop scheduling problem will be available soon. + + + +@section install Installation + +The installation procedure of the package is detailed in the README file in the top-directory of the source-tree. + + + +@section design Overall Design + +For an introduction to the design of ParadisEO-MOEO, +you can look at the ParadisEO website. +*/ + + + +/** @page webpages Related webpages + +- ParadisEO homepage +- INRIA GForge project page +- README +- NEWS +*/ + + + +// Local Variables: +// coding: iso-8859-1 +// mode: C++ +// c-file-style: "Stroustrup" +// fill-column: 80 +// End: diff --git a/paradiseo-moeo/doc/latex/FreeSans.ttf b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/latex/Makefile b/paradiseo-moeo/doc/latex/Makefile new file mode 100644 index 000000000..776fcf968 --- /dev/null +++ b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/latex/annotated.tex b/paradiseo-moeo/doc/latex/annotated.tex new file mode 100644 index 000000000..bdad9532c --- /dev/null +++ b/paradiseo-moeo/doc/latex/annotated.tex @@ -0,0 +1,24 @@ +\section{Paradis\-EO-MOEO Class List} +Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} +\item\contentsline{section}{{\bf moeo\-Archive$<$ EOT $>$} (An archive is a secondary population that stores non-dominated solutions )}{\pageref{classmoeoArchive}}{} +\item\contentsline{section}{{\bf moeo\-Archive\-Fitness\-Saving\-Updater$<$ EOT $>$} (This class allows to save the fitnesses of solutions contained in an archive into a file at each generation )}{\pageref{classmoeoArchiveFitnessSavingUpdater}}{} +\item\contentsline{section}{{\bf moeo\-Archive\-Updater$<$ EOT $>$} (This class allows to update the archive at each generation with newly found non-dominated solutions )}{\pageref{classmoeoArchiveUpdater}}{} +\item\contentsline{section}{{\bf moeo\-Binary\-Metric\-Saving\-Updater$<$ EOT $>$} (This class allows to save the progression of a binary metric comparing the fitness values of the current population (or archive) with the fitness values of the population (or archive) of the generation (n-1) into a file )}{\pageref{classmoeoBinaryMetricSavingUpdater}}{} +\item\contentsline{section}{{\bf moeo\-BM$<$ A1, A2, R $>$} (Base class for binary metrics )}{\pageref{classmoeoBM}}{} +\item\contentsline{section}{{\bf moeo\-Combined\-MOLS$<$ EOT $>$} (This class allows to embed a set of local searches that are sequentially applied, and so working and updating the same archive of non-dominated solutions )}{\pageref{classmoeoCombinedMOLS}}{} +\item\contentsline{section}{{\bf moeo\-Contribution\-Metric$<$ EOT $>$} (The contribution metric evaluates the proportion of non-dominated solutions given by a Pareto set relatively to another Pareto set )}{\pageref{classmoeoContributionMetric}}{} +\item\contentsline{section}{{\bf moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$} (Same than \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 eo\-NDPlus\-Replacement, (c) Maarten Keijzer, Marc Schoenauer and Ge\-Neura Team, 2002) )}{\pageref{classmoeoElitistReplacement}}{} +\item\contentsline{section}{{\bf moeo\-Entropy\-Metric$<$ EOT $>$} (The entropy gives an idea of the diversity of a Pareto set relatively to another Pareto set )}{\pageref{classmoeoEntropyMetric}}{} +\item\contentsline{section}{{\bf moeo\-Hybrid\-MOLS$<$ EOT $>$} (This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive at every generation until a stopping criteria is verified )}{\pageref{classmoeoHybridMOLS}}{} +\item\contentsline{section}{{\bf moeo\-Metric} (Base class for performance metrics (also called quality indicators) )}{\pageref{classmoeoMetric}}{} +\item\contentsline{section}{{\bf moeo\-MOLS$<$ EOT $>$} (Abstract class for local searches applied to multi-objective optimization )}{\pageref{classmoeoMOLS}}{} +\item\contentsline{section}{{\bf moeo\-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/paradiseo-moeo/doc/latex/classmoeoArchive.tex b/paradiseo-moeo/doc/latex/classmoeoArchive.tex new file mode 100644 index 000000000..482742f0d --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoArchive.tex @@ -0,0 +1,105 @@ +\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$>$} + +\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 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 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/paradiseo-moeo/doc/latex/classmoeoArchiveFitnessSavingUpdater.tex b/paradiseo-moeo/doc/latex/classmoeoArchiveFitnessSavingUpdater.tex new file mode 100644 index 000000000..e688043c3 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoArchiveFitnessSavingUpdater.tex @@ -0,0 +1,61 @@ +\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$>$} + +\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/paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.tex b/paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.tex new file mode 100644 index 000000000..b6b06fa79 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoArchiveUpdater.tex @@ -0,0 +1,55 @@ +\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$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Archive\-Updater} ({\bf moeo\-Archive}$<$ EOT $>$ \&\_\-arch, const 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 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 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/paradiseo-moeo/doc/latex/classmoeoBM.eps b/paradiseo-moeo/doc/latex/classmoeoBM.eps new file mode 100644 index 000000000..6604aaaa5 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoBM.eps @@ -0,0 +1,229 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 52.1173 +%%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 9.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 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 +(moeoMetric) 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 + (moeoMetric) 1.5 3 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 1.5 3 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/paradiseo-moeo/doc/latex/classmoeoBM.tex b/paradiseo-moeo/doc/latex/classmoeoBM.tex new file mode 100644 index 000000000..5a6c8979b --- /dev/null +++ b/paradiseo-moeo/doc/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.45928cm]{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/paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.tex b/paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.tex new file mode 100644 index 000000000..cd72d01cf --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoBinaryMetricSavingUpdater.tex @@ -0,0 +1,73 @@ +\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$>$} + +\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 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 eo\-Pop$<$ EOT $>$ \& {\bf pop}\label{classmoeoBinaryMetricSavingUpdater_9c30673aca66a1531856cb92068edaf7} + +\begin{CompactList}\small\item\em main population \item\end{CompactList}\item +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 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/paradiseo-moeo/doc/latex/classmoeoCombinedMOLS.eps b/paradiseo-moeo/doc/latex/classmoeoCombinedMOLS.eps new file mode 100644 index 000000000..f59fee267 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoCombinedMOLS.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 209.424 +%%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.3875 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 +(moeoCombinedMOLS< EOT >) cw +(moeoMOLS< 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 ----- + + (moeoCombinedMOLS< EOT >) 0 0 box + (moeoMOLS< EOT >) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/paradiseo-moeo/doc/latex/classmoeoCombinedMOLS.tex b/paradiseo-moeo/doc/latex/classmoeoCombinedMOLS.tex new file mode 100644 index 000000000..10b241c21 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoCombinedMOLS.tex @@ -0,0 +1,99 @@ +\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=2cm]{classmoeoCombinedMOLS} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Combined\-MOLS} (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 +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} (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]}}\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} + + +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/paradiseo-moeo/doc/latex/classmoeoContributionMetric.eps b/paradiseo-moeo/doc/latex/classmoeoContributionMetric.eps new file mode 100644 index 000000000..a254bdd67 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoContributionMetric.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 312.5 +%%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.6 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 +(moeoContributionMetric< EOT >) cw +(moeoVectorVsVectorBM< EOT, double >) cw +(moeoBM< A1, A2, R >) cw +(moeoMetric) 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 0 box + (moeoVectorVsVectorBM< EOT, double >) 0 1 box + (moeoBM< A1, A2, R >) 0 2 box + (moeoMetric) 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/paradiseo-moeo/doc/latex/classmoeoContributionMetric.tex b/paradiseo-moeo/doc/latex/classmoeoContributionMetric.tex new file mode 100644 index 000000000..22ae0af2f --- /dev/null +++ b/paradiseo-moeo/doc/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=4cm]{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/paradiseo-moeo/doc/latex/classmoeoDisctinctElitistReplacement.eps b/paradiseo-moeo/doc/latex/classmoeoDisctinctElitistReplacement.eps new file mode 100644 index 000000000..67e9885f4 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoDisctinctElitistReplacement.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 134.68 +%%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.7125 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 +(moeoDisctinctElitistReplacement< EOT, WorthT >) cw +(moeoReplacement< 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 ----- + + (moeoDisctinctElitistReplacement< EOT, WorthT >) 0 0 box + (moeoReplacement< EOT, WorthT >) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/paradiseo-moeo/doc/latex/classmoeoDisctinctElitistReplacement.tex b/paradiseo-moeo/doc/latex/classmoeoDisctinctElitistReplacement.tex new file mode 100644 index 000000000..8f42a143b --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoDisctinctElitistReplacement.tex @@ -0,0 +1,99 @@ +\section{moeo\-Disctinct\-Elitist\-Replacement$<$ EOT, Worth\-T $>$ Class Template Reference} +\label{classmoeoDisctinctElitistReplacement}\index{moeoDisctinctElitistReplacement@{moeoDisctinctElitistReplacement}} +Same than \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=2cm]{classmoeoDisctinctElitistReplacement} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Disctinct\-Elitist\-Replacement} (eo\-Perf2Worth$<$ EOT, Worth\-T $>$ \&\_\-perf2worth) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf operator()} (eo\-Pop$<$ EOT $>$ \&\_\-parents, 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} (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 +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} (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() (eo\-Pop$<$ EOT $>$ \& {\em \_\-parents}, eo\-Pop$<$ EOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline]}}\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} + + +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 (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. + +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/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.eps b/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.eps new file mode 100644 index 000000000..056d221aa --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.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.643 +%%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.1125 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 +(moeoElitistReplacement< EOT, WorthT >) cw +(moeoReplacement< 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 ----- + + (moeoElitistReplacement< EOT, WorthT >) 0 0 box + (moeoReplacement< EOT, WorthT >) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.tex b/paradiseo-moeo/doc/latex/classmoeoElitistReplacement.tex new file mode 100644 index 000000000..0f3c26168 --- /dev/null +++ b/paradiseo-moeo/doc/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 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=2cm]{classmoeoElitistReplacement} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Elitist\-Replacement} (eo\-Perf2Worth$<$ EOT, Worth\-T $>$ \&\_\-perf2worth) +\begin{CompactList}\small\item\em constructor \item\end{CompactList}\item +void {\bf operator()} (eo\-Pop$<$ EOT $>$ \&\_\-parents, eo\-Pop$<$ EOT $>$ \&\_\-offspring) +\begin{CompactList}\small\item\em replacement - result in \_\-parents \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +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 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} (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() (eo\-Pop$<$ EOT $>$ \& {\em \_\-parents}, eo\-Pop$<$ EOT $>$ \& {\em \_\-offspring})\hspace{0.3cm}{\tt [inline]}}\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} + + +Definition at line 54 of file moeo\-Replacement.h. + +References moeo\-Elitist\-Replacement$<$ EOT, Worth\-T $>$::perf2worth. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Replacement.h\end{CompactItemize} diff --git a/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.eps b/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.eps new file mode 100644 index 000000000..cc19de268 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.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 312.5 +%%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.6 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 +(moeoEntropyMetric< EOT >) cw +(moeoVectorVsVectorBM< EOT, double >) cw +(moeoBM< A1, A2, R >) cw +(moeoMetric) 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 0 box + (moeoVectorVsVectorBM< EOT, double >) 0 1 box + (moeoBM< A1, A2, R >) 0 2 box + (moeoMetric) 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/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.tex b/paradiseo-moeo/doc/latex/classmoeoEntropyMetric.tex new file mode 100644 index 000000000..1646d14d0 --- /dev/null +++ b/paradiseo-moeo/doc/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=4cm]{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/paradiseo-moeo/doc/latex/classmoeoHybridMOLS.tex b/paradiseo-moeo/doc/latex/classmoeoHybridMOLS.tex new file mode 100644 index 000000000..7e00cb6a5 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoHybridMOLS.tex @@ -0,0 +1,61 @@ +\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$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf eo\-Hybrid\-MOLS} (eo\-Continue$<$ EOT $>$ \&\_\-term, 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 +eo\-Continue$<$ EOT $>$ \& {\bf term}\label{classmoeoHybridMOLS_cd05dc1c82febb819945663c3b5c6a75} + +\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item +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 (eo\-Continue$<$ EOT $>$ \& {\em \_\-term}, 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/paradiseo-moeo/doc/latex/classmoeoMOLS.eps b/paradiseo-moeo/doc/latex/classmoeoMOLS.eps new file mode 100644 index 000000000..3b45f64a9 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoMOLS.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 209.424 +%%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.3875 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 +(moeoMOLS< EOT >) 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 + (moeoCombinedMOLS< EOT >) 0 0 box + +% ----- relations ----- + +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/paradiseo-moeo/doc/latex/classmoeoMOLS.tex b/paradiseo-moeo/doc/latex/classmoeoMOLS.tex new file mode 100644 index 000000000..950ece2de --- /dev/null +++ b/paradiseo-moeo/doc/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=2cm]{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/paradiseo-moeo/doc/latex/classmoeoMetric.eps b/paradiseo-moeo/doc/latex/classmoeoMetric.eps new file mode 100644 index 000000000..08cbea921 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoMetric.eps @@ -0,0 +1,230 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 134.128 +%%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.72778 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 9 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 +(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 + (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 +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/paradiseo-moeo/doc/latex/classmoeoMetric.tex b/paradiseo-moeo/doc/latex/classmoeoMetric.tex new file mode 100644 index 000000000..66eb9f533 --- /dev/null +++ b/paradiseo-moeo/doc/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=3.75559cm]{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/paradiseo-moeo/doc/latex/classmoeoReplacement.eps b/paradiseo-moeo/doc/latex/classmoeoReplacement.eps new file mode 100644 index 000000000..3afb9df5a --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoReplacement.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 67.3401 +%%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.425 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 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 +(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 + (moeoDisctinctElitistReplacement< EOT, WorthT >) 0 0 box + (moeoElitistReplacement< EOT, WorthT >) 1 0 box + +% ----- relations ----- + +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/paradiseo-moeo/doc/latex/classmoeoReplacement.tex b/paradiseo-moeo/doc/latex/classmoeoReplacement.tex new file mode 100644 index 000000000..5f15ba1e1 --- /dev/null +++ b/paradiseo-moeo/doc/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=1.88552cm]{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/paradiseo-moeo/doc/latex/classmoeoSelectOneFromPopAndArch.tex b/paradiseo-moeo/doc/latex/classmoeoSelectOneFromPopAndArch.tex new file mode 100644 index 000000000..5811c7c66 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoSelectOneFromPopAndArch.tex @@ -0,0 +1,83 @@ +\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$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +{\bf moeo\-Select\-One\-From\-Pop\-And\-Arch} (eo\-Select\-One$<$ EOT $>$ \&\_\-pop\-Select\-One, 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} (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 eo\-Pop$<$ EOT $>$ \&pop)\label{classmoeoSelectOneFromPopAndArch_3c97abfde2dd9959ae4db4c32038017d} + +\begin{CompactList}\small\item\em The selection process. \item\end{CompactList}\item +virtual void {\bf setup} (const 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 +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 +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 +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} (eo\-Select\-One$<$ EOT $>$ \& {\em \_\-pop\-Select\-One}, 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} (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/paradiseo-moeo/doc/latex/classmoeoSolutionUM.eps b/paradiseo-moeo/doc/latex/classmoeoSolutionUM.eps new file mode 100644 index 000000000..d4aca7e6e --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoSolutionUM.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 242.915 +%%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.05833 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 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 +(moeoSolutionUM< EOT, R, EOFitness >) cw +(moeoUM< const EOFitness &, R >) cw +(moeoMetric) 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 0 box + (moeoUM< const EOFitness &, R >) 0 1 box + (moeoMetric) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/paradiseo-moeo/doc/latex/classmoeoSolutionUM.tex b/paradiseo-moeo/doc/latex/classmoeoSolutionUM.tex new file mode 100644 index 000000000..d5c07d7df --- /dev/null +++ b/paradiseo-moeo/doc/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=3cm]{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/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBM.eps b/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBM.eps new file mode 100644 index 000000000..21736ba50 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBM.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 195.44 +%%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.55833 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 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 +(moeoSolutionVsSolutionBM< EOT, R, EOFitness >) cw +(moeoBM< A1, A2, R >) cw +(moeoMetric) 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 0 box + (moeoBM< A1, A2, R >) 0 1 box + (moeoMetric) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBM.tex b/paradiseo-moeo/doc/latex/classmoeoSolutionVsSolutionBM.tex new file mode 100644 index 000000000..b35202527 --- /dev/null +++ b/paradiseo-moeo/doc/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=3cm]{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/paradiseo-moeo/doc/latex/classmoeoUM.eps b/paradiseo-moeo/doc/latex/classmoeoUM.eps new file mode 100644 index 000000000..a7364e6f3 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoUM.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 336.134 +%%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.4875 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 +(moeoUM< A, R >) cw +(moeoMetric) 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 0 box + (moeoMetric) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/paradiseo-moeo/doc/latex/classmoeoUM.tex b/paradiseo-moeo/doc/latex/classmoeoUM.tex new file mode 100644 index 000000000..255c2020e --- /dev/null +++ b/paradiseo-moeo/doc/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=2cm]{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/paradiseo-moeo/doc/latex/classmoeoVectorUM.eps b/paradiseo-moeo/doc/latex/classmoeoVectorUM.eps new file mode 100644 index 000000000..9dc221d2c --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoVectorUM.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 200.669 +%%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.49167 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 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 +(moeoVectorUM< EOT, R, EOFitness >) cw +(moeoUM< const std::vector< EOFitness > &, R >) cw +(moeoMetric) 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 0 box + (moeoUM< const std::vector< EOFitness > &, R >) 0 1 box + (moeoMetric) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/paradiseo-moeo/doc/latex/classmoeoVectorUM.tex b/paradiseo-moeo/doc/latex/classmoeoVectorUM.tex new file mode 100644 index 000000000..407f3efa5 --- /dev/null +++ b/paradiseo-moeo/doc/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=3cm]{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/paradiseo-moeo/doc/latex/classmoeoVectorVsSolutionBM.eps b/paradiseo-moeo/doc/latex/classmoeoVectorVsSolutionBM.eps new file mode 100644 index 000000000..80d201a92 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoVectorVsSolutionBM.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 200 +%%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.5 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 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 +(moeoVectorVsSolutionBM< EOT, R, EOFitness >) cw +(moeoBM< A1, A2, R >) cw +(moeoMetric) 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 0 box + (moeoBM< A1, A2, R >) 0 1 box + (moeoMetric) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/paradiseo-moeo/doc/latex/classmoeoVectorVsSolutionBM.tex b/paradiseo-moeo/doc/latex/classmoeoVectorVsSolutionBM.tex new file mode 100644 index 000000000..254e9328e --- /dev/null +++ b/paradiseo-moeo/doc/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=3cm]{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/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBM.eps b/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBM.eps new file mode 100644 index 000000000..e05a60b03 --- /dev/null +++ b/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBM.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 204.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 2.44167 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 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 +(moeoVectorVsVectorBM< EOT, R, EOFitness >) cw +(moeoBM< A1, A2, R >) cw +(moeoMetric) 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 0 box + (moeoBM< A1, A2, R >) 0 1 box + (moeoMetric) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBM.tex b/paradiseo-moeo/doc/latex/classmoeoVectorVsVectorBM.tex new file mode 100644 index 000000000..ee83ccc55 --- /dev/null +++ b/paradiseo-moeo/doc/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=3cm]{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/paradiseo-moeo/doc/latex/doxygen.sty b/paradiseo-moeo/doc/latex/doxygen.sty new file mode 100644 index 000000000..dfab17063 --- /dev/null +++ b/paradiseo-moeo/doc/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 Wed Dec 6 10:16:12 2006 for Paradis\-EO-MOEO by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Wed Dec 6 10:16:12 2006 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/paradiseo-moeo/doc/latex/hierarchy.tex b/paradiseo-moeo/doc/latex/hierarchy.tex new file mode 100644 index 000000000..5ef077dde --- /dev/null +++ b/paradiseo-moeo/doc/latex/hierarchy.tex @@ -0,0 +1,45 @@ +\section{Paradis\-EO-MOEO Class Hierarchy} +This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} +\item \contentsline{section}{moeo\-Archive$<$ EOT $>$}{\pageref{classmoeoArchive}}{} +\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}}{} +\item \contentsline{section}{moeo\-Metric}{\pageref{classmoeoMetric}}{} +\begin{CompactList} +\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} +\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}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Solution\-UM$<$ EOT, R, EOFitness $>$}{\pageref{classmoeoSolutionUM}}{} +\end{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 \contentsline{section}{moeo\-MOLS$<$ EOT $>$}{\pageref{classmoeoMOLS}}{} +\begin{CompactList} +\item \contentsline{section}{moeo\-Combined\-MOLS$<$ EOT $>$}{\pageref{classmoeoCombinedMOLS}}{} +\end{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} +\item \contentsline{section}{moeo\-Select\-One\-From\-Pop\-And\-Arch$<$ EOT $>$}{\pageref{classmoeoSelectOneFromPopAndArch}}{} +\end{CompactList} diff --git a/paradiseo-moeo/doc/latex/main.tex b/paradiseo-moeo/doc/latex/main.tex new file mode 100644 index 000000000..6c56a3a6d --- /dev/null +++ b/paradiseo-moeo/doc/latex/main.tex @@ -0,0 +1,5 @@ +\section{Introduction}\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{Installation}\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{Overall 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/paradiseo-moeo/doc/latex/pages.tex b/paradiseo-moeo/doc/latex/pages.tex new file mode 100644 index 000000000..8297a1563 --- /dev/null +++ b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/latex/refman.tex b/paradiseo-moeo/doc/latex/refman.tex new file mode 100644 index 000000000..87072f6e5 --- /dev/null +++ b/paradiseo-moeo/doc/latex/refman.tex @@ -0,0 +1,63 @@ +\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 Wed Dec 6 10:16:12 2006}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\pagenumbering{roman} +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\chapter{Welcome to Paradis\-EO-MOEO } +\label{index}\input{main} +\chapter{Paradis\-EO-MOEO Hierarchical Index} +\input{hierarchy} +\chapter{Paradis\-EO-MOEO Class Index} +\input{annotated} +\chapter{Paradis\-EO-MOEO Page Index} +\input{pages} +\chapter{Paradis\-EO-MOEO Class Documentation} +\input{classmoeoArchive} +\include{classmoeoArchiveFitnessSavingUpdater} +\include{classmoeoArchiveUpdater} +\include{classmoeoBinaryMetricSavingUpdater} +\include{classmoeoBM} +\include{classmoeoCombinedMOLS} +\include{classmoeoContributionMetric} +\include{classmoeoDisctinctElitistReplacement} +\include{classmoeoElitistReplacement} +\include{classmoeoEntropyMetric} +\include{classmoeoHybridMOLS} +\include{classmoeoMetric} +\include{classmoeoMOLS} +\include{classmoeoReplacement} +\include{classmoeoSelectOneFromPopAndArch} +\include{classmoeoSolutionUM} +\include{classmoeoSolutionVsSolutionBM} +\include{classmoeoUM} +\include{classmoeoVectorUM} +\include{classmoeoVectorVsSolutionBM} +\include{classmoeoVectorVsVectorBM} +\chapter{Paradis\-EO-MOEO Page Documentation} +\input{webpages} +\printindex +\end{document} diff --git a/paradiseo-moeo/doc/latex/webpages.tex b/paradiseo-moeo/doc/latex/webpages.tex new file mode 100644 index 000000000..f17506321 --- /dev/null +++ b/paradiseo-moeo/doc/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/paradiseo-moeo/doc/man/man3/moeoArchive.3 b/paradiseo-moeo/doc/man/man3/moeoArchive.3 new file mode 100644 index 000000000..f5fa333e0 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoArchive.3 @@ -0,0 +1,109 @@ +.TH "moeoArchive" 3 "6 Dec 2006" "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 +.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 eoPop< 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 eoPop< 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/paradiseo-moeo/doc/man/man3/moeoArchiveFitnessSavingUpdater.3 b/paradiseo-moeo/doc/man/man3/moeoArchiveFitnessSavingUpdater.3 new file mode 100644 index 000000000..39c77606d --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoArchiveFitnessSavingUpdater.3 @@ -0,0 +1,73 @@ +.TH "moeoArchiveFitnessSavingUpdater" 3 "6 Dec 2006" "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 +.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/paradiseo-moeo/doc/man/man3/moeoArchiveUpdater.3 b/paradiseo-moeo/doc/man/man3/moeoArchiveUpdater.3 new file mode 100644 index 000000000..c6aa0998c --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoArchiveUpdater.3 @@ -0,0 +1,63 @@ +.TH "moeoArchiveUpdater" 3 "6 Dec 2006" "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 +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoArchiveUpdater\fP (\fBmoeoArchive\fP< EOT > &_arch, const eoPop< 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 eoPop< 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 eoPop< 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/paradiseo-moeo/doc/man/man3/moeoBM.3 b/paradiseo-moeo/doc/man/man3/moeoBM.3 new file mode 100644 index 000000000..e0c79cdfb --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoBM.3 @@ -0,0 +1,27 @@ +.TH "moeoBM" 3 "6 Dec 2006" "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 \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/paradiseo-moeo/doc/man/man3/moeoBinaryMetricSavingUpdater.3 b/paradiseo-moeo/doc/man/man3/moeoBinaryMetricSavingUpdater.3 new file mode 100644 index 000000000..bb373583d --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoBinaryMetricSavingUpdater.3 @@ -0,0 +1,89 @@ +.TH "moeoBinaryMetricSavingUpdater" 3 "6 Dec 2006" "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 +.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 eoPop< 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 eoPop< EOT > & \fBpop\fP" +.br +.RI "\fImain population \fP" +.ti -1c +.RI "eoPop< 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 eoPop< 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/paradiseo-moeo/doc/man/man3/moeoCombinedMOLS.3 b/paradiseo-moeo/doc/man/man3/moeoCombinedMOLS.3 new file mode 100644 index 000000000..22f7081a7 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoCombinedMOLS.3 @@ -0,0 +1,105 @@ +.TH "moeoCombinedMOLS" 3 "6 Dec 2006" "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 (eoEvalFunc< 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 "eoEvalFunc< 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 (eoEvalFunc< 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]\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 +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/paradiseo-moeo/doc/man/man3/moeoContributionMetric.3 b/paradiseo-moeo/doc/man/man3/moeoContributionMetric.3 new file mode 100644 index 000000000..9c98261b6 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoContributionMetric.3 @@ -0,0 +1,125 @@ +.TH "moeoContributionMetric" 3 "6 Dec 2006" "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/paradiseo-moeo/doc/man/man3/moeoDisctinctElitistReplacement.3 b/paradiseo-moeo/doc/man/man3/moeoDisctinctElitistReplacement.3 new file mode 100644 index 000000000..bcc624585 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoDisctinctElitistReplacement.3 @@ -0,0 +1,103 @@ +.TH "moeoDisctinctElitistReplacement" 3 "6 Dec 2006" "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 (eoPerf2Worth< EOT, WorthT > &_perf2worth)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBoperator()\fP (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)" +.br +.RI "\fIreplacement - result in _parents \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBcreateNewPop\fP (eoPop< 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 "eoPerf2Worth< 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 (eoPerf2Worth< 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() (eoPop< EOT > & _parents, eoPop< EOT > & _offspring)\fC [inline]\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 +Definition at line 99 of file moeoReplacement.h. +.PP +References moeoDisctinctElitistReplacement< EOT, WorthT >::createNewPop(). +.SS "template void \fBmoeoDisctinctElitistReplacement\fP< EOT, WorthT >::createNewPop (eoPop< 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. +.PP +Referenced by moeoDisctinctElitistReplacement< EOT, WorthT >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/paradiseo-moeo/doc/man/man3/moeoElitistReplacement.3 b/paradiseo-moeo/doc/man/man3/moeoElitistReplacement.3 new file mode 100644 index 000000000..24f2fb3e1 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoElitistReplacement.3 @@ -0,0 +1,77 @@ +.TH "moeoElitistReplacement" 3 "6 Dec 2006" "Version 0.1" "ParadisEO-MOEO" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoElitistReplacement \- Keep all the best individuals (almost cut-and-pasted from eoNDPlusReplacement, (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 (eoPerf2Worth< EOT, WorthT > &_perf2worth)" +.br +.RI "\fIconstructor \fP" +.ti -1c +.RI "void \fBoperator()\fP (eoPop< EOT > &_parents, eoPop< EOT > &_offspring)" +.br +.RI "\fIreplacement - result in _parents \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "eoPerf2Worth< 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 eoNDPlusReplacement, (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 (eoPerf2Worth< 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() (eoPop< EOT > & _parents, eoPop< EOT > & _offspring)\fC [inline]\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 +Definition at line 54 of file moeoReplacement.h. +.PP +References moeoElitistReplacement< EOT, WorthT >::perf2worth. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEO from the source code. diff --git a/paradiseo-moeo/doc/man/man3/moeoEntropyMetric.3 b/paradiseo-moeo/doc/man/man3/moeoEntropyMetric.3 new file mode 100644 index 000000000..5b897b599 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoEntropyMetric.3 @@ -0,0 +1,93 @@ +.TH "moeoEntropyMetric" 3 "6 Dec 2006" "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/paradiseo-moeo/doc/man/man3/moeoHybridMOLS.3 b/paradiseo-moeo/doc/man/man3/moeoHybridMOLS.3 new file mode 100644 index 000000000..6abd3110e --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoHybridMOLS.3 @@ -0,0 +1,75 @@ +.TH "moeoHybridMOLS" 3 "6 Dec 2006" "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 +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBeoHybridMOLS\fP (eoContinue< EOT > &_term, eoSelect< 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 "eoContinue< EOT > & \fBterm\fP" +.br +.RI "\fIstopping criteria \fP" +.ti -1c +.RI "eoSelect< 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 (eoContinue< EOT > & _term, eoSelect< 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/paradiseo-moeo/doc/man/man3/moeoMOLS.3 b/paradiseo-moeo/doc/man/man3/moeoMOLS.3 new file mode 100644 index 000000000..c827d4987 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoMOLS.3 @@ -0,0 +1,27 @@ +.TH "moeoMOLS" 3 "6 Dec 2006" "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 +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/paradiseo-moeo/doc/man/man3/moeoMetric.3 b/paradiseo-moeo/doc/man/man3/moeoMetric.3 new file mode 100644 index 000000000..333891fd8 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoMetric.3 @@ -0,0 +1,23 @@ +.TH "moeoMetric" 3 "6 Dec 2006" "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 +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/paradiseo-moeo/doc/man/man3/moeoReplacement.3 b/paradiseo-moeo/doc/man/man3/moeoReplacement.3 new file mode 100644 index 000000000..39b0dddab --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoReplacement.3 @@ -0,0 +1,25 @@ +.TH "moeoReplacement" 3 "6 Dec 2006" "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 +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/paradiseo-moeo/doc/man/man3/moeoSelectOneFromPopAndArch.3 b/paradiseo-moeo/doc/man/man3/moeoSelectOneFromPopAndArch.3 new file mode 100644 index 000000000..469536f03 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoSelectOneFromPopAndArch.3 @@ -0,0 +1,103 @@ +.TH "moeoSelectOneFromPopAndArch" 3 "6 Dec 2006" "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 +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoSelectOneFromPopAndArch\fP (eoSelectOne< EOT > &_popSelectOne, eoSelectOne< EOT > _archSelectOne, \fBmoeoArchive\fP< EOT > &_arch, double _ratioFromPop=0.5)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "\fBmoeoSelectOneFromPopAndArch\fP (eoSelectOne< 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 eoPop< EOT > &pop)" +.br +.RI "\fIThe selection process. \fP" +.ti -1c +.RI "virtual void \fBsetup\fP (const eoPop< EOT > &_pop)" +.br +.RI "\fISetups some population stats. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "eoSelectOne< EOT > & \fBpopSelectOne\fP" +.br +.RI "\fIThe population's selection operator. \fP" +.ti -1c +.RI "eoSelectOne< 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 "eoRandomSelect< 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 (eoSelectOne< EOT > & _popSelectOne, eoSelectOne< 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 (eoSelectOne< 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/paradiseo-moeo/doc/man/man3/moeoSolutionUM.3 b/paradiseo-moeo/doc/man/man3/moeoSolutionUM.3 new file mode 100644 index 000000000..c28a2a821 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoSolutionUM.3 @@ -0,0 +1,25 @@ +.TH "moeoSolutionUM" 3 "6 Dec 2006" "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/paradiseo-moeo/doc/man/man3/moeoSolutionVsSolutionBM.3 b/paradiseo-moeo/doc/man/man3/moeoSolutionVsSolutionBM.3 new file mode 100644 index 000000000..20188e0a3 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoSolutionVsSolutionBM.3 @@ -0,0 +1,25 @@ +.TH "moeoSolutionVsSolutionBM" 3 "6 Dec 2006" "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/paradiseo-moeo/doc/man/man3/moeoUM.3 b/paradiseo-moeo/doc/man/man3/moeoUM.3 new file mode 100644 index 000000000..9645a88eb --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoUM.3 @@ -0,0 +1,25 @@ +.TH "moeoUM" 3 "6 Dec 2006" "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 \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/paradiseo-moeo/doc/man/man3/moeoVectorUM.3 b/paradiseo-moeo/doc/man/man3/moeoVectorUM.3 new file mode 100644 index 000000000..d99a1823b --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoVectorUM.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorUM" 3 "6 Dec 2006" "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/paradiseo-moeo/doc/man/man3/moeoVectorVsSolutionBM.3 b/paradiseo-moeo/doc/man/man3/moeoVectorVsSolutionBM.3 new file mode 100644 index 000000000..7d941a3ab --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoVectorVsSolutionBM.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorVsSolutionBM" 3 "6 Dec 2006" "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/paradiseo-moeo/doc/man/man3/moeoVectorVsVectorBM.3 b/paradiseo-moeo/doc/man/man3/moeoVectorVsVectorBM.3 new file mode 100644 index 000000000..1a70fc9b8 --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/moeoVectorVsVectorBM.3 @@ -0,0 +1,25 @@ +.TH "moeoVectorVsVectorBM" 3 "6 Dec 2006" "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/paradiseo-moeo/doc/man/man3/webpages.3 b/paradiseo-moeo/doc/man/man3/webpages.3 new file mode 100644 index 000000000..2e80bc66d --- /dev/null +++ b/paradiseo-moeo/doc/man/man3/webpages.3 @@ -0,0 +1,15 @@ +.TH "webpages" 3 "6 Dec 2006" "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 + diff --git a/paradiseo-moeo/doc/moeo.doxyfile b/paradiseo-moeo/doc/moeo.doxyfile new file mode 100644 index 000000000..53b3deca1 --- /dev/null +++ b/paradiseo-moeo/doc/moeo.doxyfile @@ -0,0 +1,237 @@ +# Doxyfile 1.5.1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = ParadisEO-MOEO +PROJECT_NUMBER = 0.1 +OUTPUT_DIRECTORY = +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +BUILTIN_STL_SUPPORT = NO +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = NO +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = NO +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = NO +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = YES +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = .. +FILE_PATTERNS = *.cpp \ + *.h \ + NEWS README +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +REFERENCES_LINK_SOURCE = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 3 +IGNORE_PREFIX = moeo +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = YES +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = moeo.doxytag +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = YES diff --git a/paradiseo-moeo/doc/moeo.doxytag b/paradiseo-moeo/doc/moeo.doxytag new file mode 100644 index 000000000..cca469962 --- /dev/null +++ b/paradiseo-moeo/doc/moeo.doxytag @@ -0,0 +1,611 @@ + + + + main + Welcome to ParadisEO-MOEO + main + intro + tutorial + install + design + + + webpages + Related webpages + webpages + + + moeoArchive + classmoeoArchive.html + EOT + + EOT::Fitness + EOFitness + classmoeoArchive.html + 798bc97d8321b1e2c469e5c341a96dac + + + + bool + dominates + classmoeoArchive.html + 7786c8bfe67fefa19ac31a4ac700df06 + (const EOFitness &_fit) const + + + bool + contains + classmoeoArchive.html + 71feaf270daa7185e829caef40bbf956 + (const EOFitness &_fit) const + + + void + update + classmoeoArchive.html + be9f67bfe41c25537292056d5b30f56a + (const EOT &_eo) + + + void + update + classmoeoArchive.html + 58e891ab400ba352e8b0a341d0bdc107 + (const eoPop< EOT > &_pop) + + + + moeoArchiveFitnessSavingUpdater + classmoeoArchiveFitnessSavingUpdater.html + EOT + + + moeoArchiveFitnessSavingUpdater + classmoeoArchiveFitnessSavingUpdater.html + b61826bfa0f47064aed460817cf61b92 + (moeoArchive< EOT > &_arch, const std::string &_filename="Res/Arch", int _id=-1) + + + void + operator() + classmoeoArchiveFitnessSavingUpdater.html + 2ad5d3ab2c2066a1a3b85fff2ac14a19 + () + + + moeoArchive< EOT > & + arch + classmoeoArchiveFitnessSavingUpdater.html + b8eeccd7b43eb11e36cee2ec7d7c9c21 + + + + std::string + filename + classmoeoArchiveFitnessSavingUpdater.html + 17c82bea631bf9ff635a3698d08907f0 + + + + int + id + classmoeoArchiveFitnessSavingUpdater.html + e064861d67aae0747c2d8ffab90cbfbf + + + + unsigned + counter + classmoeoArchiveFitnessSavingUpdater.html + e32fab4bb828d40fe19c283dbd2a6423 + + + + + moeoArchiveUpdater + classmoeoArchiveUpdater.html + EOT + + + moeoArchiveUpdater + classmoeoArchiveUpdater.html + 71027fd5f8dac7d8069b682c998c03c5 + (moeoArchive< EOT > &_arch, const eoPop< EOT > &_pop) + + + void + operator() + classmoeoArchiveUpdater.html + 19e98244f0dd641983af81d8dcaf0f7d + () + + + moeoArchive< EOT > & + arch + classmoeoArchiveUpdater.html + 2fd7b92786ced836e3d0b5abfb801a86 + + + + const eoPop< EOT > & + pop + classmoeoArchiveUpdater.html + 0fc3f08f0385c55569eb056737303363 + + + + + moeoBinaryMetricSavingUpdater + classmoeoBinaryMetricSavingUpdater.html + EOT + + EOT::Fitness + EOFitness + classmoeoBinaryMetricSavingUpdater.html + c22e390633d94bbf69309e8d0cae1f0a + + + + + moeoBinaryMetricSavingUpdater + classmoeoBinaryMetricSavingUpdater.html + 978c6e8a99459722220387f911c1f461 + (moeoVectorVsVectorBM< EOT, double > &_metric, const eoPop< EOT > &_pop, std::string _filename) + + + void + operator() + classmoeoBinaryMetricSavingUpdater.html + 2d051d28def4cadf69957c8a21bf88dc + () + + + moeoVectorVsVectorBM< EOT, double > & + metric + classmoeoBinaryMetricSavingUpdater.html + 52e12414a266bce1dbce0b913025fd37 + + + + const eoPop< EOT > & + pop + classmoeoBinaryMetricSavingUpdater.html + 9c30673aca66a1531856cb92068edaf7 + + + + eoPop< EOT > + oldPop + classmoeoBinaryMetricSavingUpdater.html + c1751bf23ef440d895a39cdff25c384c + + + + std::string + filename + classmoeoBinaryMetricSavingUpdater.html + 32c78860e3aee52346df3aa30c5ac42f + + + + bool + firstGen + classmoeoBinaryMetricSavingUpdater.html + 1e40103a5cfa592a9d2408102e507a19 + + + + unsigned + counter + classmoeoBinaryMetricSavingUpdater.html + 280b52506c280b07356726ad5d497ef8 + + + + + moeoBM + classmoeoBM.html + A1 + A2 + R + moeoMetric + + + moeoCombinedMOLS + classmoeoCombinedMOLS.html + EOT + moeoMOLS + + + moeoCombinedMOLS + classmoeoCombinedMOLS.html + 9305380cd8f5a4d85ef603fa85c1860b + (eoEvalFunc< EOT > &_eval, moeoMOLS< EOT > &_first_ls) + + + void + add + classmoeoCombinedMOLS.html + bd6b8f46211d5d531753c69fcd76cba4 + (moeoMOLS< EOT > &_ls) + + + void + operator() + classmoeoCombinedMOLS.html + fa7de12db00b89feb139372603bba4aa + (const EOT &_eo, moeoArchive< EOT > &_arch) + + + eoEvalFunc< EOT > & + eval + classmoeoCombinedMOLS.html + b2c0866a1808022bd3a9dac89e528a01 + + + + std::vector< moeoMOLS< EOT > * > + combinedMOLS + classmoeoCombinedMOLS.html + a5ccc182c0d61421fc524c2da3671099 + + + + + moeoContributionMetric + classmoeoContributionMetric.html + EOT + moeoVectorVsVectorBM< EOT, double > + + EOT::Fitness + EOFitness + classmoeoContributionMetric.html + 06c0247b9558eeb34e32c9a694924a66 + + + + double + operator() + classmoeoContributionMetric.html + 76b6b93124263ca1a8232b12a556d843 + (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2) + + + unsigned + card_C + classmoeoContributionMetric.html + a0041e60c941dd1909f28fadcf011b87 + (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2) + + + unsigned + card_W + classmoeoContributionMetric.html + 64a72db699a10d6b4794773d4adbae3c + (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2) + + + unsigned + card_N + classmoeoContributionMetric.html + 9960fc1396dbadb412719aaeeedcf961 + (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2) + + + + moeoDisctinctElitistReplacement + classmoeoDisctinctElitistReplacement.html + EOT + WorthT + moeoReplacement + + + moeoDisctinctElitistReplacement + classmoeoDisctinctElitistReplacement.html + f39200df2b68f6d35fbed2a2688a9d75 + (eoPerf2Worth< EOT, WorthT > &_perf2worth) + + + void + operator() + classmoeoDisctinctElitistReplacement.html + ca73704e827074092e7d228253427a8a + (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) + + + void + createNewPop + classmoeoDisctinctElitistReplacement.html + 7aed100016940e4806a7c93c0e22bf85 + (eoPop< EOT > &_pop, unsigned _size) + + + eoPerf2Worth< EOT, WorthT > & + perf2worth + classmoeoDisctinctElitistReplacement.html + 3d1616ba57c10f5a77e0ec021cc8beb2 + + + + + moeoElitistReplacement + classmoeoElitistReplacement.html + EOT + WorthT + moeoReplacement + + + moeoElitistReplacement + classmoeoElitistReplacement.html + fa62ed508ac194ed7b720e37dd22458c + (eoPerf2Worth< EOT, WorthT > &_perf2worth) + + + void + operator() + classmoeoElitistReplacement.html + aad627deb45859e65ace0709c004049a + (eoPop< EOT > &_parents, eoPop< EOT > &_offspring) + + + eoPerf2Worth< EOT, WorthT > & + perf2worth + classmoeoElitistReplacement.html + 020f0e0b6b88a0081d922cca5b05990e + + + + + moeoEntropyMetric + classmoeoEntropyMetric.html + EOT + moeoVectorVsVectorBM< EOT, double > + + EOT::Fitness + EOFitness + classmoeoEntropyMetric.html + 306b72d2236de1ecbae986c65490a8fe + + + + double + operator() + classmoeoEntropyMetric.html + 58136405dfed951efa340ddf541c29fd + (const std::vector< EOFitness > &_set1, const std::vector< EOFitness > &_set2) + + + void + removeDominated + classmoeoEntropyMetric.html + 3252e7534b1ceb1317936c5d2b3abcbe + (std::vector< EOFitness > &_f) + + + void + prenormalize + classmoeoEntropyMetric.html + c9f0c65b4de69accbfb42486f6445cb0 + (const std::vector< EOFitness > &_f) + + + void + normalize + classmoeoEntropyMetric.html + bc32468b148a0da4eb21a9fc14dfafae + (std::vector< EOFitness > &_f) + + + void + computeUnion + classmoeoEntropyMetric.html + 2de60a0e6be362f074b50e6b455152ab + (const std::vector< EOFitness > &_f1, const std::vector< EOFitness > &_f2, std::vector< EOFitness > &_f) + + + unsigned + howManyInNicheOf + classmoeoEntropyMetric.html + a9369be315e139ebdf19fac09ad0563f + (const std::vector< EOFitness > &_f, const EOFitness &_s, unsigned _size) + + + double + euclidianDistance + classmoeoEntropyMetric.html + 34f825ce7c53132f7218483130da8652 + (const EOFitness &_set1, const EOFitness &_to, unsigned _deg=2) + + + std::vector< double > + vect_min_val + classmoeoEntropyMetric.html + d4046a304badfe78aa35b2d57938ffe9 + + + + std::vector< double > + vect_max_val + classmoeoEntropyMetric.html + af0ae9645bdbb993de4bc990a0a08883 + + + + + moeoHybridMOLS + classmoeoHybridMOLS.html + EOT + + + eoHybridMOLS + classmoeoHybridMOLS.html + ced4b6d35035bfe3339dd571646e570d + (eoContinue< EOT > &_term, eoSelect< EOT > &_select, moeoMOLS< EOT > &_mols, moeoArchive< EOT > &_arch) + + + void + operator() + classmoeoHybridMOLS.html + f62b4221d0ec094e39b73b386b508fc1 + () + + + eoContinue< EOT > & + term + classmoeoHybridMOLS.html + cd05dc1c82febb819945663c3b5c6a75 + + + + eoSelect< EOT > & + select + classmoeoHybridMOLS.html + b47c4d1bce77c5648b437a5884a7c41f + + + + moeoMOLS< EOT > & + mols + classmoeoHybridMOLS.html + 5ecf318c321a71857c11da1ff5000092 + + + + moeoArchive< EOT > & + arch + classmoeoHybridMOLS.html + 4aecb1f300f2f09b8d45998cc140576b + + + + + moeoMetric + classmoeoMetric.html + + + moeoMOLS + classmoeoMOLS.html + EOT + + + moeoReplacement + classmoeoReplacement.html + EOT + WorthT + + + moeoSelectOneFromPopAndArch + classmoeoSelectOneFromPopAndArch.html + EOT + + + moeoSelectOneFromPopAndArch + classmoeoSelectOneFromPopAndArch.html + 8d75155e2bb6994b080c696d6382c6c9 + (eoSelectOne< EOT > &_popSelectOne, eoSelectOne< EOT > _archSelectOne, moeoArchive< EOT > &_arch, double _ratioFromPop=0.5) + + + + moeoSelectOneFromPopAndArch + classmoeoSelectOneFromPopAndArch.html + 1aeab159a74bf4cd171e2045e25be2b7 + (eoSelectOne< EOT > &_popSelectOne, moeoArchive< EOT > &_arch, double _ratioFromPop=0.5) + + + virtual const EOT & + operator() + classmoeoSelectOneFromPopAndArch.html + 3c97abfde2dd9959ae4db4c32038017d + (const eoPop< EOT > &pop) + + + virtual void + setup + classmoeoSelectOneFromPopAndArch.html + a2acc5ddcf045c0c63c22f8d04274858 + (const eoPop< EOT > &_pop) + + + eoSelectOne< EOT > & + popSelectOne + classmoeoSelectOneFromPopAndArch.html + 4f6d51d06d92b0a3383f9f47e3b2b682 + + + + eoSelectOne< EOT > & + archSelectOne + classmoeoSelectOneFromPopAndArch.html + 5e062a1deca0307a91121271d3b976ba + + + + moeoArchive< EOT > & + arch + classmoeoSelectOneFromPopAndArch.html + 3ca71296847a931355a1e88d0cc524cb + + + + double + ratioFromPop + classmoeoSelectOneFromPopAndArch.html + 97b57e598752bccafaaf6a8a724d9a43 + + + + eoRandomSelect< EOT > + randomSelect + classmoeoSelectOneFromPopAndArch.html + 77cbe0150e70219e5a7fd48296acc4c7 + + + + + moeoSolutionUM + classmoeoSolutionUM.html + EOT + R + EOFitness + moeoUM< const EOFitness &, R > + + + moeoSolutionVsSolutionBM + classmoeoSolutionVsSolutionBM.html + EOT + R + EOFitness + moeoBM + + + moeoUM + classmoeoUM.html + A + R + moeoMetric + + + moeoVectorUM + classmoeoVectorUM.html + EOT + R + EOFitness + moeoUM< const std::vector< EOFitness > &, R > + + + moeoVectorVsSolutionBM + classmoeoVectorVsSolutionBM.html + EOT + R + EOFitness + moeoBM + + + moeoVectorVsVectorBM + classmoeoVectorVsVectorBM.html + EOT + R + EOFitness + moeoBM + + diff --git a/paradiseo-moeo/src/metric/moeoBinaryMetricSavingUpdater.h b/paradiseo-moeo/src/metric/moeoBinaryMetricSavingUpdater.h new file mode 100644 index 000000000..4e4411d54 --- /dev/null +++ b/paradiseo-moeo/src/metric/moeoBinaryMetricSavingUpdater.h @@ -0,0 +1,94 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoBinaryMetricSavingUpdater.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOBINARYMETRICSAVINGUPDATER_H_ +#define MOEOBINARYMETRICSAVINGUPDATER_H_ + +#include +#include +#include +#include +#include + +/** + * 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 + */ +template < class EOT > class moeoBinaryMetricSavingUpdater:public eoUpdater +{ +public: + + /** + * The fitness type of a solution + */ + typedef typename EOT::Fitness EOFitness; + + /** + * Ctor + * @param _metric the binary metric comparing two Pareto sets + * @param _pop the main population + * @param _filename the target filename + */ + moeoBinaryMetricSavingUpdater (moeoVectorVsVectorBM < EOT, double >&_metric, + const eoPop < EOT > &_pop, + std::string _filename):metric (_metric), + pop (_pop), filename (_filename), counter (1) + { + } + + /** + * Saves the metric's value for the current generation + */ + void operator () () + { + if (pop.size ()) + { + if (firstGen) + { + firstGen = false; + } + else + { + // creation of the two Pareto sets + std::vector < EOFitness > from; + std::vector < EOFitness > to; + for (unsigned i = 0; i < pop.size (); i++) + from.push_back (pop[i].fitness ()); + for (unsigned i = 0; i < oldPop.size (); i++) + to.push_back (oldPop[i].fitness ()); + // writing the result into the file + std::ofstream f (filename.c_str (), std::ios::app); + f << counter++ << ' ' << metric (from, to) << std::endl; + f.close (); + } + oldPop = pop; + } + } + +private: + + /** binary metric comparing two Pareto sets */ + moeoVectorVsVectorBM < EOT, double >&metric; + /** main population */ + const eoPop < EOT > &pop; + /** (n-1) population */ + eoPop < EOT > oldPop; + /** target filename */ + std::string filename; + /** is it the first generation ? */ + bool firstGen; + /** counter */ + unsigned counter; + +}; + +#endif /*MOEOBINARYMETRICSAVINGUPDATER_H_ */ diff --git a/paradiseo-moeo/src/metric/moeoContributionMetric.h b/paradiseo-moeo/src/metric/moeoContributionMetric.h new file mode 100644 index 000000000..8dc4d1e06 --- /dev/null +++ b/paradiseo-moeo/src/metric/moeoContributionMetric.h @@ -0,0 +1,116 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoContributionMetric.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOCONTRIBUTIONMETRIC_H_ +#define MOEOCONTRIBUTIONMETRIC_H_ + +#include + +/** + * 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) + */ +template < class EOT > class moeoContributionMetric:public moeoVectorVsVectorBM < EOT, + double > +{ +public: + + /** + * The fitness type of a solution + */ + typedef typename EOT::Fitness EOFitness; + + /** + * Returns the contribution of the Pareto set '_set1' relatively to the Pareto set '_set2' + * @param _set1 the first Pareto set + * @param _set2 the second Pareto set + */ + double operator () (const std::vector < EOFitness > &_set1, + const std::vector < EOFitness > &_set2) + { + unsigned c = card_C (_set1, _set2); + unsigned w1 = card_W (_set1, _set2); + unsigned n1 = card_N (_set1, _set2); + unsigned w2 = card_W (_set2, _set1); + unsigned n2 = card_N (_set2, _set1); + return (double) (c / 2.0 + w1 + n1) / (c + w1 + n1 + w2 + n2); + } + + +private: + + /** + * Returns the number of solutions both in '_set1' and '_set2' + * @param _set1 the first Pareto set + * @param _set2 the second Pareto set + */ + unsigned card_C (const std::vector < EOFitness > &_set1, + const std::vector < EOFitness > &_set2) + { + unsigned c = 0; + for (unsigned i = 0; i < _set1.size (); i++) + for (unsigned j = 0; j < _set2.size (); j++) + if (_set1[i] == _set2[j]) + { + c++; + break; + } + return c; + } + + /** + * Returns the number of solutions in '_set1' dominating at least one solution of '_set2' + * @param _set1 the first Pareto set + * @param _set2 the second Pareto set + */ + unsigned card_W (const std::vector < EOFitness > &_set1, + const std::vector < EOFitness > &_set2) + { + unsigned w = 0; + for (unsigned i = 0; i < _set1.size (); i++) + for (unsigned j = 0; j < _set2.size (); j++) + if (_set1[i].dominates (_set2[j])) + { + w++; + break; + } + return w; + } + + /** + * Returns the number of solutions in '_set1' having no relation of dominance with those from '_set2' + * @param _set1 the first Pareto set + * @param _set2 the second Pareto set + */ + unsigned card_N (const std::vector < EOFitness > &_set1, + const std::vector < EOFitness > &_set2) + { + unsigned n = 0; + for (unsigned i = 0; i < _set1.size (); i++) + { + bool domin_rel = false; + for (unsigned j = 0; j < _set2.size (); j++) + if (_set1[i].dominates (_set2[j]) || _set2[j].dominates (_set1[i])) + { + domin_rel = true; + break; + } + if (!domin_rel) + n++; + } + return n; + } + +}; + +#endif /*MOEOCONTRIBUTIONMETRIC_H_ */ diff --git a/paradiseo-moeo/src/metric/moeoEntropyMetric.h b/paradiseo-moeo/src/metric/moeoEntropyMetric.h new file mode 100644 index 000000000..8b546675f --- /dev/null +++ b/paradiseo-moeo/src/metric/moeoEntropyMetric.h @@ -0,0 +1,178 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoEntropyMetric.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOENTROPYMETRIC_H_ +#define MOEOENTROPYMETRIC_H_ + +#include + +/** + * 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) + */ +template < class EOT > class moeoEntropyMetric:public moeoVectorVsVectorBM < EOT, + double > +{ +public: + + /** + * The fitness type of a solution + */ + typedef typename EOT::Fitness EOFitness; + + /** + * Returns the entropy of the Pareto set '_set1' relatively to the Pareto set '_set2' + * @param _set1 the first Pareto set + * @param _set2 the second Pareto set + */ + double operator () (const std::vector < EOFitness > &_set1, + const std::vector < EOFitness > &_set2) + { + // normalization + std::vector < EOFitness > set1 = _set1; + std::vector < EOFitness > set2 = _set2; + removeDominated (set1); + removeDominated (set2); + prenormalize (set1); + normalize (set1); + normalize (set2); + + // making of PO* + std::vector < EOFitness > star; // rotf :-) + computeUnion (set1, set2, star); + removeDominated (star); + + // making of PO1 U PO* + std::vector < EOFitness > union_set1_star; // rotf again ... + computeUnion (set1, star, union_set1_star); + + unsigned C = union_set1_star.size (); + float omega = 0; + float entropy = 0; + + for (unsigned i = 0; i < C; i++) + { + unsigned N_i = howManyInNicheOf (union_set1_star, union_set1_star[i], + star.size ()); + unsigned n_i = + howManyInNicheOf (set1, union_set1_star[i], star.size ()); + if (n_i > 0) + { + omega += 1.0 / N_i; + entropy += + (float) n_i / (N_i * C) * log (((float) n_i / C) / log (2.0)); + } + } + entropy /= -log (omega); + entropy *= log (2.0); + return entropy; + } + + +private: + + std::vector < double >vect_min_val; + std::vector < double >vect_max_val; + + void removeDominated (std::vector < EOFitness > &_f) + { + for (unsigned i = 0; i < _f.size (); i++) + { + bool dom = false; + for (unsigned j = 0; j < _f.size (); j++) + if (i != j && _f[j].dominates (_f[i])) + { + dom = true; + break; + } + if (dom) + { + _f[i] = _f.back (); + _f.pop_back (); + i--; + } + } + } + + void prenormalize (const std::vector < EOFitness > &_f) + { + vect_min_val.clear (); + vect_max_val.clear (); + + for (unsigned char i = 0; i < EOFitness::fitness_traits::nObjectives (); + i++) + { + float min_val = _f.front ()[i], max_val = min_val; + for (unsigned j = 1; j < _f.size (); j++) + { + if (_f[j][i] < min_val) + min_val = _f[j][i]; + if (_f[j][i] > max_val) + max_val = _f[j][i]; + } + vect_min_val.push_back (min_val); + vect_max_val.push_back (max_val); + } + } + + void normalize (std::vector < EOFitness > &_f) + { + for (unsigned i = 0; i < EOFitness::fitness_traits::nObjectives (); i++) + for (unsigned j = 0; j < _f.size (); j++) + _f[j][i] = + (_f[j][i] - vect_min_val[i]) / (vect_max_val[i] - vect_min_val[i]); + } + + void computeUnion (const std::vector < EOFitness > &_f1, + const std::vector < EOFitness > &_f2, + std::vector < EOFitness > &_f) + { + _f = _f1; + for (unsigned i = 0; i < _f2.size (); i++) + { + bool b = false; + for (unsigned j = 0; j < _f1.size (); j++) + if (_f1[j] == _f2[i]) + { + b = true; + break; + } + if (!b) + _f.push_back (_f2[i]); + } + } + + unsigned howManyInNicheOf (const std::vector < EOFitness > &_f, + const EOFitness & _s, unsigned _size) + { + unsigned n = 0; + for (unsigned i = 0; i < _f.size (); i++) + { + if (euclidianDistance (_f[i], _s) < (_s.size () / (double) _size)) + n++; + } + return n; + } + + double euclidianDistance (const EOFitness & _set1, const EOFitness & _to, + unsigned _deg = 2) + { + double dist = 0; + for (unsigned i = 0; i < _set1.size (); i++) + dist += pow (fabs (_set1[i] - _to[i]), (int) _deg); + return pow (dist, 1.0 / _deg); + } + +}; + +#endif /*MOEOENTROPYMETRIC_H_ */ diff --git a/paradiseo-moeo/src/metric/moeoMetric.h b/paradiseo-moeo/src/metric/moeoMetric.h new file mode 100644 index 000000000..8e29440dd --- /dev/null +++ b/paradiseo-moeo/src/metric/moeoMetric.h @@ -0,0 +1,106 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoMetric.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOMETRIC_H_ +#define MOEOMETRIC_H_ + +#include + +/** + * Base class for performance metrics (also called quality indicators) + */ +class moeoMetric:public eoFunctorBase +{ +}; + + +/** + * Base class for unary metrics + */ +template < class A, class R > class moeoUM:public eoUF < A, R >, + public moeoMetric +{ +}; + + +/** + * Base class for binary metrics + */ +template < class A1, class A2, class R > class moeoBM:public eoBF < A1, A2, R >, + public moeoMetric +{ +}; + + +/** + * Base class for unary metrics dedicated to the performance evaluation of a single solution's Pareto fitness + */ +template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoSolutionUM:public moeoUM < + const + EOFitness &, + R > +{ +}; + + +/** + * Base class for unary metrics dedicated to the performance evaluation of a Pareto set (a vector of Pareto fitnesses) + */ +template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoVectorUM:public moeoUM < + const + std::vector < +EOFitness > &, + R > +{ +}; + + +/** + * Base class for binary metrics dedicated to the performance comparison between two solutions's Pareto fitnesses + */ +template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoSolutionVsSolutionBM:public moeoBM < + const + EOFitness &, const + EOFitness &, + R > +{ +}; + + +/** + * 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 + */ +template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoVectorVsSolutionBM:public moeoBM < + const + std::vector < +EOFitness > &, const + EOFitness &, + R > +{ +}; + + +/** + * Base class for binary metrics dedicated to the performance comparison between two Pareto sets (two vectors of Pareto fitnesses) + */ +template < class EOT, class R, class EOFitness = typename EOT::Fitness > class moeoVectorVsVectorBM:public moeoBM < + const + std::vector < +EOFitness > &, const + std::vector < +EOFitness > &, + R > +{ +}; + + +#endif /*MOEOMETRIC_H_ */ diff --git a/paradiseo-moeo/src/moeo.h b/paradiseo-moeo/src/moeo.h new file mode 100644 index 000000000..8478ee48e --- /dev/null +++ b/paradiseo-moeo/src/moeo.h @@ -0,0 +1,31 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeo.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEO_H_ +#define MOEO_H_ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif /*MOEO_H_ */ diff --git a/paradiseo-moeo/src/moeoArchive.h b/paradiseo-moeo/src/moeoArchive.h new file mode 100644 index 000000000..9547dd06e --- /dev/null +++ b/paradiseo-moeo/src/moeoArchive.h @@ -0,0 +1,106 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoArchive.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOARCHIVE_H_ +#define MOEOARCHIVE_H_ + +#include + +/** + * An archive is a secondary population that stores non-dominated solutions + */ +template < class EOT > class moeoArchive:public eoPop < EOT > +{ +public: + + using std::vector < EOT >::size; + using std::vector < EOT >::operator[]; + using std::vector < EOT >::back; + using std::vector < EOT >::pop_back; + + /** + * The fitness type of a solution + */ + typedef typename EOT::Fitness EOFitness; + + /** + * Returns true if the current archive dominates _fit + * @param _fit the (Pareto) fitness to compare with the current archive + */ + bool dominates (const EOFitness & _fit) const + { + for (unsigned i = 0; i < size; i++) + if (operator[](i).fitness ().dominates (_fit)) + return true; + return false; + } + + /** + * Returns true if the current archive contains _fit + * @param _fit the (Pareto) fitness to search within the current archive + */ + bool contains (const EOFitness & _fit) const + { + for (unsigned i = 0; i < size; i++) + if (operator[](i).fitness () == _fit) + return true; + return false; + } + + /** + * Updates the archive with a given individual _eo + * @param _eo the given individual + */ + void update (const EOT & _eo) + { + // Removing the dominated solutions from the archive + for (unsigned j = 0; j < size ();) + { + if (_eo.fitness ().dominates (operator[](j).fitness ())) + { + operator[](j) = back (); + pop_back (); + } + else if (_eo.fitness () == operator[](j).fitness ()) + { + operator[](j) = back (); + pop_back (); + } + else + j++; + } + + // Dominated ? + bool dom = false; + for (unsigned j = 0; j < size (); j++) + if (operator [](j).fitness ().dominates (_eo.fitness ())) + { + dom = true; + break; + } + if (!dom) + push_back (_eo); + } + + /** + * Updates the archive with a given population _pop + * @param _pop the given population + */ + void update (const eoPop < EOT > &_pop) + { + for (unsigned i = 0; i < _pop.size (); i++) + update (_pop[i]); + } + +}; + +#endif /*MOEOARCHIVE_H_ */ diff --git a/paradiseo-moeo/src/moeoArchiveFitnessSavingUpdater.h b/paradiseo-moeo/src/moeoArchiveFitnessSavingUpdater.h new file mode 100644 index 000000000..95a5dabb1 --- /dev/null +++ b/paradiseo-moeo/src/moeoArchiveFitnessSavingUpdater.h @@ -0,0 +1,73 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoArchiveFitnessSavingUpdater.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOARCHIVEFITNESSSAVINGUPDATER_H_ +#define MOEOARCHIVEFITNESSSAVINGUPDATER_H_ + +#include +#include +#include +#include +#include + +#define MAX_BUFFER_SIZE 1000 + +/** + * This class allows to save the fitnesses of solutions contained in an archive into a file at each generation. + */ +template < class EOT > class moeoArchiveFitnessSavingUpdater:public eoUpdater +{ +public: + + /** + * Ctor + * @param _arch local archive + * @param _filename target filename + * @param _id own ID + */ +moeoArchiveFitnessSavingUpdater (moeoArchive < EOT > &_arch, const std::string & _filename = "Res/Arch", int _id = -1):arch (_arch), filename (_filename), id (_id), + counter + (0) + { + } + + /** + * Saves the fitness of the archive's members into the file + */ + void operator () () + { + char buff[MAX_BUFFER_SIZE]; + if (id == -1) + sprintf (buff, "%s.%u", filename.c_str (), counter++); + else + sprintf (buff, "%s.%u.%u", filename.c_str (), id, counter++); + std::ofstream f (buff); + for (unsigned i = 0; i < arch.size (); i++) + f << arch[i].fitness () << std::endl; + f.close (); + } + + +private: + + /** local archive */ + moeoArchive < EOT > &arch; + /** target filename */ + std::string filename; + /** own ID */ + int id; + /** counter */ + unsigned counter; + +}; + +#endif /*MOEOARCHIVEFITNESSSAVINGUPDATER_H_ */ diff --git a/paradiseo-moeo/src/moeoArchiveUpdater.h b/paradiseo-moeo/src/moeoArchiveUpdater.h new file mode 100644 index 000000000..588dbb4a3 --- /dev/null +++ b/paradiseo-moeo/src/moeoArchiveUpdater.h @@ -0,0 +1,56 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoArchiveUpdater.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOARCHIVEUPDATER_H_ +#define MOEOARCHIVEUPDATER_H_ + +#include +#include +#include + +/** + * This class allows to update the archive at each generation with newly found non-dominated solutions + */ +template < class EOT > class moeoArchiveUpdater:public eoUpdater +{ +public: + + /** + * Ctor + * @param _arch an archive of non-dominated solutions + * @param _pop the main population + */ + moeoArchiveUpdater (moeoArchive < EOT > &_arch, + const eoPop < EOT > &_pop):arch (_arch), pop (_pop) + { + } + + + /** + * Updates the archive with newly found non-dominated solutions contained in the main population + */ + void operator () () + { + arch.update (pop); + } + + +private: + + /** the archive of non-dominated solutions */ + moeoArchive < EOT > &arch; + /** the main population */ + const eoPop < EOT > &pop; + +}; + +#endif /*MOEOARCHIVEUPDATER_H_ */ diff --git a/paradiseo-moeo/src/moeoCombinedMOLS.h b/paradiseo-moeo/src/moeoCombinedMOLS.h new file mode 100644 index 000000000..0c99aec6f --- /dev/null +++ b/paradiseo-moeo/src/moeoCombinedMOLS.h @@ -0,0 +1,71 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoCombinedMOLS.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOCOMBINEDMOLS_H_ +#define MOEOCOMBINEDMOLS_H_ + +#include +#include +#include + +/** + * 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 + */ +template < class EOT > class moeoCombinedMOLS:public moeoMOLS < EOT > +{ +public: + + /** + * Ctor + * @param _eval the full evaluator of a solution + * @param _first_ls the first multi-objective local search to add + */ +moeoCombinedMOLS (eoEvalFunc < EOT > &_eval, moeoMOLS < EOT > &_first_ls):eval + (_eval) + { + combinedMOLS.push_back (&_first_ls); + } + + /** + * Adds a new local search to combine + * @param _ls the multi-objective local search to add + */ + void add (moeoMOLS < EOT > &_ls) + { + combinedMOLS.push_back (&_ls); + } + + /** + * Gives a new solution in order to explore the neigborhood. + * The new non-dominated solutions are added to the archive + * @param _eo the solution + * @param _arch the archive of non-dominated solutions + */ + void operator () (const EOT & _eo, moeoArchive < EOT > &_arch) + { + eval (const_cast < EOT & >(_eo)); + for (unsigned i = 0; i < combinedMOLS.size (); i++) + combinedMOLS[i]->operator ()(_eo, _arch); + } + + +private: + + /** the full evaluator of a solution */ + eoEvalFunc < EOT > &eval; + /** the vector that contains the combined MOLS */ + std::vector < moeoMOLS < EOT > *>combinedMOLS; + +}; + +#endif /*MOEOCOMBINEDMOLS_H_ */ diff --git a/paradiseo-moeo/src/moeoHybridMOLS.h b/paradiseo-moeo/src/moeoHybridMOLS.h new file mode 100644 index 000000000..cfe327889 --- /dev/null +++ b/paradiseo-moeo/src/moeoHybridMOLS.h @@ -0,0 +1,74 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoHybridMOLS.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOHYBRIDMOLS_H_ +#define MOEOHYBRIDMOLS_H_ + +#include +#include +#include +#include +#include +#include + +/** + * 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. + */ +template < class EOT > class moeoHybridMOLS:public eoUpdater +{ +public: + + /** + * Ctor + * @param _term stopping criteria + * @param _select selector + * @param _mols a multi-objective local search + * @param _arch the archive + */ +eoHybridMOLS (eoContinue < EOT > &_term, eoSelect < EOT > &_select, moeoMOLS < EOT > &_mols, moeoArchive < EOT > &_arch):term (_term), select (_select), mols (_mols), + arch + (_arch) + { + } + + /** + * Applies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified + */ + void operator () () + { + if (!cont (arch)) + { + // selection of solutions + eoPop < EOT > selectedSolutions; + select (arch, selectedSolutions); + // apply the local search to every selected solution + for (unsigned i = 0; i < selectedSolutions.size (); i++) + mols (selectedSolutions[i], arch); + } + } + + +private: + + /** stopping criteria*/ + eoContinue < EOT > &term; + /** selector */ + eoSelect < EOT > &select; + /** multi-objective local search */ + moeoMOLS < EOT > &mols; + /** archive */ + moeoArchive < EOT > &arch; + +}; + +#endif /*MOEOHYBRIDMOLS_H_ */ diff --git a/paradiseo-moeo/src/moeoMOLS.h b/paradiseo-moeo/src/moeoMOLS.h new file mode 100644 index 000000000..b2ecd3353 --- /dev/null +++ b/paradiseo-moeo/src/moeoMOLS.h @@ -0,0 +1,28 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoMOLS.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOMOLS_H_ +#define MOEOMOLS_H_ + +#include +#include + +/** + * Abstract class for local searches applied to multi-objective optimization. + * Starting from only one solution, it produces a set of new non-dominated solutions. + */ +template < class EOT > class moeoMOLS:public eoBF < const EOT &, moeoArchive < EOT > &, + void > +{ +}; + +#endif /*MOEOMOLS_H_ */ diff --git a/paradiseo-moeo/src/moeoReplacement.h b/paradiseo-moeo/src/moeoReplacement.h new file mode 100644 index 000000000..41977d170 --- /dev/null +++ b/paradiseo-moeo/src/moeoReplacement.h @@ -0,0 +1,169 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoReplacement.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOREPLACEMENT_H_ +#define MOEOREPLACEMENT_H_ + +#include +#include +#include + + +/** + * Replacement strategy for multi-objective optimization + */ +template < class EOT, class WorthT > class moeoReplacement:public eoReplacement < + EOT > +{ +}; + + +/** + * Keep all the best individuals + * (almost cut-and-pasted from eoNDPlusReplacement, (c) Maarten Keijzer, Marc Schoenauer and GeNeura Team, 2002) + */ +template < class EOT, class WorthT = + double >class moeoElitistReplacement:public moeoReplacement < EOT, WorthT > +{ +public: + + /** + * constructor + * @param _perf2worth the functor class to transform raw fitnesses into fitness for selection + */ + moeoElitistReplacement (eoPerf2Worth < EOT, + WorthT > &_perf2worth):perf2worth (_perf2worth) + { + } + + + /** + * replacement - result in _parents + * @param _parents parents population + * @param _offspring offspring population + */ + void operator () (eoPop < EOT > &_parents, eoPop < EOT > &_offspring) + { + unsigned size = _parents.size (); + _parents.reserve (_parents.size () + _offspring.size ()); + copy (_offspring.begin (), _offspring.end (), back_inserter (_parents)); + + // calculate worths + perf2worth (_parents); + perf2worth.sort_pop (_parents); + perf2worth.resize (_parents, size); + + _offspring.clear (); + } + +private: + /** the functor object to transform raw fitnesses into fitness for selection */ + eoPerf2Worth < EOT, WorthT > &perf2worth; +}; + + +/** + * Same than moeoElitistReplacement except that distinct individuals are privilegied + */ +template < class EOT, class WorthT = + double >class moeoDisctinctElitistReplacement:public moeoReplacement < EOT, + WorthT > +{ +public: + + /** + * constructor + * @param _perf2worth the functor class to transform raw fitnesses into fitness for selection + */ + moeoDisctinctElitistReplacement (eoPerf2Worth < EOT, + WorthT > + &_perf2worth):perf2worth (_perf2worth) + { + } + + + /** + * replacement - result in _parents + * @param _parents parents population + * @param _offspring offspring population + */ + void operator () (eoPop < EOT > &_parents, eoPop < EOT > &_offspring) + { + unsigned size = _parents.size (); + _parents.reserve (_parents.size () + _offspring.size ()); + copy (_offspring.begin (), _offspring.end (), back_inserter (_parents)); + + // creation of the new population (of size 'size') + createNewPop (_parents, size); + + _offspring.clear (); + } + + +private: + + /** the functor object to transform raw fitnesses into fitness for selection */ + eoPerf2Worth < EOT, WorthT > &perf2worth; + + + /** + * creation of the new population of size _size + * @param _pop the initial population (will be modified) + * @param _size the size of the population to create + */ + void createNewPop (eoPop < EOT > &_pop, unsigned _size) + { + // the number of occurences for each individual + std::map < EOT, unsigned >nb_occurences; + for (unsigned i = 0; i < _pop.size (); i++) + nb_occurences[_pop[i]] = 0; + // the new population + eoPop < EOT > new_pop; + new_pop.reserve (_pop.size ()); + for (unsigned i = 0; i < _pop.size (); i++) + { + if (nb_occurences[_pop[i]] == 0) + new_pop.push_back (_pop[i]); + nb_occurences[_pop[i]]++; + } + + // calculate worths (on the new population) + perf2worth (new_pop); + perf2worth.sort_pop (new_pop); + + // if case there's not enough individuals in the population... + unsigned new_pop_size_init = new_pop.size (); + unsigned k = 0; + while (new_pop.size () < _size) + { + if (k < new_pop_size_init) + { + if (nb_occurences[new_pop[k]] > 1) + { + new_pop.push_back (new_pop[k]); + nb_occurences[new_pop[k]]--; + } + k++; + } + else + k = 0; + } + + // resize and swap the populations + perf2worth.resize (new_pop, _size); + _pop.resize (_size); + _pop.swap (new_pop); + } + +}; + +#endif /*MOEOREPLACEMENT_H_ */ diff --git a/paradiseo-moeo/src/moeoSelectOneFromPopAndArch.h b/paradiseo-moeo/src/moeoSelectOneFromPopAndArch.h new file mode 100644 index 000000000..42098f632 --- /dev/null +++ b/paradiseo-moeo/src/moeoSelectOneFromPopAndArch.h @@ -0,0 +1,93 @@ +// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- + +//----------------------------------------------------------------------------- +// moeoSelectOneFormPopAndArch.h +// (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2006 +/* + This library... + + Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr + */ +//----------------------------------------------------------------------------- + +#ifndef MOEOSELECTONEFROMPOPANDARCH_H_ +#define MOEOSELECTONEFROMPOPANDARCH_H_ + +#include +#include +#include +#include +#include + +/** + * Elitist selection process that consists in choosing individuals in the archive as well as in the current population. + */ +template < class EOT > class moeoSelectOneFromPopAndArch:public eoSelectOne < + EOT > +{ +public: + + /** + * Ctor + * @param _popSelectOne the population's selection operator + * @param _archSelectOne the archive's selection operator + * @param _arch the archive + * @param _ratioFromPop the ratio of selected individuals from the population + */ +moeoSelectOneFromPopAndArch (eoSelectOne < EOT > &_popSelectOne, eoSelectOne < EOT > _archSelectOne, moeoArchive < EOT > &_arch, double _ratioFromPop = 0.5):popSelectOne (_popSelectOne), archSelectOne (_archSelectOne), arch (_arch), + ratioFromPop + (_ratioFromPop) + { + } + + /** + * Ctor - the archive's selection operator is a random selector + * @param _popSelectOne the population's selection operator + * @param _arch the archive + * @param _ratioFromPop the ratio of selected individuals from the population + */ +moeoSelectOneFromPopAndArch (eoSelectOne < EOT > &_popSelectOne, moeoArchive < EOT > &_arch, double _ratioFromPop = 0.5):popSelectOne (_popSelectOne), archSelectOne (randomSelect), arch (_arch), + ratioFromPop + (_ratioFromPop) + { + } + + /** + * The selection process + */ + virtual const EOT & operator () (const eoPop < EOT > &pop) + { + if (arch.size () > 0) + if (rng.flip (ratioFromPop)) + return popSelectOne (pop); + else + return archSelectOne (arch); + else + return popSelectOne (pop); + } + + /** + * Setups some population stats + */ + virtual void setup (const eoPop < EOT > &_pop) + { + popSelectOne.setup (_pop); + } + + +private: + + /** The population's selection operator */ + eoSelectOne < EOT > &popSelectOne; + /** The archive's selection operator */ + eoSelectOne < EOT > &archSelectOne; + /** the archive */ + moeoArchive < EOT > &arch; + /** the ratio of selected individuals from the population*/ + double ratioFromPop; + /** the random selection operator */ + eoRandomSelect < EOT > randomSelect; + +}; + +#endif /*MOEOSELECTONEFROMPOPANDARCH_H_ */