I need to optimize a function. The problem has: -20 parameters -upper and lower bounds for each parameter -first and second order derivatives are not available / existent -There is quite a bit of noise -Each evaluation of the objective function takes ~5-10 mins
I have been using the genetic algorithm and works well in general. The issue is that it needs ~1 week to converge, and I need to do several optimizations like this.
To speed up the optimization, I was considering other evolutionary algorithms, and I read about CMA-ES. It seems that for certain problems can converge much faster and I wanted to try it. I found several implementations:
- At LRA
None of them works with mixed integers and has a parallel implementation (my objective function can not be vectorized, should be computed using parallel evaluation).
Are you aware of a good Matlab implementation of CMA-ES other than the ones mentioned above?
[Question for Matlab community managers] Is CMA-ES expected to be implemented in the optimization toolbox in coming Matlab releases?
I work for MathWorks and I have forwarded this enhancement request to the appropriate product team. They might consider implementing this feature in a future release.
I'd like to see this implemented in a future MATLAB release. The problem that I am working on is almost identical to that described here.
A CMA-ES implementation native within MATLAB, capable of handling integer variables would indeed be much welcome.