> On Aug 20, 2017, at 6:58 AM, Udit Kumar <udit.v...@gmail.com> wrote:
> Thanks for providing an opportunity to propose addition of new algorithms 
> into the NLopt library. Currently, the NLopt library has global and 
> local-search optimization algorithms.
> 
> In case of global optimization, there are two goals, exploration and 
> exploitation, and often users can use any local search algorithm for 
> exploitation. So, I suggest that it would be good to provide a flexibility 
> (where possible) to choose the local search algorithm within the framework.

There is already an API precisely for this purpose:

        
http://nlopt.readthedocs.io/en/latest/NLopt_Reference/#localsubsidiary-optimization-algorithm
 
<http://nlopt.readthedocs.io/en/latest/NLopt_Reference/#localsubsidiary-optimization-algorithm>

Currently, the MLSL (global) and AUGLAG algorithms make use of this.   In my 
own work, I've found MLSL combined with a fast gradient-based local search to 
be very effective in smooth global optimization problems (with a moderate 
number of parameters) (e.g. we used it in 
http://dx.doi.org/10.1364/OE.17.007505 
<http://dx.doi.org/10.1364/OE.17.007505>).

> As an example, Incremental Ant Colony Optimization 
> <http://code.ulb.ac.be/dbfiles/LiaMonAyd-etal2011gecco.pdf> approach can be 
> used for exploration together with any local-search approach for exploitation.

It would certainly be possible to add additional hybrid global/local search 
algorithms.   (The trick is usually to figure out the right termination 
conditions for the local search, and to try to avoid re-searching the same 
local optimum over and over.)

I remember trying an "ant-colony" algorithm way back, and was very disappointed 
by its convergence compared to other global search algorithms, so I didn't 
include it, but maybe I tried the wrong variant of this algorithm.

> Please refer to attached xls for various algorithms with references and code 
> links. I would like to  know your opinion regarding this. If this is seems to 
> be a feasible proposition, I can raise an issue on Github and provide the 
> relevant resources that you could utilize.

If there are particular hybrid search algorithms that you find are very 
effective (comparable to or better than MLSL with similar termination 
criteria), please do file issues on github.  (File one issue per algorithm that 
you think should be included, with references, links to free/open source code 
if possible, and ideally an example problem where it does better than MLSL and 
other algorithms already in NLopt.)

_______________________________________________
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