proj home

Files   Classes   Functions   Hierarchy  

minexpdim< X > Class Template Reference

Exploratory search minimization algorithm. More...

#include <minexpdim.h>

Inheritance diagram for minexpdim< X >:
Collaboration diagram for minexpdim< X >:

List of all members.

Public Member Functions

boolc operator! () const
 Use this object as an iterator.
virtual void reset ()
 Set the current position as the new minimum.
virtual void operator++ ()
 0th order approximator to minimum.
 minexpdim (funcstate< X > &fn_, X const h0step=20.0, uintc indexmax_=500, boolc mem_=true)
 Allocate the fn with new.
virtual ~minexpdim ()
 Cleanup.
boolc minmove ()
 Update the new state if successful.
boolc exploredimension (uintc i)
 Update the new state if successful.
boolc moveOrder1 ()
 First order approxmation with N moves.
boolc moveOrder1 (uintc maxloop)
 Move until a successful minimization.
himax ()
 Maximum hi[i]^2.
himaxtol ()
 Maximum tollerance abs(hi[i]).
void h0set (X h)
void hiset (X h)

Public Attributes

funcstate< X > * fn
 Function being minimized.
X * hi
 The step sizes.
X * h0
 N dimensional array of initial step sizes.
X * xi
 From fn.
fmin
 The minimum.
bool mem
 Is the memory managed?
uint index
 Local index.
bool valid
 Associated with ++ operator and reset().
bool hasminimized
 Set to true when there is a change in state with ++ opertion.
uint indexmax
 Each index has a counter, if during iteration this is exceeded valid is set to false.
bool magnitude_increase
 To increase algorithm stability at cost increase hi[i] on successive search.


Detailed Description

template<typename X>
class minexpdim< X >

Exploratory search minimization algorithm.

Does not use derivatives. Simplist and likely expensive minimization algorithm.

Definition at line 18 of file minexpdim.h.


Constructor & Destructor Documentation

template<typename X>
minexpdim< X >::minexpdim ( funcstate< X > &  fn_,
X const   h0step = 20.0,
uintc  indexmax_ = 500,
boolc  mem_ = true 
)

Allocate the fn with new.

template<typename X>
virtual minexpdim< X >::~minexpdim (  )  [virtual]

Cleanup.


Member Function Documentation

template<typename X>
boolc minexpdim< X >::exploredimension ( uintc  i  ) 

Update the new state if successful.

Referenced by minexpdim< X >::operator++().

template<typename X>
void minexpdim< X >::h0set ( h  ) 

template<typename X>
X minexpdim< X >::himax (  ) 

Maximum hi[i]^2.

Referenced by minexpdimtest::test01().

template<typename X>
X minexpdim< X >::himaxtol (  ) 

Maximum tollerance abs(hi[i]).

template<typename X>
void minexpdim< X >::hiset ( h  ) 

template<typename X>
boolc minexpdim< X >::minmove (  ) 

Update the new state if successful.

Referenced by minexpdim< X >::exploredimension().

template<typename X>
boolc minexpdim< X >::moveOrder1 ( uintc  maxloop  ) 

Move until a successful minimization.

template<typename X>
boolc minexpdim< X >::moveOrder1 (  ) 

First order approxmation with N moves.

Referenced by minexpdim< X >::moveOrder1(), and minexpdimtest::test02().

template<typename X>
boolc minexpdim< X >::operator! (  )  const [inline]

Use this object as an iterator.

Definition at line 53 of file minexpdim.h.

00054     { return valid; }

template<typename X>
virtual void minexpdim< X >::operator++ (  )  [virtual]

0th order approximator to minimum.

Reimplemented in minexpdimN< X >, minpatternsearch< X >, and minpatternsearchorder2< X >.

Referenced by minexpdim< X >::moveOrder1().

template<typename X>
virtual void minexpdim< X >::reset (  )  [virtual]

Set the current position as the new minimum.

Reimplemented in minpatternsearch< X >, and minpatternsearchorder2< X >.

Referenced by minexpdimtest::test01(), and minexpdimtest::test02().


Member Data Documentation

template<typename X>
X minexpdim< X >::fmin

The minimum.

Definition at line 32 of file minexpdim.h.

Referenced by minexpdim< X >::exploredimension(), minexpdim< X >::minmove(), and minexpdim< X >::reset().

template<typename X>
funcstate<X>* minexpdim< X >::fn

template<typename X>
X* minexpdim< X >::h0

N dimensional array of initial step sizes.

Definition at line 28 of file minexpdim.h.

Referenced by minexpdim< X >::h0set(), minexpdim< X >::reset(), and minexpdim< X >::~minexpdim().

template<typename X>
bool minexpdim< X >::hasminimized

Set to true when there is a change in state with ++ opertion.

Definition at line 46 of file minexpdim.h.

Referenced by minexpdim< X >::exploredimension(), minexpdim< X >::minmove(), minexpdim< X >::moveOrder1(), and minexpdim< X >::reset().

template<typename X>
X* minexpdim< X >::hi

template<typename X>
uint minexpdim< X >::index

Local index.

Definition at line 42 of file minexpdim.h.

Referenced by minexpdim< X >::operator++(), and minexpdim< X >::reset().

template<typename X>
uint minexpdim< X >::indexmax

Each index has a counter, if during iteration this is exceeded valid is set to false.

Definition at line 50 of file minexpdim.h.

Referenced by minexpdim< X >::operator++().

template<typename X>
bool minexpdim< X >::magnitude_increase

To increase algorithm stability at cost increase hi[i] on successive search.

Definition at line 85 of file minexpdim.h.

Referenced by minexpdim< X >::exploredimension(), and minexpdimtest::test01().

template<typename X>
bool minexpdim< X >::mem

Is the memory managed?

Definition at line 40 of file minexpdim.h.

Referenced by minexpdim< X >::~minexpdim().

template<typename X>
bool minexpdim< X >::valid

Associated with ++ operator and reset().

Definition at line 44 of file minexpdim.h.

Referenced by minexpdim< X >::operator!(), minexpdim< X >::operator++(), and minexpdim< X >::reset().

template<typename X>
X* minexpdim< X >::xi


The documentation for this class was generated from the following file:

Generated on Fri Mar 4 00:50:06 2011 for Chelton Evans Source by  doxygen 1.5.8