coin-Bcp
Public Member Functions | Static Public Member Functions | Static Private Attributes | List of all members
BB_cut Class Reference

Simple representation of a cut by storing non zero coefficients only. More...

#include <BB_cut.hpp>

Inheritance diagram for BB_cut:
Inheritance graph
[legend]
Collaboration diagram for BB_cut:
Collaboration graph
[legend]

Public Member Functions

void pack (BCP_buffer &buf) const
 Packing cut to a buffer. More...
 
Constructors and destructors
 BB_cut (BCP_buffer &buf)
 Constructor from content of buffer. More...
 
 BB_cut (const OsiRowCut &cut)
 Constructor from an OsiRowCut. More...
 
 ~BB_cut ()
 Destructor. More...
 
- Public Member Functions inherited from BCP_cut_algo
 BCP_cut_algo (const double lb, const double ub)
 This constructor just sets the data members to the given values. More...
 
virtual ~BCP_cut_algo ()=0
 The destructor deletes the object. More...
 
BCP_object_t obj_type () const
 Return BCP_AlgoObj indicating that the object is an algorithmic cut. More...
 
- Public Member Functions inherited from BCP_cut
 BCP_cut (const double lb, const double ub)
 The constructor sets the internal index of the cut to zero and the other data members to the given arguments. More...
 
virtual ~BCP_cut ()
 The destructor is virtual so that the appropriate destructor is invoked for every cut. More...
 
int effective_count () const
 Return the effectiveness count of the cut (only in LP process). More...
 
double lb () const
 Return the lower bound on the cut. More...
 
double ub () const
 Return the upper bound on the cut. More...
 
int bcpind () const
 Return the internal index of the cut. More...
 
BCP_obj_status status () const
 Return the status of the cut. More...
 
bool dont_send_to_pool () const
 Return whether the cut should be sent to the Cut Pool process. More...
 
bool is_non_removable () const
 Return whether the cut marked as NotRemovable. More...
 
bool is_to_be_removed () const
 Return whether the cut must be removed from the formulation. More...
 
void set_effective_count (const int cnt)
 Set the effectiveness count to the given value. More...
 
int increase_effective_count ()
 Increase the effectiveness count by 1 (or to 1 if it was negative). More...
 
int decrease_effective_count ()
 Decrease the effectiveness count by 1 (or to -1 if it was positive). More...
 
void set_lb (const double lb)
 Set the lower bound on the cut. More...
 
void set_ub (const double ub)
 Set the upper bound on the cut. More...
 
void change_lb_ub_st (const BCP_obj_change &change)
 Set the lower/upper bounds and the status of the cut simultaneously to the values given in the data members of the argument. More...
 
void change_bounds (const double lb, const double ub)
 Change just the lower/upper bounds. More...
 
void set_bcpind (const int bcpind)
 Set the internal index of the cut. More...
 
void set_bcpind_flip ()
 Flip the internal index of the variable to its negative. More...
 
void set_status (const BCP_obj_status stat)
 Set the status of the cut. More...
 
void dont_send_to_pool (bool flag)
 Set/unset the flag controlling whether the cut could be sent to the Cut Pool process. More...
 
void make_active ()
 Mark the cut as active. More...
 
void make_non_removable ()
 Mark the cut as NotRemovable. More...
 
void make_to_be_removed ()
 Mark the cut as ToBeRemoved. More...
 
- Public Member Functions inherited from Coin::ReferencedObject
 ReferencedObject ()
 
virtual ~ReferencedObject ()
 
int ReferenceCount () const
 
void AddRef () const
 
void ReleaseRef () const
 
- Public Member Functions inherited from OsiRowCut
void sortIncrIndex ()
 Allow access row sorting function. More...
 
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...
 
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...
 
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 CoinPackedVectormutableRow ()
 Get row elements for changing. More...
 
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...
 
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...
 
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...
 
OsiRowCutoperator= (const OsiRowCut &rhs)
 Assignment operator. More...
 
 OsiRowCut (const OsiRowCut &)
 Copy constructor. More...
 
virtual OsiRowCutclone () 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...
 
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 ()
 Set globallyValid (nonzero true) More...
 
void setNotGloballyValid ()
 Set globallyValid (nonzero true) More...
 
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...
 

Static Public Member Functions

static void * operator new (size_t size)
 
static void operator delete (void *p, size_t size)
 

Static Private Attributes

static BCP_MemPool memPool
 

Additional Inherited Members

- Protected Member Functions inherited from OsiCut
 OsiCut ()
 Default Constructor. More...
 
 OsiCut (const OsiCut &)
 Copy constructor. More...
 
OsiCutoperator= (const OsiCut &rhs)
 Assignment operator. More...
 
virtual ~OsiCut ()
 Destructor. More...
 
- Protected Attributes inherited from BCP_cut
double _lb
 Lower bound of the cut. More...
 
double _ub
 Upper bound of the cut. More...
 

Detailed Description

Simple representation of a cut by storing non zero coefficients only.

Definition at line 64 of file BB_cut.hpp.

Constructor & Destructor Documentation

BB_cut::BB_cut ( BCP_buffer buf)

Constructor from content of buffer.

BB_cut::BB_cut ( const OsiRowCut cut)

Constructor from an OsiRowCut.

BB_cut::~BB_cut ( )
inline

Destructor.

Definition at line 92 of file BB_cut.hpp.

Member Function Documentation

static void* BB_cut::operator new ( size_t  size)
inlinestatic

Definition at line 72 of file BB_cut.hpp.

References BCP_MemPool::alloc(), and memPool.

static void BB_cut::operator delete ( void *  p,
size_t  size 
)
inlinestatic

Definition at line 76 of file BB_cut.hpp.

References BCP_MemPool::free(), and memPool.

void BB_cut::pack ( BCP_buffer buf) const

Packing cut to a buffer.

Member Data Documentation

BCP_MemPool BB_cut::memPool
staticprivate

Definition at line 68 of file BB_cut.hpp.

Referenced by operator delete(), and operator new().


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