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:约束矩阵非零值被传递到这个例程在压缩稀疏列(CSC)格式。约束矩阵的每一列都被表示为一个索引值对列表,其中每个索引条目提供了一个非零系数约束指数,和每个值条目提供了相应的非零值。每个变量在模型中有一个vbeg,表示该变量的非零的开始位置vind和vval数组。这个例程需要连续列存储,所以一个变量的起始位置的结束位置前面的变量。举个例子,如果vbeg [2] = 10和vbeg [3] = 12,这将表明,与之关联的变量2有两个非零值。他们的约束指标中可以找到vind [10]和vind [11],这些非零的数值可以在找到vval [10]和vval [11]。
vind:约束指数与非零值。看到的描述vbeg参数的更多信息。
vval:数值与约束矩阵非零。看到的描述vbeg参数的更多信息。
obj:目的新变量的系数。这个观点可以零,在这种情况下,目标系数设置0.0。
磅:下界为新变量。这个观点可以零,在这种情况下,所有变量的下界0.0。
乌兰巴托:上界为新变量。这个观点可以零,在这种情况下,所有变量得到无限的上界。
vtype:类型变量。选项是GRB_CONTINUOUS,GRB_BINARY,GRB_INTEGER,GRB_SEMICONT,或GRB_SEMIINT。这个观点可以零,在这种情况下,所有的变量都被认为是连续的。
varnames:新变量的名称。这个观点可以零,在这种情况下,所有变量缺省名称。