Loading...
Searching...
No Matches
ClpConstraint Class Referenceabstract

Constraint Abstract Base Class. More...

`#include <ClpConstraint.hpp>`

Inheritance diagram for ClpConstraint:
[legend]

## 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.
ClpConstraint & | operator= (const ClpConstraint &rhs)
| Assignment operator.
virtual | ~ClpConstraint ()
| Destructor.
virtual ClpConstraint * | clone () 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 | ( |  | ) |

inline virtual

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_

mutable protected

Gradient at last evaluation.

Definition at line 114 of file ClpConstraint.hpp.

## functionValue_

double ClpConstraint::functionValue_

mutable protected

Value of non-linear part of constraint.

Definition at line 116 of file ClpConstraint.hpp.

## offset_

double ClpConstraint::offset_

mutable protected

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:

- Clp/src/ClpConstraint.hpp