proxsuite 0.6.4
The Advanced Proximal Optimization Toolbox
Loading...
Searching...
No Matches
proxsuite::proxqp::dense::QP< T > Struct Template Reference

#include <proxsuite/proxqp/dense/wrapper.hpp>

Public Member Functions

 QP (isize _dim, isize _n_eq, isize _n_in, bool _box_constraints, proxsuite::proxqp::HessianType _hessian_type, DenseBackend _dense_backend)
 
 QP (isize _dim, isize _n_eq, isize _n_in, bool _box_constraints, DenseBackend _dense_backend, proxsuite::proxqp::HessianType _hessian_type)
 
 QP (isize _dim, isize _n_eq, isize _n_in, bool _box_constraints, proxsuite::proxqp::HessianType _hessian_type)
 
 QP (isize _dim, isize _n_eq, isize _n_in, bool _box_constraints, DenseBackend _dense_backend)
 
 QP (isize _dim, isize _n_eq, isize _n_in, bool _box_constraints)
 
 QP (isize _dim, isize _n_eq, isize _n_in, proxsuite::proxqp::HessianType _hessian_type)
 
 QP (isize _dim, isize _n_eq, isize _n_in)
 
bool is_box_constrained () const
 
DenseBackend which_dense_backend () const
 
HessianType which_hessian_type () const
 
void init (optional< MatRef< T > > H, optional< VecRef< T > > g, optional< MatRef< T > > A, optional< VecRef< T > > b, optional< MatRef< T > > C, optional< VecRef< T > > l, optional< VecRef< T > > u, bool compute_preconditioner=true, optional< T > rho=nullopt, optional< T > mu_eq=nullopt, optional< T > mu_in=nullopt, optional< T > manual_minimal_H_eigenvalue=nullopt)
 
void init (optional< MatRef< T > > H, optional< VecRef< T > > g, optional< MatRef< T > > A, optional< VecRef< T > > b, optional< MatRef< T > > C, optional< VecRef< T > > l, optional< VecRef< T > > u, optional< VecRef< T > > l_box, optional< VecRef< T > > u_box, bool compute_preconditioner=true, optional< T > rho=nullopt, optional< T > mu_eq=nullopt, optional< T > mu_in=nullopt, optional< T > manual_minimal_H_eigenvalue=nullopt)
 
void update (optional< MatRef< T > > H, optional< VecRef< T > > g, optional< MatRef< T > > A, optional< VecRef< T > > b, optional< MatRef< T > > C, optional< VecRef< T > > l, optional< VecRef< T > > u, bool update_preconditioner=false, optional< T > rho=nullopt, optional< T > mu_eq=nullopt, optional< T > mu_in=nullopt, optional< T > manual_minimal_H_eigenvalue=nullopt)
 
void update (optional< MatRef< T > > H, optional< VecRef< T > > g, optional< MatRef< T > > A, optional< VecRef< T > > b, optional< MatRef< T > > C, optional< VecRef< T > > l, optional< VecRef< T > > u, optional< VecRef< T > > l_box, optional< VecRef< T > > u_box, bool update_preconditioner=false, optional< T > rho=nullopt, optional< T > mu_eq=nullopt, optional< T > mu_in=nullopt, optional< T > manual_minimal_H_eigenvalue=nullopt)
 
void solve ()
 
void solve (optional< VecRef< T > > x, optional< VecRef< T > > y, optional< VecRef< T > > z)
 
void cleanup ()
 

Public Attributes

Results< T > results
 
Settings< T > settings
 
Model< T > model
 
Workspace< T > work
 
preconditioner::RuizEquilibration< T > ruiz
 

Detailed Description

template<typename T>
struct proxsuite::proxqp::dense::QP< T >

Definition at line 115 of file wrapper.hpp.

Constructor & Destructor Documentation

◆ QP() [1/7]

template<typename T >
proxsuite::proxqp::dense::QP< T >::QP ( isize _dim,
isize _n_eq,
isize _n_in,
bool _box_constraints,
proxsuite::proxqp::HessianType _hessian_type,
DenseBackend _dense_backend )
inline

