AnyMath 文档

BlackBoxOptim.jl

该页面正在翻译中。

脧锚脧赂`黑盒子,黑盒子`是实现*(元)启发式/随机算法*的Julia包,不需要可微性。

安装:OptimizationBBO。jl

要使用此软件包,请安装OptimizationBBO软件包:

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

全局优化器

无约束方程

中的算法https://github.com/robertfeldt/BlackBoxOptim.jl[脧锚脧赂`黑盒子,黑盒子`]正在对没有约束方程的问题进行全局优化。 然而,下限和上限约束由 磅/磅ub优化问题 是必需的。

A 黑盒子,黑盒子 算法由调用 BBO_ 前缀后跟算法名称:

*自然进化策略: **可分离的NES: BBO_separable_nes() **指数NES: BBO_xnes() **距离加权指数NES: BBO_dxnes() *差分进化优化器,5种不同的: **自适应DE/rand/1/bin: BBO_adaptive_de_rand_1_bin() **具有半径限制采样的自适应DE/rand/1/bin: BBO_adaptive_de_rand_1_bin_radiuslimited() **DE/rand/1/bin: BBO_de_rand_1_bin() **带半径有限采样的DE/rand/1/bin(一种微不足道的地理): BBO_de_rand_1_bin_radiuslimited() **DE/rand/2/bin: de_rand_2_bin() **带半径有限采样的DE/rand/2/bin(一种微不足道的地理): BBO_de_rand_2_bin_radiuslimited() *直接搜索: **生成集搜索: ***指南针/坐标搜索: BBO_generating_set_search() ***通过概率下降直接搜索: BBO_probabilistic_descent() *重新采样模因搜索者: **重采样模因搜索(RS): BBO_resampling_memetic_search() **重采样继承模因搜索(RIS): BBO_resampling_inheritance_memetic_search() *随机近似: **同时扰动随机近似(SPSA): BBO_simultaneous_perturbation_stochastic_approximation() *随机搜索(比较): BBO_random_search()

推荐的优化器是 BBO_adaptive_de_rand_1_bin_radiuslimited()

列出了目前可用的算法https://github.com/robertfeldt/BlackBoxOptim.jl#state-of-the-library[这里]

例子:

Rosenbrock函数可以使用 BBO_adaptive_de_rand_1_bin_radiuslimited() 如下:

using Optimization, OptimizationBBO
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, BBO_adaptive_de_rand_1_bin_radiuslimited(), maxiters = 100000,
    maxtime = 1000.0)
retcode: Default
u: 2-element Vector{Float64}:
 1.0
 1.0