Uses of Interface
ai.timefold.solver.core.preview.api.move.Move
Packages that use Move
Package
Description
Contains classes relevant to K-Opt moves.
This package contains classes and interfaces that are used to write moves to explore the neighborhood of a
PlanningSolution.-
Uses of Move in ai.timefold.solver.core.impl.constructionheuristic.decider
Method parameters in ai.timefold.solver.core.impl.constructionheuristic.decider with type arguments of type MoveModifier and TypeMethodDescriptionvoidConstructionHeuristicDecider.decideNextStep(ConstructionHeuristicStepScope<Solution_> stepScope, Iterator<Move<Solution_>> moveIterator) -
Uses of Move in ai.timefold.solver.core.impl.constructionheuristic.placer
Methods in ai.timefold.solver.core.impl.constructionheuristic.placer that return types with arguments of type MoveModifier and TypeMethodDescriptionPlacement.iterator()Placement.toNewMoveIterator(Iterator<Move<Solution_>> legacyIterator) Constructor parameters in ai.timefold.solver.core.impl.constructionheuristic.placer with type arguments of type Move -
Uses of Move in ai.timefold.solver.core.impl.constructionheuristic.scope
Methods in ai.timefold.solver.core.impl.constructionheuristic.scope that return MoveMethods in ai.timefold.solver.core.impl.constructionheuristic.scope with parameters of type MoveModifier and TypeMethodDescriptionvoidConstructors in ai.timefold.solver.core.impl.constructionheuristic.scope with parameters of type MoveModifierConstructorDescriptionConstructionHeuristicMoveScope(ConstructionHeuristicStepScope<Solution_> stepScope, int moveIndex, Move<Solution_> move) -
Uses of Move in ai.timefold.solver.core.impl.exhaustivesearch.node
Methods in ai.timefold.solver.core.impl.exhaustivesearch.node that return MoveModifier and TypeMethodDescriptionExhaustiveSearchNode.getMove()ExhaustiveSearchNode.getUndoMove()Methods in ai.timefold.solver.core.impl.exhaustivesearch.node with parameters of type Move -
Uses of Move in ai.timefold.solver.core.impl.heuristic.move
Subinterfaces of Move in ai.timefold.solver.core.impl.heuristic.moveModifier and TypeInterfaceDescriptioninterfaceMove<Solution_>A Move represents a change of 1 or morePlanningVariables of 1 or morePlanningEntitys in the workingPlanningSolution.Classes in ai.timefold.solver.core.impl.heuristic.move that implement MoveModifier and TypeClassDescriptionclassAbstractMove<Solution_>Abstract superclass forMove, requiring implementation of undo moves.classAbstractSimplifiedMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.classAbstractUndoMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.Undo moves are automatically generated by the solver.final classCompositeMove<Solution_>A CompositeMove is composed out of multiple other moves.final classNoChangeMove<Solution_>Makes no changes.Methods in ai.timefold.solver.core.impl.heuristic.move that return MoveModifier and TypeMethodDescriptionDo not override this default implementation.static <Solution_>
Move<Solution_>Methods in ai.timefold.solver.core.impl.heuristic.move with parameters of type MoveModifier and TypeMethodDescriptionstatic <Solution_>
booleanMoveAdapters.isDoable(MoveDirector<Solution_, ?> moveDirector, Move<Solution_> move) Used to determine if a move is doable.static <Solution_>
booleanMoveAdapters.testWhenLegacyMove(Move<Solution_> move, Predicate<Move<Solution_>> predicate) static <Solution_>
Move<Solution_>Method parameters in ai.timefold.solver.core.impl.heuristic.move with type arguments of type MoveModifier and TypeMethodDescriptionMoveAdapters.toLegacyMoveIterator(Iterator<Move<Solution_>> newIterator) -
Uses of Move in ai.timefold.solver.core.impl.heuristic.selector.move.generic
Classes in ai.timefold.solver.core.impl.heuristic.selector.move.generic that implement MoveModifier and TypeClassDescriptionclassChangeMove<Solution_>classPillarChangeMove<Solution_>ThisMoveis not cacheable.classPillarSwapMove<Solution_>ThisMoveis not cacheable.final classRuinRecreateMove<Solution_>classSwapMove<Solution_> -
Uses of Move in ai.timefold.solver.core.impl.heuristic.selector.move.generic.chained
Classes in ai.timefold.solver.core.impl.heuristic.selector.move.generic.chained that implement MoveModifier and TypeClassDescriptionclassChainedChangeMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.Chained variable is deprecated.classChainedSwapMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.Chained variable is deprecated.classKOptMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.Chained variable is deprecated.classSubChainChangeMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.Chained variable is deprecated.classSubChainReversingChangeMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.Chained variable is deprecated.classSubChainReversingSwapMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.Chained variable is deprecated.classSubChainSwapMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.Chained variable is deprecated.classTailChainSwapMove<Solution_>Deprecated, for removal: This API element is subject to removal in a future version.Chained variable is deprecated. -
Uses of Move in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list
Classes in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list that implement MoveModifier and TypeClassDescriptionfinal classListAssignMove<Solution_>classListChangeMove<Solution_>Moves an element of alist variable.classListSwapMove<Solution_>Swaps two elements of alist variable.classListUnassignMove<Solution_>classSubListChangeMove<Solution_>classSubListSwapMove<Solution_>classSubListUnassignMove<Solution_> -
Uses of Move in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list.kopt
Classes in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list.kopt that implement MoveModifier and TypeClassDescriptionfinal classKOptListMove<Solution_>final classTwoOptListMove<Solution_>A 2-opt move for list variables, which takes two edges and swap their endpoints. -
Uses of Move in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list.ruin
Classes in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list.ruin that implement Move -
Uses of Move in ai.timefold.solver.core.impl.localsearch.scope
Methods in ai.timefold.solver.core.impl.localsearch.scope that return MoveMethods in ai.timefold.solver.core.impl.localsearch.scope with parameters of type MoveConstructors in ai.timefold.solver.core.impl.localsearch.scope with parameters of type MoveModifierConstructorDescriptionLocalSearchMoveScope(LocalSearchStepScope<Solution_> stepScope, int moveIndex, Move<Solution_> move) -
Uses of Move in ai.timefold.solver.core.impl.move
Classes in ai.timefold.solver.core.impl.move that implement MoveMethods in ai.timefold.solver.core.impl.move with parameters of type MoveModifier and TypeMethodDescriptionvoidfinal voidExecute a given move and make sure shadow variables are up to date after that.voidDefaultMoveTestContext.executeTemporarily(Move<Solution_> move, Consumer<SolutionView<Solution_>> callback) final InnerScore<Score_>MoveDirector.executeTemporary(Move<Solution_> move) <Result_> Result_MoveDirector.executeTemporary(Move<Solution_> move, MoveDirector.TemporaryMovePostprocessor<Solution_, Score_, Result_> postprocessor) -
Uses of Move in ai.timefold.solver.core.impl.neighborhood
Methods in ai.timefold.solver.core.impl.neighborhood that return types with arguments of type Move -
Uses of Move in ai.timefold.solver.core.impl.neighborhood.stream
Methods in ai.timefold.solver.core.impl.neighborhood.stream that return MoveModifier and TypeMethodDescriptionMethods in ai.timefold.solver.core.impl.neighborhood.stream that return types with arguments of type Move -
Uses of Move in ai.timefold.solver.core.impl.phase.scope
Fields in ai.timefold.solver.core.impl.phase.scope declared as MoveMethods in ai.timefold.solver.core.impl.phase.scope that return MoveMethods in ai.timefold.solver.core.impl.phase.scope with parameters of type MoveModifier and TypeMethodDescriptionvoidAbstractPhaseScope.addMoveEvaluationCount(Move<Solution_> move, long count) voidAbstractPhaseScope.addMoveEvaluationCountPerType(Move<Solution_> move, long count) Constructors in ai.timefold.solver.core.impl.phase.scope with parameters of type MoveModifierConstructorDescriptionprotectedAbstractMoveScope(AbstractStepScope<Solution_> stepScope, int moveIndex, Move<Solution_> move) -
Uses of Move in ai.timefold.solver.core.impl.score.director
Methods in ai.timefold.solver.core.impl.score.director with parameters of type MoveModifier and TypeMethodDescriptionvoidAbstractScoreDirector.assertExpectedUndoMoveScore(Move<Solution_> move, InnerScore<Score_> beforeMoveInnerScore, SolverLifecyclePoint executionPoint) voidInnerScoreDirector.assertExpectedUndoMoveScore(Move<Solution_> move, InnerScore<Score_> beforeMoveScore, SolverLifecyclePoint executionPoint) Asserts that if theScoreis calculated for the currentworking solutionin the currentScoreDirector(with incremental calculation residue), it is equal to the parameterbeforeMoveScore.voidAbstractScoreDirector.executeMove(Move<Solution_> move) voidInnerScoreDirector.executeMove(Move<Solution_> move) AbstractScoreDirector.executeTemporaryMove(Move<Solution_> move, @Nullable Consumer<SolutionView<Solution_>> consumer, boolean assertMoveScoreFromScratch) default InnerScore<Score_>InnerScoreDirector.executeTemporaryMove(Move<Solution_> move, boolean assertMoveScoreFromScratch) As defined byInnerScoreDirector.executeTemporaryMove(Move, Consumer, boolean), but with no consumer.InnerScoreDirector.executeTemporaryMove(Move<Solution_> move, @Nullable Consumer<SolutionView<Solution_>> consumer, boolean assertMoveScoreFromScratch) Executes a move, finds out its score, and immediately undoes it.AbstractScoreDirector.getSolutionCorruptionAfterUndo(Move<Solution_> move, InnerScore<Score_> undoInnerScore) -
Uses of Move in ai.timefold.solver.core.preview.api.move
Methods in ai.timefold.solver.core.preview.api.move that return MoveModifier and TypeMethodDescriptionRebases a move from an originScoreDirectorto another destinationScoreDirectorwhich is usually on anotherThread.Methods in ai.timefold.solver.core.preview.api.move with parameters of type MoveModifier and TypeMethodDescriptionvoidExecutes the given move permanently on the bound solution.voidMoveTestContext.executeTemporarily(Move<Solution_> move, Consumer<SolutionView<Solution_>> callback) Executes the given move temporarily on the bound solution, runs assertions, then automatically undoes the move. -
Uses of Move in ai.timefold.solver.core.preview.api.move.builtin
Classes in ai.timefold.solver.core.preview.api.move.builtin that implement MoveModifier and TypeClassDescriptionclassChangeMove<Solution_,Entity_, Value_> final classCompositeMove<Solution_>A CompositeMove is composed out of multiple other moves.classListAssignMove<Solution_,Entity_, Value_> classListChangeMove<Solution_,Entity_, Value_> Moves an element of alist variable.classListSwapMove<Solution_,Entity_, Value_> Swaps two elements of alist variable.final classListUnassignMove<Solution_,Entity_, Value_> classSwapMove<Solution_,Entity_> Swaps values ofPlanningVariablebetween two differentPlanningEntityinstances.Methods in ai.timefold.solver.core.preview.api.move.builtin that return MoveModifier and TypeMethodDescriptionstatic <Solution_,Entity_, Value_>
Move<Solution_>Moves.assign(PlanningListVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, Value_ value, PositionInList targetPosition) Creates a move that assigns a value to a list variable at a specified position.static <Solution_,Entity_, Value_>
Move<Solution_>Moves.assign(PlanningListVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, Value_ value, Entity_ entity, int index) As defined byMoves.assign(PlanningListVariableMetaModel, Object, PositionInList), but with explicit entity and index parameters.static <Solution_,Entity_, Value_>
Move<Solution_>Moves.change(PlanningListVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, PositionInList source, PositionInList destination) Creates a move that moves an element from one position in a list variable to another position.static <Solution_,Entity_, Value_>
Move<Solution_>Moves.change(PlanningListVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, Entity_ sourceEntity, int sourceIndex, Entity_ destinationEntity, int destinationIndex) As defined byMoves.change(PlanningListVariableMetaModel, PositionInList, PositionInList), but with explicit entity and index parameters.static <Solution_,Entity_, Value_>
Move<Solution_>Moves.change(PlanningVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, Entity_ entity, @Nullable Value_ value) Creates a move that changes a basic planning variable's value on a given entity.static <Solution_>
Move<Solution_>Creates a composite move from an array of moves.static <Solution_>
Move<Solution_>Creates a composite move from a list of moves.static <Solution_,Entity_, Value_>
Move<Solution_>Moves.swap(PlanningListVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, PositionInList left, PositionInList right) Creates a move that swaps two elements between positions in list variables.static <Solution_,Entity_, Value_>
Move<Solution_>Moves.swap(PlanningListVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, Entity_ leftEntity, int leftIndex, Entity_ rightEntity, int rightIndex) As defined byMoves.swap(PlanningListVariableMetaModel, PositionInList, PositionInList), but with explicit entity and index parameters.static <Solution_,Entity_, Value_>
Move<Solution_>Moves.swap(PlanningVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, Entity_ leftEntity, Entity_ rightEntity) Creates a move that swaps the value of a single planning variable between two entities.static <Solution_,Entity_>
Move<Solution_>Moves.swap(List<PlanningVariableMetaModel<Solution_, Entity_, Object>> variableMetaModelList, Entity_ leftEntity, Entity_ rightEntity) Creates a move that swaps the values of multiple planning variables between two entities.static <Solution_,Entity_, Value_>
Move<Solution_>Moves.unassign(PlanningListVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, PositionInList targetPosition) Creates a move that unassigns a value from a list variable at a specified position.static <Solution_,Entity_, Value_>
Move<Solution_>Moves.unassign(PlanningListVariableMetaModel<Solution_, Entity_, Value_> variableMetaModel, Entity_ entity, int index) As defined byMoves.unassign(PlanningListVariableMetaModel, PositionInList), but with explicit entity and index parameters.Methods in ai.timefold.solver.core.preview.api.move.builtin with parameters of type MoveModifier and TypeMethodDescriptionstatic <Solution_>
Move<Solution_>Creates a composite move from an array of moves.Method parameters in ai.timefold.solver.core.preview.api.move.builtin with type arguments of type Move -
Uses of Move in ai.timefold.solver.core.preview.api.neighborhood
Methods in ai.timefold.solver.core.preview.api.neighborhood with type parameters of type MoveModifier and TypeMethodDescriptionNeighborhoodTestContext.getMovesAsIterator(Function<Move<Solution_>, Move_> moveCaster) As defined byNeighborhoodTestContext.getMovesAsIterator(), but the provided function allows casting each move to a more specific subtype, avoiding the need for external casting in the test.NeighborhoodTestContext.getMovesAsList(Function<Move<Solution_>, Move_> moveCaster) As defined byNeighborhoodTestContext.getMovesAsList(), but the provided function allows casting each move to a more specific subtype, avoiding the need for external casting in the test.NeighborhoodTestContext.getMovesAsStream(Function<Move<Solution_>, Move_> moveCaster) As defined byNeighborhoodTestContext.getMovesAsStream(), but the provided function allows casting each move to a more specific subtype, avoiding the need for external casting in the test.Methods in ai.timefold.solver.core.preview.api.neighborhood that return MoveModifier and TypeMethodDescriptionBiMoveConstructor.apply(SolutionView<Solution_> solutionView, @Nullable A a, @Nullable B b) Methods in ai.timefold.solver.core.preview.api.neighborhood that return types with arguments of type MoveModifier and TypeMethodDescriptionNeighborhoodTestContext.getMovesAsIterator()Returns an iterator over all moves provided by the givenMoveProviderfor the bound solution instance.NeighborhoodTestContext.getMovesAsList()As defined byNeighborhoodTestContext.getMovesAsIterator(), but returns a list of all the moves in the iterator.NeighborhoodTestContext.getMovesAsStream()As defined byNeighborhoodTestContext.getMovesAsIterator(), but returns aStreamof all the moves in the iterator.Method parameters in ai.timefold.solver.core.preview.api.neighborhood with type arguments of type MoveModifier and TypeMethodDescriptionNeighborhoodTestContext.getMovesAsIterator(Function<Move<Solution_>, Move_> moveCaster) As defined byNeighborhoodTestContext.getMovesAsIterator(), but the provided function allows casting each move to a more specific subtype, avoiding the need for external casting in the test.NeighborhoodTestContext.getMovesAsList(Function<Move<Solution_>, Move_> moveCaster) As defined byNeighborhoodTestContext.getMovesAsList(), but the provided function allows casting each move to a more specific subtype, avoiding the need for external casting in the test.NeighborhoodTestContext.getMovesAsStream(Function<Move<Solution_>, Move_> moveCaster) As defined byNeighborhoodTestContext.getMovesAsStream(), but the provided function allows casting each move to a more specific subtype, avoiding the need for external casting in the test. -
Uses of Move in ai.timefold.solver.core.preview.api.neighborhood.stream
Methods in ai.timefold.solver.core.preview.api.neighborhood.stream that return types with arguments of type MoveModifier and TypeMethodDescriptionMoveStream.getMoveIterable(NeighborhoodSession neighborhoodSession)
AbstractMove, which no longer requires undo moves to be implemented either.