多目标优化算法——基于聚类的不规则Pareto前沿多目标优化自适应进化算法(CA-MOEA)

基于聚类的不规则Pareto前沿多目标优化自适应进化算法(CA-MOEA)

一、算法简介
  1. 简介:

    现有的多目标进化算法(moea)在具有规则Pareto前沿且Pareto最优解在目标空间上连续分布的多目标优化问题(MOPs)上表现良好。当Pareto前沿不连续或退化时,现有的大多数算法都不能得到很好的结果。为了解决这一问题,本文提出了一种基于聚类的自适应MOEA (CA-MOEA)算法来求解具有不规则Pareto前沿的MOPs。

    其主要思想是自适应地产生一组聚类中心,以指导每一代的选择,保持多样性和加速收敛。研究结果证明了CA-MOEA在多目标优化中的竞争力,特别是对于不规则Pareto前沿问题。此外,CA-MOEA在碳纤维成形过程中拉伸参数的优化方面表现良好。

  2. 现有算法的局限性:

    • 基于指标的MOEAs: 在不规则Pareto前沿情况下,非Pareto最优解可能会对指标贡献更大,导致选择偏差。
    • 基于分解的MOEAs: 需要预先定义一组权重向量,但在不规则Pareto前沿情况下,大量权重向量会被浪费,导致性能下降。
    • 基于Pareto支配的MOEAs: 多样性维护机制(如拥挤距离)在不规则Pareto前沿情况下可能会失效,导致丢失重要的解。
    • 协同进化MOEAs(CMOEAs): 处理具有复杂相互依赖性的问题时,决策变量分解变得困难,且保持种群多样性也面临挑战。
  3. 聚类:

    • 划分方法(Partitioning Methods):例如:k-means、k-中心点(k-centroid)及其变体。这类方法需要预先定义聚类中心,且结果严重依赖于初始聚类中心的选择。
    • 基于密度的方法(Density-Based Methods):例如:基于密度的空间聚类应用噪声(DBSCAN)。这类方法将高密度区域视为簇,并将其与低密度区域分开。然而,低密度区域中的个体可能对优化具有重要意义,因此这类方法不适用于处理不规则Pareto前沿的问题。
    • 基于网格的方法(Grid-Based Methods):例如:基于统计信息网格的方法。这类方法通常不能独立工作,而是用于减少其他聚类算法的计算时间。
    • 基于模型的方法(Model-Based Methods):这类方法采用某种模型并试图找到最适合该模型的数据。其主要缺点是计算量大。
    • 层次聚类方法(Hierarchical Clustering Methods):包括**自底向上(bottom-up)和自顶向下(top-down)**两种方法。
      • 自底向上方法首先将每个数据点视为独立的簇,然后根据某种链接准则逐步合并簇,直到所有簇合并为一个。
      • 自顶向下方法则相反,首先将所有数据点视为一个簇,然后逐步将其划分为更小的簇。它不需要指定聚类的数量,也不假设数据是正态分布。
  4. 采用Ward链接准则:使同一簇内的误差平方和最小化,而使不同簇之间的误差最大化,最有可能将非支配前沿的解均匀地划分为所需数量的组。

    任意两个簇之间的距离使用如下公式计算:

在这里插入图片描述

选择距离最小的两个簇将其合并,并计算聚类中心:计算每个目标上的值,每个解在该目标上的值的和/该簇中解的个数

在这里插入图片描述

D,E合并后的聚类中心G((8+10)/2,(4+2)/2)====> (9,3)

在这里插入图片描述

二、算法流程

​ CA-MOEA采用自底向上的层次聚类方法

  1. 算法流程:

    N种群大小,g代数,M目标的数量,V决策变量数,B约束条件,Fl从1,2,3到l层的所有解的集合

    (1)随机初始化父代种群P,大小为N。

    (2)通过采用模拟二元交叉(SBX)和多项式突变产生大小为N的子代群体Q,采用精英保留机制合并父代种群P和子代种群Q为整体种群P(2N),交叉概率pc = 1.0,突变概率pm = 1/V

    (3)对P进行快速非支配排序。将组合种群P中的2N个解排序到L个非支配前沿f1, f2,…,fL。从前往后选择N个解。

    (4)如果选到l层,Fl的大小大于N,而选到l-1层,Fl的大小小于N,则选出l层的前K=N-|Fl-1|个解。

    (5)计算聚类中心。

    (6)基于聚类的选择。

    (7)选则的解数量到N个或者迭代次数到g,结束循环。

  2. 主循环
    在这里插入图片描述

  3. 计算聚类中心:

    将fl层中的解使用如下公式归一化到**[0,1]**:
    在这里插入图片描述

    使用层次聚类算法(Ward 链接准则)将第l层的个体划分为 K个簇:

    初始状态,每个个体作为一个独立的簇。根据 Ward 链接准则,合并最相似的两簇,直到达到预定的簇数量 K,计算生成的K个簇的聚类中心。

