Clp 1.17.6

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Friends | List of all members
OsiRowCut Class Reference

Row Cut Class. More...

`#include <OsiRowCut.hpp>`

Inheritance diagram for OsiRowCut:
[legend]
Collaboration diagram for OsiRowCut:
[legend]

## Public Member Functions
void | sortIncrIndex ()
| Allow access row sorting function. More...
Row bounds
OsiRowCut_inline double | lb () const
| Get lower bound. More...
OsiRowCut_inline void | setLb (double lb)
| Set lower bound. More...
OsiRowCut_inline double | ub () const
| Get upper bound. More...
OsiRowCut_inline void | setUb (double ub)
| Set upper bound. More...
Row rhs, sense, range
char | sense () const
| Get sense ('E', 'G', 'L', 'N', 'R') More...
double | rhs () const
| Get right-hand side. More...
double | range () const
| Get range (ub - lb for 'R' rows, 0 otherwise) More...
Row elements
OsiRowCut_inline void | setRow (int size, const int *colIndices, const double *elements, bool testForDuplicateIndex=COIN_DEFAULT_VALUE_FOR_DUPLICATE)
| Set row elements. More...
OsiRowCut_inline void | setRow (const CoinPackedVector &v)
| Set row elements from a packed vector. More...
OsiRowCut_inline const CoinPackedVector & | row () const
| Get row elements. More...
OsiRowCut_inline CoinPackedVector & | mutableRow ()
| Get row elements for changing. More...
Comparison operators
OsiRowCut_inline bool | operator== (const OsiRowCut &rhs) const
| equal - true if lower bound, upper bound, row elements, and OsiCut are equal. More...
OsiRowCut_inline bool | operator!= (const OsiRowCut &rhs) const
| not equal More...
Sanity checks on cut
OsiRowCut_inline bool | consistent () const
| Returns true if the cut is consistent. More...
OsiRowCut_inline bool | consistent (const OsiSolverInterface &im) const
| Returns true if cut is consistent with respect to the solver interface's model. More...
OsiRowCut_inline bool | infeasible (const OsiSolverInterface &im) const
| Returns true if the row cut itself is infeasible and cannot be satisfied. More...
virtual double | violated (const double *solution) const
| Returns infeasibility of the cut with respect to solution passed in i.e. More...
Arithmetic operators. Apply CoinPackedVector methods to the vector
void | operator+= (double value)
| add `value` to every vector entry More...
void | operator-= (double value)
| subtract `value` from every vector entry More...
void | operator*= (double value)
| multiply every vector entry by `value` More...
void | operator/= (double value)
| divide every vector entry by `value` More...
Constructors and destructors
OsiRowCut & | operator= (const OsiRowCut &rhs)
| Assignment operator. More...
| OsiRowCut (const OsiRowCut &)
| Copy constructor. More...
virtual OsiRowCut * | clone () const
| Clone. More...
| OsiRowCut ()
| Default Constructor. More...
| OsiRowCut (double cutlb, double cutub, int capacity, int size, int *&colIndices, double *&elements)
| Ownership Constructor. More...
virtual | ~OsiRowCut ()
| Destructor. More...
Debug stuff
virtual void | print () const
| Print cuts in collection. More...
Public Member Functions inherited from OsiCut
void | setEffectiveness (double e)
| Set effectiveness. More...
double | effectiveness () const
| Get effectiveness. More...
void | setGloballyValid (bool trueFalse)
| Set globallyValid (nonzero true) More...
void | setGloballyValid ()
void | setNotGloballyValid ()
bool | globallyValid () const
| Get globallyValid. More...
void | setGloballyValidAsInteger (int trueFalse)
| Set globallyValid as integer (nonzero true) More...
int | globallyValidAsInteger () const
| Get globallyValid. More...
virtual bool | operator== (const OsiCut &rhs) const
| equal. 2 cuts are equal if there effectiveness are equal More...
virtual bool | operator!= (const OsiCut &rhs) const
| not equal More...
virtual bool | operator< (const OsiCut &rhs) const
| less than. True if this.effectiveness < rhs.effectiveness More...
virtual bool | operator> (const OsiCut &rhs) const
| less than. True if this.effectiveness > rhs.effectiveness More...

## Private Attributes
Private member data
CoinPackedVector | row_
| Row elements. More...
double | lb_
| Row lower bound. More...
double | ub_
| Row upper bound. More...

## Friends
void | OsiRowCutUnitTest (const OsiSolverInterface *baseSiP, const std::string &mpsDir)
| A function that tests the methods in the OsiRowCut class. More...

## Additional Inherited Members
Protected Member Functions inherited from OsiCut
| OsiCut ()
| Default Constructor. More...
| OsiCut (const OsiCut &)
| Copy constructor. More...
OsiCut & | operator= (const OsiCut &rhs)
| Assignment operator. More...
virtual | ~OsiCut ()
| Destructor. More...

## Detailed Description

Row Cut Class.

A row cut has:

- a lower bound
- an upper bound
- a vector of row elements

Definition at line 29 of file OsiRowCut.hpp.

## Constructor & Destructor Documentation

OsiRowCut::OsiRowCut | ( | const OsiRowCut & |  | ) |

Copy constructor.

