JaCoP.set.search
Class MaxCardDiff<T extends SetVar>

java.lang.Object
  extended by JaCoP.set.search.MaxCardDiff<T>
Type Parameters:
T - type of variable being used in search.
All Implemented Interfaces:
ComparatorVariable<T>

public class MaxCardDiff<T extends SetVar>
extends java.lang.Object
implements ComparatorVariable<T>

Defines a maximum cardinality difference variable comparator. The variable with the maximum difference in cardinality between the greatest lower bound and the least upper bound has the priority.

Version:
3.1
Author:
Krzysztof Kuchcinski and Robert Ã…kemalm

Constructor Summary
MaxCardDiff()
          It constructs a maximum cardinality difference variable comparator.
 
Method Summary
 int compare(float left, T var)
          Compares the cardinality difference of the variable to the float value.
 int compare(T leftVar, T rightVar)
          Compares the cardinality difference of the variables.
 float metric(T var)
          Returns the metric(Cardinality difference) of the variable.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MaxCardDiff

public MaxCardDiff()
It constructs a maximum cardinality difference variable comparator.

Method Detail

compare

public int compare(float left,
                   T var)
Compares the cardinality difference of the variable to the float value.

Specified by:
compare in interface ComparatorVariable<T extends SetVar>
Parameters:
left - the baseline for comparison.
var - variable which is compared to baseline.
Returns:
1 if metric is larger than variable, 0 if equal, -1 if baseline is smaller.

compare

public int compare(T leftVar,
                   T rightVar)
Compares the cardinality difference of the variables.

Specified by:
compare in interface ComparatorVariable<T extends SetVar>
Parameters:
leftVar - left variable
rightVar - right variable
Returns:
1 if metric for left variable is greater, 0 is they are equal, -1 if smaller.

metric

public float metric(T var)
Returns the metric(Cardinality difference) of the variable.

Specified by:
metric in interface ComparatorVariable<T extends SetVar>
Parameters:
var - variable for which metric is computed.
Returns:
the metric of the variable according to the comparator.