• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/build/buildd/coinor-cbc-2.5.0/Cbc/src/ClpAmplObjective.hpp

Go to the documentation of this file.
00001 /* $Id: ClpAmplObjective.hpp 1173 2009-06-04 09:44:10Z forrest $ */
00002 // Copyright (C) 2007, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 #ifndef ClpAmplObjective_H
00005 #define ClpAmplObjective_H
00006 
00007 #include "ClpObjective.hpp"
00008 #include "CoinPackedMatrix.hpp"
00009 
00010 //#############################################################################
00011 
00016 class ClpAmplObjective : public ClpObjective {
00017 
00018 public:
00019 
00021 
00022 
00029     virtual double * gradient(const ClpSimplex * model,
00030                               const double * solution, double & offset, bool refresh,
00031                               int includeLinear = 2);
00033 
00035     virtual double reducedGradient(ClpSimplex * model, double * region,
00036                                    bool useFeasibleCosts);
00043     virtual double stepLength(ClpSimplex * model,
00044                               const double * solution,
00045                               const double * change,
00046                               double maximumTheta,
00047                               double & currentObj,
00048                               double & predictedObj,
00049                               double & thetaObj);
00051     virtual double objectiveValue(const ClpSimplex * model, const double * solution) const ;
00052     virtual void resize(int newNumberColumns) ;
00054     virtual void deleteSome(int numberToDelete, const int * which) ;
00056     virtual void reallyScale(const double * columnScale) ;
00060     virtual int markNonlinear(char * which);
00061 
00063     virtual void newXValues() ;
00065 
00066 
00068 
00069 
00070     ClpAmplObjective();
00071 
00073     ClpAmplObjective(void * amplInfo);
00074 
00077     ClpAmplObjective(const ClpAmplObjective & rhs);
00078 
00080     ClpAmplObjective & operator=(const ClpAmplObjective& rhs);
00081 
00083     virtual ~ClpAmplObjective ();
00084 
00086     virtual ClpObjective * clone() const;
00087 
00089 
00090 
00091 
00092     double * linearObjective() const;
00094 
00095     //---------------------------------------------------------------------------
00096 
00097 private:
00100     double offset_;
00102     void * amplObjective_;
00104     double * objective_;
00106     double * gradient_;
00108 };
00109 
00110 #endif
00111 

Generated on Sat Oct 23 2010 23:46:56 by  doxygen 1.7.1