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”);