我有一个很大的MIP问题,我在GLPK中使用GLPSOL来解决它。然而,解决LP松弛问题需要多次迭代,并且每次迭代obj和impas值都是相同的。我认为它已经找到了最佳解决方案,但它不会停止并持续运行数小时。每次大规模的MIP / LP问题都会发生这种情况吗?我该如何处理这类案件?任何人都可以给我任何建议吗?谢谢!
答案 0 :(得分:2)
解决MIP的问题一般是NP完全的,这意味着存在无法有效解决的实例。但通常我们的问题都有足够的结构,因此启发式方法可以帮助解决这些模型。这使得过去几十年的解决能力获得了巨大的提升(overview)。
为了理解基本方法并理解你的案例究竟是什么问题(上限没有进展,下限没有进展,......),请阅读Practical Guidelines for Solving Difficult Mixed Integer Linear Programs。
请记住,Gurobi / Cplex等商业解决方案与非商业解决方案(尤其是MIP解决方案)之间存在巨大差距。有大量的基准here。
还有很多参数需要调整。例如,Gurobi有不同的参数模板:一个针对可行解决方案的快速发现;一个目标是证明边界。