SYNOPSIS
Public Member Functions
LRSDP (const size_t numConstraints, const arma::mat &initialPoint)
Create an LRSDP to be optimized.
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.
const std::vector< arma::mat > & A () const
Return the vector of A matrices (which correspond to the constraints).
std::vector< arma::mat > & A ()
Modify the veector of A matrices (which correspond to the constraints).
const arma::uvec & AModes () const
Return the vector of modes for the A matrices.
arma::uvec & AModes ()
Modify the vector of modes for the A matrices.
const AugLagrangian
< LRSDPFunction > & AugLag () const "
Return the augmented Lagrangian object.
AugLagrangian< LRSDPFunction > & AugLag ()
Modify the augmented Lagrangian object.
const arma::vec & B () const
Return the vector of B values.
arma::vec & B ()
Modify the vector of B values.
const arma::mat & C () const
Return the objective function matrix (C).
arma::mat & C ()
Modify the objective function matrix (C).
const LRSDPFunction & Function () const
Return the function to be optimized.
LRSDPFunction & Function ()
Modify the function to be optimized.
double Optimize (arma::mat &coordinates)
Optimize the LRSDP and return the final objective value.
std::string ToString () const
Return a string representation of the object.
Private Attributes
AugLagrangian< LRSDPFunction > augLag
The AugLagrangian object which will be used for optimization.
LRSDPFunction function
Function to optimize, which the AugLagrangian object holds.
Detailed Description
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.
Definition at line 39 of file lrsdp.hpp.
Constructor & Destructor Documentation
mlpack::optimization::LRSDP::LRSDP (const size_tnumConstraints, 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.
Parameters:
-
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_tnumConstraints, 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.
Parameters:
-
numConstraints Number of constraints in the problem.
initialPoint Initial point of the optimization.
auglag Pre-initialized AugLagrangian<LRSDP> object.
Member Function Documentation
const std::vector<arma::mat>& mlpack::optimization::LRSDP::A () const [inline]
Return the vector of A matrices (which correspond to the constraints).
Definition at line 81 of file lrsdp.hpp.
std::vector<arma::mat>& mlpack::optimization::LRSDP::A () [inline]
Modify the veector of A matrices (which correspond to the constraints).
Definition at line 83 of file lrsdp.hpp.
const arma::uvec& mlpack::optimization::LRSDP::AModes () const [inline]
Return the vector of modes for the A matrices.
Definition at line 86 of file lrsdp.hpp.
arma::uvec& mlpack::optimization::LRSDP::AModes () [inline]
Modify the vector of modes for the A matrices.
Definition at line 88 of file lrsdp.hpp.
const AugLagrangian<LRSDPFunction>& mlpack::optimization::LRSDP::AugLag () const [inline]
Return the augmented Lagrangian object.
Definition at line 101 of file lrsdp.hpp.
References augLag.
AugLagrangian<LRSDPFunction>& mlpack::optimization::LRSDP::AugLag () [inline]
Modify the augmented Lagrangian object.
Definition at line 103 of file lrsdp.hpp.
References augLag.
const arma::vec& mlpack::optimization::LRSDP::B () const [inline]
Return the vector of B values.
Definition at line 91 of file lrsdp.hpp.
arma::vec& mlpack::optimization::LRSDP::B () [inline]
Modify the vector of B values.
Definition at line 93 of file lrsdp.hpp.
const arma::mat& mlpack::optimization::LRSDP::C () const [inline]
Return the objective function matrix (C).
Definition at line 76 of file lrsdp.hpp.
arma::mat& mlpack::optimization::LRSDP::C () [inline]
Modify the objective function matrix (C).
Definition at line 78 of file lrsdp.hpp.
const LRSDPFunction& mlpack::optimization::LRSDP::Function () const [inline]
Return the function to be optimized.
Definition at line 96 of file lrsdp.hpp.
LRSDPFunction& mlpack::optimization::LRSDP::Function () [inline]
Modify the function to be optimized.
Definition at line 98 of file lrsdp.hpp.
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.
Parameters:
- coordinates Starting coordinates for the optimization.
std::string mlpack::optimization::LRSDP::ToString () const
Return a string representation of the object.
Member Data Documentation
AugLagrangian<LRSDPFunction> mlpack::optimization::LRSDP::augLag [private]
The AugLagrangian object which will be used for optimization.
Definition at line 113 of file lrsdp.hpp.
Referenced by AugLag().
LRSDPFunction mlpack::optimization::LRSDP::function [private]
Function to optimize, which the AugLagrangian object holds.
Definition at line 110 of file lrsdp.hpp.
Author
Generated automatically by Doxygen for MLPACK from the source code.