【基于遗传算法改进的粒子群GA-PSO算法优化shubert函数及MATLAB编程实现,测试函数shubert(十)

测试函数shubert(十)

shubert函数属于周期性多峰函数,如图1所示拥有多个全局最优值,如图二所示在一个周期内只有一个全局最优值,局部最优解较多,适合测试算法的收敛性能,粒子群算法是一种收敛速度较快的算法,运算速度快,但是粒子群算法容易陷入局部最优,有些时候会导致收敛慢,或者不收敛,本文用标准粒子群算法进行改进,利于遗传算法的变异算子,交叉算子,对标准粒子群进行改进,,用基于遗传算法改进的粒子群GA-PSO求解,如有疑问,欢迎大家留言交流!
函数图像如下
【基于遗传算法改进的粒子群GA-PSO算法优化shubert函数及MATLAB编程实现,测试函数shubert(十)_第1张图片
【基于遗传算法改进的粒子群GA-PSO算法优化shubert函数及MATLAB编程实现,测试函数shubert(十)_第2张图片
MATLAB编程shubert代码如下:

clc
clear
close all
x = -2:0.1:2;
y  = -2:0.1:2;
x = -10:0.1:10;
y  = -10:0.1:10;
[x,y] = meshgrid(x,y);
[m,n] = size(x);
z = zeros(m,n);
for ii = 1:m
    for jj = 1:n
        xx = [x(ii,jj) y(ii,jj)];
        z(ii,jj) = shubertfun(xx);
    end
end
figure
surf(x,y

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