GRBaddgenconstrIndicator
GRBaddgenconstrIndicator
int | GRBaddgenconstrIndicator( | GRBmodel | *模型, |
const char | *姓名、 | ||
int | binvar, | ||
int | binval, | ||
int | 据nvar, | ||
int * | 印第安纳州, | ||
双* | 瓦尔, | ||
字符 | 意义上说, | ||
双 | rhs) |
添加一个新的通用类型约束GRB_GENCONSTR_INDICATOR一个模型。注意,由于我们的延迟更新方法,在您更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或将模型写入磁盘(使用GRBwrite).
一个指标约束表示如果二进制指示符变量等于,则为线性约束应该持有。另一方面,如果,则可能违反线性约束。线性约束的意义也可以指定为“”或“”。
注意,指示器变量的约束将被迫是二进制的;独立于它是如何创建的。
参数:
模型:应该添加新的通用约束的模型。
的名字:新的通用约束的名称。这个论证可以是零,在这种情况下,约束被赋予一个默认名称。
int binvar:二进制指示变量的索引.
int binval价值:对于强制满足线性约束的二元指标变量(或).
int据nvar数量:由指标触发的线性约束中的非零系数。
const int *印第安纳州:变量的索引具有非零值的线性约束。
const双*瓦尔:非零值的数值在线性约束条件下。
char感:对线性约束的感知。选项是GRB_LESS_EQUAL,GRB_EQUAL,或GRB_GREATER_EQUAL.
双rhs:线性约束的右侧值。
返回值:
非零返回值表示在添加一般约束时发生了问题。指的是错误代码表中可能的返回值列表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg.
使用示例:
/ * x7 = 1 - > x1 + 2 x3 + x4 = 1 * / int印第安纳州[]= {1,3,4};Double val[] = {1.0, 2.0, 1.0};错误= grbaddgenconstrucindicator(模型,NULL, 7,1,3, ind, val, GRB_EQUAL, 1.0);