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