#include <OsiRowCut.hpp>
Inheritance diagram for OsiRowCut:
Public Member Functions | |
void | sortIncrIndex () |
Allow access row sorting function. | |
Row bounds | |
OsiRowCut_inline double | lb () const |
Get lower bound. | |
OsiRowCut_inline void | setLb (double lb) |
Set lower bound. | |
OsiRowCut_inline double | ub () const |
Get upper bound. | |
OsiRowCut_inline void | setUb (double ub) |
Set upper bound. | |
Row rhs, sense, range | |
char | sense () const |
Get sense ('E', 'G', 'L', 'N', 'R'). | |
double | rhs () const |
Get right-hand side. | |
double | range () const |
Get range (ub - lb for 'R' rows, 0 otherwise). | |
Row elements | |
OsiRowCut_inline void | setRow (int size, const int *colIndices, const double *elements, bool testForDuplicateIndex=true) |
Set row elements. | |
OsiRowCut_inline void | setRow (const CoinPackedVector &v) |
Set row elements from a packed vector. | |
OsiRowCut_inline const CoinPackedVector & | row () const |
Get row elements. | |
Comparison operators | |
OsiRowCut_inline bool | operator== (const OsiRowCut &rhs) const |
equal - true if lower bound, upper bound, row elements, and OsiCut are equal. | |
OsiRowCut_inline bool | operator!= (const OsiRowCut &rhs) const |
not equal | |
Sanity checks on cut | |
OsiRowCut_inline bool | consistent () const |
Returns true if the cut is consistent. | |
OsiRowCut_inline bool | consistent (const OsiSolverInterface &im) const |
Returns true if cut is consistent with respect to the solver interface's model. | |
OsiRowCut_inline bool | infeasible (const OsiSolverInterface &im) const |
Returns true if the row cut itself is infeasible and cannot be satisfied. | |
virtual double | violated (const double *solution) const |
Returns infeasibility of the cut with respect to solution passed in i.e. | |
Arithmetic operators. Apply CoinPackedVector methods to the vector | |
void | operator+= (double value) |
add value to every vector entry | |
void | operator-= (double value) |
subtract value from every vector entry | |
void | operator *= (double value) |
multiply every vector entry by value | |
void | operator/= (double value) |
divide every vector entry by value | |
Constructors and destructors | |
OsiRowCut & | operator= (const OsiRowCut &rhs) |
Assignment operator. | |
OsiRowCut (const OsiRowCut &) | |
Copy constructor. | |
virtual OsiRowCut * | clone () const |
Clone. | |
OsiRowCut () | |
Default Constructor. | |
OsiRowCut (double cutlb, double cutub, int capacity, int size, int *&colIndices, double *&elements) | |
Ownership Constructor. | |
virtual | ~OsiRowCut () |
Destructor. | |
Debug stuff | |
virtual void | print () const |
Print cuts in collection. | |
Private Attributes | |
Private member data | |
CoinPackedVector | row_ |
Row elements. | |
double | lb_ |
Row lower bound. | |
double | ub_ |
Row upper bound. | |
Friends | |
void | OsiRowCutUnitTest (const OsiSolverInterface *baseSiP, const std::string &mpsDir) |
A function that tests the methods in the OsiRowCut class. |
A row cut has:
Definition at line 27 of file OsiRowCut.hpp.
|
Copy constructor.
|
|
Default Constructor.
|
|
Ownership Constructor.
This constructor assumes ownership of the vectors passed as parameters for indices and elements. |
|
Destructor.
|
|
Get lower bound.
|
|
Set lower bound.
|
|
Get upper bound.
|
|
Set upper bound.
|
|
Get sense ('E', 'G', 'L', 'N', 'R').
|
|
Get right-hand side.
|
|
Get range (ub - lb for 'R' rows, 0 otherwise).
|
|
Set row elements.
|
|
Set row elements from a packed vector.
|
|
Get row elements.
|
|
equal - true if lower bound, upper bound, row elements, and OsiCut are equal.
|
|
not equal
|
|
Returns true if the cut is consistent. This checks to ensure that:
Implements OsiCut. |
|
Returns true if cut is consistent with respect to the solver interface's model. This checks to ensure that
Implements OsiCut. |
|
Returns true if the row cut itself is infeasible and cannot be satisfied. This checks whether
Implements OsiCut. |
|
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. |
|
add
Definition at line 128 of file OsiRowCut.hpp. References row_. |
|
subtract
Definition at line 132 of file OsiRowCut.hpp. References row_. |
|
multiply every vector entry by
Definition at line 136 of file OsiRowCut.hpp. References row_. |
|
divide every vector entry by
Definition at line 140 of file OsiRowCut.hpp. References row_. |
|
Allow access row sorting function.
Definition at line 145 of file OsiRowCut.hpp. References row_. |
|
Assignment operator.
|
|
Clone.
Reimplemented in OsiRowCut2. Referenced by OsiCuts::insert(). |
|
Print cuts in collection.
Reimplemented from OsiCut. Referenced by OsiCuts::printCuts(). |
|
A function that tests the methods in the OsiRowCut class. The only reason for it not to be a member method is that this way it doesn't have to be compiled into the library. And that's a gain, because the library should be compiled with optimization on, but this method should be compiled with debugging. |
|
Row elements.
Definition at line 188 of file OsiRowCut.hpp. Referenced by operator *=(), operator+=(), operator-=(), operator/=(), and sortIncrIndex(). |
|
Row lower bound.
Definition at line 190 of file OsiRowCut.hpp. |
|
Row upper bound.
Definition at line 192 of file OsiRowCut.hpp. |