论文:Shift-based density estimation for Pareto based algorithms in many-objective optimization

Pareto-based evolutionary multiobjective optimization (EMO) algorithms 在解决many-objective problems(MaOP)时常遇到问题,因为在高维空间中pareto dominance不起作用,而diversity maintenance mechanisms多样性维护机制在稀疏的区域远离pareto front。
目前有两种解决此问题的方法:
  1. 改变pareto dominance 关系
  2. 改变多样性维护机制

这篇文章提出了 shift-based density estimation (SDE) strategy基于转移的密度估计策略,SDE可以同时兼顾收敛性与分布的多样性。SDE是通过改变多样性的方式提高选择压力的。SDE的原理很简单,就是将收敛性不好的个体转移到拥挤区域并分配一个大的density value,这样在选择过程中很容易被删除。

Density Estimation in EMO Algorithms EMO中的密度估计算法:

EMO算法中有很多密度估计的方法,他们基本都是作用于个体的不同邻居,或不同的方法的。比如niched Pareto genetic algorithm(NPGA)考虑到小生境中的个体并计算小生境的拥挤程度,strength Pareto EA (SPEA)采用基于聚类的方法估计拥挤程度,NSGA-II定义了拥挤距离crowding distance反映一个个体的密度,这个方法只考虑一个个体两边的最近的个体,grid-based EMO 比如 PESA-II和dynamic multiobjective EA (DMOEA)通过对hyperbox中个体计数估计密度。SPEA2考虑了种群中个体的K个近邻,距离的计算方式可以采用Euclidean distance欧式距离或者Tchebycheff distance切比雪夫距离。

Shift-Based Density Estimation (SDE)基于转移的密度估计:

当估计一个个体p的密度时,SDE通过对比收敛性将p的位置转移到种群中其他个体的位置上。具体地讲就是当一个个体p在一个目标上表现比另一个个体好时就将p转移到另一个个体的当前目标位置,否则p的位置不动。如公式所示,是p在种群P中新的密度估计,N是种群个数。

是两个个体的相似度,的转换后的点

举个例子,如图所示,在两个目标最小化问题的二维图中,四个点A(10, 17), B(1, 18), C(11, 6), and D(18, 2), B 被转移到  (10, 18) ,因为 B1 = 1 < A1 = 10,  C 和 D 转移到  (11, 17) and (18, 17), respectively, since C2 = 6 < A2 = 17 and D2 = 2 < A2 = 17.可以看到,A原来与其他点具有较低的相似度,但是转移后有两个近邻此时被分配较高密度值。这是因为B和C在收敛性上比A好。虽然在某个目标值上不如A,但是其他目标上比A远远有优势。因此SDE中没有明显优势的点会被分配一个高的密度值。

为了进一步说明SDE的效果,对最小化问题四种情况下的收敛性和多样性进行说明:(a)很好的收敛性和多样性,(b)收敛性不好和多样性好 (c)收敛性好和多样性不好 (d)收敛性和多样性都不好

从(c)(d)中可以看出不管收敛性好不好,如果多样性差的话个体种群会聚集在拥挤区域。

不管是收敛性不好还是多样性不好,个体都会有几个近邻,因此,SDE兼顾了多样性和收敛性。

Integrating SDE into NSGA-II, SPEA2, and PESA-II将SDE与三种算法相结合
NSGA-II +SDE: nondominated sorting and crowding distance-based fifitness assignment strategies
 
SPEA2+SDE:k-th nearest neighbor method
PESA-II +SDE:grid-based diversity maintenance mechanism
三种算法在测试问题上的表现:
DTLZ1-7:测试指标:IGD(越小越好)
TSP问题:测试指标:HV(越大越好),因为pareto front 未知所以用HV
在30个测试问题中最后测试的效果:
NSGA-II +SDE在DTLZ和TSP的4,6,10目标问题上(24/30)比NSGA-II效果好
PESA-II +SDE在DTLZ和TSP的4,6,10目标问题上(29/30)比PESA-II 效果好
SPEA2+SDE在DTLZ和TSP的4,6,10目标问题上(28/30)比SPEA2效果好
三种算法效果比较 SPEA2+SDE>PESA-II+SDE>NSGA-II+SDE
 
SPEA2+SDE与流行算法的比较:DTLZ 1-7的4,6,10目标21个问题中SPEA2+SDE 9个best

MOEA/D:6个best,MSOPS:4个,:2个,HypE 、DMO 都是0个
TSP 9个问题中SPEA2+SDE 8个 best,MOEA/D:1个best

一个细节问题是SPEA2+SDE的参数k没有明显的影响,在SPEA2中,k用于适应度分配过程,当非支配解的个数小于存档个数时,对支配解排序,而MaOP问题中绝大部分解都是非支配解,个数远多于存档数量。这种情况下K值作用不大。

