Linear Objective Class. More...
#include <ClpLinearObjective.hpp>
Public Member Functions | |
Stuff | |
virtual double * | gradient (const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2) |
Returns gradient. | |
virtual double | reducedGradient (ClpSimplex *model, double *region, bool useFeasibleCosts) |
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) |
Returns step length which gives minimum of objective for solution + theta * change vector up to maximum theta. | |
virtual double | objectiveValue (const ClpSimplex *model, const double *solution) const |
Return objective value (without any ClpModel offset) (model may be NULL). | |
virtual void | resize (int newNumberColumns) |
Resize objective. | |
virtual void | deleteSome (int numberToDelete, const int *which) |
Delete columns in objective. | |
virtual void | reallyScale (const double *columnScale) |
Scale objective. | |
Constructors and destructors | |
ClpLinearObjective () | |
Default Constructor. | |
ClpLinearObjective (const double *objective, int numberColumns) | |
Constructor from objective. | |
ClpLinearObjective (const ClpLinearObjective &) | |
Copy constructor. | |
ClpLinearObjective (const ClpLinearObjective &rhs, int numberColumns, const int *whichColumns) | |
Subset constructor. | |
ClpLinearObjective & | operator= (const ClpLinearObjective &rhs) |
Assignment operator. | |
virtual | ~ClpLinearObjective () |
Destructor. | |
virtual ClpObjective * | clone () const |
Clone. | |
virtual ClpObjective * | subsetClone (int numberColumns, const int *whichColumns) const |
Subset clone. | |
Private Attributes | |
Private member data | |
double * | objective_ |
number of columns | |
int | numberColumns_ |
number of columns |
Linear Objective Class.
Definition at line 14 of file ClpLinearObjective.hpp.
ClpLinearObjective::ClpLinearObjective | ( | ) |
Default Constructor.
ClpLinearObjective::ClpLinearObjective | ( | const double * | objective, | |
int | numberColumns | |||
) |
Constructor from objective.
ClpLinearObjective::ClpLinearObjective | ( | const ClpLinearObjective & | ) |
Copy constructor.
ClpLinearObjective::ClpLinearObjective | ( | const ClpLinearObjective & | rhs, | |
int | numberColumns, | |||
const int * | whichColumns | |||
) |
Subset constructor.
Duplicates are allowed and order is as given.
virtual ClpLinearObjective::~ClpLinearObjective | ( | ) | [virtual] |
Destructor.
virtual double* ClpLinearObjective::gradient | ( | const ClpSimplex * | model, | |
const double * | solution, | |||
double & | offset, | |||
bool | refresh, | |||
int | includeLinear = 2 | |||
) | [virtual] |
Returns gradient.
If Linear then solution may be NULL, also returns an offset (to be added to current one) If refresh is false then uses last solution Uses model for scaling includeLinear 0 - no, 1 as is, 2 as feasible
Implements ClpObjective.
virtual double ClpLinearObjective::reducedGradient | ( | ClpSimplex * | model, | |
double * | region, | |||
bool | useFeasibleCosts | |||
) | [virtual] |
Returns reduced gradient.Returns an offset (to be added to current one).
Implements ClpObjective.
virtual double ClpLinearObjective::stepLength | ( | ClpSimplex * | model, | |
const double * | solution, | |||
const double * | change, | |||
double | maximumTheta, | |||
double & | currentObj, | |||
double & | predictedObj, | |||
double & | thetaObj | |||
) | [virtual] |
Returns step length which gives minimum of objective for solution + theta * change vector up to maximum theta.
arrays are numberColumns+numberRows Also sets current objective, predicted and at maximumTheta
Implements ClpObjective.
virtual double ClpLinearObjective::objectiveValue | ( | const ClpSimplex * | model, | |
const double * | solution | |||
) | const [virtual] |
Return objective value (without any ClpModel offset) (model may be NULL).
Implements ClpObjective.
virtual void ClpLinearObjective::resize | ( | int | newNumberColumns | ) | [virtual] |
Resize objective.
Implements ClpObjective.
virtual void ClpLinearObjective::deleteSome | ( | int | numberToDelete, | |
const int * | which | |||
) | [virtual] |
Delete columns in objective.
Implements ClpObjective.
virtual void ClpLinearObjective::reallyScale | ( | const double * | columnScale | ) | [virtual] |
Scale objective.
Implements ClpObjective.
ClpLinearObjective& ClpLinearObjective::operator= | ( | const ClpLinearObjective & | rhs | ) |
Assignment operator.
Reimplemented from ClpObjective.
virtual ClpObjective* ClpLinearObjective::clone | ( | ) | const [virtual] |
Clone.
Implements ClpObjective.
virtual ClpObjective* ClpLinearObjective::subsetClone | ( | int | numberColumns, | |
const int * | whichColumns | |||
) | const [virtual] |
double* ClpLinearObjective::objective_ [private] |
number of columns
Definition at line 96 of file ClpLinearObjective.hpp.
int ClpLinearObjective::numberColumns_ [private] |
number of columns
Definition at line 98 of file ClpLinearObjective.hpp.