失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 差分进化算法_特邀嘉宾 | 科普差分进化算法(创新奇智运筹优化算法工程师朱小龙博士

差分进化算法_特邀嘉宾 | 科普差分进化算法(创新奇智运筹优化算法工程师朱小龙博士

时间:2019-05-04 09:07:17

相关推荐

差分进化算法_特邀嘉宾 | 科普差分进化算法(创新奇智运筹优化算法工程师朱小龙博士

文案:段克邪

排版:随心390

hello,大家好。各位可点击此处,访问公众号官方店铺。谨防上当受骗,感谢各位支持!

今天我们有幸请到创新奇智运筹优化算法工程师朱小龙博士为大家科普差分进化算法,本次推文内容主要来源于作者博士论文《缩放因子自适应差分进化算法及其在航天器轨道优化中的应用》, 中国科学院大学, 。

文末有创新奇智公司的招聘信息,励志成为一名运筹优化算法工程师或想在创新奇智公司实习的同学千万不要错过!!!

差分进化算法(differential evolution,以下简称DE)由Storn等人于1995年提出,其最初的设想是用于解决切比雪夫多项式问题,后来发现它也可用于求解复杂优化问题。当前,它已经成为求解连续变量和无约束类型的全局优化问题的最有效方法之一。与遗传算法类似,DE为一种基于种群进化的元启发式算法。

本篇推文主要从以下几个方面展开:

01优化能力

02 流程概述

03 算法特点

04 发展历史

01 |优化能力

1.1 IEEE CEC标准测试算例

元启发式算法由于缺乏严密的数学证明,因此难以从理论上确定哪一种元启发式算法是最佳的元启发式算法。为了详细评测各类元启发式方法的全局优化能力,一般采用数值优化的方式进行对比验证。自以来,相关主办方每年都会举办一次IEEE 进化计算大会(Congress on Evolutionary Computation,CEC)单目标参数优化竞赛。竞赛中一般会提供大约30个标准测试算例,作为各类元启发式算法的测试对象。这些算例的全局最优解均为已知,特点也基本明确,表1给出了IEEE CEC 的前16个算例的问题特点。表中,参数可分离(Separable)指的是优化变量可以分别独立优化;参数不可分离(Non-separable)指的是优化变量不能独立优化。“N/A”表示无其他特点。IEEE CEC 的后14个算例是由前16个算例中的某几个函数组合而成,因此更加复杂。此外,对于每个算例,优化变量的个数从少到多共包含10、30、50和100共4种。在测评时,通常设定最大目标函数计算次数为优化变量个数的10,000倍,并将此时的优化结果,作为元启发式算法的最终结果。最终结果与全局最优解之间的差距越小,则认为该方法的全局寻优性能越好。

1.2 DE的优化结果排名

表2列举了-IEEE CEC 单目标参数优化竞赛的前三名优化算法。其中,和未针对算法进行总排名,不参与统计(用N/A表示);为多目标优化问题,不参与统计(用N/A表示);和 年的第二名和第三名算法,未在网站上公布,表中也未列出(用N/A表示)。

表2中的DE算法和改进DE算法用黑体标注。从表中可以看出,DE在求解标准测试算例时,具有较为明显的优势。图1汇总了DE算法在各届IEEE CEC竞赛中的最优排名及其对应的改进DE。除了排名第4外(图1中未标出),DE在其他所有年份的排名都位列前三。在和等7个年份中,DE取得了第一名的成绩。在最近三年的竞赛中,即、和,DE依然保持着领先的地位。

图1 DE算法在IEEE CEC竞赛中的最优排名及其对应的改进DE汇总

02 | 流程概述

设定优化问题如下:优化变量为

,变量维度为,表示为 的上界和下界 分别定义为

目标函数为最小化某一性能指标

针对以上的最小化问题,经典DE在求解过程中,一般包含4个步骤:初始化(initialization)、变异(Mutation)、交叉(Crossover)和选择(Selection)。

2.1 初始化

DE的种群可以表示为

其中,

是种群大小。初始化第 个个体 的常用方法为

其中,

是 之间的均匀随机数。

2.2 变异

定义

为第 代种群的第 个个体。通过以下的变异算子生成与之对应的变异向量。

其中,下标

、 和 是随机产生的整数值,范围是 ,它们的数值互不相同,并且均不等于 。对于每个变异向量,这些下标都只随机产生一次。此处, 被称为 对应的目标向量, 为基向量, 是差分向量, 是缩放因子,范围是 。

2.3 交叉交叉算子

如(7)所示,其作用是通过组合

和产生对应的试验向量。

其中,

是 之间的随机整数, , 是交叉概率,范围是 。该方式下,至少存在1维变量从 到 。图2为生成试验向量 的示意图。

图2 经典DE,生成试验向量示意图

生成

后,计算和比较和对应的目标函数,目标函数较小的对应向量可以保留到下一代。

03 | 算法特点

相比其他元启发式算法,DE的主要特点在于它使用差分向量来指导当前种群的进化方向,即式(6)。为了直观地展示差分向量(变异向量)的变化特点,本节结合经典DE求解2维Schwefel函数的优化实例,进行详细描述。

图3为2维Schwefel函数的3-D曲面图和等高线图,其中x和y的范围均为[-500,500] 。从图上可知,该函数中除了全局最优解外,还包含数量众多的局部最优解。

图3 2 维Schwefel函数的3-D曲面图和等高线图

使用刚刚介绍的经典DE进行求解。设置种群大小

,缩放因子,交叉概率 。图4中记录了不同代数时的变异向量末端点的所有可能位置。

在初始化种群后,虽然种群大小

仅为30,但是变异向量几乎可以覆盖所有的搜索空间。此时,个体差异较大, DE可以在较大范围内进行搜索,因此这个阶段的全局探索能力较强;

12代时,优化过程逐渐摒弃中心位置,向边界附近搜索;

19代时,搜索范围聚集到4个角落;

23代时,优化区间已经减至2个小范围;

25代时,只剩下一个搜索区域。此时,个体间差异也变小,局部开发能力更强;

在40代时,基本收敛。

因此,在优化过程中,差分向量可以利用个体差异的变化,自适应地调整DE的全局探索和局部开发能力,从而保证DE具有非常好的综合优化性能。

图4 经典DE优化2维Schwefel函数时,变量向量演化图

04 | 发展历史

经典DE虽然为求解全局优化问题提供了一种可行的途径,但是它还存在一些不足,比如易陷入局部最优、出现早熟收敛或搜索停滞等现象。为了提升DE的全局优化性能,许多学者致力于改进DE的相关工作。总的来说,改进DE的方法可以分别或同时从以下4个方面入手,包括:变异算子、种群大小

、缩放因子和交叉概率 。

4.1 变异算子

为了区分不同类型的变异算子,一般使用“DE/x/y”对其简述。其中,x表示基向量,y表示差分向量。式(6)中的变异算子通常被标记为DE/rand/1。此后,学者们又提出了DE/best/1、DE/rand/2、DE/best/2和DE/current-to-pbest/1等变异算子。当前,DE/current-to-pbest/1变异算子是各种改进DE的最常用算子之一,其表达式如下

式中,

为第G代种群前 个最好的个体,的范围是 。为从 范围内随机选取的个体, 为从 与A(Archive)组成的集合中随机选取的个体, 、 和 互不相等。A中保存的是历史迭代过程中目标函数较差的个体。在优化开始阶段,A和第一代的种群相同;此后,逐渐向A中增加目标函数较差个体的数量;当A 中个体数量超过最大值时,将从中随机删除部分个体,并添加进新个体。图 5为DE/current-to-pbest/1变异算子,生成试验向量的示意图, 差分向量1为 ,差分向量2为 。

图5 DE/current-to-pbest/1变异算子,试验向量示意图

4.2 种群大小

种群设置的方式主要包含2种,固定值和自适应方式。在固定值中,通常认为种群数

设置为变量个数5~10倍为宜;,自适应的 设计技术首次被证明有利于提升DE的优化性能,,L-SHADE(DE的改进算法)在IEEE CEC 测试算例上的优化表现排名第一,它更直接地证明了自适应种群设计技术的显著优势。该算法使用的是线性减少种群大小值的方法。此后陆续又提出了其他的自适应调整值的方式,如基于小生境(Niching-based)的减少方法等。

4.3 缩放因子

设计缩放因子

的方式可以分为四类:固定值、随机值、基于历史自适应和基于目标函数自适应。固定值指的是缩放因子在整个优化过程中,都保持不变。一般认为,取0.5,0.6或0.9为宜。随机值指的是每一代缩放因子的值通过随机函数来确定。在研究过程中,均匀分布函数和正态分布函数是最常用的两种方式。

历史自适应缩放因子

的核心是借鉴以往迭代成功的缩放因子值,作为设定当前缩放因子值的参考基准。图 6(a)给出了历史自适应缩放因子设计的示意图。该方法广泛应用于各种自适应DE算法,SHADE是其中最为典型的算法。目标函数自适应缩放因子是指利用当前种群的目标函数来确定当前的缩放因子。图 6(b)给出了目标函数自适应缩放因子设计的示意图。

图6 历史自适应缩放因子F和目标函数自适应缩放因子F设计示意图

交叉概率

的设计方式与缩放因子 类似,本文不再赘述。

4.4 改进DE性能排名

图7依据全局寻优能力的的区别,绘制了25种不同DE算法之间的相互关系。各类改进DE从下到上,全局寻优能力逐渐提升。每两条红色虚线区间内的DE认为其全局寻优性能类似。DE之间的箭头指向表示来源关系,例如EsDEr-NR是JADEw的改进版。

图7 25种改进DE的优化性能排名

05 | 参考文献

[1] Al-Dabbagh R D, Neri F, Idris N, et al. Algorithmic design issues in adaptive differential evolution schemes: review and taxonomy [J]. Swarm and Evolutionary Computation. , 43:284 – 311

创新奇智招聘信息

运筹优化算法工程师 & 实习生

地点:北京、青岛

01 工作职责

1、负责运筹优化方向的算法研究和开发,包括组合和连续优化、在线和离线优化、无约束和约束优化等;

2、负责新零售和制造业务场景的优化算法设计和实现,包括问题建模、算法选择、结果验证和分析等。

02 任职资格

1、硕士及以上学历,计算机,应用数学,运筹学,工业工程,统计学或相关专业;

2、精通运筹学领域的算法理论和应用,包括线性规划、启发式和元启发式算法;

3、有大型优化项目经验或数学建模竞赛获奖经历优先;

4、较强的编程能力,掌握C,C++,JAVA,Python至少一种语言;

5、有零售和制造从业经历或项目经历优先,有系统开发经验优先;

6、具有较强的团队合作精神,良好的沟通能力,出色的执行力。

03 简历投递邮箱

jiaziyu@

更多精彩尽在公众号:优化算法交流地

往期推荐

遗传算法(GA)求解带时间窗的车辆路径(VRPTW)问题MATLAB代码

蚁群算法(ACO)求解带时间窗的车辆路径(VRPTW)问题(附MATLAB代码)

知乎 | bilibili:随心390

差分进化算法_特邀嘉宾 | 科普差分进化算法(创新奇智运筹优化算法工程师朱小龙博士)...

如果觉得《差分进化算法_特邀嘉宾 | 科普差分进化算法(创新奇智运筹优化算法工程师朱小龙博士》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。