> 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