KrisLibrary  1.0.0
Public Types | Public Member Functions | Public Attributes | List of all members
Optimization::LP_InteriorPointSolver Class Reference

An interior-point method for solving a LP. More...

#include <LP_InteriorPoint.h>

Inheritance diagram for Optimization::LP_InteriorPointSolver:
Optimization::LinearProgram Optimization::LinearConstraints

Public Types

enum  Result {
  Optimal, SubOptimal, OptimalNoBreak, Infeasible,
  MaxItersReached, Error
}
 
- Public Types inherited from Optimization::LinearProgram
enum  Result { Feasible, Infeasible, Unbounded, Error }
 
- Public Types inherited from Optimization::LinearConstraints
enum  BoundType {
  Free, LowerBound, UpperBound, Bounded,
  Fixed
}
 

Public Member Functions

void SetInitialPoint (const Vector &x0)
 
Result Solve ()
 
const VectorGetX0 () const
 
const VectorGetOptimum () const
 
void SetObjectiveBreak (double val)
 
- Public Member Functions inherited from Optimization::LinearProgram
void Resize (int m, int n)
 
void AddVariable (Real l=-Inf, Real u=Inf)
 
void AddVariables (int num)
 
bool IsValid () const
 
Real Objective (const Vector &x) const
 
void Print (std::ostream &out) const
 
const LinearProgramoperator= (const LinearProgram &)
 
- Public Member Functions inherited from Optimization::LinearConstraints
void Resize (int m, int n)
 
void AddConstraint (Real qi, const Vector &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 (Matrix &Aeq, Vector &beq, Matrix &Aineq, Vector &bineq) const
 
void SetSimpleForm (const Matrix &Aeq, const Vector &beq, const Matrix &Aineq, const Vector &bineq)
 
void SetRef (const LinearConstraints &)
 
void Copy (const LinearConstraints &)
 
void Swap (LinearConstraints &)
 
const LinearConstraintsoperator= (const LinearConstraints &lp)
 

Public Attributes

double tol_zero
 
double tol_inner
 
double tol_outer
 
double objectiveBreak
 
int verbose
 
- Public Attributes inherited from Optimization::LinearProgram
bool minimize
 
Vector c
 
- Public Attributes inherited from Optimization::LinearConstraints
Matrix A
 
Vector q
 
Vector p
 
Vector l
 
Vector u
 

Additional Inherited Members

- Static Public Member Functions inherited from Optimization::LinearConstraints
static bool HasLowerBound (BoundType b)
 
static bool HasUpperBound (BoundType b)
 

Detailed Description

An interior-point method for solving a LP.

Only solves problems in the form min f'*x
s.t. A x <= p

Can be used when no initial feasible point has been specified.

NOTE: variable bounds, lower bound constraints, and maximization option are ignored. To handle these, use LP_InteriorPoint.

NOTE: Not recently tested. Use at your own risk.

See also
LP_InteriorPoint

The documentation for this class was generated from the following files: