Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ifs.heuristics
Class GeneralValueSelection

    java.lang.Object
      ifs.heuristics.GeneralValueSelection

All Implemented Interfaces:
  ValueSelection

    public class GeneralValueSelection

extends Object
implements ValueSelection

General implementation of value selection criterion.
Value selection criterion is based on weighted sum of various criteria. It also allows random walk technique and tabu search.
Parameters:

Parameter | Type | Comment
--- | --- | ---
General.MPP | `Boolean` | if true, MPP is being solved
Value.MPPLimit | `Integer` | MPP: limitation of the number of allowed perturbations. If a solution within this limit is gound, it is decreased.
Value.InitialSelectionProb | `Double` | MPP: probability of selection of the initial value
Value.RandomWalkProb | `Double` | Random Walk: probability of selection of a value randomly among all the values
Value.Tabu | `Integer` | Tabu Search: length of the tabu-list
Value.GoodSelectionProb | `Double` | In case of `MacPropagation`, with this probability (1.0 means always), the selection is made only among good values (not removed from the domain).

Following weights are used in the weighted sum (computed for all values). The value with the lowest weighted sum is selected. If there are more than one of such values, one of them is selected randomly.

Parameter | Type | Comment
--- | --- | ---
Value.WeightDeltaInitialAssignments | `Double` | MPP: Difference in the number of assigned initial values if the value is assigned to the variable (weighted by this Value.WeightDeltaInitialAssignments): -1 if the value is initial, 0 otherwise, increased by the number of initial values assigned to variables with hard conflicts with the value
Value.WeightWeightedConflicts | `Double` | When `ConflictStatistics` is used: weighted number of conflicting variables
Value.WeightPotentialConflicts | `Double` | When `ConflictStatistics` is used: weighted number of potentially conflicting variables
Value.WeightConflicts | `Double` | Number of conflicting variables `Model.conflictValues(Value)`.
Value.WeightNrAssignments | `Double` | Number of previous assignments of the value
Value.WeightValue | `Double` | Value `Value.toInt()`

Version:
  1.0
Author:
  Tomáš Müller
See Also:
  `VariableSelection`, `Solver`

Constructor Summary
`GeneralValueSelection()`
`GeneralValueSelection(DataProperties properties)` Constructor

Method Summary
`void` | `init(Solver solver)` Initialization
`Value` | `selectValue(Solution solution, Variable selectedVariable)` Value selecion

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GeneralValueSelection

    public GeneralValueSelection()

### GeneralValueSelection

    public GeneralValueSelection(DataProperties properties)

  Constructor

  Parameters:
    `properties` - input configuration

Method Detail

### init

    public void init(Solver solver)

  Initialization

  Specified by:
    `init` in interface `ValueSelection`

### selectValue

    public Value selectValue(Solution solution,
                             Variable selectedVariable)

  Value selecion

  Specified by:
    `selectValue` in interface `ValueSelection`
  Parameters:
    `solution` - current solution
    `selectedVariable` - selected variable

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005 Tomáš Müller