net.sf.cpsolver.ifs.solution
Class GeneralSolutionComparator

java.lang.Object
  extended by net.sf.cpsolver.ifs.solution.GeneralSolutionComparator
All Implemented Interfaces:
SolutionComparator

public class GeneralSolutionComparator
extends Object
implements SolutionComparator

General implementation of solution comparator.

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 better solution is the one with smaller total value, i.e., the sum of Value.toDouble() over all assigned variables.

Version:
IFS 1.1 (Iterative Forward Search)
Copyright (C) 2006 Tomáš Müller
muller@unitime.org
Lazenska 391, 76314 Zlin, Czech Republic

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
See Also:
Solution, Solver

Constructor Summary
GeneralSolutionComparator()
           
GeneralSolutionComparator(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

GeneralSolutionComparator

public GeneralSolutionComparator()

GeneralSolutionComparator

public GeneralSolutionComparator(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