差分进化算法:原理、策略与变体
差分进化(Differential Evolution,DE)算法是一种高效且强大的优化算法,在连续值优化问题中表现出色。本文将深入探讨差分进化算法的基本原理、不同策略以及一些常见的变体。
1. 基本概念
1.1 差分向量
个体的位置能反映适应度景观的重要信息。若采用良好的均匀随机初始化方法构建初始种群,初始个体可很好地代表整个搜索空间,个体间距离相对较大。随着搜索进行,个体间距离逐渐缩小,最终收敛到同一解。个体间距离体现了当前种群的多样性,也决定了种群收缩到一点所需的步长量级。
差分进化算法通过计算随机选择个体间的加权差分来确定变异步长。变异的第一步是计算一个或多个差分向量,然后用这些向量确定步长的大小和方向。使用向量差分实现变异有诸多优点:一是利用当前种群所代表的适应度景观信息引导搜索;二是根据中心极限定理,若种群足够大,变异步长近似服从高斯(正态)分布,且差分向量形成的分布均值为零,可避免种群发生遗传漂移。
若使用 $n_v$ 个差分,种群大小为 $n_s$,则差分扰动的总数为:
[
\begin{pmatrix}
n_s \
2n_v
\end{pmatrix}
2n_v! \approx O(n_s^{2n_v})
]
1.2 变异
DE 变异算子通过用加权差分对目标向量进行变异,为当前种群的每个个体生成一个试验向量。该试验向量将用于交叉算子产生后代。对于每个父代 $x_i(t)$,生成试验向量 $u_i(t)$ 的步骤如下:
1. 从种群中选择一个目标向量 $x_{i1}
超级会员免费看
订阅专栏 解锁全文
17

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



