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

- File List
- File Members

# /home/coin/SVN-release/Clp-1.5.0/Clp/src/ClpConstraintQuadratic.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2007, International Business Machines
    00002 // Corporation and others.  All Rights Reserved.
    00003 #ifndef ClpConstraintQuadratic_H
    00004 #define ClpConstraintQuadratic_H
    00005
    00006 #include "ClpConstraint.hpp"
    00007
    00008 //#############################################################################
    00009
    00014 class ClpConstraintQuadratic : 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   ClpConstraintQuadratic();
    00056
    00058   ClpConstraintQuadratic(int row, int numberQuadraticColumns, int numberColumns,
    00059                          const CoinBigIndex * start,
    00060                          const int * column, const double * element);
    00061
    00064   ClpConstraintQuadratic(const ClpConstraintQuadratic & rhs);
    00065
    00067   ClpConstraintQuadratic & operator=(const ClpConstraintQuadratic& rhs);
    00068
    00070   virtual ~ClpConstraintQuadratic ();
    00071
    00073   virtual ClpConstraint * clone() const;
    00075
    00076
    00077
    00078   virtual int numberCoefficients() const;
    00080   inline int numberColumns() const
    00081   {return numberColumns_;}
    00083   inline CoinBigIndex * start() const
    00084   { return start_;}
    00086   inline const int * column() const
    00087   { return column_;}
    00089   inline const double * coefficient() const
    00090   { return coefficient_;}
    00092
    00093   //---------------------------------------------------------------------------
    00094
    00095 private:
    00098   CoinBigIndex * start_;
    00100   int * column_;
    00102   double * coefficient_;
    00104   int numberColumns_;
    00106   int numberCoefficients_;
    00108   int numberQuadraticColumns_;
    00110 };
    00111
    00112 #endif