I would need a few moments to fully understand the scope of your question, but to address specifically:
> numbers like 0.0017 are clearly violating the tolerance bounds of > 10^(-10) so why are they under consideration at all during iteration? my answer would be simply that nonlinear constraint functions are only required to constrain the validity of a solution, and not guarantee that the function values are not evaluated at these values. I would need to find an explicit reference to this in the NLopt documentation, though, but in any case, I can vouch that my personal experience shows that only bound constraints guarantee restrictions on function evaluations. 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