多目标优化算法|用于全局和工程设计优化的多目标原子轨道搜索 (MOAOS)算法(Matlab代码实现)
💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者,博主专门做了一个专栏目录,整个专栏只放了一篇文章,足见我对其重视程度:博主专栏目录。做到极度细致,方便大家进行学习!亲民!!!还有我开了一个专栏给女朋友的,很浪漫的喔,代码学累的时候去瞧一瞧,看一看:女朋友的浪漫邂逅。有问题可以私密博主,博主看到会在第一时间回复。
🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话,可以关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持!
🎉🎉欢迎您的到来🎉🎉
⛅⛅⛅ 📃个人主页:科研室🌈🌈🌈
📚📚📚📋所有代码目录:电气工程科研社👨💻👨💻👨💻
【现在公众号名字改为:荔枝科研社】
快速查找电气代码的方法(以微电网调度和电力系统潮流计算为例):
👨🎓博主课外兴趣:中西方哲学,送予读者:
📋📋📋本文目录如下:⛳️⛳️⛳️
目录
1 概述
2 数学模型
3 运行结果
4 Matlab代码及文章详细阅读
5 写在最后
1 概述
人脑的主要能力之一是识别“最佳”选择并相应地实现它。然而,我们也意识到,在许多情况下,找出导致问题最佳解决方案的所有条件是极其困难或不可能的。因此,在许多情况下,可以实际有效地使用“足够令人满意”的解决方案,而不是解决问题的“全局最优”解决方案。优化旨在提高系统的整体性能,以达到达到系统最佳行为的一个(或多个)点。
在现实世界中,许多优化问题具有如此程度的不确定性和复杂性,以至于单个目标函数不能代表所考虑系统的所有特征。因此,需要多目标优化算法来考虑问题的多个方面,由多个目标函数表示,以通过优化过程获得合理和有用的结果。在本文中,介绍了最近开发的单目标元启发式算法的多目标版本,称为原子轨道搜索(AOS),称为多目标原子轨道搜索(MOAOS)。为此,修改了 AOS 算法的一般方面和主搜索循环,使其能够处理多目标问题。对于该算法的性能评估,使用了数学基准问题 ZDT 和 DTLZ,以及几个现实世界的工程设计问题和 CEC-2020 MMO 测试问题。根据本研究中获得的结果,可以得出结论,在与替代的最先进的元启发式方法竞争时,MOAOS 能够产生更好或接近可比的结果
本文的结构如下。第二节介绍了所提出的多目标 AOS 优化算法 (MOAOS) 的数学模型。
第三部分描述了研究的结果和讨论,包括性能指标、实验设置、ZDT 和 DTLZ 测试功能的讨论,以及一组不同的工程设计问题,包括四杆桁架、焊接梁、盘式制动器、和减速器设计问题,以及 CEC-2020 MMO 测试问题 [53]。最后,第四节总结全文。
2 数学模型
计算每个候选解的目标函数值,它表示原子核周围电子的能级,如下所示:
对于原子核周围的每个假想层,以及原子,结合态和结合能计算如下(结合能是从其壳层移除电子所需的能量,即它的结合态)
详细数学模型及解释见第四部分。
3 运行结果
4 Matlab代码及文章详细阅读
本文仅展现部分代码,全部代码及详细文章见:🍞正在为您运送作品详情
if obj_no==2
plot(Archive_F1(:,1),Archive_F1(:,2),'Color','g','LineWidth',4);
hold on
plot(Archive_F(:,1),Archive_F(:,2),'ro','LineWidth',1,...
'MarkerEdgeColor','b',...
'MarkerFaceColor','r',...
'Marker','o',...
'MarkerSize',10);
legend('True PF','Obtained PF');
title(sprintf('用于全局和工程设计优化的多目标原子轨道搜索 (MOAOS)算法',j));
xlabel('目标函数1');
ylabel('目标函数2');
hold off
end
if obj_no==3
plot3(Archive_F1(:,1),Archive_F1(:,2),Archive_F1(:,3),'Color','g','LineWidth',1);
hold on
plot3(Archive_F(:,1),Archive_F(:,2),Archive_F(:,3),'ro','LineWidth',1,...
'MarkerEdgeColor','b',...
'MarkerFaceColor','r',...
'Marker','o',...
'MarkerSize',10);
legend('True PF','Obtained PF');
title(sprintf('用于全局和工程设计优化的多目标原子轨道搜索 (MOAOS)算法',j));
xlabel('目标函数1');
ylabel('目标函数12');
zlabel('目标函数13');
hold off
end
savefig(sprintf('P%d/fig_%d.fig',j,i));
end
save(sprintf('P%d/result_P%d.mat',j,j));
end
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。在我这个专栏记录我有空时的一些哲学思考和科研笔记:科研和哲思。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
5 写在最后
部分理论引用网络文献,若有侵权请联系博主删除。