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

Reply via email to