文章目录
【获取资源
请见文章第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. 资源获取
可以获取完整代码资源。