GRBchgcoeffs


GRBchgcoeffs

int GRBchgcoeffs GRBmodel *模型,
int numchgs,
int * cind,
int * vind,
* val)

更改一组约束矩阵系数。这个例程可以用来将一个非零系数设置为零,在当前系数为零的地方创建一个非零系数,或者将一个现有的非零系数更改为一个新的非零值。如果你对同一个系数做多次改变,最后一个将被应用。

注意,由于我们的延迟更新方法,更改实际上不会集成到模型中,直到您更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或者将模型写入磁盘(使用GRBwrite).

如果您的约束矩阵可能包含超过20亿个非零值,您应该考虑使用GRBXchgcoeffs这个程序的变体。

返回值:

非零返回值表明在执行修改时发生了问题。指的是错误代码可能返回值列表的表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg

参数:

模型:需要修改的型号。

numchgs:要修改的系数数。

cind:约束待修改系数的指标。

vind:修改系数的可变指标。

瓦尔:系数的新值。例如,如果cind [0] = 1vind [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);