Steven G. Johnson <stevenj.mit@...> writes:

> 
> 
> 
> On Nov 25, 2013, at 9:56 AM, Adel M <adelmn-
[email protected]> wrote:
> 
> Is it possible to add constraints to derivative-free 
optimization algorithms?
> 
> 
> Some of them, e.g. COBYLA, already support constraints.  It says in the 
manual which algorithms support nonlinear constraints.
> 
> Other algorithms like Nelder-Mead in NLopt don't currently support 
nonlinear constraints, but they could be used in conjunction with the AugLag 
algorithm to implement constraints.
> 
> I have an optimization problem of an X vector of size n (n >20) and have a 
sum constraint on some X[i]: example X[1]+X[2]+..+X[10]=1
> 
> 
> 
> A simple linear constraint like that can be implemented by elimination.   
Just optimize over X[1…9] and set X[10] = 1 - (X[1]+…+X[9]).
> 
> (Unless there is also a bound constraint on X[10]?)
> 
> 
> 
> <div>
> <br><div>
> <div>On Nov 25, 2013, at 9:56 AM, Adel M <<a 
href="mailto:adelmn@...";>adelmn@...</a>> wrote:</div>
> <br class="Apple-interchange-newline"><blockquote type="cite"><div 
dir="ltr">
> <span>Is it possible to add constraints to </span><a href="http://ab-
initio.mit.edu/wiki/index.php/NLopt_Algorithms#Local_derivative-
free_optimization" target="_blank">derivative-free optimization</a>
<span> algorithms?</span>
> </div></blockquote>
> <div><br></div>
> <div>Some of them, e.g. COBYLA, already support constraints.  It says 
in the manual which algorithms support nonlinear constraints.</div>
> <div><br></div>
> <div>Other algorithms like Nelder-Mead in NLopt don't currently support 
nonlinear constraints, but they could be used in conjunction with the AugLag 
algorithm to implement constraints.</div>
> <br><blockquote type="cite"><div dir="ltr"><div>
> <br><div>I have an optimization problem of an X vector of size n (n 
>20) and have a sum constraint on some X[i]: example 
X[1]+X[2]+..+X[10]=1</div>
> </div></div></blockquote>
> <br>
> </div>
> <div>A simple linear constraint like that can be implemented by 
elimination.   Just optimize over X[1…9] and set X[10] = 1 - 
(X[1]+…+X[9]).</div>
> <div><br></div>
> <div>(Unless there is also a bound constraint on X[10]?)</div>
> <br>
> </div>
> 

Thank you for your reply!
I already use the elimination but the results are not as good as expected.
I will try with other algorithms.
First tests with COBYLA show better results.
Hope newer versions of NlOpt will integrate Constraint with the Nelder-Mead 
algorithm.  

Kind regards,
Adel





_______________________________________________
NLopt-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss

Reply via email to