Optimist
0.0.0
A C++ library for optimization
|
Class container for the Chandrupatla algorithm. More...
#include <Chandrupatla.hh>
Inherits Optimist::RootFinder::Bracketing< Real, Chandrupatla< Real > >.
Public Types | |
using | FunctionWrapper = typename RootFinder<Real, 1, Chandrupatla>::FunctionWrapper |
using | FirstDerivativeWrapper = typename RootFinder<Real, 1, Chandrupatla>::FirstDerivativeWrapper |
using | SecondDerivativeWrapper = typename RootFinder<Real, 1, Chandrupatla>::SecondDerivativeWrapper |
Public Types inherited from Optimist::RootFinder::Bracketing< Real, Chandrupatla< Real > > | |
using | FunctionWrapper |
using | FirstDerivativeWrapper |
using | SecondDerivativeWrapper |
Public Types inherited from Optimist::RootFinder::RootFinder< Real, 1, Chandrupatla< Real > > | |
using | Vector |
using | Matrix |
using | Tensor |
using | FunctionWrapper |
using | JacobianWrapper |
using | HessianWrapper |
Public Member Functions | |
Chandrupatla () | |
std::string | name_impl () const |
Real | find_root_impl (FunctionWrapper function) |
Public Member Functions inherited from Optimist::RootFinder::Bracketing< Real, Chandrupatla< Real > > | |
Bracketing () | |
std::string | name_impl () const |
void | tolerance_bracketing (Real t_tolerance) |
bool | solve_impl (FunctionWrapper function, Real, Real &x_sol) |
Real | find_root (FunctionWrapper function) |
Public Member Functions inherited from Optimist::RootFinder::RootFinder< Real, 1, Chandrupatla< Real > > | |
RootFinder () | |
std::string | name () const |
Integer | jacobian_evaluations () const |
Integer | max_jacobian_evaluations () const |
Integer | hessian_evaluations () const |
Integer | max_hessian_evaluations () const |
bool | solve (FunctionWrapper function, Vector const &x_ini, Vector &x_sol) |
Public Member Functions inherited from Optimist::SolverBase< Real, N, N, Chandrupatla< Real >, false > | |
SolverBase () | |
const InputType & | lower_bound () const |
const InputType & | upper_bound () const |
void | bounds (const InputType &t_lower_bound, const InputType &t_upper_bound) |
constexpr Integer | input_dimension () const |
constexpr Integer | output_dimension () const |
Integer | function_evaluations () const |
void | max_function_evaluations (Integer t_max_function_evaluations) |
Integer | iterations () const |
Integer | max_iterations () const |
Real | alpha () const |
Integer | relaxations () const |
Integer | max_relaxations () const |
Real | tolerance () const |
void | verbose_mode (bool t_verbose) |
void | enable_verbose_mode () |
void | disable_verbose_mode () |
void | damped_mode (bool t_damped) |
void | enable_damped_mode () |
void | disable_damped_mode () |
std::string | task () const |
bool | converged () const |
const TraceType & | trace () const |
std::ostream & | ostream () const |
bool | solve (FunctionWrapper function, const InputType &x_ini, InputType &x_sol) |
bool | rootfind (FunctionBase< Real, FunInDim, FunOutDim, DerivedFunction, ForceEigen &&FunOutDim==1 > const &function, const InputType &x_ini, InputType &x_sol) |
bool | optimize (FunctionBase< Real, FunInDim, FunOutDim, DerivedFunction, ForceEigen &&FunOutDim==1 > const &function, const InputType &x_ini, InputType &x_sol) |
std::string | name () const |
Static Public Attributes | |
static constexpr bool | requires_function {true} |
static constexpr bool | requires_first_derivative {false} |
static constexpr bool | requires_second_derivative {false} |
Static Public Attributes inherited from Optimist::RootFinder::Bracketing< Real, Chandrupatla< Real > > | |
static constexpr bool | requires_function |
static constexpr bool | requires_first_derivative |
static constexpr bool | requires_second_derivative |
Static Public Attributes inherited from Optimist::RootFinder::RootFinder< Real, 1, Chandrupatla< Real > > | |
static constexpr bool | is_rootfinder |
static constexpr bool | is_optimizer |
static constexpr bool | requires_function |
static constexpr bool | requires_first_derivative |
static constexpr bool | requires_second_derivative |
The Chandrupatla algorithm allows to find the roots of a scalar function \(f(x)\) in a given interval \([a, b]\). The algorithm is based on the work of T. Chandrupatla, A new hybrid quadratic/bisection algorithm for finding the zero of a nonlinear function without using derivatives, Advances in Engineering Software, 28 (1997), pp. 145-149.
Real | Scalar number type. |
using Optimist::RootFinder::Chandrupatla< Real >::FirstDerivativeWrapper = typename RootFinder<Real, 1, Chandrupatla>::FirstDerivativeWrapper |
using Optimist::RootFinder::Chandrupatla< Real >::FunctionWrapper = typename RootFinder<Real, 1, Chandrupatla>::FunctionWrapper |
using Optimist::RootFinder::Chandrupatla< Real >::SecondDerivativeWrapper = typename RootFinder<Real, 1, Chandrupatla>::SecondDerivativeWrapper |
|
inline |
Class constructor for the Algorithm 748.
|
inline |
Finds either an exact solution or an approximate solution of the equation \(f(x) = 0\) in the interval \([a, b]\).
[in] | function | Function wrapper. |
|
inline |
Get the Algorithm 748 solver name.
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
Basic constants.