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_>
public class OrCompositeTermination<Solution_> extends AbstractCompositeTermination<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
Constructors Constructor Description OrCompositeTermination(List<Termination<Solution_>> terminationList)
OrCompositeTermination(Termination<Solution_>... terminations)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
calculatePhaseTimeGradient(AbstractPhaseScope<Solution_> phaseScope)
Calculates the maximum timeGradient of all Terminations.double
calculateSolverTimeGradient(SolverScope<Solution_> solverScope)
Calculates the maximum timeGradient of all Terminations.OrCompositeTermination<Solution_>
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.String
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 Detail
-
OrCompositeTermination
public OrCompositeTermination(List<Termination<Solution_>> terminationList)
-
OrCompositeTermination
public OrCompositeTermination(Termination<Solution_>... terminations)
-
-
Method Detail
-
isSolverTerminated
public boolean isSolverTerminated(SolverScope<Solution_> solverScope)
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
public boolean isPhaseTerminated(AbstractPhaseScope<Solution_> phaseScope)
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
public double calculateSolverTimeGradient(SolverScope<Solution_> solverScope)
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
public double calculatePhaseTimeGradient(AbstractPhaseScope<Solution_> phaseScope)
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
-
-