Default constructor using QP model dimensions.

Parameters
_dimprimal variable dimension.
_n_eqnumber of equality constraints.
_n_innumber of inequality constraints.
_hessian_typeproblem type (QP, LP, DIAGONAL)
_box_constraintsspecify that there are (or not) box constraints.
_dense_backendspecify which factorization is used.

Definition at line 140 of file wrapper.hpp.

◆ QP() [2/7]

template<typename T >
proxsuite::proxqp::dense::QP< T >::QP ( isize _dim,
isize _n_eq,
isize _n_in,
bool _box_constraints,
DenseBackend _dense_backend,
proxsuite::proxqp::HessianType _hessian_type )
inline

Default constructor using QP model dimensions.

Parameters
_dimprimal variable dimension.
_n_eqnumber of equality constraints.
_n_innumber of inequality constraints.
_hessian_typeproblem type (QP, LP, DIAGONAL)
_box_constraintsspecify that there are (or not) box constraints.
_dense_backendspecify which factorization is used.

Definition at line 173 of file wrapper.hpp.

◆ QP() [3/7]

template<typename T >
proxsuite::proxqp::dense::QP< T >::QP ( isize _dim,
isize _n_eq,
isize _n_in,
bool _box_constraints,
proxsuite::proxqp::HessianType _hessian_type )
inline

Default constructor using QP model dimensions.

Parameters
_dimprimal variable dimension.
_n_eqnumber of equality constraints.
_n_innumber of inequality constraints.
_hessian_typeproblem type (QP, LP, DIAGONAL)
_box_constraintsspecify that there are (or not) box constraints.

Definition at line 205 of file wrapper.hpp.

◆ QP() [4/7]

template<typename T >
proxsuite::proxqp::dense::QP< T >::QP ( isize _dim,
isize _n_eq,
isize _n_in,
bool _box_constraints,
DenseBackend _dense_backend )
inline

Default constructor using QP model dimensions.

Parameters
_dimprimal variable dimension.
_n_eqnumber of equality constraints.
_n_innumber of inequality constraints.
_hessian_typeproblem type (QP, LP, DIAGONAL)
_box_constraintsspecify that there are (or not) box constraints.
_dense_backendspecify which factorization is used.

Definition at line 237 of file wrapper.hpp.

◆ QP() [5/7]

template<typename T >
proxsuite::proxqp::dense::QP< T >::QP ( isize _dim,
isize _n_eq,
isize _n_in,
bool _box_constraints )
inline

Default constructor using QP model dimensions.

Parameters
_dimprimal variable dimension.
_n_eqnumber of equality constraints.
_n_innumber of inequality constraints.
_box_constraintsspecify that there are (or not) box constraints.

Definition at line 267 of file wrapper.hpp.

◆ QP() [6/7]

template<typename T >
proxsuite::proxqp::dense::QP< T >::QP ( isize _dim,
isize _n_eq,
isize _n_in,
proxsuite::proxqp::HessianType _hessian_type )
inline

Default constructor using QP model dimensions.

Parameters
_dimprimal variable dimension.
_n_eqnumber of equality constraints.
_n_innumber of inequality constraints.
_hessian_typespecify that there are (or not) box constraints.

Definition at line 293 of file wrapper.hpp.

◆ QP() [7/7]

template<typename T >
proxsuite::proxqp::dense::QP< T >::QP ( isize _dim,
isize _n_eq,
isize _n_in )
inline

Default constructor using QP model dimensions.

Parameters
_dimprimal variable dimension.
_n_eqnumber of equality constraints.
_n_innumber of inequality constraints.

Definition at line 318 of file wrapper.hpp.

Member Function Documentation

◆ is_box_constrained()

template<typename T >
bool proxsuite::proxqp::dense::QP< T >::is_box_constrained ( ) const
inline

Definition at line 334 of file wrapper.hpp.

◆ which_dense_backend()

