26 std::chrono::microseconds
max_time = std::chrono::minutes(5);
46 10 * std::numeric_limits<real_t>::epsilon();
108 bool always_overwrite_results,
119 std::string
get_name()
const {
return "StructuredPANOCLBFGSSolver"; }
134template <
class InnerSolverStats>
142 unsigned iterations = 0;
144 unsigned linesearch_failures = 0;
146 unsigned lbfgs_failures = 0;
149 unsigned lbfgs_rejected = 0;
152 unsigned τ_1_accepted = 0;
155 unsigned count_τ = 0;
Limited memory Broyden–Fletcher–Goldfarb–Shanno (L-BFGS) algorithm.
Second order PANOC solver for ALM.
std::string get_name() const
std::function< void(const ProgressInfo &)> progress_cb
StructuredPANOCLBFGSSolver(Params params, LBFGSParams lbfgsparams)
StructuredPANOCLBFGSSolver & set_progress_callback(std::function< void(const ProgressInfo &)> cb)
AtomicStopSignal stop_signal
const Params & get_params() const
StructuredPANOCLBFGSStats Stats
Stats operator()(const Problem &problem, crvec Σ, real_t ε, bool always_overwrite_results, rvec x, rvec y, rvec err_z)
LipschitzEstimateParams Lipschitz
Parameters related to the Lipschitz constant estimate and step size.
InnerStatsAccumulator< PolymorphicInnerSolverWrapper::Stats > & operator+=(InnerStatsAccumulator< PolymorphicInnerSolverWrapper::Stats > &acc, const PolymorphicInnerSolverWrapper::Stats &s)
@ ApproxKKT
Find an ε-approximate KKT point in the ∞-norm:
bool alternative_linesearch_cond
Eigen::Ref< const vec > crvec
Default type for immutable references to vectors.
const StructuredPANOCLBFGSParams & params
bool update_lipschitz_in_linesearch
unsigned max_no_progress
Maximum number of iterations without any progress before giving up.
real_t L_max
Maximum Lipschitz constant estimate.
bool full_augmented_hessian
SolverStatus
Exit status of a numerical solver such as ALM or PANOC.
std::chrono::microseconds max_time
Maximum duration.
bool hessian_vec_finite_differences
real_t quadratic_upperbound_tolerance_factor
std::chrono::microseconds elapsed_time
double real_t
Default floating point type.
unsigned linesearch_failures
unsigned print_interval
When to print progress.
real_t τ_min
Minimum weight factor between Newton step and projected gradient step.
real_t L_min
Minimum Lipschitz constant estimate.
LBFGSStepSize lbfgs_stepsize
LBFGSStepSize
Which method to use to select the L-BFGS step size.
unsigned max_iter
Maximum number of inner PANOC iterations.
PANOCStopCrit stop_crit
What stopping criterion to use.
Eigen::Ref< vec > rvec
Default type for mutable references to vectors.
unsigned hessian_step_size_heuristic
real_t nonmonotone_linesearch
Factor used in update for exponentially weighted nonmonotone line search.
Parameters for the LBFGS and SpecializedLBFGS classes.
Tuning parameters for the second order PANOC algorithm.
Problem description for minimization problems.