解释差分进化法 [英] Explain the Differential Evolution method

查看:150
本文介绍了解释差分进化法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以解释差异进化方法吗? Wikipedia 定义极为技术化.

Can someone please explain the Differential Evolution method? The Wikipedia definition is extremely technical.

一个简短的解释和一个简单的例子将不胜感激:)

A dumbed-down explanation followed by a simple example would be appreciated :)

推荐答案

此处为简化的描述. DE是一种优化技术,可以迭代地修改大量候选解决方案以使其收敛到最佳功能.

Here's a simplified description. DE is an optimisation technique which iteratively modifies a population of candidate solutions to make it converge to an optimum of your function.

您首先随机初始化您的候选解决方案.然后在每次迭代中,对于每个候选解决方案x,您都需要执行以下操作:

You first initialise your candidate solutions randomly. Then at each iteration and for each candidate solution x you do the following:

  1. 您产生一个试验向量:v = a +(b-c)/2,其中a,b,c是在您的总体中随机选择的三个不同的候选解决方案.
  2. 您在x和v之间随机交换矢量分量以产生v'.必须至少交换v中的一个组成部分.
  3. 只有在v'更好的情况下(即更好地优化函数),才用v'替换总体中的x.

(请注意,上述算法非常简化;请不要从中进行编码,而应在其他地方找到合适的规格)

(Note that the above algorithm is very simplified; don't code from it, find proper spec. elsewhere instead)

不幸的是,维基百科文章缺少插图.使用图形表示更容易理解,您可以在以下幻灯片中找到一些内容: http://www-personal.une.edu.au/~jvanderw/DE_1.pdf .

Unfortunately the Wikipedia article lacks illustrations. It is easier to understand with a graphical representation, you'll find some in these slides: http://www-personal.une.edu.au/~jvanderw/DE_1.pdf .

它与遗传算法(GA)相似,不同之处在于候选解决方案不被视为二进制字符串(染色体),而是(通常)被视为实向量. DE的一个关键方面是突变步长(突变见第1步)是动态的,也就是说,它可以适应您的总体配置,并且在收敛时趋向于零.这使得DE不如GA更容易受到基因漂移的影响.

It is similar to genetic algorithm (GA) except that the candidate solutions are not considered as binary strings (chromosome) but (usually) as real vectors. One key aspect of DE is that the mutation step size (see step 1 for the mutation) is dynamic, that is, it adapts to the configuration of your population and will tend to zero when it converges. This makes DE less vulnerable to genetic drift than GA.

这篇关于解释差分进化法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