使用解决方案的数量而不是最长时间来结束解决尝试
use number of solutions rather than maximum time to end solve attempts
我在 JSP 上使用 CP-SAT 求解器。
我正在迭代求解器 运行s 很多次(基本上每天都模拟一年),我不需要找到最优解,只是一个相当好的解法,所以我想在结束求解器时比每次只允许它 运行 X 秒要聪明一些。例如,我想每次都采用第 5 个解决方案,甚至在当前解决方案的 makespan 仅比前一个解决方案短 5%(例如)时停止。
这可能吗?我只知道 solver.parameters.max_time_in_seconds
作为限制计算时间的一种方式。中间解决方案由 SolutionPrinter
打印,但我认为这只是输出,在 运行?
期间无法破坏求解器
我在 JSP 上使用 CP-SAT 求解器。
我正在迭代求解器 运行s 很多次(基本上每天都模拟一年),我不需要找到最优解,只是一个相当好的解法,所以我想在结束求解器时比每次只允许它 运行 X 秒要聪明一些。例如,我想每次都采用第 5 个解决方案,甚至在当前解决方案的 makespan 仅比前一个解决方案短 5%(例如)时停止。
这可能吗?我只知道 solver.parameters.max_time_in_seconds
作为限制计算时间的一种方式。中间解决方案由 SolutionPrinter
打印,但我认为这只是输出,在 运行?