Go to the documentation of this file.
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,
74 int numberExtendedColumns_ = -1);
85 const int *whichColumns);
99 const int *whichColumns)
const;
104 const int *column,
const double *element,
115 return quadraticObjective_;
125 return numberExtendedColumns_;
130 return numberColumns_;
152 int numberExtendedColumns_;
This solves LPs using the simplex method.
CoinPackedMatrix * quadraticObjective() const
Quadratic objective.
virtual ClpObjective * clone() const
Clone.
Objective Abstract Base Class.
virtual void resize(int newNumberColumns)
Resize objective.
virtual ~ClpQuadraticObjective()
Destructor.
virtual ClpObjective * subsetClone(int numberColumns, const int *whichColumns) const
Subset clone.
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in objective.
int numberExtendedColumns() const
Length of linear objective which could be bigger.
virtual int markNonlinear(char *which)
Given a zeroed array sets nonlinear columns to 1.
void loadQuadraticObjective(const int numberColumns, const CoinBigIndex *start, const int *column, const double *element, int numberExtendedColumns=-1)
Load up quadratic objective.
virtual void reallyScale(const double *columnScale)
Scale objective.
double * linearObjective() const
Linear objective.
ClpQuadraticObjective()
Default Constructor.
ClpQuadraticObjective & operator=(const ClpQuadraticObjective &rhs)
Assignment operator.
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...
virtual double reducedGradient(ClpSimplex *model, double *region, bool useFeasibleCosts)
Resize objective.
bool fullMatrix() const
If a full or half matrix.
virtual double objectiveValue(const ClpSimplex *model, const double *solution) const
Return objective value (without any ClpModel offset) (model may be NULL)
void deleteQuadraticObjective()
Get rid of quadratic objective.
int numberColumns() const
Number of columns in quadratic objective.
Quadratic Objective Class.
int type() const
Returns type (above 63 is extra information)
virtual double * gradient(const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2)
Returns gradient.