net.sf.cpsolver.ifs.termination
Class MPPTerminationCondition
java.lang.Object
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:
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.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
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 |
sLogger
protected static Logger sLogger
MPPTerminationCondition
public MPPTerminationCondition(DataProperties properties)
MPPTerminationCondition
public MPPTerminationCondition(int maxIter,
double timeout,
int minPerturbances)
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