The CSDP solver details after calling Solve() function.
The user can call MathematicalProgramResult::get_solver_details<CsdpSolver>() to obtain the details.
#include <drake/solvers/csdp_solver.h>
Public Attributes | |
int | return_code {} |
Refer to the Return Codes section of CSDP 6.2.0 User's Guide for explanation on the return code. More... | |
double | primal_objective {} |
The primal objective value. More... | |
double | dual_objective {} |
The dual objective value. More... | |
Eigen::VectorXd | y_val |
CSDP solves a primal problem of the form. More... | |
Eigen::SparseMatrix< double > | Z_val |
double dual_objective {} |
The dual objective value.
double primal_objective {} |
The primal objective value.
int return_code {} |
Refer to the Return Codes section of CSDP 6.2.0 User's Guide for explanation on the return code.
Some of the common return codes are
0 Problem is solved to optimality. 1 Problem is primal infeasible. 2 Problem is dual infeasible. 3 Problem solved to near optimality. 4 Maximum iterations reached. 5 Stuck at edge of primal feasibility. 6 Stuck at edge of dual feasibility. 7 Lack of progress. 8 X, Z, or O is singular. 9 NaN or Inf values encountered.
Eigen::VectorXd y_val |
CSDP solves a primal problem of the form.
max tr(C*X) s.t tr(Aᵢ*X) = aᵢ X ≽ 0
The dual form is
min aᵀy s.t ∑ᵢ yᵢAᵢ - C = Z Z ≽ 0
y, Z are the variables for the dual problem. y_val, Z_val are the solutions to the dual problem.
Eigen::SparseMatrix<double> Z_val |