Important (a discuter) : remplacement du dummyNeighbor par un template dans moExplorer

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1899 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
verel 2010-07-28 13:04:31 +00:00
commit 66bcbe8333

View file

@ -41,20 +41,26 @@
#include <algo/moLocalSearch.h> #include <algo/moLocalSearch.h>
#include <perturb/moPerturbation.h> #include <perturb/moPerturbation.h>
#include <acceptCrit/moAcceptanceCriterion.h> #include <acceptCrit/moAcceptanceCriterion.h>
#include <neighborhood/moDummyNeighborhood.h> //#include <neighborhood/moDummyNeighborhood.h>
#include <neighborhood/moDummyNeighbor.h> //#include <neighborhood/moDummyNeighbor.h>
/** /**
* Explorer for an Iterated Local Search * Explorer for an Iterated Local Search
*/ */
template< class Neighbor >
class moILSexplorer : public moNeighborhoodExplorer< moDummyNeighbor<typename Neighbor::EOT> > //template< class Neighbor >
//class moILSexplorer : public moNeighborhoodExplorer< moDummyNeighbor<typename Neighbor::EOT> >
template< class Neighbor, class NeighborLO >
class moILSexplorer : public moNeighborhoodExplorer< NeighborLO >
{ {
public: public:
typedef moNeighborhood<Neighbor> Neighborhood ; typedef moNeighborhood<Neighbor> Neighborhood ;
typedef typename Neighbor::EOT EOT; typedef typename Neighbor::EOT EOT;
typedef moDummyNeighbor<EOT> dummyNeighbor; typedef moNeighborhood<NeighborLO> NeighborhoodLO;
typedef moDummyNeighborhood<dummyNeighbor> dummyNeighborhood;
//typedef moDummyNeighbor<EOT> dummyNeighbor;
//typedef moDummyNeighborhood<dummyNeighbor> dummyNeighborhood;
/** /**
* Constructor * Constructor
@ -62,7 +68,7 @@ public:
* @param _perturb a perturbation operator * @param _perturb a perturbation operator
* @param _acceptCrit a acceptance criteria * @param _acceptCrit a acceptance criteria
*/ */
moILSexplorer(moLocalSearch<Neighbor>& _ls, moPerturbation<Neighbor>& _perturb, moAcceptanceCriterion<Neighbor>& _acceptCrit) : moNeighborhoodExplorer<dummyNeighbor>(), ls(_ls), perturb(_perturb), acceptCrit(_acceptCrit) { moILSexplorer(moLocalSearch<Neighbor>& _ls, moPerturbation<Neighbor>& _perturb, moAcceptanceCriterion<Neighbor>& _acceptCrit) : moNeighborhoodExplorer<NeighborLO>(), ls(_ls), perturb(_perturb), acceptCrit(_acceptCrit) {
firstIteration=true; firstIteration=true;
} }