首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >限制MILP解算速度的因素?

限制MILP解算速度的因素?
EN

Stack Overflow用户
提问于 2014-09-08 00:52:52
回答 2查看 932关注 0票数 1

我对混合整数线性规划相当陌生,我希望有人能为我澄清一个性能问题。基本上,我在用大约34个决策变量进行计算,我的计算时间大约是5秒。理想情况下,我希望将计算时间降到1秒以下。

目前我正在使用CBC求解器& MATLAB,但据我所知,这是一个单线程求解器。我见过的大多数MILP解决者似乎都为大型的项目性能而自豪,他们使用1k+变量并将计算时间从几天缩短到几个小时,但只有少数昂贵的项目甚至是多线程的。处理器速度似乎只能解决这样的问题,所以必须在软件方面做一些事情。

在像我这样的情况下,什么因素在计算时间中起作用?从理论上讲,像Gurobi这样的解决方案能够在这样一个小问题上与CBC产生明显的不同吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-08 09:58:00

在解决MIP时,与其他应用程序相比,多线程通常没有多大帮助。有一件事,更复杂的解决办法比CBC做得更好的是预先解决。很有可能,所有决策变量都可以在根节点中消除/修复。一般情况下,不可能根据MIP的大小来预测它的求解时间。解决过程太复杂了。要回答您的问题:我认为您在尝试另一个解决程序(Gurobi、Xpress、CPLEX、SCIP等)时会看到一个显著的加速。但这并不能保证,你也可能会看到经济放缓。

票数 0
EN

Stack Overflow用户

发布于 2014-09-08 22:03:54

大多数商业MILP求解者可能会考虑大多数只有1000个变量的问题是很小的。用数十万或数以百万计的变量来解决问题是很常见的。但是请注意,也有一些非常小的问题被认为是非常困难的,或者仍然是开放的,因为没有人将它们解决到一个经过验证的最佳解决方案。基本上,解决这些问题所需的时间在很大程度上取决于问题。

如果您想了解另一个解决程序能够多快地解决您的问题,请尝试将其作为MPS文件提交到http://www.neos-server.org/neos/的NEOS解决程序服务中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25716116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档