【群智能算法】一种改进的蜣螂优化算法IDBO【Matlab代码#11】

文章介绍了对原始DBO算法的改进,包括使用Chebyshev混沌映射进行种群初始化以提高多样性,应用黄金正弦策略增强全局搜索能力,并通过动态权重策略平衡全局寻优与局部开发。代码示例展示了种群初始化和位置更新过程,实验结果显示IDBO算法在F1函数上的优化性能显著优于原始DBO算法。
摘要由CSDN通过智能技术生成


获取资源请见文章第5节:资源获取】


1. 原始DBO算法

详细介绍此处略,可参考DBO算法介绍

2. 改进后的IDBO算法

1.1 Chebyshev 混沌映射种群初始化

考虑到原始DBO算法中采用的是随机种群初始化,种群多样性不足的问题,提出基于Chebyshev 混沌映射的种群初始化方法,可以使得种群资源在搜索空间中更加均衡的分配。
在这里插入图片描述

1.2 黄金正弦策略

受到正弦函数的启发,利用数学中的正弦函数进行迭代寻优,具有较强的全局搜索能力.同时在位置更新过程中引入黄金分割系数来使算法能够对局部区域进行充分搜索,使全局搜索和局部开发能力达到良好的平衡。下面是蜣螂个体利用黄金正弦策略进行位置更新的公式:
在这里插入图片描述

1.3 动态权重策略

在偷窃行为蜣螂位置更新公式中增加如下的动态权重策略公式:
在这里插入图片描述
k1在迭代前期较大,使蜣螂在最优蜣螂附近探索更优的区域,增加算法的全局寻优能力;k2在迭代后期逐渐增加,使蜣螂具备跳出局部最优的能力。此策略的加入,可以平衡算法全局寻优和局部开发的能力。

3. 部分代码展示

% 种群初始化
% ★★改进1:Chebyshev映射★★
x = Chebyshev(pop, dim, ub, lb);
for i = 1 : pop
    fit(i) = fobj(x(i,:)) ;                       
end
pFit = fit;                       
pX = x; 
XX = pX;    
[fMin, bestI] = min(fit); % fMin是全局最优适应度值
bestX = x(bestI,:);       % bestX是与fMin对应的全局最优解
% 偷窃行为蜣螂的位置更新
% ★★改进3:位置更新动态权重系数★★
k1 = 1-((t)^3)/((M)^3);
k2 = ((t)^3)/((M)^3);
for j = 20 : pop       
    x(j,:) = ...;
    x(j,:) = Bounds(x(j,:), lb, ub);
    fit(j) = fobj(x(j,:)) ;
end

4. 效果图展示

在这里插入图片描述
在这里插入图片描述

函数:F1
DBO:最差值: 2.2954e-115, 最优值: 1.8032e-155, 平均值: 8.4992e-117, 标准差: 4.1991e-116
IDBO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0

5. 资源获取

可以获取完整代码资源。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天`南

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

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

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

打赏作者

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

抵扣说明:

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

余额充值