- #1

- 1

- 0

I am new here. I am working in geophysics and I would like to invert for a simple layered velocity model using CMA-ES optimization method. I downloaded the purecmaes.m code in Matlab here: https://www.lri.fr/~hansen/cmaes_inmatlab.html, and also implemented one in Fortran 90. I successfully ran it for several optimization functions (Rastrigin, Rosenbrock, Styblinski-Tang...) but can't make it work for my inversion problem.

Indeed, I have to invert for the velocity of each layer (ranging from 500 to 6000 m/s) and also their thicknesses (from 10 to 500 meters). Therefore, as the step size sigma is used to generate a normally distributed population around the current generation mean, using the same step size sigma to generate the velocities and the thicknesses will generate unconsistent parameters (e.g. negative thicknesses).

Is there a way to use CMA-ES to invert for parameters of different scales? (not to mention that I would also like to invert for a ratio for each layer, which means that I will have parameters between 0 and 1)...

Thank you in advance for your replies.