////////////////////////////////////////////////////////////////////// // // InequalityConstraints.h: interface of the InequalityConstaints class. // // Written By: Matthias Wacker // // // Constraints of the form: G(x) \le 0 (less or equal) // where G is the vector of all // inequality constraints // ////////////////////////////////////////////////////////////////////// #ifndef _INEQUALITYCONSTRAINTS_H_ #define _INEQUALITYCONSTRAINTS_H_ #include "optimization/Constraints.h" /*! class Abstract base class for all equality constraints. */ class InequalityConstraints : public Constraints { public: typedef Constraints SuperClass; typedef SuperClass::matrix_type matrix_type; /*! default constructor */ InequalityConstraints() : SuperClass(){}; /*! Constructor. \param numOfParameters \param numOfConstraints */ InequalityConstraints(unsigned int numOfParameters, unsigned int numOfConstraints): SuperClass(numOfParameters,numOfConstraints){}; /*! Copy constructor */ InequalityConstraints(const Constraints &con):SuperClass(con){}; /*! Destructor. */ ~InequalityConstraints(){}; /*! Initialization for the cost function */ virtual void init() = 0; /*! evaluate the constraints \param x =^ position \return matrix_type containing the i-th constraint result in the i-th component */ virtual matrix_type evaluate(const matrix_type & x) = 0; protected: }; #endif