7#include <alpaqa/lbfgsb-adapter-export.h>
9#include <guanaqo/atomic-stop-signal.hpp>
23 std::chrono::nanoseconds
max_time = std::chrono::minutes(5);
74 Stats operator()(
const Problem &problem,
75 const SolveOptions &opts,
96 std::string get_name()
const;
108 std::ostream *
os = &std::cout;
115template <
class InnerSolverStats>
The main polymorphic minimization problem interface.
Stats operator()(const P &problem, const SolveOptions &opts, rvec u, rvec y, crvec Σ, rvec e)
std::function< void(const ProgressInfo &)> progress_cb
Stats operator()(const Problem &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec err_z)
InnerSolveOptions< config_t > SolveOptions
LBFGSBProgressInfo ProgressInfo
LBFGSBSolver & set_progress_callback(std::function< void(const ProgressInfo &)> cb)
Specify a callable that is invoked with some intermediate results on each iteration of the algorithm.
LBFGSBSolver(const Params ¶ms)
const Params & get_params() const
guanaqo::AtomicStopSignal stop_signal
TypeErasedProblem< config_t > Problem
#define USING_ALPAQA_CONFIG(Conf)
std::chrono::nanoseconds max_time
Tuning parameters for the L-BFGS-B solver LBFGSBSolver.
unsigned direction_update_rejected
const TypeErasedProblem< config_t > * problem
std::chrono::nanoseconds time_progress_callback
std::chrono::nanoseconds elapsed_time
const LBFGSBParams * params
unsigned direction_update_rejected
Total number of times that the L-BFGS update was rejected (i.e.
@ ProjGradUnitNorm
∞-norm of the projected gradient with unit step size:
SolverStatus
Exit status of a numerical solver such as ALM or PANOC.
std::chrono::nanoseconds time_progress_callback
Total time spent in the user-provided progress callback.
std::chrono::nanoseconds elapsed_time
Total elapsed time in the inner solver.
typename Conf::real_t real_t
real_t final_ψ
Final value of the smooth cost .
InnerStatsAccumulator< FISTAStats< Conf > > & operator+=(InnerStatsAccumulator< FISTAStats< Conf > > &acc, const FISTAStats< Conf > &s)
typename Conf::crvec crvec
unsigned iterations
Total number of inner PANOC iterations.
Double-precision double configuration.