alpaqa 0.0.1
Nonconvex constrained optimization
Namespaces | Functions | Variables
standalone/panoc.hpp File Reference
#include <alpaqa/inner/decl/panoc.hpp>
#include <alpaqa/inner/detail/panoc-helpers.hpp>
#include <alpaqa/util/alloc.hpp>
#include <alpaqa/util/atomic_stop_signal.hpp>
#include <alpaqa/util/box.hpp>
#include <iomanip>
#include <iostream>
#include <stdexcept>
+ Include dependency graph for standalone/panoc.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  alpaqa
 
namespace  alpaqa::detail
 

Functions

template<class ObjFunT , class ObjGradFunT >
real_t initial_lipschitz_estimate (const ObjFunT &ψ, const ObjGradFunT &grad_ψ, crvec xₖ, real_t ε, real_t δ, real_t L_min, real_t L_max, real_t &ψₖ, rvec grad_ψₖ, vec_allocator &alloc)
 Estimate the Lipschitz constant of the gradient \( \nabla \psi \) using finite differences. More...
 
void calc_x̂ (real_t γ, crvec x, const Box &C, crvec grad_ψ, rvec x̂, rvec p)
 
template<class ObjFunT >
real_t descent_lemma (const ObjFunT &ψ, const Box &C, real_t rounding_tolerance, real_t L_max, crvec xₖ, real_t ψₖ, crvec grad_ψₖ, rvec x̂ₖ, rvec pₖ, 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...
 
void print_progress (unsigned k, real_t ψₖ, crvec grad_ψₖ, real_t pₖᵀpₖ, real_t γₖ, real_t εₖ)
 
template<class ObjFunT , class ObjGradFunT , class DirectionT >
PANOCStats panoc_impl (ObjFunT &ψ, ObjGradFunT &grad_ψ, const Box &C, rvec x, real_t ε, const PANOCParams &params, vec_allocator &alloc, DirectionT &direction_provider)
 
template<class DirectionProviderT = LBFGS, class ObjFunT , class ObjGradFunT >
PANOCStats panoc (ObjFunT &ψ, ObjGradFunT &grad_ψ, const Box &C, rvec x, real_t ε, const PANOCParams &params, PANOCDirection< DirectionProviderT > direction, vec_allocator &alloc)
 
template<class DirectionProviderT = LBFGS, class ObjFunT , class ObjGradFunT >
PANOCStats panoc (ObjFunT &ψ, ObjGradFunT &grad_ψ, const Box &C, rvec x, real_t ε, const PANOCParams &params, PANOCDirection< DirectionProviderT > direction)
 

Variables

constexpr size_t panoc_min_alloc_size = 10