论文:SPEA2: Improving the Strength Pareto Evolutionary Algorithm For Multiobjective Optimization

首先说一下SPEA2与SPEA算法的不同之处(见SPEA):

  1. 采用一种改进的适应度分配策略,计算每一个个体支配的个数和配其他个体 支配的个数
  2. 一种更精确的搜索策略,采用最近邻密度估计技术
  3. 一种心的存档截断方法

SPEA的不足:

  1. fitness assignment,被同一个存档个体支配的其他个体具有相同的fitness值,这降低了选择压力,使得SPEA更像一个随机搜索算法
  2. density estimation,如果很多个体是不相关的,例如不互相支配,很难从支配关系中获得信息,这其实在多目标优化中很常见(目标数大于等于3的)。居于聚类的方式只使用了archive中的个体,而不是整个种群
  3. archive truncation存档截断,虽然聚类技术可以在保持算法特征的同时减少非支配解,但是丢失了外部solution。而这些解应该被保存在archive中一保持好的多样性

SPEA2算法步骤:

  1. 初始化(Initialization):生成初始种群P0和一个空的存档(外部存档)P0,P0为空集,t=0
  2. 适应度分配(Fitness assignment):计算PT和PT的适应度值
  3. 环境选择(Environmental selection):将所有PT和PT的个体复制到PT+1,如果 种群个数超过N(archive size),采用截断操作(truncation operator),如果合并后的种群个数少于N则用PT和PT中的支配解填充PT+1
  4. 终止条件(Termination):如果当前迭代数t>=T或者其他停止标准满足,将A作为PT+1中非支配解所代表的决策变量集合输出
  5. 选择方式(Mating selection):对PT+1采用binary tournament selection放入mating pool
  6. 变异(Variation):对mating pool中的个体进行重组和变异,PT+1作为最后的种群,t=t+1转到2

SPEA2 使用了一个fine-grained fitness assignment 策略,包含了density information。此外,外部存档大小是固定的,而SPEA中的外部存档可能随时间而改变。关于聚类技术,党非支配解数量超过存档限制时,,截断技术并不会使得boundary points丢失。另一个与SPEA不同之处是只有存档中的个体参与mating selection过程。

Fitness Assignment 适应度分配:

为了避免同一个外部存档中个体支配的其他个体具有相同的适应度值,SPEA2同时考虑支配解和非支配解。

具体的做法是对PT和PT中的每个个体分配一个strength value S(i),代表被当前个体支配的solution个数。

在S(i)的基础上定义了raw fitness R(i),代表i被支配的solution个数, R(i)=0表示非支配解, R(i)越大支配i的个体越多

虽然raw fitness提供了一种niching mechanism小生境机制的pareto支配排序理念,但是单大部分个体是非支配关系时可能作用不大。此音引入了density information区分相同raw fitness value的个体。SPEA2中的density estimation technique是一种适应性的K近邻方法,任意点的density是k个邻居点的距离函数。这篇文章直接取第k个邻居的距离倒数作为density estimate。

k的值是种群和存档个数和的开平方,

density ,分母部分保证D(i)的值大于0并且小于1

个体i的fitness值

fitness的执行时间由density estimator决定,S和R的计算复杂度是

Environmental Selection 环境选择:

复制所有非支配解集(fitness值小于1的解),从archive和种群复制到下一代archive中。

此时有三种情况:

1)如果下一代种群PT+1个数等于N,选择过程结束

2)如果下一代种群PT+1个数<N,选择PT和PT中个体fitness值大于1的个体排序,取fitness值最小的(NPT+1个数)个solution

3)如果下一代种群PT+1个数>N, 采用archive truncation procedure从PT+1中逐一删除直到个数等于N

代表个体i与第k个邻居的距离,上面公式表示具有最小距离的个体被选中删除,如果有多个个体都是距离最小值,则考虑第二个最小距离值,以此类推。

