|
PANOC-ALM
quadratic-penalty
Nonconvex constrained optimization
|
Go to the documentation of this file.
54 std::chrono::microseconds
max_time = std::chrono::minutes(5);
81 template <
class InnerSolverT = PANOCSolver<>>
127 template <
class InnerSolverT = PANOCSolverFull<>>
real_t Σ_min
Minimum penalty factor (used during initialization).
unsigned initial_penalty_reduced
real_t ε₀_increase
Factor to increase the initial primal tolerance if convergence fails in the first iteration.
Eigen::Ref< vec > rvec
Default type for mutable references to vectors.
const Params & get_params() const
real_t θ
Error tolerance for penalty increase.
std::string get_name() const
unsigned int max_iter
Maximum number of outer ALM iterations.
SolverStatus
Exit status of a numerical solver such as ALM or PANOC.
ALMSolverFull(Params params, const InnerSolver &inner_solver)
unsigned inner_convergence_failures
const Params & get_params() const
realvec vec
Default type for vectors.
unsigned initial_penalty_reduced
unsigned print_interval
When to print progress.
std::string get_name() const
InnerStatsAccumulator< typename InnerSolver::Stats > inner
ALMSolver(Params params, const InnerSolver &inner_solver)
Augmented Lagrangian Method solver.
ALMSolverFull(Params params, InnerSolver &&inner_solver)
Stats operator()(const ProblemFull &problem, rvec y, rvec x)
std::chrono::microseconds elapsed_time
void stop()
Abort the computation and return the result so far.
Parameters for the Augmented Lagrangian solver.
std::chrono::microseconds max_time
Maximum duration.
void stop()
Abort the computation and return the result so far.
bool preconditioning
Apply preconditioning to the problem, based on the gradients in the starting point.
unsigned max_total_num_retries
Combined limit for ALMParams::max_num_initial_retries and ALMParams::max_num_retries.
ALMSolver(Params params, InnerSolver &&inner_solver)
real_t ε
Primal tolerance.
bool single_penalty_factor
Use one penalty factor for all m constraints.
real_t ρ_increase
Factor to increase the primal tolerance update factor by if convergence fails.
real_t Δ_lower
Factor to reduce ALMParams::Δ when inner convergence fails.
unsigned inner_convergence_failures
unsigned max_num_retries
How many times can the penalty update factor ALMParams::Δ and the primal tolerance factor ALMParams::...
Stats operator()(const Problem &problem, rvec y, rvec x)
unsigned outer_iterations
unsigned max_num_initial_retries
How many times can the initial penalty ALMParams::Σ₀ or ALMParams::σ₀ and the initial primal toleranc...
real_t Σ_max
Maximum penalty factor.
std::chrono::microseconds elapsed_time
real_t ε₀
Initial primal tolerance.
real_t ρ
Update factor for primal tolerance.
Problem description for minimization problems.
InnerStatsAccumulator< typename InnerSolver::Stats > inner
double real_t
Default floating point type.
real_t M
Lagrange multiplier bound.
real_t Δ
Factor used in updating the penalty parameters.
real_t Σ₀
Initial penalty parameter.
real_t Σ₀_lower
Factor to reduce the initial penalty factor by if convergence fails in in the first iteration.
Problem description for minimization problems.
real_t σ₀
Initial penalty parameter factor.
unsigned outer_iterations