itpp::Newton_Search Class Reference
[Numerical Optimization Module]

Newton Search. More...

#include <newton_search.h>

List of all members.

Public Member Functions

 Newton_Search ()
 Default constructor.
 ~Newton_Search ()
 Destructor.
void set_function (double(*function)(const vec &))
 Set function pointer.
void set_gradient (vec(*gradient)(const vec &))
 Set gradient function pointer.
void set_functions (double(*function)(const vec &), vec(*gradient)(const vec &))
 Set both function and gradient function pointers.
void set_start_point (const vec &x, const mat &D)
 Set start point x for search and approx inverse Hessian at x.
void set_start_point (const vec &x)
 Set start point x for search.
vec get_solution ()
 Get solution, function value and gradient at solution point.
bool search ()
 Do the line search.
bool search (vec &xn)
 Do the line search and return solution.
bool search (const vec &x0, vec &xn)
 Set starting point, do the Newton search, and return the solution.
void set_stop_values (double epsilon_1, double epsilon_2)
 Set stop criterion values.
double get_epsilon_1 ()
 Return stop value rho.
double get_epsilon_2 ()
 Return stop value beta.
void set_max_evaluations (int value)
 Set max number of function evaluations.
int get_max_evaluations ()
 Return max number of function evaluations.
void set_initial_stepsize (double value)
 Set max stepsize.
double get_initial_stepsize ()
 Return max number of iterations.
void set_method (const Newton_Search_Method &method)
 Set Line search method.
double get_function_value ()
 get function value at solution point
double get_stop_1 ()
 get value of stop criterion 1 at solution point
double get_stop_2 ()
 get value of stop criterion 2 at solution point
int get_no_iterations ()
 get number of iterations used to reach solution
int get_no_function_evaluations ()
 get number of function evaluations used to reach solution
void enable_trace ()
 enable trace mode
void disable_trace ()
 disable trace
void get_trace (Array< vec > &xvalues, vec &Fvalues, vec &ngvalues, vec &dvalues)


Detailed Description

Newton Search.

Newton or Quasi-Newton optimization method that try to minimize the objective function $f(\mathbf{x})$ given an initial guess $\mathbf{x}$.

The search is stopped when either criterion 1:

\[ \left\| \mathbf{f}'(\mathbf{x})\right\|_{\infty} \leq \varepsilon_1 \]

or criterion 2:

\[ \left\| d\mathbf{x}\right\|_{2} \leq \varepsilon_2 (\varepsilon_2 + \| \mathbf{x} \|_{2} ) \]

is fulfilled. Another possibility is that the search is stopped when the number of function evaluations exceeds a threshold (100 per default).

The default update rule for the inverse of the Hessian matrix is the BFGS algorithm with $\varepsilon_1 = 10^{-4}$ an $\varepsilon_2 = 10^{-8}$.


Member Function Documentation

void itpp::Newton_Search::get_trace ( Array< vec > &  xvalues,
vec &  Fvalues,
vec &  ngvalues,
vec &  dvalues 
)

get trace outputs xvalues are the solutions of every iteration Fvalues are the function values ngvalues are the norm(gradient,inf) values dvalues are the delta values

References it_warning.


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

Generated on Tue Jun 2 10:02:19 2009 for mixpp by  doxygen 1.5.8