如何加速GLPK解决MIP模型

时间:2014-07-21 15:29:18

标签: optimization mathematical-optimization linear-programming glpk

我正在使用GNU glpk解算器解决混合整数编程(MIP)问题。问题包含大约1,625列和507行,我认为这不是一个大规模的问题。但是,在解决问题超过9小时后,glpk无法提供解决方案。

我想知道是否有人遇到类似问题或有任何建议加速计算。否则,您是否有任何其他MIP求解器建议我可以尝试在源代码中进行一些更改?

2 个答案:

答案 0 :(得分:4)

首先,即使是smaller MIP,也可能难以解决。 glpk通常会向底部混合整数benchmarks得分。如果您正在寻找免费解算器,您应该尝试使用基准测试中提到的其他解决方案,例如coin-or cbc或部分免费scip

如果您是学者,或者问题对您来说很重要,您可以尝试其中一个商业解决方案。 Gurobi对学者来说是免费的。它,cplex(IBM)和xpress(FICO)是主要的商业解决方案。

解决MIP的解决方案时间是配方质量的强大功能。您没有关于您的模型的任何细节,但根据您正在解决的模型类型,可能会有很多关于您的问题的良好MIP配方的出版物。

答案 1 :(得分:2)

我不保证解决方案,但可能是数值不稳定问题。

我已经看到MIP模型无限期地运行,但是在最佳的1e-7范围内查看日志。在我的情况下,更改数据导致问题立即运行(<2秒)。有些数据集很快终止,有些数据集永远不会完我相信这是glpk(和python)的一个已知问题。

或者,尝试一次删除约束1。如果速度加快,你知道在哪里重新制定。