⛄一、运行结果
✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。
更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)
⛄二、秃鹰算法简介
秃鹰遍布于北美洲地区, 飞行中视力敏锐, 观察能力优秀. 以捕食鲑鱼为例, 秃鹰首先会基于个体和种群到鲑鱼的浓度来选择搜索空间, 朝一个特定区域飞行; 其次在选定搜索空间内搜索水面, 直到发现合适的猎物; 最后秃鹰会逐渐改变飞行高度, 快速向下俯冲, 从水中成功捕获鲑鱼等猎物.BES 算法以秃鹰捕食猎物的行为进行模拟, 将其分为选择搜索空间、搜索空间猎物和俯冲捕获猎物三个阶段, 数学模型如下所示:
- 选择搜索空间: 秃鹰随机选择搜索区域, 通过判断猎物数目来确定最佳搜寻位置, 便于搜索猎物,该阶段秃鹰位置 Pi,new 更新由随机搜索的先验信息乘以 α 来确定. 该行为数学模型描述为:
式中:α 表示控制位置变化参数, 变化范围为 (1.5,2);r 为 (0,1) 间随机数;Pbest 为当前秃鹰搜索确定的最佳搜索位置;Pmean 为先前搜索结束后秃鹰的平均分布位置;Pi 为第 i 只秃鹰位置. - 搜索空间猎物 (探索): 秃鹰在选定搜索空间内以螺旋形状飞行搜索猎物, 加速搜索进程, 寻找最佳俯冲捕获位置. 螺旋飞行数学模型采用极坐标方程进行位置更新, 如下所示:
- 俯冲捕获猎物 (利用): 秃鹰从搜索空间的最佳位置快速俯冲飞向目标猎物, 种群其他个体也同时向最佳位置移动并攻击猎物, 运动状态仍用极坐标方程描述, 如下:
2 莱维飞行策略
莱维飞行源于 Levy 的对称莱维稳定分布积分,是一种生成特殊的随机步长方法, 飞行步长服从重尾的指数概率分布 (Levy 分布). 其服从参数 (步长) 为 s 的分布公式为:
⛄三、部分源代码
clc;clear;close all;format compact
addpath(genpath(‘LSSVMlabv1_8’));
addpath(genpath(‘vmd-verify’));
load data.mat
%%
% data=xlsread(‘all.xlsx’,‘Sheet1’);
% x=data(:,2:end);
alpha = 2000; % moderate bandwidth constraint
tau = 0; % noise-tolerance (no strict fidelity enforcement)
K = 5; % 3 modes
DC = 0; % no DC part imposed
init = 1; % initialize omegas uniformly
tol = 1e-7;
x=[];
for i=2:size(data,2)
if i2||i8
[imf, u_hat, omega] = VMD(data(:,i), alpha, tau, K, DC, init, tol);
x=[x;imf];
else
x=[x;data(:,i)‘];
end
end
x=x’;
y=data(:,1);
%归一化
[xs,mappingx]=mapminmax(x’,0,1);x=xs’;
[ys,mappingy]=mapminmax(y’,0,1);y=ys’;
%划分数据
n=size(x,1);
% M=randperm(n);
% train_x=x(M(1:round(n0.91))😅;
% test_x=x(M(round(n0.91):end)😅;
% train_y=y(M(1:round(n0.91))😅;
% test_y=y(M(round(n0.91):end)😅;
m=round(n*0.91);%前70%训练,对最后30%进行预测
train_x=x(1:m,:);
test_x=x(m+1:end,:);
train_y=y(1:m,:);
test_y=y(m+1:end,:);
%% ssa优化lssvm 参数
typeID=‘function estimation’;
kernelnamescell=‘RBF_kernel’;
fobj=@(x)fitness(x,train_x,train_y,test_x,test_y,typeID,kernelnamescell,mappingy);
nPop=20;
MaxIt=50;
low=[1 1];
high=[1000 1000];dim=2;
[SS,x,trace]=BES(nPop,MaxIt,low,high,dim,fobj);
[y,predict_value,true_value]=fitness(x.pos,train_x,train_y,test_x,test_y,typeID,kernelnamescell,mappingy);
figure;plot(trace);title(‘适应度曲线/mse’)
%% 利用寻优得到的参数重新训练lssvm
disp(‘寻优得到的参数分别是:’)
gam=x.pos(1)
sig2=x.pos(2)
disp(‘结果分析’)
rmse=sqrt(mean((true_value-predict_value).^2));
disp([‘根均方差(RMSE):’,num2str(rmse)])
mae=mean(abs(true_value-predict_value));
disp([‘平均绝对误差(MAE):’,num2str(mae)])
mape=mean(abs(true_value-predict_value)/true_value);
disp([‘平均相对百分误差(MAPE):’,num2str(mape*100),‘%’])
SST = sum((predict_value-mean(predict_value)).^2);
SSE = sum((predict_value-true_value).^2);
R2 = 1-SSE/SST;
disp([‘决定系数R2为: ‘,num2str(R2)])
fprintf(’\n’)
figure
plot(true_value,‘rs-’,‘linewidth’,3)
hold on
plot(predict_value,‘bo-’,‘linewidth’,3)
legend(‘实际值’,‘预测值’)
grid on
title(‘BES-LSSVM’)
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]韩杰, 陈峰, 郑肖鸣. (2018). 基于鲁棒极限学习机的电力短期负荷预测方法研究. 电力系统保护与控制, 46(3), 38-44.
[2]张津津, 杨大庆, 刘双全, 程丽丽. (2019). 鲁棒极限学习机在电力负荷预测中的应用研究. 电力系统保护与控制, 47(2), 53-59.
[3]李楠, 李宏悦, 张鹏程. (2018). 基于鲁棒极限学习机的石油价格预测研究. 经济信息, (11), 84-88.
[4]吴琳娜, 熊小航, 高跃鹏, 等. (2019). 基于鲁棒极限学习机的航空客运量预测方法研究. 现代计算机(专业版), (6), 89-92.
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合