33                                const double * solution,
 
   34                                double & offset, 
bool refresh,
 
   35                                int includeLinear = 2) = 0;
 
   39                                     bool useFeasibleCosts) = 0;
 
   47                                const double * solution,
 
   48                                const double * change,
 
   51                                double & predictedObj,
 
   52                                double & thetaObj) = 0;
 
   56      virtual void resize(
int newNumberColumns) = 0;
 
   58      virtual void deleteSome(
int numberToDelete, 
const int * which) = 0;
 
   60      virtual void reallyScale(
const double * columnScale) = 0;
 
   91                                          const int * whichColumns) 
const;
 
   97      inline int type()
 const {
 
virtual ClpObjective * clone() const =0
Clone. 
 
virtual void newXValues()
Say we have new primal solution - so may need to recompute. 
 
virtual ~ClpObjective()
Destructor. 
 
int type_
Type of objective - linear is 1. 
 
virtual void deleteSome(int numberToDelete, const int *which)=0
Delete columns in objective. 
 
double nonlinearOffset() const 
Objective offset. 
 
int activated_
Whether activated. 
 
Objective Abstract Base Class. 
 
virtual double stepLength(ClpSimplex *model, const double *solution, const double *change, double maximumTheta, double ¤tObj, double &predictedObj, double &thetaObj)=0
Returns step length which gives minimum of objective for solution + theta * change vector up to maxim...
 
virtual void reallyScale(const double *columnScale)=0
Scale objective. 
 
void setType(int value)
Sets type (above 63 is extra information) 
 
virtual double * gradient(const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2)=0
Returns gradient. 
 
virtual double objectiveValue(const ClpSimplex *model, const double *solution) const =0
Return objective value (without any ClpModel offset) (model may be NULL) 
 
virtual void resize(int newNumberColumns)=0
Resize objective. 
 
virtual ClpObjective * subsetClone(int numberColumns, const int *whichColumns) const 
Subset clone. 
 
virtual int markNonlinear(char *which)
Given a zeroed array sets nonlinear columns to 1. 
 
double offset_
Value of non-linear part of objective. 
 
This solves LPs using the simplex method. 
 
void setActivated(int value)
Set whether activated. 
 
int type() const 
Returns type (above 63 is extra information) 
 
virtual double reducedGradient(ClpSimplex *model, double *region, bool useFeasibleCosts)=0
Returns reduced gradient.Returns an offset (to be added to current one). 
 
ClpObjective & operator=(const ClpObjective &rhs)
Assignment operator. 
 
int activated() const 
Whether activated. 
 
ClpObjective()
Default Constructor.