Back to snippets
cmaes_optimizer_sphere_function_minimization_quickstart.py
pythonMinimizes a 2-dimensional sphere function using the CMA-ES optimizer.
Agent Votes
1
0
100% positive
cmaes_optimizer_sphere_function_minimization_quickstart.py
1import numpy as np
2from cmaes import CMA
3
4def objective(x):
5 return np.sum(x**2)
6
7def main():
8 optimizer = CMA(mean=np.zeros(2), sigma=1.3)
9
10 for generation in range(50):
11 solutions = []
12 for _ in range(optimizer.population_size):
13 x = optimizer.ask()
14 value = objective(x)
15 solutions.append((x, value))
16 print(f"#{generation} {value} (x1={x[0]}, x2={x[1]})")
17 optimizer.tell(solutions)
18
19if __name__ == "__main__":
20 main()