Howdy, I'm using the C++ interface to NLopt. There are two optimization variables in my problem which have equal lower and upper bounds, and are therefore eliminated. I'm also representing the inequality constraints as a vector constraints, which I added using add_inequality_mconstraint. It appears that this setup causes a segmentation fault at line 131 of util/stop.c:
result[0] = c->f(n, x, grad, c->f_data); It turns out that c->f is actually NULL and uncallable. My best guess is that somewhere in the variable elimination logic, the elimdata structure is not storing the constraint's mfunc, but instead is storing the constraint's regular func, which will be NULL because it was specified as a vector constraint. It's especially likely that the error is in the elimination logic because my problem works fine if I make the lower and upper bounds of the variables unequal (therefore removing elimination). I'll try to put together a super simple test case which replicates the error soon. Thanks!
_______________________________________________ NLopt-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss
