mlpack  master
Public Member Functions | Private Attributes | List of all members
mlpack::optimization::LRSDP< SDPType > Class Template Reference

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

Inheritance diagram for mlpack::optimization::LRSDP< SDPType >:
Inheritance graph
[legend]

Public Member Functions

 LRSDP (const size_t numSparseConstraints, const size_t numDenseConstraints, const arma::mat &initialPoint)
 Create an LRSDP to be optimized. More...
 
 LRSDP (const SDPType &sdp, const arma::mat &initialPoint)
 Create an LRSDP object with the given SDP problem to be solved, and the given initial point. More...
 
const AugLagrangian< LRSDPFunction< SDPType > > & AugLag () const
 Return the augmented Lagrangian object. More...
 
AugLagrangian< LRSDPFunction< SDPType > > & 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...
 
double Optimize (arma::mat &coordinates)
 Optimize the LRSDP and return the final objective value. More...
 
const SDPType & SDP () const
 Return the SDP that will be solved. More...
 
SDPType & SDP ()
 Modify the SDP that will be solved. More...
 

Private Attributes

AugLagrangian< LRSDPFunction< SDPType > > augLag
 The AugLagrangian object which will be used for optimization. More...
 
LRSDPFunction< SDPType > function
 Function to optimize, which the AugLagrangian object holds. More...
 

Detailed Description

template<typename SDPType>
class mlpack::optimization::LRSDP< SDPType >

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 30 of file lrsdp.hpp.

Constructor & Destructor Documentation

template<typename SDPType>
mlpack::optimization::LRSDP< SDPType >::LRSDP ( const size_t  numSparseConstraints,
const size_t  numDenseConstraints,
const arma::mat &  initialPoint 
)

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.

Parameters
numConstraintsNumber of constraints in the problem.
initialPointInitial point of the optimization.
template<typename SDPType>
mlpack::optimization::LRSDP< SDPType >::LRSDP ( const SDPType &  sdp,
const arma::mat &  initialPoint 
)

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.

Parameters
sdpSDP to be solved.
initialPointInitial point of the optimization.

Member Function Documentation

template<typename SDPType>
const AugLagrangian<LRSDPFunction<SDPType> >& mlpack::optimization::LRSDP< SDPType >::AugLag ( ) const
inline

Return the augmented Lagrangian object.

Definition at line 76 of file lrsdp.hpp.

template<typename SDPType>
AugLagrangian<LRSDPFunction<SDPType> >& mlpack::optimization::LRSDP< SDPType >::AugLag ( )
inline

Modify the augmented Lagrangian object.

Definition at line 78 of file lrsdp.hpp.

template<typename SDPType>
const LRSDPFunction<SDPType>& mlpack::optimization::LRSDP< SDPType >::Function ( ) const
inline

Return the function to be optimized.

Definition at line 71 of file lrsdp.hpp.

template<typename SDPType>
LRSDPFunction<SDPType>& mlpack::optimization::LRSDP< SDPType >::Function ( )
inline

Modify the function to be optimized.

Definition at line 73 of file lrsdp.hpp.

template<typename SDPType>
double mlpack::optimization::LRSDP< SDPType >::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
coordinatesStarting coordinates for the optimization.
template<typename SDPType>
const SDPType& mlpack::optimization::LRSDP< SDPType >::SDP ( ) const
inline

Return the SDP that will be solved.

Definition at line 66 of file lrsdp.hpp.

template<typename SDPType>
SDPType& mlpack::optimization::LRSDP< SDPType >::SDP ( )
inline

Modify the SDP that will be solved.

Definition at line 68 of file lrsdp.hpp.

Member Data Documentation

template<typename SDPType>
AugLagrangian<LRSDPFunction<SDPType> > mlpack::optimization::LRSDP< SDPType >::augLag
private

The AugLagrangian object which will be used for optimization.

Definition at line 85 of file lrsdp.hpp.

Referenced by mlpack::optimization::LRSDP< optimization::SDP< arma::sp_mat > >::AugLag().

template<typename SDPType>
LRSDPFunction<SDPType> mlpack::optimization::LRSDP< SDPType >::function
private

Function to optimize, which the AugLagrangian object holds.

Definition at line 82 of file lrsdp.hpp.


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