Detail of Iterative Rounding namespace. More...
Classes | |
class | iterative_rounding |
This class solves an iterative rounding problem. More... | |
struct | vertex_filter |
struct | bool_map_to_tree_filter |
struct | bool_map_to_non_tree_filter |
class | const_int_map |
A boost graph map that returns a constant integer value. More... | |
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 > | 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 CostMap , typename VertexIndex , typename SpanningTreeOutputIterator , typename IRcomponents = bdmst_ir_components<>, typename Visitor = trivial_visitor> | |
IRResult | 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 Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator > | |
steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle > | make_steiner_network (const Graph &g, const Restrictions &restrictions, CostMap cost_map, VertexIndex vertex_index, ResultNetworkOutputIterator result_network, Oracle oracle=Oracle{}) |
Creates a steiner_network object. Non-named version. More... | |
template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename IRcomponents = steiner_network_ir_components<>, typename Visitor = trivial_visitor> | |
IRResult | steiner_network_iterative_rounding (const Graph &g, const Restrictions &restrictions, CostMap cost, VertexIndex vertex_index, ResultNetworkOutputIterator result, IRcomponents components=IRcomponents(), Oracle oracle=Oracle(), Visitor visitor=Visitor()) |
Solves the Steiner Network problem using Iterative Rounding. Non-named version. More... | |
template<class EdgeListGraph > | |
int | filtered_num_edges (const EdgeListGraph &g) |
template<typename Graph , typename TreeMap , typename CostMap , typename VertexIndex , typename EdgeSetOutputIterator > | |
tree_aug< Graph, TreeMap, CostMap, VertexIndex, EdgeSetOutputIterator > | make_tree_aug (const Graph &g, TreeMap tree_map, CostMap cost_map, VertexIndex vertex_index, EdgeSetOutputIterator solution) |
Creates a tree_aug object. Non-named parameters. More... | |
template<typename Graph , typename TreeMap , typename CostMap , typename VertexIndex , typename EdgeSetOutputIterator , typename IRcomponents = tree_augmentation_ir_components<>, typename Visitor = trivial_visitor> | |
IRResult | tree_augmentation_iterative_rounding (const Graph &g, TreeMap tree_map, CostMap cost_map, VertexIndex vertex_index, EdgeSetOutputIterator solution, IRcomponents components=IRcomponents(), Visitor visitor=Visitor()) |
Solves the Tree Augmentation problem using Iterative Rounding. Non-named parameters. More... | |
Detail of Iterative Rounding namespace.
IRResult paal::ir::detail::bounded_degree_mst_iterative_rounding | ( | const Graph & | g, |
const DegreeBounds & | deg_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.
Oracle | |
Graph | |
DegreeBounds | |
CostMap | |
VertexIndex | |
SpanningTreeOutputIterator | |
IRcomponents | |
Visitor |
g | |
degBoundMap | |
cost_map | |
vertex_index | |
result_spanning_tree | |
components | |
oracle | |
visitor |
Definition at line 538 of file bounded_degree_mst.hpp.
int paal::ir::detail::filtered_num_edges | ( | const EdgeListGraph & | g | ) |
This function returns the number of edges in a graph. The reason this function was written is that BGL's num_edges() function does not work properly for filtered_graph. See http://www.boost.org/doc/libs/1_55_0/libs/graph/doc/filtered_graph.html#2
Definition at line 48 of file tree_augmentation.hpp.
bounded_degree_mst<Graph, DegreeBounds, CostMap, VertexIndex, SpanningTreeOutputIterator, Oracle> paal::ir::detail::make_bounded_degree_mst | ( | const Graph & | g, |
const DegreeBounds & | deg_bounds, | ||
CostMap | cost_map, | ||
VertexIndex | vertex_index, | ||
SpanningTreeOutputIterator | result_spanning_tree, | ||
Oracle | oracle = Oracle() |
||
) |
Creates a bounded_degree_mst object. Non-named version.
Oracle | |
Graph | |
DegreeBounds | |
CostMap | |
VertexIndex | |
SpanningTreeOutputIterator |
g | |
degBoundMap | |
cost_map | |
vertex_index | |
result_spanning_tree | |
oracle |
Definition at line 268 of file bounded_degree_mst.hpp.
steiner_network<Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle> paal::ir::detail::make_steiner_network | ( | const Graph & | g, |
const Restrictions & | restrictions, | ||
CostMap | cost_map, | ||
VertexIndex | vertex_index, | ||
ResultNetworkOutputIterator | result_network, | ||
Oracle | oracle = Oracle{} |
||
) |
Creates a steiner_network object. Non-named version.
Graph | |
Restrictions | |
CostMap | |
VertexIndex | |
ResultNetworkOutputIterator |
g | |
restrictions | |
cost_map | |
vertex_index | |
result_network | |
oracle |
Definition at line 231 of file steiner_network.hpp.
tree_aug<Graph, TreeMap, CostMap, VertexIndex, EdgeSetOutputIterator> paal::ir::detail::make_tree_aug | ( | const Graph & | g, |
TreeMap | tree_map, | ||
CostMap | cost_map, | ||
VertexIndex | vertex_index, | ||
EdgeSetOutputIterator | solution | ||
) |
Creates a tree_aug object. Non-named parameters.
Graph | |
TreeMap | |
CostMap | |
VertexIndex | |
EdgeSetOutputIterator |
g | |
tree_map | |
cost_map | |
vertex_index | |
solution |
Definition at line 464 of file tree_augmentation.hpp.
IRResult paal::ir::detail::steiner_network_iterative_rounding | ( | const Graph & | g, |
const Restrictions & | restrictions, | ||
CostMap | cost, | ||
VertexIndex | vertex_index, | ||
ResultNetworkOutputIterator | result, | ||
IRcomponents | components = IRcomponents() , |
||
Oracle | oracle = Oracle() , |
||
Visitor | visitor = Visitor() |
||
) |
Solves the Steiner Network problem using Iterative Rounding. Non-named version.
Oracle | |
Graph | |
Restrictions | |
CostMap | |
VertexIndex | |
ResultNetworkOutputIterator | |
IRcomponents | |
Visitor |
g | |
restrictions | |
cost | |
vertex_index | |
result | |
components | |
oracle | |
visitor |
Definition at line 441 of file steiner_network.hpp.
IRResult paal::ir::detail::tree_augmentation_iterative_rounding | ( | const Graph & | g, |
TreeMap | tree_map, | ||
CostMap | cost_map, | ||
VertexIndex | vertex_index, | ||
EdgeSetOutputIterator | solution, | ||
IRcomponents | components = IRcomponents() , |
||
Visitor | visitor = Visitor() |
||
) |
Solves the Tree Augmentation problem using Iterative Rounding. Non-named parameters.
Graph | |
TreeMap | |
CostMap | |
VertexIndex | |
EdgeSetOutputIterator | |
IRcomponents | |
Visitor |
g | |
tree_map | |
cost_map | |
vertex_index | |
solution | |
components | |
visitor |
Definition at line 495 of file tree_augmentation.hpp.