Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Minimizer_parameters_without_constraint< PointType, RealValueFunction, GradientFunction > Class Template Reference

Constraints for minimizing without any constraint. More...

#include <Real_value_function_minimizer.hpp>

Public Types

typedef T_Minimizer_parameters_without_constraint< PointType, RealValueFunction, GradientFunction > Self
 
typedef Ipopt::TNLP Base
 
typedef PointType Point
 
typedef SBL::Models::T_Conformation_traits< PointConformation_traits
 

Public Member Functions

 T_Minimizer_parameters_without_constraint (const Point *point)
 
Pointget_minimum (void)
 

Overloaded from TNLP

bool get_nlp_info (Ipopt::Index &n, Ipopt::Index &m, Ipopt::Index &nnz_jac_g, Ipopt::Index &nnz_h_lag, IndexStyleEnum &index_style)
 
bool get_bounds_info (Ipopt::Index n, Ipopt::Number *x_l, Ipopt::Number *x_u, Ipopt::Index m, Ipopt::Number *g_l, Ipopt::Number *g_u)
 
bool get_starting_point (Ipopt::Index n, bool init_x, Ipopt::Number *x, bool init_z, Ipopt::Number *z_L, Ipopt::Number *z_U, Ipopt::Index m, bool init_lambda, Ipopt::Number *lambda)
 
bool eval_f (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number &obj_value)
 
bool eval_grad_f (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Number *grad_f)
 
bool eval_g (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Index m, Ipopt::Number *g)
 
bool eval_jac_g (Ipopt::Index n, const Ipopt::Number *x, bool new_x, Ipopt::Index m, Ipopt::Index nele_jac, Ipopt::Index *iRow, Ipopt::Index *jCol, Ipopt::Number *values)
 

Solution Methods

void finalize_solution (Ipopt::SolverReturn status, Ipopt::Index n, const Ipopt::Number *x, const Ipopt::Number *z_L, const Ipopt::Number *z_U, Ipopt::Index m, const Ipopt::Number *g, const Ipopt::Number *lambda, Ipopt::Number obj_value, const Ipopt::IpoptData *ip_data, Ipopt::IpoptCalculatedQuantities *ip_cq)
 

Detailed Description

template<class PointType, class RealValueFunction, class GradientFunction>
class SBL::CSB::T_Minimizer_parameters_without_constraint< PointType, RealValueFunction, GradientFunction >

Constraints for minimizing without any constraint.

Constraints for minimizing without any constraint

  \tparam PointType Point type argument of the real value function.

  \tparam RealValueFunction Functor taking a Point type and returning a value.

  \tparam GradientFunction Gradient of the function represented by RealValueFunction.

Member Typedef Documentation

◆ Base

typedef Ipopt::TNLP Base

◆ Conformation_traits

◆ Point

typedef PointType Point

◆ Self

typedef T_Minimizer_parameters_without_constraint<PointType, RealValueFunction, GradientFunction> Self

Constructor & Destructor Documentation

◆ T_Minimizer_parameters_without_constraint()

constructor initializing the init point

Member Function Documentation

◆ eval_f()

bool eval_f ( Ipopt::Index  n,
const Ipopt::Number *  x,
bool  new_x,
Ipopt::Number &  obj_value 
)
inline

Method to return the objective value

◆ eval_g()

bool eval_g ( Ipopt::Index  n,
const Ipopt::Number *  x,
bool  new_x,
Ipopt::Index  m,
Ipopt::Number *  g 
)
inline

Method to return the constraint residuals

◆ eval_grad_f()

bool eval_grad_f ( Ipopt::Index  n,
const Ipopt::Number *  x,
bool  new_x,
Ipopt::Number *  grad_f 
)
inline

Method to return the gradient of the objective

◆ eval_jac_g()

bool eval_jac_g ( Ipopt::Index  n,
const Ipopt::Number *  x,
bool  new_x,
Ipopt::Index  m,
Ipopt::Index  nele_jac,
Ipopt::Index *  iRow,
Ipopt::Index *  jCol,
Ipopt::Number *  values 
)
inline

Method to return: 1) The structure of the jacobian (if "values" is NULL) 2) The values of the jacobian (if "values" is not NULL)

◆ finalize_solution()

void finalize_solution ( Ipopt::SolverReturn  status,
Ipopt::Index  n,
const Ipopt::Number *  x,
const Ipopt::Number *  z_L,
const Ipopt::Number *  z_U,
Ipopt::Index  m,
const Ipopt::Number *  g,
const Ipopt::Number *  lambda,
Ipopt::Number  obj_value,
const Ipopt::IpoptData *  ip_data,
Ipopt::IpoptCalculatedQuantities *  ip_cq 
)
inline

This method is called when the algorithm is complete so the TNLP can store/write the solution

◆ get_bounds_info()

bool get_bounds_info ( Ipopt::Index  n,
Ipopt::Number *  x_l,
Ipopt::Number *  x_u,
Ipopt::Index  m,
Ipopt::Number *  g_l,
Ipopt::Number *  g_u 
)
inline

Method to return the bounds for my problem

◆ get_minimum()

PointType * get_minimum ( void  )
inline

◆ get_nlp_info()

bool get_nlp_info ( Ipopt::Index &  n,
Ipopt::Index &  m,
Ipopt::Index &  nnz_jac_g,
Ipopt::Index &  nnz_h_lag,
IndexStyleEnum &  index_style 
)
inline

Method to return some info about the nlp

◆ get_starting_point()

bool get_starting_point ( Ipopt::Index  n,
bool  init_x,
Ipopt::Number *  x,
bool  init_z,
Ipopt::Number *  z_L,
Ipopt::Number *  z_U,
Ipopt::Index  m,
bool  init_lambda,
Ipopt::Number *  lambda 
)
inline

Method to return the starting point for the algorithm