#include <alpaqa/dl/dl-problem.h>
C API providing function pointers to problem functions.
Used by alpaqa::dl::DLProblem.
Definition at line 25 of file dl-problem.h.
Collaboration diagram for alpaqa_problem_functions_t:Public Attributes | |
| alpaqa_length_t | n { 0 } |
| Number of decision variables. | |
| alpaqa_length_t | m { 0 } |
| Number of constraints. | |
| alpaqa_real_t(* | eval_f )(void *instance, const alpaqa_real_t *x) |
| Cost function. | |
| void(* | eval_grad_f )(void *instance, const alpaqa_real_t *x, alpaqa_real_t *grad_fx) |
| Gradient of the cost function. | |
| void(* | eval_g )(void *instance, const alpaqa_real_t *x, alpaqa_real_t *gx) |
| Constraints function. | |
| void(* | eval_grad_g_prod )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, alpaqa_real_t *grad_gxy) |
| Gradient-vector product of the constraints function. | |
| void(* | eval_jac_g )(void *instance, const alpaqa_real_t *x, alpaqa_index_t *inner_idx, alpaqa_index_t *outer_ptr, alpaqa_real_t *J_values) |
| Jacobian of the constraints function. | |
| alpaqa_length_t(* | get_jac_g_num_nonzeros )(void *instance) |
| Number of nonzeros of the sparse Jacobian of the constraints function. | |
| void(* | eval_grad_gi )(void *instance, const alpaqa_real_t *x, alpaqa_index_t i, alpaqa_real_t *grad_gi) |
| Gradient of specific constraint function. | |
| void(* | eval_hess_L_prod )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, alpaqa_real_t scale, const alpaqa_real_t *v, alpaqa_real_t *Hv) |
| Hessian-vector product of the Lagrangian. | |
| void(* | eval_hess_L )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, alpaqa_real_t scale, alpaqa_index_t *inner_idx, alpaqa_index_t *outer_ptr, alpaqa_real_t *H_values) |
| Hessian of the Lagrangian. | |
| alpaqa_length_t(* | get_hess_L_num_nonzeros )(void *instance) |
| Number of nonzeros of the sparse Hessian of the Lagrangian. | |
| void(* | eval_hess_ψ_prod )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, const alpaqa_real_t *Σ, alpaqa_real_t scale, const alpaqa_real_t *zl, const alpaqa_real_t *zu, const alpaqa_real_t *v, alpaqa_real_t *Hv) |
| Hessian-vector product of the augmented Lagrangian. | |
| void(* | eval_hess_ψ )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, const alpaqa_real_t *Σ, alpaqa_real_t scale, const alpaqa_real_t *zl, const alpaqa_real_t *zu, alpaqa_index_t *inner_idx, alpaqa_index_t *outer_ptr, alpaqa_real_t *H_values) |
| Hessian of the augmented Lagrangian. | |
| alpaqa_length_t(* | get_hess_ψ_num_nonzeros )(void *instance) |
| Number of nonzeros of the sparse Hessian of the augmented Lagrangian. | |
| alpaqa_real_t(* | eval_f_grad_f )(void *instance, const alpaqa_real_t *x, alpaqa_real_t *grad_fx) |
| Cost and its gradient. | |
| alpaqa_real_t(* | eval_f_g )(void *instance, const alpaqa_real_t *x, alpaqa_real_t *g) |
| Cost and constraints. | |
| void(* | eval_grad_f_grad_g_prod )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, alpaqa_real_t *grad_f, alpaqa_real_t *grad_gxy) |
| Gradient of the cost and gradient-vector product of the constraints. | |
| void(* | eval_grad_L )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, alpaqa_real_t *grad_L, alpaqa_real_t *work_n) |
| Gradient of the Lagrangian. | |
| alpaqa_real_t(* | eval_ψ )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, const alpaqa_real_t *Σ, const alpaqa_real_t *zl, const alpaqa_real_t *zu, alpaqa_real_t *ŷ) |
| Augmented Lagrangian. | |
| void(* | eval_grad_ψ )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, const alpaqa_real_t *Σ, const alpaqa_real_t *zl, const alpaqa_real_t *zu, alpaqa_real_t *grad_ψ, alpaqa_real_t *work_n, alpaqa_real_t *work_m) |
| Gradient of the augmented Lagrangian. | |
| alpaqa_real_t(* | eval_ψ_grad_ψ )(void *instance, const alpaqa_real_t *x, const alpaqa_real_t *y, const alpaqa_real_t *Σ, const alpaqa_real_t *zl, const alpaqa_real_t *zu, alpaqa_real_t *grad_ψ, alpaqa_real_t *work_n, alpaqa_real_t *work_m) |
| Augmented Lagrangian and its gradient. | |
| alpaqa_real_t(* | eval_prox_grad_step )(void *instance, alpaqa_real_t γ, const alpaqa_real_t *x, const alpaqa_real_t *grad_ψ, alpaqa_real_t *x̂, alpaqa_real_t *p) |
| Proximal gradient step. | |
| void(* | initialize_box_C )(void *instance, alpaqa_real_t *lb, alpaqa_real_t *ub) |
| Provide the initial values for the bounds of alpaqa::BoxConstrProblem::C, i.e. | |
| void(* | initialize_box_D )(void *instance, alpaqa_real_t *lb, alpaqa_real_t *ub) |
| Provide the initial values for the bounds of alpaqa::BoxConstrProblem::D, i.e. | |
| void(* | initialize_l1_reg )(void *instance, alpaqa_real_t *lambda, alpaqa_length_t *size) |
| Provide the initial values for alpaqa::BoxConstrProblem::l1_reg, the ℓ₁-regularization factor. | |
| alpaqa_length_t n { 0 } |
Number of decision variables.
Definition at line 28 of file dl-problem.h.
| alpaqa_length_t m { 0 } |
Number of constraints.
Definition at line 31 of file dl-problem.h.
|
inline |
Cost function.
Definition at line 36 of file dl-problem.h.
|
inline |
Gradient of the cost function.
Definition at line 41 of file dl-problem.h.
|
inline |
Constraints function.
Definition at line 47 of file dl-problem.h.
|
inline |
Gradient-vector product of the constraints function.
Definition at line 53 of file dl-problem.h.
|
inline |
Jacobian of the constraints function.
Definition at line 60 of file dl-problem.h.
|
inline |
Number of nonzeros of the sparse Jacobian of the constraints function.
Definition at line 68 of file dl-problem.h.
|
inline |
Gradient of specific constraint function.
Definition at line 72 of file dl-problem.h.
|
inline |
Hessian-vector product of the Lagrangian.
Definition at line 79 of file dl-problem.h.
|
inline |
Hessian of the Lagrangian.
Definition at line 88 of file dl-problem.h.
|
inline |
Number of nonzeros of the sparse Hessian of the Lagrangian.
Definition at line 98 of file dl-problem.h.
|
inline |
Hessian-vector product of the augmented Lagrangian.
Definition at line 102 of file dl-problem.h.
|
inline |
Hessian of the augmented Lagrangian.
Definition at line 114 of file dl-problem.h.
|
inline |
Number of nonzeros of the sparse Hessian of the augmented Lagrangian.
Definition at line 127 of file dl-problem.h.
|
inline |
Cost and its gradient.
Definition at line 131 of file dl-problem.h.
|
inline |
Cost and constraints.
Definition at line 137 of file dl-problem.h.
|
inline |
Gradient of the cost and gradient-vector product of the constraints.
Definition at line 143 of file dl-problem.h.
|
inline |
Gradient of the Lagrangian.
Definition at line 151 of file dl-problem.h.
|
inline |
Augmented Lagrangian.
Definition at line 159 of file dl-problem.h.
|
inline |
Gradient of the augmented Lagrangian.
Definition at line 169 of file dl-problem.h.
|
inline |
Augmented Lagrangian and its gradient.
Definition at line 181 of file dl-problem.h.
|
inline |
Proximal gradient step.
Definition at line 195 of file dl-problem.h.
|
inline |
Provide the initial values for the bounds of alpaqa::BoxConstrProblem::C, i.e.
the constraints on the decision variables.
Definition at line 205 of file dl-problem.h.
|
inline |
Provide the initial values for the bounds of alpaqa::BoxConstrProblem::D, i.e.
the general constraints.
Definition at line 211 of file dl-problem.h.
|
inline |
Provide the initial values for alpaqa::BoxConstrProblem::l1_reg, the ℓ₁-regularization factor.
This function is called twice:
lambda set to nullptr, and the user should set the size.lambda pointing to an array of that size, and the user should initialize this array. Definition at line 221 of file dl-problem.h.