- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Osi-0.98.1/Clp/src/ClpConstraintLinear.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2007, International Business Machines
    00002 // Corporation and others.  All Rights Reserved.
    00003 #ifndef ClpConstraintLinear_H
    00004 #define ClpConstraintLinear_H
    00005
    00006 #include "ClpConstraint.hpp"
    00007
    00008 //#############################################################################
    00009
    00014 class ClpConstraintLinear : public ClpConstraint {
    00015
    00016 public:
    00017
    00019
    00020
    00021
    00028   virtual int gradient(const ClpSimplex * model,
    00029                        const double * solution,
    00030                        double * gradient,
    00031                        double & functionValue ,
    00032                        double & offset,
    00033                        bool useScaling=false,
    00034                        bool refresh=true) const ;
    00036   virtual void resize(int newNumberColumns) ;
    00038   virtual void deleteSome(int numberToDelete, const int * which) ;
    00040   virtual void reallyScale(const double * columnScale) ;
    00044   virtual int markNonlinear(char * which) const ;
    00048   virtual int markNonzero(char * which) const;
    00050
    00051
    00053
    00054
    00055   ClpConstraintLinear();
    00056
    00058   ClpConstraintLinear(int row, int numberCoefficients, int numberColumns,
    00059                       const int * column, const double * element);
    00060
    00063   ClpConstraintLinear(const ClpConstraintLinear & rhs);
    00064
    00066   ClpConstraintLinear & operator=(const ClpConstraintLinear& rhs);
    00067
    00069   virtual ~ClpConstraintLinear ();
    00070
    00072   virtual ClpConstraint * clone() const;
    00074
    00075
    00076
    00077   virtual int numberCoefficients() const;
    00079   inline int numberColumns() const
    00080   {return numberColumns_;}
    00082   inline const int * column() const
    00083   { return column_;}
    00085   inline const double * coefficient() const
    00086   { return coefficient_;}
    00088
    00089   //---------------------------------------------------------------------------
    00090
    00091 private:
    00094   int * column_;
    00096   double * coefficient_;
    00098   int numberColumns_;
    00100   int numberCoefficients_;
    00102 };
    00103
    00104 #endif