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

Reply via email to