基于变因子加权学习与邻代维度交叉策略的改进乌鸦算法 -附代码

本文介绍了一种针对高维优化问题的改进乌鸦搜索算法,通过动态调整模型参数、引入多个体变因子加权学习机制,增强种群多样性,以及采用邻代维度交叉策略提升局部极值逃逸能力。算法通过结合多种策略,旨在提高优化精度和全局搜索效率。
摘要由CSDN通过智能技术生成

基于变因子加权学习与邻代维度交叉策略的改进CSA算法.


摘要:针对乌鸦搜索算法( CSA) 优化高维问题时存在寻优精度低、局部极值逃逸能力弱等问题,提出一种耦 合多个体变因子加权学习机制与最优个体邻代维度交叉策略的改进乌鸦搜索算法( ICSA) . 该算法随迭代进程动态修 正模型控制参数( 感知概率和飞行长度) ,利用多个体的变因子加权学习机制保证子代个体同时继承跟随乌鸦与上代 最优个体的位置信息以避免单个体继承的过快种群同化并减小陷入局部极值的风险; 同时构建历史最优个体的邻代 维度交叉策略,并按维度绝对差异大的优先替换原则更新最优个体位置,以保留历代最优维度信息并提高算法的局部 极值逃逸能力.

1.乌鸦搜索算法

基础乌鸦搜索算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/108800505

2.改进乌鸦搜索算法( ICSA)

2.1 模型参数动态递变规则

构造参数 A P AP AP随迭代 t t t 动态改变的3种递变函数分别为:
A P L D F = A P max ⁡ − t × ( A P max ⁡ − A P min ⁡ t max ⁡ ) A P_{L D F}=A P_{\max }-t \times\left(\frac{A P_{\max }-A P_{\min }}{t_{\max }}\right) APLDF=APmaxt×(tmaxAPmaxAPmin)

A P C a D F = ( A P max ⁡ − A P min ⁡ ) × ( 1 − ( t t max ⁡ ) α ) 1 / α + A P min ⁡ A P_{C a D F}=\left(A P_{\max }-A P_{\min }\right) \times\left(1-\left(\frac{t}{t_{\max }}\right)^{\alpha}\right)^{1 / \alpha}+A P_{\min } APCaDF=(APmaxAPmin)×(1(tmaxt)α)1/α+APmin

A P C v D F = A P max ⁡ × exp ⁡ ( log ⁡ ( A P min ⁡ A P max ⁡ ) × t t max ⁡ ) A P_{C v D F}=A P_{\max } \times \exp \left(\log \left(\frac{A P_{\min }}{A P_{\max }}\right) \times \frac{t}{t_{\max }}\right) APCvDF=APmax×exp(log(APmaxAPmin)×tmaxt)

其中, A P m a x AP_{max} APmax A P m i n AP_{min} APmin分别为参数 A P AP AP 值的最大和最小值, 常系数 α > 1 α > 1 α1. 根据式中参数 AP 的 3 种递减曲线形 态,可依次命名为线性下降型( Linear Descending Form, LDF) 、凹形下降型( Concave Descending Form,CaDF) 和 凸形下降型( Convex Descending Form,CvDF) . 参数 f l fl fl 也遵循相同递变规则,类比式可定义 3 种 f l fl fl 递变函数 并简记为 f l L D F fl^{LDF} flLDF f l C a D F fl^{CaDF} flCaDF f l C v D F fl^{CvDF} flCvDF

2.2 基于多个体的变因子加权学习策略

假定乌鸦在群体交流过程中,能够通过信息交流 与共享方式感知上代乌鸦群体的最优位置( 食物源) ; 子代乌鸦 i i i在跟随乌鸦 j j j学习的同时可根据感知的上代 最优位置进行潜在食物源的再寻觅并探索发现新食物源. 该方式的个体更新策略能够保证子代同时向多乌 鸦个体继承位置信息而有利于拓广潜在食物位置的探 寻并改善群体多样性,相应数学表达为:
x i , t + 1 = { x i , t + r i ( 1 , d ) × f l i , t × δ , r j ≥ A P i , t  a random position,   otherwise  x^{i, t+1}=\left\{\begin{array}{cl} x^{i, t}+r_{i}(1, d) \times f l^{i, t} \times \delta, & r_{j} \geq A P^{i, t} \\ \text { a random position, } & \text { otherwise } \end{array}\right. xi,t+1={xi,t+ri(1,d)×fli,t×δ, a random position, rjAPi,t otherwise 

δ = ( λ t m j , t + ( 1 − λ t ) b t − 1 − x i , t ) \delta=\left(\lambda^{t} m^{j, t}+\left(1-\lambda^{t}\right) b^{t-1}-x^{i, t}\right) δ=(λtmj,t+(1λt)bt1xi,t)

其中, b t − 1 b^{t-1} bt1为第 t − 1 t-1 t1代种群中被感知的最优食物位置, λ t \lambda^t λt为第 t t t次迭代时加权学习因子, r i ( 1 , d ) r_i(1,d) ri(1,d) 为[0,1]区间 内的 d d d维随机向量。

2.3基于邻代维度交叉策略的最优个体更新机制

为融合历代最优解的不同维度信息并实现较优分 量的最大化有效保留,提出一种基于邻代维度交叉策 略的最优个体更新机制,通过邻代最优个体的维度差 异性比对并按绝对差异最大优先交叉原则交叉邻代最 优解分量,若交叉后其适应度值更优则执行交叉,反之 则不交叉. 该更新策略的数学化表达为:
m k , h i , t + 1 = { m k j , t , f ( m j ,  Cross  i , t )  is better than  f ( m i , t ) m k i , i t e r ,  otherwise  m_{k, h}^{i, t+1}=\left\{\begin{array}{lc} m_{k}^{j, t}, & f\left(m_{j, \text { Cross }}^{i, t}\right) \text { is better than } f\left(m^{i, t}\right) \\ m_{k}^{i, i t e r}, & \text { otherwise } \end{array}\right. mk,hi,t+1={mkj,t,mki,iter,f(mj, Cross i,t) is better than f(mi,t) otherwise 
其中, m k , h i , t + 1 m_{k, h}^{i, t+1} mk,hi,t+1 t + 1 t+1 t+1次迭代时乌鸦 i i i的维度 k k k交叉 h h h次后的位置, m j ,  Cross  i , t m_{j, \text { Cross }}^{i, t} mj, Cross i,t为乌鸦 i i i与乌鸦 j j j交叉维度 k k k后的位置, k k k 为邻代最优解的维度绝对差异序列中排序 h h h大的维度角标( 维度差异计算公式为 Δ k = ∣ ∣ m k j , t ∣ − ∣ m k i , t ∣ ∣ , h = 1 , 2 , . . . , ∣ R C r o s s × d ∣ \Delta _k =||m_k^{j,t}|-|m_k^{i,t}||,h=1,2,...,|R_{Cross}\times d| Δk=mkj,tmki,t,h=1,2,...,RCross×d为 乌鸦 i i i执行交叉操作的次数 ∣ R C r o s s × d ∣ |R_{Cross}\times d| RCross×d为最大交叉次数, R C r o s s R_{Cross} RCross为维度交叉比例) .

4.实验结果

请添加图片描述

5.参考文献

[1]赵世杰,高雷阜,于冬梅,徒君.基于变因子加权学习与邻代维度交叉策略的改进CSA算法[J].电子学报,2019,47(01):40-48.

6.Matlab代码

7.python代码

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值