From fa8f3a7897352c97b526facb61c8f8e92f537ee3 Mon Sep 17 00:00:00 2001 From: jhumeau Date: Wed, 3 Feb 2010 17:20:45 +0000 Subject: [PATCH] moveApplied added git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1681 331e1502-861f-0410-8da2-ba01fb791d7f --- branches/newMo/src/algo/moLocalSearch.h | 53 +++++++++++++------------ 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/branches/newMo/src/algo/moLocalSearch.h b/branches/newMo/src/algo/moLocalSearch.h index c28f8b927..db524d9a9 100644 --- a/branches/newMo/src/algo/moLocalSearch.h +++ b/branches/newMo/src/algo/moLocalSearch.h @@ -65,34 +65,37 @@ public: if(_solution.invalid()) fullEval(_solution); - // initialization of the parameter of the search (for example fill empty the tabu list) - searchExplorer.initParam(_solution); + // initialization of the parameter of the search (for example fill empty the tabu list) + searchExplorer.initParam(_solution); - // initialization of the external continuator (for example the time, or the number of generations) - continuator.init(_solution); + // initialization of the external continuator (for example the time, or the number of generations) + continuator.init(_solution); - bool b=continuator(_solution); + bool b=continuator(_solution); - do { - // explore the neighborhood of the solution - searchExplorer(_solution); - - // if a solution in the neighborhood can be accepted - if (searchExplorer.accept(_solution)) - searchExplorer.move(_solution); - - // update the parameter of the search (for ex. Temperature of the SA) - searchExplorer.updateParam(_solution); - - b=continuator(_solution); - } while (b && searchExplorer.isContinue(_solution)); - - searchExplorer.terminate(_solution); - - continuator.lastCall(_solution); - - //A CHANGER - return true; + do { + // explore the neighborhood of the solution + searchExplorer(_solution); + // if a solution in the neighborhood can be accepted + if (searchExplorer.accept(_solution)){ + searchExplorer.move(_solution); + searchExplorer.moveApplied(true); + } + else + searchExplorer.moveApplied(false); + + // update the parameter of the search (for ex. Temperature of the SA) + searchExplorer.updateParam(_solution); + + b=continuator(_solution); + } while (b && searchExplorer.isContinue(_solution)); + + searchExplorer.terminate(_solution); + + continuator.lastCall(_solution); + + //A CHANGER + return true; };