4 #ifndef ClpAmplObjective_H
5 #define ClpAmplObjective_H
7 #include "ClpObjective.hpp"
8 #include "CoinPackedMatrix.hpp"
29 virtual double *
gradient(
const ClpSimplex * model,
30 const double * solution,
double & offset,
bool refresh,
31 int includeLinear = 2);
36 bool useFeasibleCosts);
44 const double * solution,
45 const double * change,
48 double & predictedObj,
51 virtual double objectiveValue(
const ClpSimplex * model,
const double * solution)
const ;
52 virtual void resize(
int newNumberColumns) ;
54 virtual void deleteSome(
int numberToDelete,
const int * which) ;
56 virtual void reallyScale(
const double * columnScale) ;
86 virtual ClpObjective *
clone()
const;
virtual ClpObjective * clone() const
Clone.
void * amplObjective_
Ampl info.
virtual int markNonlinear(char *which)
Given a zeroed array sets nonlinear columns to 1.
ClpAmplObjective()
Default Constructor.
virtual void resize(int newNumberColumns)
Returns gradient.
virtual double * gradient(const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2)
Returns gradient.
double * linearObjective() const
Linear objective.
double * gradient_
Gradient.
ClpAmplObjective & operator=(const ClpAmplObjective &rhs)
Assignment operator.
double * objective_
Objective.
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in objective.
virtual void newXValues()
Say we have new primal solution - so may need to recompute.
virtual double objectiveValue(const ClpSimplex *model, const double *solution) const
Return objective value (without any ClpModel offset) (model may be NULL)
virtual double reducedGradient(ClpSimplex *model, double *region, bool useFeasibleCosts)
Resize 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...
virtual void reallyScale(const double *columnScale)
Scale objective.
virtual ~ClpAmplObjective()
Destructor.