调用求解器
(函数来自 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:
- Raises:
ApplicationError – 如果求解器引发ApplicationError。 在这种情况下,err_msg 会通过
config.progress_logger.exception()记录日志, 然后才抛出异常。