【发布时间】:2021-07-13 18:49:22
【问题描述】:
我直接在 CPLEX 中实现了一个混合整数问题。 我的问题是我的目的需要很长时间才能找到最佳解决方案。 我设定了 10 分钟的时间限制。因此,10 分钟后,我得到了一个可行的解决方案,但我不知道它离最佳解决方案有多远。 现在我读到了一个可变邻域搜索,它使优化更快,同时“承诺”一个接近最优的解决方案。 据我所知,CPLEX 不直接提供 VNS,但它能够执行松弛诱导邻域搜索 (RINS)。关于这个的两个问题:
- 如何应用它?
- 和VNS效果一样吗(短时间内找到接近最优解)
非常感谢! 真诚的
【问题讨论】:
-
-
首先,CPLEX 内置了 RINS 作为其启发式方法之一,无论如何都会在其 B&B 搜索期间使用。它只是使用的许多此类启发式方法之一,包括本地分支、探测、潜水等,这些方法通常可以加速一系列大型问题的收敛。查看参数,您将看到 RINS 启发式频率的参数 - 默认情况下它是“开启”的,并且发生在 CPLEX 在解决您的问题时根据其自己的内部分析决定的频率
-
非常感谢您的快速解答! @Erwin Kalvelagen:我不太明白。也许这个问题很愚蠢,但我不得不问:如果通常找到最佳解决方案需要 5 个小时,我将时间限制设置为 10 分钟。 CPLEX 如何知道解与最优解相差多远?
-
有点微妙。 Cplex 不知道与最优解的距离。但它确实知道它并不比差距更远。这个差距在运行过程中越来越小。这是分支定界方法的独特功能。我像鹰一样看着这个差距。
-
啊,好吧,太好了!明天我会看看我的差距,然后决定下一步:)
标签: search optimization cplex neighbours