差分进化 (DE)
- class pypop7.optimizers.de.de.DE(problem, options)[源代码]
差分进化 (DE)。
这是所有差分进化 (DE) 类的抽象类。请使用其任何一个实例化的子类来优化您手头的黑箱问题。
注意
DE 算法由 2017 年 IEEE 进化计算先驱奖的两位获得者 Kenneth Price 和 Rainer Storn 提出,用于解决一些具有挑战性的现实世界黑箱问题。尽管(据我们所知)至今几乎没有重大的理论进展,但由于其在许多多峰黑箱函数上通常具有吸引人的搜索性能,因此在实践中仍被广泛使用。“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, 等)], [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] 等,仅举几例。
- 参数:
problem (dict) –
- 问题参数,包含以下通用设置 (键)
'fitness_function' - 需要被最小化的目标函数 (func),
'ndim_problem' - 维度数量 (int),
'upper_boundary' - 搜索范围的上边界 (array_like),
'lower_boundary' - 搜索范围的下边界 (array_like).
options (dict) –
- 优化器选项,包含以下通用设置 (键)
'max_function_evaluations' - 函数评估的最大次数 (int, 默认: np.inf),
'max_runtime' - 允许的最大运行时间 (float, 默认: np.inf),
'seed_rng' - 随机数生成器的种子,需要明确设置 (int);
- 以及以下特定设置 (key)
’n_individuals’ - 后代数量,也称为后代种群大小 (int,默认值:100)。
- n_individuals
后代数量,也称为后代种群大小。对于 DE,通常使用一个较大(通常 >=100)的种群大小,以便更好地探索多峰函数。显然,最佳种群大小是与问题相关的,可以在实践中进行微调。
- 类型:
int
参考文献
Price, K.V., 2013. Differential evolution. In Handbook of Optimization (pp. 187-214). Springer.
Price, K.V., Storn, R.M. and Lampinen, J.A., 2005. Differential evolution: A practical approach to global optimization. Springer Science & Business Media.
https://jacobfilipp.com/DrDobbs/articles/DDJ/1997/9704/9704a/9704a.htm
Storn, R.M. and Price, K.V. 1997. Differential evolution – a simple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimization, 11(4), pp.341–359.
Storn, R.M., 1996, May. Differential evolution design of an IIR-filter. In Proceedings of IEEE International Conference on Evolutionary Computation (pp. 268-273). IEEE.
Storn, R.M., 1996, June. On the usage of differential evolution for function optimization. In Proceedings of North American Fuzzy Information Processing (pp. 519-523). IEEE.
DEs