ILOG CPLEX 11.0 File Formats > > ILOG CPLEX File Formats > FLT File Format: Filter Files for the Solution Pool > Diversity Filters

A diversity filter allows you to control which solutions are generated and stored in the solution pool, according to their divergence from a reference solution. Only binary variables can be used to define a diversity filter.

The format of a diversity filter file lets you specify the names of the binary variables of interest, the weights to be assigned to those variables, and the reference values of those variables with which to compare all solutions.

This information is used to compute the diversity measure. The diversity measure is computed by summing the weighted absolute differences from the reference values, like this:

diff(x) = sum {weights[i] * |x[varind[i]] - refval[i]|};

The keyword DIVFILTER designates the beginning of a diversity filter in the file.

The name of the filter (in this example, f1) follows the keyword DIVFILTER on the same line.

The lower and upper bounds on the diversity function follow the name of the filter on the same line as the keyword DIVFILTER. In this example, the lower bound on diversity is 2, and the upper bound is infinity (that is, there is no limit).

Each successive line shows the name of a variable followed by the weight and the reference value for that variable.

In the example, equal weight (1.0) is given to the diversity of the four specified variables. The reference values are 1 (one) for x1 and x2 and 0 (zero) for x3 and x4.