git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1548 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
270d8ebf8c
commit
8cccba1442
7 changed files with 16 additions and 8 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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_*/
|
||||
|
|
|
|||
|
|
@ -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) {}
|
||||
|
|
|
|||
|
|
@ -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]);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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_*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue