我在JSP上使用CP-SAT解算器。
我正在迭代,所以求解器运行了很多次(基本上模拟了一年的时间),我不需要找到最优的解决方案,只是一个相当好的解决方案,所以我希望在结束求解器时要比允许它每次运行X秒更聪明一些。例如,我想每次使用第5种解决方案,甚至在当前解决方案使than比以前的解决方案短5% (例如)时停止。
这个是可能的吗?我只知道solver.parameters.max_time_in_seconds是限制计算时间的一种方法。中间解决方案是由SolutionPrinter打印的,但我认为这只是输出,在运行过程中没有办法破坏求解程序?
发布于 2022-04-21 10:56:05
错误,您可以在回调中停止搜索,请参阅下面的菜谱:
https://github.com/google/or-tools/blob/stable/ortools/sat/docs/solver.md#stopping-search-early
https://stackoverflow.com/questions/71953252
复制相似问题