KrisLibrary
1.0.0
|
Sparse linear constraints for LP's and QP'sUnlike dense constraints, AddVariable/AddConstraint are relatively efficient. More...
#include <LinearProgram.h>
Public Types | |
typedef LinearConstraints::BoundType | BoundType |
Public Member Functions | |
void | Resize (int m, int n) |
void | AddConstraint (Real qi, const SparseVector &Ai, Real pi) |
void | AddConstraints (int num) |
void | AddVariable (Real li=-Inf, Real ui=Inf) |
void | AddVariables (int num) |
bool | IsValid () const |
BoundType | ConstraintType (int i) const |
BoundType | VariableType (int j) const |
bool | HasEqualities () const |
bool | HasInequalities () const |
bool | HasBounds () const |
Real | EqualityError (const Vector &x) const |
Real | InequalityMargin (const Vector &x) const |
Real | BoundMargin (const Vector &x) const |
Real | InfeasibilityMeasure (const Vector &x) const |
bool | SatisfiesEqualities (const Vector &x, Real tol=Epsilon) const |
bool | SatisfiesInequalities (const Vector &x) const |
bool | SatisfiesBounds (const Vector &x) const |
bool | IsFeasible (const Vector &x, Real equalityTol=Epsilon) const |
void | ProjectDirection (Vector &v) const |
void | Print (std::ostream &out) const |
void | GetSimpleForm (SparseMatrix &Aeq, Vector &beq, SparseMatrix &Aineq, Vector &bineq) const |
void | SetSimpleForm (const SparseMatrix &Aeq, const Vector &beq, const SparseMatrix &Aineq, const Vector &bineq) |
void | Copy (const LinearConstraints_Sparse &) |
void | Swap (LinearConstraints_Sparse &) |
const LinearConstraints_Sparse & | operator= (const LinearConstraints_Sparse &lp) |
Static Public Member Functions | |
static bool | HasLowerBound (BoundType b) |
static bool | HasUpperBound (BoundType b) |
Public Attributes | |
SparseMatrix | A |
Vector | q |
Vector | p |
Vector | l |
Vector | u |
Sparse linear constraints for LP's and QP's
Unlike dense constraints, AddVariable/AddConstraint are relatively efficient.