template<Config Conf>
struct alpaqa::ProblemVTable< Conf >
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.
|
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 &) |
|
required_function_t< void(crvec z, rvec e) const > | eval_projecting_difference_constraints |
required_function_t< void(rvec y, real_t M) const > | eval_projection_multipliers |
required_function_t< real_t(real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) const > | eval_proximal_gradient_step |
required_function_t< real_t(crvec x) const > | eval_objective |
required_function_t< void(crvec x, rvec grad_fx) const > | eval_objective_gradient |
required_function_t< void(crvec x, rvec gx) const > | eval_constraints |
required_function_t< void(crvec x, crvec y, rvec grad_gxy) const > | eval_constraints_gradient_product |
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 |
optional_function_t< void(crvec x, rvec J_values) const > | eval_constraints_jacobian = default_eval_constraints_jacobian |
optional_function_t< Sparsity() const > | get_constraints_jacobian_sparsity = default_get_constraints_jacobian_sparsity |
optional_function_t< void(crvec x, index_t i, rvec grad_gi) const > | eval_grad_gi = default_eval_grad_gi |
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 |
optional_function_t< void(crvec x, crvec y, real_t scale, rvec H_values) const > | eval_lagrangian_hessian = default_eval_lagrangian_hessian |
optional_function_t< Sparsity() const > | get_lagrangian_hessian_sparsity = default_get_lagrangian_hessian_sparsity |
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 |
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 |
optional_function_t< Sparsity() const > | get_augmented_lagrangian_hessian_sparsity = default_get_augmented_lagrangian_hessian_sparsity |
optional_function_t< real_t(crvec x, rvec grad_fx) const > | eval_objective_and_gradient = default_eval_objective_and_gradient |
optional_function_t< real_t(crvec x, rvec g) const > | eval_objective_and_constraints = default_eval_objective_and_constraints |
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 |
optional_function_t< void(crvec x, crvec y, rvec grad_L, rvec work_n) const > | eval_lagrangian_gradient = default_eval_lagrangian_gradient |
optional_function_t< real_t(crvec x, crvec y, crvec Σ, rvec ŷ) const > | eval_augmented_lagrangian = default_eval_augmented_lagrangian |
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 |
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 |
optional_function_t< const Box &() const > | get_variable_bounds = default_get_variable_bounds |
optional_function_t< const Box &() const > | get_general_bounds = default_get_general_bounds |
optional_function_t< void() const > | check = default_check |
optional_function_t< std::string() const > | get_name = default_get_name |
length_t | n |
length_t | m |