PANOC-ALM  quadratic-penalty
Nonconvex constrained optimization
Classes | Functions
External problem loaders

Detailed Description

Utilities for loading external problems, such as problems from the CUTEst test problems or functions exported by CasADi.

Classes

class  CasADiFunctionEvaluator< N_in, N_out >
 Class for evaluating CasADi functions, allocating the necessary workspace storage in advance for allocation-free evaluations. More...
 
class  CasADiFun_1Vi1So
 Wrapper for CasADiFunctionEvaluator with 1 vector input, scalar output. More...
 
class  CasADiFun_2Vi1So
 Wrapper for CasADiFunctionEvaluator with 2 vector inputs, scalar output. More...
 
class  CasADiFun_1Vi1Vo
 Wrapper for CasADiFunctionEvaluator with 1 vector input, 1 vector output. More...
 
class  CasADiFun_2Vi1Vo
 Wrapper for CasADiFunctionEvaluator with 2 vector inputs, 1 vector output. More...
 
class  CasADiFun_2Vi1Mo
 Wrapper for CasADiFunctionEvaluator with 2 vector inputs, 1 matrix output. More...
 
class  CasADiFun_3Vi1Mo
 Wrapper for CasADiFunctionEvaluator with 3 vector inputs, 1 matrix output. More...
 
class  CasADiFun_3Vi1Vo
 Wrapper for CasADiFunctionEvaluator with 3 vector inputs, 1 vector output. More...
 
class  CasADiFun_4Vi1Vo
 Wrapper for CasADiFunctionEvaluator with 4 vector inputs, 1 vector output. More...
 
class  CUTEstProblem
 Wrapper for CUTEst problems loaded from an external shared library. More...
 

Functions

std::function< pa::Problem::f_sigload_CasADi_objective (const std::string &so_name, const std::string &fun_name="f")
 Load an objective function generated by CasADi. More...
 
std::function< pa::Problem::grad_f_sigload_CasADi_gradient_objective (const std::string &so_name, const std::string &fun_name="grad_f")
 Load the gradient of an objective function generated by CasADi. More...
 
std::function< pa::Problem::g_sigload_CasADi_constraints (const std::string &so_name, const std::string &fun_name="g")
 Load a constraint function generated by CasADi. More...
 
std::function< pa::Problem::grad_g_prod_sigload_CasADi_gradient_constraints_prod (const std::string &so_name, const std::string &fun_name="grad_g")
 Load the gradient-vector product of a constraint function generated by CasADi. More...
 
std::function< pa::Problem::hess_L_sigload_CasADi_hessian_lagrangian (const std::string &so_name, const std::string &fun_name="hess_L")
 Load the Hessian of a Lagrangian function generated by CasADi. More...
 
std::function< pa::Problem::hess_L_prod_sigload_CasADi_hessian_lagrangian_prod (const std::string &so_name, const std::string &fun_name="hess_L_prod")
 Load the Hessian-vector product of a Lagrangian function generated by CasADi. More...
 
pa::Problem load_CasADi_problem (const std::string &filename, unsigned n, unsigned m, bool second_order=false)
 Load a problem generated by CasADi (without parameters). More...
 
pa::ProblemWithParam load_CasADi_problem_with_param (const std::string &filename, unsigned n, unsigned m, bool second_order=false)
 Load a problem generated by CasADi (with parameters). More...
 
pa::ProblemFull load_CasADi_problem_full (const char *filename, unsigned n, unsigned m1, unsigned m2, bool second_order=false)
 Load a problem generated by CasADi (without parameters). More...
 
pa::ProblemFullWithParam load_CasADi_problem_full_with_param (const char *filename, unsigned n, unsigned m1, unsigned m2, bool second_order=false)
 Load a problem generated by CasADi (with parameters). More...
 

Function Documentation

◆ load_CasADi_objective()

std::function< pa::Problem::f_sig > load_CasADi_objective ( const std::string &  so_name,
const std::string &  fun_name = "f" 
)

Load an objective function generated by CasADi.

Definition at line 8 of file CasADiLoader.cpp.

◆ load_CasADi_gradient_objective()

std::function< pa::Problem::grad_f_sig > load_CasADi_gradient_objective ( const std::string &  so_name,
const std::string &  fun_name = "grad_f" 
)

Load the gradient of an objective function generated by CasADi.

Definition at line 12 of file CasADiLoader.cpp.

◆ load_CasADi_constraints()

std::function< pa::Problem::g_sig > load_CasADi_constraints ( const std::string &  so_name,
const std::string &  fun_name = "g" 
)

Load a constraint function generated by CasADi.

Definition at line 17 of file CasADiLoader.cpp.

◆ load_CasADi_gradient_constraints_prod()

std::function< pa::Problem::grad_g_prod_sig > load_CasADi_gradient_constraints_prod ( const std::string &  so_name,
const std::string &  fun_name = "grad_g" 
)

