40 #ifndef SHARK_OBJECTIVEFUNCTIONS_BENCHMARK_IHR3_H 41 #define SHARK_OBJECTIVEFUNCTIONS_BENCHMARK_IHR3_H 58 IHR3(std::size_t numVariables = 0)
59 : m_handler(numVariables,-1,1){
88 m_ymax = 1.0/norm_inf(row(m_rotationMatrix,0));
98 value[0] = std::abs( y( 0 ) );
104 double quotient =
h(y( 0 )) / g;
105 value[1] = g *
hf(1. - std::sqrt(quotient) - quotient * std::sin(10 * M_PI * y( 0 ) ), y( 0 ));
110 double h(
double x )
const {
114 double hf(
double x,
double y0)
const {
115 if( std::abs(y0) <= m_ymax )
117 return std::abs( y0 ) + 1.;
120 double hg(
double x)
const {
121 return sqr(x) / ( std::abs(x) + 0.1 );
126 RealMatrix m_rotationMatrix;