五种多目标优化算法(MOJS、MOGWO、NSWOA、MOPSO、NSGA2)性能对比,包含6种评价指标,9个测试函数(提供MATLAB代码)

一、5种多目标优化算法简介

1.1MOJS

1.2MOGWO

1.3NSWOA

1.4MOPSO

1.5NSGA2

二、5种多目标优化算法性能对比

为了测试5种算法的性能将其求解9个多目标测试函数(zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3),其中Viennet2 与Viennet3的目标为3,其余测试函数的目标为2,并采用6种评价指标(IGD、GD、HV、Coverage、Spread、Spacing)进行评价对比

2.1部分代码

close all;
clear ;
clc;
addpath('./MOJS/')%添加算法路径
addpath('./MOGWO/')%添加算法路径
addpath('./NSWOA/')%添加算法路径
addpath('./MOPSO/')%添加算法路径
addpath('./NSGA2/')%添加算法路径
%%
% TestProblem测试问题说明:
%一共9个多目标测试函数1-9分别是: zdt1 zdt2 zdt3 zdt4 zdt6 Schaffer  Kursawe Viennet2 Viennet3
%%
TestProblem=6;%测试函数1-9
MultiObj = GetFunInfo(TestProblem);
MultiObjFnc=MultiObj.name;%问题名
% Parameters
params.Np = 100;        % Population size 种群大小
params.Nr = 200;        % Repository size 外部存档
params.maxgen=10;    % Maximum number of generations 最大迭代次数
numOfObj=MultiObj.numOfObj;%目标函数个数
%% 算法求解,分别得到paretoPOS和paretoPOF
[Xbest1,Fbest1] = MOJS(params,MultiObj);
[Xbest2,Fbest2] = MOGWO(params,MultiObj);
[Xbest3,Fbest3]  = NSWOA(params,MultiObj);
[Xbest4,Fbest4] = MOPSO(params,MultiObj);
[Xbest5,Fbest5]  = NSGA2(params,MultiObj);
FbestData(1).data=Fbest1;
FbestData(2).data=Fbest2;
FbestData(3).data=Fbest3;
FbestData(4).data=Fbest4;
FbestData(5).data=Fbest5;
%% 获取测试函数的真实pareto前沿
True_Pareto=MultiObj.truePF;
%% 计算每个算法的评价指标
% ResultData的值分别是IGD、GD、HV、Coverage、Spread、Spacing
for i=1:5Fbest=FbestData(i).data;ResultData(i,:)=[IGD(Fbest,True_Pareto),GD(Fbest,True_Pareto),HV(Fbest,True_Pareto),Coverage(Fbest,True_Pareto),Spread(Fbest,True_Pareto),Spacing(Fbest,True_Pareto)];
end%% 画图
PlotFigure;

2.2部分结果

(1)以Schaffer为例:

(2)以Viennet2为例:

三、完整MATLAB代码

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter实现阶梯式线程增加的压测

安装相应jmeter 插件 1:安装jmeter 管理插件: 下载地址:https://jmeter-plugins.org/install/Install/,将下载下来的jar包放到jmeter文件夹下的lib/ext路径下,然后重启jmeter。 2:接着打开 选项-Plugins Ma…

【开源】SpringBoot框架开发高校宿舍调配管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能需求2.1 学生端2.2 宿管2.3 老师端 三、系统展示四、核心代码4.1 查询单条个人习惯4.2 查询我的室友4.3 查询宿舍4.4 查询指定性别全部宿舍4.5 初次分配宿舍 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的…

爱校对软件——清华大学研发的全能文字处理助手

随着数字化和信息化的深入发展,高效、准确的文字处理工具成为了各行各业的迫切需求。清华大学人机交互实验室推出的“爱校对”软件,作为一款先进的文字处理工具,正逐渐成为专业编辑、写作者、学生、法律从业者、政府工作人员、商业从业者、出…

Java - @JSONField和@JsonProperty注解

JSONField注解是阿里巴巴的fastjson框架中的注解,用于指定JSON字符串中的属性名和Java对象中的属性名之间的映射关系 JsonProperty注解是Jackson框架中的注解,用法类似于JSONField,也是指定JSON字符串中的属性名和Java对象中的属性名之间的映…

缓存驱动联邦学习架构赋能个性化边缘智能 | TMC 2024

缓存驱动联邦学习架构赋能个性化边缘智能 | TMC 2024 伴随着移动设备的普及与终端数据的爆炸式增长,边缘智能(Edge Intelligence, EI)逐渐成为研究领域的前沿。在这一浪潮中,联邦学习(Federated Learning, FL&#xf…

【Algorithms 4】算法(第4版)学习笔记 09 - 3.2 二叉查找树

文章目录 前言参考目录学习笔记1:二叉树与二叉搜索树定义1.1:二叉树定义1.2:二叉搜索树定义1.3:Java定义1.4:BST基本实现1.5:BST demo 演示1.5.1:节点搜索成功命中演示1.5.2:节点搜索…

Waymo数据集下载与使用

在撰写论文时,接触到一个自动驾驶数据集Waymo Dataset 论文链接为:https://arxiv.org/abs/1912.04838v7 项目链接为:https://github.com/waymo-research/waymo-open-dataset 数据集链接为:https://waymo.com/open waymo提供了两种…

忘记管理员密码

1、在/home/jenkins/config.xml中删除&#xff1a; <useSecurity>true</useSecurity><authorizationStrategy class"hudson.security.FullControlOnceLoggedInAuthorizationStrategy"><denyAnonymousReadAccess>false</denyAnonymousRea…

【鸿蒙系统学习笔记】状态管理

一、介绍 资料来自官网&#xff1a;文档中心 在声明式UI编程框架中&#xff0c;UI是程序状态的运行结果&#xff0c;用户构建了一个UI模型&#xff0c;其中应用的运行时的状态是参数。当参数改变时&#xff0c;UI作为返回结果&#xff0c;也将进行对应的改变。这些运行时的状…

全面解读视频生成模型Sora

2024年2月15日&#xff0c;OpenAI在其官网发布了《Video generation models as world simulators》的报告&#xff0c;该报告提出了作为世界模拟器的视频生成模型Sora。 OpenAI对Sora介绍如下&#xff1a; We explore large-scale training of generative models on video dat…

[力扣 Hot100]Day30 两两交换链表中的节点

题目描述 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 出处 思路 前两个结点先偷一手用交换val做&#xff0c;从链表第1…

智慧社区管理系统:构建未来的生活模式

在这个信息化、智能化的时代&#xff0c;我们期待的不再是简单的居住空间&#xff0c;而是一个集安全、便捷、舒适、环保于一体的智能化社区。为此&#xff0c;我们推出了全新的智慧社区管理系统&#xff0c;旨在将先进的科技力量引入社区管理&#xff0c;为居民提供更优质的生…