LRSDP is the implementation of Monteiro and Burer's formulation of low-rank semidefinite programs (LR-SDP). More...

Public Member Functions | |
| LRSDP (const size_t numSparseConstraints, const size_t numDenseConstraints, const arma::mat &initialPoint, const size_t maxIterations=1000) | |
| Create an LRSDP to be optimized. More... | |
| const AugLagrangian & | AugLag () const |
| Return the augmented Lagrangian object. More... | |
| AugLagrangian & | AugLag () |
| Modify the augmented Lagrangian object. More... | |
| const LRSDPFunction< SDPType > & | Function () const |
| Return the function to be optimized. More... | |
| LRSDPFunction< SDPType > & | Function () |
| Modify the function to be optimized. More... | |
| size_t | MaxIterations () const |
| Get the maximum number of iterations. More... | |
| size_t & | MaxIterations () |
| Modify the maximum number of iterations. More... | |
| double | Optimize (arma::mat &coordinates) |
| Create an LRSDP object with the given SDP problem to be solved, and the given initial point. More... | |
| const SDPType & | SDP () const |
| Return the SDP that will be solved. More... | |
| SDPType & | SDP () |
| Modify the SDP that will be solved. More... | |
LRSDP is the implementation of Monteiro and Burer's formulation of low-rank semidefinite programs (LR-SDP).
This solver uses the augmented Lagrangian optimizer to solve low-rank semidefinite programs.
| LRSDP | ( | const size_t | numSparseConstraints, |
| const size_t | numDenseConstraints, | ||
| const arma::mat & | initialPoint, | ||
| const size_t | maxIterations = 1000 |
||
| ) |
Create an LRSDP to be optimized.
The solution will end up being a matrix of size (rows) x (rank). To construct each constraint and the objective function, use the function SDP() in order to access the SDPType object associated with this optimizer.
| numSparseConstraints | Number of sparse constraints in the problem. |
| numDenseConstraints | Number of dense constraints in the problem. |
| initialPoint | Initial point of the optimization. |
| maxIterations | Maximum number of iterations. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| double Optimize | ( | arma::mat & | coordinates | ) |
Create an LRSDP object with the given SDP problem to be solved, and the given initial point.
Note that the SDP may be modified later by calling SDP() to access the object.
TODO: this is currently not implemented.
| sdp | SDP to be solved. |
| initialPoint | Initial point of the optimization. |
| maxIterations | Maximum number of iterations. |
LRSDP(const SDPType& sdp, const arma::mat& initialPoint, const size_t maxIterations = 1000); Optimize the LRSDP and return the final objective value. The given coordinates will be modified to contain the final solution.
| coordinates | Starting coordinates for the optimization. |
|
inline |
|
inline |