AnyMath 文档

QuadDIRECT。jl

该页面正在翻译中。

脧锚脧赂`四向直`是一个Julia包实现*QuadDIRECT算法(灵感来自DIRECT和MCS)*。

QuadDIRECT算法被调用使用 QuadDirect().

安装:OptimizationQuadDIRECT。jl

要使用此软件包,请将OptimizationQuadDIRECT软件包安装为:

import Pkg;
Pkg.add(url = "https://github.com/SciML/Optimization.jl",
    subdir = "lib/OptimizationQuadDIRECT");

另请注意 四向直 应该(现在)通过这样做安装:

]添加https://github.com/timholy/QuadDIRECT.jl.git+

由于QuadDIRECT不是常规注册表中的注册包,因此OptimizationQuadDIRECT也没有注册,因此无法使用传统命令安装它。

全局优化器

无约束方程

算法在https://github.com/timholy/QuadDIRECT.jl[脧锚脧赂`四向直`]正在对没有约束方程的问题进行全局优化。 但是,下限和上限约束由 磅/磅ub优化问题 是必需的。

此外, 四向直 需要 分裂,分裂 它是一个包含初始位置的3向量列表,用于评估函数(值必须严格递增,并且位于指定的边界内),以便 解决(问题,QuadDirect(),拆分).

例子:

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

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])
solve(prob, QuadDirect(), splits = ([-0.9, 0, 0.9], [-0.8, 0, 0.8]))