✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
智能优化算法 神经网络预测 雷达通信 无线传感器
信号处理 图像处理 路径规划 元胞自动机 无人机 电力系统
⛄ 内容介绍
象鼻虫是一种长有细长鼻部的昆虫,来自Curculionoide超科约97000种。它们中的大多数认为害虫会造成环境破坏,但一些种类,如小麦象鼻虫、玉米象鼻虫和棉铃象鼻虫,都会造成巨大的危害对农作物,特别是谷物的损害。本研究提出了一种新的基于群体的进化算法,称为“象甲损伤优化算法”(WDOA)象鼻虫对农作物或农产品的飞力、鼻力和破坏力。用12个基准单峰和多峰人工景观或优化测试功能。此外,拟议的WDOA用于五项工程以检查其解决问题的稳健性。问题包括旅行推销员问题(TSP)、n-Queens问题、投资组合问题、最优库存控制(OIC)问题、,和装箱问题(BPP)。所有测试的功能都与广泛使用的基准测试相比较粒子群优化(PSO)、遗传算法(GA)、和谐搜索算法(HS)算法、帝国主义竞争算法(ICA)、萤火虫算法(FA)和差异进化(DE)算法。此外,所有问题都用DE、FA和HS算法进行了测试。通过提供精确性和合理的速度,所提出的算法在所有函数和问题上都表现出了鲁棒性和速度。
⛄ 部分代码
%% Weevil Damage Optimization Algorithm (WDOA) 投资组合问题
% 纸:
% http://www.growingscience.com/jfs/Vol2/jfs_2022_17.pdf
%%-------------------------------------------- ----------
% 投资组合是金融中的一个定义,它基于接收一些价值(价格)
% 作为股票或任何其他金融资产,并通过旨在
% 增加回报并降低风险。最后,那些具有最高
% 回报和最低风险,将被视为称为有效边界的向量。
% 通常情况下,投资组合通过均值-方差、半均值等传统方法求解
%方差和平均绝对偏差但并不总是保证最佳解决方案。c;
清除;
关闭所有;
%% 运行应用
数据=加载('我的数据');
R=数据.R;
nAsset=size(R,2);
MinRet=min(均值(R,1));
MaxRet=max(平均值(R,1));
nSol=10;
DR=linspace(MinRet,MaxRet,nSol);
型号.R=R;
model.method='cvar';
模型.alpha=0.95;
W=zeros(nSol,nAsset);
WReturn=zeros(nSol,1);
WRisk=zeros(nSol,1);
对于 k=1:nSol
model.DesiredRet=DR(k);
disp(['Running for Solution #' num2str(k) ':']);
%------------------------------------
out = RunWDOA(模型);
%------------------------------------
显示('______________________________');
显示('');
W(k,:)=out.BestSol.Out.w;
WReturn(k)=out.BestSol.Out.ret;
WRisk(k)=out.BestSol.Out.rsk;
结尾
EF=find(~IsDominated(WRisk,WReturn));
%% 结果
数字;
plot(WRisk,WReturn,'y','LineWidth',2);
坚持,稍等;
plot(WRisk(EF),WReturn(EF),'r','LineWidth',4);
legend('','有效边界');
斧头 = gca;
ax.FontSize = 14;
ax.FontWeight='粗体';
设置(gca,'颜色','w')
网格上;
xlabel('风险');
ylabel('返回');
数字;
plot(out.BestCost,'k', 'LineWidth', 2);
xlabel('ITR');
ylabel('成本价值');
斧头 = gca;
ax.FontSize = 14;
ax.FontWeight='粗体';
设置(gca,'颜色','c')
网格上;
出.BestSol.Out
⛄ 运行结果
⛄ 参考文采
象鼻虫伤害优化算法及其应用
❤️ 关注我领取海量matlab电子书和数学模型资料
❤️部分分析引用网络文档,若有版权联盟博主删除