【多目标进化算法】 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 更具扩展性

相关推荐
重庆小透明22 分钟前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
desssq42 分钟前
力扣:70. 爬楼梯
算法·leetcode·职场和发展
clock的时钟1 小时前
暑期数据结构第一天
数据结构·算法
小小小小王王王2 小时前
求猪肉价格最大值
数据结构·c++·算法
岁忧2 小时前
(LeetCode 面试经典 150 题 ) 58. 最后一个单词的长度 (字符串)
java·c++·算法·leetcode·面试·go
BIYing_Aurora2 小时前
【IPMV】图像处理与机器视觉:Lec13 Robust Estimation with RANSAC
图像处理·人工智能·算法·计算机视觉
martian6654 小时前
支持向量机(SVM)深度解析:从数学根基到工程实践
算法·机器学习·支持向量机
孟大本事要学习4 小时前
算法19天|回溯算法:理论基础、组合、组合总和Ⅲ、电话号码的字母组合
算法
??tobenewyorker4 小时前
力扣打卡第二十一天 中后遍历+中前遍历 构造二叉树
数据结构·c++·算法·leetcode
让我们一起加油好吗5 小时前
【基础算法】贪心 (二) :推公式
数据结构·数学·算法·贪心算法·洛谷