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

- File List
- File Members

# /home/coin/svn-release/Alps-1.5.2/Clp/src/ClpConstraintQuadratic.hpp

Go to the documentation of this file.

    00001 /* $Id: ClpConstraintQuadratic.hpp 1665 2011-01-04 17:55:54Z lou $ */
    00002 // Copyright (C) 2007, International Business Machines
    00003 // Corporation and others.  All Rights Reserved.
    00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
    00005
    00006 #ifndef ClpConstraintQuadratic_H
    00007 #define ClpConstraintQuadratic_H
    00008
    00009 #include "ClpConstraint.hpp"
    00010
    00011 //#############################################################################
    00012
    00017 class ClpConstraintQuadratic : public ClpConstraint {
    00018
    00019 public:
    00020
    00022
    00023
    00024
    00031      virtual int gradient(const ClpSimplex * model,
    00032                           const double * solution,
    00033                           double * gradient,
    00034                           double & functionValue ,
    00035                           double & offset,
    00036                           bool useScaling = false,
    00037                           bool refresh = true) const ;
    00039      virtual void resize(int newNumberColumns) ;
    00041      virtual void deleteSome(int numberToDelete, const int * which) ;
    00043      virtual void reallyScale(const double * columnScale) ;
    00047      virtual int markNonlinear(char * which) const ;
    00051      virtual int markNonzero(char * which) const;
    00053
    00054
    00056
    00057
    00058      ClpConstraintQuadratic();
    00059
    00061      ClpConstraintQuadratic(int row, int numberQuadraticColumns, int numberColumns,
    00062                             const CoinBigIndex * start,
    00063                             const int * column, const double * element);
    00064
    00067      ClpConstraintQuadratic(const ClpConstraintQuadratic & rhs);
    00068
    00070      ClpConstraintQuadratic & operator=(const ClpConstraintQuadratic& rhs);
    00071
    00073      virtual ~ClpConstraintQuadratic ();
    00074
    00076      virtual ClpConstraint * clone() const;
    00078
    00079
    00080
    00081      virtual int numberCoefficients() const;
    00083      inline int numberColumns() const {
    00084           return numberColumns_;
    00085      }
    00087      inline CoinBigIndex * start() const {
    00088           return start_;
    00089      }
    00091      inline const int * column() const {
    00092           return column_;
    00093      }
    00095      inline const double * coefficient() const {
    00096           return coefficient_;
    00097      }
    00099
    00100      //---------------------------------------------------------------------------
    00101
    00102 private:
    00105      CoinBigIndex * start_;
    00107      int * column_;
    00109      double * coefficient_;
    00111      int numberColumns_;
    00113      int numberCoefficients_;
    00115      int numberQuadraticColumns_;
    00117 };
    00118
    00119 #endif