CPXXaddsolnpoolrngfilterCPXaddsolnpoolrngfilter

向解法池添加新范围过滤器。

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 定义了线性表达式的值的数组。 必须在数组 indval 中从 0nzcnt-1 的序列位置中存储线性项的非零系数。 每个条目 ind[i] 均指定对应系数 val[i] 的变量索引。
lname_str
过滤器的名称。 可为 NULL

返回

如果此例程成功,那么会返回 0,而如果发生错误,那么会返回非零。

示例


 status = CPXaddsolnpoolrngfilter (env, lp, loval, hival,
                                   cnt, ind, val, NULL);