Drake
Drake C++ Documentation
CsdpSolverDetails Struct Reference

Detailed Description

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< doubleZ_val
 

Member Data Documentation

◆ dual_objective

double dual_objective {}

The dual objective value.

◆ primal_objective

double primal_objective {}

The primal objective value.

◆ return_code

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.

◆ y_val

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.

◆ Z_val

Eigen::SparseMatrix<double> Z_val

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