Model.addGenConstrAnd ()


Model.addGenConstrAnd ()

addGenConstrAnd(resvar, vars, name="")

添加一个新的通用类型约束伽马射线爆发。GENCONSTR_AND一个模型。

一个和约束< span > < / span > r =美元\ mbox{和}\ {x_1、\ ldots x_n \} < span > < / span >美元表示二元结式变量< span > < / span > r < span >美元< / span >应该是< span > < / span > 1美元美元< span > < / span >当且仅当所有操作数变量< span > < /美元跨度> x_1、\ ldots x_n < span > < / span >美元等于< span > < / span > 1美元美元< span > < / span >.如果任何操作数变量是< span > < / span > 0 < span >美元< / span >,那么结果应该是< span > < / span > 0 < span >美元< / span >

请注意,参与这种约束的所有变量都将被强制为二进制变量,与它们是如何创建的无关。

控件还可以添加AND约束,函数。

参数:

resvar (Var):该变量的值将等于其他变量的AND连接。

Var (Var列表):将进行AND连接的变量。

名称(字符串,可选):新的通用约束的名称。请注意,的名字将被存储为ASCII字符串。因此,一个名字就像“一个< span > < /美元跨度> {\ rightarrow} < span > < / span >美元B”会产生错误,因为'< span > < /美元跨度> {\ rightarrow} < span > < / span >美元'不能用ASCII字符表示。还请注意,强烈不鼓励包含空格的名称,因为它们不能写入LP格式文件。

使用示例:

# x5 =和(x1, x3, x4)模型。addGenConstrAnd(x5, [x1, x3, x4], "andconstr") # overloaded forms model.addConstr(x5 == and_([x1, x3, x4]), "andconstr") model.addConstr(x5 == and_(x1, x3, x4), "andconstr")