/home/coin/SVN-release/Alps-1.2.1/Clp/src/ClpLinearObjective.hpp

Go to the documentation of this file.
00001 /* $Id: ClpLinearObjective.hpp 1602 2010-09-07 22:26:41Z lou $ */
00002 // Copyright (C) 2003, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 #ifndef ClpLinearObjective_H
00005 #define ClpLinearObjective_H
00006 
00007 #include "ClpObjective.hpp"
00008 
00009 //#############################################################################
00010 
00015 class ClpLinearObjective : public ClpObjective {
00016 
00017 public:
00018 
00020 
00021 
00026      virtual double * gradient(const ClpSimplex * model,
00027                                const double * solution, double & offset, bool refresh,
00028                                int includeLinear = 2);
00031      virtual double reducedGradient(ClpSimplex * model, double * region,
00032                                     bool useFeasibleCosts);
00039      virtual double stepLength(ClpSimplex * model,
00040                                const double * solution,
00041                                const double * change,
00042                                double maximumTheta,
00043                                double & currentObj,
00044                                double & predictedObj,
00045                                double & thetaObj);
00047      virtual double objectiveValue(const ClpSimplex * model, const double * solution) const ;
00049      virtual void resize(int newNumberColumns) ;
00051      virtual void deleteSome(int numberToDelete, const int * which) ;
00053      virtual void reallyScale(const double * columnScale) ;
00054 
00056 
00057 
00059 
00060 
00061      ClpLinearObjective();
00062 
00064      ClpLinearObjective(const double * objective, int numberColumns);
00065 
00067      ClpLinearObjective(const ClpLinearObjective &);
00071      ClpLinearObjective (const ClpLinearObjective &rhs, int numberColumns,
00072                          const int * whichColumns) ;
00073 
00075      ClpLinearObjective & operator=(const ClpLinearObjective& rhs);
00076 
00078      virtual ~ClpLinearObjective ();
00079 
00081      virtual ClpObjective * clone() const;
00085      virtual ClpObjective * subsetClone (int numberColumns,
00086                                          const int * whichColumns) const;
00087 
00089 
00090      //---------------------------------------------------------------------------
00091 
00092 private:
00095      double * objective_;
00097      int numberColumns_;
00099 };
00100 
00101 #endif

Generated on Fri Dec 31 03:01:54 2010 by  doxygen 1.4.7