alpaqa 1.0.0a16
Nonconvex constrained optimization
Loading...
Searching...
No Matches
structs.ipp
Go to the documentation of this file.
1ENUM_TABLE(PANOCStopCrit, //
2 ENUM_MEMBER(ApproxKKT), //
3 ENUM_MEMBER(ApproxKKT2), //
4 ENUM_MEMBER(ProjGradNorm), //
5 ENUM_MEMBER(ProjGradNorm2), //
6 ENUM_MEMBER(ProjGradUnitNorm), //
7 ENUM_MEMBER(ProjGradUnitNorm2), //
8 ENUM_MEMBER(FPRNorm), //
9 ENUM_MEMBER(FPRNorm2), //
10);
11
12ENUM_TABLE(LBFGSStepSize, //
13 ENUM_MEMBER(BasedOnExternalStepSize), //
14 ENUM_MEMBER(BasedOnCurvature), //
15);
16
17PARAMS_TABLE(LBFGSParams<config_t>, //
18 PARAMS_MEMBER(memory), //
19 PARAMS_MEMBER(min_div_fac), //
20 PARAMS_MEMBER(min_abs_s), //
21 PARAMS_MEMBER(cbfgs), //
22 PARAMS_MEMBER(force_pos_def), //
23 PARAMS_MEMBER(stepsize), //
24);
25
26PARAMS_TABLE(AndersonAccelParams<config_t>, //
27 PARAMS_MEMBER(memory), //
28 PARAMS_MEMBER(min_div_fac), //
29);
30
31PARAMS_TABLE(CBFGSParams<config_t>, //
32 PARAMS_MEMBER(α), //
33 PARAMS_MEMBER(ϵ), //
34);
35PARAMS_ALIAS_TABLE(CBFGSParams<config_t>, //
36 PARAMS_MEMBER_ALIAS(alpha, α), //
37 PARAMS_MEMBER_ALIAS(epsilon, ϵ), //
38);
39
40PARAMS_TABLE(LipschitzEstimateParams<config_t>, //
41 PARAMS_MEMBER(L_0), //
42 PARAMS_MEMBER(δ), //
43 PARAMS_MEMBER(ε), //
44 PARAMS_MEMBER(Lγ_factor), //
45);
46PARAMS_ALIAS_TABLE(LipschitzEstimateParams<config_t>, //
47 PARAMS_MEMBER_ALIAS(delta, δ), //
48 PARAMS_MEMBER_ALIAS(epsilon, ε), //
49 PARAMS_MEMBER_ALIAS(L_gamma_factor, Lγ_factor), //
50);
51
52PARAMS_TABLE(PANTRParams<config_t>, //
53 PARAMS_MEMBER(Lipschitz), //
54 PARAMS_MEMBER(max_iter), //
55 PARAMS_MEMBER(max_time), //
56 PARAMS_MEMBER(L_min), //
57 PARAMS_MEMBER(L_max), //
58 PARAMS_MEMBER(stop_crit), //
59 PARAMS_MEMBER(max_no_progress), //
60 PARAMS_MEMBER(print_interval), //
61 PARAMS_MEMBER(print_precision), //
62 PARAMS_MEMBER(quadratic_upperbound_tolerance_factor), //
63 PARAMS_MEMBER(TR_tolerance_factor), //
64 PARAMS_MEMBER(ratio_threshold_acceptable), //
65 PARAMS_MEMBER(ratio_threshold_good), //
66 PARAMS_MEMBER(radius_factor_rejected), //
67 PARAMS_MEMBER(radius_factor_acceptable), //
68 PARAMS_MEMBER(radius_factor_good), //
69 PARAMS_MEMBER(initial_radius), //
70 PARAMS_MEMBER(min_radius), //
71 PARAMS_MEMBER(compute_ratio_using_new_stepsize), //
72 PARAMS_MEMBER(update_direction_on_prox_step), //
73 PARAMS_MEMBER(recompute_last_prox_step_after_direction_reset), //
74 PARAMS_MEMBER(disable_acceleration), //
75 PARAMS_MEMBER(ratio_approx_fbe_quadratic_model), //
76);
77
78PARAMS_TABLE(PANOCParams<config_t>, //
79 PARAMS_MEMBER(Lipschitz), //
80 PARAMS_MEMBER(max_iter), //
81 PARAMS_MEMBER(max_time), //
82 PARAMS_MEMBER(min_linesearch_coefficient), //
83 PARAMS_MEMBER(force_linesearch), //
84 PARAMS_MEMBER(linesearch_strictness_factor), //
85 PARAMS_MEMBER(L_min), //
86 PARAMS_MEMBER(L_max), //
87 PARAMS_MEMBER(stop_crit), //
88 PARAMS_MEMBER(max_no_progress), //
89 PARAMS_MEMBER(print_interval), //
90 PARAMS_MEMBER(print_precision), //
91 PARAMS_MEMBER(quadratic_upperbound_tolerance_factor), //
92 PARAMS_MEMBER(linesearch_tolerance_factor), //
93 PARAMS_MEMBER(update_direction_in_candidate), //
94 PARAMS_MEMBER(recompute_last_prox_step_after_stepsize_change), //
95 PARAMS_MEMBER(eager_gradient_eval), //
96);
97
98PARAMS_TABLE(FISTAParams<config_t>, //
99 PARAMS_MEMBER(Lipschitz), //
100 PARAMS_MEMBER(max_iter), //
101 PARAMS_MEMBER(max_time), //
102 PARAMS_MEMBER(L_min), //
103 PARAMS_MEMBER(L_max), //
104 PARAMS_MEMBER(stop_crit), //
105 PARAMS_MEMBER(max_no_progress), //
106 PARAMS_MEMBER(print_interval), //
107 PARAMS_MEMBER(print_precision), //
108 PARAMS_MEMBER(quadratic_upperbound_tolerance_factor), //
109 PARAMS_MEMBER(disable_acceleration), //
110);
111
112PARAMS_TABLE(ZeroFPRParams<config_t>, //
113 PARAMS_MEMBER(Lipschitz), //
114 PARAMS_MEMBER(max_iter), //
115 PARAMS_MEMBER(max_time), //
116 PARAMS_MEMBER(min_linesearch_coefficient), //
117 PARAMS_MEMBER(force_linesearch), //
118 PARAMS_MEMBER(linesearch_strictness_factor), //
119 PARAMS_MEMBER(L_min), //
120 PARAMS_MEMBER(L_max), //
121 PARAMS_MEMBER(stop_crit), //
122 PARAMS_MEMBER(max_no_progress), //
123 PARAMS_MEMBER(print_interval), //
124 PARAMS_MEMBER(print_precision), //
125 PARAMS_MEMBER(quadratic_upperbound_tolerance_factor), //
126 PARAMS_MEMBER(linesearch_tolerance_factor), //
127 PARAMS_MEMBER(update_direction_in_candidate), //
128 PARAMS_MEMBER(recompute_last_prox_step_after_stepsize_change), //
129 PARAMS_MEMBER(update_direction_from_prox_step), //
130);
131
132PARAMS_TABLE(LBFGSDirectionParams<config_t>, //
133 PARAMS_MEMBER(rescale_on_step_size_changes), //
134);
135
136PARAMS_TABLE(AndersonDirectionParams<config_t>, //
137 PARAMS_MEMBER(rescale_on_step_size_changes), //
138);
139
140PARAMS_TABLE(StructuredLBFGSDirectionParams<config_t>, //
141 PARAMS_MEMBER(hessian_vec_factor), //
142 PARAMS_MEMBER(hessian_vec_finite_differences), //
143 PARAMS_MEMBER(full_augmented_hessian), //
144);
145
146PARAMS_TABLE(NewtonTRDirectionParams<config_t>, //
147 PARAMS_MEMBER(hessian_vec_factor), //
149 PARAMS_MEMBER(finite_diff_stepsize), //
150);
151
152PARAMS_TABLE(SteihaugCGParams<config_t>, //
153 PARAMS_MEMBER(tol_scale), //
154 PARAMS_MEMBER(tol_scale_root), //
155 PARAMS_MEMBER(tol_max), //
156 PARAMS_MEMBER(max_iter_factor), //
157);
158
159PARAMS_TABLE(StructuredNewtonRegularizationParams<config_t>, //
160 PARAMS_MEMBER(min_eig), //
161 PARAMS_MEMBER(print_eig), //
162);
163
164PARAMS_TABLE(StructuredNewtonDirectionParams<config_t>, //
165 PARAMS_MEMBER(hessian_vec_factor), //
166);
167
168PARAMS_TABLE(ALMParams<config_t>, //
169 PARAMS_MEMBER(tolerance), //
170 PARAMS_MEMBER(dual_tolerance), //
171 PARAMS_MEMBER(penalty_update_factor), //
172 PARAMS_MEMBER(initial_penalty), //
173 PARAMS_MEMBER(initial_penalty_factor), //
174 PARAMS_MEMBER(initial_tolerance), //
175 PARAMS_MEMBER(tolerance_update_factor), //
176 PARAMS_MEMBER(rel_penalty_increase_threshold), //
177 PARAMS_MEMBER(max_multiplier), //
178 PARAMS_MEMBER(max_penalty), //
179 PARAMS_MEMBER(min_penalty), //
180 PARAMS_MEMBER(max_iter), //
181 PARAMS_MEMBER(max_time), //
182 PARAMS_MEMBER(print_interval), //
183 PARAMS_MEMBER(print_precision), //
184 PARAMS_MEMBER(single_penalty_factor), //
185);
186
187#if ALPAQA_WITH_OCP
188PARAMS_TABLE(PANOCOCPParams<config_t>,
189 PARAMS_MEMBER(Lipschitz), //
190 PARAMS_MEMBER(max_iter), //
191 PARAMS_MEMBER(max_time), //
192 PARAMS_MEMBER(min_linesearch_coefficient), //
193 PARAMS_MEMBER(linesearch_strictness_factor), //
194 PARAMS_MEMBER(L_min), //
195 PARAMS_MEMBER(L_max), //
196 PARAMS_MEMBER(L_max_inc), //
197 PARAMS_MEMBER(stop_crit), //
198 PARAMS_MEMBER(max_no_progress), //
199 PARAMS_MEMBER(gn_interval), //
200 PARAMS_MEMBER(gn_sticky), //
201 PARAMS_MEMBER(reset_lbfgs_on_gn_step), //
202 PARAMS_MEMBER(lqr_factor_cholesky), //
203 PARAMS_MEMBER(lbfgs_params), //
204 PARAMS_MEMBER(print_interval), //
205 PARAMS_MEMBER(print_precision), //
206 PARAMS_MEMBER(quadratic_upperbound_tolerance_factor), //
207 PARAMS_MEMBER(linesearch_tolerance_factor), //
208 PARAMS_MEMBER(disable_acceleration), //
209);
210#endif
vec finite_diff(const std::function< real_t(crvec)> &f, crvec x)
#define PARAMS_ALIAS_TABLE(type_,...)
Helper macro to easily specialize alpaqa::params::attribute_alias_table.
Definition structs.hpp:47
#define ENUM_TABLE(type_,...)
Helper macro to easily specialize alpaqa::params::enum_table.
Definition structs.hpp:75
#define ENUM_MEMBER(name,...)
Helper macro to easily initialize a alpaqa::params::enum_table_t.
Definition structs.hpp:84
#define PARAMS_MEMBER(name,...)
Helper macro to easily initialize a alpaqa::params::attribute_table_t.
Definition structs.hpp:31
#define PARAMS_TABLE(type_,...)
Helper macro to easily specialize alpaqa::params::attribute_table.
Definition structs.hpp:22
#define PARAMS_MEMBER_ALIAS(alias, name)
Helper macro to easily initialize a alpaqa::params::attribute_alias_table_t.
Definition structs.hpp:57