MATLAB Answers

Is there CMA-ES implementation that can deal with a mixed integer problem and run parallel evaluations of the objective function?

8 views (last 30 days)
Jorge Mallo
Jorge Mallo on 19 Sep 2016
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:
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?
Thanks, Jorge

Answers (2)

Jordan Ross
Jordan Ross on 22 Sep 2016
Hi Jorge,
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.

Krishnakumar Gopalakrishnan
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.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!