【发布时间】:2014-07-21 21:37:05
【问题描述】:
我有一个关于 SCIP 的一般性问题。我需要使用 SCIP 作为我的问题的分支和价格框架,我用 c++ 编写代码,所以我使用 VRP 示例作为模板。在某些情况下,代码停在分数解决方案并将其作为最佳解决方案返回,我认为有问题,我是否必须设置一些参数才能告诉 SCIP 寻找整数解决方案,或者我犯了一个错误,我相信它不应该停止,而是在分数解决方案上分支,直到它到达整数解决方案(没有任何其他负降低成本列)。我还以最佳方式解决了子问题!有什么评论吗?!
【问题讨论】:
-
您好,您能否向我们提供有关您对 VRP 示例(尤其是定价代码)所做更改的更多详细信息?此外,您的解决方案距离完整还有多远?您能否添加一些通过SCIPprintSol() 获得的 SCIP 解决方案输出?
-
我更改了 VRP 代码并将其调整为非公制版本的无容量设施位置问题,定价器代码的主要变化与定价函数有关,我必须找到最小成本子集设施作为输入列。
-
我还使用了一种稳定方法,每次迭代中的新对偶是先前(迭代)和当前对偶变量的凸组合。其余代码与所需的少量更改相同。主问题中的变量都是连续的
-
我使用 SCIP 来优化解决子问题(找到设施的最小负降低成本子集)。输出解决方案:找到的解决方案:3(3 个改进)第一个解决方案:+1.90000000000000e+01(在运行 1 中,1 个节点后,0.02 秒,深度 79,由
找到)原始绑定:+0.00000000000000e+00(在运行 1,在 1 个节点后,0.02 秒,深度 0,由 找到)双边界:+0.00000000000000e+00 间隙:0.00 % 根双边界:+0.00000000000000e+00 根迭代:16 -
在原始解决方案候选列表中存储了 3 个最佳原始解决方案 2.3s| 1 | 0 | 5 | - | 165k| 0 | - | 8 | 2 | 8 | 2 | 0 | 0 | 0 | 4.000000e+00 | 4.000000e+00 | 0.00% 2.3s| 1 | 0 | 5 | - | 165k| 0 | - | 8 | 2 | 8 | 2 | 0 | 0 | 0 | 4.000000e+00 | 4.000000e+00 | 0.00%