GRBXaddranges


GRBXaddranges

int GRBXaddranges( GRB模型 *模型,
int numconstrs,
尺寸 努姆茨,
尺寸 *cbeg,
int *辛德,
双重的 *cval,
双重的 *下,
双重的 *上,
常量字符 **(姓名)

这个尺寸版本Grbadranges。计算非零值的参数的类型为尺寸在这个版本中,支持超过20亿个非零值的模型。

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

返回值:

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

论据:

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

numconstrs:要添加的新约束数。

努姆茨:新约束中非零系数的总数。

cbeg:约束矩阵非零值在压缩稀疏行(CSR)中传递到此例程此例程的格式。约束矩阵中的每个约束都表示为索引值对列表,其中每个索引项提供非零值系数的变量索引,每个值项提供相应的非零值。每个新约束都有一个关联的cbeg值,指示该约束在煤渣cval此例程要求约束的非零立即遵循这些约束条件i-1在里面煤渣cval因此cbeg[i]指示约束中第一个非零的索引以及约束的非零结尾i-1为了举例说明如何使用该表示,考虑一个情况cbeg[2]=10cbeg[3]=12。这表示约束2有两个与之关联的非零值。它们的变量索引可在中找到辛德[10]辛德[11],这些非零的数值可在中找到cval[10]cval[11].

煤渣:与非零值关联的变量索引。请参阅cbeg关于更多信息的争论。

cval:与约束矩阵非零关联的数值。请参阅cbeg关于更多信息的争论。

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

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

姓名:新约束的名称。此参数可以是无效的,在这种情况下,所有约束都被指定为默认名称。

重要提示:

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

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