mlpack
master
|
Interface to a primal dual interior point solver. More...
Public Member Functions | |
PrimalDualSolver (const SDPType &sdp) | |
Construct a new solver instance from a given SDP instance. More... | |
PrimalDualSolver (const SDPType &sdp, const arma::mat &initialX, const arma::vec &initialYSparse, const arma::vec &initialYDense, const arma::mat &initialZ) | |
Construct a new solver instance from a given SDP instance. More... | |
double & | DualInfeasTol () |
Modify the dual infeasibility tolerance. More... | |
size_t & | MaxIterations () |
Modify the maximum number of iterations to run before converging. More... | |
double & | NormXzTol () |
Modify the XZ tolerance. More... | |
double | Optimize (arma::mat &X, arma::vec &ySparse, arma::vec &yDense, arma::mat &Z) |
Invoke the optimization procedure, returning the converged values for the primal and dual variables. More... | |
double | Optimize (arma::mat &X) |
Invoke the optimization procedure, and only return the primal variable. More... | |
double & | PrimalInfeasTol () |
Modify the primal infeasibility tolerance. More... | |
const SDPType & | SDP () const |
Return the underlying SDP instance. More... | |
double & | Tau () |
Modify tau. Typical values are 0.99. More... | |
Private Attributes | |
double | dualInfeasTol |
The tolerance required on the dual constraint required before terminating. More... | |
arma::mat | initialX |
Starting point for X. Needs to be positive definite. More... | |
arma::vec | initialYdense |
Starting lagrange multiplier for the sparse constraints. More... | |
arma::vec | initialYsparse |
Starting lagrange multiplier for the sparse constraints. More... | |
arma::mat | initialZ |
Starting point for Z, the complementary slack variable. Needs to be. More... | |
size_t | maxIterations |
Maximum number of iterations to run. Set to 0 for no limit. More... | |
double | normXzTol |
The tolerance on the norm of XZ required before terminating. More... | |
double | primalInfeasTol |
The tolerance required on the primal constraints required before terminating. More... | |
SDPType | sdp |
The SDP problem instance to optimize. More... | |
double | tau |
The step size modulating factor. Needs to be a scalar in (0, 1). More... | |
Interface to a primal dual interior point solver.
SDPType |
Definition at line 26 of file primal_dual.hpp.
mlpack::optimization::PrimalDualSolver< SDPType >::PrimalDualSolver | ( | const SDPType & | sdp | ) |
mlpack::optimization::PrimalDualSolver< SDPType >::PrimalDualSolver | ( | const SDPType & | sdp, |
const arma::mat & | initialX, | ||
const arma::vec & | initialYSparse, | ||
const arma::vec & | initialYDense, | ||
const arma::mat & | initialZ | ||
) |
|
inline |
Modify the dual infeasibility tolerance.
Definition at line 93 of file primal_dual.hpp.
References mlpack::optimization::PrimalDualSolver< SDPType >::dualInfeasTol.
|
inline |
Modify the maximum number of iterations to run before converging.
Definition at line 96 of file primal_dual.hpp.
References mlpack::optimization::PrimalDualSolver< SDPType >::maxIterations.
|
inline |
Modify the XZ tolerance.
Definition at line 87 of file primal_dual.hpp.
References mlpack::optimization::PrimalDualSolver< SDPType >::normXzTol.
double mlpack::optimization::PrimalDualSolver< SDPType >::Optimize | ( | arma::mat & | X, |
arma::vec & | ySparse, | ||
arma::vec & | yDense, | ||
arma::mat & | Z | ||
) |
Invoke the optimization procedure, returning the converged values for the primal and dual variables.
X | |
ySparse | |
yDense | |
Z |
Referenced by mlpack::optimization::PrimalDualSolver< SDPType >::Optimize().
|
inline |
Invoke the optimization procedure, and only return the primal variable.
X |
Definition at line 73 of file primal_dual.hpp.
References mlpack::optimization::PrimalDualSolver< SDPType >::Optimize().
|
inline |
Modify the primal infeasibility tolerance.
Definition at line 90 of file primal_dual.hpp.
References mlpack::optimization::PrimalDualSolver< SDPType >::primalInfeasTol.
|
inline |
Return the underlying SDP instance.
Definition at line 81 of file primal_dual.hpp.
References mlpack::optimization::PrimalDualSolver< SDPType >::sdp.
|
inline |
Modify tau. Typical values are 0.99.
Definition at line 84 of file primal_dual.hpp.
References mlpack::optimization::PrimalDualSolver< SDPType >::tau.
|
private |
The tolerance required on the dual constraint required before terminating.
Definition at line 126 of file primal_dual.hpp.
Referenced by mlpack::optimization::PrimalDualSolver< SDPType >::DualInfeasTol().
|
private |
Starting point for X. Needs to be positive definite.
Definition at line 103 of file primal_dual.hpp.
|
private |
Starting lagrange multiplier for the sparse constraints.
Definition at line 109 of file primal_dual.hpp.
|
private |
Starting lagrange multiplier for the sparse constraints.
Definition at line 106 of file primal_dual.hpp.
|
private |
Starting point for Z, the complementary slack variable. Needs to be.
Definition at line 113 of file primal_dual.hpp.
|
private |
Maximum number of iterations to run. Set to 0 for no limit.
Definition at line 129 of file primal_dual.hpp.
Referenced by mlpack::optimization::PrimalDualSolver< SDPType >::MaxIterations().
|
private |
The tolerance on the norm of XZ required before terminating.
Definition at line 119 of file primal_dual.hpp.
Referenced by mlpack::optimization::PrimalDualSolver< SDPType >::NormXzTol().
|
private |
The tolerance required on the primal constraints required before terminating.
Definition at line 123 of file primal_dual.hpp.
Referenced by mlpack::optimization::PrimalDualSolver< SDPType >::PrimalInfeasTol().
|
private |
The SDP problem instance to optimize.
Definition at line 100 of file primal_dual.hpp.
Referenced by mlpack::optimization::PrimalDualSolver< SDPType >::SDP().
|
private |
The step size modulating factor. Needs to be a scalar in (0, 1).
Definition at line 116 of file primal_dual.hpp.
Referenced by mlpack::optimization::PrimalDualSolver< SDPType >::Tau().