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

Protected Attributes

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

Detailed Description

Constraint Abstract Base Class.

Abstract Base Class for describing a constraint or objective function

Definition at line 18 of file ClpConstraint.hpp.

Constructor & Destructor Documentation

◆ ClpConstraint() [1/2]

ClpConstraint::ClpConstraint ( )

Default Constructor.

◆ ClpConstraint() [2/2]

ClpConstraint::ClpConstraint ( const ClpConstraint )

Copy constructor.

◆ ~ClpConstraint()

virtual ClpConstraint::~ClpConstraint ( )
virtual

Destructor.

Member Function Documentation

◆ gradient()

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 ClpConstraintLinear, and ClpConstraintQuadratic.

◆ functionValue() [1/2]

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

Constraint function value.

◆ resize()

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

Resize constraint.

Implemented in ClpConstraintLinear, and ClpConstraintQuadratic.

◆ deleteSome()

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

Delete columns in constraint.

Implemented in ClpConstraintLinear, and ClpConstraintQuadratic.

◆ reallyScale()

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

Scale constraint.

Implemented in ClpConstraintLinear, and ClpConstraintQuadratic.

◆ markNonlinear()

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 ClpConstraintLinear, and ClpConstraintQuadratic.

◆ markNonzero()

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 ClpConstraintLinear, and ClpConstraintQuadratic.

◆ operator=()

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

Assignment operator.

◆ clone()

virtual ClpConstraint * ClpConstraint::clone ( ) const
pure virtual

Clone.

Implemented in ClpConstraintLinear, and ClpConstraintQuadratic.

◆ type()

int ClpConstraint::type ( )
inline

Returns type, 0 linear, 1 nonlinear.

Definition at line 80 of file ClpConstraint.hpp.

◆ rowNumber()

int ClpConstraint::rowNumber ( ) const
inline

Row number (-1 is objective)

Definition at line 85 of file ClpConstraint.hpp.

◆ numberCoefficients()

virtual int ClpConstraint::numberCoefficients ( ) const
pure virtual

Number of possible coefficients in gradient.

Implemented in ClpConstraintLinear, and ClpConstraintQuadratic.

◆ functionValue() [2/2]

double ClpConstraint::functionValue ( ) const
inline

Stored constraint function value.

Definition at line 94 of file ClpConstraint.hpp.

◆ offset()

double ClpConstraint::offset ( ) const
inline

Constraint offset.

Definition at line 100 of file ClpConstraint.hpp.

◆ newXValues()

virtual void ClpConstraint::newXValues ( )
inlinevirtual

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

Definition at line 105 of file ClpConstraint.hpp.

Member Data Documentation

◆ lastGradient_

double* ClpConstraint::lastGradient_
mutableprotected

Gradient at last evaluation.

Definition at line 114 of file ClpConstraint.hpp.

◆ functionValue_

double ClpConstraint::functionValue_
mutableprotected

Value of non-linear part of constraint.

Definition at line 116 of file ClpConstraint.hpp.

◆ offset_

double ClpConstraint::offset_
mutableprotected

Value of offset for constraint.

Definition at line 118 of file ClpConstraint.hpp.

◆ type_

int ClpConstraint::type_
protected

Type of constraint - linear is 1.

Definition at line 120 of file ClpConstraint.hpp.

◆ rowNumber_

int ClpConstraint::rowNumber_
protected

Row number (-1 is objective)

Definition at line 122 of file ClpConstraint.hpp.


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