模拟退火 (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页.