ifs.heuristics
Class GeneralVariableSelection
java.lang.Object
ifs.heuristics.GeneralVariableSelection
- All Implemented Interfaces:
- VariableSelection
public class GeneralVariableSelection
- extends Object
- implements VariableSelection
General implementation of variable selection criterion.
In case that all variables are assigned, one of the variables is selected randomly. In case of MPP,
the random selection is made among the variables which have not assigned initial values.
When there are unassigned variables, a variable is selected randomly among all
unassigned variables (when Variable.RandomSelection is true) or the following roulette
wheel selection takes place (MPP):
- one point for a variable with no initial assignment
- 3 * ( 1 + number of conflicts with the initial assignment) for a variable with an initial assignment
If MacPropagation is used and Variable.UnassignWhenNoGood parameter is true, while
there is a variable with an empty domain:
- with Variable.UnassignWhenNoGoodRandomWalk probabilty an arbitrary assigned variable is selected
- otherwise, one variable with empty domain is picked, one of its original values is picked and
one of the variables from the explanation of that value is then returned. If the explanation is
empty, another variable and value is tried (up to ten times).
Parameters:
| Parameter | Type | Comment |
| Variable.RandomSelection | Boolean | if true, an unassigned variable is picked randomly |
| Variable.UnassignWhenNoGood | Boolean | if true and if MacPropagation is used: if there is a variable with empty domain, assigned variable (which is present in some explanation for a vairable with empty domain) is selected (for reassignment) |
| Variable.UnassignWhenNoGoodRandomWalk | Double | if Variable.UnassignWhenNoGood is true and if MacPropagation is used: if there is a variable with empty domain, with the given probability an arbitrary assigned variable is selected |
- Version:
- 1.0
- Author:
- Tomáš Müller
- See Also:
VariableSelection,
Solver
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GeneralVariableSelection
public GeneralVariableSelection(DataProperties properties)
- Constructor
- Parameters:
properties - input configuration
GeneralVariableSelection
public GeneralVariableSelection()
init
public void init(Solver solver)
- Initialization
- Specified by:
init in interface VariableSelection
selectVariable
public Variable selectVariable(Solution solution)
- Variable selection
- Specified by:
selectVariable in interface VariableSelection
- Parameters:
solution - current solution
Copyright © 2005 Tomáš Müller