/home/coin/SVN-release/Cbc-2.4.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

Generated on Tue Jan 19 03:02:15 2010 by  doxygen 1.4.7