基于模拟退火算法改进粒子群SA-PSO优化shubert函数,测试函数shubert(十),MATLAB编程实现

测试函数shubert(十)

shubert函数属于周期性多峰函数,如图1所示拥有多个全局最优值,如图二所示在一个周期内只有一个全局最优值,局部最优解较多,适合测试算法的收敛性能,粒子群算法是一种收敛速度较快的算法,运算速度快,但是粒子群算法容易陷入局部最优,有些时候会导致收敛慢,或者不收敛,本文对标准粒子群算法进行改进,通过模拟退火算法的蒙特卡罗原理来优化粒子群飞行方式,通过退火机制来优化飞行惯性权重,sa-pso既有粒子群算法的局部快速收敛能力,也有模拟退火算法的全局收敛能力,本文通过模拟退火算法改进粒子群sa-pso算法求解shubert函数,MATLAB编程实现,可以拓展到其他应用问题,如有疑问,欢迎大家留言交流!

shubert函数公式如下:

基于模拟退火算法改进粒子群SA-PSO优化shubert函数,测试函数shubert(十),MATLAB编程实现_第1张图片

函数图像如下:

基于模拟退火算法改进粒子群SA-PSO优化shubert函数,测试函数shubert(十),MATLAB编程实现_第2张图片

基于模拟退火算法改进粒子群SA-PSO优化shubert函数,测试函数shubert(十),MATLAB编程实现_第3张图片

MATLAB编程代码实现如下:

你可能感兴趣的:(#,常用测试函数及100种求解方法,模拟退火算法,人工智能,matlab)