基于象虫损害优化算法的投资组合问题(Matlab代码实现)

news2025/4/19 16:32:05

 📝个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码及文章阅读

💥1 概述

象鼻虫是一种长着细长鼻子的昆虫,来自Curculionoide超科,约有97000种。其中大多数认为害虫会造成环境破坏,但一些种类,如小麦象鼻虫、玉米象鼻虫和棉铃象鼻虫,以对农作物,尤其是谷物造成巨大破坏而闻名。这项研究提出了一种新的基于群的元启发式算法,称为象鼻虫损伤优化算法(WDOA),该算法模拟了象鼻虫的飞行能力、鼻部力量和对作物或农产品的损伤能力。用12个基准单峰和多峰人工景观或优化测试函数对所提出的算法进行了测试。此外,所提出的WDOA被用于五个工程问题,以检查其解决问题的鲁棒性。问题包括旅行推销员问题(TSP)、n-Queens问题、投资组合问题、最优库存控制问题(OIC)和装箱问题(BPP)。所有测试的功能都与广泛使用的粒子群优化(PSO)、遗传算法(GA)、和谐搜索(HS)算法、帝国主义竞争算法(ICA)、萤火虫算法(FA)和差分进化(DE)算法等基准算法进行了比较。此外,所有问题都用DE、FA和HS算法进行了测试,所提出的算法通过提供精确性和合理的速度,在所有函数和问题上表现出鲁棒性和速度。

算法文章来源:

然后本文基于象鼻虫损害优化算法的TSP问题求解,用Matlab代码实现。

📚2 运行结果

 

 部分代码:

data=load('mydata');
R=data.R;
nAsset=size(R,2);
MinRet=min(mean(R,1));
MaxRet=max(mean(R,1));

nSol=10;

DR=linspace(MinRet,MaxRet,nSol);
model.R=R;
model.method='cvar';
model.alpha=0.95;

W=zeros(nSol,nAsset);
WReturn=zeros(nSol,1);
WRisk=zeros(nSol,1);

for k=1:nSol
model.DesiredRet=DR(k);
disp(['Running for Solution #' num2str(k) ':']);
%-----------------------------------
out = RunWDOA(model);
%-----------------------------------
disp('__________________________');
disp('');
W(k,:)=out.BestSol.Out.w;
WReturn(k)=out.BestSol.Out.ret;
WRisk(k)=out.BestSol.Out.rsk;
end

EF=find(~IsDominated(WRisk,WReturn));

%% Results
figure;
plot(WRisk,WReturn,'y','LineWidth',2);
hold on;
plot(WRisk(EF),WReturn(EF),'r','LineWidth',4);
legend('','Efficient Frontier');
ax = gca; 
ax.FontSize = 14; 
ax.FontWeight='bold';
set(gca,'Color','w')
grid on;
xlabel('Risk');
ylabel('Return');

figure;
plot(out.BestCost,'k', 'LineWidth', 2);
xlabel('ITR');
ylabel('Cost Value');
ax = gca; 
ax.FontSize = 14; 
ax.FontWeight='bold';
set(gca,'Color','c')
grid on;

out.BestSol.Out

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码及文章阅读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我的写作心得

前言 首先,博主是一个在校高中生,平常可以说几乎没有时间来创作文章,所以说断更也是很正常的 时隔半年,我也在csdn累计了400多个粉丝(截止我创作这篇文章的时候),从之前的一无所有&#xff0c…

PCL交互选择ROI区域

