Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jstacs.algorithms.optimization.termination
Class SmallStepCondition

    java.lang.Object
      de.jstacs.algorithms.optimization.termination.AbstractTerminationCondition
          de.jstacs.algorithms.optimization.termination.SmallStepCondition

All Implemented Interfaces:
  TerminationCondition, InstantiableFromParameterSet, Storable, Cloneable

    public class SmallStepCondition

extends AbstractTerminationCondition

This class implements a `TerminationCondition` that allows no further iteration in an optimization if the scalar product of the current and the last values of `x` will be small, i.e., .

Author:
  Jens Keilwagen

Nested Class Summary
`static class` | `SmallStepCondition.SmallStepConditionParameterSet` This class implements the parameter set for a `SmallStepCondition`.

Nested classes/interfaces inherited from class de.jstacs.algorithms.optimization.termination.AbstractTerminationCondition
`AbstractTerminationCondition.AbstractTerminationConditionParameterSet`

Field Summary

Fields inherited from class de.jstacs.algorithms.optimization.termination.AbstractTerminationCondition
`parameter`

Constructor Summary
`SmallStepCondition(double epsilon)` This constructor creates an instance that allows no further iteration in an optimization if the scalar product of the current and the last values of `x` is smaller than `epsilon`.
`SmallStepCondition(SmallStepCondition.SmallStepConditionParameterSet parameter)` This is the main constructor creating an instance from a given parameter set.
`SmallStepCondition(StringBuffer xml)` The standard constructor for the interface `Storable`.

Method Summary
`boolean` | `doNextIteration(int iteration, double f_last, double f_current, double[] gradient, double[] direction, double alpha, Time t)` This method allows to decide whether to do another iteration in an optimization or not.
`protected String` | `getXmlTag()` This method returns the xml tag that is used in the method `AbstractTerminationCondition.toXML()` and in the constructor `AbstractTerminationCondition.AbstractTerminationCondition(StringBuffer)`.
`boolean` | `isSimple()` This method returns `false` if the `TerminationCondition` uses either the gradient or the direction for the decision, otherwise it returns `true`.
`protected void` | `set()` This method sets internal member variables from `AbstractTerminationCondition.parameter`.

Methods inherited from class de.jstacs.algorithms.optimization.termination.AbstractTerminationCondition
`clone, getCurrentParameterSet, toXML`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SmallStepCondition

    public SmallStepCondition(double epsilon)
                       throws Exception

  This constructor creates an instance that allows no further iteration in an optimization if the scalar product of the current and the last values of `x` is smaller than `epsilon`.

  Parameters:
    `epsilon` - the threshold for stopping, has to be non-negative
  Throws:
    `Exception` - if the parameter can not be set properly

### SmallStepCondition

    public SmallStepCondition(SmallStepCondition.SmallStepConditionParameterSet parameter)
                       throws CloneNotSupportedException

  This is the main constructor creating an instance from a given parameter set.

  Parameters:
    `parameter` - the set of parameters
  Throws:
    `CloneNotSupportedException` - if `parameter` can not be cloned properly.

### SmallStepCondition

    public SmallStepCondition(StringBuffer xml)
                       throws NonParsableException

  The standard constructor for the interface `Storable`. Constructs a `TimeCondition` out of an XML representation.

  Parameters:
    `xml` - the XML representation as `StringBuffer`
  Throws:
    `NonParsableException` - if the `SmallStepCondition` could not be reconstructed out of the `StringBuffer` `xml`

Method Detail

### set

    protected void set()

  Description copied from class: `AbstractTerminationCondition`
  This method sets internal member variables from `AbstractTerminationCondition.parameter`. It is used in the constructors.

  Specified by:
    `set` in class `AbstractTerminationCondition`

### getXmlTag

    protected String getXmlTag()

  Description copied from class: `AbstractTerminationCondition`
  This method returns the xml tag that is used in the method `AbstractTerminationCondition.toXML()` and in the constructor `AbstractTerminationCondition.AbstractTerminationCondition(StringBuffer)`.

  Specified by:
    `getXmlTag` in class `AbstractTerminationCondition`
  Returns:
    the xml tag of the instance

### doNextIteration

    public boolean doNextIteration(int iteration,
                                   double f_last,
                                   double f_current,
                                   double[] gradient,
                                   double[] direction,
                                   double alpha,
                                   Time t)

  Description copied from interface: `TerminationCondition`
  This method allows to decide whether to do another iteration in an optimization or not. If it returns `true` it is recommended to do another iteration, otherwise (the method returns `false` and) it is recommended to stop the algorithm.

  Parameters:
    `iteration` - the number of performed iterations
    `f_last` - last value of the function
    `f_current` - current value of the function
    `gradient` - the gradient of the function
    `direction` - the last direction of the optimization
    `alpha` - the last step size
    `t` - a time object measuring the time that has been elapsed in the optimization
  Returns:
    `true` if another iteration should be done

### isSimple

    public boolean isSimple()

  Description copied from interface: `TerminationCondition`
  This method returns `false` if the `TerminationCondition` uses either the gradient or the direction for the decision, otherwise it returns `true`.

  Returns:
    `false` for gradient or direction based `TerminationCondition`s

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD