进化编程 (EP)

class pypop7.optimizers.ep.ep.EP(problem, options)[source]

进化编程(EP)。

这是所有EP类的抽象类。请使用其实例化的任何子类来优化当前的黑箱问题。

注意

EP 是进化算法(EAs)的三大经典家族之一,最初由 Lawrence J. Fogel 提出(他是1998年IEEE进化计算先锋奖和2006年IEEE Frank Rosenblatt奖的获得者)。当用于连续BBO时,大多数现代EP版本与ES(另一种代表性的EAs)有相似之处(例如,自适应)。

关于Laurence J. Fogel对进化计算的先驱性贡献的介绍,请参考 [Evolutionary Intelligence, 2008][ECJ 2007]。关于 EP的一些有趣应用,请参考例如[Fogel et al., 2004, PIEEE],仅举几例。

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);

    以及以下特定设置 (keys):
    • ’sigma’ - 初始全局步长,也称为变异强度 (float),

    • ’n_individuals’ - 后代数量,也称为后代种群大小 (int, 默认: 100).

n_individuals

后代数量,也称为后代种群大小。

Type:

int

sigma

初始全局步长,也称为变异强度。

Type:

float

参考文献

Lee, C.Y. 和 Yao, X., 2004. 基于Lévy概率分布的变异进化编程. IEEE Transactions on Evolutionary Computation, 8(1), pp.1-13. https://ieeexplore.ieee.org/document/1266370

Yao, X., Liu, Y. 和 Lin, G., 1999. 进化编程加速。 IEEE Transactions on Evolutionary Computation, 3(2), pp.82-102. https://ieeexplore.ieee.org/abstract/document/771163

Fogel, D.B., 1999. 进化编程概述。 在《进化算法》中(第89-109页)。Springer, 纽约, 纽约州。 https://link.springer.com/chapter/10.1007/978-1-4612-1542-4_5

Fogel, D.B. 和 Fogel, L.J., 1995年9月. 进化编程简介. 在欧洲人工进化会议上 (第21-33页). Springer, 柏林, 海德堡. https://link.springer.com/chapter/10.1007/3-540-61108-8_28

Fogel, D.B., 1994. 模拟进化优化简介。 IEEE Transactions on Neural Networks, 5(1), pp.3-14. https://ieeexplore.ieee.org/abstract/document/265956

Fogel, D.B., 1994. 进化编程:简介及当前方向。 统计与计算,4(2),第113-129页。 https://link.springer.com/article/10.1007/BF00175356

Bäck, T. 和 Schwefel, H.P., 1993. 进化算法在参数优化中的概述. Evolutionary Computation, 1(1), pp.1-23. https://direct.mit.edu/evco/article-abstract/1/1/1/1092/An-Overview-of-Evolutionary-Algorithms-for