NO FRAMES

CPXaddsolnpoolrngfilter

public int CPXaddsolnpoolrngfilter(CPXCENVptr env, CPXLPptr lp, double lb, double ub, int nzcnt, const int * ind, const double * val, const char * lname_str)
Definition file: cplex.h

Adds a new range filter to the solution pool.

A range filter drives the search for multiple solutions toward new solutions that satisfy criteria specified as a ranged linear expression in the filter. A range filter sets a lower and an upper bound on a linear expression consisting of nzcnt variables designated by their indices in the argument ind and coefficient values designated in the argument val.

 lower bound <= sum{val[i] times x[ind[i]]}  <= upper bound
 

A range filter applies to variables of any type (that is, binary, general integer, continuous).

Parameters:

env

A pointer to the CPLEX environment as returned by CPXopenCPLEX.

lp

A pointer to a CPLEX problem object as returned by CPXcreateprob.

lb

The lower bound on the linear expression.

ub

The upper bound on the linear expression.

nzcnt

The number of variables in the linear expression.

ind

An array of variable indices that with val defines the linear expression.

val

An array of values that with ind defines the linear expression. The nonzero coefficients of the linear terms must be stored in sequential locations in the arrays ind and val from positions 0 to num-1. Each entry, ind[i], specifies the variable index of the corresponding coefficient, val[i].

lname_str

The name of the filter. May be NULL.

Returns:

The routine returns zero if successful and nonzero if an error occurs.