Grbadrangeconstr


Grbadrangeconstr

int Grbadrangeconstr( GRB模型 *模型,
int 努姆茨,
int *辛德,
双重的 *cval,
双重的 降低
双重的 上面的
常量字符 *(姓名)

向模型添加新的范围约束。范围约束表示输入表达式的值必须介于指定的降低上面的任何解的界。注意,由于我们的延迟更新方法,在您更新模型(使用GRBupdatemodel),优化模型(使用GRB优化),或将模型写入磁盘(使用GRBwrite).

返回值:

非零返回值表示添加约束时出现问题。请参阅错误代码表获取可能返回值的列表。可通过调用GRBgeterrormsg.

论据:

模型:应向其添加新约束的模型。

努姆茨:线性表达式中非零系数的数目。

煤渣:线性表达式中非零值的变量索引。

cval:线性表达式中非零值的数值。

降低:线性表达式的下限。

上面的:线性表达式的上限。

施工名称:新约束的名称。此参数可以是无效的,在这种情况下,将为约束指定默认名称。

重要提示:

请注意,向模型添加范围约束会同时添加新约束和新变量。如果要在模型中保留变量计数,请记住在添加范围时添加一个。

还请注意,范围约束在内部存储为相等约束。我们使用与范围约束一起添加的额外变量来捕获范围信息感觉范围约束上的属性将始终为GRB_相等.

用法示例:

int ind[]={1,3,4};double val[]={1.0,2.0,3.0};/*1<=x1+2x3+3x4<=2*/error=GRBaddrangeconstr(模型,3,ind,val,1.0,2.0,“新范围”);