Cbc trunk
ClpConstraintAmpl.hpp
Go to the documentation of this file.
00001 /* $Id: ClpConstraintAmpl.hpp 1173 2009-06-04 09:44:10Z forrest $ */
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 ClpConstraintAmpl_H
00007 #define ClpConstraintAmpl_H
00008 
00009 #include "ClpConstraint.hpp"
00010 
00011 //#############################################################################
00012 
00017 class ClpConstraintAmpl : 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     virtual void newXValues() ;
00055 
00056 
00058 
00059 
00060     ClpConstraintAmpl();
00061 
00063     ClpConstraintAmpl(int row, void * amplInfo);
00064 
00067     ClpConstraintAmpl(const ClpConstraintAmpl & rhs);
00068 
00070     ClpConstraintAmpl & operator=(const ClpConstraintAmpl& rhs);
00071 
00073     virtual ~ClpConstraintAmpl ();
00074 
00076     virtual ClpConstraint * clone() const;
00078 
00079 
00080 
00081     virtual int numberCoefficients() const;
00083     inline const int * column() const {
00084         return column_;
00085     }
00087     inline const double * coefficient() const {
00088         return coefficient_;
00089     }
00091 
00092     //---------------------------------------------------------------------------
00093 
00094 private:
00097     void * amplInfo_;
00099     int * column_;
00101     double * coefficient_;
00103     int numberCoefficients_;
00105 };
00106 
00107 #endif
00108 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines