mlpack  git-master
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 LRSDP< SDPType >:

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 AugLagrangianAugLag () const
 Return the augmented Lagrangian object. More...

 
AugLagrangianAugLag ()
 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...

 

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

◆ LRSDP()

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.

Parameters
numSparseConstraintsNumber of sparse constraints in the problem.
numDenseConstraintsNumber of dense constraints in the problem.
initialPointInitial point of the optimization.
maxIterationsMaximum number of iterations.

Member Function Documentation

◆ AugLag() [1/2]

const AugLagrangian& AugLag ( ) const
inline

Return the augmented Lagrangian object.

Definition at line 84 of file lrsdp.hpp.

◆ AugLag() [2/2]

AugLagrangian& AugLag ( )
inline

Modify the augmented Lagrangian object.

Definition at line 86 of file lrsdp.hpp.

◆ Function() [1/2]

const LRSDPFunction<SDPType>& Function ( ) const
inline

Return the function to be optimized.

Definition at line 79 of file lrsdp.hpp.

◆ Function() [2/2]

LRSDPFunction<SDPType>& Function ( )
inline

Modify the function to be optimized.

Definition at line 81 of file lrsdp.hpp.

◆ MaxIterations() [1/2]

size_t MaxIterations ( ) const
inline

Get the maximum number of iterations.

Definition at line 89 of file lrsdp.hpp.

◆ MaxIterations() [2/2]

size_t& MaxIterations ( )
inline

Modify the maximum number of iterations.

Definition at line 91 of file lrsdp.hpp.

◆ Optimize()

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.

Parameters
sdpSDP to be solved.
initialPointInitial point of the optimization.
maxIterationsMaximum 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.

Parameters
coordinatesStarting coordinates for the optimization.

◆ SDP() [1/2]

const SDPType& SDP ( ) const
inline

Return the SDP that will be solved.

Definition at line 74 of file lrsdp.hpp.

◆ SDP() [2/2]

SDPType& SDP ( )
inline

Modify the SDP that will be solved.

Definition at line 76 of file lrsdp.hpp.


The documentation for this class was generated from the following file:
  • /var/www/www.mlpack.org/mlpack-git/src/mlpack/core/optimizers/sdp/lrsdp.hpp