net.sf.cpsolver.ifs.termination
Class MPPTerminationCondition<V extends Variable<V,T>,T extends Value<V,T>>

java.lang.Object
  extended by net.sf.cpsolver.ifs.termination.MPPTerminationCondition<V,T>
All Implemented Interfaces:
TerminationCondition<V,T>

public class MPPTerminationCondition<V extends Variable<V,T>,T extends Value<V,T>>
extends Object
implements TerminationCondition<V,T>

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:

Parameter Type Comment
Termination.StopWhenComplete Double if true, solver stops when a complete solution is found
Termination.MaxIters Integer if zero or positive, solver stops when the given number of iteration is reached
Termination.TimeOut Double if zero or positive, solver stops when the given timeout (given in seconds) is reached
Termination.MinPerturbances Integer if 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.MinPerturbationPenalty Double if 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.2 (Iterative Forward Search)
Copyright (C) 2006 - 2010 Tomas Muller
muller@unitime.org
http://muller.unitime.org

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 3 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 see .
See Also:
Solver, PerturbationsCounter

Field Summary
protected static org.apache.log4j.Logger sLogger
           
 
Constructor Summary
MPPTerminationCondition(DataProperties properties)
           
MPPTerminationCondition(int maxIter, double timeout, int minPerturbances)
           
 
Method Summary
 boolean canContinue(Solution<V,T> 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 org.apache.log4j.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<V,T> currentSolution)
Description copied from interface: TerminationCondition
Returns true when the solver can continue with the next iteration

Specified by:
canContinue in interface TerminationCondition<V extends Variable<V,T>,T extends Value<V,T>>
Parameters:
currentSolution - current solution


Copyright © 2014 UniTime LLC. All Rights Reserved.