一个Python智能算法开源库(遗传算法、粒子群优化、模拟退火、蚁群优化算法、免疫算法、人工鱼群算法、差分进化……)...

1db7c5296413bad4d33df2b3c7043f17.png

来源:数字中国
本文约300字,建议阅读3分钟
附安装pip指令及示例代码。

这个库总共封装了遗传算法(GA)、粒子群算法(PSO)、蚁群算法(ACA)、模拟退火算法(SA)、免疫优化算法(IA)、人工鱼群算法(AFSA)。

开源地址:

https://github.com/guofei9987/scikit-opt

装好Python后,在命令行输入以下指令即可安装:

pip install scikit-opt

粒子群算法为例

第一步,定义问题

-> Demo code: examples/demo_pso.py#s1

def demo_func(x):
x1, x2, x3 = x
return x1 ** 2 + (x2 - 0.05) ** 2 + x3 ** 2

第二步,做粒子群算法

-> Demo code: examples/demo_pso.py#s2

from sko.PSO import PSO


pso = PSO(func=demo_func, n_dim=3, pop=40, max_iter=150, lb=[0, -1, 0.5], ub=[1, 1, 1], w=0.8, c1=0.5, c2=0.5)
pso.run()
print('best_x is ', pso.gbest_x, 'best_y is', pso.gbest_y)

第三步,画出结果

-> Demo code: examples/demo_pso.py#s3

import matplotlib.pyplot as plt


plt.plot(pso.gbest_y_hist)
plt.show()

f320f2e49c587ade02589006a1b32eea.png

2c71c7128d204f8d71fbfaaeebcfa2df.gif

编辑:黄继彦

c2120986cba24603a76d2cbfc3d1c18a.png

猜你喜欢

转载自blog.csdn.net/tMb8Z9Vdm66wH68VX1/article/details/131671626