APP下载

基于变步长粒子群算法的函数优化

2018-11-13奉中华李志刚湖南环境生物职业技术学院

数码世界 2018年10期

奉中华 李志刚 湖南环境生物职业技术学院

1 基本概念

1.1 粒子群算法

粒子群算法(Particle Swarm Optimization, PSO)是美国的学者Kennedy和Eberhart提出的一种群智能优化算法,该算法主要是模拟鸟儿觅食行为,粒子间相互学习、相互交换信息从而达到寻优的目的。该算法模型中种群规模为M,xi则表示第i个粒子个体的所在位置,vi表示粒子的速度,粒子群粒子个体最好位置为Pi,微粒群的全局最好位置为Pg。粒子个体通过式(1)和式(2)来调整自己的速度和位置:

其中,·1和·2表示为学习因子。

1.2 变步长法

2. 基于变步长的粒子群算法的算法步骤

Step 1:算法的初始化(位置x、速度v、最大迭代次数N等赋初值)。

Step 2:根据迭代公式(1)、(2)计算适应度函数值。

Step 4:判断是否达到迭代最大迭代次数,是则输出最优值,否则进行寻优。

3. 实验结果及分析

算法运行环境: MATLAB 7.1,主频 1.9GHZ。函数 F1 和函数F2数学表达式如下所示:

表 1 各个函数的表达式

函数F1共有4个全局的极大值点,其全局最大值位于(-2.81,3.13), (3.0, 2.0),(3.58,-1.85),(-3.78,-3.28),其函数最优值均为是660.0。函数F2 共有4 个全局极大值点, 全局最大值分别是(0.635,0.635),(0.635,-0.635),(-0.635,0.635),(-0.635,-0.635), 其 函数值为 3.260。

表2 函数1计算结果

表3 函数2计算结果

4 结论

实验结果表明,基于变步长的粒子群算法可以有效克服早熟收敛现象,能够避免陷入局部极值,引入变步长寻优机制提高了算法的寻优精度,同时也收到了较好的搜索效果。


登录APP查看全文