git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1720 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
jhumeau 2010-03-25 14:39:49 +00:00
commit 4d5b8db81e
23 changed files with 44 additions and 62 deletions

View file

@ -74,7 +74,7 @@ class moeoAchievementScalarizingFunctionMetricFitnessAssignment : public moeoSin
* @param _weight the weights applied to the objectives
* @param _eval a evalFunc to regenerate the objectiveVector if needed
*/
moeoAchievementScalarizingFunctionMetricFitnessAssignment(unsigned int _rho, ObjectiveVector& _reference, const ObjectiveVector& _weight, eoEvalFunc<MOEOT>& _eval): eval(_eval), normalizer(defaultNormalizer), distance(_rho, _weight), metric( distance, _reference, defaultNormalizer){}
moeoAchievementScalarizingFunctionMetricFitnessAssignment(unsigned int _rho, ObjectiveVector& _reference, const ObjectiveVector& _weight, eoEvalFunc<MOEOT>& _eval): normalizer(defaultNormalizer), eval(_eval), distance(_rho, _weight), metric( distance, _reference, defaultNormalizer){}
/**
* ctor with an evaluing fonction, applied if give moeot is invalid, and a noramlizer, applied to ObjectiveVectors
@ -92,7 +92,7 @@ class moeoAchievementScalarizingFunctionMetricFitnessAssignment : public moeoSin
* @param _reference the reference point
* @param _weight the weights applied to the objectives
*/
moeoAchievementScalarizingFunctionMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight) : eval(defaultEval), normalizer(defaultNormalizer), distance(_rho, _weight), metric(distance, _reference, defaultNormalizer){}
moeoAchievementScalarizingFunctionMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight) : normalizer(defaultNormalizer), eval(defaultEval), distance(_rho, _weight), metric(distance, _reference, defaultNormalizer){}
/**
* Sets the fitness values for a moeot
@ -131,16 +131,18 @@ class moeoAchievementScalarizingFunctionMetricFitnessAssignment : public moeoSin
private:
moeoObjectiveVectorNormalizer<MOEOT> defaultNormalizer;
moeoAchievementScalarizingFunctionDistance<MOEOT> distance;
moeoDistanceMetric<MOEOT> metric;
eoEvalFunc<MOEOT> &eval;
moeoObjectiveVectorNormalizer<MOEOT> &normalizer;
class DummyEval: public eoEvalFunc<MOEOT>{
void operator()(MOEOT &moeo){
}
} defaultEval;
moeoObjectiveVectorNormalizer<MOEOT> &normalizer;
moeoObjectiveVectorNormalizer<MOEOT> defaultNormalizer;
eoEvalFunc<MOEOT> &eval;
moeoAchievementScalarizingFunctionDistance<MOEOT> distance;
moeoDistanceMetric<MOEOT> metric;
};
#endif /*moeoAugmentedScalarizingFunctionMetricFitnessASSIGNMENT_H_*/

View file

@ -78,7 +78,7 @@ class moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment : publi
* @param _reference the reference point
* @param _weight the weights applied to the objectives
*/
moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector &_reference,const ObjectiveVector &_weight,eoEvalFunc<MOEOT> &_eval) : eval(_eval),normalizer(defaultNormalizer), distance(_rho,_weight), metric(distance,_reference,normalizer)
moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector &_reference,const ObjectiveVector &_weight,eoEvalFunc<MOEOT> &_eval) : normalizer(defaultNormalizer), eval(_eval), distance(_rho,_weight), metric(distance,_reference,normalizer)
{}
/**
* ctor with an evaluing fonction, applied if give moeot is invalid, and a noramlizer, applied to ObjectiveVectors
@ -96,7 +96,7 @@ class moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment : publi
* @param _reference the reference point
* @param _weight the weights applied to the objectives
*/
moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector &_reference,const ObjectiveVector &_weight) : eval(defaultEval),normalizer(defaultNormalizer), distance(_rho,_weight), metric(distance,_reference,normalizer)
moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector &_reference,const ObjectiveVector &_weight) : normalizer(defaultNormalizer), eval(defaultEval), distance(_rho,_weight), metric(distance,_reference,normalizer)
{}
/**
@ -145,16 +145,17 @@ class moeoAugmentedAchievementScalarizingFunctionMetricFitnessAssignment : publi
private:
moeoObjectiveVectorNormalizer<MOEOT> defaultNormalizer;
moeoAugmentedAchievementScalarizingFunctionDistance<MOEOT> distance;
moeoObjectiveVectorNormalizer<MOEOT> &normalizer;
moeoDistanceMetric<MOEOT> metric;
eoEvalFunc<MOEOT> &eval;
class DummyEval: public eoEvalFunc<MOEOT>{
void operator()(MOEOT &moeo){
}
} defaultEval;
moeoObjectiveVectorNormalizer<MOEOT> defaultNormalizer;
moeoObjectiveVectorNormalizer<MOEOT> &normalizer;
eoEvalFunc<MOEOT> &eval;
moeoAugmentedAchievementScalarizingFunctionDistance<MOEOT> distance;
moeoDistanceMetric<MOEOT> metric;
};
#endif /*moeoAugmentedScalarizingFunctionMetricFitnessASSIGNMENT_H_*/

View file

@ -72,7 +72,7 @@ class moeoAugmentedWeightedChebychevMetricFitnessAssignment : public moeoSingleO
* @param _weight the weights applied to the objectives
* @param _eval a evalFunc to regenerate the objectiveVector if needed
*/
moeoAugmentedWeightedChebychevMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight, eoEvalFunc<MOEOT>& _eval) : eval(_eval), normalizer(defaultNormalizer), distance(_rho, _weight), metric(distance, _reference, normalizer){}
moeoAugmentedWeightedChebychevMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight, eoEvalFunc<MOEOT>& _eval) : normalizer(defaultNormalizer), eval(_eval), distance(_rho, _weight), metric(distance, _reference, normalizer){}
/**
* ctor with an evaluation fonction, applied if give moeot is invalid, and a noramlizer, applied to ObjectiveVectors
@ -90,7 +90,7 @@ class moeoAugmentedWeightedChebychevMetricFitnessAssignment : public moeoSingleO
* @param _reference the reference point
* @param _weight the weights applied to the objectives
*/
moeoAugmentedWeightedChebychevMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight) : eval(defaultEval), normalizer(defaultNormalizer), distance(_rho, _weight), metric(distance, _reference, normalizer){}
moeoAugmentedWeightedChebychevMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight) : normalizer(defaultNormalizer), eval(defaultEval), distance(_rho, _weight), metric(distance, _reference, normalizer){}
/**
* Sets the fitness values for a moeot
@ -133,11 +133,12 @@ class moeoAugmentedWeightedChebychevMetricFitnessAssignment : public moeoSingleO
}
} defaultEval;
moeoAugmentedWeightedChebychevDistance<MOEOT> distance;
moeoObjectiveVectorNormalizer<MOEOT> defaultNormalizer;
moeoObjectiveVectorNormalizer<MOEOT> &normalizer;
moeoDistanceMetric<MOEOT> metric;
eoEvalFunc<MOEOT> &eval;
moeoAugmentedWeightedChebychevDistance<MOEOT> distance;
moeoDistanceMetric<MOEOT> metric;
};

View file

@ -99,7 +99,7 @@ class moeoConstraintFitnessAssignment : public moeoSingleObjectivization < MOEOT
}
else{
for(unsigned int l=0; l<dim; l++){
if (l==to_optimize)
if ((int)l==to_optimize)
if (_mo.minimizing(l))
res-=(normalizer(_mo)[l]) * weight[l];
else

View file

@ -76,7 +76,7 @@ class moeoWeightedChebychevMetricFitnessAssignment : public moeoSingleObjectiviz
* @param _weight the weights applied to the objectives
* @param _eval a evalFunc to regenerate the objectiveVector if needed
*/
moeoWeightedChebychevMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight, eoEvalFunc<MOEOT>& _eval) : eval(_eval), normalizer(defaultNormalizer), distance(_rho, _weight), metric(distance, _reference, normalizer){}
moeoWeightedChebychevMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight, eoEvalFunc<MOEOT>& _eval) : normalizer(defaultNormalizer), eval(_eval), distance(_rho, _weight), metric(distance, _reference, normalizer){}
/**
* ctor with an evaluation fonction, applied if give moeot is invalid, and a noramlizer, applied to ObjectiveVectors
@ -94,7 +94,7 @@ class moeoWeightedChebychevMetricFitnessAssignment : public moeoSingleObjectiviz
* @param _reference the reference point
* @param _weight the weights applied to the objectives
*/
moeoWeightedChebychevMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight) : eval(defaultEval), normalizer(defaultNormalizer), distance(_rho, _weight), metric(distance, _reference, normalizer){}
moeoWeightedChebychevMetricFitnessAssignment(unsigned int _rho, const ObjectiveVector& _reference, const ObjectiveVector& _weight) : normalizer(defaultNormalizer), eval(defaultEval), distance(_rho, _weight), metric(distance, _reference, normalizer){}
/**
* Sets the fitness values for a moeot
@ -133,17 +133,16 @@ class moeoWeightedChebychevMetricFitnessAssignment : public moeoSingleObjectiviz
private:
moeoWeightedChebychevDistance<MOEOT> distance;
moeoObjectiveVectorNormalizer<MOEOT> defaultNormalizer;
moeoObjectiveVectorNormalizer<MOEOT>& normalizer;
moeoDistanceMetric<MOEOT> metric;
eoEvalFunc<MOEOT> &eval;
class DummyEval: public eoEvalFunc<MOEOT>{
void operator()(MOEOT &moeo){
}
} defaultEval;
moeoObjectiveVectorNormalizer<MOEOT> defaultNormalizer;
moeoObjectiveVectorNormalizer<MOEOT>& normalizer;
eoEvalFunc<MOEOT> &eval;
moeoWeightedChebychevDistance<MOEOT> distance;
moeoDistanceMetric<MOEOT> metric;
};
#endif /*moeoWeightedChebychevMetricFitnessASSIGNMENT_H_*/