我想配置
ortools
CP_Solver
求解器定义如下:
from ortools.sat.python import cp_model
solver = cp_model.CpSolver()
这样:
time_limit_1
。如果找到解决方案,则返回最佳解决方案。time_limit_2
我目前的方法效率极低。
首先,我设置
solver.parameters.max_time_in_seconds = time_limit_1
一旦达到极限而无解,我的求解器就会再次从头开始。这次它使用 stop_after_first_solution
参数在找到的第一个解决方案处中断。
有没有办法从第一次搜索结束的地方开始第二次搜索?
只需设置 limit1 + limit2 的时间限制即可。
然后添加一个solution_callback,如果在limit1之后找到解决方案,该回调将中止。