【群智能算法改进】一种改进的蜣螂优化算法IDBO[3](立方混沌映射Cubic、融合鱼鹰勘探策略、混合高斯柯西变异)【Matlab代码#92】
文章目录
- 【`获取资源`请见文章第5节:资源获取】
- 1. 原始DBO算法
- 2. 改进后的IDBO算法
- 2.1 立方混沌映射Cubic种群初始化
- 2.2 融合鱼鹰勘探策略
- 2.3 混合高斯柯西变异
- 3. 部分代码展示
- 4. 仿真结果展示
- 5. 资源获取
【获取资源
请见文章第5节:资源获取】
1. 原始DBO算法
详细介绍此处略,可参考DBO算法介绍
2. 改进后的IDBO算法
2.1 立方混沌映射Cubic种群初始化
立方混沌映射是混沌映射中最常用的方法之一。在解决优化问题时,立方混沌映射可以生成0到1之间的随机序列,具有更好的遍历性和随机性。立方映射函数可以表示如下:
立方映射表达式也可以表示为:
在上面公式中, ρ \rho ρ表示立方映射因子(控制参数),序列值 x n ∈ ( 0 , 1 ) x_{n} \in (0,1) xn∈(0,1),实验结果表明,当初始值为 x 0 = 0.3 , ρ = 2.595 x_{0}= 0.3,\rho =2.595 x0=0.3,ρ=2.595时产生的混沌序列具有良好的随机性,并且处于完全混沌状态。
2.2 融合鱼鹰勘探策略
考虑到在蜣螂优化算法的迭代过程中,存在蜣螂个体无法与其他蜣螂通信,并且具有许多参数的弊端,这很容易导致搜索效率低和局部最优解问题。而鱼鹰优化算法的全局探索策略作为该算法的核心步骤,赋予了算法识别最优区域和逃离局部最优的探索能力。因此,采用鱼鹰优化算法的全局探索策略来代替蜣螂算法中某阶段的更新公式。新公式如下面所示:
其中, r r r是[0,1]之间的随机数, I I I的值是1或者2。
2.3 混合高斯柯西变异
在原始蜣螂优化算法迭代过程中,蜣螂个体的快速同化可能会导致种群聚集在当前最优位置附近,从而陷入局部最优解而无法发现全局最优解。为了解决这个问题,引入变异算子对个体进行干扰,以增加种群的多样性,跳出局部最优解。柯西和高斯变异是两种常用的变异算子,但各自存在一些缺点。因此,提出一种融合了柯西变异和高斯变异各自的优点的自适应高斯-柯西混合变异策略。
3. 部分代码展示
%% 清除环境变量
clear;
close all;
clc;%% 参数设置
N = 30; % 种群规模
Function_name = 'F1'; % 从F1到F23的测试函数的名称
Max_iteration = 500; % 最大迭代次数
cnt_max = 2;
% 加载所选基准函数的详细信息
[lb, ub, dim, fobj] = Get_Functions_details(Function_name);Curve_GWO = zeros(1, Max_iteration);
Curve_SSA = zeros(1, Max_iteration);
Curve_WOA = zeros(1,Max_iteration);
Curve_NGO = zeros(1,Max_iteration);
Curve_DBO = zeros(1,Max_iteration);
Curve_IDBO = zeros(1,Max_iteration);for cnt = 1:cnt_max% 初始化种群位置X = initialization(N, dim, ub, lb);[GWO_Best_score(cnt), GWO_Best_pos(cnt, :), GWO_Curve] = GWO(X, N, Max_iteration, lb, ub, dim, fobj); [SSA_Best_score(cnt), SSA_Best_pos(cnt, :), SSA_Curve] = SSA(X, N, Max_iteration, lb, ub, dim, fobj); [WOA_Best_score(cnt), WOA_Best_pos(cnt, :), WOA_Curve]=WOA(X,N,Max_iteration,lb,ub,dim,fobj);[NGO_Best_score(cnt), NGO_Best_pos(cnt, :), NGO_Curve] = NGO(X,N,Max_iteration,lb,ub,dim,fobj);[DBO_Best_score(cnt), DBO_Best_pos(cnt, :), DBO_Curve]=DBO(X,N,Max_iteration,lb,ub,dim,fobj);[IDBO_Best_pos(cnt, :),IDBO_Best_score(cnt), IDBO_Curve]=IDBO(N,Max_iteration,lb,ub,dim,fobj);
4. 仿真结果展示
5. 资源获取
可更换其他群智能算法,获取完整代码资源。👇👇👇👀名片