我正在使用 Google 的 OR 工具 SCIP(求解约束整数程序)求解器来使用 Python 求解混合整数规划问题。该问题是标准调度问题的一个变体,其中存在限制,即每个 worker 每天最多工作一次,并且每个类次只能由一名 worker 负责。该问题建模如下:
其中,n 代表 worker ,d 代表当天,i 代表特定日期的具体类次。 当我更改想要最小化的目标函数时,问题就出现了
致:
在第一种情况下,5 秒内即可找到最佳解决方案。第二种情况,运行20分钟后,仍然没有达到最优解。对于为什么会发生这种情况有什么想法吗? 如何更改目标函数而不会对性能产生太大影响?
最佳答案
您应该询问 SCIP 团队。
您是否尝试过使用具有 8 个线程的 SAT 后端?
关于python - 线性规划目标函数的微小差异使程序变得非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68005013/