From f37356d18a9ede2ee25cee1e9b3046c426c3fec4 Mon Sep 17 00:00:00 2001 From: jboisson Date: Thu, 20 Sep 2007 14:08:55 +0000 Subject: [PATCH] moHC.h and iterated_local_search.cpp are updated git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@607 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-mo/src/moHC.h | 1 - trunk/paradiseo-mo/src/moILS.h | 13 ++----- .../Lesson4/iterated_local_search.cpp | 36 +++---------------- 3 files changed, 8 insertions(+), 42 deletions(-) diff --git a/trunk/paradiseo-mo/src/moHC.h b/trunk/paradiseo-mo/src/moHC.h index 30d82ed00..e69ebbb83 100755 --- a/trunk/paradiseo-mo/src/moHC.h +++ b/trunk/paradiseo-mo/src/moHC.h @@ -12,7 +12,6 @@ #ifndef __moHC_h #define __moHC_h -#include #include #include "moAlgo.h" diff --git a/trunk/paradiseo-mo/src/moILS.h b/trunk/paradiseo-mo/src/moILS.h index be88ebb59..4c1eed68e 100644 --- a/trunk/paradiseo-mo/src/moILS.h +++ b/trunk/paradiseo-mo/src/moILS.h @@ -123,20 +123,17 @@ public: cont.init (); //some code has been duplicated in order to avoid one perturbation and one evaluation without adding a test in the loop. + // better than a do {} while; with a test in the loop. - //std::cout << "Before intensification: " << __sol.fitness() << std::endl; algo(__sol); - //std::cout << "After intensification: " << __sol.fitness() << std::endl; - + if(acceptance_criterion(__sol, __sol_saved)) { - std::cout << "Accepted: " << __sol.fitness() << std::endl; __sol_saved=__sol; } else { - //std::cout << "Refused" << std::endl; __sol=__sol_saved; } @@ -145,18 +142,14 @@ public: perturbation(__sol); full_eval(__sol); - //std::cout << "Before intensification: " << __sol.fitness() << std::endl; algo(__sol); - //std::cout << "After intensification: " << __sol.fitness() << std::endl; - + if(acceptance_criterion(__sol, __sol_saved)) { - std::cout << "Accepted: " << __sol.fitness() << std::endl; __sol_saved=__sol; } else { - //std::cout << "Refused" << std::endl; __sol=__sol_saved; } } diff --git a/trunk/paradiseo-mo/tutorial/Lesson4/iterated_local_search.cpp b/trunk/paradiseo-mo/tutorial/Lesson4/iterated_local_search.cpp index f18a4b3ab..699328d56 100644 --- a/trunk/paradiseo-mo/tutorial/Lesson4/iterated_local_search.cpp +++ b/trunk/paradiseo-mo/tutorial/Lesson4/iterated_local_search.cpp @@ -20,8 +20,6 @@ #include #include #include -#include -#include #include @@ -46,46 +44,22 @@ main (int __argc, char * __argv []) std :: cout << "[From] " << route << std :: endl ; - /* Tools for an efficient (? :-)) - local search ! */ - TwoOptInit two_opt_init ; // Init. TwoOptNext two_opt_next ; // Explorer. TwoOptIncrEval two_opt_incr_eval ; // Eff. eval. - moBestImprSelect two_opt_select ; + moBestImprSelect two_opt_select ; //Move selection - //moHC hill_climbing (two_opt_init, two_opt_next, two_opt_incr_eval, two_opt_select, full_eval) ; - - moGenSolContinue cont (1000) ; + moGenSolContinue cont (1000) ; //Stopping criterion - moFitComparator comparator; + moFitComparator comparator; // Route comparator - CitySwap perturbation; + CitySwap perturbation; // Route perturbation - //moILS iterated_local_search (hill_climbing, cont, comparator, perturbation, full_eval) ; - //moILS iterated_local_search (two_opt_init, two_opt_next, two_opt_incr_eval, - // two_opt_select, cont, comparator, perturbation, full_eval) ; - - moGenSolContinue ts_cont (100) ; - - TwoOptTabuList tabu_list ; // Tabu List - moNoAspirCrit aspir_crit ; // Aspiration Criterion - - //moILS iterated_local_search (two_opt_init, two_opt_next, two_opt_incr_eval, tabu_list, aspir_crit, ts_cont, - // cont, comparator, perturbation, full_eval) ; - - TwoOptRand two_opt_rand ; // Route Random. Gen. - - moExponentialCoolingSchedule cool_sched (0.1, 0.98) ; // Exponential Cooling Schedule - - moGenSolContinue sa_cont (100) ; - - moILS iterated_local_search (two_opt_rand, two_opt_incr_eval, sa_cont, 100, cool_sched, + moILS iterated_local_search (two_opt_init, two_opt_next, two_opt_incr_eval, two_opt_select, cont, comparator, perturbation, full_eval) ; - iterated_local_search(route) ; std :: cout << "[To] " << route << std :: endl ;