当前位置: 首页 > news >正文

外部存档(External Archive)机制

前言

提醒:
文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。
其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展及意见建议,欢迎评论区讨论交流。

内容由AI辅助生成,仅经笔者审核整理,请甄别食用。

文章目录

  • 前言
    • 🔍 一、外部存档的作用概述
    • 🧠 二、为什么需要外部存档?
    • 📦 三、外部存档的工作机制(分步骤详解)
      • 1. **初始化时:**
      • 2. **每一代更新时:**
        • a. 合并当前粒子和存档:
        • b. 再次筛选**非支配解**:
        • c. 如果存档大小超出最大容量(如 50):
    • 👨‍🏫 四、外部存档在算法中的角色举例
    • 🎯 五、MOPSO 中没有外部存档会怎样?
    • 🧩 六、扩展说明:常见外部存档机制
    • ✅ 七、小结


在多目标粒子群优化(MOPSO)算法中,外部存档(External Archive) 是一个关键机制,用于存储算法迭代过程中发现的非支配解(Pareto optimal solutions)。它是多目标优化中保持帕累托解集多样性和精英性的核心组件


🔍 一、外部存档的作用概述

功能说明
✅ 储存非支配解存档中只保留当前发现的“最优且互不支配”的解
✅ 引导粒子搜索存档中的解用作 领导者(leader) 引导粒子向 Pareto 前沿逼近
✅ 保持多样性通过裁剪机制(如拥挤距离),保持解的分布均匀
✅ 输出最优前沿算法终止后,外部存档即为近似的 Pareto 最优解集

🧠 二、为什么需要外部存档?

单目标 PSO中,全局最优解是一个点,容易更新。

但在多目标优化中,不存在单一最优解,而是一个Pareto 最优解集

  • 解之间是互不可比较的(即不支配彼此)
  • 所以不能简单用一个 gbest 表示最优解
  • 因此引入外部存档来保存当前最优解集合(非支配解)

📦 三、外部存档的工作机制(分步骤详解)

1. 初始化时:

  • 从初始种群中筛选出所有非支配解,放入存档 Rep

数学判断标准(Dominates):

a≺b⟺∀i,ai≤bi且∃j,aj<bj\mathbf{a} \prec \mathbf{b} \iff \forall i,\, a_i \leq b_i\quad \text{且} \quad \exists j,\, a_j < b_j abi,aibij,aj<bj


2. 每一代更新时:

a. 合并当前粒子和存档:
Rep = [Rep, particle];
b. 再次筛选非支配解
Rep = GetNonDominated(Rep);
c. 如果存档大小超出最大容量(如 50):

通过 ReduceArchive 执行“拥挤度裁剪”:

  • 计算所有解之间的距离矩阵
  • 平均距离大 = 分布稀疏 → 保留
  • 平均距离小 = 密集 → 优先删除

目的是增强分布均匀性,避免解集中在某些区域


👨‍🏫 四、外部存档在算法中的角色举例

组件单目标 PSO多目标 MOPSO
最优记录记录单个 gbest维护非支配解集 Rep
引导搜索所有粒子参考同一个 gbest每个粒子随机选一个 leader ∈ Rep
收敛性保障通过 gbest 传导优秀解通过 Rep 传导帕累托前沿
多样性控制靠参数或变异外部存档裁剪机制(如拥挤度)

🎯 五、MOPSO 中没有外部存档会怎样?

  • 📉 失去收敛性保障:非支配解不能被记录,可能被新的劣解覆盖
  • 🎲 缺乏搜索方向:没有合理 leader 引导粒子逼近 Pareto 前沿
  • 🔁 粒子重复搜索:多个粒子盲目收敛到相近区域,降低解的多样性
  • 📈 最终结果无法展示:算法结束时没有一组可供分析的 Pareto 解集

🧩 六、扩展说明:常见外部存档机制

技术功能示例算法
非支配排序 + 拥挤度裁剪保留边界与分布均匀性MOPSO、NSGA-II
ε-支配存档保证解集均匀覆盖ε-MOPSO
网格机制(Grid Archive)在解空间建立网格增强多样性MOPSO with Adaptive Grid

✅ 七、小结

外部存档在 MOPSO 中是不可或缺的精英保存机制,它具有以下关键功能:

  1. 🧠 保持非支配帕累托解集
  2. 🚀 引导粒子朝帕累托前沿搜索
  3. 🎨 保证解的分布多样性
  4. 📊 提供最终优化结果

http://www.dtcms.com/a/295192.html

相关文章:

  • MNIST 手写数字识别模型分析
  • 无人机电池通讯接口应用:CANFD工业级芯片的选型与技术要点
  • 跨境支付入门~国际支付结算(稳定币)
  • 事务的特性 - ACID
  • 游戏装备被盗,运营商赔不赔
  • 算法牢笼与思想飞地:在人工智能时代守卫灵魂的疆域
  • gig-gitignore工具实战开发(二):设计多源模板系统
  • Python--Tkinter--标准 GUI 工具包
  • 常用的Typescript特性
  • Python进阶知识之pandas库
  • 【OpenCV篇】OpenCV——02day.图像预处理(1)
  • LLM中词嵌入向量的 模长 和 角度 的物理含义
  • 基于 GitLab 实践敏捷开发
  • ElasticSearch基础数据查询和管理详解
  • Android网络请求,Retrofit,OKHttp学习
  • SAP调用外部API
  • MST技术加持,简化桌面多屏布局
  • 题解:P9468 [EGOI 2023] Candy / 糖果
  • GNSS差分定位系统之一:差分定位中的单差和双差
  • Java【代码 03】未分页数据根据参数进行后期分页(粘贴可用)
  • git 修改最近一次 commit 信息
  • Prometheus介绍
  • 部署zabbix
  • Git版本控制系统
  • 什么是MySQL 视图
  • CSS预处理器与后处理器对比解析
  • 我用EV-21569-SOM评估来开发ADSP-21569(十二)-SigmaStudio Plus做开发(3)
  • Element中ElMessageBox弹框内容及按钮样式自定义
  • 论文解析 基于遗传算法增强YOLOv5算法的合成数据风力涡轮叶片缺陷检测
  • 面试150 环形子数组的最大和