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

Constraint Abstract Base Class. More...

#include <ClpConstraint.hpp>

+ Inheritance diagram for ClpConstraint:

Public Member Functions

Stuff
virtual int gradient (const ClpSimplex *model, const double *solution, double *gradient, double &functionValue, double &offset, bool useScaling=false, bool refresh=true) const =0
 Fills gradient. More...
 
virtual double functionValue (const ClpSimplex *model, const double *solution, bool useScaling=false, bool refresh=true) const
 Constraint function value. More...
 
virtual void resize (int newNumberColumns)=0
 Resize constraint. More...
 
virtual void deleteSome (int numberToDelete, const int *which)=0
 Delete columns in constraint. More...
 
virtual void reallyScale (const double *columnScale)=0
 Scale constraint. More...
 
virtual int markNonlinear (char *which) const =0
 Given a zeroed array sets nonlinear columns to 1. More...
 
virtual int markNonzero (char *which) const =0
 Given a zeroed array sets possible nonzero coefficients to 1. More...
 
Constructors and destructors
 ClpConstraint ()
 Default Constructor. More...
 
 ClpConstraint (const ClpConstraint &)
 Copy constructor. More...
 
ClpConstraintoperator= (const ClpConstraint &rhs)
 Assignment operator. More...
 
virtual ~ClpConstraint ()
 Destructor. More...
 
virtual ClpConstraintclone () const =0
 Clone. More...
 
Other
int type ()
 Returns type, 0 linear, 1 nonlinear. More...
 
int rowNumber () const
 Row number (-1 is objective) More...
 
virtual int numberCoefficients () const =0
 Number of possible coefficients in gradient. More...
 
double functionValue () const
 Stored constraint function value. More...
 
double offset () const
 Constraint offset. More...
 
virtual void newXValues ()
 Say we have new primal solution - so may need to recompute. More...
 

Protected Attributes

Protected member data
double * lastGradient_
 Gradient at last evaluation. More...
 
double functionValue_
 Value of non-linear part of constraint. More...
 
double offset_
 Value of offset for constraint. More...
 
int type_
 Type of constraint - linear is 1. More...
 
int rowNumber_
 Row number (-1 is objective) More...
 

Detailed Description

Constraint Abstract Base Class.

Abstract Base Class for describing a constraint or objective function

Definition at line 19 of file ClpConstraint.hpp.

Constructor & Destructor Documentation

ClpConstraint::ClpConstraint ( )

Default Constructor.

ClpConstraint::ClpConstraint ( const ClpConstraint )

Copy constructor.

virtual ClpConstraint::~ClpConstraint ( )
virtual

Destructor.

Member Function Documentation

virtual int ClpConstraint::gradient ( const ClpSimplex model,
const double *  solution,
double *  gradient,
double &  functionValue,
double &  offset,
bool  useScaling = false,
bool  refresh = true 
) const
pure virtual

Fills gradient.

If Linear then solution may be NULL, also returns true value of function and offset so we can use x not deltaX in constraint If refresh is false then uses last solution Uses model for scaling Returns non-zero if gradient undefined at current solution

Implemented in ClpConstraintAmpl, ClpConstraintLinear, and ClpConstraintQuadratic.

virtual double ClpConstraint::functionValue ( const ClpSimplex model,
const double *  solution,
bool  useScaling = false,
bool  refresh = true 
) const
virtual

Constraint function value.

virtual void ClpConstraint::resize ( int  newNumberColumns)
pure virtual

Resize constraint.

Implemented in ClpConstraintAmpl, ClpConstraintLinear, and ClpConstraintQuadratic.

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

Delete columns in constraint.

Implemented in ClpConstraintAmpl, ClpConstraintLinear, and ClpConstraintQuadratic.

virtual void ClpConstraint::reallyScale ( const double *  columnScale)
pure virtual

Scale constraint.

Implemented in ClpConstraintAmpl, ClpConstraintLinear, and ClpConstraintQuadratic.

virtual int ClpConstraint::markNonlinear ( char *  which) const
pure virtual

Given a zeroed array sets nonlinear columns to 1.

Returns number of nonlinear columns

Implemented in ClpConstraintAmpl, ClpConstraintLinear, and ClpConstraintQuadratic.

virtual int ClpConstraint::markNonzero ( char *  which) const
pure virtual

Given a zeroed array sets possible nonzero coefficients to 1.

Returns number of nonzeros

Implemented in ClpConstraintAmpl, ClpConstraintLinear, and ClpConstraintQuadratic.

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

Assignment operator.

virtual ClpConstraint* ClpConstraint::clone ( ) const
pure virtual
int ClpConstraint::type ( )
inline

Returns type, 0 linear, 1 nonlinear.

Definition at line 83 of file ClpConstraint.hpp.

int ClpConstraint::rowNumber ( ) const
inline

Row number (-1 is objective)

Definition at line 87 of file ClpConstraint.hpp.

virtual int ClpConstraint::numberCoefficients ( ) const
pure virtual

Number of possible coefficients in gradient.

Implemented in ClpConstraintAmpl, ClpConstraintQuadratic, and ClpConstraintLinear.

double ClpConstraint::functionValue ( ) const
inline

Stored constraint function value.

Definition at line 95 of file ClpConstraint.hpp.

double ClpConstraint::offset ( ) const
inline

Constraint offset.

Definition at line 100 of file ClpConstraint.hpp.

virtual void ClpConstraint::newXValues ( )
inlinevirtual

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

Reimplemented in ClpConstraintAmpl.

Definition at line 104 of file ClpConstraint.hpp.

Member Data Documentation

double* ClpConstraint::lastGradient_
mutableprotected

Gradient at last evaluation.

Definition at line 113 of file ClpConstraint.hpp.

double ClpConstraint::functionValue_
mutableprotected

Value of non-linear part of constraint.

Definition at line 115 of file ClpConstraint.hpp.

double ClpConstraint::offset_
mutableprotected

Value of offset for constraint.

Definition at line 117 of file ClpConstraint.hpp.

int ClpConstraint::type_
protected

Type of constraint - linear is 1.

Definition at line 119 of file ClpConstraint.hpp.

int ClpConstraint::rowNumber_
protected

Row number (-1 is objective)

Definition at line 121 of file ClpConstraint.hpp.


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