grbaddsos.
grbaddsos.
㈡ | grbaddsos.( | grbmodel. | *模型, |
㈡ | numsos, | ||
㈡ | nummembers, | ||
㈡ | *类型, | ||
㈡ | *求, | ||
㈡ | * IND, | ||
双倍的 | *重量 ) |
为模型添加新的特殊订购集(SOS)约束。请注意,由于我们的延迟更新方法,在更新模型之前,实际上不会添加新的SOS约束(使用grbupdatemodel.),优化模型(使用grboptimize.)或将模型写入磁盘(使用grbwrite.)。
请参阅本节有关SOS限制的详细信息。
返回值:
非零返回值表示添加SOS约束时发生问题。参考错误代码表格有可能返回值列表。有关错误的详细信息可以通过呼叫获得grbgeterramsg.。
论点:
模型:应该添加新毛泽和的模型。
numsos.:要添加的新袜子的数量。
nummembers.:新SOS中的SOS成员总数。
类型:SOS设置的类型。SOS设置可以是类型grb_sos_type1.或者grb_sos_type2.。
求:添加的SOS集的成员在压缩稀疏行(CSR)格式中传递到此例程中。每个SOS都表示为索引值对列表,其中每个索引条目为SOS成员提供变量索引,每个值条目都在相应的SOS中提供该变量的权重。每个新的SO都有一个关联的求值,表示SOS成员列表中的开始位置Ind.和重量阵列。此例程要求SOS的成员一世立即跟随那些SOS的人I-1在Ind.和重量。因此,乞讨[I]表示约束中第一个非零的索引一世和非零的结尾进行约束I-1。举例说明如何使用该表示,考虑一个案例乞讨[2] = 10和乞求[3] = 12。这表明SOS 2号有两个成员。他们的可变指数可以找到Ind [10]和Ind [11],并且可以找到相关的权重重量[10]和重量[11]。
Ind.:与SOS成员关联的可变索引。查看描述的描述求有关更多信息的论证。
重量:与SOS成员相关的权重。查看描述的描述求有关更多信息的论证。
示例用法:
int类型[] = {grb_sos_type1,grb_sos_type1};int beg [] = {0,2};INT IND [] = {1,2,1,3};双重重量[] = {1,2,1,2};error = grbaddsos(型号,2,4,类型,乞讨,ind,重量);