GRBXaddvars


GRBXaddvars

int GRBXaddvars GRBmodel *模型,
int numvars,
size_t numnz,
size_t * vbeg,
int * vind,
* vval,
* obj,
*磅,
*乌兰巴托,
字符 * vtype,
const char * * varnames)

size_t版本的GRBaddvars.计算非零值的两个参数为类型size_t在此版本中支持具有超过20亿个非零值的模型。

向模型添加新变量。注意,由于我们采用了延迟更新方法,在更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或将模型写入磁盘(使用GRBwrite).

返回值:

非零返回值表示在添加变量时发生了问题。指的是错误代码表中可能的返回值列表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg

参数:

模型:应该添加新变量的模型。

numvars:要添加的新变量的数量。

numnz:新列中非零系数的总数。

vbeg:约束矩阵非零值以压缩稀疏列(Compressed Sparse Column, CSC)格式传递到这个例程。约束矩阵中的每一列都表示为一个索引值对列表,其中每个索引项提供一个非零系数的约束索引,每个值项提供相应的非零值。模型中每个变量都有一个vbeg中,指示该变量的非零起始位置vindvval数组。这个例程要求连续存储列,因此变量的开始位置是前一个变量的结束位置。举个例子,如果vbeg [2] = 10vbeg [3] = 12,表示变量2有两个与之相关的非零值。它们的约束索引可以在vind [10]vind [11],这些非零的数值可以在vval [10]vval [11]

vind:与非零值关联的约束索引。参见的描述vbeg参数以获取更多信息。

vval:与约束矩阵非零关联的数值。参见的描述vbeg参数以获取更多信息。

obj:新变量的客观系数。这个论证可以是,此时目标系数设为0.0

:新变量的下界。这个论证可以是,在这种情况下,所有的变量都有下界0.0

乌兰巴托:新变量的上界。这个论证可以是,在这种情况下,所有变量都有无限上界。

vtype:变量的类型。选项是GRB_CONTINUOUSGRB_BINARYGRB_INTEGERGRB_SEMICONT,或GRB_SEMIINT.这个论证可以是,在这种情况下,假设所有变量都是连续的。

varnames:新变量的名称。这个论证可以是,在这种情况下,所有变量都有默认名称。