Interface ValueSelection<V extends Variable<V,T>,T extends Value<V,T>>

All Known Implementing Classes:
DbtValueSelection, EnrollmentSelection, ExamTabuSearch, GeneralValueSelection, PlacementSelection

public interface ValueSelection<V extends Variable<V,T>,T extends Value<V,T>>

Value selection criterion.

After a variable is selected, we need to find a value to be assigned to the variable. This problem is usually called "value selection" in constraint programming. Typically, the most useful advice is to select the best-fit value. So, we are looking for a value which is the most preferred for the variable and which causes the least trouble as well. This means that we need to find a value with the minimal potential for future conflicts with other variables. For example, a value which violates the smallest number of soft constraints can be selected among those with the smallest number of hard conflicts.

The task of this criterion is to select a value of the given variable which will be assigned to this variable.

IFS 1.2 (Iterative Forward Search)
Copyright (C) 2006 - 2010 Tomáš Müller

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:

Method Summary
 void init(Solver<V,T> solver)
 T selectValue(Solution<V,T> solution, V selectedVariable)
          Value selection

Method Detail


void init(Solver<V,T> solver)


T selectValue(Solution<V,T> solution,
              V selectedVariable)
Value selection

solution - current solution
selectedVariable - selected variable