差分进化算法——1

1、差分进化算法的概述

2、差分进化算法的特点

3、基本差法进化算法的操作程序

4、差分进化算法流程

5、差分进化算法的流程图

6、关键参数的说明

1、差分进化算法的概述

差分进化算法是基于群体智能理论的优化算法,是通过群体内个体间的合作与竞争而产生的智能优化搜索算法。但相比于进化计算,它保留了基于种群的全局的搜索策略,采用实数编码、基于差分的简单变异操作和“一对一”的竞争生存策略,降低了进化计算操作的复杂性。同时,差分进化算法特有的记忆能力能使其可以动态跟踪当前的搜索情况,以调整其搜索策略,它具有较强的全局收敛能力和稳健性,且不需要借助问题的特征信息,适用于求解一些利用常规的数学规划方法很难求解甚至无法求解的复杂优化问题。

差分进化算法是一种自组织最小化方法,用户只需很少的输入。他的关键思想与传统进化方法不同:传统方法使用预先确定的概率分布函数决定向量扰动:而差分进化算法的自组织程序利用种群中两个随机选择的不同向量来干扰一个向量种群,其中种群向量的随机扰动可独立进行,因此是并行的。

同其他进化算法一样,差分进化算法也是对候选解的种群进行操作,但其中群繁殖方案与其他进化算法不同:它通过把种群中两个成员之间的加权向量加到第三个成员上来产生新的参数向量,该操作成为“变异”:然后将变异向量的参数与另外预先确定的目标向量参数按一定规则混合来产生试验向量,该操作称为“交叉”:最后,若试验向量的代价函数比目标向量的的代价函数低,试验向量就在下一代中代替目标向量,该操作称为“选择”。种群中所有成员必须当作目标向量进行一次这样的操作,以便在下一代中出现相同个数竞争者。在进化过程中对每一代的最佳参数向量都进行评价以记录最小化过程。这样利用随即偏差扰动产生新个体的方式,可以获得一个收敛性非常好的结果,引导搜索过程向全局最优解逼近。

2、差分进化算法的特点

(1)结构简单,容易使用

(2)性能优越

(3)自适应性

(4)差分进化算法具有内在的并行性,可协同搜索。

(5)算法通用,可直接对结构对象进行操作。

3、基本差法进化算法的操作程序:

(1)初始化

(2)变异

(3)交叉

(4)选择

(5)边界条件处理

4、差分进化算法流程

差分进化算法采用实数编码、基于差分的简单变异操作和“一对一”的竞争生存策略,其具有步骤如下:

(1)确定差分进化算法的控制参数和所要采用的具体策略。差分进化算法的控制参数包括:种群数量、变异算子、交叉算子、最大进化代数、终止条件等。

(2)随机产生初始种群,进化代数k=1。

(3)对初始种群进行评价,即计算初始种群中每个个体的目标函数值。

(4)判断是否达到终止条件或达到最大进化代数:若是,则进化终止,将此事的最佳个体作为解输出;否则,继续下一步操作。

(5)进行变异操作和交叉操作,对边界条件进行处理,得到临时种群。

(6)对临时种群进行评价,计算临时种群中每个个体的目标函数值。

(7)对临时种群中的个体和原始种群中对应的个体,进行“一对一”的选择操作,得到新种群。

(8)进化代数k=k+1,转步骤(4)。

5、差分进化算法的流程图

 6、关键参数的说明

(1)种群数量NP

一般情况下,种群的规模NP越大,其中的个体就越多,种群的多样性也就越好,寻优的能力也就越强,但也因此增加了计算的难度。所以NP不能无限取大。根据经验,种群数量NP的合理选择在5D~10D之间,必须满足NP\geq4,以确保差分进化算法具有足够的不同的变异向量。

(2)变异算子F

变异算子F\in[0,2]是一个是常数因数,它决定偏差向量的放大比例。变异算子F过小,则可能造成算法"早熟"。随着F值的增大,防止算法进入局部最优的能力增强,但当F>1时,想要算法快速收敛到最优值会变得十分不易;这是由于当差分向量的扰动大于两个个体之间的距离时,种群的收敛性会变得很差。目前的研究表明,F小于0.4和大于1的值仅偶尔有效,F=0.5通常是一个较好的选择。若种群过早收敛,那么F或NP应该增大。

(3)交叉算子CR

交叉算子CR是一个范围在[0,1]内的实数,它控制着一个试验向量参数来自于随机选择的变异向量而不是原来向量的概率。交叉算子CR越大,发生交叉的可能性就越大。CR的一个比较好的选择是0.1,但较大的CR通常会加快收敛,为了看看是否可能获得一个快速解,可以先尝试CR=0.9,或CR=1.0

(4)最大进化代数G

最大进化代数G是表示差分进化算法运行结束条件的一个参数,表示差分进化算法运行到指定的进化代数之后就停止运行,并将当前群体中的最佳个体作为所求问题的最优解输出。一般,G取100~500.

(5)终止条件

除最大进化代数,可作为差分进化算法的终止条件外,还可以增加其他判定准则。一般目标函数值小于阈值时程序终止,阈值常选为10^{-6}.

上述参数中,F、CR和NP一样,在搜索过程中是常数,一般F和CR影响搜索过程中的收敛速度和稳健性,它们的优化值不仅依赖于目标函数的特性,还与NP有关。通常还通过对不同值做一些试验之后,利用实验和结果误差找到F、CR和NP的合适值。

  • 12
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值