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

This commit is contained in:
jhumeau 2009-03-13 09:48:48 +00:00
commit bfd7f7a6cc
2 changed files with 122 additions and 15 deletions

View file

@ -65,22 +65,26 @@ public:
void operator()(eoPop < MOEOT > & _src, std::vector<unsigned int> & _select, eoPop < MOEOT > & _dest)
{
for(unsigned int i=0; i<_select.size(); i++){
moveInit(move, _src[_select[i]]);
do
{
objVec = incrEval(move, _src[_select[i]]);
_dest.push_back(_src[_select[i]]);
move(_dest.back());
_dest.back().objectiveVector(objVec);
_dest.back().flag(0);
}
while (nextMove(move, _src[_select[i]]));
_src[_select[i]].flag(1);
}
for(unsigned int i=0; i<_select.size(); i++)
explore(_src, _select[i], _dest);
}
private:
void explore(eoPop < MOEOT > & _src, unsigned int _i, eoPop < MOEOT > & _dest)
{
moveInit(move, _src[_i]);
do
{
objVec = incrEval(move, _src[_i]);
_dest.push_back(_src[_i]);
move(_dest.back());
_dest.back().objectiveVector(objVec);
_dest.back().flag(0);
}
while (nextMove(move, _src[_i]));
_src[_i].flag(1);
}
/** Move */
Move move;
/** ObjectiveVector */
@ -91,8 +95,6 @@ private:
moNextMove < Move > & nextMove;
/** the incremental evaluation */
moMoveIncrEval < Move, ObjectiveVector > & incrEval;
/** comparator */
moeoParetoObjectiveVectorComparator<ObjectiveVector> comparator;
};