33 #ifndef SHARK_ALGORITHMS_DIRECT_SEARCH_INDICATORS_MULTIPLICATIVE_EPSILON_INDICATOR_H 34 #define SHARK_ALGORITHMS_DIRECT_SEARCH_INDICATORS_MULTIPLICATIVE_EPSILON_INDICATOR_H 61 typename IteratorTypeA,
62 typename IteratorTypeB,
65 double operator()( IteratorTypeA itPF, IteratorTypeA itePF, IteratorTypeB itRF, IteratorTypeB iteRF, Extractor& e )
69 for( IteratorTypeA ita = itPF; ita != itePF;++ita ) {
71 for( IteratorTypeB itb = itRF; itb != iteRF; ++itb ) {
75 for(
unsigned int i = 0; i < e(*ita).size(); i++ ) {
76 d =
std::max( d, (*itb)[i]/(*ita)[i] );
86 template<
typename Extractor,
typename ParetofrontType>
89 std::vector<double> relativeApproximation(front.size());
91 relativeApproximation[i] = (*this)( front.begin()+i,front.begin()+(i+1), front.begin(), front.end(), extractor );
94 return std::min_element( relativeApproximation.begin(), relativeApproximation.end() ) - relativeApproximation.begin();
102 template<
typename Extractor,
typename Po
intSet>
108 template<
typename Archive>
109 void serialize( Archive & archive,
const unsigned int version ) {