模拟退火 (SA)
- class pypop7.optimizers.sa.sa.SA(problem, options)[source]
模拟退火算法(SA)。
这是所有模拟退火(SA)类的抽象类。请使用其任何实例化的子类来优化当前的黑箱问题。
对于其基于pytest的测试,请参考this Python code。
- 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):
’temperature’ - 退火温度 (float),
’x’ - 初始(起始)点 (array_like).
- temperature
退火温度。
- Type:
float
- x
初始(起始)点。
- Type:
array_like
参考文献
Bras, P., 2024. 具有乘性噪声的Langevin模拟退火算法的收敛性。 计算数学, 93(348), pp.1761-1803.
Bouttier, C. 和 Gavra, I., 2019. Convergence rate of a simulated annealing algorithm with noisy observations. 《机器学习研究杂志》, 20(1), 第127-171页。
Lecchini-Visintini, A., Lygeros, J. 和 Maciejowski, J., 2007. 模拟退火:连续域优化的严格有限时间保证。 神经信息处理系统进展, 20.
Siarry, P., Berthiau, G., Durdin, F. 和 Haussy, J., 1997. 增强模拟退火算法用于全局最小化多连续变量函数。 ACM 数学软件交易, 23(2), 页209-228.
Granville, V., Krivánek, M. 和 Rasson, J.P., 1994. 模拟退火:收敛性证明. IEEE 模式分析与机器智能汇刊, 16(6), 第652-656页.
Bertsimas, D. 和 Tsitsiklis, J., 1993. 模拟退火. 统计科学, 8(1), 第10-15页.
Corana, A., Marchesi, M., Martini, C. 和 Ridella, S., 1987. 使用“模拟退火”算法最小化连续变量的多模态函数。 ACM 数学软件交易, 13(3), pp.262-280. https://dl.acm.org/doi/10.1145/66888.356281
Szu, H.H. 和 Hartley, R.L., 1987. Nonconvex optimization by fast simulated annealing. IEEE 会议录, 75(11), 第1538-1540页.
Kirkpatrick, S., Gelatt, C.D. 和 Vecchi, M.P., 1983. Optimization by simulated annealing. 科学, 220(4598), 第671-680页.
Hastings, W.K., 1970. 使用马尔可夫链的蒙特卡罗采样方法及其应用。 Biometrika, 57(1), pp.97-109.
Metropolis, N., Rosenbluth, A.W., Rosenbluth, M.N., Teller, A.H. 和 Teller, E., 1953. Equation of state calculations by fast computing machines. 化学物理杂志, 21(6), 第1087-1092页.