24 std::chrono::microseconds
max_time = std::chrono::minutes(5);
41 10 * std::numeric_limits<real_t>::epsilon();
89 bool always_overwrite_results,
100 std::string
get_name()
const {
return "SecondOrderPANOCSolver"; }
112template <
class InnerSolverStats>
118 unsigned iterations = 0;
119 unsigned newton_failures = 0;
120 unsigned linesearch_failures = 0;
121 unsigned τ_1_accepted = 0;
122 unsigned count_τ = 0;
Second order PANOC solver for ALM.
std::string get_name() const
std::function< void(const ProgressInfo &)> progress_cb
AtomicStopSignal stop_signal
SecondOrderPANOCSolver & set_progress_callback(std::function< void(const ProgressInfo &)> cb)
const Params & get_params() const
std::chrono::microseconds elapsed_time
unsigned linesearch_failures
Stats operator()(const Problem &problem, crvec Σ, real_t ε, bool always_overwrite_results, rvec x, rvec y, rvec err_z)
SecondOrderPANOCSolver(Params params)
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.
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.
SolverStatus
Exit status of a numerical solver such as ALM or PANOC.
std::chrono::microseconds max_time
Maximum duration.
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.
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.
Tuning parameters for the second order PANOC algorithm.
Problem description for minimization problems.