多目标优化 MOP (三):遗传算法 SPEA2+SDE 2014相关推荐

  1. 多目标优化问题和遗传算法学习笔记

    @多目标优化问题和遗传算法学习笔记 多目标优化问题和遗传算法学习笔记 本人最近研究多目标优化问题以及NSGA2算法,下面把学习笔记分享给大家,希望可以帮助到一些和我一样的初学者们. 名词: Nondo ...

  2. 遗传算法关于多目标优化python(详解)

    之前学习了遗传算法对单目标函数的最优值求解,对于多目标问题.或者说是多目标函数的求解问题,我想再研究一下.正好,我也想改进一下之前的代码架构.不得不说,之前的代码是面向过程的架构,完全没有体现出pyt ...

  3. 进化计算(三)——多目标优化基本概念

    多目标优化MOP基本概念 概述 引言 多目标优化问题的数学模型 基本概念 Pareto最优 Pareto支配 Pareto Front-最优边界 Approximation Set-近似解 Appro ...

  4. 多目标优化-Pareto遗传算法

    多目标优化的应用背景 工程实际中的许多优化问题是多目标的优化设计问题.通常情况下多个目标是处于冲突状态的,不存在一个最优设计使所有的目标同时达到最优,一个目标性能的改善,往往以其它一个或多个目标性能的 ...

  5. 多目标进化优化_科研一角|论文分享 | 等离子喷焊工艺参数多目标优化

    科研一角|论文分享 等离子喷焊工艺参数多目标优化 喷焊层质量是影响再制造产品质量的主要因素,而等离子喷焊过程中参数的选择又影响着喷焊层质量,工艺参数的确定通常依靠加工手册.工人的操作经验以及工艺参数优 ...

  6. 使用帕累托最优解和熵权双基点法实现电力成本双目标优化——附matlab实现代码

    一.问题描述 改进发电调度方式又是电力行业节能减排的主要环节. 改进发电调度方式需要在满足负荷需求和功率限制的条件下,使煤耗成本和购电成本尽可能降低,为解决此问题建立双目标优化模型. 二.双目标优化模 ...

  7. 【优化求解】基于粒子群算法求解多目标优化问题matlab源码

    [优化求解]基于粒子群算法求解多目标优化问题matlab源码 1 算法介绍 1.1 关于速度和位置 粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快 ...

  8. python目标函数最大_python运筹优化(三):遗传算法和Geatpy使用实践

    这个专栏以工具实践为主,因此我们先讲进化算法工具包geatpy的使用. 关于遗传算法的推导原理我们举一个最简单的袋鼠爬山的例子,然后看遗传算法从头到尾怎么"编码-计算适应度-选择淘汰-基因交 ...

  9. 【多目标优化】2. 非支配排序遗传算法 —(NSGA、NSGA-II)

    [多目标优化]1. 多目标优化的相关基本概念 [多目标优化]2. 非支配排序遗传算法 -(NSGA.NSGA-II) [多目标优化]3. 基于分解的多目标进化算法 -(MOEAD) 1. 非支配排序遗 ...

  10. [多目标优化算法]1.NSGA-II——非支配排序遗传算法

    笔者最近在学习有关多目标优化的内容,并对内容进行一些整理.这篇文章算是笔者的一篇个人学习笔记,也希望能对他人提供一定的帮助,若有不足之处,也欢迎指正和建议. 注:本文中所举例子均为最小化问题. 一.多 ...

最新文章

  1. 1007 Maximum Subsequence Sum(两种思路)
  2. mysql数据库五大约束_数据库基础知识:数据库中的约束和三大范式
  3. 蚂蚁集团技术专家山丘:性能优化常见压测模型及优缺点
  4. easyui下datagrid列单独赋值
  5. CListCtrl行高问题最终解决方法
  6. E-prime问题(安装.net3.5)
  7. Python语言程序设计 习题1
  8. 生物信息学python脚本_使用Python/Biopython/Clustalw的生物信息学脚本,使用stdout迭代蛋白质目录...
  9. Python爬虫教程(纯自学经历,保姆级教程)
  10. 最美不过少年时,红尘走马,步步相随
  11. Dijkstra迪杰斯特算法(C++版本和JAVA版本)
  12. Spring Cloud Gateway配置熔断CircuitBreaker
  13. 改变chart坐标轴的起始值
  14. html转换成pdf在线转换器,pdf转换成HTML转换器
  15. OpenERP开发文档 2.1.模块开发
  16. 基于jQuery的富文本编辑器summernote插件的使用教程
  17. IT行业应届毕业生的简历改怎么写?
  18. C标签的核心标签及语法格式
  19. Ackerman(阿克曼)函数C语言递归实现
  20. 泰隆银行计算机笔试题,泰隆银行面试笔试感想

热门文章

  1. SAP HANA数据获取(data provisioning ) - SLT
  2. Padavan挂载SMB共享及编译ffmpeg
  3. audio autoplay无效的问题
  4. 树形数据结构——ClosureTable
  5. LTE(4G) - NR(5G) EPS承载
  6. ImageNet数据集 下载
  7. 计算机管理没有Android手机项,电脑没有手机驱动各品牌解决办法
  8. 算法设计与分析第五章习题解答与学习指导(第2版)屈婉婷 刘田 张立昂 王捍贫编著 清华大学出版社
  9. audio插入背景音乐_vue.js怎么添加背景音乐
  10. 一款免费开源的远程控制软件UltraVNC安装和使用方法