PANOC-ALM  quadratic-penalty
Nonconvex constrained optimization
Classes | Namespaces | Functions
decl/structured-panoc-lbfgs.hpp File Reference
#include <panoc-alm/inner/decl/lbfgs-stepsize.hpp>
#include <panoc-alm/inner/decl/panoc-fwd.hpp>
#include <panoc-alm/inner/decl/panoc-stop-crit.hpp>
#include <panoc-alm/inner/directions/decl/lbfgs.hpp>
#include <panoc-alm/util/atomic_stop_signal.hpp>
#include <panoc-alm/util/lipschitz.hpp>
#include <panoc-alm/util/problem.hpp>
#include <panoc-alm/util/solverstatus.hpp>
#include <atomic>
#include <chrono>
#include <limits>
#include <string>
+ Include dependency graph for decl/structured-panoc-lbfgs.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  StructuredPANOCLBFGSParams
 Tuning parameters for the second order PANOC algorithm. More...
 
struct  StructuredPANOCLBFGSProgressInfo
 
class  StructuredPANOCLBFGSSolver
 Second order PANOC solver for ALM. More...
 
struct  StructuredPANOCLBFGSSolver::Stats
 
struct  InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats >
 

Namespaces

 pa
 

Functions

InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats > & operator+= (InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats > &acc, const StructuredPANOCLBFGSSolver::Stats &s)
 

Class Documentation

◆ pa::StructuredPANOCLBFGSParams

struct pa::StructuredPANOCLBFGSParams
+ Collaboration diagram for StructuredPANOCLBFGSParams:
Class Members
LipschitzEstimateParams Lipschitz Parameters related to the Lipschitz constant estimate and step size.
unsigned max_iter Maximum number of inner PANOC iterations.
microseconds max_time Maximum duration.
real_t τ_min Minimum weight factor between Newton step and projected gradient step.
real_t L_min Minimum Lipschitz constant estimate.
real_t L_max Maximum Lipschitz constant estimate.
real_t nonmonotone_linesearch Factor used in update for exponentially weighted nonmonotone line search.

Zero means monotone line search.

PANOCStopCrit stop_crit What stopping criterion to use.
unsigned max_no_progress Maximum number of iterations without any progress before giving up.
unsigned print_interval When to print progress.

If set to zero, nothing will be printed. If set to N != 0, progress is printed every N iterations.

real_t quadratic_upperbound_tolerance_factor
bool update_lipschitz_in_linesearch
bool alternative_linesearch_cond
bool hessian_vec_finited_differences
bool full_augmented_hessian
LBFGSStepSize lbfgs_stepsize

◆ pa::StructuredPANOCLBFGSProgressInfo

struct pa::StructuredPANOCLBFGSProgressInfo
+ Collaboration diagram for StructuredPANOCLBFGSProgressInfo:
Class Members
unsigned k
crvec x
crvec p
real_t norm_sq_p
crvec x_hat
real_t φγ
real_t ψ
crvec grad_ψ
real_t ψ_hat
crvec grad_ψ_hat
real_t L
real_t γ
real_t τ
real_t ε
crvec Σ
crvec y
const Problem & problem
const StructuredPANOCLBFGSParams & params

◆ pa::StructuredPANOCLBFGSSolver::Stats

struct pa::StructuredPANOCLBFGSSolver::Stats
+ Collaboration diagram for StructuredPANOCLBFGSSolver::Stats:
Class Members
SolverStatus status
real_t ε
microseconds elapsed_time
unsigned iterations
unsigned linesearch_failures
unsigned lbfgs_failures
unsigned lbfgs_rejected
unsigned τ_1_accepted
unsigned count_τ
real_t sum_τ

◆ pa::InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats >

struct pa::InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats >
+ Collaboration diagram for InnerStatsAccumulator< StructuredPANOCLBFGSSolver::Stats >:
Class Members
microseconds elapsed_time
unsigned iterations
unsigned linesearch_failures
unsigned lbfgs_failures
unsigned lbfgs_rejected
unsigned τ_1_accepted
unsigned count_τ
real_t sum_τ