Load the gradient-vector product of a constraint function generated by CasADi.

Definition at line 22 of file CasADiLoader.cpp.

◆ load_CasADi_hessian_lagrangian()

std::function< pa::Problem::hess_L_sig > load_CasADi_hessian_lagrangian ( const std::string &  so_name,
const std::string &  fun_name = "hess_L" 
)

Load the Hessian of a Lagrangian function generated by CasADi.

Definition at line 33 of file CasADiLoader.cpp.

◆ load_CasADi_hessian_lagrangian_prod()

std::function< pa::Problem::hess_L_prod_sig > load_CasADi_hessian_lagrangian_prod ( const std::string &  so_name,
const std::string &  fun_name = "hess_L_prod" 
)

Load the Hessian-vector product of a Lagrangian function generated by CasADi.

Definition at line 53 of file CasADiLoader.cpp.

◆ load_CasADi_problem()

pa::Problem load_CasADi_problem ( const std::string &  filename,
unsigned  n,
unsigned  m,
bool  second_order = false 
)

Load a problem generated by CasADi (without parameters).

Parameters
filenameFilename of the shared library to load the functions from.
nNumber of decision variables ( \( x \in \mathbb{R}^n \)).
mNumber of general constraints ( \( g(x) \in \mathbb{R}^m \)).
second_orderLoad the additional functions required for second-order PANOC.

The file should contain functions with the names f, grad_f, g and grad_g. These functions evaluate the objective function, its gradient, the constraints, and the constraint gradient times a vector respecitvely. If second_order is true, additional functions hess_L and hess_L_prod should be provided to evaluate the Hessian of the Lagrangian and Hessian-vector products.

Examples
CasADi/Rosenbrock/main.cpp.

Definition at line 58 of file CasADiLoader.cpp.

+ Here is the caller graph for this function:

◆ load_CasADi_problem_with_param()

pa::ProblemWithParam load_CasADi_problem_with_param ( const std::string &  filename,
unsigned  n,
unsigned  m,
bool  second_order = false 
)

Load a problem generated by CasADi (with parameters).

Parameters
filenameFilename of the shared library to load the functions from.
nNumber of decision variables ( \( x \in \mathbb{R}^n \)).
mNumber of general constraints ( \( g(x) \in \mathbb{R}^m \)).
second_orderLoad the additional functions required for second-order PANOC.

The file should contain functions with the names f, grad_f, g and grad_g. These functions evaluate the objective function, its gradient, the constraints, and the constraint gradient times a vector respecitvely. If second_order is true, additional functions hess_L and hess_L_prod should be provided to evaluate the Hessian of the Lagrangian and Hessian-vector products.

Definition at line 107 of file CasADiLoader.cpp.

+ Here is the caller graph for this function:

◆ load_CasADi_problem_full()

pa::ProblemFull load_CasADi_problem_full ( const char *  filename,
unsigned  n,
unsigned  m1,
unsigned  m2,
bool  second_order = false 
)

Load a problem generated by CasADi (without parameters).

Parameters
filenameFilename of the shared library to load the functions from.
nNumber of decision variables ( \( x \in \mathbb{R}^n \)).
m1Number of ALM constraints ( \( g1(x) \in \mathbb{R}^m1 \)).
m2Number of quadratic penalty constraints ( \( g2(x) \in \mathbb{R}^m2 \)).
second_orderLoad the additional functions required for second-order PANOC.

The file should contain functions with the names f, grad_f, g1, grad_g1, g2 and grad_g2. These functions evaluate the objective function, its gradient, the constraints, and the constraint gradient times a vector respecitvely. If second_order is true, additional functions hess_L and hess_L_prod should be provided to evaluate the Hessian of the Lagrangian and Hessian-vector products.

Definition at line 159 of file CasADiLoader.cpp.

+ Here is the caller graph for this function:

◆ load_CasADi_problem_full_with_param()

pa::ProblemFullWithParam load_CasADi_problem_full_with_param ( const char *  filename,
unsigned  n,
unsigned  m1,
unsigned  m2,
bool  second_order = false 
)

Load a problem generated by CasADi (with parameters).

Parameters
filenameFilename of the shared library to load the functions from.
nNumber of decision variables ( \( x \in \mathbb{R}^n \)).
m1Number of ALM constraints ( \( g1(x) \in \mathbb{R}^m1 \)).
m2Number of quadratic penalty constraints ( \( g2(x) \in \mathbb{R}^m2 \)).
second_orderLoad the additional functions required for second-order PANOC.

The file should contain functions with the names f, grad_f, g1, grad_g1, g2 and grad_g2. These functions evaluate the objective function, its gradient, the constraints, and the constraint gradient times a vector respecitvely. If second_order is true, additional functions hess_L and hess_L_prod should be provided to evaluate the Hessian of the Lagrangian and Hessian-vector products.

Definition at line 220 of file CasADiLoader.cpp.

+ Here is the caller graph for this function: