- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Clp-1.5.0/Clp/src/ClpLinearObjective.hpp

Go to the documentation of this file.

    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
    00027   virtual double * gradient(const ClpSimplex * model,
    00028                             const double * solution, double & offset,bool refresh,
    00029                             int includeLinear=2);
    00032   virtual double reducedGradient(ClpSimplex * model, double * region,
    00033                                  bool useFeasibleCosts);
    00040   virtual double stepLength(ClpSimplex * model,
    00041                             const double * solution,
    00042                             const double * change,
    00043                             double maximumTheta,
    00044                             double & currentObj,
    00045                             double & predictedObj,
    00046                             double & thetaObj);
    00048   virtual double objectiveValue(const ClpSimplex * model, const double * solution) const ;
    00050   virtual void resize(int newNumberColumns) ;
    00052   virtual void deleteSome(int numberToDelete, const int * which) ;
    00054   virtual void reallyScale(const double * columnScale) ;
    00055
    00057
    00058
    00060
    00061
    00062   ClpLinearObjective();
    00063
    00065   ClpLinearObjective(const double * objective, int numberColumns);
    00066
    00068   ClpLinearObjective(const ClpLinearObjective &);
    00072   ClpLinearObjective (const ClpLinearObjective &rhs,int numberColumns,
    00073                                       const int * whichColumns) ;
    00074
    00076   ClpLinearObjective & operator=(const ClpLinearObjective& rhs);
    00077
    00079   virtual ~ClpLinearObjective ();
    00080
    00082   virtual ClpObjective * clone() const;
    00086   virtual ClpObjective * subsetClone (int numberColumns,
    00087                                       const int * whichColumns) const;
    00088
    00090
    00091   //---------------------------------------------------------------------------
    00092
    00093 private:
    00096   double * objective_;
    00098   int numberColumns_;
    00100 };
    00101
    00102 #endif