Go to the source code of this file.
|
template<Config Conf> |
InnerStatsAccumulator< ZeroFPRStats< Conf > > & | operator+= (InnerStatsAccumulator< ZeroFPRStats< Conf > > &acc, const ZeroFPRStats< Conf > &s) |
|
◆ alpaqa::ZeroFPRParams
struct alpaqa::ZeroFPRParams |
Class Members |
LipschitzEstimateParams< config_t > |
Lipschitz |
Parameters related to the Lipschitz constant estimate and step size. |
unsigned |
max_iter = 100 |
Maximum number of inner ZeroFPR iterations. |
nanoseconds |
max_time = std::chrono::minutes(5) |
Maximum duration. |
real_t |
min_linesearch_coefficient = real_t(1. / 256) |
Minimum weight factor between Newton step and projected gradient step. |
bool |
force_linesearch = false |
Ignore the line search condition and always accept the accelerated step. (For testing purposes only).
|
real_t |
linesearch_strictness_factor = real_t(0.95) |
Parameter β used in the line search (see Algorithm 2 in [1]). \( 0 < \beta < 1 \)
|
real_t |
L_min = real_t(1e-5) |
Minimum Lipschitz constant estimate. |
real_t |
L_max = real_t(1e20) |
Maximum Lipschitz constant estimate. |
PANOCStopCrit |
stop_crit = PANOCStopCrit::ApproxKKT |
What stopping criterion to use. |
unsigned |
max_no_progress = 10 |
Maximum number of iterations without any progress before giving up. |
unsigned |
print_interval = 0 |
When to print progress. If set to zero, nothing will be printed. If set to N != 0, progress is printed every N iterations.
|
int |
print_precision = std::numeric_limits<real_t>::max_digits10 / 2 |
The precision of the floating point values printed by the solver. |
real_t |
quadratic_upperbound_tolerance_factor |
|
real_t |
linesearch_tolerance_factor |
|
bool |
update_direction_in_candidate = false |
|
bool |
recompute_last_prox_step_after_lbfgs_flush = false |
|
bool |
update_direction_from_prox_step = false |
|
◆ alpaqa::ZeroFPRStats
struct alpaqa::ZeroFPRStats |
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 |
stepsize_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 |
|
real_t |
final_ψ = 0 |
|
real_t |
final_h = 0 |
|
real_t |
final_φγ = 0 |
|
◆ alpaqa::ZeroFPRProgressInfo
struct alpaqa::ZeroFPRProgressInfo |
◆ alpaqa::InnerStatsAccumulator< ZeroFPRStats< Conf > >
struct alpaqa::InnerStatsAccumulator< ZeroFPRStats< 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 ZeroFPR iterations. |
unsigned |
linesearch_failures = 0 |
Total number of ZeroFPR line search failures. |
unsigned |
linesearch_backtracks = 0 |
Total number of ZeroFPR line search backtracking steps. |
unsigned |
stepsize_backtracks = 0 |
Total number of ZeroFPR step size reductions. |
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 |
The final ZeroFPR step size γ. |
real_t |
final_ψ = 0 |
Final value of the smooth cost \( \psi(\hat x) \). |
real_t |
final_h = 0 |
Final value of the nonsmooth cost \( h(\hat x) \). |
real_t |
final_φγ = 0 |
Final value of the forward-backward envelope, \( \varphi_\gamma(x) \) (note that this is in the point \( x \), not \( \hat x \)). |