进化。jl
|
该页面正在翻译中。 |
脧锚脧赂`进化的`是实现各种进化和遗传算法的Julia包。
安装:OptimizationEvolutionary。jl
要使用此包,请安装OptimizationEvolutionary包:
import Pkg;
Pkg.add("OptimizationEvolutionary");
全局优化器
无约束方程
中的方法https://github.com/wildart/Evolutionary.jl[脧锚脧赂`进化的`]正在对没有约束方程的问题进行全局优化。 这些方法在使用和不使用下限和上限约束的情况下工作。 磅/磅 和 ub 在 优化问题.
A 进化的 算法由以下之一调用:
*Evolutionary.GA():*遗传算法优化器*
*Evolutionary.DE():*差分进化优化器*
*Evolutionary.ES():*进化策略算法*
*进化。CMAES():*协方差矩阵适应进化策略算法*
特定于算法的选项定义为 夸格斯. 有关更多详细信息,请参阅相应的文档。
例子:
Rosenbrock函数可以使用 进化。CMAES() 如下:
using Optimization, OptimizationEvolutionary
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, Evolutionary.CMAES(μ = 40, λ = 100))
retcode: Success
u: 2-element Vector{Float64}:
1.0
1.0