|
PANOC-ALM
quadratic-penalty
Nonconvex constrained optimization
|
#include <panoc-alm/inner/decl/panoc-stop-crit.hpp>#include <panoc-alm/util/atomic_stop_signal.hpp>#include <panoc-alm/util/problem.hpp>#include <panoc-alm/util/solverstatus.hpp>#include <stdexcept>
Include dependency graph for panoc-helpers.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| pa | |
| pa::detail | |
Functions | |
| real_t | calc_ψ_ŷ (const Problem &p, crvec x, crvec y, crvec Σ, rvec ŷ) |
| Calculate both ψ(x) and the vector ŷ that can later be used to compute ∇ψ. More... | |
| real_t | calc_ψ_ŷ (const ProblemFull &p, crvec x, crvec y, crvec Σ1, crvec Σ2, rvec ŷ1, rvec ŷ2) |
| Calculate both ψ(x) and the vector ŷ that can later be used to compute ∇ψ. More... | |
| void | calc_grad_ψ_from_ŷ (const Problem &p, crvec x, crvec ŷ, rvec grad_ψ, rvec work_n) |
| Calculate ∇ψ(x) using ŷ. More... | |
| void | calc_grad_ψ_from_ŷ (const ProblemFull &p, crvec x, crvec ŷ1, crvec ŷ2, rvec grad_ψ, rvec work_n) |
| Calculate ∇ψ(x) using ŷ. More... | |
| real_t | calc_ψ_grad_ψ (const Problem &p, crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m) |
| Calculate both ψ(x) and its gradient ∇ψ(x). More... | |
| real_t | calc_ψ_grad_ψ (const ProblemFull &p, crvec x, crvec y, crvec Σ1, crvec Σ2, rvec grad_ψ, rvec work_n, rvec work_m1, rvec work_m2) |
| Calculate both ψ(x) and its gradient ∇ψ(x). More... | |
| void | calc_grad_ψ (const Problem &p, crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m) |
| Calculate the gradient ∇ψ(x). More... | |
| void | calc_grad_ψ (const ProblemFull &p, crvec x, crvec y, crvec Σ1, crvec Σ2, rvec grad_ψ, rvec work_n, rvec work_m1, rvec work_m2) |
| Calculate the gradient ∇ψ(x). More... | |
| void | calc_err_z (const Problem &p, crvec x̂, crvec y, crvec Σ, rvec err_z) |
| Calculate the error between ẑ and g(x). More... | |
| void | calc_err_z (const ProblemFull &p, crvec x̂, crvec y, crvec Σ1, rvec err_z1, rvec err_z2) |
| Calculate the error between ẑ and g(x). More... | |
| auto | projected_gradient_step (const Box &C, real_t γ, crvec x, crvec grad_ψ) |
| Projected gradient step. More... | |
| template<typename ProblemT > | |
| void | calc_x̂ (const ProblemT &prob, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) |
| real_t | calc_error_stop_crit (PANOCStopCrit crit, crvec pₖ, real_t γ, crvec xₖ, crvec grad_̂ψₖ, crvec grad_ψₖ, const Box &C) |
| real_t | descent_lemma (const Problem &problem, real_t rounding_tolerance, real_t L_max, crvec xₖ, real_t ψₖ, crvec grad_ψₖ, crvec y, crvec Σ, rvec x̂ₖ, rvec pₖ, rvec ŷx̂ₖ, real_t &ψx̂ₖ, real_t &norm_sq_pₖ, real_t &grad_ψₖᵀpₖ, real_t &Lₖ, real_t &γₖ) |
| Increase the estimate of the Lipschitz constant of the objective gradient and decrease the step size until quadratic upper bound or descent lemma is satisfied: More... | |
| real_t | descent_lemma (const ProblemFull &problem, real_t rounding_tolerance, real_t L_max, crvec xₖ, real_t ψₖ, crvec grad_ψₖ, crvec y, crvec Σ1, crvec Σ2, rvec x̂ₖ, rvec pₖ, rvec ŷx̂ₖ1, rvec ŷx̂ₖ2, real_t &ψx̂ₖ, real_t &norm_sq_pₖ, real_t &grad_ψₖᵀpₖ, real_t &Lₖ, real_t &γₖ) |
| Increase the estimate of the Lipschitz constant of the objective gradient and decrease the step size until quadratic upper bound or descent lemma is satisfied: More... | |
| template<class ParamsT , class DurationT > | |
| SolverStatus | check_all_stop_conditions (const ParamsT ¶ms, DurationT time_elapsed, unsigned iteration, const AtomicStopSignal &stop_signal, real_t ε, real_t εₖ, unsigned no_progress) |
| Check all stop conditions (required tolerance reached, out of time, maximum number of iterations exceeded, interrupted by user, infinite iterate, no progress made) More... | |
| void | calc_augmented_lagrangian_hessian (const Problem &problem, crvec xₖ, crvec ŷxₖ, crvec y, crvec Σ, rvec g, mat &H, rvec work_n) |
| Compute the Hessian matrix of the augmented Lagrangian function. More... | |
| void | calc_augmented_lagrangian_hessian_prod_fd (const Problem &problem, crvec xₖ, crvec y, crvec Σ, crvec grad_ψ, crvec v, rvec Hv, rvec work_n1, rvec work_n2, rvec work_m) |
| Compute the Hessian matrix of the augmented Lagrangian function multiplied by the given vector, using finite differences. More... | |
| real_t | initial_lipschitz_estimate (const Problem &problem, crvec xₖ, crvec y, crvec Σ, real_t ε, real_t δ, real_t L_min, real_t L_max, real_t &ψ, rvec grad_ψ, rvec work_n1, rvec work_n2, rvec work_n3, rvec work_m) |
| Estimate the Lipschitz constant of the gradient \( \nabla \psi \) using finite differences. More... | |
| real_t | initial_lipschitz_estimate (const Problem &problem, crvec xₖ, crvec y, crvec Σ, real_t ε, real_t δ, real_t L_min, real_t L_max, rvec grad_ψ, rvec work_n1, rvec work_n2, rvec work_n3, rvec work_m) |
| Estimate the Lipschitz constant of the gradient \( \nabla \psi \) using finite differences. More... | |
| real_t | initial_lipschitz_estimate (const ProblemFull &problem, crvec xₖ, crvec y, crvec Σ1, crvec Σ2, real_t ε, real_t δ, real_t &ψ, rvec grad_ψ, rvec work_n1, rvec work_n2, rvec work_n3, rvec work_m1, rvec work_m2) |