Class MixedVariableExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
java.lang.Object
ai.timefold.solver.core.impl.exhaustivesearch.decider.AbstractExhaustiveSearchDecider<Solution_,Score_>
ai.timefold.solver.core.impl.exhaustivesearch.decider.MixedVariableExhaustiveSearchDecider<Solution_,Score_>
- Type Parameters:
Solution_- the solution typeScore_- the score type
- All Implemented Interfaces:
ExhaustiveSearchPhaseLifecycleListener<Solution_>,SolverLifecycleListener<Solution_>,EventListener
public final class MixedVariableExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
extends AbstractExhaustiveSearchDecider<Solution_,Score_>
Decider for mixed models depends on the basic and lists variable deciders.
The optimization process begins by solving the basic variables before moving on to the list variables.
The process optimizes each variable separately and stops when the list variable optimization is complete.
-
Field Summary
Fields inherited from class ai.timefold.solver.core.impl.exhaustivesearch.decider.AbstractExhaustiveSearchDecider
acceptUninitializedSolutions, bestSolutionRecaller, manualEntityMimicRecorder, scoreBounderEnabled, sourceEntitySelector -
Constructor Summary
ConstructorsConstructorDescriptionMixedVariableExhaustiveSearchDecider(AbstractExhaustiveSearchDecider<Solution_, ? extends Score<?>> basicVariableDecider, AbstractExhaustiveSearchDecider<Solution_, ? extends Score<?>> listVariableDecider) -
Method Summary
Modifier and TypeMethodDescriptionvoidexpandNode(ExhaustiveSearchStepScope<Solution_> stepScope) protected voidfillLayerList(ExhaustiveSearchPhaseScope<Solution_> phaseScope) protected voidinitStartNode(ExhaustiveSearchPhaseScope<Solution_> phaseScope, ExhaustiveSearchLayer layer) booleanisEntityReinitializable(Object entity) booleanisSolutionComplete(ExhaustiveSearchNode<Solution_> expandingNode) voidphaseEnded(ExhaustiveSearchPhaseScope<Solution_> phaseScope) voidphaseStarted(ExhaustiveSearchPhaseScope<Solution_> phaseScope) voidrestoreWorkingSolution(ExhaustiveSearchStepScope<Solution_> stepScope, boolean assertWorkingSolutionScoreFromScratch, boolean assertExpectedWorkingSolutionScore) voidsolvingEnded(SolverScope<Solution_> solverScope) voidsolvingStarted(SolverScope<Solution_> solverScope) voidstepEnded(ExhaustiveSearchStepScope<Solution_> stepScope) voidstepStarted(ExhaustiveSearchStepScope<Solution_> stepScope) Methods inherited from class ai.timefold.solver.core.impl.exhaustivesearch.decider.AbstractExhaustiveSearchDecider
doMove, enableAcceptUninitializedSolutions, expandNode, getScoreBounder, setAssertExpectedUndoMoveScore, setAssertMoveScoreFromScratchMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ai.timefold.solver.core.impl.solver.event.SolverLifecycleListener
solvingError
-
Constructor Details
-
MixedVariableExhaustiveSearchDecider
public MixedVariableExhaustiveSearchDecider(AbstractExhaustiveSearchDecider<Solution_, ? extends Score<?>> basicVariableDecider, AbstractExhaustiveSearchDecider<Solution_, ? extends Score<?>> listVariableDecider)
-
-
Method Details
-
expandNode
- Specified by:
expandNodein classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
isSolutionComplete
- Specified by:
isSolutionCompletein classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
restoreWorkingSolution
public void restoreWorkingSolution(ExhaustiveSearchStepScope<Solution_> stepScope, boolean assertWorkingSolutionScoreFromScratch, boolean assertExpectedWorkingSolutionScore) - Specified by:
restoreWorkingSolutionin classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
isEntityReinitializable
- Specified by:
isEntityReinitializablein classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
fillLayerList
- Overrides:
fillLayerListin classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
initStartNode
protected void initStartNode(ExhaustiveSearchPhaseScope<Solution_> phaseScope, ExhaustiveSearchLayer layer) - Overrides:
initStartNodein classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
solvingStarted
- Specified by:
solvingStartedin interfaceSolverLifecycleListener<Solution_>- Overrides:
solvingStartedin classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
solvingEnded
- Specified by:
solvingEndedin interfaceSolverLifecycleListener<Solution_>- Overrides:
solvingEndedin classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
phaseStarted
- Specified by:
phaseStartedin interfaceExhaustiveSearchPhaseLifecycleListener<Solution_>- Overrides:
phaseStartedin classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
phaseEnded
- Specified by:
phaseEndedin interfaceExhaustiveSearchPhaseLifecycleListener<Solution_>- Overrides:
phaseEndedin classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
stepStarted
- Specified by:
stepStartedin interfaceExhaustiveSearchPhaseLifecycleListener<Solution_>- Overrides:
stepStartedin classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-
stepEnded
- Specified by:
stepEndedin interfaceExhaustiveSearchPhaseLifecycleListener<Solution_>- Overrides:
stepEndedin classAbstractExhaustiveSearchDecider<Solution_,Score_ extends Score<Score_>>
-