DE/best/1/bin
2026/3/21约 1473 字大约 5 分钟
DE/best/1/bin
名称
DE/best/1/bin,差分进化“best/1/bin”变体
分类
差分进化(Differential Evolution, DE)是一种基于种群的优化算法,属于进化计算领域,而进化计算又是计算智能的一个分支。DE 与其他进化算法(如遗传算法(Genetic Algorithms, GA)和进化策略(Evolution Strategies, ES))密切相关。
- 计算智能
- 进化计算
- 进化算法
- 遗传算法(GA)
- 进化策略(ES)
- 差分进化(DE)
- DE/best/1/bin
- 进化算法
- 进化计算
策略
DE/best/1/bin 是差分进化算法的一种具体变体,其通过特定的变异与交叉策略生成新的候选解。算法维护一个候选解种群,并通过变异、交叉与选择过程不断迭代改进这些个体。
变异
在变异步骤中,算法会为种群中的每个个体构造一个变异向量。该变异向量由当前种群中最优个体与两个随机选取个体的加权差分相加而成。这种方式记作“DE/best/1”,其中“best”表示以当前最优个体作为基向量,“1”表示使用一个差分向量。
交叉
完成变异后,算法在每个目标个体与其对应的变异向量之间执行交叉操作,以生成试验向量。其中,“bin”表示采用二项式交叉策略,即试验向量的每个分量都依据预先设定的交叉概率,独立地从目标向量或变异向量中继承。
选择
最后,在选择步骤中,算法决定试验向量与原始个体中哪一个进入下一代。若试验向量的适应度优于原始个体,则用试验向量替换原始个体;否则保留原始个体。
过程
数据结构:
- 种群:由一组候选解组成,其中每个候选解均表示为一个实值向量。
- 变异向量:由当前最优个体与两个种群个体的差分构造得到的向量。
- 试验向量:由个体与其对应变异向量经过交叉操作生成的向量。
参数:
- 种群规模(NP):种群中的个体数量。
- 交叉概率(CR):交叉过程中从变异向量继承分量的概率。
- 缩放因子(F):控制差分扰动幅度的参数。
伪代码:
- 在搜索空间内随机初始化包含 NP 个个体的种群。
- 当终止准则尚未满足时,执行:
- 对种群中的每个个体 ,执行:
- 从当前种群中选取最优个体 。
- 从种群中随机选取两个互不相同的个体 和 ,其中 。
- 按照公式构造变异向量 :。
- 通过对 和 执行二项式交叉,生成试验向量 :
- 对于 的每个分量 ,执行:
- 若 或 ,则令 。
- 否则,令 。
- 对于 的每个分量 ,执行:
- 计算试验向量 的适应度。
- 若 的适应度优于 ,则用 替换种群中的 。
- 若终止准则已满足,则停止并返回当前找到的最优解;否则进入下一代迭代。
- 对种群中的每个个体 ,执行:
注意事项
优点:
- 实现简单直接。
- 相较于其他进化算法,所需控制参数较少。
- 在较广泛的优化问题上通常表现出较快的收敛速度和较好的求解性能。
缺点:
- 算法性能可能对控制参数(NP、CR、F)的选择较为敏感。
- 在复杂多峰问题上,可能出现早熟收敛或停滞现象。
- 缺乏显式的种群多样性维持机制,可能导致探索能力下降。
启发式建议
种群规模(NP)的设置
- 一般而言,可将 NP 设置为问题维数的 5 到 10 倍。
- 对于高维问题(如 100 维及以上),可考虑采用较小的种群规模以降低计算开销。
- 若种群规模过小,算法可能早熟收敛或探索不足;若过大,则收敛速度可能变慢,且计算成本会增加。
交叉概率(CR)的选择
- CR 控制探索与开发之间的平衡。较高的取值(如 0.9)更偏向开发,较低的取值(如 0.1)更偏向探索。
- 一个较好的初始设置通常是将 CR 取在 0.5 到 0.9 之间,再根据问题特性以及期望的探索—开发平衡进行调整。
- 若算法出现早熟收敛,可尝试减小 CR 以增强探索能力;若收敛过慢,则可尝试增大 CR 以强化开发能力。
缩放因子(F)的调整
- F 控制差分扰动的幅度。较大的取值(如 1.0)对应更大的步长与更强的探索能力,较小的取值(如 0.1)则对应更小的步长与更强的开发能力。
- F 的常用取值范围通常为 0.4 到 1.0。可以先从约 0.5 的取值开始,再根据具体问题以及所需的探索—开发平衡进行调整。
- 若算法难以收敛或探索过度,可尝试减小 F;若算法过早收敛或探索不足,则可尝试增大 F。
终止准则
- 常见的终止准则包括达到最大迭代代数、获得足够满意的适应度值,或在连续若干代内最优解无明显改进。
- 终止准则的具体设置取决于问题特性以及可用计算资源,应根据解质量与计算时间之间的权衡进行调整。
- 可考虑同时设置多个终止准则,当任意一个条件满足时即停止算法。