From f5c3ea10be85d9d3058aa423da631412308f8274 Mon Sep 17 00:00:00 2001 From: liefooga Date: Fri, 10 Aug 2007 14:50:14 +0000 Subject: [PATCH] bug corrected while default constructing git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@591 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-moeo/src/algo/moeoNSGAII.h | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/trunk/paradiseo-moeo/src/algo/moeoNSGAII.h b/trunk/paradiseo-moeo/src/algo/moeoNSGAII.h index 60854860f..2f9178ffe 100644 --- a/trunk/paradiseo-moeo/src/algo/moeoNSGAII.h +++ b/trunk/paradiseo-moeo/src/algo/moeoNSGAII.h @@ -27,6 +27,9 @@ #include #include + +#include + /** * NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: * Deb, K., S. Agrawal, A. Pratap, and T. Meyarivan : "A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II". @@ -46,7 +49,8 @@ public: */ moeoNSGAII (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoGenOp < MOEOT > & _op) : defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select(2), - replace(fitnessAssignment, diversityAssignment), genBreed(select, _op), breed(genBreed) + replace(fitnessAssignment, diversityAssignment), defaultSGAGenOp(defaultQuadOp, 0.0, defaultMonOp, 0.0), + genBreed(select, _op), breed(genBreed) {} @@ -58,7 +62,8 @@ public: */ moeoNSGAII (unsigned int _maxGen, eoEvalFunc < MOEOT > & _eval, eoTransform < MOEOT > & _op) : defaultGenContinuator(_maxGen), continuator(defaultGenContinuator), popEval(_eval), select(2), - replace(fitnessAssignment, diversityAssignment), genBreed(select, _op), breed(genBreed) + replace(fitnessAssignment, diversityAssignment), defaultSGAGenOp(defaultQuadOp, 0.0, defaultMonOp, 0.0), + genBreed(select, _op), breed(genBreed) {} @@ -85,8 +90,9 @@ public: * @param _op variation operator */ moeoNSGAII (eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoGenOp < MOEOT > & _op) : - continuator(_continuator), popEval(_eval), select(2), - replace(fitnessAssignment, diversityAssignment), genBreed(select, _op), breed(genBreed) + defaultGenContinuator(0), continuator(_continuator), popEval(_eval), select(2), + replace(fitnessAssignment, diversityAssignment), defaultSGAGenOp(defaultQuadOp, 1.0, defaultMonOp, 1.0), + genBreed(select, _op), breed(genBreed) {} @@ -98,7 +104,8 @@ public: */ moeoNSGAII (eoContinue < MOEOT > & _continuator, eoEvalFunc < MOEOT > & _eval, eoTransform < MOEOT > & _op) : continuator(_continuator), popEval(_eval), select(2), - replace(fitnessAssignment, diversityAssignment), genBreed(select, _op), breed(genBreed) + replace(fitnessAssignment, diversityAssignment), defaultSGAGenOp(defaultQuadOp, 0.0, defaultMonOp, 0.0), + genBreed(select, _op), breed(genBreed) {} @@ -141,6 +148,10 @@ protected: moeoFrontByFrontCrowdingDiversityAssignment < MOEOT > diversityAssignment; /** elitist replacement */ moeoElitistReplacement < MOEOT > replace; + /** a default crossover */ + eoQuadCloneOp < MOEOT > defaultQuadOp; + /** a default mutation */ + eoMonCloneOp < MOEOT > defaultMonOp; /** an object for genetic operators (used as default) */ eoSGAGenOp < MOEOT > defaultSGAGenOp; /** general breeder */