gpt4 book ai didi

java - 在 ILOG CPLEX Optimizer java API 中开始使用 MIP

转载 作者:行者123 更新时间:2023-11-30 04:27:36 25 4
gpt4 key购买 nike

我找不到在 CPLEX java API 中有效使用 MIP 启动的方法。

我有一个线性问题,需要通过仅更改一个约束或更改目标来多次解决,因此我认为从解决方案开始(从 MIP 开始)可能是加快计算速度的好方法。

因此,为了做到这一点,在第一次解决问题后,我将所有变量保存在 IloNumVar 数组中,并将其加倍,然后使用 cplex.addMIPStart 传递给其他 cplex 对象。

问题是它不会加速任何东西,反而会变慢并给我这个消息:

警告:从 1 个 MIP 开始未找到解决方案。

所以也许我不应该给 MIP 启动所有变量,但我如何知道要给它哪些变量?

我还尝试更改 MIP 启动工作,但似乎没有任何区别...

为什么它不能使计算更快?有没有更好的方法来解决许多只有一些差异的问题?

最佳答案

此消息通常意味着您没有为模型中足够的决策变量指定值,或者您为 cplex 指定的值不可行。您可以通过对变量使用 IloNumVar.setBounds 来检查可行性,然后尝试求解模型。如果这不可行,那么你可以写一个 iis文件。 CPLEX 会尝试,但无法使用您的 mipstart,因此运行速度较慢。良好的 MIP 启动可以显着缩短求解时间,特别是如果 cplex 很难找到第一个可行的解决方案,并且您的 MIP 启动具有接近最优的目标函数值,但对于许多情况,它不会产生任何结果不同之处。热启动 MIP 比热启动 LP 困难得多。

关于java - 在 ILOG CPLEX Optimizer java API 中开始使用 MIP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15473076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com