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 Member Functions

 T_Minimizer_parameters_without_constraint (const Point *point)

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

Template Parameters
PointTypePoint type argument of the real value function.
RealValueFunctionFunctor taking a Point type and returning a value.
GradientFunctionGradient of the function represented by RealValueFunction.

Constructor & Destructor Documentation

◆ T_Minimizer_parameters_without_constraint()

template<class PointType, class RealValueFunction, class GradientFunction>
T_Minimizer_parameters_without_constraint ( const Point * point)
inline

constructor initializing the init point

Member Function Documentation

◆ eval_f()

template<class PointType, class RealValueFunction, class GradientFunction>
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()

template<class PointType, class RealValueFunction, class GradientFunction>
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()

template<class PointType, class RealValueFunction, class GradientFunction>
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()

template<class PointType, class RealValueFunction, class GradientFunction>
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()

template<class PointType, class RealValueFunction, class GradientFunction>
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()

template<class PointType, class RealValueFunction, class GradientFunction>
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_nlp_info()

template<class PointType, class RealValueFunction, class GradientFunction>
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()

template<class PointType, class RealValueFunction, class GradientFunction>
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