11 #ifndef __MITTELMANNBNDRYCNTRLDIRI3D_27_HPP__
12 #define __MITTELMANNBNDRYCNTRLDIRI3D_27_HPP__
28 # error "don't have header file for math"
38 # error "don't have header file for stdio"
42 using namespace Ipopt;
73 virtual bool get_starting_point(
Index n,
bool init_x,
Number*
x,
75 Index m,
bool init_lambda,
108 bool& use_x_scaling,
Index n,
110 bool& use_g_scaling,
Index m,
188 return k + (N_+2)*j + (N_+2)*(N_+2)*i;
194 return (k-1) + N_*(j-1) + N_*N_*(i-1);
218 return B_*B_/2. + C_*(t - B_);
221 return B_*B_/2. + C_*(-t - B_);
227 return PenA_*t2 + PenB_*t4 + PenC_*t6;
246 return 2.*PenA_*t + 4.*PenB_*t3 + 6.*PenC_*t5;
264 return 2.*PenA_ + 12.*PenB_*t2 + 30.*PenC_*t4;
289 virtual bool InitializeProblem(
Index N)
292 printf(
"N has to be at least 1.");
303 SetBaseParameters(N, alpha, lb_y, ub_y, lb_u, ub_u, d_const, B, C);
310 return 3. + 5.*(x1*(x1-1.)*x2*(x2-1.));
332 virtual bool InitializeProblem(
Index N)
335 printf(
"N has to be at least 1.");
346 SetBaseParameters(N, alpha, lb_y, ub_y, lb_u, ub_u, d_const, B, C);
353 return 3. + 5.*(x1*(x1-1.)*x2*(x2-1.));