alpaqa 1.0.0a10
Nonconvex constrained optimization
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Inner solvers

This page provides a high level overview of the inner solvers supported by alpaqa, and how to use them.

Forward-backward iterations

Both PANOC [4] and PANTR solve problems of the form

(P)minimizexψ(x)+h(x)ψ:IRnIR,h:IRnIR

where ψ is (locally) Lipschitz-smooth and h is proper, lowersemicontinuous and convex. Note that the (possibly nonsmooth) term h can be used to encode constraints or include a regularization term.

A well-known strategy for solving (P) consists of iteratively applying the forward-backward operator

(FB)Tγ(x)=proxγh(xγψ(x)),

where proxγh(x)=argminu{h(u)+12γux2} denotes the proximal operator of h with step size γ. Remark that this scheme only requires evaluations of ψ and proxγh, which are assumed to be efficiently evaluated. Using the same oracle, both PANOC and PANTR aim to accelerate the standard forward-backward iterations (FB).

PANOC

PANOC [4] combines forward-backward iterations (FB) with a quasi-Newton linesearch procedure to attain fast asymptotic convergence.

TO DO: API

PANTR

PANTR is similar to PANOC, but replaces the quasi-Newton directions by solutions to trust-region subproblems, which can be seen as regularized Newton updates.

TO DO: API