PANOC-ALM  quadratic-penalty
Nonconvex constrained optimization
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
ProblemWithParam Class Reference

#include <panoc-alm/util/problem.hpp>

Detailed Description

Definition at line 124 of file include/panoc-alm/util/problem.hpp.

+ Inheritance diagram for ProblemWithParam:
+ Collaboration diagram for ProblemWithParam:

Public Types

using f_sig = real_t(crvec x)
 Signature of the function that evaluates the cost \( f(x) \). More...
 
using grad_f_sig = void(crvec x, rvec grad_fx)
 Signature of the function that evaluates the gradient of the cost function \( \nabla f(x) \). More...
 
using g_sig = void(crvec x, rvec gx)
 Signature of the function that evaluates the constraints \( g(x) \). More...
 
using grad_g_prod_sig = void(crvec x, crvec y, rvec grad_gxy)
 Signature of the function that evaluates the gradient of the constraints times a vector \( \nabla g(x)\ y \). More...
 
using grad_gi_sig = void(crvec x, unsigned i, rvec grad_gi)
 Signature of the function that evaluates the gradient of one specific constraints \( \nabla g_i(x) \). More...
 
using hess_L_prod_sig = void(crvec x, crvec y, crvec v, rvec Hv)
 Signature of the function that evaluates the Hessian of the Lagrangian multiplied by a vector \( \nabla_{xx}^2L(x, y)\ v \). More...
 
using hess_L_sig = void(crvec x, crvec y, rmat H)
 Signature of the function that evaluates the Hessian of the Lagrangian \( \nabla_{xx}^2L(x, y) \). More...
 

Public Member Functions

void set_param (pa::crvec p)
 
void set_param (pa::vec &&p)
 
pa::vecget_param ()
 
const pa::vecget_param () const
 
std::shared_ptr< pa::vecget_param_ptr () const
 

Public Attributes

unsigned int n
 Number of decision variables, dimension of x. More...
 
unsigned int m
 Number of constraints, dimension of g(x) and z. More...
 
Box C
 Constraints of the decision variables, \( x \in C \). More...
 
Box D
 Other constraints, \( g(x) \in D \). More...
 
std::function< f_sigf
 Cost function \( f(x) \). More...
 
std::function< grad_f_siggrad_f
 Gradient of the cost function \( \nabla f(x) \). More...
 
std::function< g_sigg
 Constraint function \( g(x) \). More...
 
std::function< grad_g_prod_siggrad_g_prod
 Gradient of the constraint function times vector \( \nabla g(x)\ y \). More...
 
std::function< grad_gi_siggrad_gi
 Gradient of a specific constraint \( \nabla g_i(x) \). More...
 
std::function< hess_L_prod_sighess_L_prod
 Hessian of the Lagrangian function times vector \( \nabla_{xx}^2 L(x, y)\ v \). More...
 
std::function< hess_L_sighess_L
 Hessian of the Lagrangian function \( \nabla_{xx}^2 L(x, y) \). More...
 

Private Attributes

std::shared_ptr< pa::vecparam = std::make_shared<pa::vec>()
 

Member Typedef Documentation

◆ f_sig

using f_sig = real_t(crvec x)
inherited

Signature of the function that evaluates the cost \( f(x) \).

Parameters
[in]xDecision variable \( x \in \mathbb{R}^n \)

Definition at line 33 of file include/panoc-alm/util/problem.hpp.

◆ grad_f_sig

using grad_f_sig = void(crvec x, rvec grad_fx)
inherited

Signature of the function that evaluates the gradient of the cost function \( \nabla f(x) \).

Parameters
[in]xDecision variable \( x \in \mathbb{R}^n \)
[out]grad_fxGradient of cost function \( \nabla f(x) \in \mathbb{R}^n \)

Definition at line 40 of file include/panoc-alm/util/problem.hpp.

◆ g_sig

using g_sig = void(crvec x, rvec gx)
inherited

Signature of the function that evaluates the constraints \( g(x) \).

Parameters
[in]xDecision variable \( x \in \mathbb{R}^n \)
[out]gxValue of the constraints \( g(x) \in \mathbb{R}^m \)

Definition at line 46 of file include/panoc-alm/util/problem.hpp.

◆ grad_g_prod_sig

using grad_g_prod_sig = void(crvec x, crvec y, rvec grad_gxy)
inherited

Signature of the function that evaluates the gradient of the constraints times a vector \( \nabla g(x)\ y \).

Parameters
[in]xDecision variable \( x \in \mathbb{R}^n \)
[in]yVector \( y \in \mathbb{R}^m \) to multiply the gradient by
[out]grad_gxyGradient of the constraints \( \nabla g(x)\ y \in \mathbb{R}^n \)

Definition at line 57 of file include/panoc-alm/util/problem.hpp.

◆ grad_gi_sig

using grad_gi_sig = void(crvec x, unsigned i, rvec grad_gi)
inherited

