GRBaddrangeconstr


GRBaddrangeconstr

int GRBaddrangeconstr GRBmodel *模型,
int numnz,
int * cind,
* cval,
低,
上,
const char * constrname)

添加一个新的范围限制到一个模型。范围约束规定输入表达式的值必须在指定的值之间较低的任何解的上界。注意,由于我们的延迟更新方法,只有在您更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或将模型写入磁盘(使用GRBwrite).

返回值:

非零返回值表明在添加约束时发生了问题。指的是错误代码表中可能的返回值列表。关于错误的详细信息可以通过调用GRBgeterrormsg

参数:

模型:应该添加新约束的模型。

numnz:线性表达式中非零系数的个数。

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

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

较低的:线性表达式的下界。

:线性表达式的上界。

constrname:新约束的名称。这个论点可以是,在这种情况下,约束被赋予一个默认名称。

重要提示:

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

还要注意,范围约束在内部存储为相等约束。我们使用添加了范围约束的额外变量来捕获范围信息。因此,感觉属性的值将始终为GRB_EQUAL

使用示例:

Int ind[] = {1, 3, 4};Double val[] = {1.0, 2.0, 3.0};/* 1 <= x1 + 2 x3 + 3 x4 <= 2 */ error = GRBaddrangeconstr(model, 3, ind, val, 1.0, 2.0, "NewRange");