template<typename T >
DenseBackend proxsuite::proxqp::dense::QP< T >::which_dense_backend ( ) const
inline

Definition at line 335 of file wrapper.hpp.

◆ which_hessian_type()

template<typename T >
HessianType proxsuite::proxqp::dense::QP< T >::which_hessian_type ( ) const
inline

Definition at line 336 of file wrapper.hpp.

◆ init() [1/2]

template<typename T >
void proxsuite::proxqp::dense::QP< T >::init ( optional< MatRef< T > > H,
optional< VecRef< T > > g,
optional< MatRef< T > > A,
optional< VecRef< T > > b,
optional< MatRef< T > > C,
optional< VecRef< T > > l,
optional< VecRef< T > > u,
bool compute_preconditioner = true,
optional< T > rho = nullopt,
optional< T > mu_eq = nullopt,
optional< T > mu_in = nullopt,
optional< T > manual_minimal_H_eigenvalue = nullopt )
inline

Setups the QP model (with dense matrix format) and equilibrates it if specified by the user.

Parameters
Hquadratic cost input defining the QP model.
glinear cost input defining the QP model.
Aequality constraint matrix input defining the QP model.
bequality constraint vector input defining the QP model.
Cinequality constraint matrix input defining the QP model.
llower inequality constraint vector input defining the QP model.
uupper inequality constraint vector input defining the QP model.
compute_preconditionerboolean parameter for executing or not the preconditioner.
rhoproximal step size wrt primal variable.
mu_eqproximal step size wrt equality constrained multiplier.
mu_inproximal step size wrt inequality constrained multiplier.
manual_minimal_H_eigenvaluemanual minimal eigenvalue proposed for H

Definition at line 354 of file wrapper.hpp.

◆ init() [2/2]

template<typename T >
void proxsuite::proxqp::dense::QP< T >::init ( optional< MatRef< T > > H,
optional< VecRef< T > > g,
optional< MatRef< T > > A,
optional< VecRef< T > > b,
optional< MatRef< T > > C,
optional< VecRef< T > > l,
optional< VecRef< T > > u,
optional< VecRef< T > > l_box,
optional< VecRef< T > > u_box,
bool compute_preconditioner = true,
optional< T > rho = nullopt,
optional< T > mu_eq = nullopt,
optional< T > mu_in = nullopt,
optional< T > manual_minimal_H_eigenvalue = nullopt )
inline

Setups the QP model (with dense matrix format) and equilibrates it if specified by the user.

Parameters
Hquadratic cost input defining the QP model.
glinear cost input defining the QP model.
Aequality constraint matrix input defining the QP model.
bequality constraint vector input defining the QP model.
Cinequality constraint matrix input defining the QP model.
llower inequality constraint vector input defining the QP model.
uupper inequality constraint vector input defining the QP model.
l_boxlower box inequality constraint vector input defining the QP model.
u_boxuppper box inequality constraint vector input defining the QP model.
compute_preconditionerboolean parameter for executing or not the preconditioner.
rhoproximal step size wrt primal variable.
mu_eqproximal step size wrt equality constrained multiplier.
mu_inproximal step size wrt inequality constrained multiplier.
manual_minimal_H_eigenvaluemanual minimal eigenvalue proposed for H

Definition at line 520 of file wrapper.hpp.

◆ update() [1/2]

template<typename T >
void proxsuite::proxqp::dense::QP< T >::update ( optional< MatRef< T > > H,
optional< VecRef< T > > g,
optional< MatRef< T > > A,
optional< VecRef< T > > b,
optional< MatRef< T > > C,
optional< VecRef< T > > l,
optional< VecRef< T > > u,
bool update_preconditioner = false,
optional< T > rho = nullopt,
optional< T > mu_eq = nullopt,
optional< T > mu_in = nullopt,
optional< T > manual_minimal_H_eigenvalue = nullopt )
inline

Updates the QP model (with dense matrix format) and re-equilibrates it if specified by the user.

