我正在尝试对一个简单的问题实施大 M 方法,但在模型约束中定义大 M 的值时我遇到了很大的困难。
事实证明,如果我选择一个较小的值作为 M,约束就会变得无效,而较大的值 M 可以帮助解决问题,但使用其他方程约束会产生数值精度问题,如 Gurobipy 和最终的 IIS 中的以下问题
x[i] <= 0
value(x[i]) = 1.34252346e-07
那么,有没有办法测试一个合适的M值来约束模型呢?
据我所知,不存在确定大M值的精确方法。这取决于您的具体问题中使用的数据值。您应该尝试确定满足约束条件的最低可能值