m对比PSO,WPA,GWPA以及GWO四种优化算法的优化性能,优化目标函数为10个来自CEC2017的标准测试函数

简介: m对比PSO,WPA,GWPA以及GWO四种优化算法的优化性能,优化目标函数为10个来自CEC2017的标准测试函数

1.算法描述

    灰狼优化算法(GWO),灵感来自于灰狼.GWO算法模拟了自然界灰狼的领导层级和狩猎机制.四种类型的灰狼,如 α,β,δ,w 被用来模拟领导阶层。此外,还实现了狩猎的三个主要步骤:寻找猎物、包围猎物和攻击猎物。

   为了在设计GWO算法时对灰狼的社会等级进行数学建模,我们将最适解作为α .因此,第二和第三个最佳解决方案分别被命名为 β 和 δ .剩下的候选解被假定为 w .在GWO算法中,狩猎过程由 ,α,β 和 δ 引导. w 狼跟随这三只狼。

在狩猎过程中,将灰狼围捕猎物的行为定义如下:

D=|C⋅Xp(t)−X(t)| (1)

X(t+1)=Xp(t)−A⋅D (2)

式(1)表示个体与猎物间的距离,式(2)是灰狼的位置更新公式.其中, t 是目前的迭代代数, A 和 C 是系数向量, Xp 和 X 分别是猎物的位置向量和灰狼的位置向量. A 和 C 的公式如下:

A=2a⋅r1−a (3)

C=2⋅r2 (4)

其中, a 是收敛因子,随着迭代次数从2线性减小到0, r1 和 r2 的模取[0,1]之间的随机数.

2.2 狩猎

灰狼能够识别猎物的位置并包围它们.当灰狼识别出猎物的位置后, β 和 δ 在 α 的带领下指导狼群包围猎物.灰狼个体跟踪猎物位置的数学模型描述如下:

Dα=|C1⋅Xα−X|

Dβ=|C2⋅Xβ−X| (5)

Dδ=|C3⋅Xδ−X|

其中, Dα , Dβ和 Dδ 分别表示 α,β 和 δ 与其他个体间的距离; Xα,Xβ 和 Xδ 分别代表 α,β 和 δ 当前位置; C1,C2,C3 是随机向量, X 是当前灰狼的位置。

X1=Xα−A1⋅(Dα)

X2=Xβ−A2⋅(Dβ) (6)

X3=Xδ−A3⋅(Dδ)

X(t+1)=X1+X2+X33 (7)

式(6)分别定义了狼群中 w 个体朝向 α,β 和 δ 前进的步长和方向,式(7)定义了ω的最终位置。

2.3 攻击猎物

    当猎物停止移动时,灰狼通过攻击来完成狩猎过程.为了模拟逼近猎物, a 的值被逐渐减小,因此 A 的波动范围也随之减小.换句话说,在迭代过程中,当 a 的值从2线性下降到0时,其对应的 A 的值也在区间 [−a,a] 内变化.如图3所 示,当 A 的值位于区间内时,灰狼的下一位置可以位于其当前位置和猎物位置之间的任意位置.当 |A|<1 时,狼群向猎物发起攻击(陷入局部最优).当 |A|>1 时,灰狼与猎物分离,希望找到更合适的猎物(全局最优).

   GWO算法还有另一个组件 C 来帮助发现新的解决方案.由式(4)可知, C 是[0,2]之 间 的随机值. C 表示狼所在的位置对猎物影响的随机权重, C>1 表示影响权重大,反之,表示影响权重小.这有助于GWO算法更随机地表现并支持探索,同时可在优化过程中避免陷入局部最优.另外,与 A 不同, C 是非线性减小的.这样,从最初的迭代到最终的迭代中,它都提供了决策空间中的全局搜索.在算法陷入了局部最优并且不易跳出时, C 的随机性在避免局部最优方面发挥了非常重要的作用,尤其是在最后需要获得全局最优解的迭代中.

2.仿真效果预览
matlab2022a仿真结果如下:

1.png
2.png
3.png
4.png

3.MATLAB核心程序

