#include <alpaqa/include/alpaqa/problem/box-constr-problem.hpp>
Definition at line 10 of file box-constr-problem.hpp.
Public Types | |
using | Box = alpaqa::Box< config_t > |
Public Member Functions | |
BoxConstrProblem (length_t n, length_t m) | |
BoxConstrProblem (Box C, Box D, vec l1_reg=vec(0)) | |
BoxConstrProblem (const BoxConstrProblem &)=default | |
BoxConstrProblem & | operator= (const BoxConstrProblem &)=default |
BoxConstrProblem (BoxConstrProblem &&) noexcept=default | |
BoxConstrProblem & | operator= (BoxConstrProblem &&) noexcept=default |
length_t | get_n () const |
Number of decision variables, n. | |
length_t | get_m () const |
Number of constraints, m. | |
real_t | eval_prox_grad_step (real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) const |
void | eval_proj_diff_g (crvec z, rvec p) const |
void | eval_proj_multipliers (rvec y, real_t M) const |
const Box & | get_box_C () const |
const Box & | get_box_D () const |
index_t | eval_inactive_indices_res_lna (real_t γ, crvec x, crvec grad_ψ, rindexvec J) const |
void | check () const |
Static Public Member Functions | |
static real_t | eval_proj_grad_step_box (const Box &C, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) |
Projected gradient step for rectangular box C. | |
static void | eval_prox_grad_step_box_l1_impl (const Box &C, const auto &λ, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) |
Proximal gradient step for rectangular box C with ℓ₁-regularization. | |
static real_t | eval_prox_grad_step_box_l1 (const Box &C, const auto &λ, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) |
Proximal gradient step for rectangular box C with ℓ₁-regularization. | |
static real_t | eval_prox_grad_step_box_l1_scal (const Box &C, real_t λ, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) |
Proximal gradient step for rectangular box C with ℓ₁-regularization. | |
static void | eval_proj_multipliers_box (const Box &D, rvec y, real_t M, index_t penalty_alm_split) |
Public Attributes | |
length_t | n |
Number of decision variables, dimension of x. | |
length_t | m |
Number of constraints, dimension of g(x) and z. | |
index_t | penalty_alm_split = 0 |
Components of the constraint function with indices below this number are handled using a quadratic penalty method rather than using an augmented Lagrangian method. | |
Box | C {this->n} |
Constraints of the decision variables, \( x \in C \). | |
Box | D {this->m} |
Other constraints, \( g(x) \in D \). | |
vec | l1_reg {} |
\( \ell_1 \) (1-norm) regularization parameter. | |
using Box = alpaqa::Box<config_t> |
Definition at line 13 of file box-constr-problem.hpp.
|
inline |
n | Number of decision variables |
m | Number of constraints |
Definition at line 26 of file box-constr-problem.hpp.
|
inline |
Definition at line 30 of file box-constr-problem.hpp.
|
default |
|
defaultnoexcept |
|
default |
|
defaultnoexcept |
|
inline |
Number of decision variables, n.
Definition at line 50 of file box-constr-problem.hpp.
|
inline |
Number of constraints, m.
Definition at line 52 of file box-constr-problem.hpp.
|
inlinestatic |
Projected gradient step for rectangular box C.
\[ \begin{aligned} \hat x &= \Pi_C(x - \gamma\nabla\psi(x)) \\ p &= \hat x - x \\ &= \max(\underline x - x, \;\min(-\gamma\nabla\psi(x), \overline x - x) \end{aligned} \]
Definition at line 59 of file box-constr-problem.hpp.
|
inlinestatic |
Proximal gradient step for rectangular box C with ℓ₁-regularization.
\[ \begin{aligned} h(x) &= \|x\|_1 + \delta_C(x) \\ \hat x &= \prox_{\gamma h}(x - \gamma\nabla\psi(x)) \\ &= -\max\big( x - \overline x, \;\min\big( x - \underline x, \;\min\big( \gamma(\nabla\psi(x) + \lambda), \;\max\big( \gamma(\nabla\psi(x) - \lambda), x \big) \big) \big) \big) \end{aligned} \]
Definition at line 82 of file box-constr-problem.hpp.
|
inlinestatic |
Proximal gradient step for rectangular box C with ℓ₁-regularization.
\[ \begin{aligned} h(x) &= \|x\|_1 + \delta_C(x) \\ \hat x &= \prox_{\gamma h}(x - \gamma\nabla\psi(x)) \\ &= -\max\big( x - \overline x, \;\min\big( x - \underline x, \;\min\big( \gamma(\nabla\psi(x) + \lambda), \;\max\big( \gamma(\nabla\psi(x) - \lambda), x \big) \big) \big) \big) \end{aligned} \]
Definition at line 91 of file box-constr-problem.hpp.
|
inlinestatic |
Proximal gradient step for rectangular box C with ℓ₁-regularization.
\[ \begin{aligned} h(x) &= \|x\|_1 + \delta_C(x) \\ \hat x &= \prox_{\gamma h}(x - \gamma\nabla\psi(x)) \\ &= -\max\big( x - \overline x, \;\min\big( x - \underline x, \;\min\big( \gamma(\nabla\psi(x) + \lambda), \;\max\big( \gamma(\nabla\psi(x) - \lambda), x \big) \big) \big) \big) \end{aligned} \]
Definition at line 98 of file box-constr-problem.hpp.
Definition at line 107 of file box-constr-problem.hpp.
|
inline |
Definition at line 146 of file box-constr-problem.hpp.
|
inline |
Definition at line 148 of file box-constr-problem.hpp.
Definition at line 151 of file box-constr-problem.hpp.
|
inline |
Definition at line 188 of file box-constr-problem.hpp.
length_t n |
Number of decision variables, dimension of x.
Definition at line 16 of file box-constr-problem.hpp.
length_t m |
Number of constraints, dimension of g(x) and z.
Definition at line 18 of file box-constr-problem.hpp.
index_t penalty_alm_split = 0 |
Components of the constraint function with indices below this number are handled using a quadratic penalty method rather than using an augmented Lagrangian method.
Specifically, the Lagrange multipliers for these components (which determine the shifts in ALM) are kept at zero.
Definition at line 24 of file box-constr-problem.hpp.
Constraints of the decision variables, \( x \in C \).
Definition at line 40 of file box-constr-problem.hpp.
Other constraints, \( g(x) \in D \).
Definition at line 42 of file box-constr-problem.hpp.
vec l1_reg {} |
\( \ell_1 \) (1-norm) regularization parameter.
Possible dimensions are: \( 0 \) (no regularization), \( 1 \) (a single scalar factor), or \( n \) (a different factor for each variable).
Definition at line 47 of file box-constr-problem.hpp.