进化算法:差分进化、进化规划与语法进化详解
1. 差分进化算法
1.1 算法分类
差分进化(Differential Evolution,DE)是一种随机直接搜索和全局优化算法,属于进化计算领域的进化算法。它与遗传算法、进化规划、进化策略等进化算法相关,并且与粒子群优化算法有一些相似之处。
1.2 算法策略
差分进化算法通过维护一个候选解种群,对其进行重组、评估和选择的迭代操作。重组方法是基于两个随机选择的种群成员之间的加权差,再加上第三个种群成员,从而创建新的候选解组件。这种扰动会使种群成员相对于更广泛的种群分布发生变化,结合选择操作,能够自组织地对问题空间进行采样,将搜索范围限制在已知的感兴趣区域。
1.3 算法过程
差分进化算法有专门的命名法,采用DE/x/y/z的形式,其中:
- x 表示要扰动的解(如随机或最优解)。
- y 表示用于扰动 x 的差分向量的数量,差分向量是两个随机选择且不同的种群成员之间的差值。
- z 表示执行的重组操作符,如 bin 表示二项式,exp 表示指数。
以下是差分进化算法的伪代码:
Algorithm 3.5.1: Pseudocode for Differential Evolution.
Input: Populationsize, Problemsize, Weightingfactor,
Crossoverrate
Output: Sbest
Population ←InitializePopulation(Populationsiz
三大进化算法详解
超级会员免费看
订阅专栏 解锁全文
884

被折叠的 条评论
为什么被折叠?



