git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1548 331e1502-861f-0410-8da2-ba01fb791d7f

This commit is contained in:
jhumeau 2009-03-13 15:19:07 +00:00
commit 8cccba1442
7 changed files with 16 additions and 8 deletions

View file

@ -63,7 +63,7 @@ public:
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval){}
void operator()(eoPop < MOEOT > & _src, std::vector<unsigned int> & _select, eoPop < MOEOT > & _dest)
void operator()(eoPop < MOEOT > & _src, std::vector < unsigned int> _select, eoPop < MOEOT > & _dest)
{
for(unsigned int i=0; i<_select.size(); i++)
explore(_src, _select[i], _dest);

View file

@ -63,7 +63,7 @@ public:
if (_src[i].flag() == 0)
res.push_back(i);
}
if(_number < res.size()){
if(number < res.size()){
UF_random_generator<unsigned int> rndGen;
std::random_shuffle(res.begin(), res.end(), rndGen);
res.resize(number);

View file

@ -46,6 +46,11 @@
* TODO
*/
template < class Move >
class moeoPopNeighborhoodExplorer{};
class moeoPopNeighborhoodExplorer{
public:
virtual void operator()(eoPop < typename Move::EOType > &, std::vector <unsigned int>, eoPop < typename Move::EOType > &) = 0;
};
#endif /*MOEONEIGHBORHOODEXPLORER_H_*/

View file

@ -45,6 +45,7 @@
#include <moeoUnifiedDominanceBasedLS.h>
#include <moeoNewArchive.h>
#include <moeoPopNeighborhoodExplorer.h>
#include <moeoUnvisitedSelect.h>
template < class Move >
class moeoRestartLS : public moeoPopLS < Move >
@ -58,7 +59,7 @@ public:
eoEvalFunc < MOEOT > & _eval,
eoContinue < MOEOT > & _continuator,
moeoPopNeighborhoodExplorer < Move > & _explorer,
moeoUnivisitedSelection < Move > & _select,
moeoUnvisitedSelect < Move > & _select,
moeoArchive < MOEOT > & _globalArchive,
std::string _fileName) :
init(_init), eval(_eval), continuator(_continuator), ls(continuator, _eval, internalArchive, _explorer, _select), globalArchive(_globalArchive), fileName(_fileName), count(0) {}

View file

@ -64,7 +64,7 @@ public:
unsigned int _number)
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval), number(_number){}
void operator()(eoPop < MOEOT > & _src, std::vector<unsigned int> & _select, eoPop < MOEOT > & _dest)
void operator()(eoPop < MOEOT > & _src, std::vector <unsigned int> _select, eoPop < MOEOT > & _dest)
{
if(number > 0){
for(unsigned int i=0; i<_select.size(); i++)
@ -74,7 +74,7 @@ public:
private:
void explore(eoPop < MOEOT > & _src, unsigned int _i, eoPop < MOEOT > & _dest, unsigned int _number)
void explore(eoPop < MOEOT > & _src, unsigned int _i, eoPop < MOEOT > & _dest)
{
unsigned int tmp = number;
moveInit(move, _src[_i]);

View file

@ -43,6 +43,7 @@
#include <moeo>
#include <moeoPopLS.h>
#include <moeoPopNeighborhoodExplorer.h>
#include <moeoUnvisitedSelect.h>
template < class Move >
class moeoUnifiedDominanceBasedLS : public moeoPopLS < Move >
@ -56,7 +57,7 @@ public:
eoContinue < MOEOT > & _continuator,
eoEvalFunc < MOEOT > & _eval,
moeoArchive < MOEOT > & _archive,
moeoPopNeighborhoodExplorer < Move > & _explorer
moeoPopNeighborhoodExplorer < Move > & _explorer,
moeoUnvisitedSelect < Move > & _select) :
continuator(_continuator), loopEval(_eval), popEval(loopEval), archive(_archive), explorer(_explorer), select(_select) {}
@ -76,6 +77,7 @@ public:
//selection des individus non visités à explorer
selectionVector = select(archive);
//exploration
//explorer(archive, selectionVector, tmp_pop);
explorer(archive, selectionVector, tmp_pop);
//mise à jour de la pop ou archive
archive(tmp_pop);

View file

@ -46,6 +46,6 @@
* TODO
*/
template < class Move >
class moeoUnvisitedSelect{};
class moeoUnvisitedSelect: public eoUF < eoPop < typename Move::EOType> &, std::vector< unsigned int > >{};
#endif /*MOEOUNVISITEDSELECT_H_*/