差分进化 (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.

https://visitor-badge.laobi.icu/badge?page_id=Evolutionary-Intelligence.pypop