Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
ClpAmplObjective Class Reference

Ampl Objective Class. More...

#include <ClpAmplObjective.hpp>

+ Inheritance diagram for ClpAmplObjective:
+ Collaboration diagram for ClpAmplObjective:

Public Member Functions

Stuff
virtual double * gradient (const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2)
 Returns gradient. More...
 
virtual double reducedGradient (ClpSimplex *model, double *region, bool useFeasibleCosts)
 Resize objective. More...
 
virtual double stepLength (ClpSimplex *model, const double *solution, const double *change, double maximumTheta, double &currentObj, double &predictedObj, double &thetaObj)
 Returns step length which gives minimum of objective for solution + theta * change vector up to maximum theta. More...
 
virtual double objectiveValue (const ClpSimplex *model, const double *solution) const
 Return objective value (without any ClpModel offset) (model may be NULL) More...
 
virtual void resize (int newNumberColumns)
 Resize objective. More...
 
virtual void deleteSome (int numberToDelete, const int *which)
 Delete columns in objective. More...
 
virtual void reallyScale (const double *columnScale)
 Scale objective. More...
 
virtual int markNonlinear (char *which)
 Given a zeroed array sets nonlinear columns to 1. More...
 
virtual void newXValues ()
 Say we have new primal solution - so may need to recompute. More...
 
Constructors and destructors
 ClpAmplObjective ()
 Default Constructor. More...
 
 ClpAmplObjective (void *amplInfo)
 Constructor from ampl info. More...
 
 ClpAmplObjective (const ClpAmplObjective &rhs)
 Copy constructor . More...
 
ClpAmplObjectiveoperator= (const ClpAmplObjective &rhs)
 Assignment operator. More...
 
virtual ~ClpAmplObjective ()
 Destructor. More...
 
virtual ClpObjectiveclone () const
 Clone. More...
 
Gets and sets
double * linearObjective () const
 Linear objective. More...
 
- Public Member Functions inherited from ClpObjective
 ClpObjective ()
 Default Constructor. More...
 
 ClpObjective (const ClpObjective &)
 Copy constructor. More...
 
ClpObjectiveoperator= (const ClpObjective &rhs)
 Assignment operator. More...
 
virtual ~ClpObjective ()
 Destructor. More...
 
virtual ClpObjectivesubsetClone (int numberColumns, const int *whichColumns) const
 Subset clone. More...
 
int type () const
 Returns type (above 63 is extra information) More...
 
void setType (int value)
 Sets type (above 63 is extra information) More...
 
int activated () const
 Whether activated. More...
 
void setActivated (int value)
 Set whether activated. More...
 
double nonlinearOffset () const
 Objective offset. More...
 

Private Attributes

Private member data

Saved offset

double offset_
 
voidamplObjective_
 Ampl info. More...
 
double * objective_
 Objective. More...
 
double * gradient_
 Gradient. More...
 

Additional Inherited Members

- Protected Attributes inherited from ClpObjective
double offset_
 Value of non-linear part of objective. More...
 
int type_
 Type of objective - linear is 1. More...
 
int activated_
 Whether activated. More...
 

Detailed Description

Ampl Objective Class.

Definition at line 18 of file ClpAmplObjective.hpp.

Constructor & Destructor Documentation

ClpAmplObjective::ClpAmplObjective ( )

Default Constructor.

ClpAmplObjective::ClpAmplObjective ( void amplInfo)

Constructor from ampl info.

ClpAmplObjective::ClpAmplObjective ( const ClpAmplObjective rhs)

Copy constructor .

virtual ClpAmplObjective::~ClpAmplObjective ( )
virtual

Destructor.

Member Function Documentation

virtual double* ClpAmplObjective::gradient ( const ClpSimplex model,
const double *  solution,
double &  offset,
bool  refresh,
int  includeLinear = 2 
)
virtual

Returns gradient.

If Ampl 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 ClpAmplObjective::reducedGradient ( ClpSimplex model,
double *  region,
bool  useFeasibleCosts 
)
virtual

Resize objective.

Returns reduced gradient.Returns an offset (to be added to current one).

Implements ClpObjective.

virtual double ClpAmplObjective::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 ClpAmplObjective::objectiveValue ( const ClpSimplex model,
const double *  solution 
) const
virtual

Return objective value (without any ClpModel offset) (model may be NULL)

Implements ClpObjective.

virtual void ClpAmplObjective::resize ( int  newNumberColumns)
virtual

Resize objective.

Implements ClpObjective.

virtual void ClpAmplObjective::deleteSome ( int  numberToDelete,
const int *  which 
)
virtual

Delete columns in objective.

Implements ClpObjective.

virtual void ClpAmplObjective::reallyScale ( const double *  columnScale)
virtual

Scale objective.

Implements ClpObjective.

virtual int ClpAmplObjective::markNonlinear ( char *  which)
virtual

Given a zeroed array sets nonlinear columns to 1.

Returns number of nonlinear columns

Reimplemented from ClpObjective.

virtual void ClpAmplObjective::newXValues ( )
virtual

Say we have new primal solution - so may need to recompute.

Reimplemented from ClpObjective.

ClpAmplObjective& ClpAmplObjective::operator= ( const ClpAmplObjective rhs)

Assignment operator.

virtual ClpObjective* ClpAmplObjective::clone ( ) const
virtual

Clone.

Implements ClpObjective.

double* ClpAmplObjective::linearObjective ( ) const

Linear objective.

Member Data Documentation

double ClpAmplObjective::offset_
private

Definition at line 102 of file ClpAmplObjective.hpp.

void* ClpAmplObjective::amplObjective_
private

Ampl info.

Definition at line 104 of file ClpAmplObjective.hpp.

double* ClpAmplObjective::objective_
private

Objective.

Definition at line 106 of file ClpAmplObjective.hpp.

double* ClpAmplObjective::gradient_
private

Gradient.

Definition at line 108 of file ClpAmplObjective.hpp.


The documentation for this class was generated from the following file: