9 #include"ObjectiveFunction.h"
10 #include "Derivatives.h"
11 #include "LinAlgebra.h"
17 explicit UncOpt(
const int dimension_int =0,
const double precision_in= 1.0E-8, std::string name_in =
"no_name",
const bool print_it =
false);
20 virtual string solve();
21 virtual int methodstep() = 0;
24 double (*eval_in)(
const double *,
int), adouble (*eval_a_in)(
const adouble*,
int),
const string name_in);
26 double get_error(){
if(gradnorm0==0)
return(0.0);
else return(gradnorm/gradnorm0);}
27 int get_iteration(){
return(iteration);}
28 void set_print_iteration(
const bool b);
29 void set_print_system_solve(
const bool b);
30 void set_precision(
const double prec);
31 void set_system_precision(
const double prec);
32 void set_max_iterations(
const int max_iterations_in);
33 void set_x_initial(
void (*initial_pointpty)(
double *,
const int dimension));
34 void print_iteration_info();
35 void print_iteration_header();
36 void print_stopping_criteria();
37 void set_linear_solver_type(
int linear_solver_type_in){ linear_solver_type = linear_solver_type_in;}
41 bool stopping_criteria();
50 double initial_stepsize;
55 double grad_precision;
56 double system_precision;
58 bool print_system_solve;
68 int linear_solver_type;
70 void operator=(
const UncOpt&);
72 void parameter_default();
double inexact_solve_precision(const double &rhs)
Definition: UncOpt.cpp:230
double armijo()
Definition: UncOpt.cpp:188
ObjectiveFunction ObjFunc
Definition: UncOpt.h:40
The Base class of Unconstrained Optimization solvers.
Definition: UncOpt.h:14
Responsibilites: Interfaces with ADOL-C. and Taping the function.
Definition: ObjectiveFunction.h:10
void set_ObjectiveFunction(const int dimension_in, double *x_initial_in, double(*eval_in)(const double *, int), adouble(*eval_a_in)(const adouble *, int), const string name_in)
Definition: UncOpt.cpp:130
Wraps all derivative information and communicates with ADOL-C.
Definition: Derivatives.h:6
virtual string solve()
Definition: UncOpt.cpp:67