From 4f804ac3184b770feb6e888459ad6d39678c2f78 Mon Sep 17 00:00:00 2001 From: jboisson Date: Wed, 19 Nov 2008 08:22:18 +0000 Subject: [PATCH] moILS has been updated to avoid initial solution without fitness git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1264 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-mo/src/moILS.h | 17 +++++++++-------- trunk/paradiseo-mo/src/moTSMoveLoopExpl.h | 2 ++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/trunk/paradiseo-mo/src/moILS.h b/trunk/paradiseo-mo/src/moILS.h index ed48907c2..11d5d5d9f 100644 --- a/trunk/paradiseo-mo/src/moILS.h +++ b/trunk/paradiseo-mo/src/moILS.h @@ -157,14 +157,15 @@ class moILS:public moAlgo < typename M::EOType > */ bool operator()(EOT & _solution) { - if ( _solution.invalid() ) - { - full_evaluation(_solution); - } - - EOT _solution_saved=_solution; - - + EOT _solution_saved; + + if ( _solution.invalid() ) + { + full_evaluation(_solution); + } + + _solution_saved=_solution; + continu.init (); // some code has been duplicated in order to avoid one perturbation and one evaluation without adding a test in the loop. diff --git a/trunk/paradiseo-mo/src/moTSMoveLoopExpl.h b/trunk/paradiseo-mo/src/moTSMoveLoopExpl.h index a11e2972b..9e78f85fe 100755 --- a/trunk/paradiseo-mo/src/moTSMoveLoopExpl.h +++ b/trunk/paradiseo-mo/src/moTSMoveLoopExpl.h @@ -107,6 +107,8 @@ class moTSMoveLoopExpl:public moMoveLoopExpl < M > move_selection.init( _old_solution.fitness() ); + selection_update_is_ok=true; + do { fitness = incremental_evaluation(move, _old_solution);