Class OrCompositeTermination
- java.lang.Object
-
- org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter<Solution_>
-
- org.optaplanner.core.impl.phase.event.PhaseLifecycleListenerAdapter
-
- org.optaplanner.core.impl.solver.termination.AbstractTermination
-
- org.optaplanner.core.impl.solver.termination.AbstractCompositeTermination
-
- org.optaplanner.core.impl.solver.termination.OrCompositeTermination
-
- All Implemented Interfaces:
EventListener
,PhaseLifecycleListener
,SolverLifecycleListener
,Termination
public class OrCompositeTermination extends AbstractCompositeTermination
-
-
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> terminationList)
OrCompositeTermination(Termination... terminations)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
calculatePhaseTimeGradient(AbstractPhaseScope phaseScope)
Calculates the maximum timeGradient of all Terminations.double
calculateSolverTimeGradient(DefaultSolverScope solverScope)
Calculates the maximum timeGradient of all Terminations.OrCompositeTermination
createChildThreadTermination(DefaultSolverScope solverScope, ChildThreadType childThreadType)
boolean
isPhaseTerminated(AbstractPhaseScope phaseScope)
Called by thePhase
after every step and every move to determine if the search should stop.boolean
isSolverTerminated(DefaultSolverScope 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
-
-
-
-
Constructor Detail
-
OrCompositeTermination
public OrCompositeTermination(List<Termination> terminationList)
-
OrCompositeTermination
public OrCompositeTermination(Termination... terminations)
-
-
Method Detail
-
isSolverTerminated
public boolean isSolverTerminated(DefaultSolverScope 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 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(DefaultSolverScope 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 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 createChildThreadTermination(DefaultSolverScope solverScope, ChildThreadType childThreadType)
Description copied from interface:Termination
- Specified by:
createChildThreadTermination
in interfaceTermination
- Overrides:
createChildThreadTermination
in classAbstractTermination
- Parameters:
solverScope
- never nullchildThreadType
- never null- Returns:
- not null
-
-