# ClpConstraintLinear.hpp

Go to the documentation of this file.

    00001 /* $Id: ClpConstraintLinear.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 ClpConstraintLinear_H
    00007 #define ClpConstraintLinear_H
    00008
    00009 #include "ClpConstraint.hpp"
    00010
    00011 //#############################################################################
    00012
    00017 class ClpConstraintLinear : 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      ClpConstraintLinear();
    00059
    00061      ClpConstraintLinear(int row, int numberCoefficients, int numberColumns,
    00062                          const int * column, const double * element);
    00063
    00066      ClpConstraintLinear(const ClpConstraintLinear & rhs);
    00067
    00069      ClpConstraintLinear & operator=(const ClpConstraintLinear& rhs);
    00070
    00072      virtual ~ClpConstraintLinear ();
    00073
    00075      virtual ClpConstraint * clone() const;
    00077
    00078
    00079
    00080      virtual int numberCoefficients() const;
    00082      inline int numberColumns() const {
    00083           return numberColumns_;
    00084      }
    00086      inline const int * column() const {
    00087           return column_;
    00088      }
    00090      inline const double * coefficient() const {
    00091           return coefficient_;
    00092      }
    00094
    00095      //---------------------------------------------------------------------------
    00096
    00097 private:
    00100      int * column_;
    00102      double * coefficient_;
    00104      int numberColumns_;
    00106      int numberCoefficients_;
    00108 };
    00109
    00110 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines