net.sf.cpsolver.ifs.dbt
Class DbtValueSelection

java.lang.Object
  extended by net.sf.cpsolver.ifs.dbt.DbtValueSelection
All Implemented Interfaces:
ValueSelection

public class DbtValueSelection
extends Object
implements ValueSelection

Selection of a value for dynamic backtracking.

  • Returns null if all values of the selected variable are nogood.
  • Selected the best good value (according to the parameters) of the selected variable.

    It is based on a weighted sum of several criteria.

    This IFS solver value selection heuristics is to be used only in case of dynamic backtracking and it has the following parameters:
    ParameterTypeComment
    General.MPPBooleanMinimal Perturbation Problem
    Value.MPPLimitIntegerLimit on the number of perturbations (only in case of MPP, i.e., when General.MPP=true). MPP limit is decreased when a complete solution is found. If set to -1, it is no used
    Value.InitialSelectionProbDoubleProbability of selection of initial value (only in case of MPP)
    Value.WeightDeltaInitialAssignmentsDoubleWeight of difference in the number of assignments of initial values in case of selection of the value(only in case of MPP)
    Value.RandomWalkProbDoubleProbability of random selection of a good value
    Value.WeightNrAssignmentsDoubleWeight of the number of previous assignments of the value
    Value.WeightValueDoubleWeight of the value itself (e.g., for minCSP)

    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

    Constructor Summary
    DbtValueSelection(DataProperties properties)
               
     
    Method Summary
     void init(Solver solver)
              Heuristics initialization
     Value selectValue(Solution solution, Variable selectedVariable)
              Value selection
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Constructor Detail

    DbtValueSelection

    public DbtValueSelection(DataProperties properties)
    Method Detail

    init

    public void init(Solver solver)
    Heuristics initialization

    Specified by:
    init in interface ValueSelection
    See Also:
    ValueSelection.init(Solver)

    selectValue

    public Value selectValue(Solution solution,
                             Variable selectedVariable)
    Value selection

    Specified by:
    selectValue in interface ValueSelection
    Parameters:
    solution - current solution
    selectedVariable - selected variable
    See Also:
    ValueSelection.selectValue(Solution, Variable)