添加一些变量和约束的模型几乎无法解决的
回答你好,
我有一个电力系统优化模型。相当大的模型,但Gurobi没有任何问题在4个小时来解决这个问题。这是几周前的情况。下面,你可以看到许多变量和约束pre-solve过程之前和之后。
最近,我添加了一些决策变量(126连续和42个二进制)和约束。Gurobi不能解决这个新模型在22个小时。下面,你可以看到pre-solve之前和之后的变量和约束条件。
所以,以前,有1541716 pre-solve之前连续决策变量。我添加了126连续变量和连续决策变量的总数是1541842年的新模型。这是正确的。同样,有369640整数变量。我添加了42个二进制变量模型和整数变量的总数是369682人。这是正确的。
我不理解的是整数变量的数量巨大的差异在pre-solve两个模型。此前,pre-solve之后有251215整数变量。在新的模型中,这个数字是369115。为什么会这样?我认为这就是为什么Gurobi不能在合理的时间内解决最近的模型。再次,先前的模型解决了Gurobi 4小时。然而,最近的模型不能解决在22个小时。22小时Gurobi限制我的时间。22个小时都花在根放松。我不看到树分支界限法的日志事件。
你能帮我做这个吗?
亲切的问候,
Fikri Kucuksayacigil
-
嗨Fikri,
它并不少见,添加几个变量可显著提高模型的求解时间。同时,请注意矩阵系数大大增加范围和右手边。
也许你可以共享一个稍长的摘录的日志显示Gurobi挣扎的地方。你可能也想看看从Gurobi Gurobi / grblogtools:提取和可视化信息日志文件(github.com)更好的解释解算器的进展。手机万博登录
欢呼,
马蒂亚斯0 -
你好马提亚,
我很抱歉我的延迟回答。我一直在旅行,我回来后一直忙于积累来完成任务。
经过几个试验的玩Gurobi参数(方法、MIPFocus ImproveStartGap等等),甚至使模型小,我还是这个问题。我整体的问题是,差距缩小最优算法有困难。它棍棒和永远不会进步。
正如你指出,我认为我必须处理数值问题。我有“次优终止屏障”和“马科维茨容忍…”警告日志中。我知道你不能给我具体的建议,但你觉得我应该如何目标数值问题当你看客观范围和矩阵系数范围?RHS范围似乎也大。
谢谢你!
0 -
嗨Fikri,
最重要的是对数字是大型矩阵的范围从3 e-6 2 e + 8。这几乎肯定会导致在解决问题。
你应该尽量压低,采用不同的变量落下的石块。也许你可以交换一些单位(厘米公里,克,公斤,等等),让这些数据更均匀。
请参阅我们的数值问题指南。
我希望有帮助。
欢呼,
马蒂亚斯0 -
你好,
非常感谢。我忘了说,我已经摆脱了大m约束之前,和当前矩阵范围
你认为它仍然是有问题的吗?根据Gurobi参数准则,矩阵范围应该最多10 ^ 9和目标应该在10 ^ 4。在这种情况下,我在矩阵的限制范围和可怕的形状在目标范围内。我说的对吗?
我有个主意改变单位。我可以申请它。
亲切的问候
0 -
你好,
几次后扩展模型和调整Gurobi参数,我解决了一些问题,但是找到一个最优解的速度仍然是有问题的。我想我将打开另一个问题,报告我他们导致的一切。
亲切的问候
0 -
供参考,这是链接到单独的文章:如何使搜索树在B&B更快?——Gurobi支持门户
0
请登录留下你的评论。
评论
6个评论