✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
个人主页:Matlab科研工作室
个人信条:格物致知。
更多Matlab仿真内容点击
智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统
信号处理 图像处理 路径规划 元胞自动机 无人机
秃鹰搜索算法(Bald Eagle Search Algorithm,简称BESA)是一种基于鹰的捕食行为的启发式优化算法。该算法通过模拟秃鹰的捕食策略,以寻找最优解。然而,原始的BESA算法在解决复杂问题时存在一些不足之处。
为了进一步提高搜索算法的性能,本文提出了一种融合黄金正弦算法和纵横交叉策略的秃鹰搜索算法(GSCBES)。黄金正弦算法(Golden Sine Cosine Algorithm,简称GSCA)是一种基于正弦和余弦函数的全局优化算法,具有较好的全局搜索能力。纵横交叉策略(Vertical and Horizontal Crossover Strategy,简称VHCS)是一种改进的优化策略,通过对搜索空间进行纵横交叉操作,能够更好地探索解空间。
在GSCBES算法中,首先利用GSCA算法进行全局搜索,以快速找到一个较好的初始解。然后,通过引入VHCS策略对搜索空间进行纵横交叉操作,以进一步优化解的质量。该策略能够有效地增加搜索空间的多样性,避免陷入局部最优解。
实验结果表明,GSCBES算法在解决多种优化问题时具有较好的性能。与原始BESA算法相比,GSCBES算法能够更快地找到全局最优解,并且具有更好的收敛性和稳定性。同时,该算法还具有较高的鲁棒性和可扩展性,适用于不同类型的优化问题。
综上所述,融合黄金正弦算法和纵横交叉策略的秃鹰搜索算法(GSCBES)是一种有效的优化算法,能够在复杂问题中寻找全局最优解。该算法的提出为优化问题的求解提供了一种新的思路和方法。随着进一步的研究和应用,相信GSCBES算法将在实际问题中发挥重要作用。
⛄ 部分代码
%% Plot the Drone Trajectory
t = state.time;
x = state.signals.values(:,1);
y = state.signals.values(:,2);
z = state.signals.values(:,3);
phi = state.signals.values(:,4);
theta = state.signals.values(:,5);
psi = state.signals.values(:,6);
xr = reference.signals.values(:,1);
yr = reference.signals.values(:,2);
zr = reference.signals.values(:,3);
fx = force.signals.values(:,1);
fy = force.signals.values(:,2);
fz = force.signals.values(:,3);
figure(1)
subplot(3,1,1)
plot(t,x,'r')
xlabel('t[s]')
ylabel('x[m]')
hold on; grid on
plot(t,xr,'--')
legend('Actual Trajectory', 'Reference Trajectory')
subplot(3,1,2)
plot(t,y,'b')
xlabel('t[s]')
ylabel('y[m]')
hold on; grid on
plot(t,yr,'--')
legend('Actual Trajectory', 'Reference Trajectory')
subplot(3,1,3)
plot(t,fx,'r')
xlabel('t[s]')
ylabel('F[N]')
hold on; grid on
plot(t,fy,'b')
legend('Fx', 'Fy')
[1]赵沛雯,张达敏,张琳娜,等.融合黄金正弦算法和纵横交叉策略的秃鹰搜索算法[J].计算机应用, 2023, 43(1):10.DOI:10.11772/j.issn.1001-9081.2021111868.