/home/coin/SVN-release/Bcp-1.2.1/Bcp/examples/MaxCut/include/MC_cut.hpp File Reference

#include <algorithm>
#include "CoinHelperFunctions.hpp"
#include "BCP_math.hpp"
#include "BCP_mempool.hpp"
#include "BCP_cut.hpp"

Include dependency graph for MC_cut.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MC_cycle_cut
class  MC_explicit_dense_cut

Enumerations

enum  MC_cut_t { MC_cut_t__cycle, MC_cut_t__explicit_dense }
enum  MC_EdgeOrdering { MC_MstEdgeOrderingPreferZero, MC_MstEdgeOrderingPreferOne, MC_MstEdgeOrderingPreferExtreme }

Functions

bool MC_cycle_cut_less (const BCP_cut *bc0, const BCP_cut *bc1)
bool MC_cycle_cut_equal (const BCP_cut *bc0, const BCP_cut *bc1)
MC_solutionMC_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)
MC_solutionMC_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)
void MC_kruskal (const MC_problem &mc, const int *edgeorder, const double *x, int *nodesign, int *edges_in_tree)
void MC_kruskal (const MC_problem &mc, const int *edgeorder, const double *x, int *nodesign, int *parentnode, int *parentedge)
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)
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)
void MC_test_ising_triangles (const int n, const int *triangles, const double *x, const double minviol, BCP_vec< BCP_cut * > &cuts, BCP_vec< BCP_row * > &rows)


Enumeration Type Documentation

enum MC_cut_t

Enumerator:
MC_cut_t__cycle 
MC_cut_t__explicit_dense 

Definition at line 21 of file MC_cut.hpp.

enum MC_EdgeOrdering

Enumerator:
MC_MstEdgeOrderingPreferZero 
MC_MstEdgeOrderingPreferOne 
MC_MstEdgeOrderingPreferExtreme 

Definition at line 26 of file MC_cut.hpp.


Function Documentation

bool MC_cycle_cut_less ( const BCP_cut bc0,
const BCP_cut bc1 
) [inline]

Definition at line 107 of file MC_cut.hpp.

References MC_cycle_cut::cycle_len, MC_cycle_cut::edges, and MC_cycle_cut::pos_edges.

bool MC_cycle_cut_equal ( const BCP_cut bc0,
const BCP_cut bc1 
) [inline]

Definition at line 122 of file MC_cut.hpp.

References MC_cycle_cut::cycle_len, MC_cycle_cut::edges, and MC_cycle_cut::pos_edges.

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 
)

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 
)

void MC_kruskal ( const MC_problem mc,
const int *  edgeorder,
const double *  x,
int *  nodesign,
int *  edges_in_tree 
)

void MC_kruskal ( const MC_problem mc,
const int *  edgeorder,
const double *  x,
int *  nodesign,
int *  parentnode,
int *  parentedge 
)

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 
)

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 
)

void MC_test_ising_triangles ( const int  n,
const int *  triangles,
const double *  x,
const double  minviol,
BCP_vec< BCP_cut * > &  cuts,
BCP_vec< BCP_row * > &  rows 
)


Generated on Thu Jan 15 03:01:11 2009 for coin-Bcp by  doxygen 1.4.7