Inner solvers#
- group grp_InnerSolvers
 Solvers for the inner problem, such as PANOC.
- 
template<Config Conf>
class FISTASolver - #include <alpaqa/inner/fista.hpp>
FISTA solver for ALM.
Public Types
- 
using Problem = TypeErasedProblem<config_t>
 
- 
using Params = FISTAParams<config_t>
 
- 
using Stats = FISTAStats<config_t>
 
- 
using ProgressInfo = FISTAProgressInfo<config_t>
 
- 
using SolveOptions = InnerSolveOptions<config_t>
 
Public Functions
- 
inline FISTASolver(const Params ¶ms)
 
- 
Stats operator()(const Problem &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec err_z)
 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec e) 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x) 
- 
inline FISTASolver &set_progress_callback(std::function<void(const ProgressInfo&)> cb)
 Specify a callable that is invoked with some intermediate results on each iteration of the algorithm.
See also
- 
std::string get_name() const
 
- 
inline void stop()
 
- 
inline const Params &get_params() const
 
Public Members
- 
std::ostream *os = &std::cout
 
 - 
using Problem = TypeErasedProblem<config_t>
 
- 
template<class DirectionT>
class PANOCSolver - #include <alpaqa/inner/panoc.hpp>
PANOC solver for ALM.
Public Types
- 
using Problem = TypeErasedProblem<config_t>
 
- 
using Params = PANOCParams<config_t>
 
- 
using Direction = DirectionT
 
- 
using Stats = PANOCStats<config_t>
 
- 
using ProgressInfo = PANOCProgressInfo<config_t>
 
- 
using SolveOptions = InnerSolveOptions<config_t>
 
Public Functions
- 
inline PANOCSolver(const Params ¶ms)
 
- 
Stats operator()(const Problem &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec err_z)
 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec e) 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x) 
- 
inline PANOCSolver &set_progress_callback(std::function<void(const ProgressInfo&)> cb)
 Specify a callable that is invoked with some intermediate results on each iteration of the algorithm.
See also
- 
std::string get_name() const
 
- 
inline void stop()
 
- 
inline const Params &get_params() const
 
 - 
using Problem = TypeErasedProblem<config_t>
 
- 
template<class DirectionT>
class PANTRSolver - #include <alpaqa/inner/pantr.hpp>
PANTR solver for ALM.
Public Types
- 
using Problem = TypeErasedProblem<config_t>
 
- 
using Params = PANTRParams<config_t>
 
- 
using Direction = DirectionT
 
- 
using Stats = PANTRStats<config_t>
 
- 
using ProgressInfo = PANTRProgressInfo<config_t>
 
- 
using SolveOptions = InnerSolveOptions<config_t>
 
Public Functions
- 
inline PANTRSolver(const Params ¶ms)
 
- 
Stats operator()(const Problem &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec err_z)
 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec e) 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x) 
- 
inline PANTRSolver &set_progress_callback(std::function<void(const ProgressInfo&)> cb)
 Specify a callable that is invoked with some intermediate results on each iteration of the algorithm.
See also
- 
std::string get_name() const
 
- 
inline void stop()
 
- 
inline const Params &get_params() const
 
 - 
using Problem = TypeErasedProblem<config_t>
 
- 
template<class DirectionT>
class WolfeSolver - #include <alpaqa/inner/wolfe.hpp>
Unconstrained solver with Wolfe line search.
Public Types
- 
using Problem = TypeErasedProblem<config_t>
 
- 
using Params = WolfeParams<config_t>
 
- 
using Direction = DirectionT
 
- 
using Stats = WolfeStats<config_t>
 
- 
using ProgressInfo = WolfeProgressInfo<config_t>
 
- 
using SolveOptions = InnerSolveOptions<config_t>
 
Public Functions
- 
inline WolfeSolver(const Params ¶ms)
 
- 
Stats operator()(const Problem &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec err_z)
 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec e) 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x) 
