• Main Page
  • Classes
  • Files
  • File List
  • File Members

/build/buildd/clp-1.11.1/Clp/src/ClpObjective.hpp

Go to the documentation of this file.
00001 /* $Id: ClpObjective.hpp 1458 2009-11-05 12:34:07Z forrest $ */
00002 // Copyright (C) 2002, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 #ifndef ClpObjective_H
00005 #define ClpObjective_H
00006 
00007 
00008 //#############################################################################
00009 class ClpSimplex;
00010 class ClpModel;
00011 
00017 class ClpObjective  {
00018   
00019 public:
00020   
00022 
00023   
00030   virtual double * gradient(const ClpSimplex * model,
00031                             const double * solution,
00032                             double & offset,bool refresh,
00033                             int includeLinear=2)=0;
00036   virtual double reducedGradient(ClpSimplex * model, double * region,
00037                                  bool useFeasibleCosts)=0;
00044   virtual double stepLength(ClpSimplex * model,
00045                             const double * solution,
00046                             const double * change,
00047                             double maximumTheta,
00048                             double & currentObj,
00049                             double & predictedObj,
00050                             double & thetaObj)=0;
00052   virtual double objectiveValue(const ClpSimplex * model, const double * solution) const = 0;
00054   virtual void resize(int newNumberColumns) = 0; 
00056   virtual void deleteSome(int numberToDelete, const int * which) = 0; 
00058   virtual void reallyScale(const double * columnScale) =0;
00062   virtual int markNonlinear(char * which);
00064   virtual void newXValues() {}
00066   
00067   
00069 
00070 
00071   ClpObjective(); 
00072   
00074   ClpObjective(const ClpObjective &);
00075   
00077   ClpObjective & operator=(const ClpObjective& rhs);
00078   
00080   virtual ~ClpObjective ();
00081 
00083   virtual ClpObjective * clone() const = 0;
00088   virtual ClpObjective * subsetClone (int numberColumns, 
00089                                       const int * whichColumns) const;
00090  
00092 
00094 
00095 
00096   inline int type()
00097   { return type_;}
00099   inline int activated() const
00100   {return activated_;}
00102   inline void setActivated(int value)
00103   {activated_=value;}
00104   
00106   inline double nonlinearOffset () const
00107   { return offset_;}
00109 
00110   //---------------------------------------------------------------------------
00111   
00112 protected:
00114 
00115 
00116   double offset_;
00118   int type_;
00120   int activated_;
00122 };
00123 
00124 #endif

Generated on Fri Aug 20 2010 06:29:28 by  doxygen 1.7.1