I am looking for a Python equivalent of MATLAB's patternsearch optimization algorithm. I ran through the SCiPy documentation but did not find something similiar. Do you know whether there is some patternsearch algorithm available in Python/SciPy? Do you have a hint for me where else I should search?
Asked
Active
Viewed 1,421 times
3
-
1Other optimizers are no alternative? What about [differential_evolution](http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.differential_evolution.html#scipy.optimize.differential_evolution) which is also derivative-free? – sascha Jul 29 '16 at 13:36
-
@sascha I am open for other suggestions. I am looking for an optimization algorithm that i) does not need the algebraic expression of the function to be optimized, ii) respects bounds, iii) respects constraints. – Sven Rüberg Jul 29 '16 at 14:03
-
Have a look at [NLopt](http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms#Local_derivative-free_optimization). These are quite strong requirements you pose. – sascha Jul 29 '16 at 14:17
-
Thanks. I will try the BOBYQA algorithm in the next week. – Sven Rüberg Jul 29 '16 at 17:53
-
[Noisyopt](https://github.com/andim/noisyopt) has an implementation of a pattern search algorithm respecting bounds. The package is aimed mainly at optimization of noisy functions, but if you pass errorcontrol=False to its minimize routine you'll get a plain pattern search algorithm. Currently there is no support of constraints other then bounds though. – Andi Jul 30 '16 at 09:55