Drake
|
#include <drake/solvers/MobyLCP.h>
Public Member Functions | |
MobyLCPSolver () | |
virtual | ~MobyLCPSolver () |
void | SetLoggingEnabled (bool enabled) |
bool | SolveLcpFast (const Eigen::MatrixXd &M, const Eigen::VectorXd &q, Eigen::VectorXd *z, double zero_tol=-1.0) const |
Fast pivoting algorithm for denerate, monotone LCPs with few nonzero, nonbasic variables. More... | |
bool | SolveLcpFastRegularized (const Eigen::MatrixXd &M, const Eigen::VectorXd &q, Eigen::VectorXd *z, int min_exp=-20, unsigned step_exp=4, int max_exp=20, double zero_tol=-1.0) const |
Regularized wrapper around PPM I. More... | |
bool | SolveLcpLemke (const Eigen::MatrixXd &M, const Eigen::VectorXd &q, Eigen::VectorXd *z, double piv_tol=-1.0, double zero_tol=-1.0) const |
Lemke's algorithm for solving linear complementarity problems. More... | |
bool | SolveLcpLemkeRegularized (const Eigen::MatrixXd &M, const Eigen::VectorXd &q, Eigen::VectorXd *z, int min_exp=-20, unsigned step_exp=1, int max_exp=1, double piv_tol=-1.0, double zero_tol=-1.0) const |
Regularized wrapper around Lemke's algorithm. More... | |
bool | SolveLcpLemke (const Eigen::SparseMatrix< double > &M, const Eigen::VectorXd &q, Eigen::VectorXd *z, double piv_tol=-1.0, double zero_tol=-1.0) const |
Lemke's algorithm for solving linear complementarity problems using sparse matrices. More... | |
bool | SolveLcpLemkeRegularized (const Eigen::SparseMatrix< double > &M, const Eigen::VectorXd &q, Eigen::VectorXd *z, int min_exp=-20, unsigned step_exp=4, int max_exp=20, double piv_tol=-1.0, double zero_tol=-1.0) const |
Regularized wrapper around Lemke's algorithm for srpase matrices. More... | |
bool | available () const override |
Returns true iff this solver was enabled at compile-time. More... | |
SolutionResult | Solve (OptimizationProblem &prog) const override |
Sets values for the decision variables on the given OptimizationProblem prog , or: More... | |
Public Member Functions inherited from MathematicalProgramSolverInterface | |
virtual | ~MathematicalProgramSolverInterface ()=default |
MobyLCPSolver | ( | ) |
|
inlinevirtual |
|
inlineoverridevirtual |
Returns true iff this solver was enabled at compile-time.
Implements MathematicalProgramSolverInterface.
void SetLoggingEnabled | ( | bool | enabled | ) |
|
overridevirtual |
Sets values for the decision variables on the given OptimizationProblem prog
, or:
Implements MathematicalProgramSolverInterface.
bool SolveLcpFast | ( | const Eigen::MatrixXd & | M, |
const Eigen::VectorXd & | q, | ||
Eigen::VectorXd * | z, | ||
double | zero_tol = -1.0 |
||
) | const |
Fast pivoting algorithm for denerate, monotone LCPs with few nonzero, nonbasic variables.
bool SolveLcpFastRegularized | ( | const Eigen::MatrixXd & | M, |
const Eigen::VectorXd & | q, | ||
Eigen::VectorXd * | z, | ||
int | min_exp = -20 , |
||
unsigned | step_exp = 4 , |
||
int | max_exp = 20 , |
||
double | zero_tol = -1.0 |
||
) | const |
Regularized wrapper around PPM I.
bool SolveLcpLemke | ( | const Eigen::MatrixXd & | M, |
const Eigen::VectorXd & | q, | ||
Eigen::VectorXd * | z, | ||
double | piv_tol = -1.0 , |
||
double | zero_tol = -1.0 |
||
) | const |
Lemke's algorithm for solving linear complementarity problems.
z | a vector "close" to the solution on input (optional); contains the solution on output |
bool SolveLcpLemke | ( | const Eigen::SparseMatrix< double > & | M, |
const Eigen::VectorXd & | q, | ||
Eigen::VectorXd * | z, | ||
double | piv_tol = -1.0 , |
||
double | zero_tol = -1.0 |
||
) | const |
Lemke's algorithm for solving linear complementarity problems using sparse matrices.
z | a vector "close" to the solution on input (optional); contains the solution on output |
bool SolveLcpLemkeRegularized | ( | const Eigen::MatrixXd & | M, |
const Eigen::VectorXd & | q, | ||
Eigen::VectorXd * | z, | ||
int | min_exp = -20 , |
||
unsigned | step_exp = 1 , |
||
int | max_exp = 1 , |
||
double | piv_tol = -1.0 , |
||
double | zero_tol = -1.0 |
||
) | const |
Regularized wrapper around Lemke's algorithm.
bool SolveLcpLemkeRegularized | ( | const Eigen::SparseMatrix< double > & | M, |
const Eigen::VectorXd & | q, | ||
Eigen::VectorXd * | z, | ||
int | min_exp = -20 , |
||
unsigned | step_exp = 4 , |
||
int | max_exp = 20 , |
||
double | piv_tol = -1.0 , |
||
double | zero_tol = -1.0 |
||
) | const |
Regularized wrapper around Lemke's algorithm for srpase matrices.