ifs.solution
Class MPPSolutionComparator

java.lang.Object
  extended by ifs.solution.MPPSolutionComparator
All Implemented Interfaces:
SolutionComparator

public class MPPSolutionComparator
extends Object
implements SolutionComparator

General implementation of solution comparator for minimal perturbation problem.

The solution is better than the best ever found solution when it has more variables assigned. In the case, when both solutions have the same number of assigned variables, the one with smaller number of perturbations (i.e., variables assigned to non-initial values) is selected. When all solution have the same number of assigned variables and number of perturbations, better solution is the one with smaller total value, i.e., the sum of Value.toInt() over all assigned variables.

Version:
1.0
Author:
Tomáš Müller
See Also:
Solution, Solver

Constructor Summary
MPPSolutionComparator()
           
MPPSolutionComparator(DataProperties properties)
          No parameters are used so far.
 
Method Summary
 boolean isBetterThanBestSolution(Solution currentSolution)
          Compares two solutions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MPPSolutionComparator

public MPPSolutionComparator()

MPPSolutionComparator

public MPPSolutionComparator(DataProperties properties)
No parameters are used so far.

Method Detail

isBetterThanBestSolution

public boolean isBetterThanBestSolution(Solution currentSolution)
Description copied from interface: SolutionComparator
Compares two solutions. Returns true if the given solution is better than its best ever found solution (see Solution.saveBest() and Solution.restoreBest()).

Specified by:
isBetterThanBestSolution in interface SolutionComparator
Parameters:
currentSolution - given solution
Returns:
true if the given solution is better than the best ever found solution


Copyright © 2005 Tomáš Müller