Solution_ - the solution type, the class with the PlanningSolution annotationpublic class NoChangeMove<Solution_> extends AbstractMove<Solution_>
| Constructor and Description |
|---|
NoChangeMove() |
| Modifier and Type | Method and Description |
|---|---|
NoChangeMove<Solution_> |
createUndoMove(ScoreDirector<Solution_> scoreDirector)
Called before the move is done, so the move can be evaluated and then be undone
without resulting into a permanent change in the solution.
|
protected void |
doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector)
Like
AbstractMove.doMove(ScoreDirector) but without the ScoreDirector.triggerVariableListeners() call
(because AbstractMove.doMove(ScoreDirector) already does that). |
Collection<? extends Object> |
getPlanningEntities()
Returns all planning entities that are being changed by this move.
|
Collection<? extends Object> |
getPlanningValues()
Returns all planning values that entities are being assigned to by this move.
|
boolean |
isMoveDoable(ScoreDirector<Solution_> scoreDirector)
Called before a move is evaluated to decide whether the move can be done and evaluated.
|
String |
toString() |
doMove, getSimpleMoveTypeDescriptionpublic boolean isMoveDoable(ScoreDirector<Solution_> scoreDirector)
MovePlanningSolution.It is recommended to keep this method implementation simple: do not use it in an attempt to satisfy normal hard and soft constraints.
Although you could also filter out non-doable moves in for example the MoveSelector
or MoveListFactory, this is not needed as the Solver will do it for you.
scoreDirector - the ScoreDirector not yet modified by the move.public NoChangeMove<Solution_> createUndoMove(ScoreDirector<Solution_> scoreDirector)
AbstractMovecreateUndoMove in class AbstractMove<Solution_>scoreDirector - the ScoreDirector not yet modified by the move.protected void doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector)
AbstractMoveAbstractMove.doMove(ScoreDirector) but without the ScoreDirector.triggerVariableListeners() call
(because AbstractMove.doMove(ScoreDirector) already does that).doMoveOnGenuineVariables in class AbstractMove<Solution_>scoreDirector - never nullpublic Collection<? extends Object> getPlanningEntities()
MoveAcceptorType.ENTITY_TABU.
Duplicate entries in the returned Collection are best avoided.
The returned Collection is recommended to be in a stable order.
For example: use List or LinkedHashSet, but not HashSet.
public Collection<? extends Object> getPlanningValues()
MoveAcceptorType.VALUE_TABU.
Duplicate entries in the returned Collection are best avoided.
The returned Collection is recommended to be in a stable order.
For example: use List or LinkedHashSet, but not HashSet.
Copyright © 2006–2017 JBoss by Red Hat. All rights reserved.