13 #ifndef MLPACK_CORE_OPTIMIZERS_SDP_LRSDP_HPP 14 #define MLPACK_CORE_OPTIMIZERS_SDP_LRSDP_HPP 22 namespace optimization {
29 template <
typename SDPType>
44 LRSDP(
const size_t numSparseConstraints,
45 const size_t numDenseConstraints,
46 const arma::mat& initialPoint,
47 const size_t maxIterations = 1000);
71 double Optimize(arma::mat& coordinates);
74 const SDPType&
SDP()
const {
return function.
SDP(); }
76 SDPType&
SDP() {
return function.
SDP(); }
106 #include "lrsdp_impl.hpp"
double Optimize(arma::mat &coordinates)
Create an LRSDP object with the given SDP problem to be solved, and the given initial point...
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 objective function that LRSDP is trying to optimize.
The core includes that mlpack expects; standard C++ includes and Armadillo.
LRSDP is the implementation of Monteiro and Burer's formulation of low-rank semidefinite programs (LR...
const LRSDPFunction< SDPType > & Function() const
Return the function to be optimized.
The AugLagrangian class implements the Augmented Lagrangian method of optimization.
const SDPType & SDP() const
Return the SDP that will be solved.
LRSDPFunction< SDPType > & Function()
Modify the function to be optimized.
const AugLagrangian & AugLag() const
Return the augmented Lagrangian object.
SDPType & SDP()
Modify the SDP that will be solved.
SDP()
Initialize this SDP to an empty state.
size_t MaxIterations() const
Get the maximum number of iterations.
size_t & MaxIterations()
Modify the maximum number of iterations.
AugLagrangian & AugLag()
Modify the augmented Lagrangian object.