Go to the documentation of this file.
6 #ifndef ClpQuadraticObjective_H
7 #define ClpQuadraticObjective_H
10 #include "CoinPackedMatrix.hpp"
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);
72 const CoinBigIndex *start,
73 const int *column,
const double *element,
85 const int *whichColumns);
99 const int *whichColumns)
const;
103 const CoinBigIndex *start,
104 const int *column,
const double *element,
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.
bool fullMatrix_
True if full symmetric matrix, false if half.
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.
int numberColumns_
Useful to have number of columns about.
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.
CoinPackedMatrix * quadraticObjective_
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.
int numberExtendedColumns_
Also length of linear objective which could be bigger.
double * objective_
Objective.
Quadratic Objective Class.
int type() const
Returns type (above 63 is extra information)
double * gradient_
Gradient.
virtual double * gradient(const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2)
Returns gradient.