Aha, I found the reference. It was, somewhat confusingly, in the "Bound Constraints" section of the "NLopt Reference" page:
> Most of the algorithms in NLopt are designed for minimization of > functions with simple bound constraints on the inputs. That is, the > input vectors |x[i]| are constrainted to lie in a > hyperrectangle |lb[i]| ≤ |x[i]| ≤ |ub[i]| for 0 ≤ |i| < |n|. NLopt > guarantees that your objective function and any nonlinear constraints > will /never/ be evaluated outside of these bounds*(unlike nonlinear > constraints, which may be violated at intermediate steps).* http://ab-initio.mit.edu/wiki/index.php/NLopt_Reference#Bound_constraints Regards, Adam On 25/05/17 17:05, Kaushik Matia wrote: > Hi, > > I have a set of constraints like: > > z_i * (z_i -1) <= 0 > z_i * (1- _z_i) <=0 > > also i have their derivatives as : > > 2*z_i -1 and 1-2*z_i > > I give the tolerance of the constraints to be 10^(-10). > > what I am trying to do above is mimic z_i as binary variables taking > only 0 or 1. > > I am using the LD_SLSQP algorithm and I start with guess values of > z_i to be either 0 or 1. > > I observe (in the debugger) during the iteration steps: > > z_i are taking values like 0.0017 or 0.9998 etc. > > my question is how are these values possible ? > > numbers like 0.0017 are clearly violating the tolerance bounds of > 10^(-10) so why are they under consideration at all during iteration? > > It would be kind of someone to comment. > > Best > > > > > _______________________________________________ > NLopt-discuss mailing list > NLopt-discuss@ab-initio.mit.edu > http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss
_______________________________________________ NLopt-discuss mailing list NLopt-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss