差分进化 (DE)
- class pypop7.optimizers.de.de.DE(problem, options)[source]
差分进化(DE)。
这是所有差分进化(DE)类的抽象类。请使用其任何实例化的子类来优化当前的黑箱问题。
注意
DE 是由 Kenneth Price 和 Rainer Storn 提出的,用于解决一些具有挑战性的现实世界黑箱问题,两位2017年IEEE进化计算先锋奖的获得者。尽管到目前为止(据我们所知)在理论上没有显著的进展,但由于其在许多多模态黑箱函数上通常具有吸引力的搜索性能,它仍然在实践中被广泛使用。“DE 借鉴了 Nelder&Mead 的思想,利用向量群体内部的信息来改变搜索空间。”—[Storn&Price, 1997, JGO]
流行且强大的SciPy库为DE提供了一个开源的Python实现,具有广泛的应用。
关于DE的一些有趣应用,请参考[Weichart et al., 2024, Psychological Review], [LaBerge et al., 2024, Nature Photonics (UT Austin, TU Dresden, Fermilab, etc.)], [Olschewski et al., 2024, PNAS], [DeWolf et al., 2024 (EPFL + MPI-IS + Harvard University)], [Higgins et al., 2023, Science], [Shinn et al., 2023, Nature Neuroscience], [Staffell et al., 2023, Nature Energy (Imperial + TU Delft)], [Koob et al., 2023, Psychological Review], [Barbosa et al., 2021, PAAP], [Lawson et al., 2020, AJ], [Event Horizon Telescope Collaboration, 2019, ApJL], [Lawson et al., 2019, AJ], [Laganowsky et al., 2014, Nature], 仅举几例。
- Parameters:
问题 (字典) –
- 问题参数包含以下常见设置 (键):
’fitness_function’ - 需要最小化的目标函数 (函数),
’ndim_problem’ - 维度数 (整数),
’upper_boundary’ - 搜索范围的上限 (类数组),
’lower_boundary’ - 搜索范围的下限 (类数组).
options (dict) –
- 具有以下常见设置的优化器选项 (keys):
’max_function_evaluations’ - 函数评估的最大次数 (int, 默认: np.inf),
’max_runtime’ - 允许的最大运行时间 (float, 默认: np.inf),
’seed_rng’ - 需要显式设置的随机数生成种子 (int);
- 以及以下特定设置 (key):
’n_individuals’ - 后代数量,即后代种群大小 (int, 默认: 100).
- n_individuals
后代数量,也称为后代种群大小。对于DE,通常使用较大(通常>=100)的种群大小以更好地探索多模态函数。显然,最优种群大小取决于问题,可以在实践中进行微调。
- Type:
int
参考文献
Price, K.V., 2013. Differential evolution. 在《优化手册》中(第187-214页)。Springer出版社。
Price, K.V., Storn, R.M. 和 Lampinen, J.A., 2005. 差分进化:一种实用的全局优化方法。 Springer Science & Business Media.
https://jacobfilipp.com/DrDobbs/articles/DDJ/1997/9704/9704a/9704a.htm
Storn, R.M. 和 Price, K.V. 1997. 差分进化 – 一种简单且高效的启发式方法,用于连续空间中的全局优化。 《全球优化杂志》,11(4),第341–359页。
Storn, R.M., 1996年5月。 IIR滤波器的差分进化设计。 在IEEE国际进化计算会议论文集(第268-273页)中。IEEE。
Storn, R.M., 1996年6月。 关于差分进化在函数优化中的应用。 在北美洲模糊信息处理会议论文集(第519-523页)中。IEEE。
描述: