首页 > 编程语言 > 详细

粒子群优化算法

时间:2021-08-04 19:22:01      阅读:23      评论:0      收藏:0      [点我收藏+]
from sko.PSO import PSO
import matplotlib.pyplot as plt

‘‘‘
目标是求目标函数的最小值
粒子群优化算法和蚁群算法类似,主要依靠群体之间的联系寻找最优解和最优输入嘴和
参数介绍:
func:   目标函数
ndim:   输入参数的个数
pop:    粒子的个数
max_iter:   最大迭代次数
lb:     输入参数的下限,低于此数值将不再衰减
ub:     输入参数的上限,高于此数值将不再增加
w:      学习衰减速率,惯性权重,学习的精度将随着迭代次数的增加而增加,但随之而来的是移动速度的下降。
c1:     自身最优值的记忆权重
c2:     群体最优值的记忆权重
‘‘‘

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

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(pbest_x, pso.pbest_x, pbest_y, pso.pbest_y, length, len(pso.pbest_y))
print(best_x is , pso.gbest_x, best_y is, pso.gbest_y)

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

 

粒子群优化算法

原文:https://www.cnblogs.com/lzqdeboke/p/15099464.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!