截断操作的最长运行复杂度是,但是平均复杂度小于,因为一般个体的距离在第二或第三个邻居处回不同。

实验设置:

算法对比:实验对比了SPEA,NSGA2,PESA

测试问题:组合优化问题(背包问题:750个物体的2.3.4目标,one-point crossover和 Point mutations)和连续变量问题(Sphere Model (SPH-m),Kursawe’s function (KUR),ZDT6,QV等,采用SBX-20 operator和a polynomial distribution mutation)

多目标优化 MOP (二):遗传算法 SPEA2 2001相关推荐

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

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

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

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

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

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

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

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

  5. 用matlab进行批量优化,多目标优化实例和matlab程序

    <多目标优化实例和matlab程序>由会员分享,可在线阅读,更多相关<多目标优化实例和matlab程序(2页珍藏版)>请在人人文库网上搜索. 1.NSGA-II 算法实例目前的 ...

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

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

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

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

  8. 基于遗传算法的多目标优化算法(附代码案例)

    一.理论基础 多目标优化问题可以描述如下: 其中,f(x) 为待优化的目标函数:x 为 待优化的变量:lb 和 ub 分别为变量 x 的下限和上限约束:Aeq * x = beq 为变量 x 的线性等 ...

  9. python 遗传算法多目标优化_NSGA2 遗传算法解决多目标优化

    进行多目标优化时,通常面临多个目标函数无法同时达到最优的情况,为了解决这一矛盾,引入Pareto-Optimality的概念 Pareto-Optimality 通常,多目标优化的一般形式为: 经过处 ...

  10. 计算智能课程设计(遗传算法求解无约束单目标优化问题)

    写在前面 前天写完了基于传递闭包的模糊聚类,今天准备写"遗传算法求解无约束单目标优化问题".昨天和npy玩了一下午,去齐白石艺术学院看了画展,一起在最高处看了夕阳,并在落日前接吻. ...

最新文章

  1. STM32初学Keil4编译时出现 Error:Failed to execute 'BIN40/Armcc'
  2. 关于Hibernate异常:只进 ResultSet 不支持请求的操作
  3. web前端项目--用hbuilder调试app项目
  4. 多普达D700手机利用USB电缆与电脑连接上网方法
  5. asp.net调用前台js调用后台代码分享
  6. windows php redis扩展安装,怎么在Windows下安装PHP的Redis扩展服务
  7. 手机投屏到电脑完美教程,安卓和苹果用户均可使用
  8. 定积分及其应用知识点总结_定积分知识点总结.doc
  9. 复活唐音,是一味怎样的菜?
  10. 力扣刷题篇——摩尔投票算法
  11. oracle输出加文字,输出cx字符串
  12. 破防 | 姥姥摇着头说:“不记得你了”
  13. html方法介绍,html中noframes标签的使用方法介绍
  14. 【软件工程习题(含参考答案)】总复习
  15. WindowsAPI编程 简单的计算器
  16. 【IT实施培训那些事儿】
  17. 视频去水印免费软件有哪些?快来收藏这三款实用工具
  18. mysql5.7查询连续登录/连续签到天数
  19. Linux远程桌面的设计总结,windows / Linux 远程桌面访问全面总结 / 共享文件
  20. C# 结构体的创建和使用

热门文章

  1. 计算机基础笔记(摘录)
  2. win7下修改php.ini的配置路径
  3. JMC | 基于机器学习精确预测激酶抑制剂结合模式
  4. UVa 10608 - Friends(并查集)
  5. Predicting human microbe–disease associations via graph attention networks with inductive matrix论文解析
  6. 小米手机访问电脑共享文件_小米手机共享文件夹在哪里
  7. 阿里云 EMAS Serverless 重磅发布
  8. (轉貼) 馬英九特別費案起訴書全文 (News)
  9. 超硬核的Java学习路线图(宫斗版)一般程序员一看就懂
  10. 蘑菇街顶天:真诚与尊重是技术团队的管理要点