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

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

Detailed Description

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

+ Inheritance diagram for ProblemFullWithParam:
+ Collaboration diagram for ProblemFullWithParam:

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 g1_sig = void(crvec x, rvec g1x)
 Signature of the function that evaluates the ALM constraints \( g1(x) \). More...
 
using grad_g1_prod_sig = void(crvec x, crvec y, rvec grad_g1xy)
 Signature of the function that evaluates the gradient of the ALM constraints times a vector \( \nabla g1(x)\ y \). More...
 
using grad_g1i_sig = void(crvec x, unsigned i, rvec grad_g1i)
 Signature of the function that evaluates the gradient of one specific ALM constraint \( \nabla g1_i(x) \). More...
 
using g2_sig = void(crvec x, rvec g2x)
 Signature of the function that evaluates the quadratic penalty constraints \( g2(x) \). More...
 
using grad_g2_prod_sig = void(crvec x, crvec y, rvec grad_g2xy)
 Signature of the function that evaluates the gradient of the quadratic penalty constraints times a vector \( \nabla g2(x)\ y \). More...
 
using grad_g2i_sig = void(crvec x, unsigned i, rvec grad_g2i)
 Signature of the function that evaluates the gradient of one specific quadratic penalty constraints \( \nabla g2_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 m1
 Number of ALM constraints, dimension of g1(x) and z1. More...
 
unsigned int m2
 Number of quadratic penalty constraints, dimension of g2(x) and z2. More...
 
Box C
 Constraints of the decision variables, \( x \in C \). More...
 
Box D1
 ALM constraints, \( g1(x) \in D1 \). More...
 
Box D2
 Quadratic penalty constraints, \( g2(x) \in D2 \). 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< g1_sigg1
 Constraint function \( g1(x) \). More...
 
std::function< grad_g1_prod_siggrad_g1_prod
 Gradient of the constraint function times vector \( \nabla g1(x)\ y \). More...
 
std::function< grad_g1i_siggrad_g1i
 Gradient of a specific constraint \( \nabla g1_i(x) \). More...
 
std::function< g2_sigg2
 Constraint function \( g2(x) \). More...
 
std::function< grad_g2_prod_siggrad_g2_prod
 Gradient of the constraint function times vector \( \nabla g2(x)\ y \). More...
 
std::function< grad_g2i_siggrad_g2i
 Gradient of a specific constraint \( \nabla g2_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 224 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 231 of file include/panoc-alm/util/problem.hpp.

◆ g1_sig

using g1_sig = void(crvec x, rvec g1x)
inherited

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

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

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

◆ grad_g1_prod_sig

using grad_g1_prod_sig = void(crvec x, crvec y, rvec grad_g1xy)
inherited

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

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

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

◆ grad_g1i_sig

using grad_g1i_sig = void(crvec x, unsigned i, rvec grad_g1i)
inherited

Signature of the function that evaluates the gradient of one specific ALM constraint \( \nabla g1_i(x) \).

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

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

◆ g2_sig

using g2_sig = void(crvec x, rvec g2x)
inherited

Signature of the function that evaluates the quadratic penalty constraints \( g2(x) \).

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

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

◆ grad_g2_prod_sig

using grad_g2_prod_sig = void(crvec x, crvec y, rvec grad_g2xy)
inherited

Signature of the function that evaluates the gradient of the quadratic penalty constraints times a vector \( \nabla g2(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_g2xyGradient of the constraints \( \nabla g2(x)\ y \in \mathbb{R}^n \)

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

◆ grad_g2i_sig

using grad_g2i_sig = void(crvec x, unsigned i, rvec grad_g2i)
inherited

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

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

Definition at line 288 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 301 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 310 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 361 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 362 of file include/panoc-alm/util/problem.hpp.

◆ get_param() [1/2]

pa::vec& get_param ( )
inline

Definition at line 363 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 364 of file include/panoc-alm/util/problem.hpp.

◆ get_param_ptr()

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

Definition at line 365 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 368 of file include/panoc-alm/util/problem.hpp.

◆ n

unsigned int n
inherited

Number of decision variables, dimension of x.

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

◆ m1

unsigned int m1
inherited

Number of ALM constraints, dimension of g1(x) and z1.

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

◆ m2

unsigned int m2
inherited

Number of quadratic penalty constraints, dimension of g2(x) and z2.

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

◆ C

Box C
inherited

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

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

◆ D1

Box D1
inherited

ALM constraints, \( g1(x) \in D1 \).

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

◆ D2

Box D2
inherited

Quadratic penalty constraints, \( g2(x) \in D2 \).

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

◆ f

std::function<f_sig> f
inherited

Cost function \( f(x) \).

Definition at line 313 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 315 of file include/panoc-alm/util/problem.hpp.

◆ g1

std::function<g1_sig> g1
inherited

Constraint function \( g1(x) \).

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

◆ grad_g1_prod

std::function<grad_g1_prod_sig> grad_g1_prod
inherited

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

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

◆ grad_g1i

std::function<grad_g1i_sig> grad_g1i
inherited

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

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

◆ g2

std::function<g2_sig> g2
inherited

Constraint function \( g2(x) \).

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

◆ grad_g2_prod

std::function<grad_g2_prod_sig> grad_g2_prod
inherited

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

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

◆ grad_g2i

std::function<grad_g2i_sig> grad_g2i
inherited

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

Definition at line 327 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 330 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 332 of file include/panoc-alm/util/problem.hpp.


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