$extrastylesheet
Dakota
Version 6.2
|
Public Member Functions | |
NonlinearCGOptimizer (ProblemDescDB &problem_db, Model &model) | |
standard constructor | |
~NonlinearCGOptimizer () | |
destructor | |
Real | linesearch_eval (const Real &trial_step, short req_val=1) |
evaluate the objective function given a particular step size (public for use in boost_ls_eval functor; could use friend) | |
Protected Member Functions | |
void | find_optimum () |
Used within the optimizer branch for computing the optimal solution. Redefines the run virtual function for the optimizer branch. | |
Private Member Functions | |
void | parse_options () |
constructor helper function to parse misc_options from ProblemDescDB | |
void | compute_direction () |
compute next direction via choice of method | |
bool | compute_step () |
compute step: fixed, simple decrease, sufficient decrease | |
void | bracket_min (Real &xa, Real &xb, Real &xc, Real &fa, Real &fb, Real &fc) |
bracket the 1-D minimum in the linesearch | |
Real | brent_minimize (Real a, Real b, Real tol) |
Perform 1-D minimization for the stepLength using Brent's method. | |
Private Attributes | |
Real | initialStep |
initial step length | |
Real | linesearchTolerance |
approximate accuracy of absissca in LS | |
unsigned | linesearchType |
type of line search (if any) | |
unsigned | maxLinesearchIters |
maximum evaluations in line search | |
Real | relFunctionTol |
stopping criterion for rel change in fn | |
Real | relGradientTol |
stopping criterion for rel reduction in g | |
bool | resetStep |
whether to reset step with each linesearch | |
unsigned | restartIter |
iter at which to reset to steepest descent | |
unsigned | updateType |
type of CG direction update | |
unsigned | iterCurr |
current iteration number | |
RealVector | designVars |
current decision variables in the major iteration | |
RealVector | trialVars |
decision variables in the linesearch | |
Real | functionCurr |
current function value | |
Real | functionPrev |
previous function value | |
RealVector | gradCurr |
current gradient | |
RealVector | gradPrev |
previous gradient | |
RealVector | gradDiff |
temporary for gradient difference (gradCurr - gradPrev) | |
RealVector | searchDirection |
current aggregate search direction | |
Real | stepLength |
current step length parameter alpha | |
Real | gradDotGrad_init |
initial gradient norm squared | |
Real | gradDotGrad_curr |
gradCurr dot gradCurr | |
Real | gradDotGrad_prev |
gradPrev dot gradPrev |
Experimental implementation of nonlinear CG optimization
Real brent_minimize | ( | Real | a, |
Real | b, | ||
Real | tol | ||
) | [private] |
Perform 1-D minimization for the stepLength using Brent's method.
Perform 1-D minimization for the stepLength using Brent's method. This is a C translation of fmin.f from Netlib.
References NonlinearCGOptimizer::linesearch_eval(), NonlinearCGOptimizer::maxLinesearchIters, and Iterator::outputLevel.
Referenced by NonlinearCGOptimizer::compute_step().