ILS v1 :)

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1727 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
jhumeau 2010-03-29 15:58:25 +00:00
commit 6bb2a4a822
21 changed files with 330 additions and 60 deletions

View file

@ -63,7 +63,7 @@ typedef moDummyRndNeighborhood bitNeighborhood ;
typedef EO<int> Solution;
class moDummyNeighbor : public moNeighbor<Solution,int> {
class moDummyNeighborTest : public moNeighbor<Solution,int> {
public:
virtual void move(Solution & _solution) {}
};
@ -74,11 +74,11 @@ public:
virtual void moveBack(Solution & _solution) {}
};
class moDummyNeighborhood : public moNeighborhood<moDummyNeighbor> {
class moDummyNeighborhoodTest : public moNeighborhood<moDummyNeighborTest> {
public:
typedef moDummyNeighbor Neighbor;
typedef moDummyNeighborTest Neighbor;
moDummyNeighborhood():i(0),j(0) {}
moDummyNeighborhoodTest():i(0),j(0) {}
virtual bool hasNeighbor(EOT & _solution) {
bool res;
@ -100,7 +100,7 @@ private:
int i,j;
};
class moDummyEval: public eoEvalFunc<Solution> {
class moDummyEvalTest: public eoEvalFunc<Solution> {
public:
void operator()(Solution& _sol) {
if (_sol.invalid())

View file

@ -45,11 +45,11 @@ int main() {
std::cout << "[t-moFullEvalByCopy] => START" << std::endl;
Solution sol;
moDummyNeighbor neighbor;
moDummyEval eval;
moDummyNeighborTest neighbor;
moDummyEvalTest eval;
//verif constructor
moFullEvalByCopy<moDummyNeighbor> test(eval);
moFullEvalByCopy<moDummyNeighborTest> test(eval);
sol.fitness(3);

View file

@ -46,7 +46,7 @@ int main() {
Solution sol;
moDummyBackableNeighbor neighbor;
moDummyEval eval;
moDummyEvalTest eval;
//verif constructor
moFullEvalByModif<moDummyBackableNeighbor> test(eval);

View file

@ -42,7 +42,7 @@ int main() {
std::cout << "[t-moNeighbor] => START" << std::endl;
//test constructor
moDummyNeighbor test1, test2;
moDummyNeighborTest test1, test2;
test1.fitness(3);
//test operateur d'affectation
@ -50,7 +50,7 @@ int main() {
assert(test1.fitness()==test2.fitness());
//test operateur de copy
moDummyNeighbor test3(test1);
moDummyNeighborTest test3(test1);
assert(test1.fitness()==test3.fitness());
test1.printOn(std::cout);

View file

@ -48,15 +48,15 @@ int main() {
std::cout << "[t-moSimpleHCexplorer] => START" << std::endl;
Solution sol;
moDummyNeighbor neighbor;
moDummyEval eval;
moDummyNeighborhood nh;
moFullEvalByCopy<moDummyNeighbor> fulleval(eval);
moNeighborComparator<moDummyNeighbor> comp;
moSolNeighborComparator<moDummyNeighbor> solNeighborComp;
moDummyNeighborTest neighbor;
moDummyEvalTest eval;
moDummyNeighborhoodTest nh;
moFullEvalByCopy<moDummyNeighborTest> fulleval(eval);
moNeighborComparator<moDummyNeighborTest> comp;
moSolNeighborComparator<moDummyNeighborTest> solNeighborComp;
//verif constructor
moSimpleHCexplorer<moDummyNeighborhood> test(nh, fulleval, comp, solNeighborComp);
moSimpleHCexplorer<moDummyNeighborhoodTest> test(nh, fulleval, comp, solNeighborComp);
//verif operator() et accept: le neigorhood est construit pour qu'on tombe dans les 3 cas suivants:
//hasNeighbor() retourne faux a l'entrée de l'operator() donc on doit pas continuer

View file

@ -43,7 +43,7 @@ int main() {
std::cout << "[t-moTrueContinuator] => START" << std::endl;
moTrueContinuator<moDummyNeighborhood> test;
moTrueContinuator<moDummyNeighborhoodTest> test;
Solution s;
assert(test(s));