diff --git a/eo/src/eoSGAGenOp.h b/eo/src/eoSGAGenOp.h index 262e662b..35c31cd6 100644 --- a/eo/src/eoSGAGenOp.h +++ b/eo/src/eoSGAGenOp.h @@ -87,55 +87,5 @@ class eoSGAGenOp : public eoGenOp eoSequentialOp op; }; -/** *************************************************************************** - * eoASGAGenOp (for Almost Simple GE) mimicks proportional application of - * one crossover and one mutation, together with a clone operator, each one - * with relative weights. - * This is the other almost-standard application of variation operators - * (see eoSGAGenOp for the completely standard). - *****************************************************************************/ -template -class eoASGAGenOp : public eoGenOp -{ - public: - - /** Ctor from crossover (with proba) and mutation (with proba) - * Builds the sequential op that first applies a proportional choice - * between the crossover and nothing (cloning), then the mutation - */ - eoASGAGenOp(eoQuadOp& _cross, double _pCross, - eoMonOp& _mut, double _pMut, double _pCopy) - : cross(_cross), - pCross(_pCross), - mut(_mut), - pMut(_pMut), - pCopy(_pCopy) - { - op.add(cross, pCross); // crossover, with proba pcross - op.add(quadClone, pCopy); // nothing, with proba pCopy - op.add(mut, pMut); // mutation, with proba pmut - } - - /** do the job: delegate to op */ - virtual void apply(eoPopulator& _pop) - { - op.apply(_pop); - } - - /** inherited from eoGenOp */ - virtual unsigned max_production(void) {return 2;} - - virtual string className() const {return "eoASGAGenOp";} - - - private: - eoQuadOp ✗ // eoInvalidateXXX take the boolean output - double pCross; - eoMonOp & mut; // of the XXX op and invalidate the EOT - double pMut; - eoMonCloneOp monClone; - eoProportionalOp op; -}; - #endif