3

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?

Sven Rüberg
  • 131
  • 3
  • 1
    Other 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

0 Answers0