多目标优化算法——基于聚类的不规则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个为止。

相关推荐
嘘嘘出差2 分钟前
DeepSeek渣机部署编程用的模型,边缘设备部署模型
前端·人工智能·python·深度学习·语言模型·自然语言处理·deepseek
vjmap7 分钟前
用AI绘制CAD气温曲线图
人工智能·ai·gis·cad·dwg
星迹日12 分钟前
数据结构:排序—计数,桶,基数排序(五)
java·数据结构·算法·排序算法·计数排序·桶排序·基数排序
LCG元15 分钟前
本地部署DeepSeek集成VSCode创建自己的AI助手
ide·人工智能·vscode
Hello.Reader29 分钟前
深入理解 Rust 的迭代器:从基础到高级
开发语言·算法·rust
薯条不要番茄酱36 分钟前
【动态规划】风扫枯杨,满地堆黄叶 - 9. 完全背包问题
算法·动态规划
智模睿脑君37 分钟前
Streamlit快速构建大模型前端框架
人工智能·python·机器学习·语言模型·自然语言处理·前端框架·word2vec
tt5555555555551 小时前
每日一题——括号生成
c语言·数据结构·算法·leetcode
apple-mapping1 小时前
tensorflow环境中已安装库
人工智能·python·tensorflow
诗丶远方的田筠1 小时前
在 rtthread中,rt_list_entry (rt_container_of) 已知结构体成员的地址,反推出结构体的首地址
算法·list·rt_list_entry·rt_container_of