00001 // Copyright (C) 2003, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 #ifndef ClpLinearObjective_H 00004 #define ClpLinearObjective_H 00005 00006 #include "ClpObjective.hpp" 00007 00008 //############################################################################# 00009 00014 class ClpLinearObjective : public ClpObjective { 00015 00016 public: 00017 00019 00020 00025 virtual double * gradient(const double * solution, double & offset,bool refresh); 00027 virtual void resize(int newNumberColumns) ; 00029 virtual void deleteSome(int numberToDelete, const int * which) ; 00030 00032 00033 00035 00036 00037 ClpLinearObjective(); 00038 00040 ClpLinearObjective(const double * objective, int numberColumns); 00041 00043 ClpLinearObjective(const ClpLinearObjective &); 00047 ClpLinearObjective (const ClpLinearObjective &rhs,int numberColumns, 00048 const int * whichColumns) ; 00049 00051 ClpLinearObjective & operator=(const ClpLinearObjective& rhs); 00052 00054 virtual ~ClpLinearObjective (); 00055 00057 virtual ClpObjective * clone() const; 00061 virtual ClpObjective * subsetClone (int numberColumns, 00062 const int * whichColumns) const; 00063 00065 00066 //--------------------------------------------------------------------------- 00067 00068 private: 00071 double * objective_; 00073 int numberColumns_; 00075 }; 00076 00077 #endif