多目标环形粒子群算法和多目标遗传算法跑MOCEC2020(24个多目标测试函数,matlab代码,多个评价指标)

本号从现在起可以定制使用评估次数改进单目标群体算法,需要的私,价格贵,质量高。

目录:

一、多目标环形粒子群算法MO_Ring_PSO_SCD

二、多目标遗传算法NSGAII

三、MOCEC2020的24个多目标测试函数

四、实验结果

五、代码获取

一、多目标环形粒子群算法

摘要:本文提出了一种新的粒子群优化算法,用于求解可能有多个pareto最优解对应于同一目标函数值的多模态多目标优化问题。该方法采用基于索引的环形拓扑结构来诱导稳定的生态位,从而允许识别更多的帕累托最优解,并采用特殊的拥挤距离概念作为决策和目标空间中的密度度量。该算法不仅能定位和维持大量的pareto最优解,而且在决策空间和目标空间都能得到良好的分布。 此外,设计了新的多模态多目标优化测试函数和新的性能指标,以评估所提出算法的性能。利用基准函数将该方法与其他五种算法进行了有效性验证研究,以证明其有效性。

二、多目标遗传算法NSGAII

介绍:多目标遗传算法NSGA-II(Nondominated Sorting Genetic Algorithm II)是一种基于遗传算法的多目标优化算法,由Deb等人在2002年提出,作为对NSGA算法的改进。NSGA-II算法的基本思想是通过选择、交叉和变异操作来生成新的个体,并使用非支配排序方法来选择优秀的个体。以下是NSGA-II算法的主要特点:

非支配排序:算法首先对当前种群中的每个个体进行非支配排序,将个体按照非支配等级(rank)从小到大进行排序。这有助于识别出在不同目标函数上表现优异的个体。

拥挤距离:计算当前种群中每个个体的拥挤距离(crowding distance)。拥挤距离反映了在目标空间中个体之间的分布密度,拥挤距离越小,表示个体在目标空间中越分散,搜索能力越强。

选择、交叉和变异操作:根据非支配排序和拥挤距离,选择一定数量的个体进行交叉和变异操作,以生成新的后代,并对后代进行变异操作,以一定的概率随机改变某些基因的值。

NSGA-II算法通过重复上述步骤,直到满足停止准则,最终得到Pareto最优解集。相比于传统的多目标遗传算法,NSGA-II在以下方面进行了显著的改进:

降低计算复杂度:NSGA-II使用了快速非支配排序法,将算法的计算复杂度由O(mN3)降到了O(mN2),使得算法的计算时间大大减少。

应用精英策略:通过精英策略提高了优秀个体的保留概率,从而加快程序的执行速度。

NSGA-II算法已成功应用于多个领域,包括工程优化、金融分析和生物信息学等。由于其优秀的性能和效率,NSGA-II算法在解决多目标优化问题时得到了广泛的关注和应用。

需要注意的是,虽然NSGA-II算法在多目标优化方面取得了显著的成果,但在实际应用中仍需要根据具体问题调整算法参数和策略,以获得最佳优化效果。同时,随着研究的深入,新的多目标优化算法也在不断涌现,为解决复杂的多目标优化问题提供了更多的选择。

三、MOCEC2020的24个多目标测试函数

MOCEC2020的24个多目标测试函数来源于文章:A novel scalable test problem suite for multimodal multiobjective optimization,提出了一种新的可扩展多模态多目标测试问题集。所提出的测试问题具有局部Pareto最优集(PS)的存在、可扩展的PSs数量、非均匀分布的PSs数量、离散的Pareto前沿(PF)以及可扩展的变量和目标数量等特性。本文所提出的测试问题都是连续优化问题。因此,它们可以用来衡量多模态多目标连续优化算法的不同性能。此外,还提出了一种多目标问题的景观可视化方法来展示多模态多目标测试问题的性质。在此基础上,对这些问题的特征进行了分析和表征。此外,对现有的多模态多目标优化算法和几种流行的多目标优化算法进行测试,并与新的测试问题集进行比较。然后,讨论了多模态多目标优化算法应具有的性质,并展望了多模态多目标优化的未来研究方向。

详细如下:

四、实验结果

所有文件和运行结果如下:

评价指标IGD(Inverted Generational Distance)、PSP(Performance Strength Pareto Set)和hyp(Hypervolume)都是多目标优化算法中常用的性能度量指标。下面分别介绍这些指标的含义和计算方法。

