Документация Engee

CMAEvolutionStrategy.jl

Страница в процессе перевода.

CMAEvolutionStrategy — это пакет Julia, в котором реализован алгоритм эволюционной стратегии с адаптацией ковариационной матрицы.

Алгоритм CMAEvolutionStrategy вызывается функцией CMAEvolutionStrategyOpt().

Установка: OptimizationCMAEvolutionStrategy.jl

Чтобы использовать этот пакет, установите пакет OptimizationCMAEvolutionStrategy:

import Pkg;
Pkg.add("OptimizationCMAEvolutionStrategy");

Глобальный оптимизатор

Без уравнений ограничений

Метод в CMAEvolutionStrategy выполняет глобальную оптимизацию задач без уравнений ограничений. Однако требуются нижние и верхние ограничения, заданные в lb и ub в OptimizationProblem.

Пример

Функцию Розенброка можно оптимизировать с помощью CMAEvolutionStrategyOpt() следующим образом:

using Optimization, OptimizationCMAEvolutionStrategy
rosenbrock(x, p) = (p[1] - x[1])^2 + p[2] * (x[2] - x[1]^2)^2
x0 = zeros(2)
p = [1.0, 100.0]
f = OptimizationFunction(rosenbrock)
prob = Optimization.OptimizationProblem(f, x0, p, lb = [-1.0, -1.0], ub = [1.0, 1.0])
sol = solve(prob, CMAEvolutionStrategyOpt())
retcode: Failure
u: 2-element Vector{Float64}:
 0.9999999942995399
 0.9999999884613514