#include <panoc-alm/util/problem.hpp>
Problem description for minimization problems.
\[ \begin{aligned} & \underset{x}{\text{minimize}} & & f(x) &&&& f : \mathbb{R}^n \rightarrow \mathbb{R} \\ & \text{subject to} & & \underline{x} \le x \le \overline{x} \\ &&& \underline{z} \le g(x) \le \overline{z} &&&& g : \mathbb{R}^n \rightarrow \mathbb{R}^m \end{aligned} \]
Definition at line 26 of file include/panoc-alm/util/problem.hpp.
Inheritance diagram for Problem:
Collaboration diagram for Problem: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 | |
| Problem ()=default | |
| Problem (unsigned int n, unsigned int m) | |
| Problem (unsigned n, unsigned int m, Box C, Box D, std::function< f_sig > f, std::function< grad_f_sig > grad_f, std::function< g_sig > g, std::function< grad_g_prod_sig > grad_g_prod, std::function< grad_gi_sig > grad_gi, std::function< hess_L_prod_sig > hess_L_prod, std::function< hess_L_sig > hess_L) | |
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_sig > | f |
| Cost function \( f(x) \). More... | |
| std::function< grad_f_sig > | grad_f |
| Gradient of the cost function \( \nabla f(x) \). More... | |
| std::function< g_sig > | g |
| Constraint function \( g(x) \). More... | |
| std::function< grad_g_prod_sig > | grad_g_prod |
| Gradient of the constraint function times vector \( \nabla g(x)\ y \). More... | |
| std::function< grad_gi_sig > | grad_gi |
| Gradient of a specific constraint \( \nabla g_i(x) \). More... | |
| std::function< hess_L_prod_sig > | hess_L_prod |
| Hessian of the Lagrangian function times vector \( \nabla_{xx}^2 L(x, y)\ v \). More... | |
| std::function< hess_L_sig > | hess_L |
| Hessian of the Lagrangian function \( \nabla_{xx}^2 L(x, y) \). More... | |
Signature of the function that evaluates the cost \( f(x) \).
| [in] | x | Decision variable \( x \in \mathbb{R}^n \) |
Definition at line 35 of file include/panoc-alm/util/problem.hpp.
| 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) \).
| [in] | x | Decision variable \( x \in \mathbb{R}^n \) |
| [out] | grad_fx | Gradient of cost function \( \nabla f(x) \in \mathbb{R}^n \) |
Definition at line 42 of file include/panoc-alm/util/problem.hpp.
Signature of the function that evaluates the constraints \( g(x) \).
| [in] | x | Decision variable \( x \in \mathbb{R}^n \) |
| [out] | gx | Value of the constraints \( g(x) \in \mathbb{R}^m \) |
Definition at line 48 of file include/panoc-alm/util/problem.hpp.
| 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 \).
| [in] | x | Decision variable \( x \in \mathbb{R}^n \) |
| [in] | y | Vector \( y \in \mathbb{R}^m \) to multiply the gradient by |
| [out] | grad_gxy | Gradient of the constraints \( \nabla g(x)\ y \in \mathbb{R}^n \) |
Definition at line 59 of file include/panoc-alm/util/problem.hpp.
| 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) \).
| [in] | x | Decision variable \( x \in \mathbb{R}^n \) |
| [in] | i | Which constraint \( 0 \le i \lt m \) |
| [out] | grad_gi | Gradient of the constraint \( \nabla g_i(x) \mathbb{R}^n \) |
Definition at line 70 of file include/panoc-alm/util/problem.hpp.
| 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 \).
| [in] | x | Decision variable \( x \in \mathbb{R}^n \) |
| [in] | y | Lagrange multipliers \( y \in \mathbb{R}^m \) |
| [in] | v | Vector to multiply by \( v \in \mathbb{R}^n \) |
| [out] | Hv | Hessian-vector product \( \nabla_{xx}^2 L(x, y)\ v \in \mathbb{R}^{n} \) |
Definition at line 83 of file include/panoc-alm/util/problem.hpp.
| 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) \).
| [in] | x | Decision variable \( x \in \mathbb{R}^n \) |
| [in] | y | Lagrange multipliers \( y \in \mathbb{R}^m \) |
| [out] | H | Hessian \( \nabla_{xx}^2 L(x, y) \in \mathbb{R}^{n\times n} \) |
Definition at line 92 of file include/panoc-alm/util/problem.hpp.
|
default |
|
inline |
Definition at line 111 of file include/panoc-alm/util/problem.hpp.
|
inline |
Definition at line 114 of file include/panoc-alm/util/problem.hpp.
| unsigned int n |
Number of decision variables, dimension of x.
Definition at line 27 of file include/panoc-alm/util/problem.hpp.
| unsigned int m |
Number of constraints, dimension of g(x) and z.
Definition at line 28 of file include/panoc-alm/util/problem.hpp.
| Box C |
Constraints of the decision variables, \( x \in C \).
Definition at line 29 of file include/panoc-alm/util/problem.hpp.
| Box D |
Other constraints, \( g(x) \in D \).
Definition at line 30 of file include/panoc-alm/util/problem.hpp.
| std::function<f_sig> f |
Cost function \( f(x) \).
Definition at line 95 of file include/panoc-alm/util/problem.hpp.
| std::function<grad_f_sig> grad_f |
Gradient of the cost function \( \nabla f(x) \).
Definition at line 97 of file include/panoc-alm/util/problem.hpp.
| std::function<g_sig> g |
Constraint function \( g(x) \).
Definition at line 99 of file include/panoc-alm/util/problem.hpp.
| std::function<grad_g_prod_sig> grad_g_prod |
Gradient of the constraint function times vector \( \nabla g(x)\ y \).
Definition at line 101 of file include/panoc-alm/util/problem.hpp.
| std::function<grad_gi_sig> grad_gi |
Gradient of a specific constraint \( \nabla g_i(x) \).
Definition at line 103 of file include/panoc-alm/util/problem.hpp.
| std::function<hess_L_prod_sig> hess_L_prod |
Hessian of the Lagrangian function times vector \( \nabla_{xx}^2 L(x, y)\ v \).
Definition at line 106 of file include/panoc-alm/util/problem.hpp.
| std::function<hess_L_sig> hess_L |
Hessian of the Lagrangian function \( \nabla_{xx}^2 L(x, y) \).
Definition at line 108 of file include/panoc-alm/util/problem.hpp.