当前位置: 首页 > news >正文

多目标优化算法|基于拥挤距离的有效多目标人工蜂鸟算法,用于解决工程设计问题(Matlab代码实现)

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

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者,博主专门做了一个专栏目录,整个专栏只放了一篇文章,足见我对其重视程度:博主专栏目录。做到极度细致,方便大家进行学习!亲民!!!还有我开了一个专栏给女朋友的,很浪漫的喔,代码学累的时候去瞧一瞧,看一看:女朋友的浪漫邂逅。有问题可以私密博主,博主看到会在第一时间回复。
📝目前更新:🌟🌟🌟电力系统相关知识,期刊论文,算法,机器学习和人工智能学习。
🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话,可以关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持!

                          

                                    🎉🎉欢迎您的到来🎉🎉

                     ⛅⛅⛅ 📃个人主页:科研室🌈🌈🌈

                    📚📚📚📋所有代码目录:电气工程科研社👨‍💻👨‍💻👨‍💻

                           

【现在公众号名字改为:荔枝科研社】

快速查找电气代码的方法(以微电网调度和电力系统潮流计算为例):

                

📋📋📋本文目录如下:⛳️⛳️⛳️

目录

1 概述

2 数学模型 

3 运行结果

4 Matlab代码及文章详细阅读 

5 写在最后

1 概述

人工蜂鸟算法 (AHA) 是最近开发的基于生物的元启发式算法,它在处理单目标优化问题方面表现出卓越的性能。尽管有优点,但该算法只能解决一个目标的问题。为了解决复杂的多目标优化问题,包括工程设计问题,本研究开发了一种多目标 AHA (MOAHA)。在 MOAHA 中,使用外部存档来保存 Pareto 最优解,并开发了基于动态消除的拥挤距离 (DECD) 方法来维护该存档,以有效保持种群多样性。此外,将非支配排序策略与MOAHA融合,构建解更新机制,有效细化Pareto最优解,提高算法的收敛性。一套综合测试证明了在收敛性、多样性和解决方案分布方面超过 7 个竞争对手的 28 个基准功能的优越结果。 MOAHA算法还应用于5个现实世界的多目标工程设计问题,展示了其在处理具有未知真实帕累托最优解和前沿的具有挑战性的现实世界多目标问题方面的优越性。

在过去的几十年中,已经逐渐开发了多种优化方法来处理具有挑战性的优化问题。优化算法基于来自自然界不同方面的各种灵感,包括生物进化、生物体的社会和群体行为、物理或化学现象,以及与人类相关的行为和意识形态。代表性算法包括遗传算法 (GA) [1]、粒子群优化 (PSO) [2]、蚁群优化 (ACO) [3]、人工蜂群 (ABC) [4] 和布谷鸟搜索 (CS) [5]。最近,还开发了一些备受推崇的新算法,例如鲸鱼优化算法(WOA)[6],蝴蝶优化算法(BOA)[7],基于教学学习的优化(TLBO)[8],粘液霉菌算法(SMA)[9],salp群算法(SSA)[10],蝠鲼觅食优化(MRFO)[11],平衡优化器(EO)[12]等。自出现以来,这些算法在文献中受到了很多关注。这些新优化器的改进版本是为解决各种工程问题而开发的。针对全局优化问题,提出了一种与蝴蝶和花授粉合并的混合优化器[13];为工程应用提供了结合EO和SMA各自优点的优化器[14],使用改进的MRFO来解决CCG-Ball曲线问题[15],并将与TLBO混合的增强探路者算法(PFA)应用于工程设计[16],[17]。上述优化器是单目标优化算法 (SOA)。然而,在科学研究和工程实践中,多个现实世界的问题往往固有地具有多个目标,这使得它们难以解决。同时有几个目标需要优化的优化问题称为多目标优化问题(MOP)[18],[19],[20]。需要设计具体的工具来解决这些问题,因为MOP的多个目标经常相互冲突和相互限制。在过去的三十年中,许多多目标优化算法(MOA)已被提出并开发为解决各种工程领域中具有挑战性的MOP的强大工具[21],[22],[23],[24],[25],[26]。 显然,在这些问题上,每个目标的重要性和优先次序是由决策者确定的。根据这些专业知识的可用性,MOA分为三类:先验,后验和交互式[27]。

另一个广泛使用的MOEA是强度帕累托进化算法(SPEA)[45]。SPEA建立了一个档案种群,以保存先前获得的非支配解以供后续选择,同时采用基于参数的基于帕累托的技术来保存种群多样性。SPEA-II是SPEA的改进版本[46]。除了增强SPEA的存档截断技术外,SPEA-II还与细粒度的适应性分配和密度评估策略相结合,改善了解决方案的收敛性和分布性[47]。与SPEA和SPEA-II一样,基于帕累托包络线的选择算法(PESA)[48]及其增强型PESA-II[49]也是另一组家用MOEA。PESA和PESA-II之间的相似之处在于,使用较小的内部人口和较大的外部人口来强调具有较高多样性的非主导解决方案,它们之间的区别在于PESA-II采用基于区域而不是基于个体的选择。SPEA-II使用网格分配策略来保持种群多样性,并且对真正的解决方案具有良好的搜索能力。