PCL的配置和如何配准点云可见博主之前的博客 win10环境下PCL安装和配置回顾(一)_竹叶青lvye的博客-CSDN博客_pcl win10 win10环境下PCL安装和配置回顾(二)_竹叶青lvye的博客-CSDN博客_win10 安装pcl PCL - 3D点云配准(registra…

状态保持-JWT

“ Web的状态保持技术 -JWT(Json Web Token)” 在分布式微服务技术流行的今天,大型网站对JWT的使用愈加频繁,相比较于传统的session cookie。 HTTP 是一个无状态的协议,何为无状态呢?就是说这本次请求和上次…

【毕业设计】67-基于单片机的三相电压型SPWM逆变器控制设计及应用(仿真、原理图、源代码、低重复参考文档、答辩PPT、英文文献)

【毕业设计】67-基于单片机的三相电压型SPWM逆变器控制设计及应用(仿真、原理图、源代码、低重复参考文档、答辩PPT、英文文献) 文章目录【毕业设计】67-基于单片机的三相电压型SPWM逆变器控制设计及应用(仿真、原理图、源代码、低重复参考文…

网站文章采集器-万能文章采集器

随着时代的发展。互联网无时不刻地出现在我们的生活中,大家也越来越注重效率,今天小编就给大家来分享一款网站文章采集器。只需要点几下鼠标就能轻松获取数据,不管是导出本地还是发布到网上。网站人员可以实现自动采集,定时发布&a…

[计算机毕业设计]食品安全数据的关联分析模型的应用

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

idea里面完整创建maven项目(包含如何使用)

目录 前言: 1.Maven和Maven Archetype区别? 2.创建maven项目之前的步骤(必看) 一、创建maven 1.打开idea--->文件--->新建--->项目 2.新建项目--->自定义项目名称--->选择Maven-->创建 3. 创建成功 二、…

微信小程序连接蓝牙汉印HM-A300L标签打印机

需求: 参考文章: 微信小程序实现蓝牙打印 打印机CPCL编程参考手册(CPCL 语言) 蓝牙打印机CPCL编程手册~汉印HM-A300 无用小知识: A300系列:先将打印机关机然后装好纸,同时按住屏幕左右两边的按…

UDS诊断网络层ISO15765-2(CAN)

诊断协议那些事儿 本文为诊断协议那些事儿专栏文章,从一个 ECU 到另一个 ECU,或外部诊断设备和一个 ECU 之间的通信,不仅依赖前文介绍的诊断寻址方式,更需要关注数据的传输,依赖网络层、传输层协议去完成,…

[附源码]java毕业设计社团管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

2022.11.09第6次Javaweb上机——实现登录欢迎页面

前情回顾 Myeclipse的安装教程_科大云炬的博客-CSDN博客 【JavaWeb第1次上机练习】安装Tomcat并在本地浏览器成功运行第一个Hello world网站_科大云炬的博客-CSDN博客 【第2次JavaWeb上机练习】_科大云炬的博客-CSDN博客 第3次 JavaWeb上机练习:Servlet基础作业…

python工作任务流flow实时框架:prefect

python工作任务流flow实时框架:prefect prefect是一个python的工作任务流调度实时框架,prefect可以快速构建平台系统复杂模块间工作流的监测。当平台系统模块之间的调用链越来越复杂时候,任务执行起来,已经很难盘点清楚程序逻辑和…

删除链表中重复元素的问题

目录 一、删除所有重复元素,使每个元素只出现一次 1.1带头链表解法 1.2 递归方法 二、删除所有重复数字结点,只留下不同数字 2.1带头链表解法 2.2 递归方法 一、删除所有重复元素,使每个元素只出现一次 给定一个已排序的链表的头 hea…

Android App开发实战项目之模仿美图秀秀的抠图工具(附源码 简单易懂 可直接使用)

需要图片集和源码请点赞关注收藏后评论区留言~~~ 所谓抠图神器,就是从一副图片中扣出用户想要的某块区域 一、需求描述 美图的修图功能如此强大,离不开专业的图片加工技术,抠图便是其中重要的一项功能。在App界面底部点击抠图按钮&#xff…

mysql查询:行转列与列转行

目录 1. 行转列 1.1 什么是行转列 1.2 准备工作 1.3 行转列的实现原理 2. 列转行 2.1 什么是列转行 2.2 准备工作 2.3 列转行的实现原理 3. 总结 1. 行转列 1.1 什么是行转列 从表面理解,就是表里存储在行上的数据,在查询结果里展示在列上面。举…

基于stm32单片机随机数自动摇号抽奖系统

资料编号:099 下面是相关功能视频演示: 99-基于stm32单片机随机数自动摇号抽奖系统(源码仿真全套资料)采用stm32单片机作为主控,LCD1602显示,通过按键来重置生成随机数,类似于摇号和抽奖系统 …

如何实现广义的元交易(Meta Transaction)

在合约内启用元交易是一个强大的补充。要求用户持有ETH来支付Gas一直以来都是而且仍然是新用户进入的最大挑战之一。如果只是简单的点击,谁知道现在会有多少人在使用以太坊? 但有时,解决方案可以在你的合约中加入元交易能力。实现起来可能比你想象的要容易。 什么是元交易?…

(带你分分种学会linux的文件类型和软硬链接)linxu的文件类型(硬链接和软链接详解)

文章目录一,时区部分1,时区状态的展示2,列出所有时区二,linux的文件类型1,列出目录和文件类型2,查看文件类型和状态并且修改用户密码3,文件类型表4,文件的三次修改时间三,linux的软硬…

记录Manjaro Linux安装nvidia显卡驱动失败的经历

我的Manjaro: 2022.11.19的最新系统,通过manjaro-kde-21.3.7-220816-linux515.iso安装,然后通过pacman -Syyu更新的我的设备: CPU intel 12700H,大小核架构,使用系统默认的linux5.15内核会发现启动firefox浏览器的速度…

LeetCode 142. 环形链表 II

题目链接:https://leetcode.cn/problems/linked-list-cycle-ii/ 思路如下: 用两个指针 fast, slow 同时从起点开始走,fast 每次走两步,slow 每次走一步。 如果过程中 fast 走到 null,则说明不存在环。否则当 fast 和…