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

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('./MOAHA/')%添加算法路径
addpath('./MOGWO/')%添加算法路径
addpath('./NSWOA/')%添加算法路径
addpath('./MOPSO/')%添加算法路径
addpath('./NSGA2/')%添加算法路径
%%
% TestProblem测试问题说明:
%一共9个多目标测试函数1-9分别是: zdt1 zdt2 zdt3 zdt4 zdt6 Schaffer Kursawe Viennet2 Viennet3
%%
TestProblem=3;%测试函数1-9
MultiObj = GetFunInfo(TestProblem);
MultiObjFnc=MultiObj.name;%问题名
% Parameters
params.Np = 100; % Population size 种群大小
params.Nr = 200; % Repository size 外部存档
params.maxgen=100; % Maximum number of generations 最大迭代次数
numOfObj=MultiObj.numOfObj;%目标函数个数
%% 算法求解,分别得到paretoPOS和paretoPOF
[Xbest1,Fbest1] = MOAHA(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
Fbest=Fbest1;
ResultData(1,:)=[IGD(Fbest,True_Pareto),GD(Fbest,True_Pareto),HV(Fbest,True_Pareto),Coverage(Fbest,True_Pareto),Spread(Fbest,True_Pareto),Spacing(Fbest,True_Pareto)];
Fbest=Fbest2;
ResultData(2,:)=[IGD(Fbest,True_Pareto),GD(Fbest,True_Pareto),HV(Fbest,True_Pareto),Coverage(Fbest,True_Pareto),Spread(Fbest,True_Pareto),Spacing(Fbest,True_Pareto)];
Fbest=Fbest3;
ResultData(3,:)=[IGD(Fbest,True_Pareto),GD(Fbest,True_Pareto),HV(Fbest,True_Pareto),Coverage(Fbest,True_Pareto),Spread(Fbest,True_Pareto),Spacing(Fbest,True_Pareto)];
Fbest=Fbest4;
ResultData(4,:)=[IGD(Fbest,True_Pareto),GD(Fbest,True_Pareto),HV(Fbest,True_Pareto),Coverage(Fbest,True_Pareto),Spread(Fbest,True_Pareto),Spacing(Fbest,True_Pareto)];
Fbest=Fbest5;
ResultData(5,:)=[IGD(Fbest,True_Pareto),GD(Fbest,True_Pareto),HV(Fbest,True_Pareto),Coverage(Fbest,True_Pareto),Spread(Fbest,True_Pareto),Spacing(Fbest,True_Pareto)];
2.2部分结果
(2)以ZDT1为例:


(2)以Viennet3为例:



三、完整MATLAB代码

相关文章:
五种多目标优化算法(MOAHA、MOGWO、NSWOA、MOPSO、NSGA2)性能对比,包含6种评价指标,9个测试函数(提供MATLAB代码)
一、5种多目标优化算法简介 1.1MOAHA 1.2MOGWO 1.3NSWOA 1.4MOPSO 1.5NSGA2 二、5种多目标优化算法性能对比 为了测试5种算法的性能将其求解9个多目标测试函数(zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3)ÿ…...
用 LangChain 和 Milvus 从零搭建 LLM 应用
如何从零搭建一个 LLM 应用?不妨试试 LangChain Milvus 的组合拳。 作为开发 LLM 应用的框架,LangChain 内部不仅包含诸多模块,而且支持外部集成;Milvus 同样可以支持诸多 LLM 集成,二者结合除了可以轻松搭建一个 LL…...
[Bug解决] Invalid bound statement (not found)出现原因和解决方法
1、问题描述 在写了一个很普通的查询语句之后,出现了下面的报错信息 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.oauth.mapper.WxVisitorQrBeanMapper.selectByComIdAndEmpId at org.apache.ibatis.binding.Mappe…...
Qt:Qt3个窗口类的区别、VS与QT项目转换
一、Qt3个窗口类的区别 QMainWindow:包含菜单栏、工具栏、状态栏 QWidget:普通的一个窗口,什么也不包括 QDialog:对话框,常用来做登录窗口、弹出窗口(例如设置页面) QDialog实现简易登录界面…...
uni-app判断不同端
大家好,今天给大家分享的知识是在uni-app中如何区分是在什么端操作的程序 话不多说直接上代码: // #ifdef APP-PLUS<view>APP端</view>// #endif// #ifdef H5<view>H5端</view>// #endif// #ifdef MP<view>小程序端</v…...
计算机网络-网络设备防火墙是什么?
一、防火墙基本概念 前面我们学习了交换机、路由器是网络中常用的设备,现实中还有一个很重要的设备-防火墙。防火墙这一设备通常用于两个网络之间有针对性的、逻辑意义上的隔离。在网络通信领域,防火墙是一种安全设备。它用于保护一个网络区域免受来自另…...
Code Composer Studio (CCS) - Breakpoint (断点)
Code Composer Studio [CCS] - Breakpoint [断点] 1. BreakpointReferences 1. Breakpoint 选中断点右键 -> Breakpoint Properties… Skip Count:跳过断点总数,在断点执行之前设置总数 Current Count:当前跳过断电累计值 References […...
人工智能_普通服务器CPU_安装清华开源人工智能AI大模型ChatGlm-6B_001---人工智能工作笔记0096
使用centos安装,注意安装之前,保证系统可以联网,然后执行yum update 先去更新一下系统,可以省掉很多麻烦 20240219_150031 这里我们使用centos系统吧,使用习惯了. ChatGlm首先需要一台个人计算机,或者服务器, 要的算力,训练最多,微调次之,推理需要算力最少 其实很多都支持C…...
分层钱包HD钱包
bc1 开头的通常指的是比特币(Bitcoin)的地址,这种格式遵循了比特币改进提案BIP 0173中定义的Bech32编码格式。Bech32地址也被称为"SegWit"地址,它们支持Segregated Witness功能,这是比特币网络为了提高区块链…...
基于python+mysql的宠物领养网站系统
功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括:首页、宠物详情页、用户中心模块。后台功能包括:总览、领养管理、宠物管理、分类…...
机器学习入门--门控循环单元(GRU)原理与实践
GRU模型 随着深度学习领域的快速发展,循环神经网络(RNN)已成为自然语言处理(NLP)等领域中常用的模型之一。但是,在RNN中,如果时间步数较大,会导致梯度消失或爆炸的问题,…...
GitHub Actions
GitHub Actions GitHub Actions 是 GitHub 提供的一种持续集成(CI)和持续部署(CD)解决方案。它可以让你在 GitHub 仓库中直接自动化、定制化和执行软件开发工作流程。 比如,当有新的推送到仓库或者新的 Pull Request…...
harmony 鸿蒙系统学习 安装ohpm报错 ohpm install failed
一. 安装配置 DevEco Studio 安装包时报错 execute ohpm install failed. Install task failed: ArkTS 3.2.12.5. Install ArkTS dependencies failed. 解决办法 找原因,首先,我的电脑中之前安装过node,也许是因为这个。(其实…...
MySQL Replication
0 序言 MySQL Replication 是 MySQL 中的一个功能,允许从一个 MySQL 数据库服务器(称为主服务器或 master)复制数据和数据库结构到另一个服务器(称为从服务器或 slave)。这种复制是异步的,意味着从服务器不…...
redis分布式锁redisson
文章目录 1. 分布式锁1.1 基本原理和实现方式对比synchronized锁在集群模式下的问题多jvm使用同一个锁监视器分布式锁概念分布式锁须满足的条件分布式锁的实现 1.2 基于Redis的分布式锁获取锁&释放锁操作示例 基于Redis实现分布式锁初级版本ILock接口SimpleRedisLock使用示…...
制作一个简单的html网页
1. 特效按钮 2 可以独立使用的一个页面 3 底部小时钟 <!DOCTYPE html> <html> <head><title>Simple Webpage</title><style>/* 禁止鼠标右键 */body {-webkit-touch-callout: none; /* iOS Safari */-webkit-user-select: none; …...
js filter,every,includes 过滤数组
背景: 页面:在项目中遇到的,前端页面显示为,顶部是下拉搜索条件,下面是一个表格; 数据:接口请求一次性拿到所有:搜索条件里的下拉选项和表格中的数据; 现状:需要前端在搜…...
jenkins自动化部署
Jenkins安装 安装前提条件 yum install java-1.8.0-openjdk* git maven -y 1.下载jenkins wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.346-1.1.noarch.rpm --no-check-certificate jenkins的安装路径: /var/lib/jenkins/ …...
【JavaScript】分支语句
目录 一、if语句 二、三元运算符 三、switch语句 JS中分支语句可以分为三种,分别是if语句、三元运算符、switch语句。 一、if语句 let num 10 if (num > 20) {console.log("大于20"); } else if (num < 20) {console.log("小于20");…...
【开源】SpringBoot框架开发农家乐订餐系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核心代码4.1 查询菜品类型4.2 查询菜品4.3 加购菜品4.4 新增菜品收藏4.5 新增菜品留言 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的农家乐订餐系统,…...
stm32f4 + Helix + Max98357播放mp3文件
stm32f4的SDIO + FataFs读取SD卡文件在前面的文章中已经实现,下面的配置和修改基于之前的配置实现 配置I2S 模式设置 参数设置 DMA配置 勾选 SPI2 global interrupt 以上都配置完Helix 解码出来的 PCM 数据就发给 MAX98357了 Helix解码库移植...
【Lovable前端开发实战指南】:20年专家亲授5个让团队抢着用的可维护性设计模式
更多请点击: https://kaifayun.com 第一章:Lovable前端开发的核心理念与可维护性本质 Lovable前端开发并非追求炫酷动效或技术堆砌,而是以人本设计为原点,将开发者体验(DX)与用户界面体验(UX&a…...
Keil调试中局部变量修改限制的解决方案
1. 问题现象与背景解析在嵌入式开发过程中,调试环节往往占据整个开发周期的40%以上时间。作为Keil Vision的资深用户,我最近在调试一个基于C166架构的通信协议栈时,遇到了一个看似简单却令人困扰的问题:当我在receive_data函数内部…...
收藏!小白程序员必看:搞定RAG知识库,解锁大模型核心技能!
文章强调知识库是RAG系统的核心,其质量直接影响智能问答效果。构建知识库并非简单处理数据,而是涉及多数据源整合、复杂格式处理、数据更新与版本管理、文档召回优化及系统架构设计等关键环节。作者指出,随着数据量增长,完善的知识…...
2026年京东云OpenClaw/Hermes Agent配置Token Plan保姆级搭建分享
2026年京东云OpenClaw/Hermes Agent配置Token Plan保姆级搭建分享。OpenClaw是开源的个人AI助手,Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具…...
曝GPT-5.5用上“全球最快芯片”,Claude慌了
120B模型飙到2000 token/秒,CFO更放话已在跑GPT-5.5!Cerebras 560亿美元IPO首日暴涨68%,但SemiAnalysis万字拆解直指死穴。 SemiAnalysis,硅谷最硬核的芯片分析机构,4月份光是AI工具的订阅费就烧到了年化1000万美元。…...
大模型MoE架构揭秘:稀疏激活与专家路由原理
1. 这不是“参数越多越强”的简单故事:拆解大模型里被悄悄激活的那2% 你可能已经看过不少标题党文章,说“GPT-4有1.8万亿参数”,然后配上一张CPU满载、风扇狂转的动图,仿佛这串数字本身就在燃烧算力。但真实情况恰恰相反——它只用…...
【独家首发】DeepSeek-VL与R1双模型事实校验对照实验:1276条权威知识链验证,误差分布首次公开
更多请点击: https://kaifayun.com 第一章:DeepSeek事实准确性测试 为系统评估 DeepSeek-R1 模型在开放域事实性问答中的表现,我们构建了覆盖科学、历史、技术与常识四大领域的 1,200 条人工校验真值(ground-truth)测…...
MultiHighlight插件深度解析:JetBrains IDE智能代码高亮实战指南
MultiHighlight插件深度解析:JetBrains IDE智能代码高亮实战指南 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors 🎨💡 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight …...
GEO学习能帮我提高AI搜索排名吗?
先直接回答这个问题:GEO不叫"排名",但效果比排名更直接。如果你理解了这句话,你就理解了GEO和SEO的本质区别。AI搜索没有"排名",只有"引用"传统SEO优化的目标是在搜索结果页面占据靠前位置——第几…...
