6 #ifndef ClpQuadraticObjective_H 
    7 #define ClpQuadraticObjective_H 
   31     const double *solution, 
double &offset, 
bool refresh,
 
   32     int includeLinear = 2);
 
   37     bool useFeasibleCosts);
 
   45     const double *solution,
 
   53   virtual void resize(
int newNumberColumns);
 
   55   virtual void deleteSome(
int numberToDelete, 
const int *which);
 
   57   virtual void reallyScale(
const double *columnScale);
 
   73     const int *column, 
const double *element,
 
   85     const int *whichColumns);
 
   99     const int *whichColumns) 
const;
 
  104     const int *column, 
const double *element,
 
virtual void reallyScale(const double *columnScale)
Scale objective. 
 
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in objective. 
 
void deleteQuadraticObjective()
Get rid of quadratic objective. 
 
double * objective_
Objective. 
 
CoinPackedMatrix * quadraticObjective() const 
Quadratic objective. 
 
virtual double objectiveValue(const ClpSimplex *model, const double *solution) const 
Return objective value (without any ClpModel offset) (model may be NULL) 
 
Objective Abstract Base Class. 
 
ClpQuadraticObjective & operator=(const ClpQuadraticObjective &rhs)
Assignment operator. 
 
virtual void resize(int newNumberColumns)
Returns gradient. 
 
virtual ~ClpQuadraticObjective()
Destructor. 
 
Sparse Matrix Base Class. 
 
Quadratic Objective Class. 
 
double * linearObjective() const 
Linear objective. 
 
virtual int markNonlinear(char *which)
Given a zeroed array sets nonlinear columns to 1. 
 
int numberColumns() const 
Number of columns in quadratic objective. 
 
This solves LPs using the simplex method. 
 
int numberColumns_
Useful to have number of columns about. 
 
double * gradient_
Gradient. 
 
virtual ClpObjective * clone() const 
Clone. 
 
ClpQuadraticObjective()
Default Constructor. 
 
CoinPackedMatrix * quadraticObjective_
Objective. 
 
virtual double stepLength(ClpSimplex *model, const double *solution, const double *change, double maximumTheta, double ¤tObj, double &predictedObj, double &thetaObj)
Returns step length which gives minimum of objective for solution + theta * change vector up to maxim...
 
int type() const 
Returns type (above 63 is extra information) 
 
virtual ClpObjective * subsetClone(int numberColumns, const int *whichColumns) const 
Subset clone. 
 
int numberExtendedColumns_
Also length of linear objective which could be bigger. 
 
int numberExtendedColumns() const 
Length of linear objective which could be bigger. 
 
void loadQuadraticObjective(const int numberColumns, const CoinBigIndex *start, const int *column, const double *element, int numberExtendedColumns=-1)
Load up quadratic objective. 
 
bool fullMatrix_
True if full symmetric matrix, false if half. 
 
virtual double * gradient(const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2)
Returns gradient. 
 
virtual double reducedGradient(ClpSimplex *model, double *region, bool useFeasibleCosts)
Resize objective. 
 
bool fullMatrix() const 
If a full or half matrix.