manbet体育手机客户端
GRBaddsos
int | GRBaddsos( | GRBmodel | *模型, |
int | numsos, | ||
int | nummembers, | ||
int | *类型, | ||
int | *乞讨, | ||
int | *印第安纳州, | ||
双 | *重量) |
向模型添加新的特殊有序集(SOS)约束。请注意,由于我们的延迟更新方法,新的SOS约束实际上不会添加,直到更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或将模型写入磁盘(使用GRBwrite).
请参考本节参阅SOS限制的详情。
返回值:
非零返回值表示在添加SOS约束时发生了问题。指的是错误代码表中可能的返回值列表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg.
参数:
模型:应该添加新的SOSs的模型。
numsos:要添加的新SOSs的数量。
nummembers:新SOS成员总数。
类型: SOS集的类型。SOS集可以是类型的GRB_SOS_TYPE1或GRB_SOS_TYPE2.
求:添加的SOS集合的成员以压缩稀疏行(CSR)格式传递到这个例程。每个SOS都表示为一个索引-值对列表,其中每个索引条目为SOS成员提供变量索引,每个值条目提供该变量在相应SOS集中的权重。每个新的SOS都有一个关联的求值,表示SOS成员列表的起始位置印第安纳州和重量数组。这个程序要求SOS的成员我立即跟进SOS张在印第安纳州和重量.因此,求[我]指示约束中第一个非零的索引我约束条件的非零结束张.为了给出如何使用这种表示的示例,考虑以下情况请求[2]= 10和求[3]= 12.这表明2号SOS有两个成员。它们的变量索引可以在印第安纳州[10]和印第安纳州[11],相关的权重可在体重[10]和体重[11].
印第安纳州:与SOS成员相关联的变量指标。参见的描述求参数以获取更多信息。
重量:与SOS成员关联的权重。参见的描述求参数以获取更多信息。
使用示例:
int类型[]= {GRB_SOS_TYPE1, GRB_SOS_TYPE1};Int beg[] = {0,2};Int ind[] = {1, 2, 1, 3};Double weight[] = {1,2,1,2};error = grbadsos (model, 2,4, type, beg, ind, weight);