|
PANOC-ALM
quadratic-penalty
Nonconvex constrained optimization
|
Go to the documentation of this file.
26 std::chrono::microseconds
max_time = std::chrono::minutes(5);
43 10 * std::numeric_limits<real_t>::epsilon();
87 template <
class DirectionProv
iderT>
105 bool always_overwrite_results,
109 std::chrono::microseconds time_remaining = std::chrono::microseconds(0));
154 template <
class DirectionProv
iderT>
173 bool always_overwrite_results,
178 std::chrono::microseconds time_remaining = std::chrono::microseconds(0));
201 template <
class InnerSolverStats>
207 unsigned iterations = 0;
208 unsigned linesearch_failures = 0;
209 unsigned lbfgs_failures = 0;
210 unsigned lbfgs_rejected = 0;
211 unsigned τ_1_accepted = 0;
212 unsigned count_τ = 0;
const Params & get_params() const
Stats operator()(const Problem &problem, crvec Σ, real_t ε, bool always_overwrite_results, rvec x, rvec y, rvec err_z, std::chrono::microseconds time_remaining=std::chrono::microseconds(0))
std::string get_name() const
std::string get_name() const
real_t L_min
Minimum Lipschitz constant estimate.
Eigen::Ref< vec > rvec
Default type for mutable references to vectors.
PANOCSolver(Params params, const PANOCDirection< DirectionProvider > &direction_provider)
SolverStatus
Exit status of a numerical solver such as ALM or PANOC.
PANOCSolverFull(Params params, PANOCDirection< DirectionProvider > &&direction_provider)
const PANOCParams & params
@ BasedOnGradientStepSize
unsigned print_interval
When to print progress.
real_t quadratic_upperbound_tolerance_factor
InnerStatsAccumulator< PANOCStats > & operator+=(InnerStatsAccumulator< PANOCStats > &acc, const PANOCStats &s)
std::function< void(const ProgressInfo &)> progress_cb
Stats operator()(const ProblemFull &problem, crvec Σ1, crvec Σ2, real_t ε, bool always_overwrite_results, rvec x, rvec y, rvec err_z1, rvec err_z2, std::chrono::microseconds time_remaining=std::chrono::microseconds(0))
real_t τ_min
Minimum weight factor between Newton step and projected gradient step.
Tuning parameters for the PANOC algorithm.
real_t L_max
Maximum Lipschitz constant estimate.
LBFGSStepSize
Which method to use to select the L-BFGS step size.
LBFGSStepSize lbfgs_stepsize
std::chrono::microseconds max_time
Maximum duration.
DirectionProviderT DirectionProvider
const Params & get_params() const
PANOCSolverFull(Params params, const PANOCDirection< DirectionProvider > &direction_provider)
Eigen::Ref< const vec > crvec
Default type for immutable references to vectors.
PANOCSolver(Params params, PANOCDirection< DirectionProvider > &&direction_provider)
PANOCDirection< DirectionProvider > direction_provider
LipschitzEstimateParams Lipschitz
Parameters related to the Lipschitz constant estimate and step size.
PANOCStopCrit stop_crit
What stopping criterion to use.
PANOCDirection< DirectionProvider > direction_provider
AtomicStopSignal stop_signal
unsigned max_no_progress
Maximum number of iterations without any progress before giving up.
AtomicStopSignal stop_signal
PANOCSolverFull & set_progress_callback(std::function< void(const ProgressInfo &)> cb)
PANOCSolver & set_progress_callback(std::function< void(const ProgressInfo &)> cb)
Problem description for minimization problems.
unsigned linesearch_failures
std::chrono::microseconds elapsed_time
double real_t
Default floating point type.
std::function< void(const ProgressInfo &)> progress_cb
const ProblemFull & problem
unsigned max_iter
Maximum number of inner PANOC iterations.
Problem description for minimization problems.
bool update_lipschitz_in_linesearch
bool alternative_linesearch_cond
DirectionProviderT DirectionProvider