Parameters
Hquadratic cost input defining the QP model.
glinear cost input defining the QP model.
Aequality constraint matrix input defining the QP model.
bequality constraint vector input defining the QP model.
Cinequality constraint matrix input defining the QP model.
llower inequality constraint vector input defining the QP model.
uupper inequality constraint vector input defining the QP model.
update_preconditionerbool parameter for updating or not the preconditioner and the associated scaled model.
rhoproximal step size wrt primal variable.
mu_eqproximal step size wrt equality constrained multiplier.
mu_inproximal step size wrt inequality constrained multiplier.
manual_minimal_H_eigenvaluemanual minimal eigenvalue proposed for H
Note
The init method should be called before update. If it has not been done before, init is called depending on the is_initialized flag.

Definition at line 723 of file wrapper.hpp.

◆ update() [2/2]

template<typename T >
void proxsuite::proxqp::dense::QP< T >::update ( optional< MatRef< T > > H,
optional< VecRef< T > > g,
optional< MatRef< T > > A,
optional< VecRef< T > > b,
optional< MatRef< T > > C,
optional< VecRef< T > > l,
optional< VecRef< T > > u,
optional< VecRef< T > > l_box,
optional< VecRef< T > > u_box,
bool update_preconditioner = false,
optional< T > rho = nullopt,
optional< T > mu_eq = nullopt,
optional< T > mu_in = nullopt,
optional< T > manual_minimal_H_eigenvalue = nullopt )
inline

Updates the QP model (with dense matrix format) and re-equilibrates it if specified by the user.

Parameters
Hquadratic cost input defining the QP model.
glinear cost input defining the QP model.
Aequality constraint matrix input defining the QP model.
bequality constraint vector input defining the QP model.
Cinequality constraint matrix input defining the QP model.
llower inequality constraint vector input defining the QP model.
uupper inequality constraint vector input defining the QP model.
l_boxlower inequality constraint vector input defining the QP model.
u_boxupper inequality constraint vector input defining the QP model.
update_preconditionerbool parameter for updating or not the preconditioner and the associated scaled model.
rhoproximal step size wrt primal variable.
mu_eqproximal step size wrt equality constrained multiplier.
mu_inproximal step size wrt inequality constrained multiplier.
manual_minimal_H_eigenvaluemanual minimal eigenvalue proposed for H
Note
The init method should be called before update. If it has not been done before, init is called depending on the is_initialized flag.

Definition at line 831 of file wrapper.hpp.

◆ solve() [1/2]

template<typename T >
void proxsuite::proxqp::dense::QP< T >::solve ( )
inline

Solves the QP problem using PRXOQP algorithm.

Definition at line 922 of file wrapper.hpp.

◆ solve() [2/2]

template<typename T >
void proxsuite::proxqp::dense::QP< T >::solve ( optional< VecRef< T > > x,
optional< VecRef< T > > y,
optional< VecRef< T > > z )
inline

Solves the QP problem using PROXQP algorithm using a warm start.

Parameters
xprimal warm start.
ydual equality warm start.
zdual inequality warm start.

Definition at line 940 of file wrapper.hpp.

◆ cleanup()

template<typename T >
void proxsuite::proxqp::dense::QP< T >::cleanup ( )
inline

Clean-ups solver's results and workspace.

Definition at line 958 of file wrapper.hpp.

Member Data Documentation

◆ results

template<typename T >
Results<T> proxsuite::proxqp::dense::QP< T >::results

Definition at line 125 of file wrapper.hpp.

◆ settings

template<typename T >
Settings<T> proxsuite::proxqp::dense::QP< T >::settings

Definition at line 126 of file wrapper.hpp.

◆ model

template<typename T >
Model<T> proxsuite::proxqp::dense::QP< T >::model

Definition at line 127 of file wrapper.hpp.

◆ work

template<typename T >
Workspace<T> proxsuite::proxqp::dense::QP< T >::work

Definition at line 128 of file wrapper.hpp.

◆ ruiz

Definition at line 129 of file wrapper.hpp.


The documentation for this struct was generated from the following file: