MLPACK
1.0.10
|
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 numConstraints, const arma::mat &initialPoint) | |
Create an LRSDP to be optimized. More... | |
LRSDP (const size_t numConstraints, const arma::mat &initialPoint, AugLagrangian< LRSDPFunction > &augLagrangian) | |
Create an LRSDP to be optimized, passing in an already-created AugLagrangian object. More... | |
const std::vector< arma::mat > & | A () const |
Return the vector of A matrices (which correspond to the constraints). More... | |
std::vector< arma::mat > & | A () |
Modify the veector of A matrices (which correspond to the constraints). More... | |
const arma::uvec & | AModes () const |
Return the vector of modes for the A matrices. More... | |
arma::uvec & | AModes () |
Modify the vector of modes for the A matrices. More... | |
const AugLagrangian < LRSDPFunction > & | AugLag () const |
Return the augmented Lagrangian object. More... | |
AugLagrangian< LRSDPFunction > & | AugLag () |
Modify the augmented Lagrangian object. More... | |
const arma::vec & | B () const |
Return the vector of B values. More... | |
arma::vec & | B () |
Modify the vector of B values. More... | |
const arma::mat & | C () const |
Return the objective function matrix (C). More... | |
arma::mat & | C () |
Modify the objective function matrix (C). More... | |
const LRSDPFunction & | Function () const |
Return the function to be optimized. More... | |
LRSDPFunction & | Function () |
Modify the function to be optimized. More... | |
double | Optimize (arma::mat &coordinates) |
Optimize the LRSDP and return the final objective value. More... | |
std::string | ToString () const |
Return a string representation of the object. More... | |
Private Attributes | |
AugLagrangian< LRSDPFunction > | augLag |
The AugLagrangian object which will be used for optimization. More... | |
LRSDPFunction | function |
Function to optimize, which the AugLagrangian object holds. 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.
mlpack::optimization::LRSDP::LRSDP | ( | const size_t | numConstraints, |
const arma::mat & | initialPoint | ||
) |
Create an LRSDP to be optimized.
The solution will end up being a matrix of size (rank) x (rows). To construct each constraint and the objective function, use the functions A(), B(), and C() to set them correctly.
numConstraints | Number of constraints in the problem. |
rank | Rank of the solution (<= rows). |
rows | Number of rows in the solution. |
mlpack::optimization::LRSDP::LRSDP | ( | const size_t | numConstraints, |
const arma::mat & | initialPoint, | ||
AugLagrangian< LRSDPFunction > & | augLagrangian | ||
) |
Create an LRSDP to be optimized, passing in an already-created AugLagrangian object.
The given initial point should be set to the size (rows) x (rank), where (rank) is the reduced rank of the problem.
numConstraints | Number of constraints in the problem. |
initialPoint | Initial point of the optimization. |
auglag | Pre-initialized AugLagrangian<LRSDP> object. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
double mlpack::optimization::LRSDP::Optimize | ( | arma::mat & | coordinates | ) |
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. |
std::string mlpack::optimization::LRSDP::ToString | ( | ) | const |
Return a string representation of the object.
|
private |
The AugLagrangian object which will be used for optimization.
Definition at line 113 of file lrsdp.hpp.
Referenced by AugLag().
|
private |
Function to optimize, which the AugLagrangian object holds.