GRBADDGENConstricator
GRBADDGENConstricator
int | GRBADDGENConstricator( | GRB模型 | *模型, |
常量字符 | *名字, | ||
int | 宾瓦尔, | ||
int | 宾瓦尔, | ||
int | nvars, | ||
int* | 印第安纳州, | ||
双重的* | 瓦尔, | ||
烧焦 | 感觉 | ||
双重的 | (右) |
添加类型为的新常规约束GRB\u发电商TR\u指示器一个模特。注意,由于我们的延迟更新方法,在您更新模型(使用GRBupdatemodel),优化模型(使用GRB优化),或将模型写入磁盘(使用GRBwrite).
指标约束表示如果二进制指示符变量等于,然后是线性约束应该保持,另一方面,如果,可能会违反线性约束。线性约束的含义也可以指定为““或””.
请注意,指示符变量约束的类型将强制为二进制;与它的创建方式无关。
论据:
模型:应向其添加新常规约束的模型。
名称:新常规约束的名称。此参数可以是无效的,在这种情况下,将为约束指定默认名称。
int宾瓦尔:二进制指示符变量的索引.
内宾瓦尔:值用于强制满足线性约束的二进制指示符变量(或).
国际nvars:号码由指示器触发的线性约束中的非零系数。
常数int*ind:变量的索引在线性约束中使用非零值。
常数双*val:非零值的数值在线性约束中。
煤焦感:线性约束的意义。选项包括GRB_小于等于,GRB_相等或GRB_大于等于.
双rhs:线性约束的右侧值。
返回值:
非零返回值表示添加常规约束时出现问题。请参阅错误代码表获取可能返回值的列表。可通过调用GRBgeterrormsg.
用法示例:
/*x7=1->x1+2x3+x4=1*/int ind[]={1,3,4};double val[]={1.0,2.0,1.0};error=grbaddgenconstricator(model,NULL,7,1,3,ind,val,GRB_EQUAL,1.0);