Template Function proxsuite::proxqp::sparse::solve

Function Documentation

template<typename T, typename I>
proxqp::Results<T> proxsuite::proxqp::sparse::solve(optional<SparseMat<T, I>> H, optional<VecRef<T>> g, optional<SparseMat<T, I>> A, optional<VecRef<T>> b, optional<SparseMat<T, I>> C, optional<VecRef<T>> l, optional<VecRef<T>> u, optional<VecRef<T>> x = nullopt, optional<VecRef<T>> y = nullopt, optional<VecRef<T>> z = nullopt, optional<T> eps_abs = nullopt, optional<T> eps_rel = nullopt, optional<T> rho = nullopt, optional<T> mu_eq = nullopt, optional<T> mu_in = nullopt, optional<bool> verbose = nullopt, bool compute_preconditioner = true, bool compute_timings = false, optional<isize> max_iter = nullopt, proxsuite::proxqp::InitialGuessStatus initial_guess = proxsuite::proxqp::InitialGuessStatus::EQUALITY_CONSTRAINED_INITIAL_GUESS, proxsuite::proxqp::SparseBackend sparse_backend = proxsuite::proxqp::SparseBackend::Automatic, bool check_duality_gap = false, optional<T> eps_duality_gap_abs = nullopt, optional<T> eps_duality_gap_rel = nullopt)

Solves the QP problem using PROXQP algorithm without the need to define a QP object, with matrices defined by Dense Eigen matrices. It is possible to set up some of the solver parameters (warm start, initial guess option, proximal step sizes, absolute and relative accuracies, maximum number of iterations, preconditioner execution).

Parameters:
  • H – quadratic cost input defining the QP model.

  • g – linear cost input defining the QP model.

  • A – equality constraint matrix input defining the QP model.

  • b – equality constraint vector input defining the QP model.

  • C – inequality constraint matrix input defining the QP model.

  • l – lower inequality constraint vector input defining the QP model.

  • u – upper inequality constraint vector input defining the QP model.

  • x – primal warm start.

  • y – dual equality constraint warm start.

  • z – dual inequality constraint warm start.

  • verbose – if set to true, the solver prints more information about each iteration.

  • compute_preconditioner – boolean parameter for executing or not the preconditioner.

  • compute_timings – boolean parameter for computing the solver timings.

  • rho – proximal step size wrt primal variable.

  • mu_eq – proximal step size wrt equality constrained multiplier.

  • mu_in – proximal step size wrt inequality constrained multiplier.

  • eps_abs – absolute accuracy threshold.

  • eps_rel – relative accuracy threshold.

  • max_iter – maximum number of iteration.

  • initial_guess – initial guess option for warm starting or not the initial iterate values.

  • check_duality_gap – If set to true, include the duality gap in absolute and relative stopping criteria.

  • eps_duality_gap_abs – absolute accuracy threshold for the duality-gap criterion.

  • eps_duality_gap_rel – relative accuracy threshold for the duality-gap criterion.