Go to the documentation of this file.
31 const double *solution,
32 double &offset,
bool refresh,
33 int includeLinear = 2)
38 bool useFeasibleCosts)
47 const double *solution,
57 virtual void resize(
int newNumberColumns) = 0;
59 virtual void deleteSome(
int numberToDelete,
const int *which) = 0;
61 virtual void reallyScale(
const double *columnScale) = 0;
91 const int *whichColumns)
const;
97 inline int type()
const
This solves LPs using the simplex method.
void setType(int value)
Sets type (above 63 is extra information)
virtual void resize(int newNumberColumns)=0
Resize objective.
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 ~ClpObjective()
Destructor.
virtual void newXValues()
Say we have new primal solution - so may need to recompute.
int activated_
Whether activated.
Objective Abstract Base Class.
double offset_
Value of non-linear part of objective.
void setActivated(int value)
Set whether activated.
int type_
Type of objective - linear is 1.
virtual double reducedGradient(ClpSimplex *model, double *region, bool useFeasibleCosts)=0
Returns reduced gradient.Returns an offset (to be added to current one).
double nonlinearOffset() const
Objective offset.
virtual ClpObjective * clone() const =0
Clone.
int activated() const
Whether activated.
virtual void deleteSome(int numberToDelete, const int *which)=0
Delete columns in objective.
ClpObjective()
Default Constructor.
ClpObjective & operator=(const ClpObjective &rhs)
Assignment operator.
int type() const
Returns type (above 63 is extra information)
virtual ClpObjective * subsetClone(int numberColumns, const int *whichColumns) const
Subset clone.
virtual void reallyScale(const double *columnScale)=0
Scale objective.
virtual double * gradient(const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2)=0
Returns gradient.
virtual int markNonlinear(char *which)
Given a zeroed array sets nonlinear columns to 1.
virtual double objectiveValue(const ClpSimplex *model, const double *solution) const =0
Return objective value (without any ClpModel offset) (model may be NULL)