PANOC-ALM  quadratic-penalty
Nonconvex constrained optimization
Classes | Namespaces
decl/alm.hpp File Reference
#include <panoc-alm/inner/decl/panoc-fwd.hpp>
#include <panoc-alm/util/problem.hpp>
#include <panoc-alm/util/solverstatus.hpp>
#include <chrono>
#include <string>
+ Include dependency graph for decl/alm.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ALMParams
 Parameters for the Augmented Lagrangian solver. More...
 
class  ALMSolver< InnerSolverT >
 Augmented Lagrangian Method solver. More...
 
struct  ALMSolver< InnerSolverT >::Stats
 
class  ALMSolverFull< InnerSolverT >
 
struct  ALMSolverFull< InnerSolverT >::Stats
 

Namespaces

 pa
 

Class Documentation

◆ pa::ALMParams

struct pa::ALMParams
+ Collaboration diagram for ALMParams:
Class Members
real_t ε Primal tolerance.
real_t δ Dual tolerance.
real_t Δ Factor used in updating the penalty parameters.
real_t Δ_lower Factor to reduce ALMParams::Δ when inner convergence fails.
real_t Σ₀ Initial penalty parameter.

When set to zero (which is the default), it is computed automatically, based on the constraint violation in the starting point and the parameter ALMParams::σ₀.

real_t σ₀ Initial penalty parameter factor.

Active if ALMParams::Σ₀ is set to zero.

real_t Σ₀_lower Factor to reduce the initial penalty factor by if convergence fails in in the first iteration.
real_t ε₀ Initial primal tolerance.
real_t ε₀_increase Factor to increase the initial primal tolerance if convergence fails in the first iteration.
real_t ρ Update factor for primal tolerance.
real_t ρ_increase Factor to increase the primal tolerance update factor by if convergence fails.
real_t θ Error tolerance for penalty increase.
real_t M Lagrange multiplier bound.
real_t Σ_max Maximum penalty factor.
real_t Σ_min Minimum penalty factor (used during initialization).
unsigned int max_iter Maximum number of outer ALM iterations.
microseconds max_time Maximum duration.
unsigned max_num_initial_retries How many times can the initial penalty ALMParams::Σ₀ or ALMParams::σ₀ and the initial primal tolerance ALMParams::ε₀ be reduced.
unsigned max_num_retries How many times can the penalty update factor ALMParams::Δ and the primal tolerance factor ALMParams::ρ be reduced.
unsigned max_total_num_retries Combined limit for ALMParams::max_num_initial_retries and ALMParams::max_num_retries.
unsigned print_interval When to print progress.

If set to zero, nothing will be printed. If set to N != 0, progress is printed every N iterations.

bool preconditioning Apply preconditioning to the problem, based on the gradients in the starting point.
bool single_penalty_factor Use one penalty factor for all m constraints.

◆ pa::ALMSolver::Stats

struct pa::ALMSolver::Stats
+ Collaboration diagram for ALMSolver< InnerSolverT >::Stats:
Class Members
unsigned outer_iterations
microseconds elapsed_time
unsigned initial_penalty_reduced
unsigned penalty_reduced
unsigned inner_convergence_failures
real_t ε
real_t δ
real_t norm_penalty
SolverStatus status
InnerStatsAccumulator< typename Stats > inner