V
- VariableT
- Valuepublic class GreatDeluge<V extends Variable<V,T>,T extends Value<V,T>> extends NeighbourSearch<V,T>
NeighbourSelection
. By default,
each neighbour selection is selected with the same probability (each has 1 point in
a roulette wheel selection). It can be changed by adding @n at the end
of the name of the class, for example:
GreatDeluge.Neighbours=org.cpsolver.ifs.algorithms.neighbourhoods.RandomMove;org.cpsolver.ifs.algorithms.neighbourhoods.RandomSwapMove@0.1
Selector RandomSwapMove is 10× less probable to be selected than other selectors.
When GreatDeluge.Random is true, all selectors are selected with the same probability, ignoring these weights.
NeighbourSelector.update(Assignment, Neighbour, long)
is called
after each iteration (on the selector that was used) and roulette wheel selection
that is using NeighbourSelector.getPoints()
is used to pick a selector in each iteration.
See NeighbourSelector
for more details.
Modifier and Type | Class and Description |
---|---|
class |
GreatDeluge.GreatDelugeContext |
NeighbourSearch.NeighbourSearchContext
iDF2, iPhase
iContextOverride
sMaxSize
Constructor and Description |
---|
GreatDeluge(DataProperties properties)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
NeighbourSearch.NeighbourSearchContext |
createAssignmentContext(Assignment<V,T> assignment)
Create a new assignment context for the given assignment.
|
String |
getParameterBaseName()
Parameter base name.
|
accept, accept, addNeighbourSelection, bestCleared, bestRestored, bestSaved, generateMove, getInfo, getInfo, getNeighbours, info, init, isMaster, logNeibourStatus, nextNeighbourSelection, selectNeighbour, setHCMode, setProgress, setProgressPhase, solutionUpdated
getAssignmentContextReference, getContext, getContext, hasContextOverride, isSingleContextSolver, setAssignmentContextReference
public GreatDeluge(DataProperties properties)
NeighbourSelection
NeighbourSelection
NeighbourSelector.getPoints()
weights (roulette wheel selection)
properties
- problem propertiespublic String getParameterBaseName()
NeighbourSearch
getParameterBaseName
in class NeighbourSearch<V extends Variable<V,T>,T extends Value<V,T>>
public NeighbourSearch.NeighbourSearchContext createAssignmentContext(Assignment<V,T> assignment)
HasAssignmentContext
assignment
- an assignment for which there needs to be an assignment context