GRBaddgenconstrOr
GRBaddgenconstrOr
int | GRBaddgenconstrOr( | GRBmodel | *模型, |
const char | *姓名、 | ||
int | resvar, | ||
int | 据nvar, | ||
const int | * var) |
添加一个新的通用类型约束GRB_GENCONSTR_OR一个模型。注意,由于我们的惰性更新方法,新的约束实际上不会添加,直到您更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或者将模型写入磁盘(使用GRBwrite).
一个或约束表示二进制的合成变量应该是当且仅当任何操作数变量等于.如果所有操作数变量都是,则其结果应为也
请注意,参与这种约束的所有变量都将被强制为二进制,与它们是如何创建的无关。
参数:
模型:应加入新的一般约束的模型。
的名字:新通用约束的名称。这个论证可以是零,在这种情况下,约束被赋予一个默认名称。
resvar:二进制合成变量的索引它的值将等于其他变量的OR连接。
据nvar数量:将对其进行OR运算的二进制操作数变量。
var:包含二进制操作数变量下标的数组将在其上进行OR连接。
返回值:
非零返回值表明在添加一般约束时发生了问题。指的是错误代码可能返回值列表的表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg.
使用示例:
/* x5 = or(x1, x3, x4) */ int ind[] = {1,3,4};error = grbadgenconstror(模型,"orconstr", 5, 3, ind);