我正在尝试在Python中使用or-tools解决具有多个最佳解决方案的混合整数线性程序。但是,bytearray
总是返回NextSolution()
,因此我不能检索多个解决方案。我知道该函数可以使用约束求解器,但我想使用MILP求解器。
相关的or-tools documentation状态:
自2020年2月10日起,仅Gurobi和SCIP支持NextSolution(),有关如何为多个解决方案配置这些求解器的示例,请参见linear_solver_interfaces_test。其他求解器无条件返回false。
但是,我在源存储库,文档或通过Web搜索中找不到任何此类linear_solver_interfaces_test。我正在使用ortools版本7.8.7959和随附的SCIP 7.0.1和Python 3.6.9。
下面是我的示例代码,它说明了我要解决的类型的简单示例。它应该产生三个唯一的解决方案,但目前产生零个解决方案。
False
答案 0 :(得分:2)
很抱歉提供误导性文档。 当前,只有Gurobi支持NextSolution。我尚未导出SCIP相关代码。
如果您的问题仅需要布尔值或整数变量,则可以使用支持枚举多个解决方案的CP-SAT(或工具/卫星)求解器。
请参阅此documentation。