JaCoP.search
Class MinDomainOverDegree<T extends Var>

java.lang.Object
  extended by JaCoP.search.MinDomainOverDegree<T>
Type Parameters:
T - type of variable being compared.
All Implemented Interfaces:
ComparatorVariable<T>

public class MinDomainOverDegree<T extends Var>
extends java.lang.Object
implements ComparatorVariable<T>

Defines a MinDomainOverDegree comparator for Variables.

Version:
3.1
Author:
Radoslaw Szymanek and Krzysztof Kuchcinski

Constructor Summary
MinDomainOverDegree()
          It constructs variable comparator with priority based on the minimal value of domain size divided by the number of constraints currently attached to a variable.
 
Method Summary
 int compare(float left, T var)
          It compares the baseline metric to the variable metric.
 int compare(T leftVar, T rightVar)
          It compares the metric of the left variable against the right one.
 float metric(T var)
          It returns the metric of the variable given according to the comparator.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MinDomainOverDegree

public MinDomainOverDegree()
It constructs variable comparator with priority based on the minimal value of domain size divided by the number of constraints currently attached to a variable.

Method Detail

compare

public int compare(float left,
                   T var)
Description copied from interface: ComparatorVariable
It compares the baseline metric to the variable metric.

Specified by:
compare in interface ComparatorVariable<T extends Var>
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)
Description copied from interface: ComparatorVariable
It compares the metric of the left variable against the right one.

Specified by:
compare in interface ComparatorVariable<T extends Var>
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)
Description copied from interface: ComparatorVariable
It returns the metric of the variable given according to the comparator.

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