QMCMikesBracketingStepLengthSelector Class Reference

Algorithm to determine the step length for a line search optimization developed by Michael Todd Feldmann. More...

#include <QMCMikesBracketingStepLengthSelector.h>

Inheritance diagram for QMCMikesBracketingStepLengthSelector:

QMCLineSearchStepLengthSelectionAlgorithm

List of all members.

Public Member Functions

double stepLength (QMCObjectiveFunction *function, Array1D< double > &position, Array1D< double > &searchDirection, Array1D< double > &gradient, Array2D< double > &unused, double functionValue)
 Calculates the step length to use when performing a line search optimization.

Private Member Functions

void bracket (QMCObjectiveFunction *OF, Array1D< double > &position, Array1D< double > &searchDirection, double alpha_zero, double scale, int recursion_depth)
void quadratic_rebracketer (QMCObjectiveFunction *OF, Array1D< double > &position, Array1D< double > &searchDirection)
void print_interval ()

Private Attributes

double alpha_left
double alpha_middle
double alpha_right
double score_left
double score_middle
double score_right


Detailed Description

Algorithm to determine the step length for a line search optimization developed by Michael Todd Feldmann.

This algorithm is purely huristic and does not insure the Wolfe conditions or other such properties. Again, much work could be done to do this part of a line search better.

Definition at line 30 of file QMCMikesBracketingStepLengthSelector.h.


Member Function Documentation

double QMCMikesBracketingStepLengthSelector::stepLength ( QMCObjectiveFunction function,
Array1D< double > &  array1,
Array1D< double > &  array2,
Array1D< double > &  array3,
Array2D< double > &  matrix1,
double  scalar1 
) [virtual]

Calculates the step length to use when performing a line search optimization.

You will have to look at the individual algorithms to see how the input parameters are defined.

Implements QMCLineSearchStepLengthSelectionAlgorithm.

Definition at line 15 of file QMCMikesBracketingStepLengthSelector.cpp.

References alpha_middle, bracket(), print_interval(), and quadratic_rebracketer().

void QMCMikesBracketingStepLengthSelector::bracket ( QMCObjectiveFunction OF,
Array1D< double > &  position,
Array1D< double > &  searchDirection,
double  alpha_zero,
double  scale,
int  recursion_depth 
) [private]

void QMCMikesBracketingStepLengthSelector::quadratic_rebracketer ( QMCObjectiveFunction OF,
Array1D< double > &  position,
Array1D< double > &  searchDirection 
) [private]

void QMCMikesBracketingStepLengthSelector::print_interval (  )  [private]


Member Data Documentation


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

Generated on Sat Jul 5 16:14:05 2008 for QMcBeaver by  doxygen 1.5.6