#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) |
| 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 | |
| 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 | |
| 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) \). |