Class OrCompositeTermination<Solution_>

All Implemented Interfaces:
EventListener, PhaseLifecycleListener<Solution_>, SolverLifecycleListener<Solution_>, Termination<Solution_>

public class OrCompositeTermination<Solution_> extends AbstractCompositeTermination<Solution_>
  • Constructor Details

  • Method Details

    • isSolverTerminated

      public boolean isSolverTerminated(SolverScope<Solution_> solverScope)
      Description copied from interface: Termination
      Called by the Solver 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 the Phase 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
      Create a Termination for a child Thread of the Solver.
      Specified by:
      createChildThreadTermination in interface Termination<Solution_>
      Overrides:
      createChildThreadTermination in class AbstractTermination<Solution_>
      Parameters:
      solverScope - never null
      childThreadType - never null
      Returns:
      not null
    • toString

      public String toString()
      Overrides:
      toString in class Object