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>