16template <Config Conf = DefaultConfig>
25 std::chrono::nanoseconds
max_time = std::chrono::minutes(5);
68 real_t(1e2) * std::numeric_limits<real_t>::epsilon();
74 real_t(1e2) * std::numeric_limits<real_t>::epsilon();
81template <Config Conf = DefaultConfig>
113template <Config Conf = DefaultConfig>
147template <Config Conf>
175 if (problem.get_num_constraints() != 0)
176 throw std::invalid_argument(
"Missing arguments y, Σ, e");
177 mvec y{
nullptr, 0}, Σ{
nullptr, 0}, e{
nullptr, 0};
203 std::ostream *
os = &std::cout;
206template <Config Conf>
269template <Config Conf>
294 acc.sum_τ += s.
sum_τ;
std::string get_name() const
PANOCOCPProgressInfo< config_t > ProgressInfo
std::function< void(const ProgressInfo &)> progress_cb
InnerSolveOptions< config_t > SolveOptions
Stats operator()(const P &problem, const SolveOptions &opts, rvec u, rvec y, crvec μ, rvec e)
PANOCOCPSolver(const Params ¶ms)
alpaqa::TypeErasedControlProblem< config_t > Problem
const Params & get_params() const
Stats operator()(const Problem &problem, const SolveOptions &opts, rvec u, rvec y, crvec μ, rvec err_z)
Stats operator()(const P &problem, const SolveOptions &opts, rvec u)
guanaqo::AtomicStopSignal stop_signal
PANOCOCPParams< config_t > Params
PANOCOCPStats< config_t > Stats
detail::PANOCHelpers< config_t > Helpers
PANOCOCPSolver & 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.
Nonlinear optimal control problem with finite horizon .
#define USING_ALPAQA_CONFIG(Conf)
#define ALPAQA_IF_QUADF(...)
#define ALPAQA_IF_LONGD(...)
#define ALPAQA_IF_FLOAT(...)
#define ALPAQA_EXPORT_EXTERN_TEMPLATE(...)
real_t linesearch_tolerance_factor
LipschitzEstimateParams< config_t > Lipschitz
bool disable_acceleration
bool reset_lbfgs_on_gn_step
real_t min_linesearch_coefficient
std::chrono::nanoseconds max_time
real_t quadratic_upperbound_tolerance_factor
real_t linesearch_strictness_factor
LBFGSParams< config_t > lbfgs_params
Parameters for the LBFGS class.
Parameters for the estimation of the Lipschitz constant of the gradient of the smooth term of the cos...
Tuning parameters for the PANOC algorithm.
unsigned stepsize_backtracks
unsigned direction_update_rejected
std::chrono::nanoseconds time_jacobians
@ ApproxKKT
Find an ε-approximate KKT point in the ∞-norm:
std::chrono::nanoseconds time_hessians
std::chrono::nanoseconds time_lbfgs_apply
std::chrono::nanoseconds time_lbfgs_indices
SolverStatus
Exit status of a numerical solver such as ALM or PANOC.
std::chrono::nanoseconds time_progress_callback
std::chrono::nanoseconds time_indices
std::chrono::nanoseconds elapsed_time
std::chrono::nanoseconds time_backward
typename Conf::real_t real_t
std::chrono::nanoseconds time_lqr_factor
unsigned direction_failures
unsigned linesearch_backtracks
InnerStatsAccumulator< FISTAStats< Conf > > & operator+=(InnerStatsAccumulator< FISTAStats< Conf > > &acc, const FISTAStats< Conf > &s)
typename Conf::length_t length_t
typename Conf::crvec crvec
std::chrono::nanoseconds time_prox
std::chrono::nanoseconds time_forward
unsigned linesearch_failures
std::chrono::nanoseconds time_lbfgs_update
std::chrono::nanoseconds time_lqr_solve
const TypeErasedControlProblem< config_t > * problem
const PANOCOCPParams< config_t > * params