Go to the documentation of this file.00001
00002
00003
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
00028 virtual double * gradient(const ClpSimplex * model,
00029 const double * solution, double & offset, bool refresh,
00030 int includeLinear = 2);
00033 virtual double reducedGradient(ClpSimplex * model, double * region,
00034 bool useFeasibleCosts);
00041 virtual double stepLength(ClpSimplex * model,
00042 const double * solution,
00043 const double * change,
00044 double maximumTheta,
00045 double & currentObj,
00046 double & predictedObj,
00047 double & thetaObj);
00049 virtual double objectiveValue(const ClpSimplex * model, const double * solution) const ;
00051 virtual void resize(int newNumberColumns) ;
00053 virtual void deleteSome(int numberToDelete, const int * which) ;
00055 virtual void reallyScale(const double * columnScale) ;
00056
00058
00059
00061
00062
00063 ClpLinearObjective();
00064
00066 ClpLinearObjective(const double * objective, int numberColumns);
00067
00069 ClpLinearObjective(const ClpLinearObjective &);
00073 ClpLinearObjective (const ClpLinearObjective &rhs, int numberColumns,
00074 const int * whichColumns) ;
00075
00077 ClpLinearObjective & operator=(const ClpLinearObjective& rhs);
00078
00080 virtual ~ClpLinearObjective ();
00081
00083 virtual ClpObjective * clone() const;
00087 virtual ClpObjective * subsetClone (int numberColumns,
00088 const int * whichColumns) const;
00089
00091
00092
00093
00094 private:
00097 double * objective_;
00099 int numberColumns_;
00101 };
00102
00103 #endif