在这里插入图片描述

  1. 基于聚类的自适应环境选择:

    个体分配:

    • 计算每个个体与各个聚类中心之间的欧氏距离。
    • 将每个个体分配到与其距离最近的聚类中心。

    个体选择:

    初始化集合:

    • 初始化三个集合 T_1、T_2 和 T_3。
    • T_1用于存放每个簇中距离聚类中心最近的个体。
    • T_2用于存放nCj>=3时,每个簇中除最近个体外的其他个体。
    • T_3用于存nCj<3时,每个簇中除最近个体外的其他个体。

    个体选择:

    ​ 依次从T1,T2,T3中选取解,直至选满K个为止。

在这里插入图片描述

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

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

相关文章

Kubernetes开发环境minikube | 开发部署apache tomcat web单节点应用

minikube是一个主要用于开发与测试Kubernetes应用的运行环境 本文主要描述在minikube运行环境中部署J2EE tomcat web应用 minikube start --force minikube status 如上所示&#xff0c;在Linux中启动minikube运行环境 service docker start docker version service docker …

【QT-QTableView实现鼠标悬浮(hover)行高亮显示+并设置表格样式】

1、自定义委托类 HoverDelegate hoverdelegate.h #ifndef HOVERDELEGATE_H #define HOVERDELEGATE_H#include <QObject> #include <QStyledItemDelegate>class hoverdelegate : public QStyledItemDelegate {Q_OBJECT // 添加 Q_OBJECT 宏public:explicit hoverde…

企业网络性能监控

什么是网络性能监控 网络性能监控&#xff08;NPM&#xff09;是指对计算机网络的性能进行持续测量、分析和管理的过程&#xff0c;通过监控流量、延迟、数据包丢失、带宽利用率和正常运行时间等关键指标&#xff0c;确保网络高效、安全地运行&#xff0c;并将停机时间降至最低…

引领AI发展潮流:打造大模型时代的安全与可信——CCF-CV企业交流会走进合合信息会议回顾

一、前言 随着数字化浪潮的推动&#xff0c;人工智能技术正在以前所未有的速度深刻改变着我们的生活、工作方式以及社会结构。AI技术的飞速发展不仅为各行业带来了前所未有的机遇&#xff0c;也同时引发了关于其风险与挑战的广泛关注。如何平衡技术进步与安全保障&#xff0c;…

List ---- 模拟实现LIST功能的发现

目录 listlist概念 list 中的迭代器list迭代器知识const迭代器写法list访问自定义类型 附录代码 list list概念 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是双向链表结构&#xff0c;双向链表中每个元素…

Matlab回归预测大合集(不定期更新)-188

截至2025-1-2更新 1.BP神经网络多元回归预测&#xff08;多输入单输出&#xff09; 2.RBF神经网络多元回归预测&#xff08;多输入单输出&#xff09; 3.RF随机森林多元回归预测&#xff08;多输入单输出&#xff09; 4.CNN卷积神经网络多元回归预测&#xff08;多输入单输…

go语言zero框架中教务crm系统的在职继承和离职交接的设计与实践

在GoZero中实现一个在职继承和离职交接的通用模块&#xff0c;涉及到顾问离职交接客户、领导离职交接审批单据等功能。为了使这个模块通用且易于扩展&#xff0c;我们可以分成几个部分&#xff1a; 1. **数据模型设计**&#xff1a;我们首先需要设计离职交接相关的数据模型。 …

Mac软件介绍之录屏软件Filmage Screen

软件介绍 Filmage Screen 是一款专业的视频录制和编辑软件&#xff0c;适用于 Mac 系统 可以选择4k 60fps&#xff0c;可以选择录制电脑屏幕&#xff0c;摄像头录制&#xff0c;可以选择区域录制。同时也支持&#xff0c;简单的视频剪辑。 可以同时录制电脑麦克风声音 标准…

毕业项目推荐:基于yolov8/yolov5的行人检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示&#xff1a;功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出&#xff08;xls格式&#xff09;功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

对话|企业如何构建更完善的容器供应链安全防护体系

