8 #include "CoinHelperFunctions.hpp" 
   41    static inline void * 
operator new(
size_t size) {
 
   44    static inline void operator delete(
void *p, 
size_t size) {
 
   58          CoinDisjointCopyN(ei, len, 
edges);
 
   78    static inline void * 
operator new(
size_t size) {
 
   81    static inline void operator delete(
void *p, 
size_t size) {
 
   90                          const double * elements) :
 
   94       CoinDisjointCopyN(elements, num, 
coeffs);
 
  134             const double alpha, 
const double beta,
 
  136             const int heurswitchround,
 
  137             const bool do_edge_switch_heur, 
const int struct_switch_heur);
 
  143               const double alpha, 
const double beta,
 
  145               const int heurswitchround,
 
  146               const bool do_edge_switch_heur, 
const int struct_switch_heur,
 
  147               const double minviol, 
const int maxnewcuts,
 
  154            int * nodesign, 
int * edges_in_tree);
 
  160            int * nodesign, 
int * parentnode, 
int * parentedge);
 
  166                                  const bool generate_all_cuts,
 
  167                                  const double minviol,
 
  175                           const double* 
x, 
const double minviol,
 
  180                         const double* 
x, 
const double minviol,
 
MC_solution * MC_mst_cutgen(const MC_problem &mc, const double *x, const double *w, const double alpha, const double beta, const MC_EdgeOrdering edge_ordering, const int heurswitchround, const bool do_edge_switch_heur, const int struct_switch_heur, const double minviol, const int maxnewcuts, BCP_vec< BCP_cut * > &new_cuts, BCP_vec< BCP_row * > &new_rows)
bool MC_cycle_cut_equal(const BCP_cut *bc0, const BCP_cut *bc1)
MC_cycle_cut(const int *ei, const int pos, const int len)
pos
position where the operator should be printed when printing the expression 
Abstract base class that defines members common to all types of cuts. 
MC_explicit_dense_cut(const MC_explicit_dense_cut &)
This is the class from which the user should derive her own algorithmic cuts. 
void MC_generate_shortest_path_cycles(const MC_problem &mc, const double *x, const bool generate_all_cuts, const double minviol, BCP_vec< BCP_cut * > &new_cuts, BCP_vec< BCP_row * > &new_rows)
static BCP_MemPool memPool
double ub() const 
Return the upper bound on the cut. 
MC_explicit_dense_cut(const double ub, const int num, const double *elements)
void MC_kruskal(const MC_problem &mc, const int *edgeorder, const double *x, int *nodesign, int *edges_in_tree)
void pack(BCP_buffer &buf) const 
void free(void *p, size_t n)
MC_solution * MC_mst_heur(const MC_problem &mc, const double *x, const double *w, const double alpha, const double beta, const MC_EdgeOrdering edge_ordering, const int heurswitchround, const bool do_edge_switch_heur, const int struct_switch_heur)
void pack(BCP_buffer &buf) const 
MC_cycle_cut(const MC_cycle_cut &)
MC_cycle_cut & operator=(const MC_cycle_cut &)
This class describes the message buffer used for all processes of BCP. 
static BCP_MemPool memPool
void MC_test_ising_triangles(const int n, const int *cycles, const double *x, const double minviol, BCP_vec< BCP_cut * > &cuts, BCP_vec< BCP_row * > &rows)
void fint fint fint real fint real real real real real real real real * w
void MC_test_ising_four_cycles(const int n, const int *cycles, const double *x, const double minviol, BCP_vec< BCP_cut * > &cuts, BCP_vec< BCP_row * > &rows)
bool MC_cycle_cut_less(const BCP_cut *bc0, const BCP_cut *bc1)
MC_explicit_dense_cut & operator=(const MC_explicit_dense_cut &)
void fint fint fint real fint real * x
This class holds a row in a compressed form.