net.sf.cpsolver.ifs.termination
Class MPPTerminationCondition

java.lang.Object
  extended by net.sf.cpsolver.ifs.termination.MPPTerminationCondition
All Implemented Interfaces:
TerminationCondition

public class MPPTerminationCondition
extends Object
implements TerminationCondition

General implementation of termination condition for minimal perturbation problem.

Solver stops when a timeout is reached (expressed either by the number of iterations or by a time) or when an acceptable complete (all variables are assigned) solution is found. The acceptance of a solution is expressed either by the minimal number of variables assigned to not-initial values or by the perturbations penalty.

Parameters:

ParameterTypeComment
Termination.StopWhenCompleteDoubleif true, solver stops when a complete solution is found
Termination.MaxItersIntegerif zero or positive, solver stops when the given number of iteration is reached
Termination.TimeOutDoubleif zero or positive, solver stops when the given timeout (given in seconds) is reached
Termination.MinPerturbancesIntegerif zero or positive, solver stops when the solution is complete and the number of variables with non-initial values is below or equal to this limit
Termination.MinPerturbationPenaltyDoubleif zero or positive, solver stops when the solution is complete and when the perturbation penaly of the solution is below or equal to this limit

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:
Solver, PerturbationsCounter

Field Summary
protected static Logger sLogger
           
 
Constructor Summary
MPPTerminationCondition(DataProperties properties)
           
MPPTerminationCondition(int maxIter, double timeout, int minPerturbances)
           
 
Method Summary
 boolean canContinue(Solution currentSolution)
          Returns true when the solver can continue with the next iteration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sLogger

protected static Logger sLogger
Constructor Detail

MPPTerminationCondition

public MPPTerminationCondition(DataProperties properties)

MPPTerminationCondition

public MPPTerminationCondition(int maxIter,
                               double timeout,
                               int minPerturbances)
Method Detail

canContinue

public boolean canContinue(Solution currentSolution)
Description copied from interface: TerminationCondition
Returns true when the solver can continue with the next iteration

Specified by:
canContinue in interface TerminationCondition
Parameters:
currentSolution - current solution