调用求解器

(函数来自 pyomo.contrib.pyros.util)

pyomo.contrib.pyros.util.call_solver(model, solver, config, timing_obj, timer_name, err_msg)[source]

使用给定的优化器解决模型,并跟踪实际时间需求。

Parameters:
  • model (ConcreteModel) – 感兴趣的模型。

  • solver (Pyomo 求解器类型) – 从属优化器。

  • config (ConfigDict) – PyROS 求解器设置。

  • timing_obj (TimingData) – PyROS 求解器计时数据对象。

  • timer_name (str) – 在层次计时器中包含的子计时器的名称,用于启动/停止以跟踪解决时间要求。

  • err_msg (str) – 在尝试解决模型时如果引发ApplicationError,将通过config.progress_logger.exception()记录的消息。

Returns:

解决结果。请注意,results.solver 包含一个额外的属性,该属性以 TIC_TOC_SOLVE_TIME_ATTR 命名,其值设置为记录的求解器挂钟时间。

Return type:

SolverResults

Raises:

ApplicationError – 如果求解器引发ApplicationError。 在这种情况下,err_msg 会通过 config.progress_logger.exception() 记录日志, 然后才抛出异常。