1 简介

针对海鸥算法( SOA) 在求解最优化问题中的不足和算法性能依赖于参数的选取等缺点,提出一种基于惯性权重的海鸥优化算法( Inertia Seagull optimization algorithm,I-SOA) ,采用非线性递减的惯性权重计算附加变量 A 的值来调整的海鸥的位置,通过莱维飞行和随机指数值增加海鸥飞行的随机性,增强算法搜索寻优的全局能力,避免算法寻优搜索陷入局部优值; 通过12 个基准测试函数将 I-SOA 与标准SOA 算法进行测试比较. 实验对比结果表明,所提出的 I-SOA 优化算法具有较快的收敛速度、较高的求解精度和全局收敛能力.

【优化求解】基于非线性惯性权重的海鸥优化算法(ISOA)求解单目标优化问题附matlab代码_搜索

【优化求解】基于非线性惯性权重的海鸥优化算法(ISOA)求解单目标优化问题附matlab代码_优化算法_02

【优化求解】基于非线性惯性权重的海鸥优化算法(ISOA)求解单目标优化问题附matlab代码_搜索_03

【优化求解】基于非线性惯性权重的海鸥优化算法(ISOA)求解单目标优化问题附matlab代码_优化算法_04

【优化求解】基于非线性惯性权重的海鸥优化算法(ISOA)求解单目标优化问题附matlab代码_搜索_05

【优化求解】基于非线性惯性权重的海鸥优化算法(ISOA)求解单目标优化问题附matlab代码_搜索_06

2 部分代码

%%% Designed and Developed by Dr. Gaurav Dhiman (http://dhimangaurav.com/) %%%

function[Score,Position,Convergence]=SOA(Search_Agents,Max_iterations,Lower_bound,Upper_bound,dimension,objective)

Position=zeros(1,dimension);

Score=inf; 

Positions=init(Search_Agents,dimension,Upper_bound,Lower_bound);

Convergence=zeros(1,Max_iterations);

l=0;

while l<Max_iterations

    for i=1:size(Positions,1)  

        Flag4Upper_bound=Positions(i,:)>Upper_bound;

        Flag4Lower_bound=Positions(i,:)<Lower_bound;

        Positions(i,:)=(Positions(i,:).*(~(Flag4Upper_bound+Flag4Lower_bound)))+Upper_bound.*Flag4Upper_bound+Lower_bound.*Flag4Lower_bound;               

        fitness=objective(Positions(i,:));

        if fitness<Score 

            Score=fitness; 

            Position=Positions(i,:);

        end

    end

    Fc=2-l*((2)/Max_iterations); 

    for i=1:size(Positions,1)

        for j=1:size(Positions,2)     

            r1=rand(); 

            r2=rand(); 

            A1=2*Fc*r1-Fc; 

            C1=2*r2; 

            b=1;             

            ll=(Fc-1)*rand()+1;  

            D_alphs=Fc*Positions(i,j)+A1*((Position(j)-Positions(i,j)));                   

            X1=D_alphs*exp(b.*ll).*cos(ll.*2*pi)+Position(j);

            Positions(i,j)=X1;

        end

    end

    l=l+1;    

    Convergence(l)=Score;

end

3 仿真结果

【优化求解】基于非线性惯性权重的海鸥优化算法(ISOA)求解单目标优化问题附matlab代码_权重_07

【优化求解】基于非线性惯性权重的海鸥优化算法(ISOA)求解单目标优化问题附matlab代码_权重_08

4 参考文献

[1]秦维娜,张达敏,尹德鑫,蔡朋宸.一种基于非线性惯性权重的海鸥优化算法[J/OL].小型微型计算机系统:1-8[2021-05-06].

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【优化求解】基于非线性惯性权重的海鸥优化算法(ISOA)求解单目标优化问题附matlab代码_搜索_09