【创新】基于黄金正弦和混沌映射思想的改进减法优化器算法(GSABO|SABO|GWO|WOA|DBO)

文摘   2024-09-22 19:38   河北  

   主要内容   

该程序采用黄金正弦和混沌映射思想改进减法优化器算法,由于减法优化器算法(缩写为SABO)为23年新提出来的智能优化算法,目前算法的直接应用还不是很多,对其进行改进的算法更是少之又少,因此,采用该算法发表文章会更加容易一些。通过改进算法(GSABO)与减法优化器原始算法(SABO)、灰狼算法(GWO)、鲸鱼优化算法(WOA)以及蜣螂优化算法(DBO)进行对比,验证改进算法具有显著优势,程序采用matlab编写,模块化编程,注释清晰。

(注:因智能算法存在随机性,不是每次效果都得到理想要求,可从统计学角度多次测试研究算法最优解均值、平均收敛时间、最优解迭代次数均值等维度做出更为严谨的结论)

1.减法优化器算法

该算法基于减法平均的原理,通过计算个体之间的差异以及目标函数值的差异,来更新和优化搜索代理的位置。如果新位置适应度值提高,则接受新位置,否则保持不变。

SABO具有寻优能力强、收敛速度快等特点,使其在解决优化问题时具有显著的优势。它可以应用于各种需要寻找最优解的场景,如机器学习、数据挖掘、工程设计等领域。


2.黄金正弦和混沌映射策略

黄金正弦策略主要表现在遍历搜索空间方面,其结合了黄金分割和正弦函数的原理,具有出色的优化能力,能有效地寻找多峰函数的全局最优解,在不同场景优化过程中都有不俗的表现,得益于其对初始值和约束条件的设置相对不敏感。
混沌映射优势主要体现在全局最优解寻优中,其通过改进原有粒子迭代方式,增强粒子的随机性和多样性,从而使得算法中的粒子分布更加均匀,有效避免算法陷于“局部最优”。
  部分代码   

%% 初始化参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 这几个参数是黄金正弦算法的初始化参数a=-pi;b=pi;gold=double((sqrt(5)-1)/2);      % golden proportion coefficient, around 0.618x1=a+(1-gold)*(b-a);x2=a+gold*(b-a);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 采用混沌映射初始化粒粒子,10种混沌映射类型选择,1-10分别为,tent、Logistic、Cubic、chebyshev、Piecewise、sinusoidal、Sine,ICMIC, Circle,BernoulliX = repmat(lo,N,1)+chaos(numm,N,m).* repmat((hi-lo),N,1);  %计算粒子的适应度值for i =1:N    L=X(i,:);    fit(i)=fitness(L);end%找到最佳粒子[fbest,idx]=min(fit);xbest = X(idx,:);%% 开始主循环for t=1:T  % algorithm iteration    DX=zeros(N,m);    for i=1:N        %% based om Eq(4)        for j=1:N            I = round(1+rand+rand);            for d=1:m                DX(i,d)=DX(i,d)+(X(j,d)-I.*X(i,d)).*sign(fit(i)-fit(j));  %SABO算法主要的更新方式            end        end        %采用混沌映射的方式替换随机值r        C1=chaos(5,1,m);  %10种 混沌映射类型选择,1-10分别为,tent、Logistic、Cubic、chebyshev、Piecewise、sinusoidal、Sine,ICMIC, Circle,Bernoulli        %这里选用了第5种混沌映射,Piecewise。        xold = X(i,:);  %记录当前X(i,:),如果采用SABO算法适应度值没有降低,就选用这个xold用黄金正弦算法更新粒子位置                X(i,:)= X(i,:)+((C1.*DX(i,:))./(N));   %采用SABO算法更新粒子位置        

  结果一览   

   “阅读原文”获取程序源码   

电力程序
打造电力专业最新原创程序集散地,免费分享基础编程资料,在这里,带着希望而来,带着知识而归~
 最新文章