org.omegahat.Numerics.Optimizers
Interface LineSearch

All Known Implementing Classes:
LineSearchBasic

public interface LineSearch

An interface for algorithms that implement a search for the optimum value of a function along a specified direction.

The function depends on a ParameterSet vector of parameters. However, this is a one-dimensional search, and so the structure is similar but not identical to OptimizerAlgorithm. The refine method, in particular, has a different argument list.


Field Summary
static int CONTINUE
          Constants to interpret the state of the search.
static int EXCEPTION
           
static int SUCCESSFUL
           
static int TOO_LARGE
           
static int TOO_MANY
           
static int TOO_NARROW
           
static int TOO_SMALL
           
 
Method Summary
 boolean continueIteration(LineStep step)
          Tests whether the search should continue.
 int getState()
          Return the internal state (one of the values defined in this interface).
 LineStep initialize(ModelPointNumericInt theta, NumericArray p, double step)
          set (or reset) all internal parameters to their initial values, for a search along direction p, and return a LineStep object representing the initial proposed step.
 LineStep refineStep(LineStep step)
          Refines the step in the search.
 int setState(int state)
           
 

Field Detail

CONTINUE

public static final int CONTINUE
Constants to interpret the state of the search.

SUCCESSFUL

public static final int SUCCESSFUL

TOO_SMALL

public static final int TOO_SMALL

TOO_LARGE

public static final int TOO_LARGE

TOO_MANY

public static final int TOO_MANY

TOO_NARROW

public static final int TOO_NARROW

EXCEPTION

public static final int EXCEPTION
Method Detail

getState

public int getState()
Return the internal state (one of the values defined in this interface).

setState

public int setState(int state)

initialize

public LineStep initialize(ModelPointNumericInt theta,
                           NumericArray p,
                           double step)
set (or reset) all internal parameters to their initial values, for a search along direction p, and return a LineStep object representing the initial proposed step.

The initial suggested step length is step, unless this is NaN.


refineStep

public LineStep refineStep(LineStep step)
Refines the step in the search. Usually this is expected to set a new step length in step and return the reference.

continueIteration

public boolean continueIteration(LineStep step)
Tests whether the search should continue. If not, sets the internal state to a non-zero value, e.g., SUCCESSFUL in case of numeric convergence by the criterion of the search, or any of a number of states indicating failure.