|
alpaqa
develop
Nonconvex constrained optimization
|
#include <alpaqa/problem/type-erased-problem.hpp>
Struct containing function pointers to all problem functions (like the objective and constraint functions, with their derivatives, and more).
Some default implementations are available. Internal struct, it is used by TypeErasedProblem.
Definition at line 25 of file type-erased-problem.hpp.
Public Types | |
| using | Box = alpaqa::Box<config_t> |
| template<class F> | |
| using | optional_function_t = guanaqo::optional_function_t<F, ProblemVTable> |
| template<class F> | |
| using | required_function_t = guanaqo::required_function_t<F> |
Public Member Functions | |
| template<class P> | |
| ProblemVTable (std::in_place_t, P &p) | |
| ProblemVTable ()=default | |
Static Public Member Functions | |
| static ALPAQA_EXPORT_STATIC real_t | calc_ŷ_dᵀŷ (const void *self, rvec g_ŷ, crvec y, crvec Σ, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC index_t | default_eval_inactive_indices_res_lna (const void *, real_t, crvec, crvec, rindexvec, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC void | default_eval_constraints_jacobian (const void *, crvec, rvec, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC Sparsity | default_get_constraints_jacobian_sparsity (const void *, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC void | default_eval_grad_gi (const void *, crvec, index_t, rvec, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC void | default_eval_lagrangian_hessian_product (const void *, crvec, crvec, real_t, crvec, rvec, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC void | default_eval_lagrangian_hessian (const void *, crvec, crvec, real_t, rvec, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC Sparsity | default_get_lagrangian_hessian_sparsity (const void *, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC void | default_eval_augmented_lagrangian_hessian_product (const void *self, crvec x, crvec y, crvec, real_t scale, crvec v, rvec Hv, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC void | default_eval_augmented_lagrangian_hessian (const void *self, crvec x, crvec y, crvec, real_t scale, rvec H_values, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC Sparsity | default_get_augmented_lagrangian_hessian_sparsity (const void *, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC real_t | default_eval_objective_and_gradient (const void *self, crvec x, rvec grad_fx, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC real_t | default_eval_objective_and_constraints (const void *self, crvec x, rvec g, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC void | default_eval_objective_gradient_and_constraints_gradient_product (const void *self, crvec x, crvec y, rvec grad_f, rvec grad_gxy, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC void | default_eval_lagrangian_gradient (const void *self, crvec x, crvec y, rvec grad_L, rvec work_n, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC real_t | default_eval_augmented_lagrangian (const void *self, crvec x, crvec y, crvec Σ, rvec ŷ, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC void | default_eval_augmented_lagrangian_gradient (const void *self, crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC real_t | default_eval_augmented_lagrangian_and_gradient (const void *self, crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m, const ProblemVTable &vtable) |
| static ALPAQA_EXPORT_STATIC const Box & | default_get_variable_bounds (const void *, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC const Box & | default_get_general_bounds (const void *, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC void | default_check (const void *, const ProblemVTable &) |
| static ALPAQA_EXPORT_STATIC std::string | default_get_name (const void *, const ProblemVTable &) |
| using Box = alpaqa::Box<config_t> |
Definition at line 27 of file type-erased-problem.hpp.
| using optional_function_t = guanaqo::optional_function_t<F, ProblemVTable> |
Definition at line 30 of file type-erased-problem.hpp.
Definition at line 32 of file type-erased-problem.hpp.
|
default |
|
static |
Definition at line 9 of file type-erased-problem.tpp.
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 61 of file type-erased-problem.tpp.
|
static |
Definition at line 68 of file type-erased-problem.tpp.
|
static |
Definition at line 74 of file type-erased-problem.tpp.
|
static |
|
static |
Definition at line 111 of file type-erased-problem.tpp.
|
static |
Definition at line 121 of file type-erased-problem.tpp.
|
static |
Definition at line 131 of file type-erased-problem.tpp.
|
static |
Definition at line 141 of file type-erased-problem.tpp.
|
static |
Definition at line 155 of file type-erased-problem.tpp.
|
static |
Definition at line 172 of file type-erased-problem.tpp.
|
static |
Definition at line 189 of file type-erased-problem.tpp.
|
static |
|
static |
|
static |
|
static |
| required_function_t<void(crvec z, rvec e) const> eval_projecting_difference_constraints |
Definition at line 38 of file type-erased-problem.hpp.
| required_function_t<void(rvec y, real_t M) const> eval_projection_multipliers |
Definition at line 40 of file type-erased-problem.hpp.
| required_function_t<real_t(real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) const> eval_proximal_gradient_step |
Definition at line 42 of file type-erased-problem.hpp.
| required_function_t<real_t(crvec x) const> eval_objective |
Definition at line 44 of file type-erased-problem.hpp.
| required_function_t<void(crvec x, rvec grad_fx) const> eval_objective_gradient |
Definition at line 46 of file type-erased-problem.hpp.
| required_function_t<void(crvec x, rvec gx) const> eval_constraints |
Definition at line 48 of file type-erased-problem.hpp.
| required_function_t<void(crvec x, crvec y, rvec grad_gxy) const> eval_constraints_gradient_product |
Definition at line 50 of file type-erased-problem.hpp.
| optional_function_t<index_t(real_t γ, crvec x, crvec grad_ψ, rindexvec J) const> eval_inactive_indices_res_lna = default_eval_inactive_indices_res_lna |
Definition at line 52 of file type-erased-problem.hpp.
| optional_function_t<void(crvec x, rvec J_values) const> eval_constraints_jacobian = default_eval_constraints_jacobian |
Definition at line 56 of file type-erased-problem.hpp.
| optional_function_t<Sparsity() const> get_constraints_jacobian_sparsity = default_get_constraints_jacobian_sparsity |
Definition at line 58 of file type-erased-problem.hpp.
| optional_function_t<void(crvec x, index_t i, rvec grad_gi) const> eval_grad_gi = default_eval_grad_gi |
Definition at line 60 of file type-erased-problem.hpp.
| optional_function_t<void(crvec x, crvec y, real_t scale, crvec v, rvec Hv) const> eval_lagrangian_hessian_product = default_eval_lagrangian_hessian_product |
Definition at line 62 of file type-erased-problem.hpp.
| optional_function_t<void(crvec x, crvec y, real_t scale, rvec H_values) const> eval_lagrangian_hessian = default_eval_lagrangian_hessian |
Definition at line 64 of file type-erased-problem.hpp.
| optional_function_t<Sparsity() const> get_lagrangian_hessian_sparsity = default_get_lagrangian_hessian_sparsity |
Definition at line 66 of file type-erased-problem.hpp.
| optional_function_t<void(crvec x, crvec y, crvec Σ, real_t scale, crvec v, rvec Hv) const> eval_augmented_lagrangian_hessian_product = default_eval_augmented_lagrangian_hessian_product |
Definition at line 68 of file type-erased-problem.hpp.
| optional_function_t<void(crvec x, crvec y, crvec Σ, real_t scale, rvec H_values) const> eval_augmented_lagrangian_hessian = default_eval_augmented_lagrangian_hessian |
Definition at line 70 of file type-erased-problem.hpp.
| optional_function_t<Sparsity() const> get_augmented_lagrangian_hessian_sparsity = default_get_augmented_lagrangian_hessian_sparsity |
Definition at line 72 of file type-erased-problem.hpp.
| optional_function_t<real_t(crvec x, rvec grad_fx) const> eval_objective_and_gradient = default_eval_objective_and_gradient |
Definition at line 76 of file type-erased-problem.hpp.
| optional_function_t<real_t(crvec x, rvec g) const> eval_objective_and_constraints = default_eval_objective_and_constraints |
Definition at line 78 of file type-erased-problem.hpp.
| optional_function_t<void(crvec x, crvec y, rvec grad_f, rvec grad_gxy) const> eval_objective_gradient_and_constraints_gradient_product = default_eval_objective_gradient_and_constraints_gradient_product |
Definition at line 80 of file type-erased-problem.hpp.
| optional_function_t<void(crvec x, crvec y, rvec grad_L, rvec work_n) const> eval_lagrangian_gradient = default_eval_lagrangian_gradient |
Definition at line 84 of file type-erased-problem.hpp.
| optional_function_t<real_t(crvec x, crvec y, crvec Σ, rvec ŷ) const> eval_augmented_lagrangian = default_eval_augmented_lagrangian |
Definition at line 86 of file type-erased-problem.hpp.
| optional_function_t<void(crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m) const> eval_augmented_lagrangian_gradient = default_eval_augmented_lagrangian_gradient |
Definition at line 88 of file type-erased-problem.hpp.
| optional_function_t<real_t(crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m) const> eval_augmented_lagrangian_and_gradient = default_eval_augmented_lagrangian_and_gradient |
Definition at line 90 of file type-erased-problem.hpp.
| optional_function_t<const Box &() const> get_variable_bounds = default_get_variable_bounds |
Definition at line 94 of file type-erased-problem.hpp.
| optional_function_t<const Box &() const> get_general_bounds = default_get_general_bounds |
Definition at line 96 of file type-erased-problem.hpp.
| optional_function_t<void() const> check = default_check |
Definition at line 100 of file type-erased-problem.hpp.
| optional_function_t<std::string() const> get_name = default_get_name |
Definition at line 102 of file type-erased-problem.hpp.
| length_t n |
Definition at line 169 of file type-erased-problem.hpp.
| length_t m |
Definition at line 169 of file type-erased-problem.hpp.