LinearInequality.h

00001 #ifndef LinearInequality_h
00002 #define LinearInequality_h
00003 
00004 #ifndef LinearConstraint_h
00005 #include "LinearConstraint.h"
00006 #endif
00007 
00017 namespace OPTPP {
00018 
00019 class LinearInequality: public LinearConstraint {
00020 protected:
00022   NEWMAT::ColumnVector          ctype_;         
00023 
00024 public:
00028   LinearInequality();
00029 
00038   LinearInequality(const NEWMAT::Matrix& A, const NEWMAT::ColumnVector& rhs);
00047   LinearInequality(const NEWMAT::Matrix& A, const NEWMAT::ColumnVector& rhs, 
00048                    const bool rowFlag);
00057   LinearInequality(const NEWMAT::Matrix& A, const NEWMAT::ColumnVector& lower, 
00058                    const NEWMAT::ColumnVector& upper);
00059 
00063   virtual ~LinearInequality(){}
00064 
00068   bool getStdForm() const {return stdForm_;}
00069 
00073   virtual NEWMAT::ColumnVector getConstraintType() const {return ctype_;}
00074 
00080   virtual NEWMAT::ColumnVector evalAx(const NEWMAT::ColumnVector& xc) const;
00081 
00088   virtual NEWMAT::ColumnVector evalResidual(const NEWMAT::ColumnVector& xc) const;
00089   virtual void evalCFGH(const NEWMAT::ColumnVector& xc) const;
00090 
00097   virtual NEWMAT::Matrix evalGradient(const NEWMAT::ColumnVector& xc) const;
00098 
00105   virtual bool amIFeasible(const NEWMAT::ColumnVector& xc, double epsilon) const;
00106 };
00107 
00108 } // namespace OPTPP
00109 #endif
00110 
Generated on Mon Jan 24 12:04:37 2011 for FASTlib by  doxygen 1.6.3