void LpToQp::init() { // Initialize the base classes LpSolverInternal::init(); // Create a QpSolver instance solver_ = QpSolver(getOption(solvername()), qpStruct("h", Sparsity::sparse(n_, n_), "a", input(LP_SOLVER_A).sparsity())); if (hasSetOption(optionsname())) solver_.setOption(getOption(optionsname())); solver_.init(); }
void StabilizedQpToQp::init() { // Initialize the base classes StabilizedQpSolverInternal::init(); // Form augmented QP Sparsity H_sparsity_qp = diagcat(st_[QP_STRUCT_H], Sparsity::diag(nc_)); Sparsity A_sparsity_qp = horzcat(st_[QP_STRUCT_A], Sparsity::diag(nc_)); std::string qp_solver_name = getOption("qp_solver"); qp_solver_ = QpSolver(qp_solver_name, qpStruct("h", H_sparsity_qp, "a", A_sparsity_qp)); // Pass options if provided if (hasSetOption("qp_solver_options")) { Dictionary qp_solver_options = getOption("qp_solver_options"); qp_solver_.setOption(qp_solver_options); } // Initialize the QP solver qp_solver_.init(); }