CPXXaddsolnpoolrngfilter 和 CPXaddsolnpoolrngfilter
向解法池添加新范围过滤器。
int CPXXaddsolnpoolrngfilter( CPXCENVptr 环境, CPXLPptr lp, double 磅, double ub, CPXDIM nzcnt, CPXDIM const * ind, double const * 缬氨酸, char const * lname_str )
int CPXaddsolnpoolrngfilter( CPXCENVptr 环境, CPXLPptr lp, double 磅, double ub, int nzcnt, int const * ind, double const * 缬氨酸, char const * lname_str )
描述
向解法池添加新范围过滤器。
范围过滤器用于在多个解法中搜索满足过滤器中指定为具有范围的线性表达式的条件的新解法。 范围过滤器用于设置线性表达式的下限和下限,此表达式包含在自变量 ind 中通过其索引指定的 nzcnt 变量以及在自变量 val 中指定的系数值。
lower bound <= sum{val[i] times x[ind[i]]} <= upper bound
范围过滤器适用于任何类型的变量(即,二进制、常规整数和连续)。
参数
- env
- 一个指向
CPXXopenCPLEX/CPXopenCPLEX所返回 CPLEX 环境的指针。 - lp
- 一个指向
CPXXcreateprob/CPXcreateprob所返回 CPLEX 问题对象的指针。 - lb
- 线性表达式的下限。
- ub
- 线性表达式的上限。
- nzcnt
- 线性表达式中变量的数量。
- ind
- 使用
val定义了线性表达式的变量索引的数组。 - val
- 使用
ind定义了线性表达式的值的数组。 必须在数组ind和val中从0到nzcnt-1的序列位置中存储线性项的非零系数。 每个条目ind[i]均指定对应系数val[i]的变量索引。 - lname_str
- 过滤器的名称。 可为
NULL。
返回
如果此例程成功,那么会返回 0,而如果发生错误,那么会返回非零。示例
status = CPXaddsolnpoolrngfilter (env, lp, loval, hival,
cnt, ind, val, NULL);