IGD (Inverted Generational Distance)

IGD指标衡量了算法得到的解集与真实Pareto前沿之间的平均距离。它反映了算法得到的解集对真实Pareto前沿的逼近程度。IGD值越小,说明算法得到的解集与真实Pareto前沿越接近,性能越好。

PSP (Performance Strength Pareto Set)

PSP指标结合了IGD和收敛性比率(CR)来评估算法的性能。CR衡量了算法得到的解集对真实Pareto前沿的覆盖程度,而IGD则衡量了逼近程度。PSP通过结合这两个指标,提供了一个更全面的性能评估。

hyp (Hypervolume)

Hypervolume指标衡量了算法得到的解集在目标空间中所占的体积。它反映了算法得到的解集的多样性和广泛性。Hypervolume值越大,说明算法得到的解集在目标空间中分布越广泛,性能越好。

函数MF24运行结果如下:

部分代码:

% 添加必要的路径
addpath(genpath('MM_testfunctions/'));
addpath(genpath('Indicator_calculation/'));

clear;clc;close all;

% 全局变量
global fname

i_func = 24 ;     % 测试函数的编号 1-24

% 获取函数的详细信息
[fname, n_obj, n_var, xl, xu, repoint, N_ops] = Get_F(i_func);

%% 加载参考 PS 和 PF 数据
load(strcat([fname, '_Reference_PSPF_data']));

% 初始化参数
popsize = 200 * N_ops;
Max_fevs = 10000 * N_ops;
Max_Gen = fix(Max_fevs / popsize);

%% 调用算法
% 运行 NSGAII 算法
[ps, pf] = NSGAII (fname, xl, xu, n_obj, popsize, Max_Gen);

% 运行 MO_Ring_PSO_SCD 算法
[ps1, pf1] = MO_Ring_PSO_SCD (fname, xl, xu, n_obj, popsize, Max_Gen);

五、代码获取

多目标环形粒子群算法和多目标遗传算法跑MOCEC2020(24个多目标测试函数,matlab代码)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言进阶课程学习记录-函数指针的阅读

C语言进阶课程学习记录-函数指针的阅读 5个标识符含义解析技巧 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程,图片全部来源于课程PPT,仅用于个人学习记录 5个标识符含义解析 int (*p1) (int* , int (*f) ( int* ) );定义了指针p1,指向函数&#…

javaWeb智能医疗管理系统

简介 在当今快节奏的生活中,智能医疗系统的崛起为医疗行业带来了一场革命性的变革。基于JavaWeb技术开发的智能医疗管理系统,不仅为医疗机构提供了高效、精准的管理工具,也为患者提供了更便捷、更个性化的医疗服务。本文将介绍一个基于SSM&a…

树莓集团产业生态建设之特色产业服务:人才项目转化中心

树莓集团在产业生态建设中,积极输出特色产业服务——人才项目转化中心。该中心依托数字产业园致力于推动创新创业工作,通过链接产业人才聚集地与树莓认证的导师库体系,为人才及相关课题项目提供全方位的服务。 树莓集团人才项目转化中心以人…

Python学习(四)文件操作

文件操作 想想我们平常对文件的基本操作,大概可以分为三个步骤(简称文件操作三步走): ① 打开文件 ② 读写文件 ③ 关闭文件 注意:可以只打开和关闭文件,不进行任何读写 在Python,使用open函数,可以打开一个已经存在的文件&…

IP爬虫代理服务器是什么以及为什么使用爬虫代理?

在网络抓取领域,爬虫代理发挥着关键作用。 但它们到底是什么? 从本质上讲,爬虫代理是位于网络抓取工具和目标网站之间的中间服务器。 该中间服务器充当盾牌,提供匿名性,并允许您访问网站并提取数据,而无需透…

IDEA配置Maven环境

