GLPK超时(tm_lim)返回找到的最佳解决方案?

约翰·克莱门茨

我的实验(直接使用C库)建议,使用tm_lim参数来限制GLPK处理混合整数编程问题所花费的时间会导致问题指针包含迄今为止找到的最佳解决方案。但是,我在文档中找不到对此的任何确认。超时计算是否总是将发现的最佳解决方案留在问题缓冲区中?

谢谢!

贾斯汀

根据tm_lim我的轶事经验,参数的确确实返回了最佳解决方案。我也无法在文档中找到对此的验证,因此我查看了源代码。

glpk遍历一个循环,就地更新解决方案,直到满足四个终止标准之一(最佳解决方案,无界解决方案,时间限制,迭代限制)。一旦发生这种情况,glpk将停止更新解决方案,并返回一个表示满足条件的值。

您可以https://ftp.gnu.org/gnu/glpk/glpk-4.35.tar.gz中的函数ssx_phase_II对此进行验证查看对的引用src/glpssx02.ctm_lim

最后一个理由是--tmlim命令行选项的文档

--tmlim nnn limit solution time to nnn seconds (--tmlim 0 allows
            obtaining solution at initial point)

通过--tmlim 0将返回初始解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章