对话&#xff5c;企业如何构建更完善的容器供应链安全防护体系 云布道师 随着云计算和 DevOps 的兴起&#xff0c;容器技术和自动化成为软件开发中的必要手段&#xff0c;软件供应链也进入了自动化及 CI/CD 阶段。然而&#xff0c;容器技术和自动化虽然提升了软件的更新速度&…

小试牛刀-SpringBoot集成SOL链

目录 一、什么是solanaj? 二、Pom依赖 三、主要类 3.1 RpcClient 3.2 PublicKey 3.3 Transaction 3.4 TransactionInstruction 四、示例代码 Welcome to Code Blocks blog 本篇文章主要介绍了 [小试牛刀-SpringBoot集成SOL链] ❤博主广交技术好友&#xff0c;喜欢文章的…

LLM之RAG实战(五十一)| 使用python和Cypher解析PDF数据,并加载到Neo4j数据库

一、必备条件&#xff1a; python语言Neo4j数据库python库&#xff1a;neo4j、llmsherpa、glob、dotenv 二、代码&#xff1a; from llmsherpa.readers import LayoutPDFReaderfrom neo4j import GraphDatabaseimport uuidimport hashlibimport osimport globfrom datetime …

牛客网刷题 ——C语言初阶(5操作符)——BC117 小乐乐走台阶

1.题目 &#xff1a;BC117 小乐乐走台阶 牛客OJ题链接 描述 小乐乐上课需要走n阶台阶&#xff0c;因为他腿比较长&#xff0c;所以每次可以选择走一阶或者走两阶&#xff0c;那么他一共有多少种走法&#xff1f; 输入描述&#xff1a; 输入包含一个整数n (1 ≤ n ≤ 30) …

gitlab高级功能之 CICD Steps

CICD Steps 1. 介绍2. 定义 Steps2.1 Inputs2.2 Outputs 3. Using steps3.1 Set environment variables3.2 Running steps locally 4. Scripts5. Actions5.1 已知的问题 6. 表达式7. 实操7.1 单个step7.2 多个step7.3 复用steps7.4 添加output到step7.5 使用远程step 1. 介绍 …

【Unity3D】UGUI Canvas画布渲染流程

目录 Screen Space - Overlay Screen Space - Camera World Space UI合批分析&#xff08;建议不看 直接看FrameDebugger测试&#xff09; 优化UI合批 1、Image图片纹理不同导致合批失败 2、文本和图片相交以及排序对合批的影响 3、Mask对合批的影响&#xff08;情况…

平安产险安徽分公司携手安徽中医药临床研究中心附属医院 共筑儿童安全防护网

为响应金融知识普及教育号召&#xff0c;平安产险安徽分公司联动安徽中医药临床研究中心附属医院&#xff0c;于近日在朝霞小学举办了一场儿童安全防范与健康守护活动。此次活动旨在提升学生的安全防范意识&#xff0c;守护儿童健康成长&#xff0c;同时有力推动金融知识与传统…

zephyr移植到STM32

Zephy如何移植到单片机 1. Window下搭建开发环境1.1 安装Choncolatey1.2 安装相关依赖1.3创建虚拟python环境1.4 安装west1.4.1 使用 pip 安装 west1.4.2 检查 west 安装路径1.4.3 将 Scripts路径添加到环境变量1.4.4 验证安装 1.5 获取zephyr源码和[安装python](https://so.cs…

fail api scope is not declared in the privacy agreement微信小程序uniapp 解决录音无法播放、授权

已解决 fail api scope is not declared in the privacy agreement微信小程序uniapp 解决录音无法播放、授权 没有声明内容协议导致的 微信公众平台&#xff1a;https://mp.weixin.qq.com/【1.左下角的-移动过去后会出现 “帐号设置”】 【2.基本设置->服务内容声明->修…

虚拟机 网络防御(预防信息泄露)

了解VMware网络基本配置 Bridged(桥接模式):虚拟机和主机好比在同一个网络环境下的两台电脑。 NAT(网络地址转换模式):NAT模式虚拟机通过主机进行联网。&#xff08;推荐&#xff09; Host-0nly(主机模式):主机模式将虚拟机与外网隔开&#xff0c;只能让虚拟机和虚拟机之间联…

打包部署若依(RuoYi)SpringBoot后端和Vue前端图文教程

打包后端‘ 1&#xff0c;打开若依&#xff0c;点击右侧的Maven展开Maven管理&#xff0c;选择ruoyi>Lifecycle 先双击clean清除原本启动项目时生成的文件。然后点击package等待项目打包&#xff0c;切记要取消运行再打包 打包完成后会在ruoyi-admin>src>target里面…