本文结构如下。第 2 节介绍了 MOP 的概念。第 3 节介绍了原始 AHA 及其多目标版本 MOAHA。第 4 节讨论了使用各种测试函数的 MOAHA 的性能。在第 5 节中使用五个工程案例验证 MOAHA 的有效性及Matlab代码和文章详细阅读。第 6 节提供结论和几个未来方向。

2 数学模型 

\forall i \in\{1, \ldots, m\}, f_{i}(\overrightarrow{\boldsymbol{x}}) \leq f_{j}(\overrightarrow{\boldsymbol{y}}) \text { and } \exists j \in\{1, \ldots, m\}, f_{i}(\overrightarrow{\boldsymbol{x}}) \leq f_{j}(\overrightarrow{\boldsymbol{y}})

迁徙觅食:当蜂鸟的食物在某个地方变得稀缺时,它往往会迁移到远离当前觅食的地区。在 AHA 中,适应性最差的蜂鸟进行迁徙觅食。同时,定义了迁移系数来控制何时进行迁移觅食。迁移觅食的数学模型如下:

    x_{w o r}(t+1)=\text { Low }+r \cdot(U p-L o w) 

详细数学模型及解释见第4部分。

3 运行结果

 

4 Matlab代码及文章详细阅读 

本文仅展现主函数部分代码,全部代码及详细文章见:🍞正在为您运送作品详情

clc;
clear;
 
MaxIt=300;
nPop=100;
Dim=30;
ArchiveSize=100;

 FunIndex=1;% ZDT1

    [ArchiveFit]=MOAHA(FunIndex,MaxIt,nPop,ArchiveSize);
    
    figure;
    plot(ArchiveFit(1,:),ArchiveFit(2,:),'r.');
    if FunIndex==5
        title(['ZDT',num2str(FunIndex+1)]);
    else
        title(['ZDT',num2str(FunIndex)]);
    end
    xlabel('f1');
    ylabel('f2');
    box on
    legend('PF');
 

👨‍🎓博主课外兴趣:中西方哲学,送予读者:

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。在我这个专栏记录我有空时的一些哲学思考和科研笔记:科研和哲思。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

5 写在最后

部分理论引用网络文献,若有侵权请联系博主删除。 

相关文章:

  • yara分析
  • 早上一上班发现产品出现重大事故,作为产品经理该怎么办?
  • PaddleHub开源模型400+,三行代码也可实现无限AI创意梦想!
  • [Linux] CE知识随笔含Ansible、防火墙、VIM、其他服务
  • java架构知识点-中间件
  • 基于SSM的视频管理系统【完整项目源码】
  • 做到年收入一百万需要怎样做?
  • 人工神经网络连接方式,全连接神经网络作用
  • RabbitMq消息队列
  • 神经网络计算机的用途是,神经网络计算机的应用
  • visual studio快捷键
  • gif制作动图教你一键搞定,图片转gif和视频转gif怎么制作
  • 国产数据库百家争鸣,百花齐放有感
  • 电脑重装系统Win11edge浏览器看视频绿屏如何处理?
  • 【python】计算mel频率可能比你想象的要复杂一点
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • @angular/forms 源码解析之双向绑定
  • [iOS]Core Data浅析一 -- 启用Core Data
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 2017 年终总结 —— 在路上
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • CentOS 7 防火墙操作
  • CSS3 变换
  • Effective Java 笔记(一)
  • Js基础知识(一) - 变量
  • 笨办法学C 练习34:动态数组
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 技术胖1-4季视频复习— (看视频笔记)
  • 简单基于spring的redis配置(单机和集群模式)
  • 聊聊flink的TableFactory
  • 容器服务kubernetes弹性伸缩高级用法
  • 使用权重正则化较少模型过拟合
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 写给高年级小学生看的《Bash 指南》
  • 做一名精致的JavaScripter 01:JavaScript简介
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 阿里云ACE认证之理解CDN技术
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (第二周)效能测试
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (转)EOS中账户、钱包和密钥的关系
  • (转)Unity3DUnity3D在android下调试
  • (转)大道至简,职场上做人做事做管理
  • (状压dp)uva 10817 Headmaster's Headache
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .htaccess配置常用技巧
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET 药厂业务系统 CPU爆高分析
  • .NET 中让 Task 支持带超时的异步等待
  • .NET上SQLite的连接