Class TargetObjectiveTermination

java.lang.Object
org.moeaframework.core.termination.TargetObjectiveTermination
All Implemented Interfaces:
TerminationCondition

public class TargetObjectiveTermination extends Object implements TerminationCondition
Terminates a run when at least one solution in the result is equal to or within some allowed difference (epsilon) from a target solution.
  • Constructor Details

    • TargetObjectiveTermination

      public TargetObjectiveTermination(double[] target)
      Constructs a new termination condition using distance to target objective values.
      Parameters:
      target - the target objective values
    • TargetObjectiveTermination

      public TargetObjectiveTermination(double[] target, double epsilon)
      Constructs a new termination condition using distance to target objective values.
      Parameters:
      target - the target objective values
      epsilon - the allowed error
    • TargetObjectiveTermination

      public TargetObjectiveTermination(Solution target)
      Constructs a new termination condition using distance to a target solution.
      Parameters:
      target - the target solution
    • TargetObjectiveTermination

      public TargetObjectiveTermination(Solution target, double epsilon)
      Constructs a new termination condition using distance to a target solution.
      Parameters:
      target - the target solution
      epsilon - the allowed error
  • Method Details

    • initialize

      public void initialize(Algorithm algorithm)
      Description copied from interface: TerminationCondition
      Invoked when the algorithm is created to collect any initial conditions. Note that the algorithm may not have been initialized at this point.
      Specified by:
      initialize in interface TerminationCondition
      Parameters:
      algorithm - the algorithm
    • shouldTerminate

      public boolean shouldTerminate(Algorithm algorithm)
      Description copied from interface: TerminationCondition
      Invoked after every step to check if the algorithm should terminate.
      Specified by:
      shouldTerminate in interface TerminationCondition
      Parameters:
      algorithm - the algorithm
      Returns:
      true if the algorithm should terminate; false otherwise