黑马程序员JavaWeb开发教程 文章目录 如果当前有已经打开项目的话,File -> Close Project 到以下页面之后选择 Customize -> All settings… 配置maven的安装目录,maven的配置文件,maven的本地仓库(修改完成之后一定要先…

mybatis进阶篇-执行CRUD操作-typeAliases别名-接口绑定

目录结构 所需jar包 https://download.csdn.net/download/weixin_44201223/89160447?spm1003.2166.3001.6637.1 1.创建数据表(book) # 创建book表 create table book(id int auto_increment primary key,name varchar(255) ,price double ,num int )…

Linux OpenSSH最新版9.7p1升级操作详细教程

原创声明:非本人许可,谢绝转载! 1.背景说明 前几天与朋友闲聊中得知他朋友圈有服务器因OpenSSH漏洞遭受攻击的事情,OpenSSH重要性这里就不废话了,在网上一查,公布的漏洞还真不少,其中还有不少…

RK3588平台开发系列讲解(PCIe开发篇2)

根据原理图填写DTS 原理图是基于IO信号的视⻆来描述硬件,IO信号是跟PHY的index强相关的,前⾯提到RK3588的controller和PHY的index可能不⼀致,所以看原理图的时候需要特别注意这⼀点。这⾥给出⼀些填写建议,并通过⽰例说明如何将原…

socket通信基础讲解及示例-C

socket通信之C篇 服务端与客户端简介 socket通信服务端与客户端通信模型通信实战server(服务端)创建client(客户端)创建 函数详解创建套接字 socket绑定端口bind进入监听状态listen获取客户端连接请求accept接收网络数据read发送数…

音素与视素(Viseme)

什么是视素(视位) 音素(Phoneme),是人类语言中能够区别意义的最小声音单位。视素(Viseme),是指与某一音素相对应的嘴、舌头、下腭等可视发音器官所处的状态。Viseme是MPEG-4 标准提出来的概念。 有时Viseme也翻译为视位。下面会…

JavaEE初阶Day 10:多线程(8)

目录 Day 10:多线程(8)单例模式阻塞队列1. 生产者消费者模型1.1 生产者消费者模型解耦合1.2 生产者消费者模型削峰填谷 2. 生产者消费者代码3. 阻塞队列实现 Day 10:多线程(8) 单例模式 单例模式&#xf…

springboot中mongodb连接池配置-源码分析

yml下spring.data.mongodb 以前mysql等在spring.xxx下配置,现在springboot新版本(小编3.2.3)在spring.data.xxx下了,如下所示,mongodb的配置在spring.data.mongodb下: 连接池相关参数配置-源码分析 拼接在…

vue3 删除对象中的属性,可以使用js里的delete,但需注意ts定义对象类型!

如上如,当使用delete 删除stateData中的属性时, 报错,意思为 TypeScript 错误“‘delete’ 运算符的操作数必须是可选的 什么原因呢?是因为我偷懒 缺少了ts定义类型 方法一: (不推荐) delete …

【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程

文章目录 前言安装教程使用教程 前言 JavaScript文件可能会泄露敏感信息,如注释中的机密信息、内部IP地址,以及包含未授权访问或其他漏洞的URL。手动检查这些信息效率低下,而该工具——LinkFinder,可用于自动收集JavaScript文件中…

Windows10系统中忘记MySQL数据库root权限登录密码

本文档所使用的MySQL版本为MySQL5.7>> mysqld_safe --skip-grant-tables&mysql -u root mysql在命令行中使用上面的命令登录MySQL,其中--skip-grant-tables允许用户跳过权限表进行无密码登录 >> UPDATE user SET authentication_stringPASSWORD(&q…

2024 年 Web 前端开发趋势

希腊哲学家赫拉克利特认为,变化是生命中唯一不变的东西。这句话适用于我们的个人生活、行业和职业领域。 尤其是前端开发领域,新技术、开发趋势、库和框架不断涌现,变化并不陌生。最近发生的一些事件正在改变开发人员构建网站和 Web 应用的方…

buuctf之ciscn_2019_c_1

ciscn_2019_c_1 一、查看属性二、静态分析三、动态分析四、思路五、exp 一、查看属性 首先还是必要的查看属性环节: 可以知道该文件是一个x86架构下的64位小端ELF文件,开启了栈不可执行(NX) 执行一下,先有一个选择&…

容联云QCon全球软件大会分享:大模型引领“营销服”创新实践

近日,QCon 全球软件开发大会正式召开。容联云大模型产品负责人唐兴才受邀出席,并分享营销服场景中,大模型的创新应用与实践。 唐兴才指出,在大模型浪潮的推动下,营销服场景正经历着前所未有的变革。面对激烈的市场竞争…

LineVul: 基于Transformer的行号级漏洞预测

文中提出一种基于Transformer的行号级漏洞预测方法 LineVul,以解决最先进的 IVDetect 方法的若干局限性。该方法通过对包含 188k C/C 函数的大规模真实数据集进行实证评估,LineVul 实现了:(1)函数级预测的 F1-measure …