#include <cmath>
#include <algorithm>
#include "CoinSort.hpp"
#include "BCP_vector.hpp"
#include "BCP_matrix.hpp"
#include "MC_cut.hpp"
#include "MC_solution.hpp"
#include "MC.hpp"
Include dependency graph for MC_cutgen.cpp:
Go to the source code of this file.
Functions | |
void | MC_cuts_from_mst (const MC_problem &mc, const double *x, const double minviol, const BCP_vec< int > &nodesign, const BCP_vec< int > &parentnode, const BCP_vec< int > &parentedge, const int maxnewcuts, BCP_vec< BCP_cut * > &new_cuts, BCP_vec< BCP_row * > &new_rows) |
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_cuts_from_mst | ( | const MC_problem & | mc, | |
const double * | x, | |||
const double | minviol, | |||
const BCP_vec< int > & | nodesign, | |||
const BCP_vec< int > & | parentnode, | |||
const BCP_vec< int > & | parentedge, | |||
const int | maxnewcuts, | |||
BCP_vec< BCP_cut * > & | new_cuts, | |||
BCP_vec< BCP_row * > & | new_rows | |||
) |
Definition at line 17 of file MC_cutgen.cpp.
References BCP_DBL_MAX, BCP_vec< T >::clear(), MC_problem::edges, MC_graph_edge::head, k, m, n, MC_problem::num_edges, MC_problem::num_nodes, BCP_vec< T >::push_back(), BCP_vec< T >::reserve(), BCP_vec< T >::size(), MC_graph_edge::tail, and BCP_vec< T >::unchecked_push_back().
Referenced by MC_mst_cutgen().
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 | |||
) |
Definition at line 152 of file MC_cutgen.cpp.
References BCP_vec< T >::begin(), BCP_vec< T >::end(), m, MC_cuts_from_mst(), MC_kruskal(), MC_MstEdgeOrderingPreferExtreme, MC_MstEdgeOrderingPreferOne, MC_MstEdgeOrderingPreferZero, n, MC_problem::num_edges, MC_problem::num_nodes, BCP_vec< T >::reserve(), BCP_vec< T >::size(), and BCP_vec< T >::unchecked_push_back().
Referenced by MC_tm::create_root(), MC_lp::generate_mst_cuts(), and MC_lp::test_feasibility().