alpaqa 0.0.1
Nonconvex constrained optimization
Classes | Namespaces | Functions
decl/structured-panoc-lbfgs.hpp File Reference
#include <alpaqa/inner/decl/lbfgs-stepsize.hpp>
#include <alpaqa/inner/decl/panoc-fwd.hpp>
#include <alpaqa/inner/decl/panoc-stop-crit.hpp>
#include <alpaqa/inner/directions/decl/lbfgs.hpp>
#include <alpaqa/util/atomic_stop_signal.hpp>
#include <alpaqa/util/lipschitz.hpp>
#include <alpaqa/util/problem.hpp>
#include <alpaqa/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
 
struct  StructuredPANOCLBFGSStats
 
class  StructuredPANOCLBFGSSolver
 Second order PANOC solver for ALM. More...
 
struct  InnerStatsAccumulator< StructuredPANOCLBFGSStats >
 

Namespaces

namespace  alpaqa
 

Functions

InnerStatsAccumulator< StructuredPANOCLBFGSStats > & operator+= (InnerStatsAccumulator< StructuredPANOCLBFGSStats > &acc, const StructuredPANOCLBFGSStats &s)
 

Class Documentation

◆ alpaqa::StructuredPANOCLBFGSParams

struct alpaqa::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
bool hessian_vec_finite_differences
bool full_augmented_hessian
unsigned hessian_step_size_heuristic
LBFGSStepSize lbfgs_stepsize

◆ alpaqa::StructuredPANOCLBFGSProgressInfo

struct alpaqa::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

◆ alpaqa::StructuredPANOCLBFGSStats

struct alpaqa::StructuredPANOCLBFGSStats
+ Collaboration diagram for StructuredPANOCLBFGSStats:
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_τ

◆ alpaqa::InnerStatsAccumulator< StructuredPANOCLBFGSStats >

struct alpaqa::InnerStatsAccumulator< StructuredPANOCLBFGSStats >
+ Collaboration diagram for InnerStatsAccumulator< StructuredPANOCLBFGSStats >:
Class Members
microseconds elapsed_time Total elapsed time in the inner solver.
unsigned iterations Total number of inner PANOC iterations.
unsigned linesearch_failures Total number of PANOC line search failures.
unsigned lbfgs_failures Total number of times that the L-BFGS direction was not finite.
unsigned lbfgs_rejected Total number of times that the L-BFGS update was rejected (i.e.

it could have resulted in a non-positive definite Hessian estimate).

unsigned τ_1_accepted Total number of times that a line search parameter of \( \tau = 1 \) was accepted (i.e.

no backtracking necessary).

unsigned count_τ The total number of line searches performed (used for computing the average value of \( \tau \)).
real_t sum_τ The sum of the line search parameter \( \tau \) in all iterations (used for computing the average value of \( \tau \)).