alpaqa cmake-targets
Nonconvex constrained optimization
Loading...
Searching...
No Matches
lipschitz.hpp
Go to the documentation of this file.
1#pragma once
2
4
5namespace alpaqa {
6
7/// Parameters for the estimation of the Lipschitz constant of the gradient of
8/// the smooth term of the cost. This is needed to select a suitable step size
9/// for the forward-backward iterations used by solvers like PANOC and PANTR.
10/// @ingroup grp_Parameters
11template <Config Conf = DefaultConfig>
14
15 /// Initial estimate of the Lipschitz constant of ∇ψ(x). If set to zero,
16 /// it will be approximated using finite differences.
18 /// Relative step size for initial finite difference Lipschitz estimate.
19 real_t ε = real_t(1e-6);
20 /// Minimum step size for initial finite difference Lipschitz estimate.
21 real_t δ = real_t(1e-12);
22 /// Factor that relates step size γ and Lipschitz constant.
23 /// Parameter α in Algorithm 2 of @cite de_marchi_proximal_2022.
24 /// @f$ 0 < \alpha < 1 @f$
26};
27
28} // namespace alpaqa
#define USING_ALPAQA_CONFIG(Conf)
Definition config.hpp:56
real_t Lγ_factor
Factor that relates step size γ and Lipschitz constant.
Definition lipschitz.hpp:25
real_t δ
Minimum step size for initial finite difference Lipschitz estimate.
Definition lipschitz.hpp:21
real_t L_0
Initial estimate of the Lipschitz constant of ∇ψ(x).
Definition lipschitz.hpp:17
real_t ε
Relative step size for initial finite difference Lipschitz estimate.
Definition lipschitz.hpp:19
Parameters for the estimation of the Lipschitz constant of the gradient of the smooth term of the cos...
Definition lipschitz.hpp:12
typename Conf::real_t real_t
Definition config.hpp:65
constexpr const auto inf
Definition config.hpp:85