Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkAmoebaOptimizer Class Reference

mitkAmoebaOptimizer - a concrete class for implementation of the Nelder-Meade downhill simplex algorithm More...

#include <mitkAmoebaOptimizer.h>

Inherits mitkOptimizer.

Inheritance diagram for mitkAmoebaOptimizer:

Inheritance graph
Collaboration diagram for mitkAmoebaOptimizer:

Collaboration graph
List of all members.

Public Member Functions

virtual void PrintSelf (ostream &os)
 mitkAmoebaOptimizer ()
ScalarParameterType GetValue (const VectorParameterType &p)
void SetParametersConvergenceTolerance (ScalarParameterType tol)
void SetFunctionConvergenceTolerance (ScalarParameterType tol)
void SetAutomaticInitialSimplexFlag (bool flag)
void SetInitialSimplexDelta (ScalarParameterType *delta, int dim)
VectorParameterType & GetInitialSimplexDelta ()

Detailed Description

mitkAmoebaOptimizer - a concrete class for implementation of the Nelder-Meade downhill simplex algorithm

mitkAmoebaOptimizer - a concrete class for implementation of the Nelder-Meade downhill simplex algorithm. It works by creating a simplex (n+1 points in n-D space) which then crawls about the space searching for the solution.

By default the set of (n+1) starting points are generated by applying a scaling (relative_diameter) to each element of the supplied starting vector, with a small offset used instead if the value is zero.

Alternatively, if one uses minimize(x,dx), then the starting points are obtained by adding each dx[i] to the elements of x, one at a time. This is useful if you know roughly the scale of your space.

Constructor & Destructor Documentation

mitkAmoebaOptimizer::mitkAmoebaOptimizer  ) 


Member Function Documentation

VectorParameterType& mitkAmoebaOptimizer::GetInitialSimplexDelta  ) 

Get the pointer to the vector of initialized simplex data.

The pointer to initialized simplex vector.

ScalarParameterType mitkAmoebaOptimizer::GetValue const VectorParameterType &  p  ) 

Get the cost function value at the given parameters.

p The given transform parameters.
The cost function value.

virtual void mitkAmoebaOptimizer::PrintSelf ostream &  os  )  [virtual]

Print the necessary information about this object for the debugging purpose.

os The specified ostream to output information.

Reimplemented from mitkOptimizer.

void mitkAmoebaOptimizer::SetAutomaticInitialSimplexFlag bool  flag  )  [inline]

Set the mode which determines how the amoeba algorithm defines the initial simplex. Default is on.

flag Automatically initialize simplex if flag is true.

void mitkAmoebaOptimizer::SetFunctionConvergenceTolerance ScalarParameterType  tol  )  [inline]

Set the cost function convergence threshold.

tol The function convergence value.

void mitkAmoebaOptimizer::SetInitialSimplexDelta ScalarParameterType *  delta,
int  dim

Define the initial simplex, setting the ith corner of the simplex as [x0[0], x0[1], ..., x0[i]+InitialSimplexDelta[i], ...,* x0[d-1]].

delta An array carried initialized simplex data.
dim Parameter space dimensions.

void mitkAmoebaOptimizer::SetParametersConvergenceTolerance ScalarParameterType  tol  )  [inline]

Set the simplex diameter threshold value, which will terminate optimization algorithm when the simplex diameter and the difference in cost function at the corners of the simplex falls below user specified thresholds.

tol The simplex convergence tolerance value.

The documentation for this class was generated from the following file:
Generated on Tue Feb 25 15:00:54 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3