微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CPLEX和Gurobi之间的比较

如何解决CPLEX和Gurobi之间的比较

Gurobi和CPLEX是近年来非常流行的求解器。就许可证而言,CPLEX对于学者而言更加容易。据说它的性能也很高。但是Gurobi声称是近年来最快的解决方案,并且不断改进。但是,据说随着约束数量增加,其性能会下降。

在速度和性能方面,通常建议使用求解器来解决带有二次目标函数且约束不太多的大规模问题?

在Python中使用它们会影响其性能吗?

解决方法

数学编程天生就很困难,并且在某些情况下,一个求解器可能比另一个求解器快。通常,仅仅因为某些启发式方法是“幸运的”,问题就可以很快得到解决。

此外,仅凭问题的规模并不是解决其困难的可靠方法。在我们可以在很短的时间内解决具有数百万个约束的实例的情况下,仍有一些微小的实例尚未解决。

当寻求最佳性能时,应该通过检查日志文件来分析求解器的行为,然后尝试相应地调整参数。如果您有机会测试不同的求解器,则应该尝试使用它以提供更多选择。您应该对任何已建立的,最先进的求解器的建议都保持谨慎,尤其是在没有动手计算实验的情况下。

您还需要考虑建模环境/语言的难度以及完成建模部分所需的时间。

要回答有关Gurobi的Python接口的问题:这对于所有类型的应用程序都是非常高效且流行的工具,并且很可能不会影响整体求解时间。在大多数情况下,实际求解时间仍然是主要因素,而模型构建时间可以忽略不计。

,

正如马特米尔滕所说,如果您将主要商业解决方案在一系列问题上的表现进行比较,您将找到一个明显优于其他问题的实例。但是,这将取决于看似无关的许多细节。我们对自己的问题实例集合(保存为MPS文件)进行了并排比较,这些问题实例都是在大型优化问题的不同子问题上都由同一C ++代码生成的。因此,它们实质上只是同一模型中的不同数据集,我们仍然发现求解器之间存在很大差异。 确实确实取决于您特定问题的详细信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。