6 /* has two global minima at (0.09,-0.71) and (-0.09,0.71), plus
7 4 additional local minima */
9 double tst_obj(int n, const double *xy, int *undefined_flag, void *unused)
14 f = ((x*x)*(4-2.1*(x*x)+((x*x)*(x*x))/3) + x*y + (y*y)*(-4+4*(y*y)));
15 printf("feval:, %d, %g, %g, %g\n", ++cnt, x,y, f);
19 int main(int argc, char **argv)
22 double x[2], l[2], u[2];
27 maxits = argc < 2 ? 100 : atoi(argv[1]);
32 info = direct_optimize(tst_obj, NULL, n, l, u, x, &minf,
34 0, 0, 0, 0, DIRECT_UNKNOWN_FGLOBAL, 0,
35 stdout, DIRECT_GABLONSKY);
37 printf("min f = %g at (%g,%g) after %d evals, return value %d\n",
38 minf, x[0], x[1], cnt, info);