Enum Class LineSearch.LineSearchResult

java.lang.Object
java.lang.Enum<LineSearch.LineSearchResult>
ffx.numerics.optimization.LineSearch.LineSearchResult
All Implemented Interfaces:
Serializable, Comparable<LineSearch.LineSearchResult>, Constable
Enclosing class:
LineSearch

public static enum LineSearch.LineSearchResult extends Enum<LineSearch.LineSearchResult>
Enum representing the possible outcomes of a line search operation.

These status codes provide information about how the line search terminated, which can be useful for diagnosing optimization issues or understanding the behavior of the algorithm.

  • Enum Constant Details

    • Success

      public static final LineSearch.LineSearchResult Success
      Successful line search.

      The algorithm found a point with sufficient decrease in function value and a small enough gradient projection along the search direction.

    • WideAngle

      public static final LineSearch.LineSearchResult WideAngle
      Angle between gradient and search direction is too wide.

      The search direction makes an angle with the negative gradient that exceeds DEFAULT_ANGLEMAX (180 degrees). This usually indicates a problem with the search direction calculation in the optimization algorithm.

    • ScaleStep

      public static final LineSearch.LineSearchResult ScaleStep
      Step size was scaled down.

      The initial step resulted in a gradient change that was too large (exceeding DEFAULT_SLOPEMAX), so the step size was reduced to ensure more stable convergence.

    • IntplnErr

      public static final LineSearch.LineSearchResult IntplnErr
      Interpolation error occurred.

      An error occurred during cubic interpolation, such as a negative discriminant or an invalid step size. The algorithm falls back to using the best point found.

    • ReSearch

      public static final LineSearch.LineSearchResult ReSearch
      Search was restarted.

      The line search was restarted with a smaller step size after interpolation failed to find a better point. This is an intermediate status that may lead to eventual success or failure.

    • BadIntpln

      public static final LineSearch.LineSearchResult BadIntpln
      Bad interpolation result.

      Interpolation failed repeatedly, even after restarting the search. This typically indicates a difficult optimization landscape or numerical issues.

  • Method Details

    • values

      public static LineSearch.LineSearchResult[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static LineSearch.LineSearchResult valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null