From 04b12455d003db37d3781996bee7eea98e50f3e3 Mon Sep 17 00:00:00 2001 From: legrand Date: Mon, 8 Oct 2007 14:49:10 +0000 Subject: [PATCH] added good doc files git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@683 331e1502-861f-0410-8da2-ba01fb791d7f --- .../FlowShopBenchmarkParser_8cpp-source.html | 129 +++++ .../FlowShopBenchmarkParser_8h-source.html | 82 +++ .../doc/html/FlowShopEA_8cpp-source.html | 135 +++++ .../doc/html/FlowShopEval_8cpp-source.html | 92 ++++ .../doc/html/FlowShopEval_8h-source.html | 76 +++ .../doc/html/FlowShopInit_8cpp-source.html | 67 +++ .../doc/html/FlowShopInit_8h-source.html | 63 +++ ...ShopObjectiveVectorTraits_8cpp-source.html | 60 +++ ...owShopObjectiveVectorTraits_8h-source.html | 60 +++ .../FlowShopObjectiveVector_8h-source.html | 49 ++ .../FlowShopOpCrossoverQuad_8cpp-source.html | 112 +++++ .../FlowShopOpCrossoverQuad_8h-source.html | 63 +++ ...lowShopOpMutationExchange_8cpp-source.html | 78 +++ .../FlowShopOpMutationExchange_8h-source.html | 58 +++ .../FlowShopOpMutationShift_8cpp-source.html | 88 ++++ .../FlowShopOpMutationShift_8h-source.html | 58 +++ .../doc/html/FlowShop_8cpp-source.html | 46 ++ .../doc/html/FlowShop_8h-source.html | 55 ++ .../doc/html/README-source.html | 108 ++++ .../doc/html/Sch1_8cpp-source.html | 135 +++++ .../doc/html/classFlowShop-members.html | 86 ++++ .../doc/html/classFlowShop.html | 65 +++ .../paradiseo-moeo/doc/html/classFlowShop.png | Bin 0 -> 2568 bytes .../classFlowShopBenchmarkParser-members.html | 47 ++ .../html/classFlowShopBenchmarkParser.html | 189 +++++++ .../doc/html/classFlowShopEval-members.html | 51 ++ .../doc/html/classFlowShopEval.html | 279 +++++++++++ .../doc/html/classFlowShopEval.png | Bin 0 -> 921 bytes .../doc/html/classFlowShopInit-members.html | 44 ++ .../doc/html/classFlowShopInit.html | 131 +++++ .../doc/html/classFlowShopInit.png | Bin 0 -> 680 bytes ...FlowShopObjectiveVectorTraits-members.html | 43 ++ .../classFlowShopObjectiveVectorTraits.html | 125 +++++ .../classFlowShopObjectiveVectorTraits.png | Bin 0 -> 628 bytes .../classFlowShopOpCrossoverQuad-members.html | 48 ++ .../html/classFlowShopOpCrossoverQuad.html | 169 +++++++ .../doc/html/classFlowShopOpCrossoverQuad.png | Bin 0 -> 1530 bytes ...assFlowShopOpMutationExchange-members.html | 47 ++ .../html/classFlowShopOpMutationExchange.html | 100 ++++ .../html/classFlowShopOpMutationExchange.png | Bin 0 -> 1335 bytes .../classFlowShopOpMutationShift-members.html | 47 ++ .../html/classFlowShopOpMutationShift.html | 100 ++++ .../doc/html/classFlowShopOpMutationShift.png | Bin 0 -> 1240 bytes .../doc/html/classSch1-members.html | 88 ++++ trunk/paradiseo-moeo/doc/html/classSch1.html | 60 +++ trunk/paradiseo-moeo/doc/html/classSch1.png | Bin 0 -> 2779 bytes .../doc/html/classSch1Eval-members.html | 43 ++ .../doc/html/classSch1Eval.html | 57 +++ .../paradiseo-moeo/doc/html/classSch1Eval.png | Bin 0 -> 841 bytes ...lassSch1ObjectiveVectorTraits-members.html | 43 ++ .../html/classSch1ObjectiveVectorTraits.html | 61 +++ .../html/classSch1ObjectiveVectorTraits.png | Bin 0 -> 591 bytes .../doc/html/classmoeoIBMOLS-members.html | 50 ++ .../doc/html/classmoeoIBMOLS.html | 295 +++++++++++ .../doc/html/classmoeoIBMOLS.png | Bin 0 -> 1838 bytes ...OLS_1_1OneObjectiveComparator-members.html | 43 ++ ...smoeoIBMOLS_1_1OneObjectiveComparator.html | 68 +++ ...ssmoeoIBMOLS_1_1OneObjectiveComparator.png | Bin 0 -> 1285 bytes .../html/classmoeoIteratedIBMOLS-members.html | 49 ++ .../doc/html/classmoeoIteratedIBMOLS.html | 286 +++++++++++ .../doc/html/classmoeoIteratedIBMOLS.png | Bin 0 -> 1889 bytes .../html/classmoeoMoveIncrEval-members.html | 40 ++ .../doc/html/classmoeoMoveIncrEval.html | 54 ++ .../doc/html/classmoeoMoveIncrEval.png | Bin 0 -> 684 bytes .../html/classmoeoObjectiveVectorTraits.png | Bin 0 -> 974 bytes ...dicatorBasedFitnessAssignment-members.html | 48 ++ ...ePointIndicatorBasedFitnessAssignment.html | 283 +++++++++++ ...cePointIndicatorBasedFitnessAssignment.png | Bin 0 -> 1490 bytes .../doc/html/classpeoEA-members.html | 45 ++ trunk/paradiseo-moeo/doc/html/classpeoEA.html | 228 +++++++++ .../doc/html/functions_0x62.html | 78 +++ .../doc/html/functions_0x63.html | 95 ++++ .../doc/html/functions_0x64.html | 96 ++++ .../doc/html/functions_0x65.html | 80 +++ .../doc/html/functions_0x66.html | 86 ++++ .../doc/html/functions_0x67.html | 82 +++ .../doc/html/functions_0x68.html | 77 +++ .../doc/html/functions_0x69.html | 90 ++++ .../doc/html/functions_0x6b.html | 76 +++ .../doc/html/functions_0x6c.html | 78 +++ .../doc/html/functions_0x6d.html | 124 +++++ .../doc/html/functions_0x6e.html | 83 ++++ .../doc/html/functions_0x6f.html | 91 ++++ .../doc/html/functions_0x70.html | 84 ++++ .../doc/html/functions_0x72.html | 86 ++++ .../doc/html/functions_0x73.html | 85 ++++ .../doc/html/functions_0x74.html | 85 ++++ .../doc/html/functions_0x75.html | 78 +++ .../doc/html/functions_0x76.html | 79 +++ .../doc/html/functions_0x77.html | 77 +++ .../doc/html/functions_0x7e.html | 76 +++ .../html/make__eval__FlowShop_8h-source.html | 83 ++++ .../make__genotype__FlowShop_8h-source.html | 76 +++ .../doc/html/make__ls__moeo_8h-source.html | 136 +++++ .../html/make__op__FlowShop_8h-source.html | 130 +++++ .../doc/html/moeoIBMOLS_8h-source.html | 469 ++++++++++++++++++ .../html/moeoIteratedIBMOLS_8h-source.html | 206 ++++++++ .../doc/html/moeoMoveIncrEval_8h-source.html | 39 ++ ...catorBasedFitnessAssignment_8h-source.html | 109 ++++ .../doc/html/pmoeoEA_8h-source.html | 127 +++++ .../doc/html/t-moeo_8cpp-source.html | 47 ++ ...ples_2flowshop_2benchs_2README-source.html | 29 ++ .../doc/latex/classFlowShop.eps | 227 +++++++++ .../doc/latex/classFlowShop.tex | 32 ++ .../latex/classFlowShopBenchmarkParser.tex | 110 ++++ .../doc/latex/classFlowShopEval.eps | 215 ++++++++ .../doc/latex/classFlowShopEval.tex | 147 ++++++ .../doc/latex/classFlowShopInit.eps | 209 ++++++++ .../doc/latex/classFlowShopInit.tex | 75 +++ .../classFlowShopObjectiveVectorTraits.eps | 197 ++++++++ .../classFlowShopObjectiveVectorTraits.tex | 67 +++ .../latex/classFlowShopOpCrossoverQuad.eps | 215 ++++++++ .../latex/classFlowShopOpCrossoverQuad.tex | 76 +++ .../latex/classFlowShopOpMutationExchange.eps | 215 ++++++++ .../latex/classFlowShopOpMutationExchange.tex | 55 ++ .../latex/classFlowShopOpMutationShift.eps | 215 ++++++++ .../latex/classFlowShopOpMutationShift.tex | 55 ++ trunk/paradiseo-moeo/doc/latex/classSch1.eps | 233 +++++++++ trunk/paradiseo-moeo/doc/latex/classSch1.tex | 26 + .../doc/latex/classSch1Eval.eps | 215 ++++++++ .../doc/latex/classSch1Eval.tex | 26 + .../latex/classSch1ObjectiveVectorTraits.eps | 197 ++++++++ .../latex/classSch1ObjectiveVectorTraits.tex | 32 ++ .../doc/latex/classmoeoIBMOLS.eps | 215 ++++++++ .../doc/latex/classmoeoIBMOLS.tex | 147 ++++++ ...ssmoeoIBMOLS_1_1OneObjectiveComparator.eps | 209 ++++++++ ...ssmoeoIBMOLS_1_1OneObjectiveComparator.tex | 37 ++ .../doc/latex/classmoeoIteratedIBMOLS.eps | 215 ++++++++ .../doc/latex/classmoeoIteratedIBMOLS.tex | 124 +++++ .../doc/latex/classmoeoMoveIncrEval.eps | 203 ++++++++ .../doc/latex/classmoeoMoveIncrEval.tex | 22 + .../latex/classmoeoObjectiveVectorTraits.eps | 203 ++++++++ ...cePointIndicatorBasedFitnessAssignment.eps | 209 ++++++++ ...cePointIndicatorBasedFitnessAssignment.tex | 148 ++++++ trunk/paradiseo-moeo/doc/latex/classpeoEA.tex | 119 +++++ trunk/paradiseo-moeo/doc/man/man3/FlowShop.3 | 31 ++ .../doc/man/man3/FlowShopBenchmarkParser.3 | 120 +++++ .../doc/man/man3/FlowShopEval.3 | 155 ++++++ .../doc/man/man3/FlowShopInit.3 | 73 +++ .../man/man3/FlowShopObjectiveVectorTraits.3 | 65 +++ .../doc/man/man3/FlowShopOpCrossoverQuad.3 | 85 ++++ .../doc/man/man3/FlowShopOpMutationExchange.3 | 53 ++ .../doc/man/man3/FlowShopOpMutationShift.3 | 53 ++ trunk/paradiseo-moeo/doc/man/man3/Sch1.3 | 24 + trunk/paradiseo-moeo/doc/man/man3/Sch1Eval.3 | 24 + .../doc/man/man3/Sch1ObjectiveVectorTraits.3 | 31 ++ .../paradiseo-moeo/doc/man/man3/moeoIBMOLS.3 | 168 +++++++ .../man3/moeoIBMOLS_OneObjectiveComparator.3 | 38 ++ .../doc/man/man3/moeoIteratedIBMOLS.3 | 151 ++++++ .../doc/man/man3/moeoMoveIncrEval.3 | 21 + ...encePointIndicatorBasedFitnessAssignment.3 | 155 ++++++ trunk/paradiseo-moeo/doc/man/man3/peoEA.3 | 107 ++++ 152 files changed, 14307 insertions(+) create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopEA_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopEval_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopEval_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopInit_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopInit_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVector_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShop_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/FlowShop_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/README-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/Sch1_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShop-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShop.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShop.png create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopEval-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopEval.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopEval.png create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopInit-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopInit.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopInit.png create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.png create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.png create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange.png create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationShift-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationShift.html create mode 100644 trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationShift.png create mode 100644 trunk/paradiseo-moeo/doc/html/classSch1-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classSch1.html create mode 100644 trunk/paradiseo-moeo/doc/html/classSch1.png create mode 100644 trunk/paradiseo-moeo/doc/html/classSch1Eval-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classSch1Eval.html create mode 100644 trunk/paradiseo-moeo/doc/html/classSch1Eval.png create mode 100644 trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.html create mode 100644 trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.png create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS.png create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS_1_1OneObjectiveComparator-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS_1_1OneObjectiveComparator.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS_1_1OneObjectiveComparator.png create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS.png create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoMoveIncrEval-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoMoveIncrEval.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoMoveIncrEval.png create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoObjectiveVectorTraits.png create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoReferencePointIndicatorBasedFitnessAssignment-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoReferencePointIndicatorBasedFitnessAssignment.html create mode 100644 trunk/paradiseo-moeo/doc/html/classmoeoReferencePointIndicatorBasedFitnessAssignment.png create mode 100644 trunk/paradiseo-moeo/doc/html/classpeoEA-members.html create mode 100644 trunk/paradiseo-moeo/doc/html/classpeoEA.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x62.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x63.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x64.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x65.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x66.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x67.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x68.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x69.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x6b.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x6c.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x6d.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x6e.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x6f.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x70.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x72.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x73.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x74.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x75.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x76.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x77.html create mode 100644 trunk/paradiseo-moeo/doc/html/functions_0x7e.html create mode 100644 trunk/paradiseo-moeo/doc/html/make__eval__FlowShop_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/make__genotype__FlowShop_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/make__ls__moeo_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/make__op__FlowShop_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/moeoIBMOLS_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/moeoIteratedIBMOLS_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/moeoMoveIncrEval_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/moeoReferencePointIndicatorBasedFitnessAssignment_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/pmoeoEA_8h-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/t-moeo_8cpp-source.html create mode 100644 trunk/paradiseo-moeo/doc/html/tutorial_2examples_2flowshop_2benchs_2README-source.html create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShop.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShop.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopBenchmarkParser.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopEval.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopEval.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopInit.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopInit.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationExchange.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationExchange.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationShift.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationShift.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classSch1.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classSch1.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classSch1Eval.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classSch1Eval.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS_1_1OneObjectiveComparator.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS_1_1OneObjectiveComparator.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoIteratedIBMOLS.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoIteratedIBMOLS.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoMoveIncrEval.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoMoveIncrEval.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoReferencePointIndicatorBasedFitnessAssignment.eps create mode 100644 trunk/paradiseo-moeo/doc/latex/classmoeoReferencePointIndicatorBasedFitnessAssignment.tex create mode 100644 trunk/paradiseo-moeo/doc/latex/classpeoEA.tex create mode 100644 trunk/paradiseo-moeo/doc/man/man3/FlowShop.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/FlowShopBenchmarkParser.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/FlowShopEval.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/FlowShopInit.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/FlowShopObjectiveVectorTraits.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/FlowShopOpCrossoverQuad.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/FlowShopOpMutationExchange.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/FlowShopOpMutationShift.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/Sch1.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/Sch1Eval.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/Sch1ObjectiveVectorTraits.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/moeoIBMOLS.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/moeoIBMOLS_OneObjectiveComparator.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/moeoIteratedIBMOLS.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/moeoMoveIncrEval.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/moeoReferencePointIndicatorBasedFitnessAssignment.3 create mode 100644 trunk/paradiseo-moeo/doc/man/man3/peoEA.3 diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html new file mode 100644 index 000000000..bae6d394f --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8cpp-source.html @@ -0,0 +1,129 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopBenchmarkParser.cpp Source File + + + + +
+
+

FlowShopBenchmarkParser.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopBenchmarkParser.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <stdexcept>
+00014 #include <FlowShopBenchmarkParser.h>
+00015 
+00016 FlowShopBenchmarkParser::FlowShopBenchmarkParser(const std::string _benchmarkFileName)
+00017 {
+00018     init(_benchmarkFileName);
+00019 }
+00020 
+00021 
+00022 const unsigned int FlowShopBenchmarkParser::getM()
+00023 {
+00024     return M;
+00025 }
+00026 
+00027 
+00028 const unsigned int FlowShopBenchmarkParser::getN()
+00029 {
+00030     return N;
+00031 }
+00032 
+00033 
+00034 const std::vector< std::vector<unsigned int> > FlowShopBenchmarkParser::getP()
+00035 {
+00036     return p;
+00037 }
+00038 
+00039 
+00040 const std::vector<unsigned int> FlowShopBenchmarkParser::getD()
+00041 {
+00042     return d;
+00043 }
+00044 
+00045 
+00046 void FlowShopBenchmarkParser::printOn(std::ostream & _os) const
+00047 {
+00048     _os << "M=" << M << " N=" << N << std::endl;
+00049     _os << "*** processing times" << std::endl;
+00050     for (unsigned int i=0; i<M; i++) {
+00051         for (unsigned int j=0; j<N; j++) {
+00052             _os << p[i][j] << " ";
+00053         }
+00054         _os << std::endl;
+00055     }
+00056     _os << "*** due-dates" << std::endl;
+00057     for (unsigned int j=0; j<N; j++) {
+00058         _os << d[j] << " ";
+00059     }
+00060     _os << std::endl << std::endl;
+00061 }
+00062 
+00063 
+00064 void FlowShopBenchmarkParser::init(const std::string _benchmarkFileName)
+00065 {
+00066     std::string buffer;
+00067     std::string::size_type start, end;
+00068     std::ifstream inputFile(_benchmarkFileName.data(), std::ios::in);
+00069     // opening of the benchmark file
+00070     if (! inputFile)
+00071         throw std::runtime_error("*** ERROR : Unable to open the benchmark file");
+00072     // number of jobs (N)
+00073     getline(inputFile, buffer, '\n');
+00074     N = atoi(buffer.data());
+00075     // number of machines M
+00076     getline(inputFile, buffer, '\n');
+00077     M = atoi(buffer.data());
+00078     // initial and current seeds (not used)
+00079     getline(inputFile, buffer, '\n');
+00080     // processing times and due-dates
+00081     p = std::vector< std::vector<unsigned int> > (M,N);
+00082     d = std::vector<unsigned int> (N);
+00083     // for each job...
+00084     for (unsigned int j=0 ; j<N ; j++) {
+00085         // index of the job (<=> j)
+00086         getline(inputFile, buffer, '\n');
+00087         // due-date of the job j
+00088         getline(inputFile, buffer, '\n');
+00089         d[j] = atoi(buffer.data());
+00090         // processing times of the job j on each machine
+00091         getline(inputFile, buffer, '\n');
+00092         start = buffer.find_first_not_of(" ");
+00093         for (unsigned int i=0 ; i<M ; i++) {
+00094             end = buffer.find_first_of(" ", start);
+00095             p[i][j] = atoi(buffer.substr(start, end-start).data());
+00096             start = buffer.find_first_not_of(" ", end);
+00097         }
+00098     }
+00099     // closing of the input file
+00100     inputFile.close();
+00101 }
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8h-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8h-source.html new file mode 100644 index 000000000..0919ff0eb --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopBenchmarkParser_8h-source.html @@ -0,0 +1,82 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopBenchmarkParser.h Source File + + + + +
+
+

FlowShopBenchmarkParser.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopBenchmarkParser.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef FLOWSHOPBENCHMARKPARSER_H_
+00014 #define FLOWSHOPBENCHMARKPARSER_H_
+00015 
+00016 #include <fstream>
+00017 #include <string>
+00018 #include <vector>
+00019 
+00023 class FlowShopBenchmarkParser
+00024 {
+00025 public:
+00026 
+00031     FlowShopBenchmarkParser(const std::string _benchmarkFileName);
+00032 
+00033 
+00037     const unsigned int getM();
+00038 
+00039 
+00043     const unsigned int getN();
+00044 
+00045 
+00049     const std::vector < std::vector < unsigned int > > getP();
+00050 
+00051 
+00055     const std::vector < unsigned int > getD();
+00056 
+00057 
+00061     void printOn(std::ostream & _os) const;
+00062 
+00063 
+00064 private:
+00065 
+00067     unsigned int M;
+00069     unsigned int N;
+00071     std::vector < std::vector < unsigned int > > p;
+00073     std::vector < unsigned int > d;
+00074 
+00075 
+00080     void init(const std::string _benchmarkFileName);
+00081 
+00082 };
+00083 
+00084 #endif /*FLOWSHOPBENCHMARKPARSER_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopEA_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopEA_8cpp-source.html new file mode 100644 index 000000000..168f09873 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopEA_8cpp-source.html @@ -0,0 +1,135 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopEA.cpp Source File + + + + +
+
+

FlowShopEA.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopEA.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 
+00014 // moeo general include
+00015 #include <moeo>
+00016 // for the creation of an evaluator
+00017 #include <make_eval_FlowShop.h>
+00018 // for the creation of an initializer
+00019 #include <make_genotype_FlowShop.h>
+00020 // for the creation of the variation operators
+00021 #include <make_op_FlowShop.h>
+00022 // how to initialize the population
+00023 #include <do/make_pop.h>
+00024 // the stopping criterion
+00025 #include <do/make_continue_moeo.h>
+00026 // outputs (stats, population dumps, ...)
+00027 #include <do/make_checkpoint_moeo.h>
+00028 // evolution engine (selection and replacement)
+00029 #include <do/make_ea_moeo.h>
+00030 // simple call to the algo
+00031 #include <do/make_run.h>
+00032 // checks for help demand, and writes the status file and make_help; in libutils
+00033 void make_help(eoParser & _parser);
+00034 // definition of the representation
+00035 #include <FlowShop.h>
+00036 
+00037 
+00038 using namespace std;
+00039 
+00040 
+00041 int main(int argc, char* argv[])
+00042 {
+00043     try
+00044     {
+00045     
+00046         eoParser parser(argc, argv);  // for user-parameter reading
+00047         eoState state;                // to keep all things allocated
+00048 
+00049 
+00050         /*** the representation-dependent things ***/
+00051 
+00052         // The fitness evaluation
+00053         eoEvalFuncCounter<FlowShop>& eval = do_make_eval(parser, state);
+00054         // the genotype (through a genotype initializer)
+00055         eoInit<FlowShop>& init = do_make_genotype(parser, state);
+00056         // the variation operators
+00057         eoGenOp<FlowShop>& op = do_make_op(parser, state);
+00058 
+00059 
+00060         /*** the representation-independent things ***/
+00061 
+00062         // initialization of the population
+00063         eoPop<FlowShop>& pop = do_make_pop(parser, state, init);
+00064         // definition of the archive
+00065         moeoArchive<FlowShop> arch;
+00066         // stopping criteria
+00067         eoContinue<FlowShop>& term = do_make_continue_moeo(parser, state, eval);
+00068         // output
+00069         eoCheckPoint<FlowShop>& checkpoint = do_make_checkpoint_moeo(parser, state, eval, term, pop, arch);
+00070         // algorithm
+00071         eoAlgo<FlowShop>& algo = do_make_ea_moeo(parser, state, eval, checkpoint, op, arch);
+00072 
+00073 
+00074         /*** Go ! ***/
+00075 
+00076         // help ?
+00077         make_help(parser);
+00078 
+00079         // first evalution
+00080         apply<FlowShop>(eval, pop);
+00081 
+00082         // printing of the initial population
+00083         cout << "Initial Population\n";
+00084         pop.sortedPrintOn(cout);
+00085         cout << endl;
+00086 
+00087         // run the algo
+00088         do_run(algo, pop);
+00089 
+00090         // printing of the final population
+00091         cout << "Final Population\n";
+00092         pop.sortedPrintOn(cout);
+00093         cout << endl;
+00094 
+00095         // printing of the final archive
+00096         cout << "Final Archive\n";
+00097         arch.sortedPrintOn(cout);
+00098         cout << endl;
+00099 
+00100 
+00101     }
+00102     catch (exception& e)
+00103     {
+00104         cout << e.what() << endl;
+00105     }
+00106     return EXIT_SUCCESS;
+00107 }
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopEval_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopEval_8cpp-source.html new file mode 100644 index 000000000..57ea467ec --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopEval_8cpp-source.html @@ -0,0 +1,92 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopEval.cpp Source File + + + + +
+
+

FlowShopEval.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopEval.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <FlowShopEval.h>
+00014 
+00015 
+00016 FlowShopEval::FlowShopEval(unsigned int _M, unsigned int _N, const std::vector< std::vector<unsigned int> > & _p, const std::vector<unsigned int> & _d) :
+00017         M(_M), N (_N), p(_p), d(_d)
+00018 {}
+00019 
+00020 
+00021 void FlowShopEval::operator()(FlowShop & _flowshop)
+00022 {
+00023     FlowShopObjectiveVector objVector;
+00024     objVector[0] = makespan(_flowshop);
+00025     objVector[1] = tardiness(_flowshop);
+00026     _flowshop.objectiveVector(objVector);
+00027 }
+00028 
+00029 
+00030 
+00031 double FlowShopEval::makespan(const FlowShop & _flowshop)
+00032 {
+00033     // completion times computation for each job on each machine
+00034     // C[i][j] = completion of the jth job of the scheduling on the ith machine
+00035     std::vector< std::vector<unsigned int> > C = completionTime(_flowshop);
+00036     return C[M-1][_flowshop[N-1]];
+00037 }
+00038 
+00039 
+00040 double FlowShopEval::tardiness(const FlowShop & _flowshop)
+00041 {
+00042     // completion times computation for each job on each machine
+00043     // C[i][j] = completion of the jth job of the scheduling on the ith machine
+00044     std::vector< std::vector<unsigned int> > C = completionTime(_flowshop);
+00045     // tardiness computation
+00046     unsigned int long sum = 0;
+00047     for (unsigned int j=0 ; j<N ; j++)
+00048         sum += (unsigned int) std::max (0, (int) (C[M-1][_flowshop[j]] - d[_flowshop[j]]));
+00049     return sum;
+00050 }
+00051 
+00052 
+00053 std::vector< std::vector<unsigned int> > FlowShopEval::completionTime(const FlowShop & _flowshop) {
+00054     std::vector< std::vector<unsigned int> > C(M,N);
+00055     C[0][_flowshop[0]] = p[0][_flowshop[0]];
+00056     for (unsigned int j=1; j<N; j++)
+00057         C[0][_flowshop[j]] = C[0][_flowshop[j-1]] + p[0][_flowshop[j]];
+00058     for (unsigned int i=1; i<M; i++)
+00059         C[i][_flowshop[0]] = C[i-1][_flowshop[0]] + p[i][_flowshop[0]];
+00060     for (unsigned int i=1; i<M; i++)
+00061         for (unsigned int j=1; j<N; j++)
+00062             C[i][_flowshop[j]] = std::max(C[i][_flowshop[j-1]], C[i-1][_flowshop[j]]) + p[i][_flowshop[j]];
+00063     return C;
+00064 }
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopEval_8h-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopEval_8h-source.html new file mode 100644 index 000000000..89f92434f --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopEval_8h-source.html @@ -0,0 +1,76 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopEval.h Source File + + + + +
+
+

FlowShopEval.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopEval.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef FLOWSHOPEVAL_H_
+00014 #define FLOWSHOPEVAL_H_
+00015 
+00016 #include <vector>
+00017 #include <core/moeoEvalFunc.h>
+00018 #include <FlowShop.h>
+00019 
+00023 class FlowShopEval : public moeoEvalFunc<FlowShop>
+00024 {
+00025 public:
+00026 
+00034     FlowShopEval(unsigned int _M, unsigned int _N, const std::vector< std::vector<unsigned int> > & _p, const std::vector<unsigned int> & _d);
+00035 
+00036 
+00041     void operator()(FlowShop & _flowshop);
+00042 
+00043 
+00044 private:
+00045 
+00047     unsigned int M;
+00049     unsigned int N;
+00051     std::vector< std::vector < unsigned int > > p;
+00053     std::vector < unsigned int > d;
+00054 
+00055 
+00060     double makespan(const FlowShop & _flowshop);
+00061 
+00062 
+00067     double tardiness(const FlowShop & _flowshop);
+00068 
+00069 
+00075     std::vector< std::vector<unsigned int> > completionTime (const FlowShop & _flowshop);
+00076 
+00077 };
+00078 
+00079 #endif /*FLOWSHOPEVAL_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopInit_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopInit_8cpp-source.html new file mode 100644 index 000000000..517100d66 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopInit_8cpp-source.html @@ -0,0 +1,67 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopInit.cpp Source File + + + + +
+
+

FlowShopInit.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopInit.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <FlowShopInit.h>
+00014 
+00015 
+00016 FlowShopInit::FlowShopInit(unsigned int _N) : N(_N)
+00017 {}
+00018 
+00019 
+00020 void FlowShopInit::operator()(FlowShop & _flowshop)
+00021 {
+00022     // scheduling vector
+00023     std::vector<unsigned int> scheduling(N);
+00024     // initialisation of possible values
+00025     std::vector<unsigned int> possibles(N);
+00026     for (unsigned int i=0 ; i<N ; i++)
+00027         possibles[i] = i;
+00028     // random initialization
+00029     unsigned int rInd;     // random index
+00030     for (unsigned int i=0; i<N; i++)
+00031     {
+00032         rInd = (unsigned int) rng.uniform(N-i);
+00033         scheduling[i] = possibles[rInd];
+00034         possibles[rInd] = possibles[N-i-1];
+00035     }
+00036     _flowshop.resize(N);
+00037     _flowshop.value(scheduling);
+00038     _flowshop.invalidate();        // IMPORTANT in case the _genotype is old
+00039 }
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopInit_8h-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopInit_8h-source.html new file mode 100644 index 000000000..a2f0e2d18 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopInit_8h-source.html @@ -0,0 +1,63 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopInit.h Source File + + + + +
+
+

FlowShopInit.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopInit.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef FLOWSHOPINIT_H_
+00014 #define FLOWSHOPINIT_H_
+00015 
+00016 #include <eoInit.h>
+00017 #include <FlowShop.h>
+00018 
+00022 class FlowShopInit : public eoInit<FlowShop>
+00023 {
+00024 public:
+00025 
+00030     FlowShopInit(unsigned int _N);
+00031 
+00032 
+00037     void operator()(FlowShop & _flowshop);
+00038 
+00039 
+00040 private:
+00041 
+00043     unsigned int N;
+00044 
+00045 };
+00046 
+00047 #endif /*FLOWSHOPINIT_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8cpp-source.html new file mode 100644 index 000000000..e2151de10 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8cpp-source.html @@ -0,0 +1,60 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopObjectiveVectorTraits.cpp Source File + + + + +
+
+

FlowShopObjectiveVectorTraits.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopObjectiveVectorTraits.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <FlowShopObjectiveVectorTraits.h>
+00014 
+00015 
+00016 bool FlowShopObjectiveVectorTraits::minimizing (int _i)
+00017 {
+00018     // minimizing both
+00019     return true;
+00020 }
+00021 
+00022 bool FlowShopObjectiveVectorTraits::maximizing (int _i)
+00023 {
+00024     // minimizing both
+00025     return false;
+00026 }
+00027 
+00028 unsigned int FlowShopObjectiveVectorTraits::nObjectives ()
+00029 {
+00030     // 2 objectives
+00031     return 2;
+00032 }
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8h-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8h-source.html new file mode 100644 index 000000000..019fc5f7c --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVectorTraits_8h-source.html @@ -0,0 +1,60 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopObjectiveVectorTraits.h Source File + + + + +
+
+

FlowShopObjectiveVectorTraits.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopObjectiveVectorTraits.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef FLOWSHOPOBJECTIVEVECTORTRAITS_H_
+00014 #define FLOWSHOPOBJECTIVEVECTORTRAITS_H_
+00015 
+00016 #include <core/moeoObjectiveVectorTraits.h>
+00017 
+00021 class FlowShopObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00022 {
+00023 public:
+00024 
+00029     static bool minimizing (int _i);
+00030 
+00031 
+00036     static bool maximizing (int _i);
+00037 
+00038 
+00042     static unsigned int nObjectives ();
+00043 
+00044 };
+00045 
+00046 #endif /*FLOWSHOPOBJECTIVEVECTORTRAITS_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVector_8h-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVector_8h-source.html new file mode 100644 index 000000000..72287fcf6 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopObjectiveVector_8h-source.html @@ -0,0 +1,49 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopObjectiveVector.h Source File + + + + +
+
+

FlowShopObjectiveVector.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopObjectiveVector.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef FLOWSHOPOBJECTIVEVECTOR_H_
+00014 #define FLOWSHOPOBJECTIVEVECTOR_H_
+00015 
+00016 #include <core/moeoRealObjectiveVector.h>
+00017 #include <FlowShopObjectiveVectorTraits.h>
+00018 
+00022 typedef moeoRealObjectiveVector < FlowShopObjectiveVectorTraits > FlowShopObjectiveVector;
+00023 
+00024 #endif /*FLOWSHOPOBJECTIVEVECTOR_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8cpp-source.html new file mode 100644 index 000000000..d043498ed --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8cpp-source.html @@ -0,0 +1,112 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopOpCrossoverQuad.cpp Source File + + + + +
+
+

FlowShopOpCrossoverQuad.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopOpCrossoverQuad.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <FlowShopOpCrossoverQuad.h>
+00014 
+00015 
+00016 std::string FlowShopOpCrossoverQuad::className() const
+00017 {
+00018     return "FlowShopOpCrossoverQuad";
+00019 }
+00020 
+00021 
+00022 bool FlowShopOpCrossoverQuad::operator()(FlowShop & _flowshop1, FlowShop & _flowshop2)
+00023 {
+00024     bool oneAtLeastIsModified;
+00025     // computation of the 2 random points
+00026     unsigned int point1, point2;
+00027     do
+00028     {
+00029         point1 =  rng.random(std::min(_flowshop1.size(), _flowshop2.size()));
+00030         point2 =  rng.random(std::min(_flowshop1.size(), _flowshop2.size()));
+00031     } while (fabs((double) point1-point2) <= 2);
+00032     // computation of the offspring
+00033     FlowShop offspring1 = generateOffspring(_flowshop1, _flowshop2, point1, point2);
+00034     FlowShop offspring2 = generateOffspring(_flowshop2, _flowshop1, point1, point2);
+00035     // does at least one genotype has been modified ?
+00036     if ((_flowshop1 != offspring1) || (_flowshop2 != offspring2))
+00037     {
+00038         // update
+00039         _flowshop1.value(offspring1);
+00040         _flowshop2.value(offspring2);
+00041         // at least one genotype has been modified
+00042         oneAtLeastIsModified = true;
+00043     }
+00044     else
+00045     {
+00046         // no genotype has been modified
+00047         oneAtLeastIsModified = false;
+00048     }
+00049     // return 'true' if at least one genotype has been modified
+00050     return oneAtLeastIsModified;
+00051 }
+00052 
+00053 
+00054 FlowShop FlowShopOpCrossoverQuad::generateOffspring(const FlowShop & _parent1, const FlowShop & _parent2, unsigned int _point1, unsigned int _point2)
+00055 {
+00056     FlowShop result = _parent1;
+00057     std::vector<bool> taken_values(result.size(), false);
+00058     if (_point1 > _point2)
+00059         std::swap(_point1, _point2);
+00060     /* first parent */
+00061     for (unsigned int i=0 ; i<=_point1 ; i++)
+00062     {
+00063         // result[i] == _parent1[i]
+00064         taken_values[_parent1[i]] = true;
+00065     }
+00066     for (unsigned int i=_point2 ; i<result.size() ; i++)
+00067     {
+00068         // result[i] == _parent1[i]
+00069         taken_values[_parent1[i]] = true;
+00070     }
+00071     /* second parent */
+00072     unsigned int i = _point1+1;
+00073     unsigned int j = 0;
+00074     while (i<_point2 && j<_parent2.size())
+00075     {
+00076         if (! taken_values[_parent2[j]])
+00077         {
+00078             result[i] = _parent2[j];
+00079             i++;
+00080         }
+00081         j++;
+00082     }
+00083     return result;
+00084 }
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8h-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8h-source.html new file mode 100644 index 000000000..3e74236d7 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopOpCrossoverQuad_8h-source.html @@ -0,0 +1,63 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopOpCrossoverQuad.h Source File + + + + +
+
+

FlowShopOpCrossoverQuad.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopOpCrossoverQuad.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef FLOWSHOPOPCROSSOVERQUAD_H_
+00014 #define FLOWSHOPOPCROSSOVERQUAD_H_
+00015 
+00016 #include <eoOp.h>
+00017 #include <FlowShop.h>
+00018 
+00022 class FlowShopOpCrossoverQuad : public eoQuadOp < FlowShop >
+00023 {
+00024 public:
+00025 
+00029     std::string className() const;
+00030 
+00031 
+00037     bool operator()(FlowShop & _flowshop1, FlowShop & _flowshop2);
+00038 
+00039 
+00040 private:
+00041 
+00049     FlowShop generateOffspring(const FlowShop & _parent1, const FlowShop & _parent2, unsigned int _point1, unsigned int _point2);
+00050 
+00051 };
+00052 
+00053 #endif /*FLOWSHOPOPCROSSOVERQUAD_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8cpp-source.html new file mode 100644 index 000000000..b1bb51814 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8cpp-source.html @@ -0,0 +1,78 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopOpMutationExchange.cpp Source File + + + + +
+
+

FlowShopOpMutationExchange.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopOpCrossoverQuad.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <FlowShopOpMutationExchange.h>
+00014 
+00015 
+00016 std::string FlowShopOpMutationExchange::className() const
+00017 {
+00018     return "FlowShopOpMutationExchange";
+00019 }
+00020 
+00021 
+00022 bool FlowShopOpMutationExchange::operator()(FlowShop & _flowshop)
+00023 {
+00024     bool isModified;
+00025     FlowShop result = _flowshop;
+00026     // computation of the 2 random points
+00027     unsigned int point1, point2;
+00028     do
+00029     {
+00030         point1 = rng.random(result.size());
+00031         point2 = rng.random(result.size());
+00032     } while (point1 == point2);
+00033     // swap
+00034     std::swap (result[point1], result[point2]);
+00035     // update (if necessary)
+00036     if (result != _flowshop)
+00037     {
+00038         // update
+00039         _flowshop.value(result);
+00040         // the genotype has been modified
+00041         isModified = true;
+00042     }
+00043     else
+00044     {
+00045         // the genotype has not been modified
+00046         isModified = false;
+00047     }
+00048     // return 'true' if the genotype has been modified
+00049     return isModified;
+00050 }
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8h-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8h-source.html new file mode 100644 index 000000000..36e594109 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationExchange_8h-source.html @@ -0,0 +1,58 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopOpMutationExchange.h Source File + + + + +
+
+

