[Paradiseo-help] an error using NSGA-II and eoGEnContinue class

Manuel Chica Serrano manuel.chica at softcomputing.es
Lun 28 Avr 17:26:06 CEST 2008


Hi all,

I am using Paradiseo 1.0 to develop an NSGA-II algorithm with an order
coding. I can compile and run the program by considering the maximum number
of generations
as the stopping criteria. This is my NSGA-II declaration:

moeoNSGAII <Tsalbp> nsgaII (MAX_GEN, eval, *cross, P_CROSS, *mut, P_MUT);
// Tsalbp is my representation classname

However, I want to use a time limit to stop the algorithm execution. As it
is written in the documentation, I use an eoContinue class to
specify the stopping criteria:

eoContinue<Tsalbp>& term = do_make_continue_tsalbp(MAX_TIME, MAX_GEN);

and a eoGenOp to ensamble all the genetic operators:

eoGenOp<Tsalbp>& op = do_make_op(precedencias, P_CROSS, P_MUT);

But I am not able to compile the code. The following error messages appear:

--/workspace/tsalbp_moea/main.cpp:120:   instantiated from here
--/paradiseo-ix86-1.0-beta/paradiseo-moeo/src/algo/moeoNSGAII.h:90: error:
no matching function for call to `eoGenContinue<Tsalbp>::eoGenContinue()'
--/paradiseo-ix86-1.0-beta/paradiseo-eo/src/eoGenContinue.h:35: note:
candidates are: eoGenContinue<Tsalbp>::eoGenContinue(const
eoGenContinue<Tsalbp>&)
--/paradiseo-ix86-1.0-beta/paradiseo-eo/src/eoGenContinue.h:47:
note:                 eoGenContinue<EOT>::eoGenContinue(long unsigned int,
long unsigned int&) [with EOT = Tsalbp]
--/paradiseo-ix86-1.0-beta/paradiseo-eo/src/eoGenContinue.h:40:
note:                 eoGenContinue<EOT>::eoGenContinue(long unsigned int)
[with EOT = Tsalbp]

--/workspace/tsalbp_moea/main.cpp:120:   instantiated from here
--/paradiseo-ix86-1.0-beta/paradiseo-moeo/src/algo/moeoNSGAII.h:90: error:
no matching function for call to `eoSGAGenOp<Tsalbp>::eoSGAGenOp()'
--/paradiseo-ix86-1.0-beta/paradiseo-eo/src/eoSGAGenOp.h:45: note:
candidates are: eoSGAGenOp<Tsalbp>::eoSGAGenOp(const eoSGAGenOp<Tsalbp>&)
--/paradiseo-ix86-1.0-beta/paradiseo-eo/src/eoSGAGenOp.h:54:
note:                 eoSGAGenOp<EOT>::eoSGAGenOp(eoQuadOp<EOT>&, double,
eoMonOp<EOT>&, double) [with EOT = Tsalbp]

Perhaps there is a problem with the NSGAII class and the link between the
constructor and the different configuration classes (eoGenContinue and
eoGenOp).
Could anybody give me a hand with this problem??

Thanks in advance,

Best regards.
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.gforge.inria.fr/pipermail/paradiseo-help/attachments/20080428/2bc4b3b3/attachment.html>


Plus d'informations sur la liste de diffusion Paradiseo-help