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

Reply via email to