FlowShopOpMutationExchange.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopOpCrossoverQuad.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef FLOWSHOPOPMUTATIONEXCHANGE_H_
+00014 #define FLOWSHOPOPMUTATIONEXCHANGE_H_
+00015 
+00016 #include <eoOp.h>
+00017 #include <FlowShop.h>
+00018 
+00022 class FlowShopOpMutationExchange : public eoMonOp<FlowShop>
+00023 {
+00024 public:
+00025 
+00029     std::string className() const;
+00030 
+00031 
+00036     bool operator()(FlowShop & _flowshop);
+00037 
+00038 };
+00039 
+00040 #endif /*FLOWSHOPOPMUTATIONEXCHANGE_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8cpp-source.html new file mode 100644 index 000000000..4d8cc7198 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8cpp-source.html @@ -0,0 +1,88 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopOpMutationShift.cpp Source File + + + + +
+
+

FlowShopOpMutationShift.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopOpMutationShift.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <FlowShopOpMutationShift.h>
+00014 
+00015 
+00016 std::string FlowShopOpMutationShift::className() const
+00017 {
+00018     return "FlowShopOpMutationShift";
+00019 }
+00020 
+00021 
+00022 bool FlowShopOpMutationShift::operator()(FlowShop & _flowshop)
+00023 {
+00024     bool isModified;
+00025     int direction;
+00026     unsigned int tmp;
+00027     FlowShop result = _flowshop;
+00028     // computation of the 2 random points
+00029     unsigned int point1, point2;
+00030     do
+00031     {
+00032         point1 = rng.random(result.size());
+00033         point2 = rng.random(result.size());
+00034     } while (point1 == point2);
+00035     // direction
+00036     if (point1 < point2)
+00037         direction = 1;
+00038     else
+00039         direction = -1;
+00040     // mutation
+00041     tmp = result[point1];
+00042     for (unsigned int i=point1 ; i!=point2 ; i+=direction)
+00043         result[i] = result[i+direction];
+00044     result[point2] = tmp;
+00045     // update (if necessary)
+00046     if (result != _flowshop)
+00047     {
+00048         // update
+00049         _flowshop.value(result);
+00050         // the genotype has been modified
+00051         isModified = true;
+00052     }
+00053     else
+00054     {
+00055         // the genotype has not been modified
+00056         isModified = false;
+00057     }
+00058     // return 'true' if the genotype has been modified
+00059     return isModified;
+00060 }
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8h-source.html b/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8h-source.html new file mode 100644 index 000000000..da9808f6f --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShopOpMutationShift_8h-source.html @@ -0,0 +1,58 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopOpMutationShift.h Source File + + + + +
+
+

FlowShopOpMutationShift.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShopOpMutationShift.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef FLOWSHOPOPMUTATIONSHIFT_H_
+00014 #define FLOWSHOPOPMUTATIONSHIFT_H_
+00015 
+00016 #include <eoOp.h>
+00017 #include <FlowShop.h>
+00018 
+00022 class FlowShopOpMutationShift : public eoMonOp < FlowShop >
+00023 {
+00024 public:
+00025 
+00029     std::string className() const;
+00030 
+00031 
+00036     bool operator()(FlowShop & _flowshop);
+00037 
+00038 };
+00039 
+00040 #endif /*FLOWSHOPOPMUTATIONSHIFT_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShop_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/FlowShop_8cpp-source.html new file mode 100644 index 000000000..30cfded2e --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShop_8cpp-source.html @@ -0,0 +1,46 @@ + + +ParadisEO-MOEOMovingObjects: FlowShop.cpp Source File + + + + +
+
+

FlowShop.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShop.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <FlowShop.h>
+00014 
+00015 std::string FlowShop::className() const
+00016 {
+00017     return "FlowShop";
+00018 }
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/FlowShop_8h-source.html b/trunk/paradiseo-moeo/doc/html/FlowShop_8h-source.html new file mode 100644 index 000000000..10873c602 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/FlowShop_8h-source.html @@ -0,0 +1,55 @@ + + +ParadisEO-MOEOMovingObjects: FlowShop.h Source File + + + + +
+
+

FlowShop.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // FlowShop.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef FLOWSHOP_H_
+00014 #define FLOWSHOP_H_
+00015 
+00016 #include <core/moeoVector.h>
+00017 #include <FlowShopObjectiveVector.h>
+00018 
+00022 class FlowShop: public moeoVector < FlowShopObjectiveVector , double , double , unsigned int >
+00023 {
+00024 public:
+00025 
+00029     std::string className() const;
+00030 
+00031 };
+00032 
+00033 #endif /*FLOWSHOP_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/README-source.html b/trunk/paradiseo-moeo/doc/html/README-source.html new file mode 100644 index 000000000..fbf74993d --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/README-source.html @@ -0,0 +1,108 @@ + + +ParadisEO-MOEOMovingObjects: 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 The latest news about ParadisEO-MOEO can be found on the gforge repository at
+00008 http://paradiseo.gforge.inria.fr/
+00009 In case of any problem, please e-mail us at
+00010 paradiseo-help@lists.gforge.inria.fr
+00011 
+00012 
+00013 =======================================================================
+00014                         BUILDING PARADISEO-MOEO
+00015 =======================================================================
+00016 The basic installation procedure goes the following.
+00017 
+00018 To compile paradiseo-moeo in the default directory,
+00019 go to paradiseo-moeo/build/ and run:
+00020     > cmake ../ -Dconfig=<path to the install.cmake file>
+00021     > make
+00022     // for an easy-use of the provided lessons
+00023     > make install
+00024     // optional (if the documentation is not already available)
+00025     > make doc
+00026 
+00027 To compile paradiseo-moeo anywhere else, simply run:
+00028     > cmake $(MOEO) -Dconfig=<path to the install.cmake file>
+00029     > make
+00030     // for an easy-use of the provided lessons
+00031     > make install
+00032     // optional (if the documentation is not already available)
+00033     > make doc
+00034 
+00035 where $(MOEO) is the top-level directory of PARADISEO-MOEO.
+00036 
+00037 To clean everything, simply run
+00038     > make clean
+00039 
+00040 =======================================================================
+00041                           DIRECTORY STRUCTURE
+00042 =======================================================================
+00043 After unpacking the archive file, you should end up with the following
+00044 structure:
+00045 
+00046 .../                       The main PARADISEO-MOEO directory, created when unpacking.
+00047    |
+00048    |
+00049    +-- build               BUILD directory that contains libraries and executable files.
+00050    |
+00051    |
+00052    +-- src                 SOURCE directory that contains PARADISEO-MOEO source files.
+00053    |
+00054    |
+00055    +-- doc                 DOCUMENTATION directory (generated by Doxygen).
+00056    |   |
+00057    |   +-- html            HTML files - start at index.html.
+00058    |   |
+00059    |   +-- latex           latex files - use to generate Postcript doc.
+00060    |   |
+00061    |   +-- man             Unix man format documentation.
+00062    |
+00063    |
+00064    +-- tutorial            TUTORIAL directory that contains with lessons.
+00065        |
+00066        +-- examples        APPLICATIONS - one directory per separate application.
+00067        |   |
+00068        |   +-- flowshop    Flow-shop scheduling problem example source files.
+00069        |       |
+00070        |       +-- benchs  Benchmark suites for the flow-shop.
+00071        |
+00072        +-- Lesson1         A bi-objective flow-shop problem example solved using main MOEAs.
+00073        |
+00074        +-- Lesson2         NSGA-II to solve the SCH1 problem.
+00075 
+00076 =======================================================================
+00077                                  NOTES
+00078 =======================================================================
+00079 
+00080 Mailing list : paradiseo-help@lists.gforge.inria.fr
+

Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/Sch1_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/Sch1_8cpp-source.html new file mode 100644 index 000000000..95e3646b8 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/Sch1_8cpp-source.html @@ -0,0 +1,135 @@ + + +ParadisEO-MOEOMovingObjects: Sch1.cpp Source File + + + + +
+
+

Sch1.cpp

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // Sch1.cpp
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #include <stdio.h>
+00014 #include <moeo>
+00015 #include <es/eoRealInitBounded.h>
+00016 #include <es/eoRealOp.h>
+00017 
+00018 using namespace std;
+00019 
+00020 // the moeoObjectiveVectorTraits : minimizing 2 objectives
+00021 class Sch1ObjectiveVectorTraits : public moeoObjectiveVectorTraits
+00022 {
+00023 public:
+00024     static bool minimizing (int i)
+00025     {
+00026         return true;
+00027     }
+00028     static bool maximizing (int i)
+00029     {
+00030         return false;
+00031     }
+00032     static unsigned int nObjectives ()
+00033     {
+00034         return 2;
+00035     }
+00036 };
+00037 
+00038 
+00039 // objective vector of real values
+00040 typedef moeoRealObjectiveVector < Sch1ObjectiveVectorTraits > Sch1ObjectiveVector;
+00041 
+00042 
+00043 // multi-objective evolving object for the Sch1 problem
+00044 class Sch1 : public moeoRealVector < Sch1ObjectiveVector, double, double >
+00045 {
+00046 public:
+00047     Sch1() : moeoRealVector < Sch1ObjectiveVector, double, double > (1) {}
+00048 };
+00049 
+00050 
+00051 // evaluation of objective functions
+00052 class Sch1Eval : public moeoEvalFunc < Sch1 >
+00053 {
+00054 public:
+00055     void operator () (Sch1 & _sch1)
+00056     {
+00057         if (_sch1.invalidObjectiveVector())
+00058         {
+00059             Sch1ObjectiveVector objVec;
+00060             double x = _sch1[0];
+00061             objVec[0] = x * x;
+00062             objVec[1] = (x - 2.0) * (x - 2.0);
+00063             _sch1.objectiveVector(objVec);
+00064         }
+00065     }
+00066 };
+00067 
+00068 
+00069 // main
+00070 int main (int argc, char *argv[])
+00071 {
+00072     // parameters
+00073     unsigned int POP_SIZE = 20;
+00074     unsigned int MAX_GEN = 100;
+00075     double M_EPSILON = 0.01;
+00076     double P_CROSS = 0.25;
+00077     double P_MUT = 0.35;
+00078 
+00079     // objective functions evaluation
+00080     Sch1Eval eval;
+00081 
+00082     // crossover and mutation
+00083     eoQuadCloneOp < Sch1 > xover;
+00084     eoUniformMutation < Sch1 > mutation (M_EPSILON);
+00085 
+00086     // generate initial population
+00087     eoRealVectorBounds bounds (1, 0.0, 2.0);    // [0, 2]
+00088     eoRealInitBounded < Sch1 > init (bounds);
+00089     eoPop < Sch1 > pop (POP_SIZE, init);
+00090 
+00091     // build NSGA-II
+00092     moeoNSGAII < Sch1 > nsgaII (MAX_GEN, eval, xover, P_CROSS, mutation, P_MUT);
+00093 
+00094     // run the algo
+00095     nsgaII (pop);
+00096 
+00097     // extract first front of the final population using an moeoArchive (this is the output of nsgaII)
+00098     moeoArchive < Sch1 > arch;
+00099     arch.update (pop);
+00100 
+00101     // printing of the final archive
+00102     cout << "Final Archive" << endl;
+00103     arch.sortedPrintOn (cout);
+00104     cout << endl;
+00105 
+00106     return EXIT_SUCCESS;
+00107 }
+

Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShop-members.html b/trunk/paradiseo-moeo/doc/html/classFlowShop-members.html new file mode 100644 index 000000000..5a213f39c --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShop-members.html @@ -0,0 +1,86 @@ + + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+
+
+

FlowShop Member List

This is the complete list of members for FlowShop, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtomType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >
className() const FlowShop [virtual]
ContainerType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >
Diversity typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
diversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
diversity(const Diversity &_diversityValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO()EO< MOEOObjectiveVector >
EO()EO< MOEOObjectiveVector >
Fitness typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
fitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
fitness(const Fitness &_fitnessValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::fitness(const Fitness &_fitness)EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::fitness(performance_type perf)EO< MOEOObjectiveVector >
fitness_traits typedefEO< MOEOObjectiveVector >
fitnessReference()EO< MOEOObjectiveVector >
invalid() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate_worth(void)EO< MOEOObjectiveVector >
invalidateDiversity()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateFitness()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateObjectiveVector()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidFitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidObjectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoVector(unsigned int _size=0, GeneType _value=GeneType())moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline]
ObjectiveVector typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
objectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVector(const ObjectiveVector &_objectiveVectorValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > &_moeo) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline]
MOEO::operator<(const MOEO &_other) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::operator<(const EO &_eo2) const EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::operator<(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
operator>(const EO &_eo2) const EO< MOEOObjectiveVector >
operator>(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
performance(performance_type perf)EO< MOEOObjectiveVector >
performance(void) const EO< MOEOObjectiveVector >
performance_type typedefEO< MOEOObjectiveVector >
printOn(std::ostream &_os) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline, virtual]
readFrom(std::istream &_is)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline, virtual]
storage_type typedefEO< MOEOObjectiveVector >
value(const std::vector< GeneType > &_v)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > [inline]
worth(worth_type worth)EO< MOEOObjectiveVector >
worth(void) const EO< MOEOObjectiveVector >
worth_type typedefEO< MOEOObjectiveVector >
~EO()EO< MOEOObjectiveVector > [virtual]
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPrintable()eoPrintable [virtual]
~MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShop.html b/trunk/paradiseo-moeo/doc/html/classFlowShop.html new file mode 100644 index 000000000..095edf912 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShop.html @@ -0,0 +1,65 @@ + + +ParadisEO-MOEOMovingObjects: FlowShop Class Reference + + + + +
+
+
+
+

FlowShop Class Reference

Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. +More... +

+#include <FlowShop.h> +

+

Inheritance diagram for FlowShop: +

+ +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +EO< MOEOObjectiveVector > +eoObject +eoPersistent +eoPrintable + +List of all members. + + + + + +

Public Member Functions

+std::string className () const
 class name
+

Detailed Description

+Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. +

+ +

+Definition at line 22 of file FlowShop.h.


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShop.png b/trunk/paradiseo-moeo/doc/html/classFlowShop.png new file mode 100644 index 0000000000000000000000000000000000000000..e2566fff876f2d0713579b01dc1971c3856b54c6 GIT binary patch literal 2568 zcmb_ec{J2(AD=0btXYyPH{2Rp?4?B`CS0->H`|QClv|nMYM5!5vD`!nMRpmvqU$BH z^c%|^jBWA`HQqyvpE21YH4S2-vD~S9>eV^#Iq!1bKYr)=JkRre&hz^{pXK@8bannw zZrgX;AP|V0y`A-02xRjR1OhdZ*eo7tAgR=go1LzX?l$Y|>teXR-cnHDcSnpqKP@dS zk*(_!;x07otg{=$^3`A<1R_nfx3+S>dXJy)lQwo##kwp&=VRjoO}m=dn>li?%Y@Bw zRlY#d_1KH}nj#YguF4jFv`EWG@#V^r-{eUI8{EZgPEBd<1$QN2O|?PCr)J94J#qE? zm&mnoW|^ONEEe3JJCTIdz+42Ei!mPHh)8k8V`S&K=xWXc-NvK_l`^)7X+*PboD({F#*@VUn%# zoWL=Wd7*=1;8QbIX;h5Sox0OjTMA+^Opb;Rq+mD;l!ED&KpJ z41!)u_=D%<-S!c8!b+|2;4zfe!{{gXp@KJwh94%K&a^U;i~#r^EVjxMex*$o0|q&| z%55*bq*HhyQG%tV{(!H4eClUGS7f@~Yu@5nGpn7g4D4foz87;CoJ=XeMfMKopBu-y zeBb$_qmcld147zb9pprWx6YJ;a&F|+c8PB4A1R*GDPWbLi#aY-0J!ll7gvQwFa;IN zd;}i6n`KOrmNMP6;+0!Ep-Rb&w*s6PLjW9E`Il0@h^8IrMMv1Qh~zN4r0cMH(kRHU zaRv|@gc>BqOz-BEj(r}-Pt}jrTG^)`aIXJ{`ZHCR=}oR;qPB|3RQYFhj8>tHWhz@z z%kICM4mqb3!K#^)5lg`O8{urw&^Iu04Y3}f*>Z9^S$^Dbp>!W)0>H>oQRdZyy`A3BZs)~nx~^H&G|yHS2`f?(Z1&Q}+Pbpoq^6jT|y- z4_626MnmJXu{;`_(!APej2?Z4{2PuZHMGdf2l%T5lr4C-Q8#{~nxgq!@+4hJVbME1 z9a{jYUOj!HFX+r!m)cA|tEGdiN+nfweU9xftbH=$2g#Nojf5z8ipiN`#(dl2>r&i&@}XuB))jZxQe37zC=~nF`RpVO*KA2bd)g9b4b?Dxu-xJ z5eob2F)`Wrw#^Ja?1D%YtRX)RpP5aH1a$Gz3APV$3UWjlF8nyW$b`mMl69|vI*&D$ zEc-3)Unq}RN&0Sd+;%PP|W zg9c=4mMUJ*TyP4{FB&@+a^EN7c=>REE_v;`1?(amE~K2!@%>;l1Kx#`?zI#9#|gw} za~N+o4Rf169~wRU4k3@{a7Hv~4{@tNQuqTlE;FDLPU6T+*P&hm3C5%ooy24+Oh6OE z-_7G!YUlS~;`oL3yvyw=9wJcgqt>}WAd!t5-aV6AB9Nb-9qxbFZ%pzk@0`devv7zs z*gyS<;Yy_bLcV4IHnZGMAHev&`4#nRT+xZ*gk9%VU|vhHhvU3dlzSPEU7ZGEz`` zqU&_%+zU6bd2A7(h8xTR)U`mFf@++6CxMOy!iNE<39PaL1rH8#3})`0^U4j~UM*(> uB#U2tZ7bOM#Rg(WD1x@pTs26aaJ?JqGhc}Czb^i5gV@_RTUQ|be*F_14ef6L literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser-members.html b/trunk/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser-members.html new file mode 100644 index 000000000..938204793 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

FlowShopBenchmarkParser Member List

This is the complete list of members for FlowShopBenchmarkParser, including all inherited members.

+ + + + + + + + + + + +
dFlowShopBenchmarkParser [private]
FlowShopBenchmarkParser(const std::string _benchmarkFileName)FlowShopBenchmarkParser
getD()FlowShopBenchmarkParser
getM()FlowShopBenchmarkParser
getN()FlowShopBenchmarkParser
getP()FlowShopBenchmarkParser
init(const std::string _benchmarkFileName)FlowShopBenchmarkParser [private]
MFlowShopBenchmarkParser [private]
NFlowShopBenchmarkParser [private]
pFlowShopBenchmarkParser [private]
printOn(std::ostream &_os) const FlowShopBenchmarkParser


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser.html b/trunk/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser.html new file mode 100644 index 000000000..0ff249e64 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopBenchmarkParser.html @@ -0,0 +1,189 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopBenchmarkParser Class Reference + + + + +
+
+ +

FlowShopBenchmarkParser Class Reference

Class to handle parameters of a flow-shop instance from a benchmark file. +More... +

+#include <FlowShopBenchmarkParser.h> +

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

Public Member Functions

 FlowShopBenchmarkParser (const std::string _benchmarkFileName)
 Ctor.
+const unsigned int getM ()
 the number of machines
+const unsigned int getN ()
 the number of jobs
+const std::vector< std::vector<
+ unsigned int > > 
getP ()
 the processing times
+const std::vector< unsigned
+int > 
getD ()
 the due-dates
void printOn (std::ostream &_os) const
 printing.

Private Member Functions

void init (const std::string _benchmarkFileName)
 Initialisation of the parameters with the data contained in the benchmark file.

Private Attributes

+unsigned int M
 number of machines
+unsigned int N
 number of jobs
+std::vector< std::vector<
+ unsigned int > > 
p
 p[i][j] = processing time of job j on machine i
+std::vector< unsigned int > d
 d[j] = due-date of the job j
+


Detailed Description

+Class to handle parameters of a flow-shop instance from a benchmark file. +

+ +

+Definition at line 23 of file FlowShopBenchmarkParser.h.


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
FlowShopBenchmarkParser::FlowShopBenchmarkParser (const std::string  _benchmarkFileName  ) 
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_benchmarkFileName the name of the benchmark file
+
+ +

+Definition at line 16 of file FlowShopBenchmarkParser.cpp. +

+References init(). +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
void FlowShopBenchmarkParser::printOn (std::ostream &  _os  )  const
+
+
+ +

+printing. +

+.. +

+Definition at line 46 of file FlowShopBenchmarkParser.cpp. +

+References d, M, N, and p. +

+

+ +

+
+ + + + + + + + + +
void FlowShopBenchmarkParser::init (const std::string  _benchmarkFileName  )  [private]
+
+
+ +

+Initialisation of the parameters with the data contained in the benchmark file. +

+

Parameters:
+ + +
_benchmarkFileName the name of the benchmark file
+
+ +

+Definition at line 64 of file FlowShopBenchmarkParser.cpp. +

+References d, M, N, and p. +

+Referenced by FlowShopBenchmarkParser(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopEval-members.html b/trunk/paradiseo-moeo/doc/html/classFlowShopEval-members.html new file mode 100644 index 000000000..c02e9596b --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopEval-members.html @@ -0,0 +1,51 @@ + + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

FlowShopEval Member List

This is the complete list of members for FlowShopEval, including all inherited members.

+ + + + + + + + + + + + + + + +
completionTime(const FlowShop &_flowshop)FlowShopEval [private]
dFlowShopEval [private]
EOFitT typedefeoEvalFunc< FlowShop >
EOType typedefeoEvalFunc< FlowShop >
FlowShopEval(unsigned int _M, unsigned int _N, const std::vector< std::vector< unsigned int > > &_p, const std::vector< unsigned int > &_d)FlowShopEval
functor_category()eoUF< A1, R > [static]
MFlowShopEval [private]
makespan(const FlowShop &_flowshop)FlowShopEval [private]
NFlowShopEval [private]
operator()(FlowShop &_flowshop)FlowShopEval
moeoEvalFunc< FlowShop >::operator()(A1)=0eoUF< A1, R > [pure virtual]
pFlowShopEval [private]
tardiness(const FlowShop &_flowshop)FlowShopEval [private]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopEval.html b/trunk/paradiseo-moeo/doc/html/classFlowShopEval.html new file mode 100644 index 000000000..4776c3feb --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopEval.html @@ -0,0 +1,279 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopEval Class Reference + + + + +
+
+ +

FlowShopEval Class Reference

Evaluation of the objective vector a (multi-objective) FlowShop object. +More... +

+#include <FlowShopEval.h> +

+

Inheritance diagram for FlowShopEval: +

+ +moeoEvalFunc< FlowShop > +eoEvalFunc< FlowShop > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 FlowShopEval (unsigned int _M, unsigned int _N, const std::vector< std::vector< unsigned int > > &_p, const std::vector< unsigned int > &_d)
 Ctor.
void operator() (FlowShop &_flowshop)
 computation of the multi-objective evaluation of a FlowShop object

Private Member Functions

double makespan (const FlowShop &_flowshop)
 computation of the makespan
double tardiness (const FlowShop &_flowshop)
 computation of the tardiness
std::vector< std::vector<
+ unsigned int > > 
completionTime (const FlowShop &_flowshop)
 computation of the completion times of a scheduling (for each job on each machine) C[i][j] = completion of the jth job of the scheduling on the ith machine

Private Attributes

+unsigned int M
 number of machines
+unsigned int N
 number of jobs
+std::vector< std::vector<
+ unsigned int > > 
p
 p[i][j] = processing time of job j on machine i
+std::vector< unsigned int > d
 d[j] = due-date of the job j
+

Detailed Description

+Evaluation of the objective vector a (multi-objective) FlowShop object. +

+ +

+Definition at line 23 of file FlowShopEval.h.


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FlowShopEval::FlowShopEval (unsigned int  _M,
unsigned int  _N,
const std::vector< std::vector< unsigned int > > &  _p,
const std::vector< unsigned int > &  _d 
)
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + + +
_M the number of machines
_N the number of jobs to schedule
_p the processing times
_d the due dates
+
+ +

+Definition at line 16 of file FlowShopEval.cpp. +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
void FlowShopEval::operator() (FlowShop _flowshop  ) 
+
+
+ +

+computation of the multi-objective evaluation of a FlowShop object +

+

Parameters:
+ + +
_flowshop the FlowShop object to evaluate
+
+ +

+Definition at line 21 of file FlowShopEval.cpp. +

+References makespan(), MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVector(), and tardiness(). +

+

+ +

+
+ + + + + + + + + +
double FlowShopEval::makespan (const FlowShop _flowshop  )  [private]
+
+
+ +

+computation of the makespan +

+

Parameters:
+ + +
_flowshop the genotype to evaluate
+
+ +

+Definition at line 31 of file FlowShopEval.cpp. +

+References completionTime(), M, and N. +

+Referenced by operator()(). +

+

+ +

+
+ + + + + + + + + +
double FlowShopEval::tardiness (const FlowShop _flowshop  )  [private]
+
+
+ +

+computation of the tardiness +

+

Parameters:
+ + +
_flowshop the genotype to evaluate
+
+ +

+Definition at line 40 of file FlowShopEval.cpp. +

+References completionTime(), d, M, and N. +

+Referenced by operator()(). +

+

+ +

+
+ + + + + + + + + +
std::vector< std::vector< unsigned int > > FlowShopEval::completionTime (const FlowShop _flowshop  )  [private]
+
+
+ +

+computation of the completion times of a scheduling (for each job on each machine) C[i][j] = completion of the jth job of the scheduling on the ith machine +

+

Parameters:
+ + +
_flowshop the genotype to evaluate
+
+ +

+Definition at line 53 of file FlowShopEval.cpp. +

+References M, N, and p. +

+Referenced by makespan(), and tardiness(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopEval.png b/trunk/paradiseo-moeo/doc/html/classFlowShopEval.png new file mode 100644 index 0000000000000000000000000000000000000000..3dbdc85d2ca7b68e06c026335bc29a360c854e29 GIT binary patch literal 921 zcmV;K17`e*P)e}ret#>fPlUuQz4m8t}c{Y5lNLAuoaG>Y!qHi<8Q{~Sz2 zYLC;XISbAKoJRS1>P9fTOkG|^FoxOq5i)+*7!Q^SGG`yy)7~bmh zH84rm<97tGi5k06yC3Y<>Wp)6kizHA*~Q(Kv8{tee^b1On>6OQX=dO<8mp>cBkSD= zhpG^bnfOpuoDF~hekr)w?SD`F?wb7u;D3+1fgg|Gn}P3F6#xSaFu(u<3^2geX!hWJ zzyBZrZv(TpL6pm8Y;w$2ytgf2wab(9vEsdz%_cG07Qpr#IGI2rm;%hqz+BQ}3z#T! zGjP;C;XUAOIJ@%4FkN zv)eR5IT&OL9>Wt@Z!Rt2Y?3L=(%@vY*|Cjj*6gOiOrdp3X2c#SS_V%hkX4OWy4fxH zLg8>|SCi4uz$VkF2#)P&Vlw5;ZqdmiQXO92Y)Ugk6M6zCqs{mB`KvPTNh2ji0*~7X zJd#z$R)aGsvWyeV#nhix$#~K@cwi%#r)8POdE;AIlt@rh6?QWy*!m4?iR3%ei3|3iUba?2^`PBy`2F2>n>Od8po=T vI`+c5li3X}MZZ4fQ^1?QAK>=jR=5BElF7Y=h<1mn00000NkvXXu0mjf8bY=2 literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopInit-members.html b/trunk/paradiseo-moeo/doc/html/classFlowShopInit-members.html new file mode 100644 index 000000000..0abb84936 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopInit-members.html @@ -0,0 +1,44 @@ + + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

FlowShopInit Member List

This is the complete list of members for FlowShopInit, including all inherited members.

+ + + + + + + + +
className(void) const eoInit< FlowShop > [virtual]
FlowShopInit(unsigned int _N)FlowShopInit
functor_category()eoUF< A1, R > [static]
NFlowShopInit [private]
operator()(FlowShop &_flowshop)FlowShopInit
eoInit< FlowShop >::operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopInit.html b/trunk/paradiseo-moeo/doc/html/classFlowShopInit.html new file mode 100644 index 000000000..279433d08 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopInit.html @@ -0,0 +1,131 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopInit Class Reference + + + + +
+
+ +

FlowShopInit Class Reference

Initialization of a random genotype built by the default constructor of the FlowShop class. +More... +

+#include <FlowShopInit.h> +

+

Inheritance diagram for FlowShopInit: +

+ +eoInit< FlowShop > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Member Functions

 FlowShopInit (unsigned int _N)
 Ctor.
void operator() (FlowShop &_flowshop)
 builds a random genotype

Private Attributes

+unsigned int N
 the number of jobs (size of a scheduling vector)
+

Detailed Description

+Initialization of a random genotype built by the default constructor of the FlowShop class. +

+ +

+Definition at line 22 of file FlowShopInit.h.


Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + +
FlowShopInit::FlowShopInit (unsigned int  _N  ) 
+
+
+ +

+Ctor. +

+

Parameters:
+ + +
_N the number of jobs to schedule
+
+ +

+Definition at line 16 of file FlowShopInit.cpp. +

+

+


Member Function Documentation

+ +
+
+ + + + + + + + + +
void FlowShopInit::operator() (FlowShop _flowshop  ) 
+
+
+ +

+builds a random genotype +

+

Parameters:
+ + +
_flowshop a genotype that has been default-constructed
+
+ +

+Definition at line 20 of file FlowShopInit.cpp. +

+References MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::invalidate(), N, eoRng::uniform(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopInit.png b/trunk/paradiseo-moeo/doc/html/classFlowShopInit.png new file mode 100644 index 0000000000000000000000000000000000000000..8b39a251958fe6f5757a3f492b4ccd0397705441 GIT binary patch literal 680 zcmV;Z0$2TsP)w8p^DwnbaIF%ud3R__S-bguCCrJ?{o~;)6=}GntR|)!NWD@ya91q^9M}n_oI*f zBX8SfXZ=6v>+fmw<$67hKDFjbE3LHBO1}%OdhC2U-o~M*FXu&Mtu@)0uEYbD>-<`i zHL8Z>!J3xXTXYs8nRe(|taLQ&(ZH&&r&HcTT@sKgHp5Iv?DPNw8ndY4lQWK7#wPD! z>|x#mdYpHvxr0is3GMt&%{R>ry|>Z>>3#=2Hl-h3>^o!G~$Ihf3 zPo*P<~QW;6Gb-F}4M8JI@4?+_d*T{>h zapsdcY3VdU%3IuyG>*s~QASMX&KOTnom}YrTzXU>vHc*n5V0$WD;j1eZ}Uz==sxdK zb1q$5b7lc^$E>gUeKzjwy#rm@=hCXjo=&SCQ(9@Il~(%2X*gnwJ#aFkbhNgN;l-3S z@>^4H?`WHM@mjOlX6FtK0SY5-G{!Cl=*Q9oc84Y~4hZWu?y&U3(`Me5=!KvK=p)6o zL+99uPS5w#!OX)nk3!p<=}>cKf%BG{6TMOMnVFgU<>~21Kb1c8kNgJ=g= + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

FlowShopObjectiveVectorTraits Member List

This is the complete list of members for FlowShopObjectiveVectorTraits, including all inherited members.

+ + + + + + + +
maximizing(int _i)FlowShopObjectiveVectorTraits [static]
moeoObjectiveVectorTraits::maximizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
minimizing(int _i)FlowShopObjectiveVectorTraits [static]
moeoObjectiveVectorTraits::minimizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
nObjectives()FlowShopObjectiveVectorTraits [static]
setup(unsigned int _nObjectives, std::vector< bool > &_bObjectives)moeoObjectiveVectorTraits [inline, static]
tolerance()moeoObjectiveVectorTraits [inline, static]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.html b/trunk/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.html new file mode 100644 index 000000000..28e7b22fc --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.html @@ -0,0 +1,125 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopObjectiveVectorTraits Class Reference + + + + +
+
+ +

FlowShopObjectiveVectorTraits Class Reference

Definition of the objective vector traits for multi-objective flow-shop problems. +More... +

+#include <FlowShopObjectiveVectorTraits.h> +

+

Inheritance diagram for FlowShopObjectiveVectorTraits: +

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

Static Public Member Functions

static bool minimizing (int _i)
 Returns true if the _ith objective have to be minimzed.
static bool maximizing (int _i)
 Returns true if the _ith objective have to be maximzed.
+static unsigned int nObjectives ()
 Returns the number of objectives.
+

Detailed Description

+Definition of the objective vector traits for multi-objective flow-shop problems. +

+ +

+Definition at line 21 of file FlowShopObjectiveVectorTraits.h.


Member Function Documentation

+ +
+
+ + + + + + + + + +
bool FlowShopObjectiveVectorTraits::minimizing (int  _i  )  [static]
+
+
+ +

+Returns true if the _ith objective have to be minimzed. +

+

Parameters:
+ + +
_i index of the objective
+
+ +

+Definition at line 16 of file FlowShopObjectiveVectorTraits.cpp. +

+

+ +

+
+ + + + + + + + + +
bool FlowShopObjectiveVectorTraits::maximizing (int  _i  )  [static]
+
+
+ +

+Returns true if the _ith objective have to be maximzed. +

+

Parameters:
+ + +
_i index of the objective
+
+ +

+Definition at line 22 of file FlowShopObjectiveVectorTraits.cpp. +

+

+


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.png b/trunk/paradiseo-moeo/doc/html/classFlowShopObjectiveVectorTraits.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd860d7cb8bea8584ccc80ca47b1c593cbbb3f9 GIT binary patch literal 628 zcmV-)0*n2LP)KAG6ClX5ak?m zPIVrak=!DtOT^Zyh}p>vK;m7zarC1BFsyC^A|H`rIgPyJ@R77vpE zT1pE@Et7UpOHty+*h$fjq?s6v8k}HJWo+9ZSF>Z%RVB~HmX1m z0A~up?P1ep(Hm|6`qcq|B(uP_fy!wDzvS?UyuzVSc?MK#F-Nf!J)j(=JjFF&=mD~K zxmZsiyO2g&RHzDGZlik1RG^YftP1tD8aQXb#jOIMZ3|lfGr^WN1;8o-qvAGz$N(HF zX-dHQqX&>?V4Wf?VnyDH033jw8DQ=mpqk?fU{?c>O@|r)nxovV20b9)s*9{I6r)|F z-+}8Q3|dOEfVAJVi&~08;Kpbv+Lf>~en8FxzfYV^_;x` O0000 + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

FlowShopOpCrossoverQuad Member List

This is the complete list of members for FlowShopOpCrossoverQuad, including all inherited members.

+ + + + + + + + + + + + +
className() const FlowShopOpCrossoverQuad [virtual]
eoOp(OpType _type)eoOp< EOType >
eoOp(const eoOp &_eop)eoOp< EOType >
eoQuadOp()eoQuadOp< FlowShop >
functor_category()eoBF< FlowShop &, FlowShop &, bool > [static]
generateOffspring(const FlowShop &_parent1, const FlowShop &_parent2, unsigned int _point1, unsigned int _point2)FlowShopOpCrossoverQuad [private]
getType() const eoOp< EOType >
operator()(FlowShop &_flowshop1, FlowShop &_flowshop2)FlowShopOpCrossoverQuad [virtual]
OpType enum nameeoOp< EOType >
~eoBF()eoBF< FlowShop &, FlowShop &, bool > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoOp()eoOp< EOType > [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.html b/trunk/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.html new file mode 100644 index 000000000..a58f6fed2 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.html @@ -0,0 +1,169 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopOpCrossoverQuad Class Reference + + + + +
+
+ +

FlowShopOpCrossoverQuad Class Reference

Quadratic crossover operator for flow-shop (modify the both genotypes). +More... +

+#include <FlowShopOpCrossoverQuad.h> +

+

Inheritance diagram for FlowShopOpCrossoverQuad: +

+ +eoQuadOp< FlowShop > +eoOp< EOType > +eoBF< FlowShop &, FlowShop &, bool > +eoFunctorBase + +List of all members. + + + + + + + + + + + + +

Public Member Functions

+std::string className () const
 the class name (used to display statistics)
bool operator() (FlowShop &_flowshop1, FlowShop &_flowshop2)
 eoQuad crossover - _flowshop1 and _flowshop2 are the (future) offspring, i.e.

Private Member Functions

FlowShop generateOffspring (const FlowShop &_parent1, const FlowShop &_parent2, unsigned int _point1, unsigned int _point2)
 generation of an offspring by a 2 points crossover
+

Detailed Description

+Quadratic crossover operator for flow-shop (modify the both genotypes). +

+ +

+Definition at line 22 of file FlowShopOpCrossoverQuad.h.


Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool FlowShopOpCrossoverQuad::operator() (FlowShop _flowshop1,
FlowShop _flowshop2 
) [virtual]
+
+
+ +

+eoQuad crossover - _flowshop1 and _flowshop2 are the (future) offspring, i.e. +

+_copies_ of the parents

Parameters:
+ + + +
_flowshop1 the first parent
_flowshop2 the second parent
+
+ +

+Implements eoBF< FlowShop &, FlowShop &, bool >. +

+Definition at line 22 of file FlowShopOpCrossoverQuad.cpp. +

+References generateOffspring(), eoRng::random(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). +

+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FlowShop FlowShopOpCrossoverQuad::generateOffspring (const FlowShop _parent1,
const FlowShop _parent2,
unsigned int  _point1,
unsigned int  _point2 
) [private]
+
+
+ +

+generation of an offspring by a 2 points crossover +

+

Parameters:
+ + + + + +
_parent1 the first parent
_parent2 the second parent
_point1 the first point
_point2 the second point
+
+ +

+Definition at line 54 of file FlowShopOpCrossoverQuad.cpp. +

+Referenced by operator()(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.png b/trunk/paradiseo-moeo/doc/html/classFlowShopOpCrossoverQuad.png new file mode 100644 index 0000000000000000000000000000000000000000..cc942ed8966c97f75578894bdac93a0e9238d865 GIT binary patch literal 1530 zcmbVMeLT~79RKZwu8Wz=>&inW-BP0SuyCH0i7gu;ijWk&6r&=>rc_oQqTy&BMllIv z9wRr*OddM>2^)61yY9dH>t3(-=lgztU+>R9pZDwY{oZ%OIYD=5>;M1& zigrf10{}!U(;Rs@*$J^sg#g1X)3c0^k55l={c zjrcUz{$BHTVTkM&!XtV6O{}`+O;fdGTuSxLC9xddvQbLxTH!%=EiXd z^Esf2sLi0r@zjPIL4WEO*LSABlAeg`90OhzPI|;SNt-^go~>U{=i+tB*IzDn_6i0! zhE52x{l7w*Dc*9FQ1^@ip2}fBd9~&!#GTkb5w08tdCC$>7zE4&^Q(D?YzAaIXx@BN z47KO?ZY#QaNzTop7V`9e+Cv|e*)c#UK;mtGf0Ns0Da(eezUC$9I+%Y}RhyBPpsUnC zhdtW)reh!OaTf8*k10P_-ih}gQB`JMIxdX3=n=kYL+~l#IX^&&kSBi!C?miq>B%lqx zW256UQVI0*#W{=X6c!Hhhc(g{G)8#n^3RC#nP~qmo_anEUXMXw=gV;Ccc$gqUcsVm zEW8TW_1I4Bld2$PE3d1y8`RqswJX69f4iws8b%Xd78z&h`js-%!6s;FokJd2oYNmK;^kEDZRY6^=QdDM+l1>6BAyTeBMV$DYAS2t(CZX z&p8368Z?q4_B$lFB}pF>v5S)uL&Z>F)M6B{R@r9SYi{!o5hqT$3Ym!-H=~u!frUNc zvW_vJ_F5z4k|08^_bqQ*Q9&DYtT&MxFtA&;k(i0wjkv z>`k7ocPBP8o0B?h1wyXnOcWcpqV?P2sNX7chOCZvU<%j)POIgtb))DTPgm)7y;HCi zRc(nZk)A#_N=7mOVn#wAi#{kdpQ4KCc!^I}#T<3(Q_=(Ez5#QhKo*K@vQ_=kCGYe2oG2yTyvI^k*Zv z(O4(dkh7dRXS{VS`>yWP>=~$?3lHm&uS_bVL7t4Y)f-zY^&_g*_L2f_gG%slcu0P( zBRnS4h5XR97qNQOUw&GruWPY>wr#bhn;)PY)J|zyTZmMhKyGIF^2yK^eWHfMnZ}Hs zy*MKZqaY7JV>EJ;ge|Yg;MH`{9Z9db@@%ALNYM*6`-2~yHqGBFNBts*GPLT-WOhc; zLRmF=XS*GG1g^`SuLZUncTvX2@-JK|7`W9Jh81TNYVDgXcg literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange-members.html b/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange-members.html new file mode 100644 index 000000000..38c5ff14d --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange-members.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

FlowShopOpMutationExchange Member List

This is the complete list of members for FlowShopOpMutationExchange, including all inherited members.

+ + + + + + + + + + + +
className() const FlowShopOpMutationExchange [virtual]
eoMonOp()eoMonOp< FlowShop >
eoOp(OpType _type)eoOp< EOType >
eoOp(const eoOp &_eop)eoOp< EOType >
functor_category()eoUF< FlowShop &, bool > [static]
getType() const eoOp< EOType >
operator()(FlowShop &_flowshop)FlowShopOpMutationExchange [virtual]
OpType enum nameeoOp< EOType >
~eoFunctorBase()eoFunctorBase [virtual]
~eoOp()eoOp< EOType > [virtual]
~eoUF()eoUF< FlowShop &, bool > [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange.html b/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange.html new file mode 100644 index 000000000..2ce7a1fa9 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange.html @@ -0,0 +1,100 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopOpMutationExchange Class Reference + + + + +
+
+ +

FlowShopOpMutationExchange Class Reference

Exchange mutation operator for the flow-shop. +More... +

+#include <FlowShopOpMutationExchange.h> +

+

Inheritance diagram for FlowShopOpMutationExchange: +

+ +eoMonOp< FlowShop > +eoOp< EOType > +eoUF< FlowShop &, bool > +eoFunctorBase + +List of all members. + + + + + + + + +

Public Member Functions

+std::string className () const
 the class name (used to display statistics)
bool operator() (FlowShop &_flowshop)
 modifies the parent with an exchange mutation
+

Detailed Description

+Exchange mutation operator for the flow-shop. +

+ +

+Definition at line 22 of file FlowShopOpMutationExchange.h.


Member Function Documentation

+ +
+
+ + + + + + + + + +
bool FlowShopOpMutationExchange::operator() (FlowShop _flowshop  )  [virtual]
+
+
+ +

+modifies the parent with an exchange mutation +

+

Parameters:
+ + +
_flowshop the parent genotype (will be modified)
+
+ +

+Implements eoUF< FlowShop &, bool >. +

+Definition at line 22 of file FlowShopOpMutationExchange.cpp. +

+References eoRng::random(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange.png b/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationExchange.png new file mode 100644 index 0000000000000000000000000000000000000000..f582b7836617eaf367e81c8a823a968b300e234e GIT binary patch literal 1335 zcmeAS@N?(olHy`uVBq!ia0y~yU~B=h53n!;$#1%xdO%7dz$e7@|Ns9$=Kuc(=Fd-< z0AzvjfddDs5B+}v2H{rA`P5Lu44_+;J(b zT@k^|mJ31Cg_MFKxD$BZcYNXGY*OF=qC-yw*8LZFwqW16yaT^?F&_F{SjK(t+E>AS z^UiOc{b5~RLqYpf9S#{4La0Py;oH~U_WQc7t@rq6R@*HiFe~h1w7@qN4%1(Z9A%F* zm`gYs%eg`$J;DX{+|-!Pkdb#f^o-7YvuL}|UzdIpIJ3mTcvAJ2V-Byjb|rKzUbN!@ z%j}eGFMTRquW31L%a-((b=-RM0@tUh*OYHe_%F)DVlEwZr-@f5Y_`B6OP*(H+f7?K zZ=TQBDGloss9jpQrCi`dwL8bofSg(lA=y=GVbMNIW=O3+E4-77v3I?lso!lIu9gj_ zHgqu@Wb0|2b;!-)(3+IV*AB5L8n01GVb=UMq0?8x{on-evgX7thJZe&$PBjyVV8ci zo!si;!Si~t!9Iyrp@Zf9Cyloji5x3Z5^YV|G&xr3h?u-Q>#Niv|K*vpl_nX^kL3=| z*ILW^YVYH0MK_f_`cFDszPFl)-S74&6AIN(Vr_VF@0=j#is^lBOM=QwEC0XyaP02Q zeRpDC@wTjzzLPFs_WGw?(_L+;uaYgke;ejkzV{NyQsLPBs_DWvM$hT(2JBxgsty)z zt()~dBj(=)nTM;JzpmeS@-rL9`EPbNuBn}uR=AU3$?Y_iB{97J*i-(dfQ9alKe0Qm zxUjhJXR|`ci<^$Uf_$&lZwdbJ6tM6>MIFjao5khsJ7xU2A8Ya8a>$@p>`o`izlpE{Pf(RJG&k_+t%xsyK^3V`t@f<-}O}$ zQ_N1q-8pUqd?usg)6&JNl0u_;bm*3 zxAUq6KfdnTtJk#4?vR7Mm7n{AxT@)1ERD{pO#zXd+uIHPGv>s}CQa6!^$b|bF?hQA KxvX + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

FlowShopOpMutationShift Member List

This is the complete list of members for FlowShopOpMutationShift, including all inherited members.

+ + + + + + + + + + + +
className() const FlowShopOpMutationShift [virtual]
eoMonOp()eoMonOp< FlowShop >
eoOp(OpType _type)eoOp< EOType >
eoOp(const eoOp &_eop)eoOp< EOType >
functor_category()eoUF< FlowShop &, bool > [static]
getType() const eoOp< EOType >
operator()(FlowShop &_flowshop)FlowShopOpMutationShift [virtual]
OpType enum nameeoOp< EOType >
~eoFunctorBase()eoFunctorBase [virtual]
~eoOp()eoOp< EOType > [virtual]
~eoUF()eoUF< FlowShop &, bool > [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationShift.html b/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationShift.html new file mode 100644 index 000000000..11bcd0bcd --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationShift.html @@ -0,0 +1,100 @@ + + +ParadisEO-MOEOMovingObjects: FlowShopOpMutationShift Class Reference + + + + +
+
+ +

FlowShopOpMutationShift Class Reference

Shift mutation operator for flow-shop. +More... +

+#include <FlowShopOpMutationShift.h> +

+

Inheritance diagram for FlowShopOpMutationShift: +

+ +eoMonOp< FlowShop > +eoOp< EOType > +eoUF< FlowShop &, bool > +eoFunctorBase + +List of all members. + + + + + + + + +

Public Member Functions

+std::string className () const
 the class name (used to display statistics)
bool operator() (FlowShop &_flowshop)
 modifies the parent with a shift mutation
+

Detailed Description

+Shift mutation operator for flow-shop. +

+ +

+Definition at line 22 of file FlowShopOpMutationShift.h.


Member Function Documentation

+ +
+
+ + + + + + + + + +
bool FlowShopOpMutationShift::operator() (FlowShop _flowshop  )  [virtual]
+
+
+ +

+modifies the parent with a shift mutation +

+

Parameters:
+ + +
_flowshop the parent genotype (will be modified)
+
+ +

+Implements eoUF< FlowShop &, bool >. +

+Definition at line 22 of file FlowShopOpMutationShift.cpp. +

+References eoRng::random(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). +

+

+


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationShift.png b/trunk/paradiseo-moeo/doc/html/classFlowShopOpMutationShift.png new file mode 100644 index 0000000000000000000000000000000000000000..f06d41f84fcd78cc916ef4fb1ed55852823941fc GIT binary patch literal 1240 zcmeAS@N?(olHy`uVBq!ia0y~yV2lB>53n!;$z89HO$JgD0X`wF|Ns97GXMWSFn@l+ z1Rx8H4;(m9edzxaAeXTu$S;_|;n|He1_qWqPZ!6KiaBrRMCUy=;Bi$Id9i(k?1{Sv z64IRizWO)aK_*Hj2))TbQ}*Ta1gQX6+y02@-36Nz}#1A7Irh=zn0P zbbHM$qpILLA6MxvF0=X`6f-~6z326x!$A@snG|k09SGS(sPJ>zD zZ)@hQKct#9N-x;TOH#!;i_#froY`y03r_Iq;PxaQ`os#jrqk8_W zT&u$l6HoOYIVX@kea&9~^ol@`-HqILMDOg=yYv0^=d6b0S3KXJ|ITW1e#QO$^YiCf zEy}NWwr>yS-7$%2-I4}v%?DmwSedUl)*bPEY_GWC%-a|HnZ7?!Ugz*Y{{fTv>)L|5 zC*qynm@ar=dBdpMx3D>KVV-+V!OBMYoTzoTw!HdwdqQL`dEaiO+>z??OjanHaC6J%WfGS%ZcY34V3TZbupIZgH1o&jKAw9RwB>%G z#_fm}wyKWwx6JOpR%~gAUK=-u`L@i#p6t!#x%0L^5ZZb(*E#f#&y@Z!oe7$G59XeI zXE6D$n7PV3l;@h)%=is-$}cmCcj z-?@#y^WO68d_PS_{w2>k+uh#j9UD&aMp`pJwR!WJ=dq7I@A|U)&-Y!u^X8Gq`Gm%J=7o{Zr^ z2d0V?sIr2Y+Yjvh#rHWdX5#Pfpj2R9a9nJ4=lh(aI%S-CThk`41T*#WiV9usBs`D! zFjsfh(Q`-7%1Qpu>Rz4m$~xMl+w@HMgL6O6g`G`0H?MQ{-^6pg{X2G_N#cEPc~f>; zLHW$1e&_N&mT%=2zJIeT^39!Fy8qUFX-?v?{xmmt#?f?R{DKaGB1ArO(2;LCi9m|!JLic0~F>J-2zii4}tBIXEZHr)RvUm@%X|% z`x(20ecdEYqj-&8##de9zr6L*u{kZ)w>m$b=3VER|MTAx={qmK{898jboEH}6B$W< z@l9@j=3SJVQutTL{;WLrqo0X3zTY3uI(H;B=s$<$l7cOzHJm&CsqQ)1{PX0Ik4As@ zyb*GZITm0Q^jvZ3H12h)cC4CNS7ay>voyW1)NhSaR^jPo&mX@!u%&gi`%Tm950|++ zF5I$8xcB1DRqK!Qs+(O7Z0VcZ7@o}j;2?v~u_fmY%$|D7cBQe7R{3>jmIHSscNyQg peME$ZH|FGp1G)?K_ZR% + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

Sch1 Member List

This is the complete list of members for Sch1, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AtomType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >
className() const moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]
ContainerType typedefmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >
Diversity typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
diversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
diversity(const Diversity &_diversityValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO()EO< MOEOObjectiveVector >
EO()EO< MOEOObjectiveVector >
Fitness typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
fitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
fitness(const Fitness &_fitnessValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::fitness(const Fitness &_fitness)EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::fitness(performance_type perf)EO< MOEOObjectiveVector >
fitness_traits typedefEO< MOEOObjectiveVector >
fitnessReference()EO< MOEOObjectiveVector >
invalid() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidate_worth(void)EO< MOEOObjectiveVector >
invalidateDiversity()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateFitness()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidateObjectiveVector()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidDiversity() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidFitness() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
invalidObjectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoRealVector(unsigned int _size=0, double _value=0.0)moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
moeoVector(unsigned int _size=0, double_value=double())moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
objectiveVector() const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
objectiveVector(const ObjectiveVector &_objectiveVectorValue)MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
ObjectiveVector typedefMOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >
operator<(const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > &_moeo) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
MOEO::operator<(const MOEO &_other) const MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline]
EO< MOEOObjectiveVector >::operator<(const EO &_eo2) const EO< MOEOObjectiveVector >
EO< MOEOObjectiveVector >::operator<(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
operator>(const EO &_eo2) const EO< MOEOObjectiveVector >
operator>(const EO< Fitness, Traits > &other) const EO< MOEOObjectiveVector >
performance(performance_type perf)EO< MOEOObjectiveVector >
performance(void) const EO< MOEOObjectiveVector >
performance_type typedefEO< MOEOObjectiveVector >
printOn(std::ostream &_os) const moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline, virtual]
readFrom(std::istream &_is)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline, virtual]
Sch1()Sch1 [inline]
storage_type typedefEO< MOEOObjectiveVector >
value(const std::vector< double > &_v)moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > [inline]
worth(worth_type worth)EO< MOEOObjectiveVector >
worth(void) const EO< MOEOObjectiveVector >
worth_type typedefEO< MOEOObjectiveVector >
~EO()EO< MOEOObjectiveVector > [virtual]
~eoObject()eoObject [virtual]
~eoPersistent()eoPersistent [virtual]
~eoPrintable()eoPrintable [virtual]
~MOEO()MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > [inline, virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classSch1.html b/trunk/paradiseo-moeo/doc/html/classSch1.html new file mode 100644 index 000000000..ad0100b39 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classSch1.html @@ -0,0 +1,60 @@ + + +ParadisEO-MOEOMovingObjects: Sch1 Class Reference + + + + +
+
+ +

Sch1 Class Reference

Inheritance diagram for Sch1: +

+ +moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double > +MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity > +EO< MOEOObjectiveVector > +eoObject +eoPersistent +eoPrintable + +List of all members. + + + + +

Public Member Functions

Sch1 ()
+

Detailed Description

+ +

+ +

+Definition at line 44 of file Sch1.cpp.


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classSch1.png b/trunk/paradiseo-moeo/doc/html/classSch1.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4958d4e1c9ccc5c25405a3dc962d711c00bdc6 GIT binary patch literal 2779 zcmcImdpMMN8=ff=DO<{EicgX#Wx`k=hJ=y~n@U3x!#iY#ta9F=gKU{mn=lBSG=(UW zL*z6xVrGoR%4;-EF<*H#Y1$Ek*WlsZA7fZv2E5ReGmK|}ug*V-u}oFVl_BBAH00@pCy#Dm7oNu+F)6w-RemQjTKHD?C12jopezdB zk(@8&Z?MxbDQc6%iFd-Q6S3F@_hrZjc4l*&IxP3k$p5>mvv5iwdP0L3p&*Ht+T~bv z-1k4K`g`KMEHmz$)kKT|6KQZMCysiQRF~CfRr|yOk*Qe|b%w)~5IxLmxLr01z3iV9 zS<6u|ifIL4OwXicE)8R+jRX66IMJG8jJO#bz9P#zLFF;lfLGbj4yjFjXTSVFtX-kz zves=|7_E@@rQ6Y{6L*(qj8w!MBl5C8UPhkDsvkOFA;nl<_^1VP`9+8lzv5psr$dum)x&Bc>ui zxQwl_V=UknXH$>|ennq@qd!LWK8HFB+~aWg^1atFk%a z?HNbvEHV>{r0$_R2KuJCIK<;lOUspX-@vtH_z||L->xBKxU20INo{&Bp8*vd52;X` zFalmZlT;!q!)}iW*iS6Y!wQ)8k6QQW`v}U~l&Et?6mYsZr*l@=Ob9agI1u{C_X+xF zPk4b3o0R_4q2S<=10kr39oqC9?%QrC<0R6jNKJO16|lD!G4d8!^WeCze9HX#Hqc_C zG_l;O&fOTOZzG|0wm>fQvx&z!?W`7KuQZ%^T{W4Ki7q4AkSW3$(EPBed1Gi1b_N`{ zH6j5&y_tj1s62Zky^`3KrHi@wn}j6(F!=H!R#j%CU`3y3noHm)HfqZHweDCq`Db=@ zL;9PAI^F8wAy24Dl($$J6M4_>dnwkp1}A) z=_dc^yyDS{>l!S=s9{M2#}kIgF`=!K5wNOE7%=hrkx6uUKxt1&d}cw;OiJ$ zPUvzvuI|>A0>Rn*oQZFmBC0c<2?-}QO0dJvU*Hg3fcT*oTa9k$8r1?7Agu)<*t1C; zc@%EuYu^3>oz(IFyu0khMw`a@DRcJ$tj*=Tcw%Iq7ui)O6;v0-4u3L1)frt9#2Y^X z_u9r)6S6B%;=H*)rV4lqW<{_ExK=u{w2KNg1Xut4SlhbrVp`WeRrH<1_3^U2fkk* z=iyEnaqAEH$nf1k{->tEmbC+{c_GcN8gPJMeszY zjP;8K1MJ&HfkMH1>wB|L3v|?)pa?o%7tO0p##@`lm1TT-yuh4VGo(ld^+)d>+&I4( zCopTK#k-6<42w(;XzzQF#&`wG&n^=A8%GRc3f-uuKC{vSL)!Nl5<{(;iCU7X_3Lu( zIH3@S$h-ilK+}o^%^K*UM|s&9std&iloGx=kuu?*~iZLdLQ*G`Wd4!wyIgnZIM*1!e ziu+)C`$P0cO?tuYvmZpAP#!<62R%DUecik!6oqE>8qPuQrb&c&2v0NjHo$nqdG$xl z&v~r@ROXat%R6dXsS(it%r!B8t-J0lMyrAghEU|bu&f(Adu5x-`5Za zBn3vWz=tjI}3aB4N%j;)YJ52Kx(K%jhOcx2o z4<+&BWJQ@w59e_)1E|JiQsnEa2Dp(Mb;R@BbAFr??K;;6BVcsTq5Q!JIlB5}i~i@o zO%l!a;;9#R05Z@cU$VthhSs%rca#9fMReL2D-V3xWWE}YFUV_s&?7T)rbD@K!7#~MCb%AVgC=qN76Y-3@GLRu1eG|E(-h;B;?N=~5bh2fl1p!#$Y7?3|hY>&x z4viu;6|WZSZDaQh`iT{Q)u*Fvt*%m#yiM~f3jQIDZJGi KhZ6gf=YIp01!A}W literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/doc/html/classSch1Eval-members.html b/trunk/paradiseo-moeo/doc/html/classSch1Eval-members.html new file mode 100644 index 000000000..05b0f0a8f --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classSch1Eval-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

Sch1Eval Member List

This is the complete list of members for Sch1Eval, including all inherited members.

+ + + + + + + +
EOFitT typedefeoEvalFunc< Sch1 >
EOType typedefeoEvalFunc< Sch1 >
functor_category()eoUF< A1, R > [static]
operator()(Sch1 &_sch1)Sch1Eval [inline]
moeoEvalFunc< Sch1 >::operator()(A1)=0eoUF< A1, R > [pure virtual]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< A1, R > [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classSch1Eval.html b/trunk/paradiseo-moeo/doc/html/classSch1Eval.html new file mode 100644 index 000000000..55b009135 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classSch1Eval.html @@ -0,0 +1,57 @@ + + +ParadisEO-MOEOMovingObjects: Sch1Eval Class Reference + + + + +
+
+ +

Sch1Eval Class Reference

Inheritance diagram for Sch1Eval: +

+ +moeoEvalFunc< Sch1 > +eoEvalFunc< Sch1 > +eoUF< A1, R > +eoFunctorBase + +List of all members. + + + + +

Public Member Functions

+void operator() (Sch1 &_sch1)
+

Detailed Description

+ +

+ +

+Definition at line 52 of file Sch1.cpp.


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classSch1Eval.png b/trunk/paradiseo-moeo/doc/html/classSch1Eval.png new file mode 100644 index 0000000000000000000000000000000000000000..f51abff0873921deab89de389301824ffdad246a GIT binary patch literal 841 zcmeAS@N?(olHy`uVBq!ia0vp^Q-Syg3p0=uf41`nkdg@S332`Z|38rV|Nnvc^Ajcj zSzvtNz=7&R|DOQ4j3q&S!3+-1Zlp0VFx~fbaSW-L^Y&I?-(v+Hh6|rI-@jpA;J4w{ z&I>hP|GCddU{-8NY23If#8kOAsBMpxL1@zSRuN+uWEMfLDfDDxun#u=fXGkwbY!t<-DoSCZ6TW z?!M1wbvE}+duF?Kb?tZF>aAa&SNgyH`DfqK((9!rr*$@;F*?1*f3wN_r|*94`E^jN z=-k}T2~kCf3n$8!N4Re5jEVBd+5Mn!;`M7`eXH-E`dPN6WAoG2tk)F_r;DXuXPOo^ zXMNu+r*-}whK$=k7sq^Da7^!&ut+xJM&Z{#U#%)NdA2(7>zVKv_b$^e8J%UC(hDJ9)M=4G;@Y02KXuBlKfii@bH;5& z$E$K(HnEWcTj!t5F?{ee)LXVrfSo$qzp1+aCxMatYisrBT+HI_NY&Qx!vUSR}cT%T! zyht#8bnBV-HLlmTB2AsHv#-urzojqcFz0lim3foC1uQ9C$ya(K{_)Vj9qOqIL$=XuL2*Vk@M{n~kOnFlmXrbT`hTVeYDL)O9BOH(Z$?6;77 z%5cfSJg?GH^AA%zQ*ce$+bO2$VuA0N&+8ko|}&R%@% zlW+DrsoGhx;p<+`5&gHn;_9cGR%Q0QtbJ~?BhzGck5=E}-?~Qpxz;ubJ7BtJ@O1Ta JS?83{1OQFLoSy&y literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits-members.html b/trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits-members.html new file mode 100644 index 000000000..496dfb5f0 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits-members.html @@ -0,0 +1,43 @@ + + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

Sch1ObjectiveVectorTraits Member List

This is the complete list of members for Sch1ObjectiveVectorTraits, including all inherited members.

+ + + + + + + +
maximizing(int i)Sch1ObjectiveVectorTraits [inline, static]
moeoObjectiveVectorTraits::maximizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
minimizing(int i)Sch1ObjectiveVectorTraits [inline, static]
moeoObjectiveVectorTraits::minimizing(unsigned int _i)moeoObjectiveVectorTraits [inline, static]
nObjectives()Sch1ObjectiveVectorTraits [inline, static]
setup(unsigned int _nObjectives, std::vector< bool > &_bObjectives)moeoObjectiveVectorTraits [inline, static]
tolerance()moeoObjectiveVectorTraits [inline, static]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.html b/trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.html new file mode 100644 index 000000000..ff9f46804 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.html @@ -0,0 +1,61 @@ + + +ParadisEO-MOEOMovingObjects: Sch1ObjectiveVectorTraits Class Reference + + + + +
+
+ +

Sch1ObjectiveVectorTraits Class Reference

Inheritance diagram for Sch1ObjectiveVectorTraits: +

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

Static Public Member Functions

+static bool minimizing (int i)
+static bool maximizing (int i)
+static unsigned int nObjectives ()
 Returns the number of objectives.
+

Detailed Description

+ +

+ +

+Definition at line 21 of file Sch1.cpp.


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.png b/trunk/paradiseo-moeo/doc/html/classSch1ObjectiveVectorTraits.png new file mode 100644 index 0000000000000000000000000000000000000000..6180dfbc38ffabdfdc4a8c2703f329130ee1819d GIT binary patch literal 591 zcmV-V0!vvU2Ejn11|9sYiLi#=2zSB=R+9vZ2OhzhP zS8Ds<>4BQZ5Yav2J4_*R*mLwo=JK>NSrTEacj}@kGE)s&0Ey%hQBYTETpncwRG(^) zI+IYS`XE^e^^`-PdF`cJy+^ymEuhaDQ?~=NbW+)3x`cZ_9I|2}4onRgt~SDIm37S& zrKY{gvy6F`z!beOsgxD7$@glvxi9-!*ydw@p`T0U(9hf4?eiJt&SaB7Pur9>_g*`Z z%(d6PXS9EG&)&`C-IM2;&)Q@j&3wgg@xyj`T>44o*YzCC>-BO9=2_-GnUgu0lR24_ zIhp5S;^CH4KD?mGd<7HHHz|Q{v$+<(d8y~%F+hK~26AA6E5$|M#`JUa2Ig=YnKilU zHlW;z^-XTT3<#>L3XpSIQR7vsfGj>pFw~w@jVX5~O2t{;Ab9PSJ(jFX=m9I=i$u*e z2WIZ1w8=DyHzT_U!i; + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

moeoIBMOLS< MOEOT, Move > Member List

This is the complete list of members for moeoIBMOLS< MOEOT, Move >, including all inherited members.

+ + + + + + + + + + + + + + +
continuatormoeoIBMOLS< MOEOT, Move > [private]
evalmoeoIBMOLS< MOEOT, Move > [private]
fitnessAssignmentmoeoIBMOLS< MOEOT, Move > [private]
functor_category()eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void > [static]
moeoIBMOLS(moMoveInit< Move > &_moveInit, moNextMove< Move > &_nextMove, eoEvalFunc< MOEOT > &_eval, moeoMoveIncrEval< Move > &_moveIncrEval, moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > &_fitnessAssignment, eoContinue< MOEOT > &_continuator)moeoIBMOLS< MOEOT, Move > [inline]
moveIncrEvalmoeoIBMOLS< MOEOT, Move > [private]
moveInitmoeoIBMOLS< MOEOT, Move > [private]
new_oneStep(eoPop< MOEOT > &_pop)moeoIBMOLS< MOEOT, Move > [inline, private]
nextMovemoeoIBMOLS< MOEOT, Move > [private]
ObjectiveVector typedefmoeoIBMOLS< MOEOT, Move >
oneStep(eoPop< MOEOT > &_pop)moeoIBMOLS< MOEOT, Move > [inline, private]
operator()(eoPop< MOEOT > &_pop, moeoArchive< MOEOT > &_arch)moeoIBMOLS< MOEOT, Move > [inline, virtual]
~eoBF()eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS.html b/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS.html new file mode 100644 index 000000000..886ebc547 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS.html @@ -0,0 +1,295 @@ + + +ParadisEO-MOEOMovingObjects: moeoIBMOLS< MOEOT, Move > Class Template Reference + + + + +
+
+ +

moeoIBMOLS< MOEOT, Move > Class Template Reference

Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K. +More... +

+#include <moeoIBMOLS.h> +

+

Inheritance diagram for moeoIBMOLS< MOEOT, Move >: +

+ +moeoLS< MOEOT, eoPop< MOEOT > & > +moeoAlgo +eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type of objective vector.

Public Member Functions

 moeoIBMOLS (moMoveInit< Move > &_moveInit, moNextMove< Move > &_nextMove, eoEvalFunc< MOEOT > &_eval, moeoMoveIncrEval< Move > &_moveIncrEval, moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > &_fitnessAssignment, eoContinue< MOEOT > &_continuator)
 Ctor.
void operator() (eoPop< MOEOT > &_pop, moeoArchive< MOEOT > &_arch)
 Apply the local search until a local archive does not change or another stopping criteria is met and update the archive _arch with new non-dominated solutions.

Private Member Functions

void oneStep (eoPop< MOEOT > &_pop)
 Apply one step of the local search to the population _pop.
void new_oneStep (eoPop< MOEOT > &_pop)
 Apply one step of the local search to the population _pop.

Private Attributes

+moMoveInit< Move > & moveInit
 the move initializer
+moNextMove< Move > & nextMove
 the neighborhood explorer
+eoEvalFunc< MOEOT > & eval
 the full evaluation
+moeoMoveIncrEval< Move > & moveIncrEval
 the incremental evaluation
+moeoBinaryIndicatorBasedFitnessAssignment<
+ MOEOT > & 
fitnessAssignment
 the fitness assignment strategy
+eoContinue< MOEOT > & continuator
 the stopping criteria

Classes

class  OneObjectiveComparator
+

Detailed Description

+

template<class MOEOT, class Move>
+ class moeoIBMOLS< MOEOT, Move >

+ +Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K. +

+: "Indicator-Based Multi-Objective Local Search" (2007). +

+ +

+Definition at line 33 of file moeoIBMOLS.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT, class Move>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoIBMOLS< MOEOT, Move >::moeoIBMOLS (moMoveInit< Move > &  _moveInit,
moNextMove< Move > &  _nextMove,
eoEvalFunc< MOEOT > &  _eval,
moeoMoveIncrEval< Move > &  _moveIncrEval,
moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > &  _fitnessAssignment,
eoContinue< MOEOT > &  _continuator 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + + + + +
_moveInit the move initializer
_nextMove the neighborhood explorer
_eval the full evaluation
_moveIncrEval the incremental evaluation
_fitnessAssignment the fitness assignment strategy
_continuator the stopping criteria
+
+ +

+Definition at line 50 of file moeoIBMOLS.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT, class Move>
+ + + + + + + + + + + + + + + + + + +
void moeoIBMOLS< MOEOT, Move >::operator() (eoPop< MOEOT > &  _pop,
moeoArchive< MOEOT > &  _arch 
) [inline, virtual]
+
+
+ +

+Apply the local search until a local archive does not change or another stopping criteria is met and update the archive _arch with new non-dominated solutions. +

+

Parameters:
+ + + +
_pop the initial population
_arch the (updated) archive
+
+ +

+Implements eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >. +

+Definition at line 73 of file moeoIBMOLS.h. +

+References moeoIBMOLS< MOEOT, Move >::continuator, moeoArchive< MOEOT >::equals(), moeoIBMOLS< MOEOT, Move >::fitnessAssignment, moeoIBMOLS< MOEOT, Move >::oneStep(), and moeoArchive< MOEOT >::update(). +

+

+ +

+
+
+template<class MOEOT, class Move>
+ + + + + + + + + +
void moeoIBMOLS< MOEOT, Move >::oneStep (eoPop< MOEOT > &  _pop  )  [inline, private]
+
+
+ +

+Apply one step of the local search to the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 120 of file moeoIBMOLS.h. +

+References moeoIBMOLS< MOEOT, Move >::continuator, moeoIBMOLS< MOEOT, Move >::fitnessAssignment, moeoIBMOLS< MOEOT, Move >::moveIncrEval, moeoIBMOLS< MOEOT, Move >::moveInit, and moeoIBMOLS< MOEOT, Move >::nextMove. +

+Referenced by moeoIBMOLS< MOEOT, Move >::operator()(). +

+

+ +

+
+
+template<class MOEOT, class Move>
+ + + + + + + + + +
void moeoIBMOLS< MOEOT, Move >::new_oneStep (eoPop< MOEOT > &  _pop  )  [inline, private]
+
+
+ +

+Apply one step of the local search to the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 304 of file moeoIBMOLS.h. +

+References moeoIBMOLS< MOEOT, Move >::continuator, moeoIBMOLS< MOEOT, Move >::fitnessAssignment, moeoIBMOLS< MOEOT, Move >::moveIncrEval, moeoIBMOLS< MOEOT, Move >::moveInit, and moeoIBMOLS< MOEOT, Move >::nextMove. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS.png b/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ca65a0c08752e1f6c5838783872770a7ad31bc GIT binary patch literal 1838 zcmcgtdpOf;93PRTXYymNWpjS(xaDyxMi-ZCuG?~?TxwxcsuLL&a+!p-G3E9Ua;Xrf z7P=Uc#o{P&Oif91$&^f@6iYd)o=%t!-L=qQ`A<3 zKp-$z7mOzavP@aZxpK>-xKAcOPC99N;JmO)OG{F^w8Skb2{^0bea&+t*v$~4KH1*0uV3J!p-ha40xBa2N8OM;SdZ?oOY z-_GZ~FdS7FU-r_oYM0#{#DK(Fy{|P)r~tHGim=MjT+O@$14mUyBQlPIg5+LgYAihP zOpctTUN>~1S7#$ys%M%}cBT_B$qy_^22+Nk2xq2d`^FL=0ti2#7}0i5{dKbkPkUYP zdon=zP}5;D0I${aM-|y#T?y<)A;S3V&PUclM@BYr`)*VbWzcd<;`Bv_QmC?ltQ-?^ z47C4;A}bf*aTCjxZ{>wT7=t(6>k}~svdPnj{To-TwFeC5`7qri(SjP=1I3(NG1oV{F(aztLSCe7 z>`?RJ<14J5vP>&P%C<`Gtz&d|?IE+AN#j2fY{- z64x~c4)jy0!LLt!2;nJRC(OU$LLRYuKwQaA@2sBBu879|T^?P#r3Z*G`~RvjU| zvl3{r_JT=_>|mZ|>A}mVf%t?2+QB>v-j2ISCBMxt+o_QSfZs8~D;)2Q-!?%5oFYlj zm-Px+umt7fD`&+P*;8RbIASBa#}x0%o6i>1R1tm)@72znD!}meHtCVuwT8B(>_iZn z^mOXtdh9mg(~GUb3FXAT{1vt)Hf5wM*SdY~sx?(86uq_!ICM0)ImD^hoQ8Z5a|XJr zguY&T@j~|`hJ(5yis)9Q{JL0<{1PJj&w27+w1z=DXdVY|O}+8v$oV(QG?hV>g{a(D zuu&&N+2fC+=7`YyNVFSZ5LUbVdqaQcZP1<*-y(nWjkSPVh-;Kc3;f6a|5AT)*Ql!- zO(6(Pb3ZxkaHFHXO$hmxmt+kL&%Vms3HzGc+T#?uRhMrZB;xG$X8L42&AFkz{N8@C zw;iG;?HMv>QZfUo`_^6&n*u3DcrT<})Z7|!CX10P$ua_bS>VGHl+W29~D$-cNOy0=eBw|=>gC-3B-7L_@l zIhoLp0qk1+CC9$B`t#G}A?Y(~iqQaq+g9a&+BZ{&$T7LYZxM`&Ime&(_-iJAcnRMG z#k~6j@1t_7&Po!zhGfcrfP16t8U^_kI*6-*EA`Y;-@EJ#9jiFNLQG{uQFkhkur-BdJM6GECo}g%`G^K! zdb$)!uG0cKB2{`L>vT=;JOlkM89e06FUqUJ0p~e3-TI*gs#xt8Y!OiS@%AkL{_|*) zBX|lcKes0ePi)kq!ushN*sde^nRv{mX8-52?*QM1UbN + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator Member List

This is the complete list of members for moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator, including all inherited members.

+ + + + + + + +
functor_category()eoBF< A1, A2, R > [static]
objmoeoIBMOLS< MOEOT, Move >::OneObjectiveComparator [private]
OneObjectiveComparator(unsigned int _obj)moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator [inline]
operator()(const MOEOT &_moeo1, const MOEOT &_moeo2)moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator [inline]
moeoComparator::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS_1_1OneObjectiveComparator.html b/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS_1_1OneObjectiveComparator.html new file mode 100644 index 000000000..7d46550f4 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS_1_1OneObjectiveComparator.html @@ -0,0 +1,68 @@ + + +ParadisEO-MOEOMovingObjects: moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator Class Reference + + + + +
+
+ + +

moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator Class Reference

Inheritance diagram for moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator: +

+ +moeoComparator< MOEOT > +eoBF< A1, A2, R > +eoFunctorBase + +List of all members. + + + + + + + + + +

Public Member Functions

OneObjectiveComparator (unsigned int _obj)
+const bool operator() (const MOEOT &_moeo1, const MOEOT &_moeo2)

Private Attributes

+unsigned int obj
+

Detailed Description

+

template<class MOEOT, class Move>
+ class moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator

+ + +

+ +

+Definition at line 462 of file moeoIBMOLS.h.


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS_1_1OneObjectiveComparator.png b/trunk/paradiseo-moeo/doc/html/classmoeoIBMOLS_1_1OneObjectiveComparator.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f1e1cad1ee8b03a0ab9a0dfa11c994ad66819b GIT binary patch literal 1285 zcmeAS@N?(olHy`uVBq!ia0y~yV2lH@53n!;$$fHS>wuI*fKQ0)|NsAi%>Vxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fq`YVr;B4q#hkZu0?QsN@VGu)e!oNZ!Oeqb z+Mccc9e+r|GofHkip=k$4@2~q^NF#n6OGIblD#v3aS~9H=TR()<1dcvD+KL^bPTYxraHX#4hZx2!+AA3d#DAjALnZ-wG}6WeD`ldYcav$n0fdNuRx zZ^w_fpR{+fWN-7RoA6_)guRCSp5SBMQ$HpFUD12I`YZdFxkU=K3)R>%P42zlA1?gn za>AbY`}f0@-(1SrbNFsPOs%AT7@bW8%eKzWsb^2zuT`4|l^=3uiN40gbHy^A`>6D&-DB7!(EB}=HTD?`uuR1?0 zb9OA`T7M)zWJ+|L>Xje1EHyplY8ii4E5syDnI>rayM*V*iu&bdax5xl6K`FeyYj2k z|GZ=Gh3{!U4*$#?7|j)4VamJwR&8xv#R|T6Yorns^1CbUY+NP(^ZQ|Gpof9Z3#(tY z>3#VIsWtPmP3~QMwbSjf?7KSSxHUcE+K-Q(s@Q0RmAUDc@x_Aw{04DLdc;>R-t#if zH!}TN5XZePcfOrj&!)bu==*eU?ZFq7&y8ngX-3VOrM0B?*6G5+{bzQ+sl4{_)4bfDEB1uMiEjV9Tl`1qf4}HGsr(za*1!L} z@AQ5l{-`RoJzI`yf83p8y8RS?e&>Bv`+|Q@Z3Isr>$v&+bKrJ+?e$)-|NLI|=YvQ3 zJL5|KW8GK%e^)=h3-tA|$9sP<|MFY7@7e~^!>8%vrHCTNryL!7z{xxJ<1fo}mTm0M zpHDk)ruA6LdZJ0klIyR}A2Sl!we5Om7{}WUey2Np@7XAx?LDA7b5FyUvX>Y3-JG}E z{QBqE-Fvn6+rD93pMI!P^;`Jq(<{~*-#K+Jw)?{;o_Wu+CpLYz+P$q=&t36F#XL3p z^ri(i#-0xXcdp#iSkY4cYYOL~J6SuNEZ4k|U4MOPiPB!Hy-D(0)^C~qG^;zE`;2qa zw@aF5550CefBNI?!lws&Zr^&Ic)mi_u4Go*^-!W%aLZx`kWEyN}l%n(uME-~azPujw7@|GTd3 zU-$6px@qAGe{27jeO%qIX7BN*?3w zhi~6quK4a>touICw%XaQ_q!=1bIQN{{KsD1_=n8Byy8E=GK;~})z4*}Q$iB}>er=; literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS-members.html b/trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS-members.html new file mode 100644 index 000000000..b2686004d --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS-members.html @@ -0,0 +1,49 @@ + + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

moeoIteratedIBMOLS< MOEOT, Move > Member List

This is the complete list of members for moeoIteratedIBMOLS< MOEOT, Move >, including all inherited members.

+ + + + + + + + + + + + + +
continuatormoeoIteratedIBMOLS< MOEOT, Move > [private]
evalmoeoIteratedIBMOLS< MOEOT, Move > [private]
functor_category()eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void > [static]
generateNewSolutions(eoPop< MOEOT > &_pop, const moeoArchive< MOEOT > &_arch)moeoIteratedIBMOLS< MOEOT, Move > [inline, private]
ibmolsmoeoIteratedIBMOLS< MOEOT, Move > [private]
moeoIteratedIBMOLS(moMoveInit< Move > &_moveInit, moNextMove< Move > &_nextMove, eoEvalFunc< MOEOT > &_eval, moeoMoveIncrEval< Move > &_moveIncrEval, moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > &_fitnessAssignment, eoContinue< MOEOT > &_continuator, eoMonOp< MOEOT > &_monOp, eoMonOp< MOEOT > &_randomMonOp, unsigned int _nNoiseIterations=1)moeoIteratedIBMOLS< MOEOT, Move > [inline]
monOpmoeoIteratedIBMOLS< MOEOT, Move > [private]
nNoiseIterationsmoeoIteratedIBMOLS< MOEOT, Move > [private]
ObjectiveVector typedefmoeoIteratedIBMOLS< MOEOT, Move >
operator()(eoPop< MOEOT > &_pop, moeoArchive< MOEOT > &_arch)moeoIteratedIBMOLS< MOEOT, Move > [inline, virtual]
randomMonOpmoeoIteratedIBMOLS< MOEOT, Move > [private]
~eoBF()eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS.html b/trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS.html new file mode 100644 index 000000000..af9f19c43 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS.html @@ -0,0 +1,286 @@ + + +ParadisEO-MOEOMovingObjects: moeoIteratedIBMOLS< MOEOT, Move > Class Template Reference + + + + +
+
+ +

moeoIteratedIBMOLS< MOEOT, Move > Class Template Reference

Iterated version of IBMOLS as described in Basseur M., Burke K. +More... +

+#include <moeoIteratedIBMOLS.h> +

+

Inheritance diagram for moeoIteratedIBMOLS< MOEOT, Move >: +

+ +moeoLS< MOEOT, eoPop< MOEOT > & > +moeoAlgo +eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type of objective vector.

Public Member Functions

 moeoIteratedIBMOLS (moMoveInit< Move > &_moveInit, moNextMove< Move > &_nextMove, eoEvalFunc< MOEOT > &_eval, moeoMoveIncrEval< Move > &_moveIncrEval, moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > &_fitnessAssignment, eoContinue< MOEOT > &_continuator, eoMonOp< MOEOT > &_monOp, eoMonOp< MOEOT > &_randomMonOp, unsigned int _nNoiseIterations=1)
 Ctor.
void operator() (eoPop< MOEOT > &_pop, moeoArchive< MOEOT > &_arch)
 Apply the local search iteratively until the stopping criteria is met.

Private Member Functions

void generateNewSolutions (eoPop< MOEOT > &_pop, const moeoArchive< MOEOT > &_arch)
 Creates new population randomly initialized and/or initialized from the archive _arch.

Private Attributes

+moeoIBMOLS< MOEOT, Move > ibmols
 the local search to iterate
+eoEvalFunc< MOEOT > & eval
 the full evaluation
+eoContinue< MOEOT > & continuator
 the stopping criteria
+eoMonOp< MOEOT > & monOp
 the monary operator
+eoMonOp< MOEOT > & randomMonOp
 the random monary operator (or random initializer)
+unsigned int nNoiseIterations
 the number of iterations to apply the random noise
+

Detailed Description

+

template<class MOEOT, class Move>
+ class moeoIteratedIBMOLS< MOEOT, Move >

+ +Iterated version of IBMOLS as described in Basseur M., Burke K. +

+: "Indicator-Based Multi-Objective Local Search" (2007). +

+ +

+Definition at line 41 of file moeoIteratedIBMOLS.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT, class Move>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
moeoIteratedIBMOLS< MOEOT, Move >::moeoIteratedIBMOLS (moMoveInit< Move > &  _moveInit,
moNextMove< Move > &  _nextMove,
eoEvalFunc< MOEOT > &  _eval,
moeoMoveIncrEval< Move > &  _moveIncrEval,
moeoBinaryIndicatorBasedFitnessAssignment< MOEOT > &  _fitnessAssignment,
eoContinue< MOEOT > &  _continuator,
eoMonOp< MOEOT > &  _monOp,
eoMonOp< MOEOT > &  _randomMonOp,
unsigned int  _nNoiseIterations = 1 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + + + + + + + + +
_moveInit the move initializer
_nextMove the neighborhood explorer
_eval the full evaluation
_moveIncrEval the incremental evaluation
_fitnessAssignment the fitness assignment strategy
_continuator the stopping criteria
_monOp the monary operator
_randomMonOp the random monary operator (or random initializer)
_nNoiseIterations the number of iterations to apply the random noise
+
+ +

+Definition at line 61 of file moeoIteratedIBMOLS.h. +

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT, class Move>
+ + + + + + + + + + + + + + + + + + +
void moeoIteratedIBMOLS< MOEOT, Move >::operator() (eoPop< MOEOT > &  _pop,
moeoArchive< MOEOT > &  _arch 
) [inline, virtual]
+
+
+ +

+Apply the local search iteratively until the stopping criteria is met. +

+

Parameters:
+ + + +
_pop the initial population
_arch the (updated) archive
+
+ +

+Implements eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >. +

+Definition at line 86 of file moeoIteratedIBMOLS.h. +

+References moeoIteratedIBMOLS< MOEOT, Move >::continuator, moeoIteratedIBMOLS< MOEOT, Move >::generateNewSolutions(), moeoIteratedIBMOLS< MOEOT, Move >::ibmols, and moeoArchive< MOEOT >::update(). +

+

+ +

+
+
+template<class MOEOT, class Move>
+ + + + + + + + + + + + + + + + + + +
void moeoIteratedIBMOLS< MOEOT, Move >::generateNewSolutions (eoPop< MOEOT > &  _pop,
const moeoArchive< MOEOT > &  _arch 
) [inline, private]
+
+
+ +

+Creates new population randomly initialized and/or initialized from the archive _arch. +

+

Parameters:
+ + + +
_pop the output population
_arch the archive
+
+ +

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

+References moeoIteratedIBMOLS< MOEOT, Move >::eval, eoPop< EOT >::invalidate(), moeoIteratedIBMOLS< MOEOT, Move >::monOp, moeoIteratedIBMOLS< MOEOT, Move >::nNoiseIterations, and moeoIteratedIBMOLS< MOEOT, Move >::randomMonOp. +

+Referenced by moeoIteratedIBMOLS< MOEOT, Move >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS.png b/trunk/paradiseo-moeo/doc/html/classmoeoIteratedIBMOLS.png new file mode 100644 index 0000000000000000000000000000000000000000..dc4163151f6e645db1890721cca2fc89465d1d16 GIT binary patch literal 1889 zcmcIlX;hO(6#ZB#6h!l}B!VCiDkv&iNkmG7P(lC|l&~vnEK|_!x$h0-sE>!9 zj)@Kc0D4}Y7#sj-KvcL>Q$uA>s+DG{x=lw9`@1WZN)=QpJ887YODgnR>+I~z;3>yd zL$xzFA3p&77OjNjp|?q+4VIE~=+@C!+af#jBRD zLWmn*7WVBg0~H9&v8RaxcrJ__ zJoYwj80tDra!Gl1o{XF@0mplGVp=+5LcR4sLG8=i>@q;50uGrKikO{YIYUfc3!G_#lk zktbSAu|B}RDQZ1~6AA9VWN5lMfcxunGL0pwX+92KlE&yoQ}SN z@V%1%o{ZN=@n0HCqTe+aw7;12hwW+V30tf%2IX4ti*_ERA=D8hud7k$9$K4q(BulN zvOzSDa@p}b%+R#^K*vCgFN+;xz@T1I|E3--F@k@Welyg(*yFD4sO^k1F?(#E{vA;r zeGg-(g$*QF!h7bzrA2v0@Ip#a492cX!ny`#5#k@)<3soXgAPU5Nw;thhOwpDBhB5I z!^6|xJD0$HXrP~30ILI=_Z9cy^5{N4>F4_yQSB^2f_DvBaX3A#{zzcbGZSBFSuj7k z&3bYnPsYFsNWBeSxWL)BF(s6uuJf$=L}77!&g52`WNG+JQF;qr$hqgJ)cEd@j2TgW zIp)dmO=p&Yc-kNl+j%@I+y-tMa-2Jk0)ukQ<;H(z5Sj>PkBuR)``_i_bh$pt4JD8! zjTd?pN($uB{$v^rY^a8_C=gFgfq`Q82r1YReSsA<_GOw%Bt z5&SBl!j@G_cig_xKWUIXFVB^_U}wMP*OOEg~noVhhoGb-<@BB)I72w7i1iMBOIgEZ0lyqc0@M)3DNpX?dQCER}F@ zw_bH%q|9lmF?$!U1fG`v$UVVaTDIJu{J>=XD25$Bsy>|LgD93+VPP4n1G+0Q?f2zL z&h^x-7{#MprW?N?^yk~wA%GQ{sK<4#sg7Mm z6O9^!H?Mu9f2t+_5!SVp=Q_XNhoLH156?|Qd&lwgo*Bo2j&pWmc=2^iS)upvYE zdBfMurOg6&L}rB5g|{TApzO}K+H#w)^4{&uU!Odrx$7y)>bjw&S`-#_a{7nG$oxwz zypSKyXJ&EZ;}#Cof7XaqtY>5lB9ZL@2L)}hLcYwZb!wF-&B8o;sx{#5bh-qmk>YLJ zzKXT0IdHC~XUoG`8A}EJErM(Lo_B~RryC&iFn`x% + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

moeoMoveIncrEval< Move > Member List

This is the complete list of members for moeoMoveIncrEval< Move >, including all inherited members.

+ + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoMoveIncrEval.html b/trunk/paradiseo-moeo/doc/html/classmoeoMoveIncrEval.html new file mode 100644 index 000000000..4164ae922 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classmoeoMoveIncrEval.html @@ -0,0 +1,54 @@ + + +ParadisEO-MOEOMovingObjects: moeoMoveIncrEval< Move > Class Template Reference + + + + +
+
+ +

moeoMoveIncrEval< Move > Class Template Reference

Inheritance diagram for moeoMoveIncrEval< Move >: +

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

Detailed Description

+

template<class Move>
+ class moeoMoveIncrEval< Move >

+ + +

+ +

+Definition at line 9 of file moeoMoveIncrEval.h.


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoMoveIncrEval.png b/trunk/paradiseo-moeo/doc/html/classmoeoMoveIncrEval.png new file mode 100644 index 0000000000000000000000000000000000000000..a9d2cd48808734866a4d4a92cc58e2b4ddd368e2 GIT binary patch literal 684 zcmV;d0#p5oP)3A-@(DWag|f>1k5KdhLrfgoDNWoFnG_JxLkLZW$bAoLpYCfK(~SHcWB{mU zSfuf3a!bG>#ii<2GA3V>XOTG(F_Hu#iDM)(E3nQ^GU1YaCPx$r?FH*oLJKa!DunLO@QFzzMu7G$f}{SEny zxnX1@8`;Q4HnNe8e25H#T5w^^@tl!gNA~)y=XpqX-b#ahH<6PF?vR&55Q9G1`}Ef* z72rE=W|Yq;1;Vxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fq^;2)5S3)qw(#G+`h*OJZ;Tkv+f(38&o%5 zUAN_V=a!)N^({x`1w3BxY+2fAv}bA*Q{P*4iS4gUOu2t$<(+@QSlVZ#a84-IVUFsl zivkRLvKBqHipsxi$(*7qJo9+7BG1~huBUB}q-{O)*Ly00MJ~lt&TREOB z*HnM!H{00oXg5}+bKTkcd z{H}lTdqag@?_`HLxBgZy;_2AzA}Mfn*O7R$-d`40jo~kZ1hzkY!4tPY+o9%8p8N6- zd-NC!dz)<)&Mjgr6yxpKoZ&FXRlViIex+a8FL^KCw9kI|rrzO77BOVz-iQ9P|C!zT zzevJfD*xB@4Ew)jv8n>K$$w-7M5P3#?&4!%is%XExE47*_EOS}Ln%)l#agl7o9y@E zk{FZ1t;KP-uK2$) zWzkoGNsA5FEj7H9B6z4v@;KY^nN2zC=R3_@@YI4!e_x7$o(+$1&HHt8epF6;&T%j> z%-)Jie|51R7k?6888hPql@|rRx(+*L?9z7JAz(h`hE!_#hSFkT4(Z@>*A5BYDG?P8 zPv>56)p2HU>HoLW(eqyIizPx$YQKfFed@WW_XEzQOwY|}PFP5_J-Xg5m z_~4t+r5g?`pPeip+IAf2HxrWHox~@2X8Y48Va~Ii8shTKx#Va)DzO!|bb0Bspu6wN zoxJldFWO&e&Fhp&s#lwH`d2TnY*RJI^|QC;2Fw$PY+gbC6}@H`~Su z?>o0zTTXb(cz1?CP!ac2m%sVpe&wO>9{8^MeeBqJ9=ogGn<`9vWREoadz8+VZ?H90 s&@xrX`XbkHtlmB9>xFo;wZHgxo!Rg-^>eN + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > Member List

This is the complete list of members for moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >, including all inherited members.

+ + + + + + + + + + + + +
functor_category()eoUF< eoPop< MOEOT > &, void > [static]
metricmoeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > [protected]
moeoReferencePointIndicatorBasedFitnessAssignment(ObjectiveVector &_refPoint, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric)moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > [inline]
ObjectiveVector typedefmoeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >
operator()(eoPop< MOEOT > &_pop)moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > [inline, virtual]
refPointmoeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > [protected]
setFitnesses(eoPop< MOEOT > &_pop)moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > [inline, protected]
setup(const eoPop< MOEOT > &_pop)moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > [inline, protected]
updateByDeleting(eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > [inline, virtual]
moeoFitnessAssignment::updateByDeleting(eoPop< MOEOT > &_pop, MOEOT &_moeo)moeoFitnessAssignment< MOEOT > [inline]
~eoFunctorBase()eoFunctorBase [virtual]
~eoUF()eoUF< eoPop< MOEOT > &, void > [virtual]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoReferencePointIndicatorBasedFitnessAssignment.html b/trunk/paradiseo-moeo/doc/html/classmoeoReferencePointIndicatorBasedFitnessAssignment.html new file mode 100644 index 000000000..d76beca59 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classmoeoReferencePointIndicatorBasedFitnessAssignment.html @@ -0,0 +1,283 @@ + + +ParadisEO-MOEOMovingObjects: moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference + + + + +
+
+ +

moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT > Class Template Reference

Fitness assignment sheme based a Reference Point and a Quality Indicator. +More... +

+#include <moeoReferencePointIndicatorBasedFitnessAssignment.h> +

+

Inheritance diagram for moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >: +

+ +moeoFitnessAssignment< MOEOT > +eoUF< eoPop< MOEOT > &, void > +eoFunctorBase + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

+typedef MOEOT::ObjectiveVector ObjectiveVector
 The type of objective vector.

Public Member Functions

 moeoReferencePointIndicatorBasedFitnessAssignment (ObjectiveVector &_refPoint, moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &_metric)
 Ctor.
void operator() (eoPop< MOEOT > &_pop)
 Sets the fitness values for every solution contained in the population _pop.
void updateByDeleting (eoPop< MOEOT > &_pop, ObjectiveVector &_objVec)
 Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account.

Protected Member Functions

void setup (const eoPop< MOEOT > &_pop)
 Sets the bounds for every objective using the min and the max value for every objective vector of _pop (and the reference point).
void setFitnesses (eoPop< MOEOT > &_pop)
 Sets the fitness of every individual contained in the population _pop.

Protected Attributes

+ObjectiveVectorrefPoint
 the reference point
+moeoNormalizedSolutionVsSolutionBinaryMetric<
+ ObjectiveVector, double > & 
metric
 the quality indicator
+

Detailed Description

+

template<class MOEOT>
+ class moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >

+ +Fitness assignment sheme based a Reference Point and a Quality Indicator. +

+ +

+Definition at line 25 of file moeoReferencePointIndicatorBasedFitnessAssignment.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::moeoReferencePointIndicatorBasedFitnessAssignment (ObjectiveVector _refPoint,
moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, double > &  _metric 
) [inline]
+
+
+ +

+Ctor. +

+

Parameters:
+ + + +
_refPoint the reference point
_metric the quality indicator
+
+ +

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

+

+


Member Function Documentation

+ +
+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::operator() (eoPop< MOEOT > &  _pop  )  [inline, virtual]
+
+
+ +

+Sets the fitness values for every solution contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

+Implements eoUF< eoPop< MOEOT > &, void >. +

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

+References moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::setFitnesses(), and moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::setup(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + + + + + + + + + + +
void moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::updateByDeleting (eoPop< MOEOT > &  _pop,
ObjectiveVector _objVec 
) [inline, virtual]
+
+
+ +

+Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +

+

Parameters:
+ + + +
_pop the population
_objVec the objective vector
+
+ +

+Implements moeoFitnessAssignment< MOEOT >. +

+Definition at line 60 of file moeoReferencePointIndicatorBasedFitnessAssignment.h. +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::setup (const eoPop< MOEOT > &  _pop  )  [inline, protected]
+
+
+ +

+Sets the bounds for every objective using the min and the max value for every objective vector of _pop (and the reference point). +

+

Parameters:
+ + +
_pop the population
+
+ +

+Definition at line 78 of file moeoReferencePointIndicatorBasedFitnessAssignment.h. +

+References moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::metric, moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::refPoint, and moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >::setup(). +

+Referenced by moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::operator()(). +

+

+ +

+
+
+template<class MOEOT>
+ + + + + + + + + +
void moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::setFitnesses (eoPop< MOEOT > &  _pop  )  [inline, protected]
+
+
+ +

+Sets the fitness of every individual contained in the population _pop. +

+

Parameters:
+ + +
_pop the population
+
+ +

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

+References moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::metric, and moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::refPoint. +

+Referenced by moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::operator()(). +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classmoeoReferencePointIndicatorBasedFitnessAssignment.png b/trunk/paradiseo-moeo/doc/html/classmoeoReferencePointIndicatorBasedFitnessAssignment.png new file mode 100644 index 0000000000000000000000000000000000000000..b52223b04ca18a18c96ae70d6ef01cabc11c17d0 GIT binary patch literal 1490 zcmah}dozw^_JLkLie)pVv?jQHN_Z9{Qc4mPfJM}vstARsp{R6%8KwvRB!)-!WWsnqmqO%xSW(d3i=>i>tp6|GFqk0D-~hUO*yp-spc zC-IiAf9FcOT+qi4-8+L`+}6rRq|SF+xGjedXE%ku*bcd4Tbn{`&`Zq^O@3hr?w8ej z?P6sZOJ3R%eOmJ>ZLvP{`-KdvzSi8vEEzzbk|}?TKz!)vH7?PZ^31!Eek@)Wc84`) z<>JL#XLq)d9O>}NPhF$yL@{gu1Cx=jmrprS*^?x+(7Gu3Fb1YF#MPpCFiTR9vu`ny z^yOj9!T?f;oT`YHrR?icT2GKa4mKk_<)NVqTe{J0_(Lm51TeL9$wl4W2qiuZ7ko9OT zL-m+(^*HPHpw=ZDJK8v_U)xCY$C_;8$=9&U~`IiodBlXB_*-isZiYiy$GUFi%zi=nKE=HyKxGX;L*VE-J)kl`~5e_sg3?{D)ZK9d=X#`!eRG>-7w4Y~L8=izq z#@Akf$d0BNEg?VY8fZx^+p$iJ;u~?#R=N2+=;<#Q`qX8C@h#zCC>RM&UnAB~*1x%* zt@u)+I4oyL=wUGs9_U$pAHPtFbr>O^wYrJnzyv1?cjUJ1{xfHCa)RbiqdrCZBG8(W bFn3K0xzW}YSX(4hJYc}rGr*&Pc$E1MkDQai literal 0 HcmV?d00001 diff --git a/trunk/paradiseo-moeo/doc/html/classpeoEA-members.html b/trunk/paradiseo-moeo/doc/html/classpeoEA-members.html new file mode 100644 index 000000000..7b4ab6b73 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classpeoEA-members.html @@ -0,0 +1,45 @@ + + +ParadisEO-MOEOMovingObjects: Member List + + + + +
+
+ +

peoEA< EOT > Member List

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

+ + + + + + + + + +
contpeoEA< EOT > [private]
operator()(eoPop< EOT > &__pop)peoEA< EOT >
peoEA(eoContinue< EOT > &__cont, peoPopEval< EOT > &__pop_eval, eoSelect< EOT > &__select, peoTransform< EOT > &__trans, eoReplacement< EOT > &__replace)peoEA< EOT >
poppeoEA< EOT > [private]
pop_evalpeoEA< EOT > [private]
replacepeoEA< EOT > [private]
run()peoEA< EOT >
selectpeoEA< EOT > [private]
transpeoEA< EOT > [private]


Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/classpeoEA.html b/trunk/paradiseo-moeo/doc/html/classpeoEA.html new file mode 100644 index 000000000..f19685464 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/classpeoEA.html @@ -0,0 +1,228 @@ + + +ParadisEO-MOEOMovingObjects: peoEA< EOT > Class Template Reference + + + + +
+
+ +

peoEA< EOT > Class Template Reference

The peoEA class offers an elementary evolutionary algorithm implementation. +More... +

+#include <pmoeoEA.h> +

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

Public Member Functions

 peoEA (eoContinue< EOT > &__cont, peoPopEval< EOT > &__pop_eval, eoSelect< EOT > &__select, peoTransform< EOT > &__trans, eoReplacement< EOT > &__replace)
 Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism.
+void run ()
 Evolutionary algorithm function - a side effect of the fact that the class is derived from the Runner class, thus requiring the existence of a run function, the algorithm being executed on a distinct thread.
void operator() (eoPop< EOT > &__pop)
 Function operator for specifying the population to be associated with the algorithm.

Private Attributes

+eoContinue< EOT > & cont
+peoPopEval< EOT > & pop_eval
+eoSelect< EOT > & select
+peoTransform< EOT > & trans
+eoReplacement< EOT > & replace
+eoPop< EOT > * pop
+


Detailed Description

+

template<class EOT>
+ class peoEA< EOT >

+ +The peoEA class offers an elementary evolutionary algorithm implementation. +

+In addition, as compared with the algorithms provided by the EO framework, the peoEA class has the underlying necessary structure for including, for example, parallel evaluation and parallel transformation operators, migration operators etc. Although there is no restriction on using the algorithms provided by the EO framework, the drawback resides in the fact that the EO implementation is exclusively sequential and, in consequence, no parallelism is provided. A simple example for constructing a peoEA object:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
...    
eoPop< EOT > population( POP_SIZE, popInitializer );   // creation of a population with POP_SIZE individuals - the popInitializer is a functor to be called for each individual
   
eoGenContinue< EOT > eaCont( NUM_GEN );   // number of generations for the evolutionary algorithm
eoCheckPoint< EOT > eaCheckpointContinue( eaCont );   // checkpoint incorporating the continuation criterion - startpoint for adding other checkpoint objects
   
peoSeqPopEval< EOT > eaPopEval( evalFunction );   // sequential evaluation functor wrapper - evalFunction represents the actual evaluation functor
   
eoRankingSelect< EOT > selectionStrategy;   // selection strategy for creating the offspring population - a simple ranking selection in this case
eoSelectNumber< EOT > eaSelect( selectionStrategy, POP_SIZE );   // the number of individuals to be selected for creating the offspring population
eoRankingSelect< EOT > selectionStrategy;   // selection strategy for creating the offspring population - a simple ranking selection in this case
   
eoSGATransform< EOT > transform( crossover, CROSS_RATE, mutation, MUT_RATE );   // transformation operator - crossover and mutation operators with their associated probabilities
peoSeqTransform< EOT > eaTransform( transform );   // ParadisEO specific sequential operator - a parallel version may be specified in the same manner
   
eoPlusReplacement< EOT > eaReplace;   // replacement strategy - for integrating the offspring resulting individuals in the initial population
   
peoEA< EOT > eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace );   // ParadisEO evolutionary algorithm integrating the above defined objects
eaAlg( population );   // specifying the initial population for the algorithm
...    
+ +

+ +

+Definition at line 54 of file pmoeoEA.h.


Constructor & Destructor Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
peoEA< EOT >::peoEA (eoContinue< EOT > &  __cont,
peoPopEval< EOT > &  __pop_eval,
eoSelect< EOT > &  __select,
peoTransform< EOT > &  __trans,
eoReplacement< EOT > &  __replace 
)
+
+
+ +

+Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism. +

+Depending on the requirements, a sequential or a parallel evaluation operator may be specified or, in the same manner, a sequential or a parallel transformation operator may be given as parameter. Out of the box objects may be provided, from the EO package, for example, or custom defined ones may be specified, provided that they are derived from the correct base classes.

+

Parameters:
+ + + + + + +
eoContinue< EOT >& __cont - continuation criterion specifying whether the algorithm should continue or not;
peoPopEval< EOT >& __pop_eval - evaluation operator; it allows the specification of parallel evaluation operators, aggregate evaluation functions, etc.;
eoSelect< EOT >& __select - selection strategy to be applied for constructing a list of offspring individuals;
peoTransform< EOT >& __trans - transformation operator, i.e. crossover and mutation; allows for sequential or parallel transform;
eoReplacement< EOT >& __replace - replacement strategy for integrating the offspring individuals in the initial population;
+
+ +

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

+References peoEA< EOT >::pop_eval, and peoEA< EOT >::trans. +

+

+


Member Function Documentation

+ +
+
+
+template<class EOT>
+ + + + + + + + + +
void peoEA< EOT >::operator() (eoPop< EOT > &  __pop  ) 
+
+
+ +

+Function operator for specifying the population to be associated with the algorithm. +

+

Parameters:
+ + +
eoPop< EOT >& __pop - initial population of the algorithm, to be iteratively evolved;
+
+ +

+Definition at line 114 of file pmoeoEA.h. +

+References peoEA< EOT >::pop. +

+

+


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x62.html b/trunk/paradiseo-moeo/doc/html/functions_0x62.html new file mode 100644 index 000000000..d728575f3 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x62.html @@ -0,0 +1,78 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- b -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x63.html b/trunk/paradiseo-moeo/doc/html/functions_0x63.html new file mode 100644 index 000000000..e8c442917 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x63.html @@ -0,0 +1,95 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- c -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x64.html b/trunk/paradiseo-moeo/doc/html/functions_0x64.html new file mode 100644 index 000000000..11ee93db3 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x64.html @@ -0,0 +1,96 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- d -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x65.html b/trunk/paradiseo-moeo/doc/html/functions_0x65.html new file mode 100644 index 000000000..a503f09dc --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x65.html @@ -0,0 +1,80 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- e -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x66.html b/trunk/paradiseo-moeo/doc/html/functions_0x66.html new file mode 100644 index 000000000..cf69b4562 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x66.html @@ -0,0 +1,86 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- f -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x67.html b/trunk/paradiseo-moeo/doc/html/functions_0x67.html new file mode 100644 index 000000000..211b7ceeb --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x67.html @@ -0,0 +1,82 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- g -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x68.html b/trunk/paradiseo-moeo/doc/html/functions_0x68.html new file mode 100644 index 000000000..68b57203f --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x68.html @@ -0,0 +1,77 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- h -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x69.html b/trunk/paradiseo-moeo/doc/html/functions_0x69.html new file mode 100644 index 000000000..38128c1ac --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x69.html @@ -0,0 +1,90 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- i -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x6b.html b/trunk/paradiseo-moeo/doc/html/functions_0x6b.html new file mode 100644 index 000000000..77cee7bc6 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x6b.html @@ -0,0 +1,76 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- k -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x6c.html b/trunk/paradiseo-moeo/doc/html/functions_0x6c.html new file mode 100644 index 000000000..962b32b59 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x6c.html @@ -0,0 +1,78 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- l -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x6d.html b/trunk/paradiseo-moeo/doc/html/functions_0x6d.html new file mode 100644 index 000000000..a91ecaea2 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x6d.html @@ -0,0 +1,124 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- m -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x6e.html b/trunk/paradiseo-moeo/doc/html/functions_0x6e.html new file mode 100644 index 000000000..7d5abecd9 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x6e.html @@ -0,0 +1,83 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- n -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x6f.html b/trunk/paradiseo-moeo/doc/html/functions_0x6f.html new file mode 100644 index 000000000..9f70376a5 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x6f.html @@ -0,0 +1,91 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- o -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x70.html b/trunk/paradiseo-moeo/doc/html/functions_0x70.html new file mode 100644 index 000000000..6d7c434ff --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x70.html @@ -0,0 +1,84 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- p -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x72.html b/trunk/paradiseo-moeo/doc/html/functions_0x72.html new file mode 100644 index 000000000..acf2c1ba2 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x72.html @@ -0,0 +1,86 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- r -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x73.html b/trunk/paradiseo-moeo/doc/html/functions_0x73.html new file mode 100644 index 000000000..438a8ba8a --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x73.html @@ -0,0 +1,85 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- s -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x74.html b/trunk/paradiseo-moeo/doc/html/functions_0x74.html new file mode 100644 index 000000000..d375480c1 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x74.html @@ -0,0 +1,85 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- t -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x75.html b/trunk/paradiseo-moeo/doc/html/functions_0x75.html new file mode 100644 index 000000000..dd36247f6 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x75.html @@ -0,0 +1,78 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- u -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x76.html b/trunk/paradiseo-moeo/doc/html/functions_0x76.html new file mode 100644 index 000000000..189cc4afc --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x76.html @@ -0,0 +1,79 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- v -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x77.html b/trunk/paradiseo-moeo/doc/html/functions_0x77.html new file mode 100644 index 000000000..76af96fda --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x77.html @@ -0,0 +1,77 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- w -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/functions_0x7e.html b/trunk/paradiseo-moeo/doc/html/functions_0x7e.html new file mode 100644 index 000000000..a6fd80cfd --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/functions_0x7e.html @@ -0,0 +1,76 @@ + + +ParadisEO-MOEOMovingObjects: Class Members + + + + +
+
+ + +
+ +
+ +

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

+

- ~ -

+
Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/make__eval__FlowShop_8h-source.html b/trunk/paradiseo-moeo/doc/html/make__eval__FlowShop_8h-source.html new file mode 100644 index 000000000..904b7e000 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/make__eval__FlowShop_8h-source.html @@ -0,0 +1,83 @@ + + +ParadisEO-MOEOMovingObjects: make_eval_FlowShop.h Source File + + + + +
+
+

make_eval_FlowShop.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // make_eval_FlowShop.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MAKE_EVAL_FLOWSHOP_H_
+00014 #define MAKE_EVAL_FLOWSHOP_H_
+00015 
+00016 
+00017 #include <utils/eoParser.h>
+00018 #include <utils/eoState.h>
+00019 #include <eoEvalFuncCounter.h>
+00020 #include <FlowShop.h>
+00021 #include <FlowShopBenchmarkParser.h>
+00022 #include <FlowShopEval.h>
+00023 
+00024 /*
+00025  * This function creates an eoEvalFuncCounter<eoFlowShop> that can later be used to evaluate an individual.
+00026  * @param eoParser& _parser  to get user parameters
+00027  * @param eoState& _state  to store the memory
+00028  */
+00029 eoEvalFuncCounter<FlowShop> & do_make_eval(eoParser& _parser, eoState& _state)
+00030 {
+00031     // benchmark file name
+00032     std::string benchmarkFileName = _parser.getORcreateParam(std::string(), "BenchmarkFile", "Benchmark file name (benchmarks are available at www.lifl.fr/~liefooga/benchmarks)", 'B',"Representation", true).value();
+00033     if (benchmarkFileName == "") {
+00034         std::string stmp = "*** Missing name of the benchmark file\n";
+00035         stmp += "    Type '-B=the_benchmark_file_name' or '--BenchmarkFile=the_benchmark_file_name'\n";
+00036         stmp += "    Benchmarks files are available at www.lifl.fr/~liefooga/benchmarks";
+00037         throw std::runtime_error(stmp.c_str());
+00038     }
+00039     // reading of the parameters contained in the benchmark file
+00040     FlowShopBenchmarkParser fParser(benchmarkFileName);
+00041     unsigned int M = fParser.getM();
+00042     unsigned int N = fParser.getN();
+00043     std::vector< std::vector<unsigned int> > p = fParser.getP();
+00044     std::vector<unsigned int> d = fParser.getD();
+00045     // build of the initializer (a pointer, stored in the eoState)
+00046     FlowShopEval* plainEval = new FlowShopEval(M, N, p, d);
+00047     // turn that object into an evaluation counter
+00048     eoEvalFuncCounter<FlowShop>* eval = new eoEvalFuncCounter<FlowShop> (* plainEval);
+00049     // store in state
+00050     _state.storeFunctor(eval);
+00051     // and return a reference
+00052     return *eval;
+00053 }
+00054 
+00055 #endif /*MAKE_EVAL_FLOWSHOP_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/make__genotype__FlowShop_8h-source.html b/trunk/paradiseo-moeo/doc/html/make__genotype__FlowShop_8h-source.html new file mode 100644 index 000000000..51c9704e5 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/make__genotype__FlowShop_8h-source.html @@ -0,0 +1,76 @@ + + +ParadisEO-MOEOMovingObjects: make_genotype_FlowShop.h Source File + + + + +
+
+

make_genotype_FlowShop.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // make_genotype_FlowShop.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MAKE_GENOTYPE_FLOWSHOP_H_
+00014 #define MAKE_GENOTYPE_FLOWSHOP_H_
+00015 
+00016 #include <utils/eoParser.h>
+00017 #include <utils/eoState.h>
+00018 #include <FlowShop.h>
+00019 #include <FlowShopInit.h>
+00020 #include <FlowShopBenchmarkParser.h>
+00021 
+00022 /*
+00023  * This function creates an eoInit<eoFlowShop> that can later be used to initialize the population (see make_pop.h).
+00024  * @param eoParser& _parser  to get user parameters
+00025  * @param eoState& _state  to store the memory
+00026  */
+00027 eoInit<FlowShop> & do_make_genotype(eoParser& _parser, eoState& _state)
+00028 {
+00029     // benchmark file name
+00030     std::string benchmarkFileName = _parser.getORcreateParam(std::string(), "BenchmarkFile", "Benchmark file name (benchmarks are available at www.lifl.fr/~liefooga/benchmarks/)", 'B',"Representation", true).value();
+00031     if (benchmarkFileName == "") {
+00032         std::string stmp = "*** Missing name of the benchmark file\n";
+00033         stmp += "   Type '-B=the_benchmark_file_name' or '--BenchmarkFile=the_benchmark_file_name'\n";
+00034         stmp += "   Benchmarks files are available at www.lifl.fr/~liefooga/benchmarks";
+00035         throw std::runtime_error(stmp.c_str());
+00036     }
+00037     // reading of number of jobs to schedule contained in the benchmark file
+00038     FlowShopBenchmarkParser fParser(benchmarkFileName);
+00039     unsigned int N = fParser.getN();
+00040     // build of the initializer (a pointer, stored in the eoState)
+00041     eoInit<FlowShop>* init = new FlowShopInit(N);
+00042     // store in state
+00043     _state.storeFunctor(init);
+00044     // and return a reference
+00045     return *init;
+00046 }
+00047 
+00048 #endif /*MAKE_GENOTYPE_FLOWSHOP_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/make__ls__moeo_8h-source.html b/trunk/paradiseo-moeo/doc/html/make__ls__moeo_8h-source.html new file mode 100644 index 000000000..c61f1774b --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/make__ls__moeo_8h-source.html @@ -0,0 +1,136 @@ + + +ParadisEO-MOEOMovingObjects: make_ls_moeo.h Source File + + + + +
+
+

make_ls_moeo.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // make_ls_moeo.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MAKE_LS_MOEO_H_
+00014 #define MAKE_LS_MOEO_H_
+00015 
+00016 #include <eoContinue.h>
+00017 #include <eoEvalFunc.h>
+00018 #include <eoGenOp.h>
+00019 #include <utils/eoParser.h>
+00020 #include <utils/eoState.h>
+00021 #include <algo/moeoIBMOLS.h>
+00022 #include <algo/moeoIteratedIBMOLS.h>
+00023 #include <algo/moeoLS.h>
+00024 #include <archive/moeoArchive.h>
+00025 #include <fitness/moeoBinaryIndicatorBasedFitnessAssignment.h>
+00026 #include <fitness/moeoExpBinaryIndicatorBasedFitnessAssignment.h>
+00027 #include <metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h>
+00028 #include <move/moeoMoveIncrEval.h>
+00029 
+00043 template < class MOEOT, class Move >
+00044 moeoLS < MOEOT, eoPop<MOEOT> & > & do_make_ls_moeo      (
+00045     eoParser & _parser,
+00046     eoState & _state,
+00047     eoEvalFunc < MOEOT > & _eval,
+00048     moeoMoveIncrEval < Move > & _moveIncrEval,
+00049     eoContinue < MOEOT > & _continue,
+00050     eoMonOp < MOEOT > & _op,
+00051     eoMonOp < MOEOT > & _opInit,
+00052     moMoveInit < Move > & _moveInit,
+00053     moNextMove < Move > & _nextMove,
+00054     moeoArchive < MOEOT > & _archive
+00055 )
+00056 {
+00057     /* the objective vector type */
+00058     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00059     /* the fitness assignment strategy */
+00060     std::string & fitnessParam = _parser.getORcreateParam(std::string("IndicatorBased"), "fitness",
+00061                             "Fitness assignment strategy parameter: IndicatorBased...", 'F',
+00062                             "Evolution Engine").value();
+00063     std::string & indicatorParam = _parser.getORcreateParam(std::string("Epsilon"), "indicator",
+00064                               "Binary indicator to use with the IndicatorBased assignment: Epsilon, Hypervolume", 'i',
+00065                               "Evolution Engine").value();
+00066     double rho = _parser.getORcreateParam(1.1, "rho", "reference point for the hypervolume indicator",
+00067                                           'r', "Evolution Engine").value();
+00068     double kappa = _parser.getORcreateParam(0.05, "kappa", "Scaling factor kappa for IndicatorBased",
+00069                                             'k', "Evolution Engine").value();
+00070     moeoBinaryIndicatorBasedFitnessAssignment < MOEOT > * fitnessAssignment;
+00071     if (fitnessParam == std::string("IndicatorBased"))
+00072     {
+00073         // metric
+00074         moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > *metric;
+00075         if (indicatorParam == std::string("Epsilon"))
+00076         {
+00077             metric = new moeoAdditiveEpsilonBinaryMetric < ObjectiveVector >;
+00078         }
+00079         else if (indicatorParam == std::string("Hypervolume"))
+00080         {
+00081             metric = new moeoHypervolumeBinaryMetric < ObjectiveVector > (rho);
+00082         }
+00083         else
+00084         {
+00085             std::string stmp = std::string("Invalid binary quality indicator: ") + indicatorParam;
+00086             throw std::runtime_error(stmp.c_str());
+00087         }
+00088         fitnessAssignment = new moeoExpBinaryIndicatorBasedFitnessAssignment < MOEOT> (*metric, kappa);
+00089     }
+00090     else
+00091     {
+00092         std::string stmp = std::string("Invalid fitness assignment strategy: ") + fitnessParam;
+00093         throw std::runtime_error(stmp.c_str());
+00094     }
+00095     _state.storeFunctor(fitnessAssignment);
+00096     // number of iterations
+00097     unsigned int n = _parser.getORcreateParam(1, "n", "Number of iterations for population Initialization", 'n', "Evolution Engine").value();
+00098     // LS
+00099     std::string & lsParam = _parser.getORcreateParam(std::string("I-IBMOLS"), "ls",
+00100                        "Local Search: IBMOLS, I-IBMOLS (Iterated-IBMOLS)...", 'L',
+00101                        "Evolution Engine").value();
+00102     moeoLS < MOEOT, eoPop<MOEOT> & > * ls;
+00103     if (lsParam == std::string("IBMOLS"))
+00104     {
+00105         ls = new moeoIBMOLS < MOEOT, Move > (_moveInit, _nextMove, _eval, _moveIncrEval, *fitnessAssignment, _continue);;
+00106     }
+00107     else if (lsParam == std::string("I-IBMOLS"))
+00108     {
+00109         ls = new moeoIteratedIBMOLS < MOEOT, Move > (_moveInit, _nextMove, _eval, _moveIncrEval, *fitnessAssignment, _continue, _op, _opInit, n);
+00110     }
+00111     else
+00112     {
+00113         std::string stmp = std::string("Invalid fitness assignment strategy: ") + fitnessParam;
+00114         throw std::runtime_error(stmp.c_str());
+00115     }
+00116     _state.storeFunctor(ls);
+00117     // that's it !
+00118     return *ls;
+00119 }
+00120 
+00121 #endif /*MAKE_LS_MOEO_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/make__op__FlowShop_8h-source.html b/trunk/paradiseo-moeo/doc/html/make__op__FlowShop_8h-source.html new file mode 100644 index 000000000..55d792e9d --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/make__op__FlowShop_8h-source.html @@ -0,0 +1,130 @@ + + +ParadisEO-MOEOMovingObjects: make_op_FlowShop.h Source File + + + + +
+
+

make_op_FlowShop.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // make_op_FlowShop.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MAKE_OP_FLOWSHOP_H_
+00014 #define MAKE_OP_FLOWSHOP_H_
+00015 
+00016 #include <utils/eoParser.h>
+00017 #include <utils/eoState.h>
+00018 #include <eoOp.h>
+00019 #include <eoGenOp.h>
+00020 #include <eoCloneOps.h>
+00021 #include <eoOpContainer.h>
+00022 #include <eoProportionalCombinedOp.h>
+00023 #include <FlowShopOpCrossoverQuad.h>
+00024 #include <FlowShopOpMutationShift.h>
+00025 #include <FlowShopOpMutationExchange.h>
+00026 
+00027 /*
+00028  * This function builds the operators that will be applied to the eoFlowShop
+00029  * @param eoParameterLoader& _parser to get user parameters
+00030  * @param eoState& _state to store the memory
+00031  */
+00032 eoGenOp<FlowShop> & do_make_op(eoParameterLoader& _parser, eoState& _state)
+00033 {
+00034 
+00036     // Variation operators
+00038 
+00039     // the crossover
+00041 
+00042     // a first crossover
+00043     eoQuadOp<FlowShop> *cross = new FlowShopOpCrossoverQuad;
+00044     // store in the state
+00045     _state.storeFunctor(cross);
+00046 
+00047     // relative rate in the combination
+00048     double cross1Rate = _parser.createParam(1.0, "crossRate", "Relative rate for the only crossover", 0, "Variation Operators").value();
+00049     // creation of the combined operator with this one
+00050     eoPropCombinedQuadOp<FlowShop> *propXover = new eoPropCombinedQuadOp<FlowShop>(*cross, cross1Rate);
+00051     // store in the state
+00052     _state.storeFunctor(propXover);
+00053 
+00054 
+00055     // the mutation
+00057 
+00058     // a first mutation : the shift mutation
+00059     eoMonOp<FlowShop> *mut = new FlowShopOpMutationShift;
+00060     _state.storeFunctor(mut);
+00061     // its relative rate in the combination
+00062     double mut1Rate = _parser.createParam(0.5, "shiftMutRate", "Relative rate for shift mutation", 0, "Variation Operators").value();
+00063     // creation of the combined operator with this one
+00064     eoPropCombinedMonOp<FlowShop> *propMutation = new eoPropCombinedMonOp<FlowShop>(*mut, mut1Rate);
+00065     _state.storeFunctor(propMutation);
+00066 
+00067     // a second mutation : the exchange mutation
+00068     mut = new FlowShopOpMutationExchange;
+00069     _state.storeFunctor(mut);
+00070     // its relative rate in the combination
+00071     double mut2Rate = _parser.createParam(0.5, "exchangeMutRate", "Relative rate for exchange mutation", 0, "Variation Operators").value();
+00072     // addition of this one to the combined operator
+00073     propMutation -> add(*mut, mut2Rate);
+00074 
+00075     // end of crossover and mutation definitions
+00077 
+00078     // First read the individual level parameters
+00079     eoValueParam<double>& pCrossParam = _parser.createParam(0.25, "pCross", "Probability of Crossover", 'c', "Variation Operators" );
+00080     // minimum check
+00081     if ( (pCrossParam.value() < 0) || (pCrossParam.value() > 1) )
+00082         throw std::runtime_error("Invalid pCross");
+00083 
+00084     eoValueParam<double>& pMutParam = _parser.createParam(0.35, "pMut", "Probability of Mutation", 'm', "Variation Operators" );
+00085     // minimum check
+00086     if ( (pMutParam.value() < 0) || (pMutParam.value() > 1) )
+00087         throw std::runtime_error("Invalid pMut");
+00088 
+00089     // the crossover - with probability pCross
+00090     eoProportionalOp<FlowShop> * propOp = new eoProportionalOp<FlowShop> ;
+00091     _state.storeFunctor(propOp);
+00092     eoQuadOp<FlowShop> *ptQuad = new eoQuadCloneOp<FlowShop>;
+00093     _state.storeFunctor(ptQuad);
+00094     propOp -> add(*propXover, pCrossParam.value()); // crossover, with proba pcross
+00095     propOp -> add(*ptQuad, 1-pCrossParam.value()); // nothing, with proba 1-pcross
+00096 
+00097     // now the sequential
+00098     eoSequentialOp<FlowShop> *op = new eoSequentialOp<FlowShop>;
+00099     _state.storeFunctor(op);
+00100     op -> add(*propOp, 1.0);     // always do combined crossover
+00101     op -> add(*propMutation, pMutParam.value()); // then mutation, with proba pmut
+00102 
+00103     // return a reference
+00104     return *op;
+00105 }
+00106 
+00107 #endif /*MAKE_OP_FLOWSHOP_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/moeoIBMOLS_8h-source.html b/trunk/paradiseo-moeo/doc/html/moeoIBMOLS_8h-source.html new file mode 100644 index 000000000..3b87f592f --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/moeoIBMOLS_8h-source.html @@ -0,0 +1,469 @@ + + +ParadisEO-MOEOMovingObjects: moeoIBMOLS.h Source File + + + + +
+
+

moeoIBMOLS.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoIBMOLS.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOIBMOLS_H_
+00014 #define MOEOIBMOLS_H_
+00015 
+00016 #include <math.h>
+00017 #include <eoContinue.h>
+00018 #include <eoEvalFunc.h>
+00019 #include <eoPop.h>
+00020 #include <moMove.h>
+00021 #include <moMoveInit.h>
+00022 #include <moNextMove.h>
+00023 #include <algo/moeoLS.h>
+00024 #include <archive/moeoArchive.h>
+00025 #include <fitness/moeoBinaryIndicatorBasedFitnessAssignment.h>
+00026 #include <move/moeoMoveIncrEval.h>
+00027 
+00032 template < class MOEOT, class Move >
+00033 class moeoIBMOLS : public moeoLS < MOEOT, eoPop < MOEOT > & >
+00034 {
+00035 public:
+00036 
+00038     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00039 
+00040 
+00050     moeoIBMOLS(
+00051         moMoveInit < Move > & _moveInit,
+00052         moNextMove < Move > & _nextMove,
+00053         eoEvalFunc < MOEOT > & _eval,
+00054         moeoMoveIncrEval < Move > & _moveIncrEval,
+00055         moeoBinaryIndicatorBasedFitnessAssignment < MOEOT > & _fitnessAssignment,
+00056         eoContinue < MOEOT > & _continuator
+00057     ) :
+00058             moveInit(_moveInit),
+00059             nextMove(_nextMove),
+00060             eval(_eval),
+00061             moveIncrEval(_moveIncrEval),
+00062             fitnessAssignment (_fitnessAssignment),
+00063             continuator (_continuator)
+00064     {}
+00065 
+00066 
+00073     void operator() (eoPop < MOEOT > & _pop, moeoArchive < MOEOT > & _arch)
+00074     {
+00075         // evaluation of the objective values
+00076         /*
+00077                 for (unsigned int i=0; i<_pop.size(); i++)
+00078                 {
+00079                     eval(_pop[i]);
+00080                 }
+00081         */
+00082         // fitness assignment for the whole population
+00083         fitnessAssignment(_pop);
+00084         // creation of a local archive
+00085         moeoArchive < MOEOT > archive;
+00086         // creation of another local archive (for the stopping criteria)
+00087         moeoArchive < MOEOT > previousArchive;
+00088         // update the archive with the initial population
+00089         archive.update(_pop);
+00090         do
+00091         {
+00092             previousArchive.update(archive);
+00093             oneStep(_pop);
+00094             archive.update(_pop);
+00095         } while ( (! archive.equals(previousArchive)) && (continuator(_arch)) );
+00096         _arch.update(archive);
+00097     }
+00098 
+00099 
+00100 private:
+00101 
+00103     moMoveInit < Move > & moveInit;
+00105     moNextMove < Move > & nextMove;
+00107     eoEvalFunc < MOEOT > & eval;
+00109     moeoMoveIncrEval < Move > & moveIncrEval;
+00111     moeoBinaryIndicatorBasedFitnessAssignment < MOEOT > & fitnessAssignment;
+00113     eoContinue < MOEOT > & continuator;
+00114 
+00115 
+00120     void oneStep (eoPop < MOEOT > & _pop)
+00121     {
+00122         // the move
+00123         Move move;
+00124         // the objective vector and the fitness of the current solution
+00125         ObjectiveVector x_objVec;
+00126         double x_fitness;
+00127         // the index, the objective vector and the fitness of the worst solution in the population (-1 implies that the worst is the newly created one)
+00128         int worst_idx;
+00129         ObjectiveVector worst_objVec;
+00130         double worst_fitness;
+00132         // the indexes and the objective vectors of the extreme non-dominated points
+00133         int ext_0_idx, ext_1_idx;
+00134         ObjectiveVector ext_0_objVec, ext_1_objVec;
+00135         unsigned int ind;   
+00137         // the index of the current solution to be explored
+00138         unsigned int i=0;
+00139         // initilization of the move for the first individual
+00140         moveInit(move, _pop[i]);
+00141         while (i<_pop.size() && continuator(_pop))
+00142         {
+00143             // x = one neigbour of pop[i]
+00144             // evaluate x in the objective space
+00145             x_objVec = moveIncrEval(move, _pop[i]);
+00146             // update every fitness values to take x into account and compute the fitness of x
+00147             x_fitness = fitnessAssignment.updateByAdding(_pop, x_objVec);
+00148 
+00152                         // extreme solutions (min only!)
+00153             ext_0_idx = -1;
+00154             ext_0_objVec = x_objVec;
+00155             ext_1_idx = -1;
+00156             ext_1_objVec = x_objVec;
+00157             for (unsigned int k=0; k<_pop.size(); k++)
+00158             {
+00159                 // ext_0
+00160                 if (_pop[k].objectiveVector()[0] < ext_0_objVec[0])
+00161                 {
+00162                     ext_0_idx = k;
+00163                     ext_0_objVec = _pop[k].objectiveVector();
+00164                 }
+00165                 else if ( (_pop[k].objectiveVector()[0] == ext_0_objVec[0]) && (_pop[k].objectiveVector()[1] < ext_0_objVec[1]) )
+00166                 {
+00167                     ext_0_idx = k;
+00168                     ext_0_objVec = _pop[k].objectiveVector();
+00169                 }
+00170                 // ext_1
+00171                 else if (_pop[k].objectiveVector()[1] < ext_1_objVec[1])
+00172                 {
+00173                     ext_1_idx = k;
+00174                     ext_1_objVec = _pop[k].objectiveVector();
+00175                 }
+00176                 else if ( (_pop[k].objectiveVector()[1] == ext_1_objVec[1]) && (_pop[k].objectiveVector()[0] < ext_1_objVec[0]) )
+00177                 {
+00178                     ext_1_idx = k;
+00179                     ext_1_objVec = _pop[k].objectiveVector();
+00180                 }
+00181             }
+00182                         // worst init
+00183             if (ext_0_idx == -1)
+00184             {
+00185                 ind = 0;
+00186                 while (ind == ext_1_idx)
+00187                 {
+00188                     ind++;
+00189                 }
+00190                 worst_idx = ind;
+00191                 worst_objVec = _pop[ind].objectiveVector();
+00192                 worst_fitness = _pop[ind].fitness();
+00193             }
+00194             else if (ext_1_idx == -1)
+00195             {
+00196                 ind = 0;
+00197                 while (ind == ext_0_idx)
+00198                 {
+00199                     ind++;
+00200                 }
+00201                 worst_idx = ind;
+00202                 worst_objVec = _pop[ind].objectiveVector();
+00203                 worst_fitness = _pop[ind].fitness();
+00204             }
+00205             else
+00206             {
+00207                 worst_idx = -1;
+00208                 worst_objVec = x_objVec;
+00209                 worst_fitness = x_fitness;
+00210             }
+00214 
+00215             // who is the worst ?
+00216             for (unsigned int j=0; j<_pop.size(); j++)
+00217             {
+00218                 if ( (j!=ext_0_idx) && (j!=ext_1_idx) )
+00219                 {
+00220                     if (_pop[j].fitness() < worst_fitness)
+00221                     {
+00222                         worst_idx = j;
+00223                         worst_objVec = _pop[j].objectiveVector();
+00224                         worst_fitness = _pop[j].fitness();
+00225                     }
+00226                 }
+00227             }
+00228             // if the worst solution is the new one
+00229             if (worst_idx == -1)
+00230             {
+00231                 // if all its neighbours have been explored,
+00232                 // let's explore the neighborhoud of the next individual
+00233                 if (! nextMove(move, _pop[i]))
+00234                 {
+00235                     i++;
+00236                     if (i<_pop.size())
+00237                     {
+00238                         // initilization of the move for the next individual
+00239                         moveInit(move, _pop[i]);
+00240                     }
+00241                 }
+00242             }
+00243             // if the worst solution is located before _pop[i]
+00244             else if (worst_idx <= i)
+00245             {
+00246                 // the new solution takes place insteed of _pop[worst_idx]
+00247                 _pop[worst_idx] = _pop[i];
+00248                 move(_pop[worst_idx]);
+00249                 _pop[worst_idx].objectiveVector(x_objVec);
+00250                 _pop[worst_idx].fitness(x_fitness);
+00251                 // let's explore the neighborhoud of the next individual
+00252                 i++;
+00253                 if (i<_pop.size())
+00254                 {
+00255                     // initilization of the move for the next individual
+00256                     moveInit(move, _pop[i]);
+00257                 }
+00258             }
+00259             // if the worst solution is located after _pop[i]
+00260             else if (worst_idx > i)
+00261             {
+00262                 // the new solution takes place insteed of _pop[i+1] and _pop[worst_idx] is deleted
+00263                 _pop[worst_idx] = _pop[i+1];
+00264                 _pop[i+1] = _pop[i];
+00265                 move(_pop[i+1]);
+00266                 _pop[i+1].objectiveVector(x_objVec);
+00267                 _pop[i+1].fitness(x_fitness);
+00268                 // let's explore the neighborhoud of the individual _pop[i+2]
+00269                 i += 2;
+00270                 if (i<_pop.size())
+00271                 {
+00272                     // initilization of the move for the next individual
+00273                     moveInit(move, _pop[i]);
+00274                 }
+00275             }
+00276             // update fitness values
+00277             fitnessAssignment.updateByDeleting(_pop, worst_objVec);
+00278         }
+00279     }
+00280 
+00281 
+00282 
+00283 
+00284 
+00285 
+00286 
+00287 
+00288 
+00289 
+00290 
+00291 
+00292 
+00293 // INUTILE !!!!
+00294 
+00295 
+00296 
+00297 
+00298 
+00299 
+00304     void new_oneStep (eoPop < MOEOT > & _pop)
+00305     {
+00306         // the move
+00307         Move move;
+00308         // the objective vector and the fitness of the current solution
+00309         ObjectiveVector x_objVec;
+00310         double x_fitness;
+00311         // the index, the objective vector and the fitness of the worst solution in the population (-1 implies that the worst is the newly created one)
+00312         int worst_idx;
+00313         ObjectiveVector worst_objVec;
+00314         double worst_fitness;
+00316         // the index of the extreme non-dominated points
+00317         int ext_0_idx, ext_1_idx;
+00318         unsigned int ind;   
+00320         // the index current of the current solution to be explored
+00321         unsigned int i=0;
+00322         // initilization of the move for the first individual
+00323         moveInit(move, _pop[i]);
+00324         while (i<_pop.size() && continuator(_pop))
+00325         {
+00326             // x = one neigbour of pop[i]
+00327             // evaluate x in the objective space
+00328             x_objVec = moveIncrEval(move, _pop[i]);
+00329             // update every fitness values to take x into account and compute the fitness of x
+00330             x_fitness = fitnessAssignment.updateByAdding(_pop, x_objVec);
+00331 
+00335                         // extremes solutions
+00336             OneObjectiveComparator comp0(0);
+00337             ext_0_idx = std::min_element(_pop.begin(), _pop.end(), comp0) - _pop.begin();
+00338             OneObjectiveComparator comp1(1);
+00339             ext_1_idx = std::min_element(_pop.begin(), _pop.end(), comp1) - _pop.begin();
+00340                         // new = extreme ?
+00341             if (x_objVec[0] < _pop[ext_0_idx].objectiveVector()[0])
+00342             {
+00343                 ext_0_idx = -1;
+00344             }
+00345             else if ( (x_objVec[0] == _pop[ext_0_idx].objectiveVector()[0]) && (x_objVec[1] < _pop[ext_0_idx].objectiveVector()[1]) )
+00346             {
+00347                 ext_0_idx = -1;
+00348             }
+00349             else if (x_objVec[1] < _pop[ext_1_idx].objectiveVector()[1])
+00350             {
+00351                 ext_1_idx = -1;
+00352             }
+00353             else if ( (x_objVec[1] == _pop[ext_1_idx].objectiveVector()[1]) && (x_objVec[0] < _pop[ext_1_idx].objectiveVector()[0]) )
+00354             {
+00355                 ext_1_idx = -1;
+00356             }
+00357             // worst init
+00358             if (ext_0_idx == -1)
+00359             {
+00360                 ind = 0;
+00361                 while (ind == ext_1_idx)
+00362                 {
+00363                     ind++;
+00364                 }
+00365                 worst_idx = ind;
+00366                 worst_objVec = _pop[ind].objectiveVector();
+00367                 worst_fitness = _pop[ind].fitness();
+00368             }
+00369             else if (ext_1_idx == -1)
+00370             {
+00371                 ind = 0;
+00372                 while (ind == ext_0_idx)
+00373                 {
+00374                     ind++;
+00375                 }
+00376                 worst_idx = ind;
+00377                 worst_objVec = _pop[ind].objectiveVector();
+00378                 worst_fitness = _pop[ind].fitness();
+00379             }
+00380             else
+00381             {
+00382                 worst_idx = -1;
+00383                 worst_objVec = x_objVec;
+00384                 worst_fitness = x_fitness;
+00385             }
+00389 
+00390             // who is the worst ?
+00391             for (unsigned int j=0; j<_pop.size(); j++)
+00392             {
+00393                 if ( (j!=ext_0_idx) && (j!=ext_1_idx) )
+00394                 {
+00395                     if (_pop[j].fitness() < worst_fitness)
+00396                     {
+00397                         worst_idx = j;
+00398                         worst_objVec = _pop[j].objectiveVector();
+00399                         worst_fitness = _pop[j].fitness();
+00400                     }
+00401                 }
+00402             }
+00403             // if the worst solution is the new one
+00404             if (worst_idx == -1)
+00405             {
+00406                 // if all its neighbours have been explored,
+00407                 // let's explore the neighborhoud of the next individual
+00408                 if (! nextMove(move, _pop[i]))
+00409                 {
+00410                     i++;
+00411                     if (i<_pop.size())
+00412                     {
+00413                         // initilization of the move for the next individual
+00414                         moveInit(move, _pop[i]);
+00415                     }
+00416                 }
+00417             }
+00418             // if the worst solution is located before _pop[i]
+00419             else if (worst_idx <= i)
+00420             {
+00421                 // the new solution takes place insteed of _pop[worst_idx]
+00422                 _pop[worst_idx] = _pop[i];
+00423                 move(_pop[worst_idx]);
+00424                 _pop[worst_idx].objectiveVector(x_objVec);
+00425                 _pop[worst_idx].fitness(x_fitness);
+00426                 // let's explore the neighborhoud of the next individual
+00427                 i++;
+00428                 if (i<_pop.size())
+00429                 {
+00430                     // initilization of the move for the next individual
+00431                     moveInit(move, _pop[i]);
+00432                 }
+00433             }
+00434             // if the worst solution is located after _pop[i]
+00435             else if (worst_idx > i)
+00436             {
+00437                 // the new solution takes place insteed of _pop[i+1] and _pop[worst_idx] is deleted
+00438                 _pop[worst_idx] = _pop[i+1];
+00439                 _pop[i+1] = _pop[i];
+00440                 move(_pop[i+1]);
+00441                 _pop[i+1].objectiveVector(x_objVec);
+00442                 _pop[i+1].fitness(x_fitness);
+00443                 // let's explore the neighborhoud of the individual _pop[i+2]
+00444                 i += 2;
+00445                 if (i<_pop.size())
+00446                 {
+00447                     // initilization of the move for the next individual
+00448                     moveInit(move, _pop[i]);
+00449                 }
+00450             }
+00451             // update fitness values
+00452             fitnessAssignment.updateByDeleting(_pop, worst_objVec);
+00453         }
+00454     }
+00455 
+00456 
+00457 
+00458 
+00459 
+00460 
+00462 class OneObjectiveComparator : public moeoComparator < MOEOT >
+00463     {
+00464     public:
+00465         OneObjectiveComparator(unsigned int _obj) : obj(_obj)
+00466         {
+00467             if (obj > MOEOT::ObjectiveVector::nObjectives())
+00468             {
+00469                 throw std::runtime_error("Problem with the index of objective in OneObjectiveComparator");
+00470             }
+00471         }
+00472         const bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
+00473         {
+00474             if (_moeo1.objectiveVector()[obj] < _moeo2.objectiveVector()[obj])
+00475             {
+00476                 return true;
+00477             }
+00478             else
+00479             {
+00480                 return (_moeo1.objectiveVector()[obj] == _moeo2.objectiveVector()[obj]) && (_moeo1.objectiveVector()[(obj+1)%2] < _moeo2.objectiveVector()[(obj+1)%2]);
+00481             }
+00482         }
+00483     private:
+00484         unsigned int obj;
+00485     };
+00487 
+00488 
+00489 
+00490 
+00491 };
+00492 
+00493 #endif /*MOEOIBMOLS_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/moeoIteratedIBMOLS_8h-source.html b/trunk/paradiseo-moeo/doc/html/moeoIteratedIBMOLS_8h-source.html new file mode 100644 index 000000000..8f03adb31 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/moeoIteratedIBMOLS_8h-source.html @@ -0,0 +1,206 @@ + + +ParadisEO-MOEOMovingObjects: moeoIteratedIBMOLS.h Source File + + + + +
+
+

moeoIteratedIBMOLS.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoIteratedIBMOLS.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOITERATEDIBMOLS_H_
+00014 #define MOEOITERATEDIBMOLS_H_
+00015 
+00016 #include <eoContinue.h>
+00017 #include <eoEvalFunc.h>
+00018 #include <eoOp.h>
+00019 #include <eoPop.h>
+00020 #include <utils/rnd_generators.h>
+00021 #include <moMove.h>
+00022 #include <moMoveInit.h>
+00023 #include <moNextMove.h>
+00024 #include <algo/moeoIBMOLS.h>
+00025 #include <algo/moeoLS.h>
+00026 #include <archive/moeoArchive.h>
+00027 #include <fitness/moeoBinaryIndicatorBasedFitnessAssignment.h>
+00028 #include <move/moeoMoveIncrEval.h>
+00029 
+00030 
+00031 
+00032 //#include <rsCrossQuad.h>
+00033 
+00034 
+00035 
+00040 template < class MOEOT, class Move >
+00041 class moeoIteratedIBMOLS : public moeoLS < MOEOT, eoPop < MOEOT > & >
+00042 {
+00043 public:
+00044 
+00046     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00047 
+00048 
+00061     moeoIteratedIBMOLS(
+00062         moMoveInit < Move > & _moveInit,
+00063         moNextMove < Move > & _nextMove,
+00064         eoEvalFunc < MOEOT > & _eval,
+00065         moeoMoveIncrEval < Move > & _moveIncrEval,
+00066         moeoBinaryIndicatorBasedFitnessAssignment < MOEOT > & _fitnessAssignment,
+00067         eoContinue < MOEOT > & _continuator,
+00068         eoMonOp < MOEOT > & _monOp,
+00069         eoMonOp < MOEOT > & _randomMonOp,
+00070         unsigned int _nNoiseIterations=1
+00071     ) :
+00072             ibmols(_moveInit, _nextMove, _eval, _moveIncrEval, _fitnessAssignment, _continuator),
+00073             eval(_eval),
+00074             continuator(_continuator),
+00075             monOp(_monOp),
+00076             randomMonOp(_randomMonOp),
+00077             nNoiseIterations(_nNoiseIterations)
+00078     {}
+00079 
+00080 
+00086     void operator() (eoPop < MOEOT > & _pop, moeoArchive < MOEOT > & _arch)
+00087     {
+00088         _arch.update(_pop);
+00089         ibmols(_pop, _arch);
+00090         while (continuator(_arch))
+00091         {
+00092             // generate new solutions from the archive
+00093             generateNewSolutions(_pop, _arch);
+00094             // apply the local search (the global archive is updated in the sub-function)
+00095             ibmols(_pop, _arch);
+00096         }
+00097     }
+00098 
+00099 
+00100 private:
+00101 
+00103     moeoIBMOLS < MOEOT, Move > ibmols;
+00105     eoEvalFunc < MOEOT > & eval;
+00107     eoContinue < MOEOT > & continuator;
+00109     eoMonOp < MOEOT > & monOp;
+00111     eoMonOp < MOEOT > & randomMonOp;
+00113     unsigned int nNoiseIterations;
+00114 
+00115 
+00121     void generateNewSolutions(eoPop < MOEOT > & _pop, const moeoArchive < MOEOT > & _arch)
+00122     {
+00123         // shuffle vector for the random selection of individuals
+00124         vector<unsigned int> shuffle;
+00125         shuffle.resize(std::max(_pop.size(), _arch.size()));
+00126         // init shuffle
+00127         for (unsigned int i=0; i<shuffle.size(); i++)
+00128         {
+00129             shuffle[i] = i;
+00130         }
+00131         // randomize shuffle
+00132         UF_random_generator <unsigned int> gen;
+00133         std::random_shuffle(shuffle.begin(), shuffle.end(), gen);
+00134         // start the creation of new solutions
+00135         for (unsigned int i=0; i<_pop.size(); i++)
+00136         {
+00137             if (shuffle[i] < _arch.size()) // the given archive contains the individual i
+00138             {
+00139                 // add it to the resulting pop
+00140                 _pop[i] = _arch[shuffle[i]];
+00141                 // apply noise
+00142                 for (unsigned int j=0; j<nNoiseIterations; j++)
+00143                 {
+00144                     monOp(_pop[i]);
+00145                 }
+00146             }
+00147             else // a random solution needs to be added
+00148             {
+00149                 // random initialization
+00150                 randomMonOp(_pop[i]);
+00151             }
+00152             // evaluation of the new individual
+00153             _pop[i].invalidate();
+00154             eval(_pop[i]);
+00155         }
+00156     }
+00157 
+00158 
+00159 
+00160 
+00161 
+00163 // A DEVELOPPER RAPIDEMENT POUR TESTER AVEC CROSSOVER //
+00164     /*
+00165         void generateNewSolutions2(eoPop < MOEOT > & _pop, const moeoArchive < MOEOT > & _arch)
+00166         {
+00167                 // here, we must have a QuadOp !
+00168                 //eoQuadOp < MOEOT > quadOp;
+00169                 rsCrossQuad quadOp;
+00170                 // shuffle vector for the random selection of individuals
+00171                 vector<unsigned int> shuffle;
+00172                 shuffle.resize(_arch.size());
+00173                 // init shuffle
+00174                 for (unsigned int i=0; i<shuffle.size(); i++)
+00175                 {
+00176                         shuffle[i] = i;
+00177                 }
+00178                 // randomize shuffle
+00179                 UF_random_generator <unsigned int int> gen;
+00180                 std::random_shuffle(shuffle.begin(), shuffle.end(), gen);
+00181                 // start the creation of new solutions
+00182                 unsigned int i=0;
+00183                 while ((i<_pop.size()-1) && (i<_arch.size()-1))
+00184                 {
+00185                         _pop[i] = _arch[shuffle[i]];
+00186                         _pop[i+1] = _arch[shuffle[i+1]];
+00187                         // then, apply the operator nIterationsNoise times
+00188                         for (unsigned int j=0; j<nNoiseIterations; j++)
+00189                         {
+00190                                 quadOp(_pop[i], _pop[i+1]);
+00191                         }
+00192                         eval(_pop[i]);
+00193                         eval(_pop[i+1]);
+00194                         i=i+2;
+00195                 }
+00196                 // do we have to add some random solutions ?
+00197                 while (i<_pop.size())
+00198                 {
+00199                         randomMonOp(_pop[i]);
+00200                         eval(_pop[i]);
+00201                         i++;
+00202                 }
+00203         }
+00204         */
+00206 
+00207 
+00208 
+00209 
+00210 
+00211 };
+00212 
+00213 #endif /*MOEOITERATEDIBMOLS_H_*/
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/moeoMoveIncrEval_8h-source.html b/trunk/paradiseo-moeo/doc/html/moeoMoveIncrEval_8h-source.html new file mode 100644 index 000000000..884a87bd0 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/moeoMoveIncrEval_8h-source.html @@ -0,0 +1,39 @@ + + +ParadisEO-MOEOMovingObjects: moeoMoveIncrEval.h Source File + + + + +
+
+

moeoMoveIncrEval.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 #ifndef _MOEOMOVEINCREVAL_H
+00004 #define _MOEOMOVEINCREVAL_H
+00005 
+00006 #include <eoFunctor.h>
+00007 
+00008 template < class Move >
+00009 class moeoMoveIncrEval : public eoBF < const Move &, const typename Move::EOType &, typename Move::EOType::ObjectiveVector > {};
+00010 
+00011 #endif
+

Generated on Mon Oct 8 10:35:51 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/moeoReferencePointIndicatorBasedFitnessAssignment_8h-source.html b/trunk/paradiseo-moeo/doc/html/moeoReferencePointIndicatorBasedFitnessAssignment_8h-source.html new file mode 100644 index 000000000..0501f0edf --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/moeoReferencePointIndicatorBasedFitnessAssignment_8h-source.html @@ -0,0 +1,109 @@ + + +ParadisEO-MOEOMovingObjects: moeoReferencePointIndicatorBasedFitnessAssignment.h Source File + + + + +
+
+

moeoReferencePointIndicatorBasedFitnessAssignment.h

00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
+00002 
+00003 //-----------------------------------------------------------------------------
+00004 // moeoReferencePointIndicatorBasedFitnessAssignment.h
+00005 // (c) OPAC Team (LIFL), Dolphin Project (INRIA), 2007
+00006 /*
+00007     This library...
+00008 
+00009     Contact: paradiseo-help@lists.gforge.inria.fr, http://paradiseo.gforge.inria.fr
+00010  */
+00011 //-----------------------------------------------------------------------------
+00012 
+00013 #ifndef MOEOREFERENCEPOINTINDICATORBASEDFITNESSASSIGNMENT_H_
+00014 #define MOEOREFERENCEPOINTINDICATORBASEDFITNESSASSIGNMENT_H_
+00015 
+00016 #include <math.h>
+00017 #include <eoPop.h>
+00018 #include <fitness/moeoFitnessAssignment.h>
+00019 #include <metric/moeoNormalizedSolutionVsSolutionBinaryMetric.h>
+00020 
+00024 template < class MOEOT >
+00025 class moeoReferencePointIndicatorBasedFitnessAssignment : public moeoFitnessAssignment < MOEOT >
+00026 {
+00027 public:
+00028 
+00030     typedef typename MOEOT::ObjectiveVector ObjectiveVector;
+00031 
+00037     moeoReferencePointIndicatorBasedFitnessAssignment (ObjectiveVector & _refPoint, moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > & _metric) :
+00038             refPoint(_refPoint), metric(_metric)
+00039     {}
+00040 
+00041 
+00046     void operator()(eoPop < MOEOT > & _pop)
+00047     {
+00048         // 1 - setting of the bounds
+00049         setup(_pop);
+00050         // 2 - setting fitnesses
+00051         setFitnesses(_pop);
+00052     }
+00053 
+00054 
+00060     void updateByDeleting(eoPop < MOEOT > & _pop, ObjectiveVector & _objVec)
+00061     {
+00062         // nothing to do  ;-)
+00063     }
+00064 
+00065 
+00066 protected:
+00067 
+00069     ObjectiveVector & refPoint;
+00071     moeoNormalizedSolutionVsSolutionBinaryMetric < ObjectiveVector, double > & metric;
+00072 
+00073 
+00078     void setup(const eoPop < MOEOT > & _pop)
+00079     {
+00080         double min, max;
+00081         for (unsigned int i=0; i<ObjectiveVector::Traits::nObjectives(); i++)
+00082         {
+00083             min = refPoint[i];
+00084             max = refPoint[i];
+00085             for (unsigned int j=0; j<_pop.size(); j++)
+00086             {
+00087                 min = std::min(min, _pop[j].objectiveVector()[i]);
+00088                 max = std::max(max, _pop[j].objectiveVector()[i]);
+00089             }
+00090             // setting of the bounds for the objective i
+00091             metric.setup(min, max, i);
+00092         }
+00093     }
+00094 
+00099     void setFitnesses(eoPop < MOEOT > & _pop)
+00100     {
+00101         for (unsigned int i=0; i<_pop.size(); i++)
+00102         {
+00103             _pop[i].fitness(- metric(_pop[i].objectiveVector(), refPoint) );
+00104         }
+00105     }
+00106 
+00107 };
+00108 
+00109 #endif /*MOEOREFERENCEPOINTINDICATORBASEDFITNESSASSIGNMENT_H_*/
+

Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/pmoeoEA_8h-source.html b/trunk/paradiseo-moeo/doc/html/pmoeoEA_8h-source.html new file mode 100644 index 000000000..4b15a4c07 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/pmoeoEA_8h-source.html @@ -0,0 +1,127 @@ + + +ParadisEO-MOEOMovingObjects: pmoeoEA.h Source File + + + + +
+
+

pmoeoEA.h

00001 // "pmoeoEA.h"
+00002 
+00003 // (c) OPAC Team, LIFL, August 2005
+00004 
+00005 /* 
+00006    Contact: paradiseo-help@lists.gforge.inria.fr
+00007 */
+00008 
+00009 #ifndef __pmoeoEA_h
+00010 #define __pmoeoEA_h
+00011 
+00012 #include <eoContinue.h>
+00013 #include <eoEvalFunc.h>
+00014 #include <eoSelect.h>
+00015 #include <eoPopEvalFunc.h>
+00016 #include <eoReplacement.h>
+00017 
+00018 #include "peoPopEval.h"
+00019 #include "peoTransform.h"
+00020 #include "core/runner.h"
+00021 #include "core/peo_debug.h"
+00022 
+00024 
+00054 template < class EOT > class peoEA : public Runner {
+00055 
+00056 public:
+00057 
+00069         peoEA( 
+00070                 eoContinue< EOT >& __cont,
+00071                 peoPopEval< EOT >& __pop_eval,
+00072                 eoSelect< EOT >& __select,
+00073                 peoTransform< EOT >& __trans,
+00074                 eoReplacement< EOT >& __replace 
+00075         );
+00076 
+00079         void run();
+00080         
+00084         void operator()( eoPop< EOT >& __pop );
+00085 
+00086 private:
+00087 
+00088 
+00089         eoContinue< EOT >& cont;
+00090         peoPopEval< EOT >& pop_eval;
+00091         eoSelect< EOT >& select;
+00092         peoTransform< EOT >& trans;
+00093         eoReplacement< EOT >& replace;
+00094         eoPop< EOT >* pop;
+00095 };
+00096 
+00097 
+00098 template < class EOT > peoEA< EOT > :: peoEA( 
+00099 
+00100                                 eoContinue< EOT >& __cont, 
+00101                                 peoPopEval< EOT >& __pop_eval, 
+00102                                 eoSelect< EOT >& __select, 
+00103                                 peoTransform< EOT >& __trans, 
+00104                                 eoReplacement< EOT >& __replace
+00105 
+00106                 ) : cont( __cont ), pop_eval( __pop_eval ), select( __select ), trans( __trans ), replace( __replace )
+00107 {
+00108 
+00109         trans.setOwner( *this );
+00110         pop_eval.setOwner( *this );
+00111 }
+00112 
+00113 
+00114 template< class EOT > void peoEA< EOT > :: operator ()( eoPop< EOT >& __pop ) {
+00115 
+00116         pop = &__pop;
+00117 }
+00118 
+00119 
+00120 template< class EOT > void peoEA< EOT > :: run() {
+00121 
+00122         printDebugMessage( "performing the first evaluation of the population." );
+00123         pop_eval( *pop );
+00124         
+00125         do {
+00126 
+00127                 eoPop< EOT > off;
+00128 
+00129                 printDebugMessage( "performing the selection step." );
+00130                 select( *pop, off );
+00131                 trans( off );
+00132 
+00133                 printDebugMessage( "performing the evaluation of the population." );
+00134                 pop_eval( off );
+00135 
+00136                 printDebugMessage( "performing the replacement of the population." );
+00137                 replace( *pop, off );
+00138 
+00139                 printDebugMessage( "deciding of the continuation." );
+00140         
+00141         } while ( cont( *pop ) );
+00142 }
+00143 
+00144 
+00145 #endif
+

Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/t-moeo_8cpp-source.html b/trunk/paradiseo-moeo/doc/html/t-moeo_8cpp-source.html new file mode 100644 index 000000000..40719a90e --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/t-moeo_8cpp-source.html @@ -0,0 +1,47 @@ + + +ParadisEO-MOEOMovingObjects: t-moeo.cpp Source File + + + + +
+
+

t-moeo.cpp

00001 //-----------------------------------------------------------------------------
+00002 // t-moeo.cpp
+00003 //-----------------------------------------------------------------------------
+00004 
+00005 #include <core/MOEO.h>  // MOEO
+00006 
+00007 //-----------------------------------------------------------------------------
+00008 
+00009 
+00010 //-----------------------------------------------------------------------------
+00011 
+00012 int main()
+00013 {
+00014   std::cout << "Please fill the test" << std::endl;
+00015 
+00016   return 0;
+00017 }
+00018 
+00019 //-----------------------------------------------------------------------------
+

Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/html/tutorial_2examples_2flowshop_2benchs_2README-source.html b/trunk/paradiseo-moeo/doc/html/tutorial_2examples_2flowshop_2benchs_2README-source.html new file mode 100644 index 000000000..38fba453c --- /dev/null +++ b/trunk/paradiseo-moeo/doc/html/tutorial_2examples_2flowshop_2benchs_2README-source.html @@ -0,0 +1,29 @@ + + +ParadisEO-MOEOMovingObjects: README Source File + + + + +
+
+

README

00001 Further benchmarks for the bi-objective flow-shop scheduling problem are available at http://www.lifl.fr/~liefooga/benchmarks/
+

Generated on Mon Oct 8 10:35:52 2007 for ParadisEO-MOEOMovingObjects by  + +doxygen 1.4.7
+ + diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShop.eps b/trunk/paradiseo-moeo/doc/latex/classFlowShop.eps new file mode 100644 index 000000000..f75958a57 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShop.eps @@ -0,0 +1,227 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 120.968 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 4.13333 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 6 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(FlowShop) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >) cw +(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(EO< MOEOObjectiveVector >) cw +(eoObject) cw +(eoPersistent) cw +(eoPrintable) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (FlowShop) 0.5 0 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >) 0.5 1 box + (MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 2 box + (EO< MOEOObjectiveVector >) 0.5 3 box + (eoObject) 0 4 box + (eoPersistent) 1 4 box + (eoPrintable) 1 5 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +0 1 4 conn +solid +1 0 4 in +solid +1 1 4 in +solid +0 1 4 out +solid +1 1 5 in diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShop.tex b/trunk/paradiseo-moeo/doc/latex/classFlowShop.tex new file mode 100644 index 000000000..59a46d8fb --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShop.tex @@ -0,0 +1,32 @@ +\section{Flow\-Shop Class Reference} +\label{classFlowShop}\index{FlowShop@{FlowShop}} +Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. + + +{\tt \#include $<$Flow\-Shop.h$>$} + +Inheritance diagram for Flow\-Shop::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3.3871cm]{classFlowShop} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +std::string \bf{class\-Name} () const \label{classFlowShop_eaab263664f0078082e723a905d430f3} + +\begin{CompactList}\small\item\em class name \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. + + + +Definition at line 22 of file Flow\-Shop.h. + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +Flow\-Shop.h\item +Flow\-Shop.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopBenchmarkParser.tex b/trunk/paradiseo-moeo/doc/latex/classFlowShopBenchmarkParser.tex new file mode 100644 index 000000000..b80948da4 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopBenchmarkParser.tex @@ -0,0 +1,110 @@ +\section{Flow\-Shop\-Benchmark\-Parser Class Reference} +\label{classFlowShopBenchmarkParser}\index{FlowShopBenchmarkParser@{FlowShopBenchmarkParser}} +Class to handle parameters of a flow-shop instance from a benchmark file. + + +{\tt \#include $<$Flow\-Shop\-Benchmark\-Parser.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{Flow\-Shop\-Benchmark\-Parser} (const std::string \_\-benchmark\-File\-Name) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +const unsigned int \bf{get\-M} ()\label{classFlowShopBenchmarkParser_8d5042c2f8727e235f94c947b2ba00a5} + +\begin{CompactList}\small\item\em the number of machines \item\end{CompactList}\item +const unsigned int \bf{get\-N} ()\label{classFlowShopBenchmarkParser_fe16df4df5104aee3d792e60bb32a66d} + +\begin{CompactList}\small\item\em the number of jobs \item\end{CompactList}\item +const std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \bf{get\-P} ()\label{classFlowShopBenchmarkParser_2df87bf8a18a55266729ab105955d7bf} + +\begin{CompactList}\small\item\em the processing times \item\end{CompactList}\item +const std::vector$<$ unsigned int $>$ \bf{get\-D} ()\label{classFlowShopBenchmarkParser_b362d0042273be436c55637828d8582d} + +\begin{CompactList}\small\item\em the due-dates \item\end{CompactList}\item +void \bf{print\-On} (std::ostream \&\_\-os) const +\begin{CompactList}\small\item\em printing. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void \bf{init} (const std::string \_\-benchmark\-File\-Name) +\begin{CompactList}\small\item\em Initialisation of the parameters with the data contained in the benchmark file. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int \bf{M}\label{classFlowShopBenchmarkParser_4cc02556c751afe32e8800544160c7c7} + +\begin{CompactList}\small\item\em number of machines \item\end{CompactList}\item +unsigned int \bf{N}\label{classFlowShopBenchmarkParser_fb220e40e9f94e3c1d3a7eb437aeffce} + +\begin{CompactList}\small\item\em number of jobs \item\end{CompactList}\item +std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \bf{p}\label{classFlowShopBenchmarkParser_4c1ce3d710b6605ddcc723101b808de5} + +\begin{CompactList}\small\item\em p[i][j] = processing time of job j on machine i \item\end{CompactList}\item +std::vector$<$ unsigned int $>$ \bf{d}\label{classFlowShopBenchmarkParser_8898519f54465b2d23a846053363bf4b} + +\begin{CompactList}\small\item\em d[j] = due-date of the job j \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +Class to handle parameters of a flow-shop instance from a benchmark file. + + + +Definition at line 23 of file Flow\-Shop\-Benchmark\-Parser.h. + +\subsection{Constructor \& Destructor Documentation} +\index{FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}!FlowShopBenchmarkParser@{FlowShopBenchmarkParser}} +\index{FlowShopBenchmarkParser@{FlowShopBenchmarkParser}!FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Flow\-Shop\-Benchmark\-Parser::Flow\-Shop\-Benchmark\-Parser (const std::string {\em \_\-benchmark\-File\-Name})}\label{classFlowShopBenchmarkParser_2787b88a1be9d4d37438c557bf32f137} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-benchmark\-File\-Name}]the name of the benchmark file \end{description} +\end{Desc} + + +Definition at line 16 of file Flow\-Shop\-Benchmark\-Parser.cpp. + +References init(). + +\subsection{Member Function Documentation} +\index{FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}!printOn@{printOn}} +\index{printOn@{printOn}!FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Flow\-Shop\-Benchmark\-Parser::print\-On (std::ostream \& {\em \_\-os}) const}\label{classFlowShopBenchmarkParser_69c9ba47e774da4b06424a724573265d} + + +printing. + +.. + +Definition at line 46 of file Flow\-Shop\-Benchmark\-Parser.cpp. + +References d, M, N, and p.\index{FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}!init@{init}} +\index{init@{init}!FlowShopBenchmarkParser@{Flow\-Shop\-Benchmark\-Parser}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Flow\-Shop\-Benchmark\-Parser::init (const std::string {\em \_\-benchmark\-File\-Name})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopBenchmarkParser_4e6de6a0ec2859e1a2fb758fb06dc915} + + +Initialisation of the parameters with the data contained in the benchmark file. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-benchmark\-File\-Name}]the name of the benchmark file \end{description} +\end{Desc} + + +Definition at line 64 of file Flow\-Shop\-Benchmark\-Parser.cpp. + +References d, M, N, and p. + +Referenced by Flow\-Shop\-Benchmark\-Parser(). + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +Flow\-Shop\-Benchmark\-Parser.h\item +Flow\-Shop\-Benchmark\-Parser.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopEval.eps b/trunk/paradiseo-moeo/doc/latex/classFlowShopEval.eps new file mode 100644 index 000000000..a523d0b88 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopEval.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 543.478 +%%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 0.92 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(FlowShopEval) cw +(moeoEvalFunc< FlowShop >) cw +(eoEvalFunc< FlowShop >) cw +(eoUF< A1, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (FlowShopEval) 0 0 box + (moeoEvalFunc< FlowShop >) 0 1 box + (eoEvalFunc< FlowShop >) 0 2 box + (eoUF< A1, R >) 0 3 box + (eoFunctorBase) 0 4 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 0 4 in diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopEval.tex b/trunk/paradiseo-moeo/doc/latex/classFlowShopEval.tex new file mode 100644 index 000000000..1e7306dd5 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopEval.tex @@ -0,0 +1,147 @@ +\section{Flow\-Shop\-Eval Class Reference} +\label{classFlowShopEval}\index{FlowShopEval@{FlowShopEval}} +Evaluation of the objective vector a (multi-objective) \doxyref{Flow\-Shop}{p.}{classFlowShop} object. + + +{\tt \#include $<$Flow\-Shop\-Eval.h$>$} + +Inheritance diagram for Flow\-Shop\-Eval::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classFlowShopEval} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{Flow\-Shop\-Eval} (unsigned int \_\-M, unsigned int \_\-N, const std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \&\_\-p, const std::vector$<$ unsigned int $>$ \&\_\-d) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop) +\begin{CompactList}\small\item\em computation of the multi-objective evaluation of a \doxyref{Flow\-Shop}{p.}{classFlowShop} object \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +double \bf{makespan} (const \bf{Flow\-Shop} \&\_\-flowshop) +\begin{CompactList}\small\item\em computation of the makespan \item\end{CompactList}\item +double \bf{tardiness} (const \bf{Flow\-Shop} \&\_\-flowshop) +\begin{CompactList}\small\item\em computation of the tardiness \item\end{CompactList}\item +std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \bf{completion\-Time} (const \bf{Flow\-Shop} \&\_\-flowshop) +\begin{CompactList}\small\item\em computation of the completion times of a scheduling (for each job on each machine) C[i][j] = completion of the jth job of the scheduling on the ith machine \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int \bf{M}\label{classFlowShopEval_9c7c7263d8c04d18d66729f4875d46cd} + +\begin{CompactList}\small\item\em number of machines \item\end{CompactList}\item +unsigned int \bf{N}\label{classFlowShopEval_48c4a108b54c2c949cb649e470c9e8c4} + +\begin{CompactList}\small\item\em number of jobs \item\end{CompactList}\item +std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \bf{p}\label{classFlowShopEval_f4152ec0542e13cbc8f4c4ece284a2b4} + +\begin{CompactList}\small\item\em p[i][j] = processing time of job j on machine i \item\end{CompactList}\item +std::vector$<$ unsigned int $>$ \bf{d}\label{classFlowShopEval_a283f1bfd433ec1bd3a45c46bd6e3ba4} + +\begin{CompactList}\small\item\em d[j] = due-date of the job j \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +Evaluation of the objective vector a (multi-objective) \doxyref{Flow\-Shop}{p.}{classFlowShop} object. + + + +Definition at line 23 of file Flow\-Shop\-Eval.h. + +\subsection{Constructor \& Destructor Documentation} +\index{FlowShopEval@{Flow\-Shop\-Eval}!FlowShopEval@{FlowShopEval}} +\index{FlowShopEval@{FlowShopEval}!FlowShopEval@{Flow\-Shop\-Eval}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Flow\-Shop\-Eval::Flow\-Shop\-Eval (unsigned int {\em \_\-M}, unsigned int {\em \_\-N}, const std::vector$<$ std::vector$<$ unsigned int $>$ $>$ \& {\em \_\-p}, const std::vector$<$ unsigned int $>$ \& {\em \_\-d})}\label{classFlowShopEval_f830293ad66a253a4008937fd6d68fce} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-M}]the number of machines \item[{\em \_\-N}]the number of jobs to schedule \item[{\em \_\-p}]the processing times \item[{\em \_\-d}]the due dates \end{description} +\end{Desc} + + +Definition at line 16 of file Flow\-Shop\-Eval.cpp. + +\subsection{Member Function Documentation} +\index{FlowShopEval@{Flow\-Shop\-Eval}!operator()@{operator()}} +\index{operator()@{operator()}!FlowShopEval@{Flow\-Shop\-Eval}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Flow\-Shop\-Eval::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop})}\label{classFlowShopEval_d6ea74de6e62c2b104b52aa68b5da3a5} + + +computation of the multi-objective evaluation of a \doxyref{Flow\-Shop}{p.}{classFlowShop} object + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-flowshop}]the \doxyref{Flow\-Shop}{p.}{classFlowShop} object to evaluate \end{description} +\end{Desc} + + +Definition at line 21 of file Flow\-Shop\-Eval.cpp. + +References makespan(), MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::objective\-Vector(), and tardiness().\index{FlowShopEval@{Flow\-Shop\-Eval}!makespan@{makespan}} +\index{makespan@{makespan}!FlowShopEval@{Flow\-Shop\-Eval}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double Flow\-Shop\-Eval::makespan (const \bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopEval_8b383e0c6cfd68fdf61e987b5fc91cf3} + + +computation of the makespan + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-flowshop}]the genotype to evaluate \end{description} +\end{Desc} + + +Definition at line 31 of file Flow\-Shop\-Eval.cpp. + +References completion\-Time(), M, and N. + +Referenced by operator()().\index{FlowShopEval@{Flow\-Shop\-Eval}!tardiness@{tardiness}} +\index{tardiness@{tardiness}!FlowShopEval@{Flow\-Shop\-Eval}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}double Flow\-Shop\-Eval::tardiness (const \bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopEval_25d04be8fd17b5589fdac732accaaf9e} + + +computation of the tardiness + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-flowshop}]the genotype to evaluate \end{description} +\end{Desc} + + +Definition at line 40 of file Flow\-Shop\-Eval.cpp. + +References completion\-Time(), d, M, and N. + +Referenced by operator()().\index{FlowShopEval@{Flow\-Shop\-Eval}!completionTime@{completionTime}} +\index{completionTime@{completionTime}!FlowShopEval@{Flow\-Shop\-Eval}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::vector$<$ std::vector$<$ unsigned int $>$ $>$ Flow\-Shop\-Eval::completion\-Time (const \bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopEval_84cfc6f7bee1c0e4b1a29ca99e3c129b} + + +computation of the completion times of a scheduling (for each job on each machine) C[i][j] = completion of the jth job of the scheduling on the ith machine + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-flowshop}]the genotype to evaluate \end{description} +\end{Desc} + + +Definition at line 53 of file Flow\-Shop\-Eval.cpp. + +References M, N, and p. + +Referenced by makespan(), and tardiness(). + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +Flow\-Shop\-Eval.h\item +Flow\-Shop\-Eval.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopInit.eps b/trunk/paradiseo-moeo/doc/latex/classFlowShopInit.eps new file mode 100644 index 000000000..1ad12f21f --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopInit.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 615.385 +%%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 0.8125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 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 +(FlowShopInit) cw +(eoInit< FlowShop >) cw +(eoUF< A1, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (FlowShopInit) 0 0 box + (eoInit< FlowShop >) 0 1 box + (eoUF< A1, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopInit.tex b/trunk/paradiseo-moeo/doc/latex/classFlowShopInit.tex new file mode 100644 index 000000000..0ae13d5d8 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopInit.tex @@ -0,0 +1,75 @@ +\section{Flow\-Shop\-Init Class Reference} +\label{classFlowShopInit}\index{FlowShopInit@{FlowShopInit}} +Initialization of a random genotype built by the default constructor of the \doxyref{Flow\-Shop}{p.}{classFlowShop} class. + + +{\tt \#include $<$Flow\-Shop\-Init.h$>$} + +Inheritance diagram for Flow\-Shop\-Init::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classFlowShopInit} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{Flow\-Shop\-Init} (unsigned int \_\-N) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop) +\begin{CompactList}\small\item\em builds a random genotype \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int \bf{N}\label{classFlowShopInit_3bf7c402441e5bba3397377630e6ff4c} + +\begin{CompactList}\small\item\em the number of jobs (size of a scheduling vector) \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +Initialization of a random genotype built by the default constructor of the \doxyref{Flow\-Shop}{p.}{classFlowShop} class. + + + +Definition at line 22 of file Flow\-Shop\-Init.h. + +\subsection{Constructor \& Destructor Documentation} +\index{FlowShopInit@{Flow\-Shop\-Init}!FlowShopInit@{FlowShopInit}} +\index{FlowShopInit@{FlowShopInit}!FlowShopInit@{Flow\-Shop\-Init}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Flow\-Shop\-Init::Flow\-Shop\-Init (unsigned int {\em \_\-N})}\label{classFlowShopInit_8ede459984d5de13c6a181c72cf4551e} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-N}]the number of jobs to schedule \end{description} +\end{Desc} + + +Definition at line 16 of file Flow\-Shop\-Init.cpp. + +\subsection{Member Function Documentation} +\index{FlowShopInit@{Flow\-Shop\-Init}!operator()@{operator()}} +\index{operator()@{operator()}!FlowShopInit@{Flow\-Shop\-Init}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Flow\-Shop\-Init::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop})}\label{classFlowShopInit_3df0d9e3834cdfa494683df7e8646025} + + +builds a random genotype + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-flowshop}]a genotype that has been default-constructed \end{description} +\end{Desc} + + +Definition at line 20 of file Flow\-Shop\-Init.cpp. + +References MOEO$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity $>$::invalidate(), N, eo\-Rng::uniform(), and moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::value(). + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +Flow\-Shop\-Init.h\item +Flow\-Shop\-Init.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.eps b/trunk/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.eps new file mode 100644 index 000000000..2884e0a07 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.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 201.005 +%%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.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 +(FlowShopObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) 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 ----- + + (FlowShopObjectiveVectorTraits) 0 0 box + (moeoObjectiveVectorTraits) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.tex b/trunk/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.tex new file mode 100644 index 000000000..828d5a702 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopObjectiveVectorTraits.tex @@ -0,0 +1,67 @@ +\section{Flow\-Shop\-Objective\-Vector\-Traits Class Reference} +\label{classFlowShopObjectiveVectorTraits}\index{FlowShopObjectiveVectorTraits@{FlowShopObjectiveVectorTraits}} +Definition of the objective vector traits for multi-objective flow-shop problems. + + +{\tt \#include $<$Flow\-Shop\-Objective\-Vector\-Traits.h$>$} + +Inheritance diagram for Flow\-Shop\-Objective\-Vector\-Traits::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classFlowShopObjectiveVectorTraits} +\end{center} +\end{figure} +\subsection*{Static Public Member Functions} +\begin{CompactItemize} +\item +static bool \bf{minimizing} (int \_\-i) +\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be minimzed. \item\end{CompactList}\item +static bool \bf{maximizing} (int \_\-i) +\begin{CompactList}\small\item\em Returns true if the \_\-ith objective have to be maximzed. \item\end{CompactList}\item +static unsigned int \bf{n\-Objectives} ()\label{classFlowShopObjectiveVectorTraits_76ebe7639b502980bc683ab404b69c10} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +Definition of the objective vector traits for multi-objective flow-shop problems. + + + +Definition at line 21 of file Flow\-Shop\-Objective\-Vector\-Traits.h. + +\subsection{Member Function Documentation} +\index{FlowShopObjectiveVectorTraits@{Flow\-Shop\-Objective\-Vector\-Traits}!minimizing@{minimizing}} +\index{minimizing@{minimizing}!FlowShopObjectiveVectorTraits@{Flow\-Shop\-Objective\-Vector\-Traits}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Objective\-Vector\-Traits::minimizing (int {\em \_\-i})\hspace{0.3cm}{\tt [static]}}\label{classFlowShopObjectiveVectorTraits_e1a0f5be1782b9f9ce08128a404a1fa8} + + +Returns true if the \_\-ith objective have to be minimzed. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-i}]index of the objective \end{description} +\end{Desc} + + +Definition at line 16 of file Flow\-Shop\-Objective\-Vector\-Traits.cpp.\index{FlowShopObjectiveVectorTraits@{Flow\-Shop\-Objective\-Vector\-Traits}!maximizing@{maximizing}} +\index{maximizing@{maximizing}!FlowShopObjectiveVectorTraits@{Flow\-Shop\-Objective\-Vector\-Traits}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Objective\-Vector\-Traits::maximizing (int {\em \_\-i})\hspace{0.3cm}{\tt [static]}}\label{classFlowShopObjectiveVectorTraits_229fbb4cc19d289637891c1b49f3eaba} + + +Returns true if the \_\-ith objective have to be maximzed. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-i}]index of the objective \end{description} +\end{Desc} + + +Definition at line 22 of file Flow\-Shop\-Objective\-Vector\-Traits.cpp. + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +Flow\-Shop\-Objective\-Vector\-Traits.h\item +Flow\-Shop\-Objective\-Vector\-Traits.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.eps b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.eps new file mode 100644 index 000000000..aa48795f7 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 156.25 +%%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.2 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(FlowShopOpCrossoverQuad) cw +(eoQuadOp< FlowShop >) cw +(eoOp< EOType >) cw +(eoBF< FlowShop &, FlowShop &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (FlowShopOpCrossoverQuad) 0.5 0 box + (eoQuadOp< FlowShop >) 0.5 1 box + (eoOp< EOType >) 0 2 box + (eoBF< FlowShop &, FlowShop &, bool >) 1 2 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.tex b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.tex new file mode 100644 index 000000000..058ee679e --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpCrossoverQuad.tex @@ -0,0 +1,76 @@ +\section{Flow\-Shop\-Op\-Crossover\-Quad Class Reference} +\label{classFlowShopOpCrossoverQuad}\index{FlowShopOpCrossoverQuad@{FlowShopOpCrossoverQuad}} +Quadratic crossover operator for flow-shop (modify the both genotypes). + + +{\tt \#include $<$Flow\-Shop\-Op\-Crossover\-Quad.h$>$} + +Inheritance diagram for Flow\-Shop\-Op\-Crossover\-Quad::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classFlowShopOpCrossoverQuad} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +std::string \bf{class\-Name} () const \label{classFlowShopOpCrossoverQuad_60ac69b87970b7000980f65aa6ead44a} + +\begin{CompactList}\small\item\em the class name (used to display statistics) \item\end{CompactList}\item +bool \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop1, \bf{Flow\-Shop} \&\_\-flowshop2) +\begin{CompactList}\small\item\em eo\-Quad crossover - \_\-flowshop1 and \_\-flowshop2 are the (future) offspring, i.e. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +\bf{Flow\-Shop} \bf{generate\-Offspring} (const \bf{Flow\-Shop} \&\_\-parent1, const \bf{Flow\-Shop} \&\_\-parent2, unsigned int \_\-point1, unsigned int \_\-point2) +\begin{CompactList}\small\item\em generation of an offspring by a 2 points crossover \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +Quadratic crossover operator for flow-shop (modify the both genotypes). + + + +Definition at line 22 of file Flow\-Shop\-Op\-Crossover\-Quad.h. + +\subsection{Member Function Documentation} +\index{FlowShopOpCrossoverQuad@{Flow\-Shop\-Op\-Crossover\-Quad}!operator()@{operator()}} +\index{operator()@{operator()}!FlowShopOpCrossoverQuad@{Flow\-Shop\-Op\-Crossover\-Quad}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Op\-Crossover\-Quad::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop1}, \bf{Flow\-Shop} \& {\em \_\-flowshop2})\hspace{0.3cm}{\tt [virtual]}}\label{classFlowShopOpCrossoverQuad_92f70807bea24d3c233af580e2c55e3a} + + +eo\-Quad crossover - \_\-flowshop1 and \_\-flowshop2 are the (future) offspring, i.e. + +\_\-copies\_\- of the parents \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-flowshop1}]the first parent \item[{\em \_\-flowshop2}]the second parent \end{description} +\end{Desc} + + +Implements \bf{eo\-BF$<$ Flow\-Shop \&, Flow\-Shop \&, bool $>$}. + +Definition at line 22 of file Flow\-Shop\-Op\-Crossover\-Quad.cpp. + +References generate\-Offspring(), eo\-Rng::random(), and moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::value().\index{FlowShopOpCrossoverQuad@{Flow\-Shop\-Op\-Crossover\-Quad}!generateOffspring@{generateOffspring}} +\index{generateOffspring@{generateOffspring}!FlowShopOpCrossoverQuad@{Flow\-Shop\-Op\-Crossover\-Quad}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\bf{Flow\-Shop} Flow\-Shop\-Op\-Crossover\-Quad::generate\-Offspring (const \bf{Flow\-Shop} \& {\em \_\-parent1}, const \bf{Flow\-Shop} \& {\em \_\-parent2}, unsigned int {\em \_\-point1}, unsigned int {\em \_\-point2})\hspace{0.3cm}{\tt [private]}}\label{classFlowShopOpCrossoverQuad_cbc2f344a0a29861900f4846597564c3} + + +generation of an offspring by a 2 points crossover + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-parent1}]the first parent \item[{\em \_\-parent2}]the second parent \item[{\em \_\-point1}]the first point \item[{\em \_\-point2}]the second point \end{description} +\end{Desc} + + +Definition at line 54 of file Flow\-Shop\-Op\-Crossover\-Quad.cpp. + +Referenced by operator()(). + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +Flow\-Shop\-Op\-Crossover\-Quad.h\item +Flow\-Shop\-Op\-Crossover\-Quad.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationExchange.eps b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationExchange.eps new file mode 100644 index 000000000..bf5f5bbe7 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationExchange.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 203.046 +%%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.4625 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(FlowShopOpMutationExchange) cw +(eoMonOp< FlowShop >) cw +(eoOp< EOType >) cw +(eoUF< FlowShop &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (FlowShopOpMutationExchange) 0.5 0 box + (eoMonOp< FlowShop >) 0.5 1 box + (eoOp< EOType >) 0 2 box + (eoUF< FlowShop &, bool >) 1 2 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationExchange.tex b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationExchange.tex new file mode 100644 index 000000000..0faf123cc --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationExchange.tex @@ -0,0 +1,55 @@ +\section{Flow\-Shop\-Op\-Mutation\-Exchange Class Reference} +\label{classFlowShopOpMutationExchange}\index{FlowShopOpMutationExchange@{FlowShopOpMutationExchange}} +Exchange mutation operator for the flow-shop. + + +{\tt \#include $<$Flow\-Shop\-Op\-Mutation\-Exchange.h$>$} + +Inheritance diagram for Flow\-Shop\-Op\-Mutation\-Exchange::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classFlowShopOpMutationExchange} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +std::string \bf{class\-Name} () const \label{classFlowShopOpMutationExchange_36a926c9fe21346db26fadf1d50c1c7a} + +\begin{CompactList}\small\item\em the class name (used to display statistics) \item\end{CompactList}\item +bool \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop) +\begin{CompactList}\small\item\em modifies the parent with an exchange mutation \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +Exchange mutation operator for the flow-shop. + + + +Definition at line 22 of file Flow\-Shop\-Op\-Mutation\-Exchange.h. + +\subsection{Member Function Documentation} +\index{FlowShopOpMutationExchange@{Flow\-Shop\-Op\-Mutation\-Exchange}!operator()@{operator()}} +\index{operator()@{operator()}!FlowShopOpMutationExchange@{Flow\-Shop\-Op\-Mutation\-Exchange}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Op\-Mutation\-Exchange::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [virtual]}}\label{classFlowShopOpMutationExchange_bdb2e1d937d788c50f04226265c848bd} + + +modifies the parent with an exchange mutation + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-flowshop}]the parent genotype (will be modified) \end{description} +\end{Desc} + + +Implements \bf{eo\-UF$<$ Flow\-Shop \&, bool $>$}. + +Definition at line 22 of file Flow\-Shop\-Op\-Mutation\-Exchange.cpp. + +References eo\-Rng::random(), and moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::value(). + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +Flow\-Shop\-Op\-Mutation\-Exchange.h\item +Flow\-Shop\-Op\-Mutation\-Exchange.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationShift.eps b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationShift.eps new file mode 100644 index 000000000..02aaa4f09 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationShift.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 225.989 +%%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.2125 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(FlowShopOpMutationShift) cw +(eoMonOp< FlowShop >) cw +(eoOp< EOType >) cw +(eoUF< FlowShop &, bool >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (FlowShopOpMutationShift) 0.5 0 box + (eoMonOp< FlowShop >) 0.5 1 box + (eoOp< EOType >) 0 2 box + (eoUF< FlowShop &, bool >) 1 2 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationShift.tex b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationShift.tex new file mode 100644 index 000000000..1c2c41671 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classFlowShopOpMutationShift.tex @@ -0,0 +1,55 @@ +\section{Flow\-Shop\-Op\-Mutation\-Shift Class Reference} +\label{classFlowShopOpMutationShift}\index{FlowShopOpMutationShift@{FlowShopOpMutationShift}} +Shift mutation operator for flow-shop. + + +{\tt \#include $<$Flow\-Shop\-Op\-Mutation\-Shift.h$>$} + +Inheritance diagram for Flow\-Shop\-Op\-Mutation\-Shift::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classFlowShopOpMutationShift} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +std::string \bf{class\-Name} () const \label{classFlowShopOpMutationShift_dd1d710568978d1d4bb8c6f3925da4c6} + +\begin{CompactList}\small\item\em the class name (used to display statistics) \item\end{CompactList}\item +bool \bf{operator()} (\bf{Flow\-Shop} \&\_\-flowshop) +\begin{CompactList}\small\item\em modifies the parent with a shift mutation \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +Shift mutation operator for flow-shop. + + + +Definition at line 22 of file Flow\-Shop\-Op\-Mutation\-Shift.h. + +\subsection{Member Function Documentation} +\index{FlowShopOpMutationShift@{Flow\-Shop\-Op\-Mutation\-Shift}!operator()@{operator()}} +\index{operator()@{operator()}!FlowShopOpMutationShift@{Flow\-Shop\-Op\-Mutation\-Shift}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Flow\-Shop\-Op\-Mutation\-Shift::operator() (\bf{Flow\-Shop} \& {\em \_\-flowshop})\hspace{0.3cm}{\tt [virtual]}}\label{classFlowShopOpMutationShift_c000b017e75ddee3b6fe9db8ea5ddd5b} + + +modifies the parent with a shift mutation + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-flowshop}]the parent genotype (will be modified) \end{description} +\end{Desc} + + +Implements \bf{eo\-UF$<$ Flow\-Shop \&, bool $>$}. + +Definition at line 22 of file Flow\-Shop\-Op\-Mutation\-Shift.cpp. + +References eo\-Rng::random(), and moeo\-Vector$<$ MOEOObjective\-Vector, MOEOFitness, MOEODiversity, Gene\-Type $>$::value(). + +The documentation for this class was generated from the following files:\begin{CompactItemize} +\item +Flow\-Shop\-Op\-Mutation\-Shift.h\item +Flow\-Shop\-Op\-Mutation\-Shift.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classSch1.eps b/trunk/paradiseo-moeo/doc/latex/classSch1.eps new file mode 100644 index 000000000..07b0240e6 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classSch1.eps @@ -0,0 +1,233 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 147.059 +%%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.4 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 7 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 +(Sch1) cw +(moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) cw +(MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) cw +(EO< MOEOObjectiveVector >) cw +(eoObject) cw +(eoPersistent) cw +(eoPrintable) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (Sch1) 0.5 0 box + (moeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 1 box + (moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, double >) 0.5 2 box + (MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >) 0.5 3 box + (EO< MOEOObjectiveVector >) 0.5 4 box + (eoObject) 0 5 box + (eoPersistent) 1 5 box + (eoPrintable) 1 6 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +1 0.5 2 in +solid +0 0.5 2 out +solid +1 0.5 3 in +solid +0 0.5 3 out +solid +1 0.5 4 in +solid +0 0.5 4 out +solid +0 1 5 conn +solid +1 0 5 in +solid +1 1 5 in +solid +0 1 5 out +solid +1 1 6 in diff --git a/trunk/paradiseo-moeo/doc/latex/classSch1.tex b/trunk/paradiseo-moeo/doc/latex/classSch1.tex new file mode 100644 index 000000000..ab886bbb8 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classSch1.tex @@ -0,0 +1,26 @@ +\section{Sch1 Class Reference} +\label{classSch1}\index{Sch1@{Sch1}} +Inheritance diagram for Sch1::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4.11765cm]{classSch1} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{Sch1} ()\label{classSch1_3ddc72f40539bfe0d5bb8d977b6655c0} + +\end{CompactItemize} + + +\subsection{Detailed Description} + + + + +Definition at line 44 of file Sch1.cpp. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +Sch1.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classSch1Eval.eps b/trunk/paradiseo-moeo/doc/latex/classSch1Eval.eps new file mode 100644 index 000000000..88fc1f312 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classSch1Eval.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 636.943 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 0.785 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 5 def +/cols 1 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(Sch1Eval) cw +(moeoEvalFunc< Sch1 >) cw +(eoEvalFunc< Sch1 >) cw +(eoUF< A1, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (Sch1Eval) 0 0 box + (moeoEvalFunc< Sch1 >) 0 1 box + (eoEvalFunc< Sch1 >) 0 2 box + (eoUF< A1, R >) 0 3 box + (eoFunctorBase) 0 4 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in +solid +0 0 3 out +solid +1 0 4 in diff --git a/trunk/paradiseo-moeo/doc/latex/classSch1Eval.tex b/trunk/paradiseo-moeo/doc/latex/classSch1Eval.tex new file mode 100644 index 000000000..cb664fb89 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classSch1Eval.tex @@ -0,0 +1,26 @@ +\section{Sch1Eval Class Reference} +\label{classSch1Eval}\index{Sch1Eval@{Sch1Eval}} +Inheritance diagram for Sch1Eval::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=5cm]{classSch1Eval} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +void \bf{operator()} (\bf{Sch1} \&\_\-sch1)\label{classSch1Eval_4f806a964f7bafa9e4fcca45da458c98} + +\end{CompactItemize} + + +\subsection{Detailed Description} + + + + +Definition at line 52 of file Sch1.cpp. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +Sch1.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.eps b/trunk/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.eps new file mode 100644 index 000000000..a95749c2a --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.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 231.214 +%%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.1625 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 +(Sch1ObjectiveVectorTraits) cw +(moeoObjectiveVectorTraits) 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 ----- + + (Sch1ObjectiveVectorTraits) 0 0 box + (moeoObjectiveVectorTraits) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.tex b/trunk/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.tex new file mode 100644 index 000000000..1455866e5 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classSch1ObjectiveVectorTraits.tex @@ -0,0 +1,32 @@ +\section{Sch1Objective\-Vector\-Traits Class Reference} +\label{classSch1ObjectiveVectorTraits}\index{Sch1ObjectiveVectorTraits@{Sch1ObjectiveVectorTraits}} +Inheritance diagram for Sch1Objective\-Vector\-Traits::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{classSch1ObjectiveVectorTraits} +\end{center} +\end{figure} +\subsection*{Static Public Member Functions} +\begin{CompactItemize} +\item +static bool \bf{minimizing} (int i)\label{classSch1ObjectiveVectorTraits_455ac35e419ad21c0a4ba4bbd2768ca5} + +\item +static bool \bf{maximizing} (int i)\label{classSch1ObjectiveVectorTraits_a7de212f3346dde550757e8a412baa4d} + +\item +static unsigned int \bf{n\-Objectives} ()\label{classSch1ObjectiveVectorTraits_54ae04aa8eb052223778ecae175be95b} + +\begin{CompactList}\small\item\em Returns the number of objectives. \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} + + + + +Definition at line 21 of file Sch1.cpp. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +Sch1.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS.eps b/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS.eps new file mode 100644 index 000000000..e4e6c44f5 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 101.266 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 4.9375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIBMOLS< MOEOT, Move >) cw +(moeoLS< MOEOT, eoPop< MOEOT > & >) cw +(moeoAlgo) cw +(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBMOLS< MOEOT, Move >) 0.5 0 box + (moeoLS< MOEOT, eoPop< MOEOT > & >) 0.5 1 box + (moeoAlgo) 0 2 box + (eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) 1 2 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS.tex b/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS.tex new file mode 100644 index 000000000..3ba2aec88 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS.tex @@ -0,0 +1,147 @@ +\section{moeo\-IBMOLS$<$ MOEOT, Move $>$ Class Template Reference} +\label{classmoeoIBMOLS}\index{moeoIBMOLS@{moeoIBMOLS}} +Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K. + + +{\tt \#include $<$moeo\-IBMOLS.h$>$} + +Inheritance diagram for moeo\-IBMOLS$<$ MOEOT, Move $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2.83544cm]{classmoeoIBMOLS} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoIBMOLS_d3433001dcc9a6e2a967aa5d64163935} + +\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \&\_\-move\-Init, mo\-Next\-Move$<$ Move $>$ \&\_\-next\-Move, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \&\_\-move\-Incr\-Eval, \bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Apply the local search until a local archive does not change or another stopping criteria is met and update the archive \_\-arch with new non-dominated solutions. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void \bf{one\-Step} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Apply one step of the local search to the population \_\-pop. \item\end{CompactList}\item +void \bf{new\_\-one\-Step} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Apply one step of the local search to the population \_\-pop. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +mo\-Move\-Init$<$ Move $>$ \& \bf{move\-Init}\label{classmoeoIBMOLS_b4b4908b893edd52d6fa24085d2a89e5} + +\begin{CompactList}\small\item\em the move initializer \item\end{CompactList}\item +mo\-Next\-Move$<$ Move $>$ \& \bf{next\-Move}\label{classmoeoIBMOLS_8b8ebbd6eb6c82caa796160b4be2a86b} + +\begin{CompactList}\small\item\em the neighborhood explorer \item\end{CompactList}\item +\bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& \bf{eval}\label{classmoeoIBMOLS_e9acda4b2f61f8960109a8c6fd52551e} + +\begin{CompactList}\small\item\em the full evaluation \item\end{CompactList}\item +\bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \& \bf{move\-Incr\-Eval}\label{classmoeoIBMOLS_6c38636061bd03c4be809277e2dc257a} + +\begin{CompactList}\small\item\em the incremental evaluation \item\end{CompactList}\item +\bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \& \bf{fitness\-Assignment}\label{classmoeoIBMOLS_0c858da33922736b74d9875766cec9d7} + +\begin{CompactList}\small\item\em the fitness assignment strategy \item\end{CompactList}\item +\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoIBMOLS_c15985c0bb5d9ba835f35d99d7c42b14} + +\begin{CompactList}\small\item\em the stopping criteria \item\end{CompactList}\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +class \bf{One\-Objective\-Comparator} +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT, class Move$>$ class moeo\-IBMOLS$<$ MOEOT, Move $>$} + +Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K. + +: \char`\"{}Indicator-Based Multi-Objective Local Search\char`\"{} (2007). + + + +Definition at line 33 of file moeo\-IBMOLS.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoIBMOLS@{moeo\-IBMOLS}!moeoIBMOLS@{moeoIBMOLS}} +\index{moeoIBMOLS@{moeoIBMOLS}!moeoIBMOLS@{moeo\-IBMOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::\bf{moeo\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \& {\em \_\-move\-Init}, mo\-Next\-Move$<$ Move $>$ \& {\em \_\-next\-Move}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \& {\em \_\-move\-Incr\-Eval}, \bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIBMOLS_6d6a39ad3d5e4c298d450d801098e274} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\-Init}]the move initializer \item[{\em \_\-next\-Move}]the neighborhood explorer \item[{\em \_\-eval}]the full evaluation \item[{\em \_\-move\-Incr\-Eval}]the incremental evaluation \item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-continuator}]the stopping criteria \end{description} +\end{Desc} + + +Definition at line 50 of file moeo\-IBMOLS.h. + +\subsection{Member Function Documentation} +\index{moeoIBMOLS@{moeo\-IBMOLS}!operator()@{operator()}} +\index{operator()@{operator()}!moeoIBMOLS@{moeo\-IBMOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIBMOLS_fd788bbc4f956dec932dba2a4d4479b6} + + +Apply the local search until a local archive does not change or another stopping criteria is met and update the archive \_\-arch with new non-dominated solutions. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the initial population \item[{\em \_\-arch}]the (updated) archive \end{description} +\end{Desc} + + +Implements \bf{eo\-BF$<$ eo\-Pop$<$ MOEOT $>$ \&, moeo\-Archive$<$ MOEOT $>$ \&, void $>$}. + +Definition at line 73 of file moeo\-IBMOLS.h. + +References moeo\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-Archive$<$ MOEOT $>$::equals(), moeo\-IBMOLS$<$ MOEOT, Move $>$::fitness\-Assignment, moeo\-IBMOLS$<$ MOEOT, Move $>$::one\-Step(), and moeo\-Archive$<$ MOEOT $>$::update().\index{moeoIBMOLS@{moeo\-IBMOLS}!oneStep@{oneStep}} +\index{oneStep@{oneStep}!moeoIBMOLS@{moeo\-IBMOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::one\-Step (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoIBMOLS_fce770398602972b5d67c52638687d43} + + +Apply one step of the local search to the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 120 of file moeo\-IBMOLS.h. + +References moeo\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-IBMOLS$<$ MOEOT, Move $>$::fitness\-Assignment, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Incr\-Eval, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Init, and moeo\-IBMOLS$<$ MOEOT, Move $>$::next\-Move. + +Referenced by moeo\-IBMOLS$<$ MOEOT, Move $>$::operator()().\index{moeoIBMOLS@{moeo\-IBMOLS}!new_oneStep@{new\_\-oneStep}} +\index{new_oneStep@{new\_\-oneStep}!moeoIBMOLS@{moeo\-IBMOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$::new\_\-one\-Step (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoIBMOLS_9d811733d8e7508a7c48615c8ff0f990} + + +Apply one step of the local search to the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 304 of file moeo\-IBMOLS.h. + +References moeo\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-IBMOLS$<$ MOEOT, Move $>$::fitness\-Assignment, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Incr\-Eval, moeo\-IBMOLS$<$ MOEOT, Move $>$::move\-Init, and moeo\-IBMOLS$<$ MOEOT, Move $>$::next\-Move. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBMOLS.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS_1_1OneObjectiveComparator.eps b/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS_1_1OneObjectiveComparator.eps new file mode 100644 index 000000000..ffa490e53 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS_1_1OneObjectiveComparator.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 223.464 +%%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.2375 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 +(moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator) cw +(moeoComparator< MOEOT >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator) 0 0 box + (moeoComparator< MOEOT >) 0 1 box + (eoBF< A1, A2, R >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS_1_1OneObjectiveComparator.tex b/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS_1_1OneObjectiveComparator.tex new file mode 100644 index 000000000..08cd609bb --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoIBMOLS_1_1OneObjectiveComparator.tex @@ -0,0 +1,37 @@ +\section{moeo\-IBMOLS$<$ MOEOT, Move $>$::One\-Objective\-Comparator Class Reference} +\label{classmoeoIBMOLS_1_1OneObjectiveComparator}\index{moeoIBMOLS::OneObjectiveComparator@{moeoIBMOLS::OneObjectiveComparator}} +Inheritance diagram for moeo\-IBMOLS$<$ MOEOT, Move $>$::One\-Objective\-Comparator::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoIBMOLS_1_1OneObjectiveComparator} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{One\-Objective\-Comparator} (unsigned int \_\-obj)\label{classmoeoIBMOLS_1_1OneObjectiveComparator_09ee419d143aa29bb05d48c358655bb1} + +\item +const bool \bf{operator()} (const MOEOT \&\_\-moeo1, const MOEOT \&\_\-moeo2)\label{classmoeoIBMOLS_1_1OneObjectiveComparator_44685d0ab08fede366bb404fe7f36302} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +unsigned int \bf{obj}\label{classmoeoIBMOLS_1_1OneObjectiveComparator_724ca0379e42fdffe4ec0d788cd52f43} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT, class Move$>$ class moeo\-IBMOLS$<$ MOEOT, Move $>$::One\-Objective\-Comparator} + + + + + +Definition at line 462 of file moeo\-IBMOLS.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-IBMOLS.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classmoeoIteratedIBMOLS.eps b/trunk/paradiseo-moeo/doc/latex/classmoeoIteratedIBMOLS.eps new file mode 100644 index 000000000..9957b08e2 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoIteratedIBMOLS.eps @@ -0,0 +1,215 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 101.266 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 4.9375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 4 def +/cols 2 def +/scalefactor 0 def +/boxfont /Times-Roman findfont fontheight scalefont def + +% ----- procedures ----- + +/dotted { [1 4] 0 setdash } def +/dashed { [5] 0 setdash } def +/solid { [] 0 setdash } def + +/max % result = MAX(arg1,arg2) +{ + /a exch def + /b exch def + a b gt {a} {b} ifelse +} def + +/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) +{ + 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max +} def + +/cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) +{ + /str exch def + /boxwidth boxwidth str stringwidth pop max def +} def + +/box % draws a box with text `arg1' at grid pos (arg2,arg3) +{ gsave + 2 setlinewidth + newpath + exch xspacing mul xoffset add + exch yspacing mul + moveto + boxwidth 0 rlineto + 0 boxheight rlineto + boxwidth neg 0 rlineto + 0 boxheight neg rlineto + closepath + dup stringwidth pop neg boxwidth add 2 div + boxheight fontheight 2 div sub 2 div + rmoveto show stroke + grestore +} def + +/mark +{ newpath + exch xspacing mul xoffset add boxwidth add + exch yspacing mul + moveto + 0 boxheight 4 div rlineto + boxheight neg 4 div boxheight neg 4 div rlineto + closepath + eofill + stroke +} def + +/arrow +{ newpath + moveto + 3 -8 rlineto + -6 0 rlineto + 3 8 rlineto + closepath + eofill + stroke +} def + +/out % draws an output connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight add + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/in % draws an input connector for the block at (arg1,arg2) +{ + newpath + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul disty 2 div sub + /y exch def + /x exch def + x y moveto + 0 disty 2 div rlineto + stroke + 1 eq { x y disty 2 div add arrow } if +} def + +/hedge +{ + exch xspacing mul xoffset add boxwidth 2 div add + exch yspacing mul boxheight 2 div sub + /y exch def + /x exch def + newpath + x y moveto + boxwidth 2 div distx add 0 rlineto + stroke + 1 eq + { newpath x boxwidth 2 div distx add add y moveto + -8 3 rlineto + 0 -6 rlineto + 8 3 rlineto + closepath + eofill + stroke + } if +} def + +/vedge +{ + /ye exch def + /ys exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add dup + ys yspacing mul boxheight 2 div sub + moveto + ye yspacing mul boxheight 2 div sub + lineto + stroke +} def + +/conn % connections the blocks from col `arg1' to `arg2' of row `arg3' +{ + /ys exch def + /xe exch def + /xs exch def + newpath + xs xspacing mul xoffset add boxwidth 2 div add + ys yspacing mul disty 2 div sub + moveto + xspacing xe xs sub mul 0 + rlineto + stroke +} def + +% ----- main ------ + +boxfont setfont +1 boundaspect scale +(moeoIteratedIBMOLS< MOEOT, Move >) cw +(moeoLS< MOEOT, eoPop< MOEOT > & >) cw +(moeoAlgo) cw +(eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoIteratedIBMOLS< MOEOT, Move >) 0.5 0 box + (moeoLS< MOEOT, eoPop< MOEOT > & >) 0.5 1 box + (moeoAlgo) 0 2 box + (eoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >) 1 2 box + (eoFunctorBase) 1 3 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in +solid +0 1 2 out +solid +1 1 3 in diff --git a/trunk/paradiseo-moeo/doc/latex/classmoeoIteratedIBMOLS.tex b/trunk/paradiseo-moeo/doc/latex/classmoeoIteratedIBMOLS.tex new file mode 100644 index 000000000..b0e826ed2 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoIteratedIBMOLS.tex @@ -0,0 +1,124 @@ +\section{moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$ Class Template Reference} +\label{classmoeoIteratedIBMOLS}\index{moeoIteratedIBMOLS@{moeoIteratedIBMOLS}} +Iterated version of IBMOLS as described in Basseur M., Burke K. + + +{\tt \#include $<$moeo\-Iterated\-IBMOLS.h$>$} + +Inheritance diagram for moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2.83544cm]{classmoeoIteratedIBMOLS} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoIteratedIBMOLS_bc0f8dff81be56b23376995aace92a01} + +\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Iterated\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \&\_\-move\-Init, mo\-Next\-Move$<$ Move $>$ \&\_\-next\-Move, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \&\_\-move\-Incr\-Eval, \bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \&\_\-fitness\-Assignment, \bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-mon\-Op, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-random\-Mon\-Op, unsigned int \_\-n\-Noise\-Iterations=1) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Apply the local search iteratively until the stopping criteria is met. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Member Functions} +\begin{CompactItemize} +\item +void \bf{generate\-New\-Solutions} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, const \bf{moeo\-Archive}$<$ MOEOT $>$ \&\_\-arch) +\begin{CompactList}\small\item\em Creates new population randomly initialized and/or initialized from the archive \_\-arch. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{moeo\-IBMOLS}$<$ MOEOT, Move $>$ \bf{ibmols}\label{classmoeoIteratedIBMOLS_6b1351f1faa391a1f095d1f9d4dba915} + +\begin{CompactList}\small\item\em the local search to iterate \item\end{CompactList}\item +\bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& \bf{eval}\label{classmoeoIteratedIBMOLS_7abdd0c1433ec4671522c8d5edc9fe61} + +\begin{CompactList}\small\item\em the full evaluation \item\end{CompactList}\item +\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoIteratedIBMOLS_964e5df65c7aa33dd84eed3180d5e0a3} + +\begin{CompactList}\small\item\em the stopping criteria \item\end{CompactList}\item +\bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& \bf{mon\-Op}\label{classmoeoIteratedIBMOLS_77851daa2f2230000c0012beef3b8558} + +\begin{CompactList}\small\item\em the monary operator \item\end{CompactList}\item +\bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& \bf{random\-Mon\-Op}\label{classmoeoIteratedIBMOLS_89df3bfa7069c06c7e7cf4b30ccc5535} + +\begin{CompactList}\small\item\em the random monary operator (or random initializer) \item\end{CompactList}\item +unsigned int \bf{n\-Noise\-Iterations}\label{classmoeoIteratedIBMOLS_a50f25daf2847fb9d299ef65baf3bda7} + +\begin{CompactList}\small\item\em the number of iterations to apply the random noise \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT, class Move$>$ class moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$} + +Iterated version of IBMOLS as described in Basseur M., Burke K. + +: \char`\"{}Indicator-Based Multi-Objective Local Search\char`\"{} (2007). + + + +Definition at line 41 of file moeo\-Iterated\-IBMOLS.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}!moeoIteratedIBMOLS@{moeoIteratedIBMOLS}} +\index{moeoIteratedIBMOLS@{moeoIteratedIBMOLS}!moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ \bf{moeo\-Iterated\-IBMOLS}$<$ MOEOT, Move $>$::\bf{moeo\-Iterated\-IBMOLS} (mo\-Move\-Init$<$ Move $>$ \& {\em \_\-move\-Init}, mo\-Next\-Move$<$ Move $>$ \& {\em \_\-next\-Move}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{moeo\-Move\-Incr\-Eval}$<$ Move $>$ \& {\em \_\-move\-Incr\-Eval}, \bf{moeo\-Binary\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$ \& {\em \_\-fitness\-Assignment}, \bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-mon\-Op}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-random\-Mon\-Op}, unsigned int {\em \_\-n\-Noise\-Iterations} = {\tt 1})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoIteratedIBMOLS_67352bb5d797f20e767a4f0fa6d80f93} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-move\-Init}]the move initializer \item[{\em \_\-next\-Move}]the neighborhood explorer \item[{\em \_\-eval}]the full evaluation \item[{\em \_\-move\-Incr\-Eval}]the incremental evaluation \item[{\em \_\-fitness\-Assignment}]the fitness assignment strategy \item[{\em \_\-continuator}]the stopping criteria \item[{\em \_\-mon\-Op}]the monary operator \item[{\em \_\-random\-Mon\-Op}]the random monary operator (or random initializer) \item[{\em \_\-n\-Noise\-Iterations}]the number of iterations to apply the random noise \end{description} +\end{Desc} + + +Definition at line 61 of file moeo\-Iterated\-IBMOLS.h. + +\subsection{Member Function Documentation} +\index{moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}!operator()@{operator()}} +\index{operator()@{operator()}!moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-Iterated\-IBMOLS}$<$ MOEOT, Move $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoIteratedIBMOLS_52d4aa19a93c69ed0c2246c62821e76e} + + +Apply the local search iteratively until the stopping criteria is met. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the initial population \item[{\em \_\-arch}]the (updated) archive \end{description} +\end{Desc} + + +Implements \bf{eo\-BF$<$ eo\-Pop$<$ MOEOT $>$ \&, moeo\-Archive$<$ MOEOT $>$ \&, void $>$}. + +Definition at line 86 of file moeo\-Iterated\-IBMOLS.h. + +References moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::continuator, moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::generate\-New\-Solutions(), moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::ibmols, and moeo\-Archive$<$ MOEOT $>$::update().\index{moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}!generateNewSolutions@{generateNewSolutions}} +\index{generateNewSolutions@{generateNewSolutions}!moeoIteratedIBMOLS@{moeo\-Iterated\-IBMOLS}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT, class Move$>$ void \bf{moeo\-Iterated\-IBMOLS}$<$ MOEOT, Move $>$::generate\-New\-Solutions (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, const \bf{moeo\-Archive}$<$ MOEOT $>$ \& {\em \_\-arch})\hspace{0.3cm}{\tt [inline, private]}}\label{classmoeoIteratedIBMOLS_2826cf283f6670b3c46da5ac6b6def18} + + +Creates new population randomly initialized and/or initialized from the archive \_\-arch. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the output population \item[{\em \_\-arch}]the archive \end{description} +\end{Desc} + + +Definition at line 121 of file moeo\-Iterated\-IBMOLS.h. + +References moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::eval, eo\-Pop$<$ EOT $>$::invalidate(), moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::mon\-Op, moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::n\-Noise\-Iterations, and moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::random\-Mon\-Op. + +Referenced by moeo\-Iterated\-IBMOLS$<$ MOEOT, Move $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Iterated\-IBMOLS.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classmoeoMoveIncrEval.eps b/trunk/paradiseo-moeo/doc/latex/classmoeoMoveIncrEval.eps new file mode 100644 index 000000000..769d2fb57 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoMoveIncrEval.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 324.324 +%%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.54167 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 +(moeoMoveIncrEval< Move >) cw +(eoBF< A1, A2, R >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoMoveIncrEval< Move >) 0 0 box + (eoBF< A1, A2, R >) 0 1 box + (eoFunctorBase) 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/trunk/paradiseo-moeo/doc/latex/classmoeoMoveIncrEval.tex b/trunk/paradiseo-moeo/doc/latex/classmoeoMoveIncrEval.tex new file mode 100644 index 000000000..0e0a807a0 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoMoveIncrEval.tex @@ -0,0 +1,22 @@ +\section{moeo\-Move\-Incr\-Eval$<$ Move $>$ Class Template Reference} +\label{classmoeoMoveIncrEval}\index{moeoMoveIncrEval@{moeoMoveIncrEval}} +Inheritance diagram for moeo\-Move\-Incr\-Eval$<$ Move $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classmoeoMoveIncrEval} +\end{center} +\end{figure} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class Move$>$ class moeo\-Move\-Incr\-Eval$<$ Move $>$} + + + + + +Definition at line 9 of file moeo\-Move\-Incr\-Eval.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Move\-Incr\-Eval.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.eps b/trunk/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.eps new file mode 100644 index 000000000..e70f35158 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoObjectiveVectorTraits.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 100.503 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 4.975 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 +(moeoObjectiveVectorTraits) cw +(FlowShopObjectiveVectorTraits) cw +(Sch1ObjectiveVectorTraits) 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 ----- + + (moeoObjectiveVectorTraits) 0.5 1 box + (FlowShopObjectiveVectorTraits) 0 0 box + (Sch1ObjectiveVectorTraits) 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/trunk/paradiseo-moeo/doc/latex/classmoeoReferencePointIndicatorBasedFitnessAssignment.eps b/trunk/paradiseo-moeo/doc/latex/classmoeoReferencePointIndicatorBasedFitnessAssignment.eps new file mode 100644 index 000000000..c1feb7742 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoReferencePointIndicatorBasedFitnessAssignment.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 202.532 +%%Pages: 0 +%%BeginSetup +%%EndSetup +%%EndComments + +% ----- variables ----- + +/boxwidth 0 def +/boxheight 40 def +/fontheight 24 def +/marginwidth 10 def +/distx 20 def +/disty 40 def +/boundaspect 2.46875 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 +(moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >) cw +(moeoFitnessAssignment< MOEOT >) cw +(eoUF< eoPop< MOEOT > &, void >) cw +(eoFunctorBase) cw +/boxwidth boxwidth marginwidth 2 mul add def +/xspacing boxwidth distx add def +/yspacing boxheight disty add def +/scalefactor + boxwidth cols mul distx cols 1 sub mul add + boxheight rows mul disty rows 1 sub mul add boundaspect mul + max def +boundx scalefactor div boundy scalefactor div scale + +% ----- classes ----- + + (moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >) 0 0 box + (moeoFitnessAssignment< MOEOT >) 0 1 box + (eoUF< eoPop< MOEOT > &, void >) 0 2 box + (eoFunctorBase) 0 3 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in +solid +0 0 2 out +solid +1 0 3 in diff --git a/trunk/paradiseo-moeo/doc/latex/classmoeoReferencePointIndicatorBasedFitnessAssignment.tex b/trunk/paradiseo-moeo/doc/latex/classmoeoReferencePointIndicatorBasedFitnessAssignment.tex new file mode 100644 index 000000000..0ba580737 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classmoeoReferencePointIndicatorBasedFitnessAssignment.tex @@ -0,0 +1,148 @@ +\section{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$ Class Template Reference} +\label{classmoeoReferencePointIndicatorBasedFitnessAssignment}\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeoReferencePointIndicatorBasedFitnessAssignment}} +Fitness assignment sheme based a Reference Point and a Quality Indicator. + + +{\tt \#include $<$moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h$>$} + +Inheritance diagram for moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=4cm]{classmoeoReferencePointIndicatorBasedFitnessAssignment} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{CompactItemize} +\item +typedef MOEOT::Objective\-Vector \bf{Objective\-Vector}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_51ae5507dca3e934f7db36eef78df556} + +\begin{CompactList}\small\item\em The type of objective vector. \item\end{CompactList}\end{CompactItemize} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment} (\bf{Objective\-Vector} \&\_\-ref\-Point, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \&\_\-metric) +\begin{CompactList}\small\item\em Ctor. \item\end{CompactList}\item +void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the fitness values for every solution contained in the population \_\-pop. \item\end{CompactList}\item +void \bf{update\-By\-Deleting} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop, \bf{Objective\-Vector} \&\_\-obj\-Vec) +\begin{CompactList}\small\item\em Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Member Functions} +\begin{CompactItemize} +\item +void \bf{setup} (const \bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop (and the reference point). \item\end{CompactList}\item +void \bf{set\-Fitnesses} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop) +\begin{CompactList}\small\item\em Sets the fitness of every individual contained in the population \_\-pop. \item\end{CompactList}\end{CompactItemize} +\subsection*{Protected Attributes} +\begin{CompactItemize} +\item +\bf{Objective\-Vector} \& \bf{ref\-Point}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_73dc1eb66e46b28b7ee283f7367f427b} + +\begin{CompactList}\small\item\em the reference point \item\end{CompactList}\item +\bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& \bf{metric}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_9adf4fd353f44f15d3722ef26aa81832} + +\begin{CompactList}\small\item\em the quality indicator \item\end{CompactList}\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class MOEOT$>$ class moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$} + +Fitness assignment sheme based a Reference Point and a Quality Indicator. + + + +Definition at line 25 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h. + +\subsection{Constructor \& Destructor Documentation} +\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeoReferencePointIndicatorBasedFitnessAssignment}} +\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeoReferencePointIndicatorBasedFitnessAssignment}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::\bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment} (\bf{Objective\-Vector} \& {\em \_\-ref\-Point}, \bf{moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric}$<$ \bf{Objective\-Vector}, double $>$ \& {\em \_\-metric})\hspace{0.3cm}{\tt [inline]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_67a5e91e08f89f27ad5aad989898c425} + + +Ctor. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-ref\-Point}]the reference point \item[{\em \_\-metric}]the quality indicator \end{description} +\end{Desc} + + +Definition at line 37 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h. + +\subsection{Member Function Documentation} +\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!operator()@{operator()}} +\index{operator()@{operator()}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_d122ebb7cda54b283d6736dc5e57da7d} + + +Sets the fitness values for every solution contained in the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Implements \bf{eo\-UF$<$ eo\-Pop$<$ MOEOT $>$ \&, void $>$}. + +Definition at line 46 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::set\-Fitnesses(), and moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::setup().\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!updateByDeleting@{updateByDeleting}} +\index{updateByDeleting@{updateByDeleting}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::update\-By\-Deleting (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop}, \bf{Objective\-Vector} \& {\em \_\-obj\-Vec})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_ba47422dd4f82274af2f69c0b5f95d3a} + + +Updates the fitness values of the whole population \_\-pop by taking the deletion of the objective vector \_\-obj\-Vec into account. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \item[{\em \_\-obj\-Vec}]the objective vector \end{description} +\end{Desc} + + +Implements \bf{moeo\-Fitness\-Assignment$<$ MOEOT $>$} \doxyref{p.}{classmoeoFitnessAssignment_4922629569eddc9be049b3ead1ab0269}. + +Definition at line 60 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h.\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!setup@{setup}} +\index{setup@{setup}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::setup (const \bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_67bfa12f97d247c15f3e28f923646b78} + + +Sets the bounds for every objective using the min and the max value for every objective vector of \_\-pop (and the reference point). + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 78 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::ref\-Point, and moeo\-Normalized\-Solution\-Vs\-Solution\-Binary\-Metric$<$ Objective\-Vector, R $>$::setup(). + +Referenced by moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()().\index{moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}!setFitnesses@{setFitnesses}} +\index{setFitnesses@{setFitnesses}!moeoReferencePointIndicatorBasedFitnessAssignment@{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ void \bf{moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment}$<$ MOEOT $>$::set\-Fitnesses (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt [inline, protected]}}\label{classmoeoReferencePointIndicatorBasedFitnessAssignment_b1ca358eeb6dac0afe902a3978e1219a} + + +Sets the fitness of every individual contained in the population \_\-pop. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em \_\-pop}]the population \end{description} +\end{Desc} + + +Definition at line 99 of file moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h. + +References moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::metric, and moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::ref\-Point. + +Referenced by moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment$<$ MOEOT $>$::operator()(). + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +moeo\-Reference\-Point\-Indicator\-Based\-Fitness\-Assignment.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/latex/classpeoEA.tex b/trunk/paradiseo-moeo/doc/latex/classpeoEA.tex new file mode 100644 index 000000000..d1a3e09cf --- /dev/null +++ b/trunk/paradiseo-moeo/doc/latex/classpeoEA.tex @@ -0,0 +1,119 @@ +\section{peo\-EA$<$ EOT $>$ Class Template Reference} +\label{classpeoEA}\index{peoEA@{peoEA}} +The \doxyref{peo\-EA}{p.}{classpeoEA} class offers an elementary evolutionary algorithm implementation. + + +{\tt \#include $<$pmoeo\-EA.h$>$} + +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\bf{peo\-EA} (\bf{eo\-Continue}$<$ EOT $>$ \&\_\-\_\-cont, peo\-Pop\-Eval$<$ EOT $>$ \&\_\-\_\-pop\_\-eval, \bf{eo\-Select}$<$ EOT $>$ \&\_\-\_\-select, peo\-Transform$<$ EOT $>$ \&\_\-\_\-trans, \bf{eo\-Replacement}$<$ EOT $>$ \&\_\-\_\-replace) +\begin{CompactList}\small\item\em Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism. \item\end{CompactList}\item +void \bf{run} ()\label{classpeoEA_6ab8c321d29350634143a2a01cf2ad24} + +\begin{CompactList}\small\item\em Evolutionary algorithm function - a side effect of the fact that the class is derived from the {\bf Runner} class, thus requiring the existence of a {\em run\/} function, the algorithm being executed on a distinct thread. \item\end{CompactList}\item +void \bf{operator()} (\bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-pop) +\begin{CompactList}\small\item\em \doxyref{Function} operator for specifying the population to be associated with the algorithm. \item\end{CompactList}\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\bf{eo\-Continue}$<$ EOT $>$ \& \bf{cont}\label{classpeoEA_5f015eebf42f176b9fe322488c446c2a} + +\item +peo\-Pop\-Eval$<$ EOT $>$ \& \bf{pop\_\-eval}\label{classpeoEA_9140259f50c9186edcb062b023624c96} + +\item +\bf{eo\-Select}$<$ EOT $>$ \& \bf{select}\label{classpeoEA_2d8428d69fdd6aefefbaf543fdd46d19} + +\item +peo\-Transform$<$ EOT $>$ \& \bf{trans}\label{classpeoEA_713c77935eb8aafebfb9488cfaa4a363} + +\item +\bf{eo\-Replacement}$<$ EOT $>$ \& \bf{replace}\label{classpeoEA_9bd2d4356cf7e69e3141dc269213aa8a} + +\item +\bf{eo\-Pop}$<$ EOT $>$ $\ast$ \bf{pop}\label{classpeoEA_c0b110e410bc16283e8339f24b733772} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$class EOT$>$ class peo\-EA$<$ EOT $>$} + +The \doxyref{peo\-EA}{p.}{classpeoEA} class offers an elementary evolutionary algorithm implementation. + +In addition, as compared with the algorithms provided by the \doxyref{EO} framework, the \doxyref{peo\-EA}{p.}{classpeoEA} class has the underlying necessary structure for including, for example, parallel evaluation and parallel transformation operators, migration operators etc. Although there is no restriction on using the algorithms provided by the \doxyref{EO} framework, the drawback resides in the fact that the \doxyref{EO} implementation is exclusively sequential and, in consequence, no parallelism is provided. A simple example for constructing a \doxyref{peo\-EA}{p.}{classpeoEA} object: + +\begin{TabularC}{2} +\hline +... ~ &~ \\\hline +eo\-Pop$<$ EOT $>$ population( POP\_\-SIZE, pop\-Initializer ); ~ &// creation of a population with POP\_\-SIZE individuals - the pop\-Initializer is a functor to be called for each individual \\\hline +~ &~ \\\hline +eo\-Gen\-Continue$<$ EOT $>$ ea\-Cont( NUM\_\-GEN ); ~ &// number of generations for the evolutionary algorithm \\\hline +eo\-Check\-Point$<$ EOT $>$ ea\-Checkpoint\-Continue( ea\-Cont ); ~ &// checkpoint incorporating the continuation criterion - startpoint for adding other checkpoint objects \\\hline +~ &~ \\\hline +peo\-Seq\-Pop\-Eval$<$ EOT $>$ ea\-Pop\-Eval( eval\-Function ); ~ &// sequential evaluation functor wrapper - eval\-Function represents the actual evaluation functor \\\hline +~ &~ \\\hline +eo\-Ranking\-Select$<$ EOT $>$ selection\-Strategy; ~ &// selection strategy for creating the offspring population - a simple ranking selection in this case \\\hline +eo\-Select\-Number$<$ EOT $>$ ea\-Select( selection\-Strategy, POP\_\-SIZE ); ~ &// the number of individuals to be selected for creating the offspring population \\\hline +eo\-Ranking\-Select$<$ EOT $>$ selection\-Strategy; ~ &// selection strategy for creating the offspring population - a simple ranking selection in this case \\\hline +~ &~ \\\hline +eo\-SGATransform$<$ EOT $>$ transform( crossover, CROSS\_\-RATE, mutation, MUT\_\-RATE ); ~ &// transformation operator - crossover and mutation operators with their associated probabilities \\\hline +peo\-Seq\-Transform$<$ EOT $>$ ea\-Transform( transform ); ~ &// Paradis\-EO specific sequential operator - a parallel version may be specified in the same manner \\\hline +~ &~ \\\hline +eo\-Plus\-Replacement$<$ EOT $>$ ea\-Replace; ~ &// replacement strategy - for integrating the offspring resulting individuals in the initial population \\\hline +~ &~ \\\hline +peo\-EA$<$ EOT $>$ ea\-Alg( ea\-Checkpoint\-Continue, ea\-Pop\-Eval, ea\-Select, ea\-Transform, ea\-Replace ); ~ &// Paradis\-EO evolutionary algorithm integrating the above defined objects \\\hline +ea\-Alg( population ); ~ &// specifying the initial population for the algorithm \\\hline +... ~ &~ \\\hline +\end{TabularC} + + + + +Definition at line 54 of file pmoeo\-EA.h. + +\subsection{Constructor \& Destructor Documentation} +\index{peoEA@{peo\-EA}!peoEA@{peoEA}} +\index{peoEA@{peoEA}!peoEA@{peo\-EA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \bf{peo\-EA}$<$ EOT $>$::\bf{peo\-EA} (\bf{eo\-Continue}$<$ EOT $>$ \& {\em \_\-\_\-cont}, peo\-Pop\-Eval$<$ EOT $>$ \& {\em \_\-\_\-pop\_\-eval}, \bf{eo\-Select}$<$ EOT $>$ \& {\em \_\-\_\-select}, peo\-Transform$<$ EOT $>$ \& {\em \_\-\_\-trans}, \bf{eo\-Replacement}$<$ EOT $>$ \& {\em \_\-\_\-replace})}\label{classpeoEA_dbfc4f8907bef234602149229f132371} + + +Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism. + +Depending on the requirements, a sequential or a parallel evaluation operator may be specified or, in the same manner, a sequential or a parallel transformation operator may be given as parameter. Out of the box objects may be provided, from the \doxyref{EO} package, for example, or custom defined ones may be specified, provided that they are derived from the correct base classes. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Continue$<$}]EOT $>$\& \_\-\_\-cont - continuation criterion specifying whether the algorithm should continue or not; \item[{\em peo\-Pop\-Eval$<$}]EOT $>$\& \_\-\_\-pop\_\-eval - evaluation operator; it allows the specification of parallel evaluation operators, aggregate evaluation functions, etc.; \item[{\em eo\-Select$<$}]EOT $>$\& \_\-\_\-select - selection strategy to be applied for constructing a list of offspring individuals; \item[{\em peo\-Transform$<$}]EOT $>$\& \_\-\_\-trans - transformation operator, i.e. crossover and mutation; allows for sequential or parallel transform; \item[{\em eo\-Replacement$<$}]EOT $>$\& \_\-\_\-replace - replacement strategy for integrating the offspring individuals in the initial population; \end{description} +\end{Desc} + + +Definition at line 98 of file pmoeo\-EA.h. + +References peo\-EA$<$ EOT $>$::pop\_\-eval, and peo\-EA$<$ EOT $>$::trans. + +\subsection{Member Function Documentation} +\index{peoEA@{peo\-EA}!operator()@{operator()}} +\index{operator()@{operator()}!peoEA@{peo\-EA}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \bf{peo\-EA}$<$ EOT $>$::operator() (\bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-pop})}\label{classpeoEA_3c709e3b2491147d26fee36138644613} + + +\doxyref{Function} operator for specifying the population to be associated with the algorithm. + +\begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop - initial population of the algorithm, to be iteratively evolved; \end{description} +\end{Desc} + + +Definition at line 114 of file pmoeo\-EA.h. + +References peo\-EA$<$ EOT $>$::pop. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +pmoeo\-EA.h\end{CompactItemize} diff --git a/trunk/paradiseo-moeo/doc/man/man3/FlowShop.3 b/trunk/paradiseo-moeo/doc/man/man3/FlowShop.3 new file mode 100644 index 000000000..9e706c47c --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/FlowShop.3 @@ -0,0 +1,31 @@ +.TH "FlowShop" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShop \- Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >< moeoRealObjectiveVector< FlowShopObjectiveVectorTraits >, double, double, unsigned int >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "std::string \fBclassName\fP () const " +.br +.RI "\fIclass name \fP" +.in -1c +.SH "Detailed Description" +.PP +Structure of the genotype for the flow-shop scheduling problem: a vector of unsigned int int. +.PP +Definition at line 22 of file FlowShop.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/FlowShopBenchmarkParser.3 b/trunk/paradiseo-moeo/doc/man/man3/FlowShopBenchmarkParser.3 new file mode 100644 index 000000000..f72583422 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/FlowShopBenchmarkParser.3 @@ -0,0 +1,120 @@ +.TH "FlowShopBenchmarkParser" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopBenchmarkParser \- Class to handle parameters of a flow-shop instance from a benchmark file. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBFlowShopBenchmarkParser\fP (const std::string _benchmarkFileName)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "const unsigned int \fBgetM\fP ()" +.br +.RI "\fIthe number of machines \fP" +.ti -1c +.RI "const unsigned int \fBgetN\fP ()" +.br +.RI "\fIthe number of jobs \fP" +.ti -1c +.RI "const std::vector< std::vector< unsigned int > > \fBgetP\fP ()" +.br +.RI "\fIthe processing times \fP" +.ti -1c +.RI "const std::vector< unsigned int > \fBgetD\fP ()" +.br +.RI "\fIthe due-dates \fP" +.ti -1c +.RI "void \fBprintOn\fP (std::ostream &_os) const " +.br +.RI "\fIprinting. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBinit\fP (const std::string _benchmarkFileName)" +.br +.RI "\fIInitialisation of the parameters with the data contained in the benchmark file. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBM\fP" +.br +.RI "\fInumber of machines \fP" +.ti -1c +.RI "unsigned int \fBN\fP" +.br +.RI "\fInumber of jobs \fP" +.ti -1c +.RI "std::vector< std::vector< unsigned int > > \fBp\fP" +.br +.RI "\fIp[i][j] = processing time of job j on machine i \fP" +.ti -1c +.RI "std::vector< unsigned int > \fBd\fP" +.br +.RI "\fId[j] = due-date of the job j \fP" +.in -1c +.SH "Detailed Description" +.PP +Class to handle parameters of a flow-shop instance from a benchmark file. +.PP +Definition at line 23 of file FlowShopBenchmarkParser.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "FlowShopBenchmarkParser::FlowShopBenchmarkParser (const std::string _benchmarkFileName)" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_benchmarkFileName\fP the name of the benchmark file +.RE +.PP + +.PP +Definition at line 16 of file FlowShopBenchmarkParser.cpp. +.PP +References init(). +.SH "Member Function Documentation" +.PP +.SS "void FlowShopBenchmarkParser::printOn (std::ostream & _os) const" +.PP +printing. +.PP +.. +.PP +Definition at line 46 of file FlowShopBenchmarkParser.cpp. +.PP +References d, M, N, and p. +.SS "void FlowShopBenchmarkParser::init (const std::string _benchmarkFileName)\fC [private]\fP" +.PP +Initialisation of the parameters with the data contained in the benchmark file. +.PP +\fBParameters:\fP +.RS 4 +\fI_benchmarkFileName\fP the name of the benchmark file +.RE +.PP + +.PP +Definition at line 64 of file FlowShopBenchmarkParser.cpp. +.PP +References d, M, N, and p. +.PP +Referenced by FlowShopBenchmarkParser(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/FlowShopEval.3 b/trunk/paradiseo-moeo/doc/man/man3/FlowShopEval.3 new file mode 100644 index 000000000..494aa09b5 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/FlowShopEval.3 @@ -0,0 +1,155 @@ +.TH "FlowShopEval" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopEval \- Evaluation of the objective vector a (multi-objective) \fBFlowShop\fP object. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoEvalFunc< FlowShop >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBFlowShopEval\fP (unsigned int _M, unsigned int _N, const std::vector< std::vector< unsigned int > > &_p, const std::vector< unsigned int > &_d)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBFlowShop\fP &_flowshop)" +.br +.RI "\fIcomputation of the multi-objective evaluation of a \fBFlowShop\fP object \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "double \fBmakespan\fP (const \fBFlowShop\fP &_flowshop)" +.br +.RI "\fIcomputation of the makespan \fP" +.ti -1c +.RI "double \fBtardiness\fP (const \fBFlowShop\fP &_flowshop)" +.br +.RI "\fIcomputation of the tardiness \fP" +.ti -1c +.RI "std::vector< std::vector< unsigned int > > \fBcompletionTime\fP (const \fBFlowShop\fP &_flowshop)" +.br +.RI "\fIcomputation of the completion times of a scheduling (for each job on each machine) C[i][j] = completion of the jth job of the scheduling on the ith machine \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBM\fP" +.br +.RI "\fInumber of machines \fP" +.ti -1c +.RI "unsigned int \fBN\fP" +.br +.RI "\fInumber of jobs \fP" +.ti -1c +.RI "std::vector< std::vector< unsigned int > > \fBp\fP" +.br +.RI "\fIp[i][j] = processing time of job j on machine i \fP" +.ti -1c +.RI "std::vector< unsigned int > \fBd\fP" +.br +.RI "\fId[j] = due-date of the job j \fP" +.in -1c +.SH "Detailed Description" +.PP +Evaluation of the objective vector a (multi-objective) \fBFlowShop\fP object. +.PP +Definition at line 23 of file FlowShopEval.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "FlowShopEval::FlowShopEval (unsigned int _M, unsigned int _N, const std::vector< std::vector< unsigned int > > & _p, const std::vector< unsigned int > & _d)" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_M\fP the number of machines +.br +\fI_N\fP the number of jobs to schedule +.br +\fI_p\fP the processing times +.br +\fI_d\fP the due dates +.RE +.PP + +.PP +Definition at line 16 of file FlowShopEval.cpp. +.SH "Member Function Documentation" +.PP +.SS "void FlowShopEval::operator() (\fBFlowShop\fP & _flowshop)" +.PP +computation of the multi-objective evaluation of a \fBFlowShop\fP object +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the \fBFlowShop\fP object to evaluate +.RE +.PP + +.PP +Definition at line 21 of file FlowShopEval.cpp. +.PP +References makespan(), MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::objectiveVector(), and tardiness(). +.SS "double FlowShopEval::makespan (const \fBFlowShop\fP & _flowshop)\fC [private]\fP" +.PP +computation of the makespan +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the genotype to evaluate +.RE +.PP + +.PP +Definition at line 31 of file FlowShopEval.cpp. +.PP +References completionTime(), M, and N. +.PP +Referenced by operator()(). +.SS "double FlowShopEval::tardiness (const \fBFlowShop\fP & _flowshop)\fC [private]\fP" +.PP +computation of the tardiness +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the genotype to evaluate +.RE +.PP + +.PP +Definition at line 40 of file FlowShopEval.cpp. +.PP +References completionTime(), d, M, and N. +.PP +Referenced by operator()(). +.SS "std::vector< std::vector< unsigned int > > FlowShopEval::completionTime (const \fBFlowShop\fP & _flowshop)\fC [private]\fP" +.PP +computation of the completion times of a scheduling (for each job on each machine) C[i][j] = completion of the jth job of the scheduling on the ith machine +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the genotype to evaluate +.RE +.PP + +.PP +Definition at line 53 of file FlowShopEval.cpp. +.PP +References M, N, and p. +.PP +Referenced by makespan(), and tardiness(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/FlowShopInit.3 b/trunk/paradiseo-moeo/doc/man/man3/FlowShopInit.3 new file mode 100644 index 000000000..daac1acff --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/FlowShopInit.3 @@ -0,0 +1,73 @@ +.TH "FlowShopInit" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopInit \- Initialization of a random genotype built by the default constructor of the \fBFlowShop\fP class. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoInit< FlowShop >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBFlowShopInit\fP (unsigned int _N)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBFlowShop\fP &_flowshop)" +.br +.RI "\fIbuilds a random genotype \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBN\fP" +.br +.RI "\fIthe number of jobs (size of a scheduling vector) \fP" +.in -1c +.SH "Detailed Description" +.PP +Initialization of a random genotype built by the default constructor of the \fBFlowShop\fP class. +.PP +Definition at line 22 of file FlowShopInit.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "FlowShopInit::FlowShopInit (unsigned int _N)" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_N\fP the number of jobs to schedule +.RE +.PP + +.PP +Definition at line 16 of file FlowShopInit.cpp. +.SH "Member Function Documentation" +.PP +.SS "void FlowShopInit::operator() (\fBFlowShop\fP & _flowshop)" +.PP +builds a random genotype +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP a genotype that has been default-constructed +.RE +.PP + +.PP +Definition at line 20 of file FlowShopInit.cpp. +.PP +References MOEO< MOEOObjectiveVector, MOEOFitness, MOEODiversity >::invalidate(), N, eoRng::uniform(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/FlowShopObjectiveVectorTraits.3 b/trunk/paradiseo-moeo/doc/man/man3/FlowShopObjectiveVectorTraits.3 new file mode 100644 index 000000000..c0037a4a5 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/FlowShopObjectiveVectorTraits.3 @@ -0,0 +1,65 @@ +.TH "FlowShopObjectiveVectorTraits" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopObjectiveVectorTraits \- Definition of the objective vector traits for multi-objective flow-shop problems. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoObjectiveVectorTraits\fP. +.PP +.SS "Static Public Member Functions" + +.in +1c +.ti -1c +.RI "static bool \fBminimizing\fP (int _i)" +.br +.RI "\fIReturns true if the _ith objective have to be minimzed. \fP" +.ti -1c +.RI "static bool \fBmaximizing\fP (int _i)" +.br +.RI "\fIReturns true if the _ith objective have to be maximzed. \fP" +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.in -1c +.SH "Detailed Description" +.PP +Definition of the objective vector traits for multi-objective flow-shop problems. +.PP +Definition at line 21 of file FlowShopObjectiveVectorTraits.h. +.SH "Member Function Documentation" +.PP +.SS "bool FlowShopObjectiveVectorTraits::minimizing (int _i)\fC [static]\fP" +.PP +Returns true if the _ith objective have to be minimzed. +.PP +\fBParameters:\fP +.RS 4 +\fI_i\fP index of the objective +.RE +.PP + +.PP +Definition at line 16 of file FlowShopObjectiveVectorTraits.cpp. +.SS "bool FlowShopObjectiveVectorTraits::maximizing (int _i)\fC [static]\fP" +.PP +Returns true if the _ith objective have to be maximzed. +.PP +\fBParameters:\fP +.RS 4 +\fI_i\fP index of the objective +.RE +.PP + +.PP +Definition at line 22 of file FlowShopObjectiveVectorTraits.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/FlowShopOpCrossoverQuad.3 b/trunk/paradiseo-moeo/doc/man/man3/FlowShopOpCrossoverQuad.3 new file mode 100644 index 000000000..145fb7989 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/FlowShopOpCrossoverQuad.3 @@ -0,0 +1,85 @@ +.TH "FlowShopOpCrossoverQuad" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopOpCrossoverQuad \- Quadratic crossover operator for flow-shop (modify the both genotypes). + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoQuadOp< FlowShop >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "std::string \fBclassName\fP () const " +.br +.RI "\fIthe class name (used to display statistics) \fP" +.ti -1c +.RI "bool \fBoperator()\fP (\fBFlowShop\fP &_flowshop1, \fBFlowShop\fP &_flowshop2)" +.br +.RI "\fIeoQuad crossover - _flowshop1 and _flowshop2 are the (future) offspring, i.e. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "\fBFlowShop\fP \fBgenerateOffspring\fP (const \fBFlowShop\fP &_parent1, const \fBFlowShop\fP &_parent2, unsigned int _point1, unsigned int _point2)" +.br +.RI "\fIgeneration of an offspring by a 2 points crossover \fP" +.in -1c +.SH "Detailed Description" +.PP +Quadratic crossover operator for flow-shop (modify the both genotypes). +.PP +Definition at line 22 of file FlowShopOpCrossoverQuad.h. +.SH "Member Function Documentation" +.PP +.SS "bool FlowShopOpCrossoverQuad::operator() (\fBFlowShop\fP & _flowshop1, \fBFlowShop\fP & _flowshop2)\fC [virtual]\fP" +.PP +eoQuad crossover - _flowshop1 and _flowshop2 are the (future) offspring, i.e. +.PP +_copies_ of the parents +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop1\fP the first parent +.br +\fI_flowshop2\fP the second parent +.RE +.PP + +.PP +Implements \fBeoBF< FlowShop &, FlowShop &, bool >\fP. +.PP +Definition at line 22 of file FlowShopOpCrossoverQuad.cpp. +.PP +References generateOffspring(), eoRng::random(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). +.SS "\fBFlowShop\fP FlowShopOpCrossoverQuad::generateOffspring (const \fBFlowShop\fP & _parent1, const \fBFlowShop\fP & _parent2, unsigned int _point1, unsigned int _point2)\fC [private]\fP" +.PP +generation of an offspring by a 2 points crossover +.PP +\fBParameters:\fP +.RS 4 +\fI_parent1\fP the first parent +.br +\fI_parent2\fP the second parent +.br +\fI_point1\fP the first point +.br +\fI_point2\fP the second point +.RE +.PP + +.PP +Definition at line 54 of file FlowShopOpCrossoverQuad.cpp. +.PP +Referenced by operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/FlowShopOpMutationExchange.3 b/trunk/paradiseo-moeo/doc/man/man3/FlowShopOpMutationExchange.3 new file mode 100644 index 000000000..b91193066 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/FlowShopOpMutationExchange.3 @@ -0,0 +1,53 @@ +.TH "FlowShopOpMutationExchange" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopOpMutationExchange \- Exchange mutation operator for the flow-shop. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoMonOp< FlowShop >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "std::string \fBclassName\fP () const " +.br +.RI "\fIthe class name (used to display statistics) \fP" +.ti -1c +.RI "bool \fBoperator()\fP (\fBFlowShop\fP &_flowshop)" +.br +.RI "\fImodifies the parent with an exchange mutation \fP" +.in -1c +.SH "Detailed Description" +.PP +Exchange mutation operator for the flow-shop. +.PP +Definition at line 22 of file FlowShopOpMutationExchange.h. +.SH "Member Function Documentation" +.PP +.SS "bool FlowShopOpMutationExchange::operator() (\fBFlowShop\fP & _flowshop)\fC [virtual]\fP" +.PP +modifies the parent with an exchange mutation +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the parent genotype (will be modified) +.RE +.PP + +.PP +Implements \fBeoUF< FlowShop &, bool >\fP. +.PP +Definition at line 22 of file FlowShopOpMutationExchange.cpp. +.PP +References eoRng::random(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/FlowShopOpMutationShift.3 b/trunk/paradiseo-moeo/doc/man/man3/FlowShopOpMutationShift.3 new file mode 100644 index 000000000..0c9fe814d --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/FlowShopOpMutationShift.3 @@ -0,0 +1,53 @@ +.TH "FlowShopOpMutationShift" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +FlowShopOpMutationShift \- Shift mutation operator for flow-shop. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBeoMonOp< FlowShop >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "std::string \fBclassName\fP () const " +.br +.RI "\fIthe class name (used to display statistics) \fP" +.ti -1c +.RI "bool \fBoperator()\fP (\fBFlowShop\fP &_flowshop)" +.br +.RI "\fImodifies the parent with a shift mutation \fP" +.in -1c +.SH "Detailed Description" +.PP +Shift mutation operator for flow-shop. +.PP +Definition at line 22 of file FlowShopOpMutationShift.h. +.SH "Member Function Documentation" +.PP +.SS "bool FlowShopOpMutationShift::operator() (\fBFlowShop\fP & _flowshop)\fC [virtual]\fP" +.PP +modifies the parent with a shift mutation +.PP +\fBParameters:\fP +.RS 4 +\fI_flowshop\fP the parent genotype (will be modified) +.RE +.PP + +.PP +Implements \fBeoUF< FlowShop &, bool >\fP. +.PP +Definition at line 22 of file FlowShopOpMutationShift.cpp. +.PP +References eoRng::random(), and moeoVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity, GeneType >::value(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/Sch1.3 b/trunk/paradiseo-moeo/doc/man/man3/Sch1.3 new file mode 100644 index 000000000..662313cd3 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/Sch1.3 @@ -0,0 +1,24 @@ +.TH "Sch1" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Sch1 \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoRealVector< MOEOObjectiveVector, MOEOFitness, MOEODiversity >< moeoRealObjectiveVector< Sch1ObjectiveVectorTraits >, double, double >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBSch1\fP ()" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 44 of file Sch1.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/Sch1Eval.3 b/trunk/paradiseo-moeo/doc/man/man3/Sch1Eval.3 new file mode 100644 index 000000000..cec0251f9 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/Sch1Eval.3 @@ -0,0 +1,24 @@ +.TH "Sch1Eval" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Sch1Eval \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoEvalFunc< Sch1 >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (\fBSch1\fP &_sch1)" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 52 of file Sch1.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/Sch1ObjectiveVectorTraits.3 b/trunk/paradiseo-moeo/doc/man/man3/Sch1ObjectiveVectorTraits.3 new file mode 100644 index 000000000..800dfaad9 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/Sch1ObjectiveVectorTraits.3 @@ -0,0 +1,31 @@ +.TH "Sch1ObjectiveVectorTraits" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Sch1ObjectiveVectorTraits \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoObjectiveVectorTraits\fP. +.PP +.SS "Static Public Member Functions" + +.in +1c +.ti -1c +.RI "static bool \fBminimizing\fP (int i)" +.br +.ti -1c +.RI "static bool \fBmaximizing\fP (int i)" +.br +.ti -1c +.RI "static unsigned int \fBnObjectives\fP ()" +.br +.RI "\fIReturns the number of objectives. \fP" +.in -1c +.SH "Detailed Description" +.PP +Definition at line 21 of file Sch1.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/moeoIBMOLS.3 b/trunk/paradiseo-moeo/doc/man/man3/moeoIBMOLS.3 new file mode 100644 index 000000000..fb196da6b --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/moeoIBMOLS.3 @@ -0,0 +1,168 @@ +.TH "moeoIBMOLS" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBMOLS \- Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoLS< MOEOT, eoPop< MOEOT > & >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type of objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIBMOLS\fP (moMoveInit< Move > &_moveInit, moNextMove< Move > &_nextMove, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBmoeoMoveIncrEval\fP< Move > &_moveIncrEval, \fBmoeoBinaryIndicatorBasedFitnessAssignment\fP< MOEOT > &_fitnessAssignment, \fBeoContinue\fP< MOEOT > &_continuator)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop, \fBmoeoArchive\fP< MOEOT > &_arch)" +.br +.RI "\fIApply the local search until a local archive does not change or another stopping criteria is met and update the archive _arch with new non-dominated solutions. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoneStep\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIApply one step of the local search to the population _pop. \fP" +.ti -1c +.RI "void \fBnew_oneStep\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fIApply one step of the local search to the population _pop. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "moMoveInit< Move > & \fBmoveInit\fP" +.br +.RI "\fIthe move initializer \fP" +.ti -1c +.RI "moNextMove< Move > & \fBnextMove\fP" +.br +.RI "\fIthe neighborhood explorer \fP" +.ti -1c +.RI "\fBeoEvalFunc\fP< MOEOT > & \fBeval\fP" +.br +.RI "\fIthe full evaluation \fP" +.ti -1c +.RI "\fBmoeoMoveIncrEval\fP< Move > & \fBmoveIncrEval\fP" +.br +.RI "\fIthe incremental evaluation \fP" +.ti -1c +.RI "\fBmoeoBinaryIndicatorBasedFitnessAssignment\fP< MOEOT > & \fBfitnessAssignment\fP" +.br +.RI "\fIthe fitness assignment strategy \fP" +.ti -1c +.RI "\fBeoContinue\fP< MOEOT > & \fBcontinuator\fP" +.br +.RI "\fIthe stopping criteria \fP" +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "class \fBOneObjectiveComparator\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBMOLS< MOEOT, Move >" +Indicator-Based Multi-Objective Local Search (IBMOLS) as described in Basseur M., Burke K. + +: 'Indicator-Based Multi-Objective Local Search' (2007). +.PP +Definition at line 33 of file moeoIBMOLS.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoIBMOLS\fP< MOEOT, Move >::\fBmoeoIBMOLS\fP (moMoveInit< Move > & _moveInit, moNextMove< Move > & _nextMove, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBmoeoMoveIncrEval\fP< Move > & _moveIncrEval, \fBmoeoBinaryIndicatorBasedFitnessAssignment\fP< MOEOT > & _fitnessAssignment, \fBeoContinue\fP< MOEOT > & _continuator)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_moveInit\fP the move initializer +.br +\fI_nextMove\fP the neighborhood explorer +.br +\fI_eval\fP the full evaluation +.br +\fI_moveIncrEval\fP the incremental evaluation +.br +\fI_fitnessAssignment\fP the fitness assignment strategy +.br +\fI_continuator\fP the stopping criteria +.RE +.PP + +.PP +Definition at line 50 of file moeoIBMOLS.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIBMOLS\fP< MOEOT, Move >::operator() (\fBeoPop\fP< MOEOT > & _pop, \fBmoeoArchive\fP< MOEOT > & _arch)\fC [inline, virtual]\fP" +.PP +Apply the local search until a local archive does not change or another stopping criteria is met and update the archive _arch with new non-dominated solutions. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the initial population +.br +\fI_arch\fP the (updated) archive +.RE +.PP + +.PP +Implements \fBeoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >\fP. +.PP +Definition at line 73 of file moeoIBMOLS.h. +.PP +References moeoIBMOLS< MOEOT, Move >::continuator, moeoArchive< MOEOT >::equals(), moeoIBMOLS< MOEOT, Move >::fitnessAssignment, moeoIBMOLS< MOEOT, Move >::oneStep(), and moeoArchive< MOEOT >::update(). +.SS "template void \fBmoeoIBMOLS\fP< MOEOT, Move >::oneStep (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, private]\fP" +.PP +Apply one step of the local search to the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 120 of file moeoIBMOLS.h. +.PP +References moeoIBMOLS< MOEOT, Move >::continuator, moeoIBMOLS< MOEOT, Move >::fitnessAssignment, moeoIBMOLS< MOEOT, Move >::moveIncrEval, moeoIBMOLS< MOEOT, Move >::moveInit, and moeoIBMOLS< MOEOT, Move >::nextMove. +.PP +Referenced by moeoIBMOLS< MOEOT, Move >::operator()(). +.SS "template void \fBmoeoIBMOLS\fP< MOEOT, Move >::new_oneStep (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, private]\fP" +.PP +Apply one step of the local search to the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 304 of file moeoIBMOLS.h. +.PP +References moeoIBMOLS< MOEOT, Move >::continuator, moeoIBMOLS< MOEOT, Move >::fitnessAssignment, moeoIBMOLS< MOEOT, Move >::moveIncrEval, moeoIBMOLS< MOEOT, Move >::moveInit, and moeoIBMOLS< MOEOT, Move >::nextMove. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/moeoIBMOLS_OneObjectiveComparator.3 b/trunk/paradiseo-moeo/doc/man/man3/moeoIBMOLS_OneObjectiveComparator.3 new file mode 100644 index 000000000..1323b146e --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/moeoIBMOLS_OneObjectiveComparator.3 @@ -0,0 +1,38 @@ +.TH "moeoIBMOLS::OneObjectiveComparator" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIBMOLS::OneObjectiveComparator \- +.SH SYNOPSIS +.br +.PP +Inherits \fBmoeoComparator< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBOneObjectiveComparator\fP (unsigned int _obj)" +.br +.ti -1c +.RI "const bool \fBoperator()\fP (const MOEOT &_moeo1, const MOEOT &_moeo2)" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "unsigned int \fBobj\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIBMOLS< MOEOT, Move >::OneObjectiveComparator" + +.PP +Definition at line 462 of file moeoIBMOLS.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/moeoIteratedIBMOLS.3 b/trunk/paradiseo-moeo/doc/man/man3/moeoIteratedIBMOLS.3 new file mode 100644 index 000000000..4ccf4fad5 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/moeoIteratedIBMOLS.3 @@ -0,0 +1,151 @@ +.TH "moeoIteratedIBMOLS" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoIteratedIBMOLS \- Iterated version of IBMOLS as described in Basseur M., Burke K. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoLS< MOEOT, eoPop< MOEOT > & >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type of objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoIteratedIBMOLS\fP (moMoveInit< Move > &_moveInit, moNextMove< Move > &_nextMove, \fBeoEvalFunc\fP< MOEOT > &_eval, \fBmoeoMoveIncrEval\fP< Move > &_moveIncrEval, \fBmoeoBinaryIndicatorBasedFitnessAssignment\fP< MOEOT > &_fitnessAssignment, \fBeoContinue\fP< MOEOT > &_continuator, \fBeoMonOp\fP< MOEOT > &_monOp, \fBeoMonOp\fP< MOEOT > &_randomMonOp, unsigned int _nNoiseIterations=1)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop, \fBmoeoArchive\fP< MOEOT > &_arch)" +.br +.RI "\fIApply the local search iteratively until the stopping criteria is met. \fP" +.in -1c +.SS "Private Member Functions" + +.in +1c +.ti -1c +.RI "void \fBgenerateNewSolutions\fP (\fBeoPop\fP< MOEOT > &_pop, const \fBmoeoArchive\fP< MOEOT > &_arch)" +.br +.RI "\fICreates new population randomly initialized and/or initialized from the archive _arch. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBmoeoIBMOLS\fP< MOEOT, Move > \fBibmols\fP" +.br +.RI "\fIthe local search to iterate \fP" +.ti -1c +.RI "\fBeoEvalFunc\fP< MOEOT > & \fBeval\fP" +.br +.RI "\fIthe full evaluation \fP" +.ti -1c +.RI "\fBeoContinue\fP< MOEOT > & \fBcontinuator\fP" +.br +.RI "\fIthe stopping criteria \fP" +.ti -1c +.RI "\fBeoMonOp\fP< MOEOT > & \fBmonOp\fP" +.br +.RI "\fIthe monary operator \fP" +.ti -1c +.RI "\fBeoMonOp\fP< MOEOT > & \fBrandomMonOp\fP" +.br +.RI "\fIthe random monary operator (or random initializer) \fP" +.ti -1c +.RI "unsigned int \fBnNoiseIterations\fP" +.br +.RI "\fIthe number of iterations to apply the random noise \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoIteratedIBMOLS< MOEOT, Move >" +Iterated version of IBMOLS as described in Basseur M., Burke K. + +: 'Indicator-Based Multi-Objective Local Search' (2007). +.PP +Definition at line 41 of file moeoIteratedIBMOLS.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoIteratedIBMOLS\fP< MOEOT, Move >::\fBmoeoIteratedIBMOLS\fP (moMoveInit< Move > & _moveInit, moNextMove< Move > & _nextMove, \fBeoEvalFunc\fP< MOEOT > & _eval, \fBmoeoMoveIncrEval\fP< Move > & _moveIncrEval, \fBmoeoBinaryIndicatorBasedFitnessAssignment\fP< MOEOT > & _fitnessAssignment, \fBeoContinue\fP< MOEOT > & _continuator, \fBeoMonOp\fP< MOEOT > & _monOp, \fBeoMonOp\fP< MOEOT > & _randomMonOp, unsigned int _nNoiseIterations = \fC1\fP)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_moveInit\fP the move initializer +.br +\fI_nextMove\fP the neighborhood explorer +.br +\fI_eval\fP the full evaluation +.br +\fI_moveIncrEval\fP the incremental evaluation +.br +\fI_fitnessAssignment\fP the fitness assignment strategy +.br +\fI_continuator\fP the stopping criteria +.br +\fI_monOp\fP the monary operator +.br +\fI_randomMonOp\fP the random monary operator (or random initializer) +.br +\fI_nNoiseIterations\fP the number of iterations to apply the random noise +.RE +.PP + +.PP +Definition at line 61 of file moeoIteratedIBMOLS.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoIteratedIBMOLS\fP< MOEOT, Move >::operator() (\fBeoPop\fP< MOEOT > & _pop, \fBmoeoArchive\fP< MOEOT > & _arch)\fC [inline, virtual]\fP" +.PP +Apply the local search iteratively until the stopping criteria is met. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the initial population +.br +\fI_arch\fP the (updated) archive +.RE +.PP + +.PP +Implements \fBeoBF< eoPop< MOEOT > &, moeoArchive< MOEOT > &, void >\fP. +.PP +Definition at line 86 of file moeoIteratedIBMOLS.h. +.PP +References moeoIteratedIBMOLS< MOEOT, Move >::continuator, moeoIteratedIBMOLS< MOEOT, Move >::generateNewSolutions(), moeoIteratedIBMOLS< MOEOT, Move >::ibmols, and moeoArchive< MOEOT >::update(). +.SS "template void \fBmoeoIteratedIBMOLS\fP< MOEOT, Move >::generateNewSolutions (\fBeoPop\fP< MOEOT > & _pop, const \fBmoeoArchive\fP< MOEOT > & _arch)\fC [inline, private]\fP" +.PP +Creates new population randomly initialized and/or initialized from the archive _arch. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the output population +.br +\fI_arch\fP the archive +.RE +.PP + +.PP +Definition at line 121 of file moeoIteratedIBMOLS.h. +.PP +References moeoIteratedIBMOLS< MOEOT, Move >::eval, eoPop< EOT >::invalidate(), moeoIteratedIBMOLS< MOEOT, Move >::monOp, moeoIteratedIBMOLS< MOEOT, Move >::nNoiseIterations, and moeoIteratedIBMOLS< MOEOT, Move >::randomMonOp. +.PP +Referenced by moeoIteratedIBMOLS< MOEOT, Move >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/moeoMoveIncrEval.3 b/trunk/paradiseo-moeo/doc/man/man3/moeoMoveIncrEval.3 new file mode 100644 index 000000000..3bbbf9481 --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/moeoMoveIncrEval.3 @@ -0,0 +1,21 @@ +.TH "moeoMoveIncrEval" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoMoveIncrEval \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoBF< A1, A2, R >< const const Move &, Move::EOType &, Move::EOType::ObjectiveVector >\fP. +.PP +.SH "Detailed Description" +.PP + +.SS "template class moeoMoveIncrEval< Move >" + +.PP +Definition at line 9 of file moeoMoveIncrEval.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/moeoReferencePointIndicatorBasedFitnessAssignment.3 b/trunk/paradiseo-moeo/doc/man/man3/moeoReferencePointIndicatorBasedFitnessAssignment.3 new file mode 100644 index 000000000..7b8c8dafc --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/moeoReferencePointIndicatorBasedFitnessAssignment.3 @@ -0,0 +1,155 @@ +.TH "moeoReferencePointIndicatorBasedFitnessAssignment" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +moeoReferencePointIndicatorBasedFitnessAssignment \- Fitness assignment sheme based a Reference Point and a Quality Indicator. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +Inherits \fBmoeoFitnessAssignment< MOEOT >< MOEOT >\fP. +.PP +.SS "Public Types" + +.in +1c +.ti -1c +.RI "typedef MOEOT::ObjectiveVector \fBObjectiveVector\fP" +.br +.RI "\fIThe type of objective vector. \fP" +.in -1c +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBmoeoReferencePointIndicatorBasedFitnessAssignment\fP (\fBObjectiveVector\fP &_refPoint, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > &_metric)" +.br +.RI "\fICtor. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness values for every solution contained in the population _pop. \fP" +.ti -1c +.RI "void \fBupdateByDeleting\fP (\fBeoPop\fP< MOEOT > &_pop, \fBObjectiveVector\fP &_objVec)" +.br +.RI "\fIUpdates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. \fP" +.in -1c +.SS "Protected Member Functions" + +.in +1c +.ti -1c +.RI "void \fBsetup\fP (const \fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the bounds for every objective using the min and the max value for every objective vector of _pop (and the reference point). \fP" +.ti -1c +.RI "void \fBsetFitnesses\fP (\fBeoPop\fP< MOEOT > &_pop)" +.br +.RI "\fISets the fitness of every individual contained in the population _pop. \fP" +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "\fBObjectiveVector\fP & \fBrefPoint\fP" +.br +.RI "\fIthe reference point \fP" +.ti -1c +.RI "\fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > & \fBmetric\fP" +.br +.RI "\fIthe quality indicator \fP" +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >" +Fitness assignment sheme based a Reference Point and a Quality Indicator. +.PP +Definition at line 25 of file moeoReferencePointIndicatorBasedFitnessAssignment.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBmoeoReferencePointIndicatorBasedFitnessAssignment\fP< MOEOT >::\fBmoeoReferencePointIndicatorBasedFitnessAssignment\fP (\fBObjectiveVector\fP & _refPoint, \fBmoeoNormalizedSolutionVsSolutionBinaryMetric\fP< \fBObjectiveVector\fP, double > & _metric)\fC [inline]\fP" +.PP +Ctor. +.PP +\fBParameters:\fP +.RS 4 +\fI_refPoint\fP the reference point +.br +\fI_metric\fP the quality indicator +.RE +.PP + +.PP +Definition at line 37 of file moeoReferencePointIndicatorBasedFitnessAssignment.h. +.SH "Member Function Documentation" +.PP +.SS "template void \fBmoeoReferencePointIndicatorBasedFitnessAssignment\fP< MOEOT >::operator() (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, virtual]\fP" +.PP +Sets the fitness values for every solution contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Implements \fBeoUF< eoPop< MOEOT > &, void >\fP. +.PP +Definition at line 46 of file moeoReferencePointIndicatorBasedFitnessAssignment.h. +.PP +References moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::setFitnesses(), and moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::setup(). +.SS "template void \fBmoeoReferencePointIndicatorBasedFitnessAssignment\fP< MOEOT >::updateByDeleting (\fBeoPop\fP< MOEOT > & _pop, \fBObjectiveVector\fP & _objVec)\fC [inline, virtual]\fP" +.PP +Updates the fitness values of the whole population _pop by taking the deletion of the objective vector _objVec into account. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.br +\fI_objVec\fP the objective vector +.RE +.PP + +.PP +Implements \fBmoeoFitnessAssignment< MOEOT >\fP. +.PP +Definition at line 60 of file moeoReferencePointIndicatorBasedFitnessAssignment.h. +.SS "template void \fBmoeoReferencePointIndicatorBasedFitnessAssignment\fP< MOEOT >::setup (const \fBeoPop\fP< MOEOT > & _pop)\fC [inline, protected]\fP" +.PP +Sets the bounds for every objective using the min and the max value for every objective vector of _pop (and the reference point). +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 78 of file moeoReferencePointIndicatorBasedFitnessAssignment.h. +.PP +References moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::metric, moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::refPoint, and moeoNormalizedSolutionVsSolutionBinaryMetric< ObjectiveVector, R >::setup(). +.PP +Referenced by moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::operator()(). +.SS "template void \fBmoeoReferencePointIndicatorBasedFitnessAssignment\fP< MOEOT >::setFitnesses (\fBeoPop\fP< MOEOT > & _pop)\fC [inline, protected]\fP" +.PP +Sets the fitness of every individual contained in the population _pop. +.PP +\fBParameters:\fP +.RS 4 +\fI_pop\fP the population +.RE +.PP + +.PP +Definition at line 99 of file moeoReferencePointIndicatorBasedFitnessAssignment.h. +.PP +References moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::metric, and moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::refPoint. +.PP +Referenced by moeoReferencePointIndicatorBasedFitnessAssignment< MOEOT >::operator()(). + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code. diff --git a/trunk/paradiseo-moeo/doc/man/man3/peoEA.3 b/trunk/paradiseo-moeo/doc/man/man3/peoEA.3 new file mode 100644 index 000000000..8025ecfaa --- /dev/null +++ b/trunk/paradiseo-moeo/doc/man/man3/peoEA.3 @@ -0,0 +1,107 @@ +.TH "peoEA" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-MOEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoEA \- The \fBpeoEA\fP class offers an elementary evolutionary algorithm implementation. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include \fP +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBpeoEA\fP (\fBeoContinue\fP< EOT > &__cont, peoPopEval< EOT > &__pop_eval, \fBeoSelect\fP< EOT > &__select, peoTransform< EOT > &__trans, \fBeoReplacement\fP< EOT > &__replace)" +.br +.RI "\fIConstructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism. \fP" +.ti -1c +.RI "void \fBrun\fP ()" +.br +.RI "\fIEvolutionary algorithm function - a side effect of the fact that the class is derived from the \fBRunner\fP class, thus requiring the existence of a \fIrun\fP function, the algorithm being executed on a distinct thread. \fP" +.ti -1c +.RI "void \fBoperator()\fP (\fBeoPop\fP< EOT > &__pop)" +.br +.RI "\fI\fBFunction\fP operator for specifying the population to be associated with the algorithm. \fP" +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoContinue\fP< EOT > & \fBcont\fP" +.br +.ti -1c +.RI "peoPopEval< EOT > & \fBpop_eval\fP" +.br +.ti -1c +.RI "\fBeoSelect\fP< EOT > & \fBselect\fP" +.br +.ti -1c +.RI "peoTransform< EOT > & \fBtrans\fP" +.br +.ti -1c +.RI "\fBeoReplacement\fP< EOT > & \fBreplace\fP" +.br +.ti -1c +.RI "\fBeoPop\fP< EOT > * \fBpop\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class peoEA< EOT >" +The \fBpeoEA\fP class offers an elementary evolutionary algorithm implementation. + +In addition, as compared with the algorithms provided by the \fBEO\fP framework, the \fBpeoEA\fP class has the underlying necessary structure for including, for example, parallel evaluation and parallel transformation operators, migration operators etc. Although there is no restriction on using the algorithms provided by the \fBEO\fP framework, the drawback resides in the fact that the \fBEO\fP implementation is exclusively sequential and, in consequence, no parallelism is provided. A simple example for constructing a \fBpeoEA\fP object: +.PP +... eoPop< EOT > population( POP_SIZE, popInitializer ); // creation of a population with POP_SIZE individuals - the popInitializer is a functor to be called for each individual eoGenContinue< EOT > eaCont( NUM_GEN ); // number of generations for the evolutionary algorithm eoCheckPoint< EOT > eaCheckpointContinue( eaCont ); // checkpoint incorporating the continuation criterion - startpoint for adding other checkpoint objects peoSeqPopEval< EOT > eaPopEval( evalFunction ); // sequential evaluation functor wrapper - evalFunction represents the actual evaluation functor eoRankingSelect< EOT > selectionStrategy; // selection strategy for creating the offspring population - a simple ranking selection in this case eoSelectNumber< EOT > eaSelect( selectionStrategy, POP_SIZE ); // the number of individuals to be selected for creating the offspring population eoRankingSelect< EOT > selectionStrategy; // selection strategy for creating the offspring population - a simple ranking selection in this case eoSGATransform< EOT > transform( crossover, CROSS_RATE, mutation, MUT_RATE ); // transformation operator - crossover and mutation operators with their associated probabilities peoSeqTransform< EOT > eaTransform( transform ); // ParadisEO specific sequential operator - a parallel version may be specified in the same manner eoPlusReplacement< EOT > eaReplace; // replacement strategy - for integrating the offspring resulting individuals in the initial population peoEA< EOT > eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace ); // ParadisEO evolutionary algorithm integrating the above defined objects eaAlg( population ); // specifying the initial population for the algorithm ... +.PP +Definition at line 54 of file pmoeoEA.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "template \fBpeoEA\fP< EOT >::\fBpeoEA\fP (\fBeoContinue\fP< EOT > & __cont, peoPopEval< EOT > & __pop_eval, \fBeoSelect\fP< EOT > & __select, peoTransform< EOT > & __trans, \fBeoReplacement\fP< EOT > & __replace)" +.PP +Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism. +.PP +Depending on the requirements, a sequential or a parallel evaluation operator may be specified or, in the same manner, a sequential or a parallel transformation operator may be given as parameter. Out of the box objects may be provided, from the \fBEO\fP package, for example, or custom defined ones may be specified, provided that they are derived from the correct base classes. +.PP +\fBParameters:\fP +.RS 4 +\fIeoContinue<\fP EOT >& __cont - continuation criterion specifying whether the algorithm should continue or not; +.br +\fIpeoPopEval<\fP EOT >& __pop_eval - evaluation operator; it allows the specification of parallel evaluation operators, aggregate evaluation functions, etc.; +.br +\fIeoSelect<\fP EOT >& __select - selection strategy to be applied for constructing a list of offspring individuals; +.br +\fIpeoTransform<\fP EOT >& __trans - transformation operator, i.e. crossover and mutation; allows for sequential or parallel transform; +.br +\fIeoReplacement<\fP EOT >& __replace - replacement strategy for integrating the offspring individuals in the initial population; +.RE +.PP + +.PP +Definition at line 98 of file pmoeoEA.h. +.PP +References peoEA< EOT >::pop_eval, and peoEA< EOT >::trans. +.SH "Member Function Documentation" +.PP +.SS "template void \fBpeoEA\fP< EOT >::operator() (\fBeoPop\fP< EOT > & __pop)" +.PP +\fBFunction\fP operator for specifying the population to be associated with the algorithm. +.PP +\fBParameters:\fP +.RS 4 +\fIeoPop<\fP EOT >& __pop - initial population of the algorithm, to be iteratively evolved; +.RE +.PP + +.PP +Definition at line 114 of file pmoeoEA.h. +.PP +References peoEA< EOT >::pop. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-MOEOMovingObjects from the source code.