Iters = 1000;         %最大迭代次数
Num   = 50;           
%初始化种群的个体(可以在这里限定位置和速度的范围)
xpos  = Lmin + (Lmax-Lmin)*rand(Num,dim);
xpos0 = xpos;
Alpx  = zeros(1,dim);
Alps  = 1000;  
btx   = zeros(1,dim);
bts   = 1000;   
dltx  = zeros(1,dim);
dlts  = 1000; 
Pbest = zeros(1,Iters);
for t=1:Iters
    t
    for i=1:Num    
        if t > 1
           r1      = rand; 
           r2      = rand;
           A0      = 2*a*r1-a;%公式5
           C0      = 2*r2;    %公式6
           dd      = abs(C0*xpos(i,:)-xpos0(i,:));
           xpos(i,:) = xpos(i,:) - A0*dd;    
        end
        Yi        = func_F1_10(xpos(i,:),sel); 
        if Yi<Alps 
           Alps = Yi; 
           Alpx = xpos(i,:);
        end
        if Yi>Alps && Yi<bts 
           bts = Yi; 
           btx = xpos(i,:);
        end
        if Yi>Alps && Yi>bts && Yi<dlts 
           dlts = Yi; 
           dltx = xpos(i,:);
        end
    end
    a=2*(1-(t/Iters));  
    for i=1:Num
        for j=1:dim       
            r1      = rand; 
            r2      = rand;
            A1      = 2*a*r1-a;%公式5
            C1      = 2*r2;    %公式6
            D_alpha = abs(C1*Alpx(j)-xpos(i,j));%公式7
            X1      = Alpx(j)-A1*D_alpha;       %公式10
            
            r1      = rand; 
            r2      = rand;
            A2      = 2*a*r1-a; %公式5
            C2      = 2*r2; %公式6
            D_beta  = abs(C2*btx(j)-xpos(i,j)); %公式8
            X2      = btx(j)-A2*D_beta; %公式11    
            
            r1      = rand; 
            r2      = rand;
            A3      = 2*a*r1-a; %公式5
            C3      = 2*r2; %公式6
            D_delta = abs(C3*dltx(j)-xpos(i,j)); %公式9
            X3      = dltx(j)-A3*D_delta; %公式12           
            
            xpos(i,j) = (X1+X2+X3)/3;%公式13
        end
    end
    Pbest(t) = func_F1_10(Alpx,sel); 
end
02_060m
相关文章
|
算法 机器人 定位技术
【VRPTW】基于matlab秃鹰算法BES求解带时间窗的骑手外卖配送路径规划问题(目标函数:最优路径成本 含服务客户数量 服务时间 载量 路径长度)(Matlab代码实现)
【VRPTW】基于matlab秃鹰算法BES求解带时间窗的骑手外卖配送路径规划问题(目标函数:最优路径成本 含服务客户数量 服务时间 载量 路径长度)(Matlab代码实现)
328 0
|
算法 数据安全/隐私保护
基于PSO粒子群优化算法的256QAM星座图的最优概率整形matlab仿真,对比PSO优化前后整形星座图和误码率
本项目基于MATLAB 2022a仿真256QAM系统,采用概率星座整形(PCS)技术优化星座点分布,结合粒子群优化(PSO)算法搜索最优整形因子v,降低误码率,提升传输性能。核心程序包含完整优化流程。
400 0
|
11月前
|
算法 安全 定位技术
【创新未发表】【无人机路径巡检】三维地图路径规划无人机路径巡检GWO孙发、IGWO、GA、PSO、NRBO五种智能算法对比版灰狼算法遗传研究(Matlab代码实现)
【创新未发表】【无人机路径巡检】三维地图路径规划无人机路径巡检GWO孙发、IGWO、GA、PSO、NRBO五种智能算法对比版灰狼算法遗传研究(Matlab代码实现)
569 40
|
11月前
|
机器学习/深度学习 算法 Java
基于灰狼优化算法(GWO)解决柔性作业车间调度问题(Matlab代码实现)
基于灰狼优化算法(GWO)解决柔性作业车间调度问题(Matlab代码实现)
476 1
|
11月前
|
机器学习/深度学习 传感器 算法
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
437 7
|
11月前
|
机器学习/深度学习 传感器 算法
基于matlab瞬态三角哈里斯鹰算法TTHHO多无人机协同集群避障路径规划(目标函数:最低成本:路径、高度、威胁、转角)(Matlab代码实现)
基于matlab瞬态三角哈里斯鹰算法TTHHO多无人机协同集群避障路径规划(目标函数:最低成本:路径、高度、威胁、转角)(Matlab代码实现)
358 1
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化的XGBoost时间序列预测算法matlab仿真
本程序基于Matlab 2024b实现,结合粒子群优化(PSO)与XGBoost算法,用于时间序列预测。通过PSO优化XGBoost超参数,提升预测精度。程序包含完整注释与操作视频,运行后生成预测效果图及性能评估指标RMSE。
|
11月前
|
测试技术 UED 开发者
性能测试报告-用于项目的性能验证、性能调优、发现性能缺陷等应用场景
性能测试报告用于评估系统性能、稳定性和安全性,涵盖测试环境、方法、指标分析及缺陷优化建议,是保障软件质量与用户体验的关键文档。
|
12月前
|
机器学习/深度学习 算法 数据挖掘
【配送路径规划】基于螳螂虾算法MShOA求解带时间窗的骑手外卖配送路径规划问题(目标函数:最优路径成本 含服务客户数量 服务时间 载量 路径长度)研究(Matlab代码实现)
【配送路径规划】基于螳螂虾算法MShOA求解带时间窗的骑手外卖配送路径规划问题(目标函数:最优路径成本 含服务客户数量 服务时间 载量 路径长度)研究(Matlab代码实现)
403 0
|
12月前
|
机器学习/深度学习 算法 安全
【无人机协同】基于APSO PSO CS-PSO MP_PSO A-PSO GA多种算法实现无人机路径协同规划研究(Matlab代码复现)
【无人机协同】基于APSO PSO CS-PSO MP_PSO A-PSO GA多种算法实现无人机路径协同规划研究(Matlab代码复现)
294 0