alpaqa
guanaqo
Nonconvex constrained optimization
Loading...
Searching...
No Matches
src
alpaqa
include
alpaqa
inner
internal
lipschitz.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
alpaqa/config/config.hpp
>
4
5
namespace
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
11
template
<Config Conf = DefaultConfig>
12
struct
LipschitzEstimateParams
{
13
USING_ALPAQA_CONFIG
(Conf);
14
15
/// Initial estimate of the Lipschitz constant of ∇ψ(x). If set to zero,
16
/// it will be approximated using finite differences.
17
real_t
L_0
= 0;
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$
25
real_t
Lγ_factor
=
real_t
(0.95);
26
};
27
28
}
// namespace alpaqa
config.hpp
USING_ALPAQA_CONFIG
#define USING_ALPAQA_CONFIG(Conf)
Definition
config.hpp:77
alpaqa::LipschitzEstimateParams< Conf >::Lγ_factor
real_t Lγ_factor
Definition
lipschitz.hpp:25
alpaqa::LipschitzEstimateParams< Conf >::δ
real_t δ
Definition
lipschitz.hpp:21
alpaqa::LipschitzEstimateParams< Conf >::L_0
real_t L_0
Definition
lipschitz.hpp:17
alpaqa::LipschitzEstimateParams< Conf >::ε
real_t ε
Definition
lipschitz.hpp:19
alpaqa::LipschitzEstimateParams
Parameters for the estimation of the Lipschitz constant of the gradient of the smooth term of the cos...
Definition
lipschitz.hpp:12
alpaqa
Definition
anderson.hpp:10
alpaqa::real_t
typename Conf::real_t real_t
Definition
config.hpp:86
Generated on
for alpaqa by
1.14.0