# Question about CMA-ES step size sigma

• Kefeng
In summary, there are a few potential solutions for inverting for a simple layered velocity model using CMA-ES optimization method. These include using scaling factors, multi-objective optimization, and incorporating prior information or constraints.

#### Kefeng

Hi everyone,

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.

Hello,

Thank you for sharing your question and your progress with CMA-ES optimization method. As a fellow geophysicist, I understand the challenges of inverting for layered velocity models.

One solution to your problem could be to use a scaling factor for each parameter during the optimization process. This will allow the algorithm to search within a smaller range for each parameter, making it more efficient and less likely to generate inconsistent values.

Another option could be to use a multi-objective optimization approach, where you optimize for both the velocities and thicknesses simultaneously. This can be achieved by defining a fitness function that takes into account both the misfit between observed and predicted data, as well as the consistency of the model parameters.

Additionally, you may want to consider incorporating prior information or constraints in your inversion process. This can help guide the optimization towards more realistic solutions and reduce the search space for each parameter.

I hope these suggestions are helpful to you. Best of luck with your inversion process!

## 1. What is the CMA-ES step size sigma?

The CMA-ES step size sigma is a parameter used in the Covariance Matrix Adaptation Evolution Strategy (CMA-ES) algorithm. It represents the standard deviation of the Gaussian distribution used to generate new candidate solutions in the search space. It is a crucial parameter that affects the exploration and exploitation capabilities of the algorithm.

## 2. How is the step size sigma determined in CMA-ES?

The step size sigma in CMA-ES is typically determined through a process called self-adaptation. This means that the algorithm itself adjusts the value of sigma during the optimization process based on the success or failure of the previous candidate solutions. This allows the algorithm to adapt to different search spaces and problem types.

## 3. What is the role of the step size sigma in CMA-ES?

The step size sigma plays a crucial role in balancing the exploration and exploitation capabilities of CMA-ES. A smaller sigma value leads to a more focused search around the current best solution, while a larger sigma value allows for a broader exploration of the search space. It is essential to find the right balance for each problem to achieve optimal results.

## 4. Can the step size sigma be modified during the optimization process?

Yes, the step size sigma can be modified during the optimization process in CMA-ES. As mentioned earlier, the algorithm uses self-adaptation to adjust the value of sigma. However, it is also possible to manually adjust the sigma value based on the problem characteristics or user preferences. This can be done by changing the sigma value in the algorithm's parameters or by using a heuristic approach.

## 5. How does the choice of step size sigma affect the performance of CMA-ES?

The choice of step size sigma can significantly impact the performance of CMA-ES. A too small or too large sigma value can lead to suboptimal results or cause the algorithm to get stuck in local optima. It is essential to carefully choose the initial sigma value and allow for self-adaptation to find the optimal value during the optimization process.