#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_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) |
enum MC_cut_t |
enum MC_EdgeOrdering |
MC_MstEdgeOrderingPreferZero | |
MC_MstEdgeOrderingPreferOne | |
MC_MstEdgeOrderingPreferExtreme |
Definition at line 26 of file MC_cut.hpp.
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.
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 | |||
) |