jmetal.util.comparators
Class ViolationThresholdComparator

java.lang.Object
  extended by jmetal.util.comparators.ViolationThresholdComparator
All Implemented Interfaces:
java.util.Comparator, IConstraintViolationComparator

public class ViolationThresholdComparator
extends java.lang.Object
implements IConstraintViolationComparator


Constructor Summary
ViolationThresholdComparator()
           
 
Method Summary
 int compare(java.lang.Object o1, java.lang.Object o2)
          Compares two solutions.
 double feasibilityRatio(SolutionSet solutionSet)
          Computes the feasibility ratio Return the ratio of feasible solutions
 double meanOveralViolation(SolutionSet solutionSet)
          Computes the feasibility ratio Return the ratio of feasible solutions
 boolean needToCompare(Solution o1, Solution o2)
          Returns true if solutions s1 and/or s2 have an overall constraint violation < 0
 void updateThreshold(SolutionSet set)
          Updates the threshold value using the population
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Constructor Detail

ViolationThresholdComparator

public ViolationThresholdComparator()
Method Detail

compare

public int compare(java.lang.Object o1,
                   java.lang.Object o2)
Compares two solutions.

Specified by:
compare in interface java.util.Comparator
Specified by:
compare in interface IConstraintViolationComparator
Parameters:
o1 - Object representing the first Solution.
o2 - Object representing the second Solution.
Returns:
-1, or 0, or 1 if o1 is less than, equal, or greater than o2, respectively.

needToCompare

public boolean needToCompare(Solution o1,
                             Solution o2)
Returns true if solutions s1 and/or s2 have an overall constraint violation < 0

Specified by:
needToCompare in interface IConstraintViolationComparator

feasibilityRatio

public double feasibilityRatio(SolutionSet solutionSet)
Computes the feasibility ratio Return the ratio of feasible solutions


meanOveralViolation

public double meanOveralViolation(SolutionSet solutionSet)
Computes the feasibility ratio Return the ratio of feasible solutions


updateThreshold

public void updateThreshold(SolutionSet set)
Updates the threshold value using the population