【材料生成优化算法】基于材料生成优化算法求解多目标优化问题附matlab代码(MOMGA)

简介: 【材料生成优化算法】基于材料生成优化算法求解多目标优化问题附matlab代码(MOMGA)

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机

⛄ 内容介绍

2021年,一种新的算法,材料生成算法(MGA),被开发并应用于工程问题的优化设计。材料化学的一些高级和基础方面,特别是化学化合物的构型和生产新材料的化学反应,被确定为 MGA 的启发性概念。出于数值研究的目的,选择进化计算竞赛(CEC)对标的 10、30、50 和 100 不同维度的 10 个约束优化问题作为测试示例,而著名的工程设计中的 15 个还确定了问题以评估所提出方法的整体性能。不同经典和新的元启发式优化算法在处理所选问题时的最佳结果取自最近的文献,用于与 MGA 进行比较。此外,计算了 MGA 算法的统计值,包括均值、最差和标准差,并与其他元启发式算法的结果进行比较。总体而言,这项工作表明,所提出的 MGA 能够提供非常有竞争力,甚至是出色的结果,并且大多优于其他元启发式算法。

⛄ 部分代码

%__________________________________________________________________ %

%                          Multi-Objective                          %

%                Material Generation Algorithm (MOMGA)              %

%                                                                   %

%                                                                   %

%                  Developed in MATLAB R2022a (MacOs)               %

%                                                                   %

%                     Author and programmer                         %

%                ---------------------------------                  %

%                      Nima Khodadadi (蕵鈥渴�)                         %

%                             e-Mail                                %

%                ---------------------------------                  %

%                         nkhod002@fiu.edu                          %

%                                                                   %

%                            Homepage                               %

%                ---------------------------------                  %

%                    https://nimakhodadadi.com                      %

%                                                                   %

%                                                                   %

%                                                                   %

%                                                                   %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



% ----------------------------------------------------------------------- %








clear;

close all;

clc;

% format long g


% Initial parameters of the MOMGA algorithm

for j=8

   max_iter=100;

   Pop=100;

   ArchiveMaxSize=100;

   nvar=30;

   method=3;

   if method==3

      Archive_F1=load(sprintf('P%d.txt',j));

   end

   obj_no=2;

   mkdir (sprintf('P%d',j))

   %-------------------------- MOMGA-----------------------------------------

   for i=1% Numbver of independent runs


        [Archive_F]=MOMGA(max_iter, ArchiveMaxSize,Pop,obj_no,method,j);

       if numel(Archive_F')==2

           continue

       end

       Archive_F=Archive_F';



       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('MOMGA FOR P%d PROBLEM',j));

           xlabel('obj_1');

           ylabel('obj_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('MOMGA FOR P%d PROBLEM',j));

           xlabel('obj_1');

           ylabel('obj_2');

           zlabel('obj_3');


           hold off

       end


       savefig(sprintf('P%d/fig_%d.fig',j,i));


   end

   save(sprintf('P%d/result_P%d.mat',j,j));

end

⛄ 运行结果

⛄ 参考文献

[1] Talatahari S ,  Azizi M ,  Gandomi A H . Material Generation Algorithm: A Novel Metaheuristic Algorithm for Optimization of Engineering Problems[J]. Processes, 2021, 9(5):859.

❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除


相关文章
|
3月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
391 0
|
3月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
210 8
|
3月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
224 8
|
3月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
204 0
|
3月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
263 2
|
4月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
269 3
|
4月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
196 6
|
3月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
4月前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
315 14

热门文章

最新文章