#include "paal/iterative_rounding/bounded_degree_min_spanning_tree/bounded_degree_mst_oracle.hpp"
#include "paal/iterative_rounding/ir_components.hpp"
#include "paal/iterative_rounding/iterative_rounding.hpp"
#include "paal/lp/lp_row_generation.hpp"
#include <boost/bimap.hpp>
#include <boost/range/as_array.hpp>
#include <boost/graph/connected_components.hpp>
Go to the source code of this file.
Classes | |
class | paal::ir::bounded_degree_mst< Graph, DegreeBounds, CostMap, VertexIndex, SpanningTreeOutputIterator, Oracle > |
The class for solving the Bounded Degree MST problem using Iterative Rounding. More... | |
struct | paal::ir::bdmst_round_condition |
struct | paal::ir::bdmst_relax_condition |
struct | paal::ir::bdmst_init |
struct | paal::ir::bdmst_set_solution |
Namespaces | |
paal | |
global namespace of project. | |
paal::ir | |
Iterative Rounding namespace. | |
paal::ir::detail | |
Detail of Iterative Rounding namespace. | |
Functions | |
template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename DegreeBounds , typename CostMap , typename VertexIndex , typename SpanningTreeOutputIterator > | |
bounded_degree_mst< Graph, DegreeBounds, CostMap, VertexIndex, SpanningTreeOutputIterator, Oracle > | paal::ir::detail::make_bounded_degree_mst (const Graph &g, const DegreeBounds °_bounds, CostMap cost_map, VertexIndex vertex_index, SpanningTreeOutputIterator result_spanning_tree, Oracle oracle=Oracle()) |
Creates a bounded_degree_mst object. Non-named version. More... | |
template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename DegreeBounds , typename SpanningTreeOutputIterator , typename P , typename T , typename R > | |
auto | paal::ir::make_bounded_degree_mst (const Graph &g, const DegreeBounds °_bounds, const boost::bgl_named_params< P, T, R > ¶ms, SpanningTreeOutputIterator result_spanning_tree, Oracle oracle=Oracle()) -> bounded_degree_mst< Graph, DegreeBounds, decltype(choose_const_pmap(get_param(params, boost::edge_weight), g, boost::edge_weight)), decltype(choose_const_pmap(get_param(params, boost::vertex_index), g, boost::vertex_index)), SpanningTreeOutputIterator, Oracle > |
template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename DegreeBounds , typename SpanningTreeOutputIterator > | |
auto | paal::ir::make_bounded_degree_mst (const Graph &g, const DegreeBounds °_bounds, SpanningTreeOutputIterator result_spanning_tree, Oracle oracle=Oracle()) -> decltype(make_bounded_degree_mst(g, deg_bounds, boost::no_named_parameters(), result_spanning_tree, oracle)) |
template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename DegreeBounds , typename CostMap , typename VertexIndex , typename SpanningTreeOutputIterator , typename IRcomponents = bdmst_ir_components<>, typename Visitor = trivial_visitor> | |
IRResult | paal::ir::detail::bounded_degree_mst_iterative_rounding (const Graph &g, const DegreeBounds °_bounds, CostMap cost_map, VertexIndex vertex_index, SpanningTreeOutputIterator result_spanning_tree, IRcomponents components=IRcomponents(), Oracle oracle=Oracle(), Visitor visitor=Visitor()) |
Solves the Bounded Degree MST problem using Iterative Rounding. Non-named version. More... | |
template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename DegreeBounds , typename SpanningTreeOutputIterator , typename IRcomponents = bdmst_ir_components<>, typename Visitor = trivial_visitor, typename P , typename T , typename R > | |
IRResult | paal::ir::bounded_degree_mst_iterative_rounding (const Graph &g, const DegreeBounds °_bounds, const boost::bgl_named_params< P, T, R > ¶ms, SpanningTreeOutputIterator result_spanning_tree, IRcomponents components=IRcomponents(), Oracle oracle=Oracle(), Visitor visitor=Visitor()) |
Solves the Bounded Degree MST problem using Iterative Rounding. Named version. More... | |
template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename DegreeBounds , typename SpanningTreeOutputIterator , typename IRcomponents = bdmst_ir_components<>, typename Visitor = trivial_visitor> | |
IRResult | paal::ir::bounded_degree_mst_iterative_rounding (const Graph &g, const DegreeBounds °_bounds, SpanningTreeOutputIterator result_spanning_tree, IRcomponents components=IRcomponents(), Oracle oracle=Oracle(), Visitor visitor=Visitor()) |
Solves the Bounded Degree MST problem using Iterative Rounding. All default parameters. More... | |