GRBchgcoeffs
GRBchgcoeffs
int | GRBchgcoeffs( | GRBmodel | *模型, |
int | numchgs, | ||
int | * cind, | ||
int | * vind, | ||
双 | * val) |
更改一组约束矩阵系数。这个例程可以用来将一个非零系数设置为零,在当前系数为零的地方创建一个非零系数,或者将一个现有的非零系数更改为一个新的非零值。如果你对同一个系数做多次改变,最后一个将被应用。
注意,由于我们的延迟更新方法,更改实际上不会集成到模型中,直到您更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或者将模型写入磁盘(使用GRBwrite).
如果您的约束矩阵可能包含超过20亿个非零值,您应该考虑使用GRBXchgcoeffs这个程序的变体。
返回值:
非零返回值表明在执行修改时发生了问题。指的是错误代码可能返回值列表的表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg.
参数:
模型:需要修改的型号。
numchgs:要修改的系数数。
cind:约束待修改系数的指标。
vind:修改系数的可变指标。
瓦尔:系数的新值。例如,如果cind [0] = 1,vind [0] = 3,val [0] = 2.0,则约束1中与变量3相关的系数变为2.0。
使用示例:
Int cind[] = {0,1};Int vind[] = {0,0};Double val[] = {1.0, 1.0};error = GRBchgcoeffs(model, 2, cind, vind, val);