Class ListUnassignMove<Solution_>

java.lang.Object
org.optaplanner.core.impl.heuristic.move.AbstractMove<Solution_>
org.optaplanner.core.impl.heuristic.selector.move.generic.list.ListUnassignMove<Solution_>
All Implemented Interfaces:
Move<Solution_>

public class ListUnassignMove<Solution_> extends AbstractMove<Solution_>
  • Constructor Details

  • Method Details

    • isMoveDoable

      public boolean isMoveDoable(ScoreDirector<Solution_> scoreDirector)
      Description copied from interface: Move
      Called before a move is evaluated to decide whether the move can be done and evaluated. A Move is not doable if:
      • Either doing it would change nothing in the PlanningSolution.
      • Either it's simply not possible to do (for example due to built-in hard constraints).

      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.

      Parameters:
      scoreDirector - the ScoreDirector not yet modified by the move.
      Returns:
      true if the move achieves a change in the solution and the move is possible to do on the solution.
    • createUndoMove

      public AbstractMove<Solution_> createUndoMove(ScoreDirector<Solution_> scoreDirector)
      Description copied from class: AbstractMove
      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.
      Specified by:
      createUndoMove in class AbstractMove<Solution_>
      Parameters:
      scoreDirector - the ScoreDirector not yet modified by the move.
      Returns:
      an undoMove which does the exact opposite of this move.
    • doMoveOnGenuineVariables

      protected void doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector)
      Description copied from class: AbstractMove
      Specified by:
      doMoveOnGenuineVariables in class AbstractMove<Solution_>
      Parameters:
      scoreDirector - never null
    • getSimpleMoveTypeDescription

      public String getSimpleMoveTypeDescription()
      Description copied from interface: Move
      Describes the move type for statistical purposes. For example "ChangeMove(Process.computer)".

      The format is not formalized. Never parse the String returned by this method.

      Returns:
      never null
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object