alpaqa 1.0.0a18
Nonconvex constrained optimization
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
wolfe.hpp File Reference
#include <alpaqa/export.hpp>
#include <alpaqa/inner/inner-solve-options.hpp>
#include <alpaqa/inner/internal/lipschitz.hpp>
#include <alpaqa/inner/internal/panoc-helpers.hpp>
#include <alpaqa/inner/internal/panoc-stop-crit.hpp>
#include <alpaqa/inner/internal/solverstatus.hpp>
#include <alpaqa/problem/type-erased-problem.hpp>
#include <alpaqa/util/atomic-stop-signal.hpp>
#include <chrono>
#include <iostream>
#include <limits>
#include <stdexcept>
#include <string>
#include <type_traits>
+ Include dependency graph for wolfe.hpp:

Go to the source code of this file.

Classes

struct  WolfeParams< Conf >
 Tuning parameters for the unconstrained solver with Wolfe line search. More...
 
struct  WolfeStats< Conf >
 Statistics for the unconstrained solver with Wolfe line search. More...
 
struct  WolfeProgressInfo< Conf >
 Iterate information for the unconstrained solver with Wolfe line search. More...
 
class  WolfeSolver< DirectionT >
 Unconstrained solver with Wolfe line search. More...
 
struct  InnerStatsAccumulator< WolfeStats< Conf > >
 

Namespaces

namespace  alpaqa
 

Functions

template<Config Conf>
InnerStatsAccumulator< WolfeStats< Conf > > & operator+= (InnerStatsAccumulator< WolfeStats< Conf > > &acc, const WolfeStats< Conf > &s)
 

Class Documentation

◆ alpaqa::WolfeStats

struct alpaqa::WolfeStats
+ Collaboration diagram for WolfeStats< Conf >:
Class Members
SolverStatus status = SolverStatus::Busy
real_t ε = inf<config_t>
nanoseconds elapsed_time {}
nanoseconds time_progress_callback {}
unsigned iterations = 0
unsigned linesearch_failures = 0
unsigned linesearch_backtracks = 0
unsigned lbfgs_failures = 0
unsigned lbfgs_rejected = 0
unsigned τ_1_accepted = 0
unsigned count_τ = 0
real_t sum_τ = 0
real_t final_ψ = 0

◆ alpaqa::WolfeProgressInfo

struct alpaqa::WolfeProgressInfo
+ Collaboration diagram for WolfeProgressInfo< Conf >:
Class Members
unsigned k
SolverStatus status
crvec x
real_t ψ
crvec grad_ψ
crvec q
real_t τ
real_t ε
crvec Σ
crvec y
unsigned outer_iter
const TypeErasedProblem< config_t > * problem
const WolfeParams< config_t > * params

◆ alpaqa::InnerStatsAccumulator< WolfeStats< Conf > >

struct alpaqa::InnerStatsAccumulator< WolfeStats< Conf > >
+ Collaboration diagram for InnerStatsAccumulator< WolfeStats< Conf > >:
Class Members
nanoseconds elapsed_time {} Total elapsed time in the inner solver.
nanoseconds time_progress_callback {} Total time spent in the user-provided progress callback.
unsigned iterations = 0 Total number of inner Wolfe iterations.
unsigned linesearch_failures = 0 Total number of Wolfe line search failures.
unsigned linesearch_backtracks = 0 Total number of Wolfe line search backtracking steps.
unsigned lbfgs_failures = 0 Total number of times that the L-BFGS direction was not finite.
unsigned lbfgs_rejected = 0 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 = 0 Total number of times that a line search parameter of \( \tau = 1 \) was accepted (i.e.

no backtracking necessary).

unsigned count_τ = 0 The total number of line searches performed (used for computing the average value of \( \tau \)).
real_t sum_τ = 0 The sum of the line search parameter \( \tau \) in all iterations (used for computing the average value of \( \tau \)).
real_t final_ψ = 0 Final value of the smooth cost \( \psi(\hat x) \).