10 #ifndef __MITTELMANNDISTRCNTRLDIRI_HPP__
11 #define __MITTELMANNDISTRCNTRLDIRI_HPP__
19 #include "configall_system.h"
28 # error "don't have header file for math"
38 # error "don't have header file for stdio"
42 using namespace Ipopt;
71 virtual bool get_starting_point(
Index n,
bool init_x,
Number*
x,
73 Index m,
bool init_lambda,
106 bool& use_x_scaling,
Index n,
108 bool& use_g_scaling,
Index m,
198 return (N_+2)*(N_+2) + (j-1) + (N_)*(i-1);
204 return (j-1) + N_*(i-1);
232 printf(
"N has to be at least 1.");
240 Number u_init = (ub_u+lb_u)/2.;
242 SetBaseParameters(N, alpha, lb_y, ub_y, lb_u, ub_u, u_init);
249 return 1. + 2.*(x1*(x1-1.)+x2*(x2-1.));
254 return pow(y,3) - y - u;
290 printf(
"N has to be at least 1.");
298 Number u_init = (ub_u+lb_u)/2.;
300 SetBaseParameters(N, alpha, lb_y, ub_y, lb_u, ub_u, u_init);
307 return 1. + 2.*(x1*(x1-1.)+x2*(x2-1.));
312 return pow(y,3) - y - u;
350 printf(
"N has to be at least 1.");
358 Number u_init = (ub_u+lb_u)/2.;
360 SetBaseParameters(N, alpha, lb_y, ub_y, lb_u, ub_u, u_init);
367 return sin(2.*pi_*x1)*sin(2.*pi_*x2);
411 printf(
"N has to be at least 1.");
419 Number u_init = (ub_u+lb_u)/2.;
421 SetBaseParameters(N, alpha, lb_y, ub_y, lb_u, ub_u, u_init);
428 return sin(2.*pi_*x1)*sin(2.*pi_*x2);