有没有办法检查Gurobi是否在为模型添加额外的冗余约束?
我在每次迭代时都试过model.write()
,看起来很好。但是,我的输出并不是我所期待的。
我想检查Gurobi在解决时是否添加了任何不受欢迎的限制。
答案 0 :(得分:0)
您的陈述有些矛盾:如果gurobi首先要添加多余的约束,则presolve步骤将再次删除它们,其次是多余的意味着它们不会影响解决方案。因此,您这边会出现建模错误。
正如sascha所提到的那样,极不可能错误地执行任何产生约束的例程/预解决步骤-这样的错误会立即出现,即在修补发布的版本之前。
从理论上讲:这些方法需要数学证明,以确保它们不会切断可行的解决方案。有时,我直到最近才做的是,对所有变量的默认下限0进行了限制,这是根据标准格式源自LP表示法的。
如果您将最初问题的.lp和.mps文件发布到问题中,则可以进行进一步的调查。这样人们可以进行自我调查。