Python中的MIP求解器或工具的搜索策略

时间:2019-03-07 10:13:58

标签: python optimization or-tools mixed-integer-programming

我目前正在使用MIP求解器来解决Python的OR工具中的班次分配问题,一次只能一名员工。对于每个单独的问题,只有一名员工,大约需要轮班100次。有很多变量和约束(每个员工只有几千个)。我已经详细研究了如何改善每个约束,但是没有运气。由于性能确实很重要,因此我想进一步研究调整搜索策略的可能性,但也没有运气。文件似乎很稀疏。

有人可以给我一些选择来帮助我吗?

这是我正在使用的求解器:

pywraplp.Solver.CBC_MIXED_INTEGER_PROGRAMMING

先谢谢您。让我知道是否需要在此处添加任何信息。

1 个答案:

答案 0 :(得分:1)

您不走运。没有可用于通过线性求解器包装程序进行搜索的自定义项。

我建议为此使用CP-SAT。 您可以看一下:

https://github.com/google/or-tools/blob/master/examples/python/shift_scheduling_sat.py