Class OrCompositeTermination<Solution_>
java.lang.Object
org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter<Solution_>
org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter<Solution_>
org.optaplanner.core.impl.solver.termination.AbstractTermination<Solution_>
org.optaplanner.core.impl.solver.termination.AbstractCompositeTermination<Solution_>
org.optaplanner.core.impl.solver.termination.OrCompositeTermination<Solution_>
- All Implemented Interfaces:
EventListener
,PhaseLifecycleListener<Solution_>
,SolverLifecycleListener<Solution_>
,Termination<Solution_>
-
Field Summary
Fields inherited from class org.optaplanner.core.impl.solver.termination.AbstractCompositeTermination
terminationList
Fields inherited from class org.optaplanner.core.impl.solver.termination.AbstractTermination
logger
-
Constructor Summary
ConstructorDescriptionOrCompositeTermination
(List<Termination<Solution_>> terminationList) OrCompositeTermination
(Termination<Solution_>... terminations) -
Method Summary
Modifier and TypeMethodDescriptiondouble
calculatePhaseTimeGradient
(AbstractPhaseScope<Solution_> phaseScope) Calculates the maximum timeGradient of all Terminations.double
calculateSolverTimeGradient
(SolverScope<Solution_> solverScope) Calculates the maximum timeGradient of all Terminations.createChildThreadTermination
(SolverScope<Solution_> solverScope, ChildThreadType childThreadType) boolean
isPhaseTerminated
(AbstractPhaseScope<Solution_> phaseScope) Called by thePhase
after every step and every move to determine if the search should stop.boolean
isSolverTerminated
(SolverScope<Solution_> solverScope) Called by theSolver
after every phase to determine if the search should stop.toString()
Methods inherited from class org.optaplanner.core.impl.solver.termination.AbstractCompositeTermination
createChildThreadTerminationList, phaseEnded, phaseStarted, solvingEnded, solvingStarted, stepEnded, stepStarted
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener
solvingError
-
Constructor Details
-
OrCompositeTermination
-
OrCompositeTermination
-
-
Method Details
-
isSolverTerminated
Description copied from interface:Termination
Called by theSolver
after every phase to determine if the search should stop.- Parameters:
solverScope
- never null- Returns:
- true if any of the Termination is terminated.
-
isPhaseTerminated
Description copied from interface:Termination
Called by thePhase
after every step and every move to determine if the search should stop.- Parameters:
phaseScope
- never null- Returns:
- true if any of the Termination is terminated.
-
calculateSolverTimeGradient
Calculates the maximum timeGradient of all Terminations. Not supported timeGradients (-1.0) are ignored.- Parameters:
solverScope
- never null- Returns:
- the maximum timeGradient of the Terminations.
-
calculatePhaseTimeGradient
Calculates the maximum timeGradient of all Terminations. Not supported timeGradients (-1.0) are ignored.- Parameters:
phaseScope
- never null- Returns:
- the maximum timeGradient of the Terminations.
-
createChildThreadTermination
public OrCompositeTermination<Solution_> createChildThreadTermination(SolverScope<Solution_> solverScope, ChildThreadType childThreadType) Description copied from interface:Termination
- Specified by:
createChildThreadTermination
in interfaceTermination<Solution_>
- Overrides:
createChildThreadTermination
in classAbstractTermination<Solution_>
- Parameters:
solverScope
- never nullchildThreadType
- never null- Returns:
- not null
-
toString
-