OsiRowCut::OsiRowCut | ( |  | ) |

Default Constructor.

OsiRowCut::OsiRowCut | ( | double | cutlb,
|  | double | cutub,
|  | int | capacity,
|  | int | size,
|  | int *& | colIndices,
|  | double *& | elements
| ) |  |

Ownership Constructor.

This constructor assumes ownership of the vectors passed as parameters for indices and elements. `colIndices` and `elements` will be NULL on return.

virtual OsiRowCut::~OsiRowCut | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

OsiRowCut_inline double OsiRowCut::lb | ( |  | ) | const

Get lower bound.

OsiRowCut_inline void OsiRowCut::setLb | ( | double | lb | ) |

Set lower bound.

OsiRowCut_inline double OsiRowCut::ub | ( |  | ) | const

Get upper bound.

OsiRowCut_inline void OsiRowCut::setUb | ( | double | ub | ) |

Set upper bound.

char OsiRowCut::sense | ( |  | ) | const

Get sense ('E', 'G', 'L', 'N', 'R')

double OsiRowCut::rhs | ( |  | ) | const

Get right-hand side.

double OsiRowCut::range | ( |  | ) | const

Get range (ub - lb for 'R' rows, 0 otherwise)

OsiRowCut_inline void OsiRowCut::setRow | ( | int | size,
|  | const int * | colIndices,
|  | const double * | elements,
|  | bool | testForDuplicateIndex = `COIN_DEFAULT_VALUE_FOR_DUPLICATE`
| ) |  |

Set row elements.

OsiRowCut_inline void OsiRowCut::setRow | ( | const CoinPackedVector & | v | ) |

Set row elements from a packed vector.

OsiRowCut_inline const CoinPackedVector& OsiRowCut::row | ( |  | ) | const

Get row elements.

OsiRowCut_inline CoinPackedVector& OsiRowCut::mutableRow | ( |  | ) |

Get row elements for changing.

OsiRowCut_inline bool OsiRowCut::operator== | ( | const OsiRowCut & | rhs | ) | const

equal - true if lower bound, upper bound, row elements, and OsiCut are equal.

OsiRowCut_inline bool OsiRowCut::operator!= | ( | const OsiRowCut & | rhs | ) | const

not equal

OsiRowCut_inline bool OsiRowCut::consistent | ( |  | ) | const
| virtual

Returns true if the cut is consistent.

This checks to ensure that:

- The row element vector does not have duplicate indices
- The row element vector indices are >= 0

Implements OsiCut.

OsiRowCut_inline bool OsiRowCut::consistent | ( | const OsiSolverInterface & | im | ) | const
| virtual

Returns true if cut is consistent with respect to the solver interface's model.

This checks to ensure that

- The row element vector indices are < the number of columns in the model

Implements OsiCut.

OsiRowCut_inline bool OsiRowCut::infeasible | ( | const OsiSolverInterface & | im | ) | const
| virtual

Returns true if the row cut itself is infeasible and cannot be satisfied.

This checks whether

- the lower bound is strictly greater than the upper bound.

Implements OsiCut.

virtual double OsiRowCut::violated | ( | const double * | solution | ) | const
| virtual

Returns infeasibility of the cut with respect to solution passed in i.e.

is positive if cuts off that solution. solution is getNumCols() long..

Implements OsiCut.

void OsiRowCut::operator+= | ( | double | value | ) |
| inline

add `value` to every vector entry

Definition at line 130 of file OsiRowCut.hpp.

void OsiRowCut::operator-= | ( | double | value | ) |
| inline

subtract `value` from every vector entry

Definition at line 136 of file OsiRowCut.hpp.

void OsiRowCut::operator*= | ( | double | value | ) |
| inline

multiply every vector entry by `value`

Definition at line 142 of file OsiRowCut.hpp.

void OsiRowCut::operator/= | ( | double | value | ) |
| inline

divide every vector entry by `value`

Definition at line 148 of file OsiRowCut.hpp.

void OsiRowCut::sortIncrIndex | ( |  | ) |
| inline

Allow access row sorting function.

Definition at line 155 of file OsiRowCut.hpp.

OsiRowCut& OsiRowCut::operator= | ( | const OsiRowCut & | rhs | ) |

Assignment operator.

virtual OsiRowCut* OsiRowCut::clone | ( |  | ) | const
| virtual

Clone.

Reimplemented in OsiRowCut2.

virtual void OsiRowCut::print | ( |  | ) | const
| virtual

Print cuts in collection.

Reimplemented from OsiCut.

## Friends And Related Function Documentation

void OsiRowCutUnitTest | ( | const OsiSolverInterface * | baseSiP,
|  | const std::string & | mpsDir
| ) |  |
| friend

A function that tests the methods in the OsiRowCut class.

## Member Data Documentation

CoinPackedVector OsiRowCut::row_
| private

Row elements.

Definition at line 198 of file OsiRowCut.hpp.

double OsiRowCut::lb_
| private

Row lower bound.

Definition at line 200 of file OsiRowCut.hpp.

double OsiRowCut::ub_
| private

Row upper bound.

Definition at line 202 of file OsiRowCut.hpp.

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

- /tmp/Clp-1.17.6/Osi/src/Osi/OsiRowCut.hpp