grbaddrangeconstr.


grbaddrangeconstr.

grbaddrangeconstr. grbmodel. *模型,
numnz,
* cind,
双倍的 * cval,
双倍的 降低,
双倍的 上,
Const Char. * constrname)

为模型添加新的范围约束。范围约束状态指示输入表达式的值必须在指定之间降低任何解决方案的界限。注意,由于我们的延迟更新方法,在更新模型之前,实际上不会添加新的约束(使用grbupdatemodel.),优化模型(使用grboptimize.)或将模型写入磁盘(使用grbwrite.)。

返回值:

非零返回值表示添加约束时发生问题。参考错误代码表格有可能返回值列表。有关错误的详细信息可以通过呼叫获得grbgeterramsg.

论点:

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

numnz.:线性表达中的非零系数的数量。

c:线性表达式中的非零值的可变索引。

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

降低:线性表达下限。

:线性表达上限。

CONSTRNAME.:新约束的名称。这个论点可以空值,在这种情况下,约束给出了默认名称。

重要笔记:

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

还要注意,范围约束在内部存储为平等约束。我们使用添加范围约束的额外变量来捕获范围信息。就这样感觉范围约束的属性将永远是grb_equal.

示例用法:

INT IND [] = {1,3,4};双val [] = {1.0,2.0,3.0};/ * 1 <= x1 + 2 x3 + 3 x4 <= 2 * / ERROR = GRBADDRANGECONSTR(型号,3,IND,VAL,1.0,2.0,“NewRange”);