JuSwarm
PSO的无梯度非线性优化
JuSwarm.jl是一个使用无梯度粒子群优化(PSO)算法解决非线性多元优化问题的软件包。
简单的例子
考虑n维的简单多元球面函数:
f(x) = sum(x.^2)
可以使用JuSwarm.jl和Optim.jl提供的混合优化器来找到最小值,如下所示(考虑10维球体函数):
using JuSwarm
using Optim
f(x) = sum(x.^2)
Num_Of_Dims = 10
PSOoptions = PSOOptions(Num_Of_Dims; SwarmSize = 50, HybridOptimizer = Optim.LBFGS())
sol = psoptimize(f, PSOoptions)
# Found minimum
x = sol.xbest
# Objective function value co
2021-09-03 11:34:40
13KB
Julia
1