Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ClpQuadraticObjective Class Reference

Quadratic Objective Class. More...

#include <ClpQuadraticObjective.hpp>

Inheritance diagram for ClpQuadraticObjective:

ClpObjective List of all members.

Public Methods

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 &currentObj, double &predictedObj, double &thetaObj)
 Returns step length which gives minimum of objective for solution + theta * change vector up to maximum theta.

virtual void resize (int newNumberColumns)
 Returns gradient.

virtual void deleteSome (int numberToDelete, const int *which)
 Delete columns in objective.

virtual void reallyScale (const double *columnScale)
 Scale objective.

virtual int markNonlinear (char *which)
 Given a zeroed array sets nonlinear columns to 1.

Constructors and destructors
 ClpQuadraticObjective ()
 Default Constructor.

 ClpQuadraticObjective (const double *linearObjective, int numberColumns, const CoinBigIndex *start, const int *column, const double *element, int numberExtendedColumns_=-1)
 Constructor from objective.

 ClpQuadraticObjective (const ClpQuadraticObjective &rhs, int type=0)
 Copy constructor .

 ClpQuadraticObjective (const ClpQuadraticObjective &rhs, int numberColumns, const int *whichColumns)
 Subset constructor.

ClpQuadraticObjective & operator= (const ClpQuadraticObjective &rhs)
 Assignment operator.

virtual ~ClpQuadraticObjective ()
 Destructor.

virtual ClpObjectiveclone () const
 Clone.

virtual ClpObjectivesubsetClone (int numberColumns, const int *whichColumns) const
 Subset clone.

void loadQuadraticObjective (const int numberColumns, const CoinBigIndex *start, const int *column, const double *element, int numberExtendedColumns=-1)
 Load up quadratic objective.

void loadQuadraticObjective (const CoinPackedMatrix &matrix)
 Default Constructor.

void deleteQuadraticObjective ()
 Get rid of quadratic objective.

Gets and sets
CoinPackedMatrix * quadraticObjective () const
 Quadratic objective.

double * linearObjective () const
 Linear objective.

int numberExtendedColumns () const
 Length of linear objective which could be bigger.

int numberColumns () const
 Number of columns in quadratic objective.


Private Attributes

Private member data
Quadratic objective

CoinPackedMatrix * quadraticObjective_
double * objective_
 Objective.

double * gradient_
 Gradient.

int numberColumns_
 Useful to have number of columns about.

int numberExtendedColumns_
 Also length of linear objective which could be bigger.


Detailed Description

Quadratic Objective Class.

Definition at line 15 of file ClpQuadraticObjective.hpp.


Constructor & Destructor Documentation

ClpQuadraticObjective::ClpQuadraticObjective  
 

Default Constructor.

ClpQuadraticObjective::ClpQuadraticObjective const double *    linearObjective,
int    numberColumns,
const CoinBigIndex *    start,
const int *    column,
const double *    element,
int    numberExtendedColumns_ = -1
 

Constructor from objective.

ClpQuadraticObjective::ClpQuadraticObjective const ClpQuadraticObjective &    rhs,
int    type = 0
 

Copy constructor .

If type is -1 then make sure half symmetric, if +1 then make sure full

ClpQuadraticObjective::ClpQuadraticObjective const ClpQuadraticObjective &    rhs,
int    numberColumns,
const int *    whichColumns
 

Subset constructor.

Duplicates are allowed and order is as given.

virtual ClpQuadraticObjective::~ClpQuadraticObjective   [virtual]
 

Destructor.


Member Function Documentation

virtual double* ClpQuadraticObjective::gradient const ClpSimplex   model,
const double *    solution,
double &    offset,
bool    refresh,
int    includeLinear = 2
[virtual]
 

Returns gradient.

If Quadratic 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 ClpQuadraticObjective::reducedGradient ClpSimplex   model,
double *    region,
bool    useFeasibleCosts
[virtual]
 

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

Implements ClpObjective.

virtual double ClpQuadraticObjective::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 void ClpQuadraticObjective::resize int    newNumberColumns [virtual]
 

Returns gradient.

If Quadratic 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 void ClpQuadraticObjective::deleteSome int    numberToDelete,
const int *    which
[virtual]
 

Delete columns in objective.

Implements ClpObjective.

virtual void ClpQuadraticObjective::reallyScale const double *    columnScale [virtual]
 

Scale objective.

Implements ClpObjective.

virtual int ClpQuadraticObjective::markNonlinear char *    which [virtual]
 

Given a zeroed array sets nonlinear columns to 1.

Returns number of nonlinear columns

Reimplemented from ClpObjective.

ClpQuadraticObjective& ClpQuadraticObjective::operator= const ClpQuadraticObjective &    rhs
 

Assignment operator.

virtual ClpObjective* ClpQuadraticObjective::clone   const [virtual]
 

Clone.

Implements ClpObjective.

virtual ClpObjective* ClpQuadraticObjective::subsetClone int    numberColumns,
const int *    whichColumns
const [virtual]
 

Subset clone.

Duplicates are allowed and order is as given.

Reimplemented from ClpObjective.

void ClpQuadraticObjective::loadQuadraticObjective const int    numberColumns,
const CoinBigIndex *    start,
const int *    column,
const double *    element,
int    numberExtendedColumns = -1
 

Load up quadratic objective.

This is stored as a CoinPackedMatrix

void ClpQuadraticObjective::loadQuadraticObjective const CoinPackedMatrix &    matrix
 

Default Constructor.

void ClpQuadraticObjective::deleteQuadraticObjective  
 

Get rid of quadratic objective.

CoinPackedMatrix* ClpQuadraticObjective::quadraticObjective   const [inline]
 

Quadratic objective.

Definition at line 110 of file ClpQuadraticObjective.hpp.

References quadraticObjective_.

double* ClpQuadraticObjective::linearObjective   const [inline]
 

Linear objective.

Definition at line 112 of file ClpQuadraticObjective.hpp.

References objective_.

int ClpQuadraticObjective::numberExtendedColumns   const [inline]
 

Length of linear objective which could be bigger.

Definition at line 114 of file ClpQuadraticObjective.hpp.

References numberExtendedColumns_.

int ClpQuadraticObjective::numberColumns   const [inline]
 

Number of columns in quadratic objective.

Definition at line 117 of file ClpQuadraticObjective.hpp.

References numberColumns_.


Member Data Documentation

CoinPackedMatrix* ClpQuadraticObjective::quadraticObjective_ [private]
 

Definition at line 126 of file ClpQuadraticObjective.hpp.

Referenced by quadraticObjective().

double* ClpQuadraticObjective::objective_ [private]
 

Objective.

Definition at line 128 of file ClpQuadraticObjective.hpp.

Referenced by linearObjective().

double* ClpQuadraticObjective::gradient_ [private]
 

Gradient.

Definition at line 130 of file ClpQuadraticObjective.hpp.

int ClpQuadraticObjective::numberColumns_ [private]
 

Useful to have number of columns about.

Definition at line 132 of file ClpQuadraticObjective.hpp.

Referenced by numberColumns().

int ClpQuadraticObjective::numberExtendedColumns_ [private]
 

Also length of linear objective which could be bigger.

Definition at line 134 of file ClpQuadraticObjective.hpp.

Referenced by numberExtendedColumns().


The documentation for this class was generated from the following file:
Generated on Fri Aug 6 02:01:36 2004 by doxygen1.3-rc2