Column Cut Class. More...
#include <OsiColCut.hpp>
Public Member Functions | |
Setting column bounds | |
void | setLbs (int nElements, const int *colIndices, const double *lbElements) |
Set column lower bounds. | |
void | setLbs (const CoinPackedVector &lbs) |
Set column lower bounds from a packed vector. | |
void | setUbs (int nElements, const int *colIndices, const double *ubElements) |
Set column upper bounds. | |
void | setUbs (const CoinPackedVector &ubs) |
Set column upper bounds from a packed vector. | |
Getting column bounds | |
const CoinPackedVector & | lbs () const |
Get column lower bounds. | |
const CoinPackedVector & | ubs () const |
Get column upper bounds. | |
Comparison operators | |
virtual bool | operator== (const OsiColCut &rhs) const |
equal - true if lower bounds, upper bounds, and OsiCut are equal. | |
virtual bool | operator!= (const OsiColCut &rhs) const |
not equal | |
Sanity checks on cut | |
virtual bool | consistent () const |
Returns true if the cut is consistent with respect to itself. | |
virtual bool | consistent (const OsiSolverInterface &im) const |
Returns true if cut is consistent with respect to the solver interface's model. | |
virtual bool | infeasible (const OsiSolverInterface &im) const |
Returns true if the cut is infeasible with respect to its bounds and the column bounds in the solver interface's models. | |
virtual double | violated (const double *solution) const |
Returns infeasibility of the cut with respect to solution passed in i.e. | |
Constructors and destructors | |
OsiColCut & | operator= (const OsiColCut &rhs) |
Assignment operator. | |
OsiColCut (const OsiColCut &) | |
Copy constructor. | |
OsiColCut () | |
Default Constructor. | |
virtual OsiColCut * | clone () const |
Clone. | |
virtual | ~OsiColCut () |
Destructor. | |
Debug stuff | |
virtual void | print () const |
Print cuts in collection. | |
Private Attributes | |
Private member data | |
CoinPackedVector | lbs_ |
Lower bounds. | |
CoinPackedVector | ubs_ |
Upper bounds. | |
Friends | |
void | OsiColCutUnitTest (const OsiSolverInterface *baseSiP, const std::string &mpsDir) |
A function that tests the methods in the OsiColCut class. |
Column Cut Class.
Column Cut Class has:
Definition at line 21 of file OsiColCut.hpp.
OsiColCut::OsiColCut | ( | const OsiColCut & | ) |
Copy constructor.
OsiColCut::OsiColCut | ( | ) |
Default Constructor.
virtual OsiColCut::~OsiColCut | ( | ) | [virtual] |
Destructor.
void OsiColCut::setLbs | ( | int | nElements, | |
const int * | colIndices, | |||
const double * | lbElements | |||
) | [inline] |
Set column lower bounds.
Definition at line 159 of file OsiColCut.hpp.
void OsiColCut::setLbs | ( | const CoinPackedVector & | lbs | ) | [inline] |
Set column lower bounds from a packed vector.
Definition at line 175 of file OsiColCut.hpp.
void OsiColCut::setUbs | ( | int | nElements, | |
const int * | colIndices, | |||
const double * | ubElements | |||
) | [inline] |
Set column upper bounds.
Definition at line 167 of file OsiColCut.hpp.
void OsiColCut::setUbs | ( | const CoinPackedVector & | ubs | ) | [inline] |
Set column upper bounds from a packed vector.
Definition at line 180 of file OsiColCut.hpp.
const CoinPackedVector & OsiColCut::lbs | ( | ) | const [inline] |
Get column lower bounds.
Definition at line 188 of file OsiColCut.hpp.
const CoinPackedVector & OsiColCut::ubs | ( | ) | const [inline] |
Get column upper bounds.
Definition at line 193 of file OsiColCut.hpp.
bool OsiColCut::operator== | ( | const OsiColCut & | rhs | ) | const [inline, virtual] |
equal - true if lower bounds, upper bounds, and OsiCut are equal.
Reimplemented from OsiCut.
Definition at line 202 of file OsiColCut.hpp.
bool OsiColCut::operator!= | ( | const OsiColCut & | rhs | ) | const [inline, virtual] |
bool OsiColCut::consistent | ( | ) | const [inline, virtual] |
Returns true if the cut is consistent with respect to itself.
This checks to ensure that:
Implements OsiCut.
Definition at line 224 of file OsiColCut.hpp.
bool OsiColCut::consistent | ( | const OsiSolverInterface & | im | ) | const [inline, virtual] |
Returns true if cut is consistent with respect to the solver interface's model.
This checks to ensure that the lower & upperbound packed vectors:
Implements OsiCut.
Definition at line 237 of file OsiColCut.hpp.
bool OsiColCut::infeasible | ( | const OsiSolverInterface & | im | ) | const [inline, virtual] |
Returns true if the cut is infeasible with respect to its bounds and the column bounds in the solver interface's models.
This checks whether:
Implements OsiCut.
Definition at line 288 of file OsiColCut.hpp.
virtual double OsiColCut::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.
Assignment operator.
Reimplemented from OsiCut.
virtual OsiColCut* OsiColCut::clone | ( | ) | const [virtual] |
Clone.
virtual void OsiColCut::print | ( | ) | const [virtual] |
Print cuts in collection.
Reimplemented from OsiCut.
void OsiColCutUnitTest | ( | const OsiSolverInterface * | baseSiP, | |
const std::string & | mpsDir | |||
) | [friend] |
A function that tests the methods in the OsiColCut 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.
CoinPackedVector OsiColCut::lbs_ [private] |
Lower bounds.
Definition at line 147 of file OsiColCut.hpp.
CoinPackedVector OsiColCut::ubs_ [private] |
Upper bounds.
Definition at line 149 of file OsiColCut.hpp.