#include <jrl-qp/experimental/GoldfarbIdnaniSolver.h>


Classes | |
| struct | Problem |
Public Member Functions | |
| GoldfarbIdnaniSolver () | |
| GoldfarbIdnaniSolver (int nbVar, int nbCstr, bool useBounds) | |
| virtual | ~GoldfarbIdnaniSolver ()=default |
| TerminationStatus | solve (MatrixRef G, const VectorConstRef &a, const MatrixConstRef &C, const VectorConstRef &bl, const VectorConstRef &bu, const VectorConstRef &xl, const VectorConstRef &xu, const std::vector< ActivationStatus > &as={}) |
Public Member Functions inherited from jrl::qp::DualSolver | |
| DualSolver () | |
| DualSolver (int nbVar, int nbCstr, bool useBounds) | |
| virtual | ~DualSolver ()=default |
| void | resize (int nbVar, int nbCstr, bool useBounds) |
| void | options (const SolverOptions &options) |
| WConstVector | solution () const |
| WConstVector | multipliers () const |
| double | objectiveValue () const |
| int | iterations () const |
| const std::vector< ActivationStatus > & | activeSet () const |
| void | resetActiveSet () |
Protected Attributes | |
| internal::Workspace | work_d_ |
| internal::Workspace | work_J_ |
| internal::Workspace | work_R_ |
| internal::Workspace | work_tmp_ |
| internal::Workspace | work_hCoeffs_ |
| internal::Workspace | work_bact_ |
| Problem | pb_ |
Protected Attributes inherited from jrl::qp::DualSolver | |
| SolverOptions | options_ |
| utils::Logger | log_ |
| int | it_ |
| int | nbVar_ |
| internal::ActiveSet | A_ |
| double | f_ |
| internal::Workspace | work_x_ |
| internal::Workspace | work_z_ |
| internal::Workspace | work_u_ |
| internal::Workspace | work_r_ |
| bool | needToExpandMultipliers_ |
Implementation of the Goldfarb-Idnani dual QP solver.
| jrl::qp::experimental::GoldfarbIdnaniSolver::GoldfarbIdnaniSolver | ( | ) |
| jrl::qp::experimental::GoldfarbIdnaniSolver::GoldfarbIdnaniSolver | ( | int | nbVar, |
| int | nbCstr, | ||
| bool | useBounds | ||
| ) |
Pre-allocate the data for a problem with nbVar variables, nbCstr (general) constraints, and bounds if useBounds is true.
|
virtualdefault |
|
overrideprotectedvirtual |
Add a constraint to the active set and update the computation data accordingly.
Implements jrl::qp::DualSolver.
|
overrideprotectedvirtual |
Compute a primal step z and dual step r, given n+
Implements jrl::qp::DualSolver.
|
overrideprotectedvirtual |
Compute a step length and update x and u given the data n+, z and r.
Implements jrl::qp::DualSolver.
|
overrideprotectedvirtual |
Compute the dot product between the vector corresponding to sc and z.
Implements jrl::qp::DualSolver.
|
overrideprotectedvirtual |
Compute the initial iterate, the corresponding objective value and initialize any relevant data of the derived class.
Implements jrl::qp::DualSolver.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
overrideprotectedvirtual |
Remove the l-th active constraint from the active set and update the computation data accordingly.
Implements jrl::qp::DualSolver.
|
overrideprotectedvirtual |
Resize the data managed by the derived class.
Implements jrl::qp::DualSolver.
|
overrideprotectedvirtual |
Select the violated constraint to be considered for the current iteration.
Implements jrl::qp::DualSolver.
| TerminationStatus jrl::qp::experimental::GoldfarbIdnaniSolver::solve | ( | MatrixRef | G, |
| const VectorConstRef & | a, | ||
| const MatrixConstRef & | C, | ||
| const VectorConstRef & | bl, | ||
| const VectorConstRef & | bu, | ||
| const VectorConstRef & | xl, | ||
| const VectorConstRef & | xu, | ||
| const std::vector< ActivationStatus > & | as = {} |
||
| ) |
Solve the problem min. 0.5 x^T G x + a^T x s.t. bl <= C^T x <= bu xl <= x <= xu
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |