如果要遇到MIP可行的问题,我想在MILP中实施削减,这将被添加。切割应通过切割生成问题来实现。我想通过一个最小的可行RHS来限制线性cut-expression(其参数取决于MIP可行点)。因此,我想最大化cut-expressions.t。变量的一些框约束(请参见下文)。
max sum(a[i]*x[i] for i in someIndexSet)
s.t. lb[i]<=x[i]<=ub[i]
x[i] continuous for all i in someIndexSet
查看Gurobi文档时,我正在考虑使用回调工具。但是,我不确定是否可以从回调代码中调用另一个Gurobi实例,因为我不太确定gurobi如何处理回调代码。所以问题是:我们可以从回调代码中调用Gurobi吗?
我们可以仅通过实现决策树来解决上述问题,但这很麻烦。因此,我想从该回调代码中调用Gurobi。 或者,我可以想象在该MIP可行点停止优化,从外部计算约束,然后再次热启动整个过程。凭直觉,我认为必须有比后者更好的方法。