class KIntervalDomain : public KBranchingScheme

Branching scheme for splitting float variables into a set of intervals.

This branching scheme split the domain of a float variable into interval of length gap. If the boolean order is false, then interval are created in ascending order (descending order otherwise).

For an initial domain [l, u], the created sub-domains will be:

  • In ascending order: [l + (k-1) * gap, min(l + k * gap, u)] for k=1,…,ceil((u-l)/gap)

  • In descending order: [u - k * gap, max(u - (k-1) * gap, l)] for k=1,…,ceil((u-l)/gap)



Public Functions

KIntervalDomain(const KNumVarArray &floatVarArray, double gap, bool order)