Uses of Interface
ai.timefold.solver.core.api.score.director.ScoreDirector
Packages that use ScoreDirector
Package
Description
Domain annotations and support classes for a planning variable.
Solver, SolverFactory, ...Contains classes relevant to K-Opt moves.
-
Uses of ScoreDirector in ai.timefold.solver.core.api.domain.variable
Methods in ai.timefold.solver.core.api.domain.variable with parameters of type ScoreDirectorModifier and TypeMethodDescriptionvoidAbstractVariableListener.afterEntityAdded(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity) Deprecated, for removal: This API element is subject to removal in a future version.voidAbstractVariableListener.afterEntityRemoved(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity) Deprecated, for removal: This API element is subject to removal in a future version.voidListVariableListener.afterListVariableChanged(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity, int fromIndex, int toIndex) Deprecated, for removal: This API element is subject to removal in a future version.Tells the listener that some elements within the range starting atfromIndex(inclusive) and ending attoIndex(exclusive) changed.voidListVariableListener.afterListVariableElementUnassigned(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Element_ element) Deprecated, for removal: This API element is subject to removal in a future version.The listener must unset all shadow variables it is responsible for when an element is unassigned from the source list variable.voidVariableListener.afterVariableChanged(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity) Deprecated, for removal: This API element is subject to removal in a future version.voidAbstractVariableListener.beforeEntityAdded(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity) Deprecated, for removal: This API element is subject to removal in a future version.voidAbstractVariableListener.beforeEntityRemoved(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity) Deprecated, for removal: This API element is subject to removal in a future version.voidListVariableListener.beforeListVariableChanged(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity, int fromIndex, int toIndex) Deprecated, for removal: This API element is subject to removal in a future version.Tells the listener that some elements within the range starting atfromIndex(inclusive) and ending attoIndex(exclusive) will change.voidVariableListener.beforeVariableChanged(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity) Deprecated, for removal: This API element is subject to removal in a future version.default voidAbstractVariableListener.resetWorkingSolution(@NonNull ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.Called when the entire working solution changes. -
Uses of ScoreDirector in ai.timefold.solver.core.api.solver
Methods in ai.timefold.solver.core.api.solver with parameters of type ScoreDirectorModifier and TypeMethodDescriptionvoidProblemFactChange.doChange(@NonNull ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.Does the change on thePlanningSolutionof theScoreDirectorand notifies theScoreDirectoraccordingly. -
Uses of ScoreDirector in ai.timefold.solver.core.api.solver.phase
Methods in ai.timefold.solver.core.api.solver.phase with parameters of type ScoreDirectorModifier and TypeMethodDescriptionvoidPhaseCommand.changeWorkingSolution(ScoreDirector<Solution_> scoreDirector, BooleanSupplier isPhaseTerminated) Changesworking solutionofgetWorkingSolution(). -
Uses of ScoreDirector in ai.timefold.solver.core.impl.domain.solution.descriptor
Methods in ai.timefold.solver.core.impl.domain.solution.descriptor with parameters of type ScoreDirectorModifier and TypeMethodDescriptionbooleanSolutionDescriptor.hasMovableEntities(ScoreDirector<Solution_> scoreDirector) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.domain.variable.cascade
Methods in ai.timefold.solver.core.impl.domain.variable.cascade with parameters of type ScoreDirectorModifier and TypeMethodDescriptionbooleanCascadingUpdateShadowVariableDescriptor.update(ScoreDirector<Solution_> scoreDirector, Object entity) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.exhaustivesearch.node.bounder
Methods in ai.timefold.solver.core.impl.exhaustivesearch.node.bounder with parameters of type ScoreDirectorModifier and TypeMethodDescriptionScoreBounder.calculateOptimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) In OR terms, this is called the lower bound if they minimize, and upper bound if they maximize.TrendBasedScoreBounder.calculateOptimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) ScoreBounder.calculatePessimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) In OR terms, this is called the upper bound if they minimize, and lower bound if they maximize.TrendBasedScoreBounder.calculatePessimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.move
Methods in ai.timefold.solver.core.impl.heuristic.move with parameters of type ScoreDirectorModifier and TypeMethodDescriptionAbstractMove.createUndoMove(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.The solver automatically generates undo moves, this method is no longer used.Move.doMove(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.PreferMove.doMoveOnly(ScoreDirector)instead, undo moves no longer have any effect.protected abstract voidAbstractMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) LikeAbstractMove.doMoveOnly(ScoreDirector)but without thetriggerVariableListeners()call (becauseAbstractMove.doMoveOnly(ScoreDirector)already does that).protected abstract voidAbstractSimplifiedMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.protected abstract voidAbstractUndoMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.LikeAbstractUndoMove.doMoveOnly(ScoreDirector)but without thetriggerVariableListeners()call (becauseAbstractUndoMove.doMoveOnly(ScoreDirector)already does that).protected voidCompositeMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidNoChangeMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) final voidAbstractMove.doMoveOnly(ScoreDirector<Solution_> scoreDirector) final voidAbstractSimplifiedMove.doMoveOnly(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.final voidAbstractUndoMove.doMoveOnly(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.default voidMove.doMoveOnly(ScoreDirector<Solution_> scoreDirector) Does the move (which indirectly affects thegetWorkingSolution()).protected <Value_> ValueRange<Value_>AbstractMove.extractValueRangeFromEntity(ScoreDirector<Solution_> scoreDirector, ValueRangeDescriptor<Solution_> valueRangeDescriptor, Object entity) final booleanAbstractUndoMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.booleanCompositeMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) Called before a move is evaluated to decide whether the move can be done and evaluated.booleanNoChangeMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) CompositeMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) Move.rebase(ScoreDirector<Solution_> destinationScoreDirector) Rebases a move from an originScoreDirectorto another destinationScoreDirectorwhich is usually on anotherThreador JVM.NoChangeMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) static <E> List<E>AbstractMove.rebaseList(List<E> externalObjectList, ScoreDirector<?> destinationScoreDirector) static <E> Set<E>AbstractMove.rebaseSet(Set<E> externalObjectSet, ScoreDirector<?> destinationScoreDirector) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.common.decorator
Methods in ai.timefold.solver.core.impl.heuristic.selector.common.decorator with parameters of type ScoreDirectorModifier and TypeMethodDescriptionbooleanSelectionFilter.accept(ScoreDirector<Solution_> scoreDirector, T selection) doubleFairSelectorProbabilityWeightFactory.createProbabilityWeight(ScoreDirector<Solution_> scoreDirector, IterableSelector selector) doubleSelectionProbabilityWeightFactory.createProbabilityWeight(ScoreDirector<Solution_> scoreDirector, T selection) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.list
Methods in ai.timefold.solver.core.impl.heuristic.selector.list with parameters of type ScoreDirector -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.move.composite
Fields in ai.timefold.solver.core.impl.heuristic.selector.move.composite declared as ScoreDirectorModifier and TypeFieldDescriptionprotected ScoreDirector<Solution_>UnionMoveSelector.scoreDirector -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.move.factory
Fields in ai.timefold.solver.core.impl.heuristic.selector.move.factory declared as ScoreDirectorModifier and TypeFieldDescriptionprotected ScoreDirector<Solution_>MoveIteratorFactoryToMoveSelectorBridge.scoreDirectorMethods in ai.timefold.solver.core.impl.heuristic.selector.move.factory with parameters of type ScoreDirectorModifier and TypeMethodDescriptionMoveIteratorFactory.createOriginalMoveIterator(ScoreDirector<Solution_> scoreDirector) When it is called depends on the configuredSelectionCacheType.MoveIteratorFactory.createRandomMoveIterator(ScoreDirector<Solution_> scoreDirector, Random workingRandom) When it is called depends on the configuredSelectionCacheType.longMoveIteratorFactory.getSize(ScoreDirector<Solution_> scoreDirector) default voidMoveIteratorFactory.phaseEnded(ScoreDirector<Solution_> scoreDirector) Called when the phase (for example Local Search) ends, to clean up anything cached sinceMoveIteratorFactory.phaseStarted(ScoreDirector).default voidMoveIteratorFactory.phaseStarted(ScoreDirector<Solution_> scoreDirector) Called when the phase (for example Local Search) starts. -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.move.generic
Methods in ai.timefold.solver.core.impl.heuristic.selector.move.generic with parameters of type ScoreDirectorModifier and TypeMethodDescriptionprotected voidChangeMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidPillarChangeMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidPillarSwapMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidRuinRecreateMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidSwapMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) booleanChangeMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanPillarChangeMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanPillarSwapMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanRuinRecreateMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanSwapMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) ChangeMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) PillarChangeMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) PillarSwapMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) RuinRecreateMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) SwapMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.move.generic.chained
Methods in ai.timefold.solver.core.impl.heuristic.selector.move.generic.chained with parameters of type ScoreDirectorModifier and TypeMethodDescriptionprotected voidChainedChangeMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.protected voidChainedSwapMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.protected voidKOptMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.protected voidSubChainChangeMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.protected voidSubChainReversingChangeMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.protected voidSubChainReversingSwapMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.protected voidSubChainSwapMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.protected voidTailChainSwapMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.booleanChainedChangeMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.booleanKOptMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.booleanSubChainChangeMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.booleanSubChainReversingChangeMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.booleanSubChainReversingSwapMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.booleanSubChainSwapMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.booleanTailChainSwapMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.ChainedChangeMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.ChainedSwapMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.KOptMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.SubChainChangeMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.SubChainReversingChangeMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.SubChainReversingSwapMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.SubChainSwapMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.TailChainSwapMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) Deprecated, for removal: This API element is subject to removal in a future version. -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list
Methods in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list with parameters of type ScoreDirectorModifier and TypeMethodDescriptionprotected voidListAssignMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidListChangeMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidListSwapMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidListUnassignMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidSubListChangeMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidSubListSwapMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidSubListUnassignMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) booleanListAssignMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanListChangeMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanListSwapMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanListUnassignMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanSubListChangeMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanSubListSwapMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanSubListUnassignMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) ListAssignMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) ListChangeMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) ListSwapMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) ListUnassignMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) SubListChangeMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) SubListSwapMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) SubListUnassignMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list.kopt
Methods in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list.kopt with parameters of type ScoreDirectorModifier and TypeMethodDescriptionprotected voidKOptListMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) protected voidTwoOptListMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) booleanKOptListMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) booleanTwoOptListMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) KOptListMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) TwoOptListMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list.ruin
Methods in ai.timefold.solver.core.impl.heuristic.selector.move.generic.list.ruin with parameters of type ScoreDirectorModifier and TypeMethodDescriptionprotected voidListRuinRecreateMove.doMoveOnGenuineVariables(ScoreDirector<Solution_> scoreDirector) booleanListRuinRecreateMove.isMoveDoable(ScoreDirector<Solution_> scoreDirector) ListRuinRecreateMove.rebase(ScoreDirector<Solution_> destinationScoreDirector) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.value.chained
Methods in ai.timefold.solver.core.impl.heuristic.selector.value.chained with parameters of type ScoreDirector -
Uses of ScoreDirector in ai.timefold.solver.core.impl.heuristic.selector.value.decorator
Methods in ai.timefold.solver.core.impl.heuristic.selector.value.decorator with parameters of type ScoreDirectorModifier and TypeMethodDescriptionbooleanMovableChainedTrailingValueFilter.accept(ScoreDirector<Solution_> scoreDirector, Object value) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.move
Classes in ai.timefold.solver.core.impl.move that implement ScoreDirectorModifier and TypeClassDescriptionfinal classVariableChangeRecordingScoreDirector<Solution_,Score_ extends Score<Score_>> Constructors in ai.timefold.solver.core.impl.move with parameters of type ScoreDirectorModifierConstructorDescriptionVariableChangeRecordingScoreDirector(ScoreDirector<Solution_> backingScoreDirector) VariableChangeRecordingScoreDirector(ScoreDirector<Solution_> backingScoreDirector, boolean requiresIndexCache) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.partitionedsearch.partitioner
Methods in ai.timefold.solver.core.impl.partitionedsearch.partitioner with parameters of type ScoreDirectorModifier and TypeMethodDescriptionSolutionPartitioner.splitWorkingSolution(ScoreDirector<Solution_> scoreDirector, Integer runnablePartThreadLimit) Returns a list of partition clonedsolutionsfor which eachplanning entityis partition cloned into exactly 1 of those partitions. -
Uses of ScoreDirector in ai.timefold.solver.core.impl.phase.custom
Methods in ai.timefold.solver.core.impl.phase.custom with parameters of type ScoreDirectorModifier and TypeMethodDescriptionvoidCustomPhaseCommand.changeWorkingSolution(ScoreDirector<Solution_> scoreDirector) Deprecated, for removal: This API element is subject to removal in a future version.default voidCustomPhaseCommand.changeWorkingSolution(ScoreDirector<Solution_> scoreDirector, BooleanSupplier isPhaseTerminated) Deprecated, for removal: This API element is subject to removal in a future version. -
Uses of ScoreDirector in ai.timefold.solver.core.impl.score.director
Subinterfaces of ScoreDirector in ai.timefold.solver.core.impl.score.directorModifier and TypeInterfaceDescriptioninterfaceInnerScoreDirector<Solution_,Score_ extends Score<Score_>> interfaceRevertableScoreDirector<Solution_>interfaceVariableDescriptorAwareScoreDirector<Solution_>Classes in ai.timefold.solver.core.impl.score.director that implement ScoreDirectorModifier and TypeClassDescriptionclassAbstractScoreDirector<Solution_,Score_ extends Score<Score_>, Factory_ extends AbstractScoreDirectorFactory<Solution_, Score_, Factory_>> Abstract superclass forScoreDirector.Methods in ai.timefold.solver.core.impl.score.director with parameters of type ScoreDirectorModifier and TypeMethodDescriptionvoidAbstractScoreDirectorFactory.validateEntity(ScoreDirector<Solution_> scoreDirector, Object entity) -
Uses of ScoreDirector in ai.timefold.solver.core.impl.score.director.easy
Classes in ai.timefold.solver.core.impl.score.director.easy that implement ScoreDirectorModifier and TypeClassDescriptionfinal classEasyScoreDirector<Solution_,Score_ extends Score<Score_>> Easy java implementation ofScoreDirector, which recalculates theScoreof theworking solutionevery time. -
Uses of ScoreDirector in ai.timefold.solver.core.impl.score.director.incremental
Classes in ai.timefold.solver.core.impl.score.director.incremental that implement ScoreDirectorModifier and TypeClassDescriptionfinal classIncrementalScoreDirector<Solution_,Score_ extends Score<Score_>> Incremental java implementation ofScoreDirector, which only recalculates theScoreof the part of theworking solutionthat changed, instead of the going through the entirePlanningSolution. -
Uses of ScoreDirector in ai.timefold.solver.core.impl.score.director.stream
Classes in ai.timefold.solver.core.impl.score.director.stream that implement ScoreDirectorModifier and TypeClassDescriptionfinal classBavetConstraintStreamScoreDirector<Solution_,Score_ extends Score<Score_>> FP streams implementation ofScoreDirector, which only recalculates theScoreof the part of theworking solutionthat changed, instead of the going through the entirePlanningSolution.