【多目标进化算法】 MOEA/D算法(知识点)

目录

[一、MOEA/D 是什么?](#一、MOEA/D 是什么?)

二、核心思想

多目标问题:

分解思路:

[三、MOEA/D 的基本流程](#三、MOEA/D 的基本流程)

步骤1:初始化

步骤2:迭代演化

步骤3:终止条件

四、总结关键词


一、MOEA/D 是什么?

MOEA/D 是一种基于"分解"的多目标优化算法。与 NSGA-II 直接寻找 Pareto 前沿不同,MOEA/D 把多目标问题分解为多个单目标子问题并行地优化这些子问题,从而获得一组 Pareto 最优解。

二、核心思想

将多目标优化问题转化为 多个标量子问题(如加权和、Tchebycheff、PBI 等),然后同时优化它们。

多目标问题:

分解思路:

引入一组权重向量 λ1,λ2,...,λN,将多目标问题分解为多个标量优化问题。

例如用 加权Tchebycheff方法

其中 z^* 是当前已知的理想点(每个目标的最优值)。

三、MOEA/D 的基本流程

步骤1:初始化

  • 构造 N 个均匀分布的权重向量 λ1,...,λN

  • 初始化 N 个个体 x1,...,xN,每个对应一个子问题

  • 初始化邻居集合:每个子问题找最近的 T个权重向量作为邻居


步骤2:迭代演化

对每个子问题 i:


步骤3:终止条件

迭代到最大代数后,输出所有个体组成的解集,作为 Pareto 近似解。

四、总结关键词

  • 分解(Decomposition):将多目标问题转化为多个标量问题

  • 邻域协同优化:每个子问题与邻居协同进化

  • 理想点(Ideal Point)跟踪:动态更新多目标最优参考点

  • 适合多目标 (>3):相较 NSGA-II 更具扩展性

相关推荐
BUG收容所所长8 分钟前
二分查找的「左右为难」:如何优雅地找到数组中元素的首尾位置
前端·javascript·算法
itsuifengerxing1 小时前
python 自定义无符号右移
算法
猎板PCB厚铜专家大族1 小时前
高频 PCB 技术发展趋势与应用解析
人工智能·算法·设计规范
dying_man1 小时前
LeetCode--24.两两交换链表中的结点
算法·leetcode
yours_Gabriel1 小时前
【力扣】2434.使用机器人打印字典序最小的字符串
算法·leetcode·贪心算法
草莓熊Lotso2 小时前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
KyollBM2 小时前
【CF】Day75——CF (Div. 2) B (数学 + 贪心) + CF 882 (Div. 2) C (01Trie | 区间最大异或和)
c语言·c++·算法
CV点灯大师3 小时前
C++算法训练营 Day10 栈与队列(1)
c++·redis·算法
GGBondlctrl3 小时前
【leetcode】递归,回溯思想 + 巧妙解法-解决“N皇后”,以及“解数独”题目
算法·leetcode·n皇后·有效的数独·解数独·映射思想·数学思想
武子康3 小时前
大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
大数据·人工智能·算法·机器学习·语言模型·spark-ml·boosting