进化编程 (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