|
cyqlone
develop
Fast, parallel and vectorized solver for linear systems with optimal control structure.
|
Definition at line 35 of file linesearch.tpp.
Classes | |
| struct | Result |
Public Types | |
| using | vec_t = Vec |
Public Member Functions | |
| Result | operator() (auto &ctx, auto &backend, real_t η, real_t β, const vec_t &Σ, const vec_t &y, const vec_t &Ad, const vec_t &Ax, const vec_t &b_min, const vec_t &b_max) |
| Perform an exact line search on the augmented Lagrangian. | |
Static Public Member Functions | |
| static Result | find_stepsize_base (ABSum_t a, ABSum_t b, size_t i0, std::span< Breakpoint > pos_bp) |
| static Result | find_stepsize (ABSum_t a, ABSum_t b, size_t i0, std::span< Breakpoint > pos_bp, bool partition_1=true) |
Public Attributes | |
| LineSearchSettings | settings |
| std::vector< Breakpoint > | breakpoints |
| using cyqlone::qpalm::LineSearch< Vec >::vec_t = Vec |
Definition at line 36 of file linesearch.tpp.
| auto cyqlone::qpalm::LineSearch< Vec >::operator() | ( | auto & | ctx, |
| auto & | backend, | ||
| real_t | η, | ||
| real_t | β, | ||
| const vec_t & | Σ, | ||
| const vec_t & | y, | ||
| const vec_t & | Ad, | ||
| const vec_t & | Ax, | ||
| const vec_t & | b_min, | ||
| const vec_t & | b_max ) |
Perform an exact line search on the augmented Lagrangian.
Implements Algorithm 2 in the QPALM paper.
| η | \( \eta = \inprod{d}{\xi} \) |
| β | \( \beta = \inprod{d}{\grad\tilde f_k(x^{k,\nu})} \) |
| Σ | Penalty factor \( \Sigma_k \) (diagonal) |
| y | Lagrange multipliers \( y^k \) |
| Ad | Matrix-vector product \( A d \) |
| Ax | Matrix-vector product \( A x^{k,\nu} \) |
| b_min | Constraint lower bound \( b_\mathrm{min} \) |
| b_max | Constraint upper bound \( b_\mathrm{max} \) |
Definition at line 123 of file linesearch.tpp.
|
static |
Definition at line 54 of file linesearch.tpp.
|
static |
Definition at line 77 of file linesearch.tpp.
| LineSearchSettings cyqlone::qpalm::LineSearch< Vec >::settings |
Definition at line 37 of file linesearch.tpp.
| std::vector<Breakpoint> cyqlone::qpalm::LineSearch< Vec >::breakpoints |
Definition at line 38 of file linesearch.tpp.