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

文案:段克邪

排版:随心390

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

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

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

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

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

01优化能力

02 流程概述

03 算法特点

04 发展历史


01 |优化能力

1.1 IEEE CEC标准测试算例

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

bdd95edc82692028dabf448ed6c69f20.png

1.2 DE的优化结果排名

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

99fd1c70e587189e980e69fc01b80869.png

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

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

02 | 流程概述

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

,变量维度为
,表示为

的上界
和下界
分别定义为

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

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

2.1 初始化

DE的种群可以表示为

其中,

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

其中,

之间的均匀随机数。

2.2 变异

定义

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

其中,下标

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

2.3 交叉交叉算子

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

产生对应的试验向量

其中,

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

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

生成

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


03 | 算法特点

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

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

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

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

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

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

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

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

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

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

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

40代时,基本收敛。

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

0ef98cd1df109c899970e38d6842112f.png
图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为

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

4.2 种群大小

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

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

4.3 缩放因子

设计缩放因子

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

历史自适应缩放因子

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

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

交叉概率

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

4.4 改进DE性能排名

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

d89367d67762dd4578079bd1702cf976.png
图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. 2018, 43:284 – 311

创新奇智招聘信息

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

地点:北京、青岛

01 工作职责

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

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

02 任职资格

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

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

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

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

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

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

03 简历投递邮箱

jiaziyu@ainnovation.com

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

往期推荐

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

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

知乎 | bilibili:随心390

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值