Model.addGenConstrIndicator ()
Model.addGenConstrIndicator ()
addGenConstrIndicator(binvar, binval, lhs, sense=None, rhs=None, name="")添加一个新的通用类型约束伽马射线爆发。GENCONSTR_INDICATOR一个模型。
一个指标约束说明如果是二进制指示器变量等于,然后是线性约束应该持有。另一方面,如果,则可能违反线性约束。线性约束的意义也可以指定为或.
注意指示器变量约束将被迫是二进制的,独立于它是如何创建的。
还可以使用特殊的重载语法添加指示符约束。有关详细信息,请参阅下面的示例。
参数:
binvar (Var):二进制指标变量。
binval(布尔):二进制指示变量的值,该值将强制满足线性约束。
lhs (float, Var, LinExpr,或TempConstr):由指示器触发的线性约束的左边表达式。可以是常数,aVar,或者一个LinExpr.或者,可以使用临时约束对象来定义由指示器触发的线性约束。临时约束对象是使用重载比较操作符创建的。看到TempConstr为更多的信息。在这种情况下,“sense”和“rhs”参数必须保持默认值没有一个.
(字符):线性约束的意义。选项是伽马射线爆发。LESS_EQUAL,伽马射线爆发。平等的,或伽马射线爆发。GREATER_EQUAL.
园艺学会(浮动):线性约束的右边值。
名称(字符串,可选):新通用约束的名称。请注意,的名字将以ASCII字符串的形式存储。因此,名字就像“一个B”将产生一个错误,因为'不能表示为ASCII字符。还请注意,强烈反对包含空格的名称,因为不能将它们写入LP格式文件。
使用示例:
# x7 = 1 -> x1 + 2 x3 + x4 = 1模型。addGenConstrIndicator(x7, True, x1 + 2*x2 + x4, GRB.EQUAL, 1.0) # alternative form model.addGenConstrIndicator(x7, True, x1 + 2*x2 + x4 == 1.0) # overloaded form model.addConstr((x7 == 1) >> (x1 + 2*x2 + x4 == 1.0))