coin-Bcp
List of all members
BCP_cut_algo Class Referenceabstract

This is the class from which the user should derive her own algorithmic cuts. More...

#include <BCP_cut.hpp>

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

Public Member Functions

Constructor and destructor
 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...
 
Query methods
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
 

Private Member Functions

Disabled methods
 BCP_cut_algo ()
 The default constructor is declared but not defined to disable it. More...
 
 BCP_cut_algo (const BCP_cut_algo &)
 The copy constructor is declared but not defined to disable it. More...
 
BCP_cut_algooperator= (const BCP_cut_algo &)
 The assignment operator is declared but not defined to disable it. More...
 

Additional Inherited Members

- Protected Attributes inherited from BCP_cut
double _lb
 Lower bound of the cut. More...
 
double _ub
 Upper bound of the cut. More...
 

Detailed Description

This is the class from which the user should derive her own algorithmic cuts.

Note that such an object cannot be constructed (it has pure virtual methods), only objects with types derived from BCP_cut_algo can be created. Such objects are constructed either directly by the user or by the unpacking functions of the BCP_xx_user classes.

Definition at line 242 of file BCP_cut.hpp.

Constructor & Destructor Documentation

BCP_cut_algo::BCP_cut_algo ( )
private

The default constructor is declared but not defined to disable it.

BCP_cut_algo::BCP_cut_algo ( const BCP_cut_algo )
private

The copy constructor is declared but not defined to disable it.

BCP_cut_algo::BCP_cut_algo ( const double  lb,
const double  ub 
)
inline

This constructor just sets the data members to the given values.

See also the constructor of BCP_cut.

Definition at line 259 of file BCP_cut.hpp.

virtual BCP_cut_algo::~BCP_cut_algo ( )
pure virtual

The destructor deletes the object.

Member Function Documentation

BCP_cut_algo& BCP_cut_algo::operator= ( const BCP_cut_algo )
private

The assignment operator is declared but not defined to disable it.

BCP_object_t BCP_cut_algo::obj_type ( ) const
inlinevirtual

Return BCP_AlgoObj indicating that the object is an algorithmic cut.

Implements BCP_cut.

Definition at line 268 of file BCP_cut.hpp.

References BCP_AlgoObj.


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