ifs.heuristics
Class GeneralVariableSelection

java.lang.Object
  extended by 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):


If MacPropagation is used and Variable.UnassignWhenNoGood parameter is true, while there is a variable with an empty domain:
Parameters:
ParameterTypeComment
Variable.RandomSelectionBooleanif true, an unassigned variable is picked randomly
Variable.UnassignWhenNoGoodBooleanif 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.UnassignWhenNoGoodRandomWalkDoubleif 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

Constructor Summary
GeneralVariableSelection()
           
GeneralVariableSelection(DataProperties properties)
          Constructor
 
Method Summary
 void init(Solver solver)
          Initialization
 Variable selectVariable(Solution solution)
          Variable selection
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GeneralVariableSelection

public GeneralVariableSelection(DataProperties properties)
Constructor

Parameters:
properties - input configuration

GeneralVariableSelection

public GeneralVariableSelection()
Method Detail

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