67 double x[],
double g[],
73 public static final String
DLLNAME =
"jipopt";
75 public static final String
DLLPATH =
"lib";
106 private double callback_grad_f[];
107 private double callback_jac_g[];
108 private double callback_hess[];
114 private double obj_val[] = {0.0};
120 private double mult_x_L[];
123 private double mult_x_U[];
126 private double mult_g[];
148 public Ipopt(String path, String DLL)
151 File file =
new File(path, System.mapLibraryName(DLL));
152 System.load(file.getAbsolutePath());
156 abstract protected boolean get_bounds_info(
int n,
double[] x_l,
double[] x_u,
157 int m,
double[] g_l,
double[] g_u);
161 boolean init_z,
double[] z_L,
double[] z_U,
162 int m,
boolean init_lambda,
double[] lambda);
165 abstract protected boolean eval_f(
int n,
double[] x,
boolean new_x,
double[] obj_value);
168 abstract protected boolean eval_grad_f(
int n,
double[] x,
boolean new_x,
double[] grad_f);
171 abstract protected boolean eval_g(
int n,
double[] x,
boolean new_x,
int m,
double[] g);
174 abstract protected boolean eval_jac_g(
int n,
double[] x,
boolean new_x,
175 int m,
int nele_jac,
int[] iRow,
int[] jCol,
double[] values);
178 abstract protected boolean eval_h(
int n,
double[] x,
boolean new_x,
double obj_factor,
179 int m,
double[] lambda,
boolean new_lambda,
180 int nele_hess,
int[] iRow,
int[] jCol,
217 public boolean create(
int n,
int m,
int nele_jac,
int nele_hess,
int index_style)
224 callback_grad_f =
new double[n];
225 callback_jac_g =
new double[
nele_jac];
229 mult_x_U =
new double[n];
230 mult_x_L =
new double[n];
232 mult_g =
new double[
m];
238 return ipopt == 0 ?
false :
true;
277 return ipopt == 0 ?
false :
AddIpoptStrOption(ipopt, keyword, val.toLowerCase());
293 x, g, obj_val, mult_g, mult_x_L, mult_x_U,
294 callback_grad_f, callback_jac_g, callback_hess);
374 boolean[] use_x_g_scaling)
396 int[] pos_nonlin_vars)