- 
inline WolfeSolver &set_progress_callback(std::function<void(const ProgressInfo&)> cb)
 Specify a callable that is invoked with some intermediate results on each iteration of the algorithm.
See also
- 
std::string get_name() const
 
- 
inline void stop()
 
- 
inline const Params &get_params() const
 
 - 
using Problem = TypeErasedProblem<config_t>
 
- 
template<class DirectionT>
class ZeroFPRSolver - #include <alpaqa/inner/zerofpr.hpp>
ZeroFPR solver for ALM.
Public Types
- 
using Problem = TypeErasedProblem<config_t>
 
- 
using Params = ZeroFPRParams<config_t>
 
- 
using Direction = DirectionT
 
- 
using Stats = ZeroFPRStats<config_t>
 
- 
using ProgressInfo = ZeroFPRProgressInfo<config_t>
 
- 
using SolveOptions = InnerSolveOptions<config_t>
 
Public Functions
- 
inline ZeroFPRSolver(const Params ¶ms)
 
- 
Stats operator()(const Problem &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec err_z)
 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec e) 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec x) 
- 
inline ZeroFPRSolver &set_progress_callback(std::function<void(const ProgressInfo&)> cb)
 Specify a callable that is invoked with some intermediate results on each iteration of the algorithm.
See also
- 
std::string get_name() const
 
- 
inline void stop()
 
- 
inline const Params &get_params() const
 
 - 
using Problem = TypeErasedProblem<config_t>
 
- 
class LBFGSBSolver
 - #include <alpaqa/lbfgsb/lbfgsb-adapter.hpp>
L-BFGS-B solver for ALM.
Public Types
- 
using Problem = TypeErasedProblem<config_t>
 
- 
using Params = LBFGSBParams
 
- 
using Stats = LBFGSBStats
 
- 
using ProgressInfo = LBFGSBProgressInfo
 
- 
using SolveOptions = InnerSolveOptions<config_t>
 
Public Functions
- 
inline LBFGSBSolver(const Params ¶ms)
 
- 
Stats operator()(const Problem &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec err_z)
 - Parameters:
 problem – [in] Problem description
opts – [in] Solve options
x – [inout] Decision variable \( x \)
y – [inout] Lagrange multipliers \( y \)
Σ – [in] Constraint weights \( \Sigma \)
err_z – [out] Slack variable error \( g(x) - \Pi_D(g(x) + \Sigma^{-1} y) \)
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec u, rvec y, crvec Σ, rvec e) 
- 
inline LBFGSBSolver &set_progress_callback(std::function<void(const ProgressInfo&)> cb)
 Specify a callable that is invoked with some intermediate results on each iteration of the algorithm.
See also
- 
std::string get_name() const
 
- 
inline void stop()
 
- 
inline const Params &get_params() const
 
Public Members
- 
std::ostream *os = &std::cout
 
 - 
using Problem = TypeErasedProblem<config_t>
 
- 
template<Config Conf>
class LBFGSBSolver - #include <alpaqa/lbfgsb-adapter.hpp>
L-BFGS-B solver for ALM.
Public Types
- 
using Problem = TypeErasedProblem<config_t>
 
- 
using Params = ::LBFGSpp::LBFGSBParam<real_t>
 
- 
using Stats = LBFGSBStats<config_t>
 
- 
using SolveOptions = InnerSolveOptions<config_t>
 
Public Functions
- 
inline LBFGSBSolver(const Params ¶ms)
 
- 
Stats operator()(const Problem &problem, const SolveOptions &opts, rvec x, rvec y, crvec Σ, rvec err_z)
 
- 
template<class P>
inline Stats operator()(const P &problem, const SolveOptions &opts, rvec u, rvec y, crvec Σ, rvec e) 
- 
std::string get_name() const
 
- 
inline void stop()
 
- 
inline const Params &get_params() const
 
Public Members
- 
std::ostream *os = &std::cout
 
 - 
using Problem = TypeErasedProblem<config_t>
 
- 
template<Config Conf>