VNS modified

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1923 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
jhumeau 2010-08-27 12:34:42 +00:00
commit c39c51efd7
3 changed files with 13 additions and 13 deletions

View file

@ -64,8 +64,8 @@ public:
*/ */
virtual void init(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){ virtual void init(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){
current=LSvector.size()-1; current=LSvector.size()-1;
_ls=LSvector[current]; _ls= *(LSvector[current]);
_shake = shakeVector[current]; _shake = *(shakeVector[current]);
} }
/** /**
@ -73,8 +73,8 @@ public:
*/ */
virtual void next(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){ virtual void next(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){
current= (current + LSvector.size() -1) % LSvector.size(); current= (current + LSvector.size() -1) % LSvector.size();
_ls=LSvector[current]; _ls= *(LSvector[current]);
_shake = shakeVector[current]; _shake = *(shakeVector[current]);
} }
private: private:

View file

@ -64,8 +64,8 @@ public:
*/ */
virtual void init(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){ virtual void init(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){
current=0; current=0;
_ls = LSvector[current]; _ls = *(LSvector[current]);
_shake = shakeVector[current]; _shake = *(shakeVector[current]);
} }
/** /**
@ -73,8 +73,8 @@ public:
*/ */
virtual void next(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){ virtual void next(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){
current = (current+1) % LSvector.size(); current = (current+1) % LSvector.size();
_ls = LSvector[current]; _ls = *(LSvector[current]);
_shake = shakeVector[current]; _shake = *(shakeVector[current]);
} }
private: private:

View file

@ -69,11 +69,11 @@ public:
if(order.size()==0){ if(order.size()==0){
for(unsigned int i=0; i<LSvector.size(); i++) for(unsigned int i=0; i<LSvector.size(); i++)
order.push_back(i); order.push_back(i);
std::random_shuffle(order.begin(), order.end(),gen);
} }
std::random_shuffle(order.begin(), order.end(),gen);
current=0; current=0;
_ls=LSvector[order[current]]; _ls=*(LSvector[order[current]]);
_shake=shakeVector[order[current]]; _shake=*(shakeVector[order[current]]);
} }
/** /**
@ -81,8 +81,8 @@ public:
*/ */
virtual void next(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){ virtual void next(EOT& _solution, eoMonOp<EOT>& _shake, eoMonOp<EOT>& _ls){
current= (current+1) % LSvector.size(); current= (current+1) % LSvector.size();
_ls=LSvector[order[current]]; _ls=*(LSvector[order[current]]);
_shake=shakeVector[order[current]]; _shake=*(shakeVector[order[current]]);
} }
private: private: