如何为OR-Tools中的SCIP混合整数规划求解器设置超时?
为OR-Tools中SCIP混合整数规划求解器设置超时的方法
OR-Tools官方文档未明确说明如何为SCIP混合整数规划求解器设置超时,且适用于CP-SAT求解器的超时配置方法并不适配SCIP。
要为SCIP求解器设置超时,需通过SCIP的原生参数进行配置,具体可借助Solver.SetSolverSpecificParametersAsString()方法传入对应参数:
from ortools.linear_solver import pywraplp # 初始化SCIP求解器 solver = pywraplp.Solver.CreateSolver('SCIP') # 设置超时时间为10秒(单位:秒) solver.SetSolverSpecificParametersAsString('limits/time = 10') # 此处编写模型构建、求解逻辑...
上述代码中,limits/time是SCIP的原生参数,单位为秒,可根据需求调整数值。若需要更精细的毫秒级控制,可使用limits/realtime参数(单位:毫秒):
# 设置超时时间为5000毫秒(即5秒) solver.SetSolverSpecificParametersAsString('limits/realtime = 5000')
此外,也可尝试使用Solver.SetTimeLimit()方法,但该方法在部分版本中对SCIP的支持存在不稳定情况,更推荐使用SCIP原生参数的配置方式。
内容的提问来源于stack exchange,提问作者Aveer28
相关产品推荐
相关产品推荐