Signature of the function that evaluates the gradient of one specific constraints \( \nabla g_i(x) \).

Parameters
[in]xDecision variable \( x \in \mathbb{R}^n \)
[in]iWhich constraint \( 0 \le i \lt m \)
[out]grad_giGradient of the constraint \( \nabla g_i(x) \mathbb{R}^n \)

Definition at line 68 of file include/panoc-alm/util/problem.hpp.

◆ hess_L_prod_sig

using hess_L_prod_sig = void(crvec x, crvec y, crvec v, rvec Hv)
inherited

Signature of the function that evaluates the Hessian of the Lagrangian multiplied by a vector \( \nabla_{xx}^2L(x, y)\ v \).

Parameters
[in]xDecision variable \( x \in \mathbb{R}^n \)
[in]yLagrange multipliers \( y \in \mathbb{R}^m \)
[in]vVector to multiply by \( v \in \mathbb{R}^n \)
[out]HvHessian-vector product \( \nabla_{xx}^2 L(x, y)\ v \in \mathbb{R}^{n} \)

Definition at line 81 of file include/panoc-alm/util/problem.hpp.

◆ hess_L_sig

using hess_L_sig = void(crvec x, crvec y, rmat H)
inherited

Signature of the function that evaluates the Hessian of the Lagrangian \( \nabla_{xx}^2L(x, y) \).

Parameters
[in]xDecision variable \( x \in \mathbb{R}^n \)
[in]yLagrange multipliers \( y \in \mathbb{R}^m \)
[out]HHessian \( \nabla_{xx}^2 L(x, y) \in \mathbb{R}^{n\times n} \)

Definition at line 90 of file include/panoc-alm/util/problem.hpp.

Member Function Documentation

◆ set_param() [1/2]

void set_param ( pa::crvec  p)
inline

Definition at line 127 of file include/panoc-alm/util/problem.hpp.

+ Here is the caller graph for this function:

◆ set_param() [2/2]

void set_param ( pa::vec &&  p)
inline

Definition at line 128 of file include/panoc-alm/util/problem.hpp.

◆ get_param() [1/2]

pa::vec& get_param ( )
inline

Definition at line 129 of file include/panoc-alm/util/problem.hpp.

+ Here is the caller graph for this function:

◆ get_param() [2/2]

const pa::vec& get_param ( ) const
inline

Definition at line 130 of file include/panoc-alm/util/problem.hpp.

◆ get_param_ptr()

std::shared_ptr<pa::vec> get_param_ptr ( ) const
inline

Definition at line 131 of file include/panoc-alm/util/problem.hpp.

Member Data Documentation

◆ param

std::shared_ptr<pa::vec> param = std::make_shared<pa::vec>()
private

Definition at line 134 of file include/panoc-alm/util/problem.hpp.

◆ n

unsigned int n
inherited

Number of decision variables, dimension of x.

Definition at line 25 of file include/panoc-alm/util/problem.hpp.

◆ m

unsigned int m
inherited

Number of constraints, dimension of g(x) and z.

Definition at line 26 of file include/panoc-alm/util/problem.hpp.

◆ C

Box C
inherited

Constraints of the decision variables, \( x \in C \).

Definition at line 27 of file include/panoc-alm/util/problem.hpp.

◆ D

Box D
inherited

Other constraints, \( g(x) \in D \).

Definition at line 28 of file include/panoc-alm/util/problem.hpp.

◆ f

std::function<f_sig> f
inherited

Cost function \( f(x) \).

Definition at line 93 of file include/panoc-alm/util/problem.hpp.

◆ grad_f

std::function<grad_f_sig> grad_f
inherited

Gradient of the cost function \( \nabla f(x) \).

Definition at line 95 of file include/panoc-alm/util/problem.hpp.

◆ g

std::function<g_sig> g
inherited

Constraint function \( g(x) \).

Definition at line 97 of file include/panoc-alm/util/problem.hpp.

◆ grad_g_prod

std::function<grad_g_prod_sig> grad_g_prod
inherited

Gradient of the constraint function times vector \( \nabla g(x)\ y \).

Definition at line 99 of file include/panoc-alm/util/problem.hpp.

◆ grad_gi

std::function<grad_gi_sig> grad_gi
inherited

Gradient of a specific constraint \( \nabla g_i(x) \).

Definition at line 101 of file include/panoc-alm/util/problem.hpp.

◆ hess_L_prod

std::function<hess_L_prod_sig> hess_L_prod
inherited

Hessian of the Lagrangian function times vector \( \nabla_{xx}^2 L(x, y)\ v \).

Definition at line 104 of file include/panoc-alm/util/problem.hpp.

◆ hess_L

std::function<hess_L_sig> hess_L
inherited

Hessian of the Lagrangian function \( \nabla_{xx}^2 L(x, y) \).

Definition at line 106 of file include/panoc-alm/util/problem.hpp.


The documentation for this class was generated from the following file: