mlpack
master
|
This function is the Lovasz-Theta semidefinite program, as implemented in the following paper: More...
Public Member Functions | |
LovaszThetaSDP () | |
LovaszThetaSDP (const arma::mat &edges) | |
Initialize the Lovasz-Theta SDP with the given set of edges. More... | |
const arma::mat & | Edges () const |
arma::mat & | Edges () |
double | Evaluate (const arma::mat &coordinates) |
double | EvaluateConstraint (const size_t index, const arma::mat &coordinates) |
const arma::mat & | GetInitialPoint () |
void | Gradient (const arma::mat &coordinates, arma::mat &gradient) |
void | GradientConstraint (const size_t index, const arma::mat &coordinates, arma::mat &gradient) |
size_t | NumConstraints () const |
Private Attributes | |
arma::mat | edges |
arma::mat | initialPoint |
size_t | vertices |
This function is the Lovasz-Theta semidefinite program, as implemented in the following paper:
S. Burer, R. Monteiro "A nonlinear programming algorithm for solving semidefinite programs via low-rank factorization." Journal of Mathematical Programming, 2004
Given a simple, undirected graph G = (V, E), the Lovasz-Theta SDP is defined by:
min_X{Tr(-(e e^T)^T X) : Tr(X) = 1, X_ij = 0 for all (i, j) in E, X >= 0}
where e is the vector of all ones and X has dimension |V| x |V|.
In the Monteiro-Burer formulation, we take X = R * R^T, where R is the coordinates given to the Evaluate(), Gradient(), EvaluateConstraint(), and GradientConstraint() functions.
Definition at line 103 of file aug_lagrangian_test_functions.hpp.
mlpack::optimization::LovaszThetaSDP::LovaszThetaSDP | ( | ) |
mlpack::optimization::LovaszThetaSDP::LovaszThetaSDP | ( | const arma::mat & | edges | ) |
Initialize the Lovasz-Theta SDP with the given set of edges.
The edge matrix should consist of rows of two dimensions, where dimension 0 is the first vertex of the edge and dimension 1 is the second edge (or vice versa, as it doesn't make a difference).
edges | Matrix of edges. |
|
inline |
Definition at line 130 of file aug_lagrangian_test_functions.hpp.
|
inline |
Definition at line 131 of file aug_lagrangian_test_functions.hpp.
double mlpack::optimization::LovaszThetaSDP::Evaluate | ( | const arma::mat & | coordinates | ) |
double mlpack::optimization::LovaszThetaSDP::EvaluateConstraint | ( | const size_t | index, |
const arma::mat & | coordinates | ||
) |
const arma::mat& mlpack::optimization::LovaszThetaSDP::GetInitialPoint | ( | ) |
void mlpack::optimization::LovaszThetaSDP::Gradient | ( | const arma::mat & | coordinates, |
arma::mat & | gradient | ||
) |
void mlpack::optimization::LovaszThetaSDP::GradientConstraint | ( | const size_t | index, |
const arma::mat & | coordinates, | ||
arma::mat & | gradient | ||
) |
size_t mlpack::optimization::LovaszThetaSDP::NumConstraints | ( | ) | const |
|
private |
Definition at line 134 of file aug_lagrangian_test_functions.hpp.
|
private |
Definition at line 137 of file aug_lagrangian_test_functions.hpp.
|
private |
Definition at line 135 of file aug_lagrangian_test_functions.hpp.