#include "paal/iterative_rounding/ir_components.hpp"#include "paal/iterative_rounding/iterative_rounding.hpp"#include "paal/iterative_rounding/steiner_network/prune_restrictions_to_tree.hpp"#include "paal/iterative_rounding/steiner_network/steiner_network_oracle.hpp"#include "paal/lp/lp_row_generation.hpp"#include <boost/graph/kruskal_min_spanning_tree.hpp>#include <boost/graph/named_function_params.hpp>#include <boost/range/as_array.hpp>Go to the source code of this file.
Classes | |
| class | paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle > |
| The class for solving the Steiner Network problem using Iterative Rounding. More... | |
| struct | paal::ir::steiner_network_init |
| struct | paal::ir::steiner_network_round_condition |
| struct | paal::ir::steiner_network_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 Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator > | |
| 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. More... | |
| template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename Restrictions , typename ResultNetworkOutputIterator , typename P , typename T , typename R > | |
| auto | paal::ir::make_steiner_network (const Graph &g, const Restrictions &restrictions, const boost::bgl_named_params< P, T, R > ¶ms, ResultNetworkOutputIterator result_network, Oracle oracle=Oracle()) -> steiner_network< Graph, Restrictions, 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)), ResultNetworkOutputIterator, Oracle > |
| template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename Restrictions , typename ResultNetworkOutputIterator > | |
| auto | paal::ir::make_steiner_network (const Graph &g, const Restrictions &restrictions, ResultNetworkOutputIterator result_network, Oracle oracle=Oracle()) -> decltype(make_steiner_network(g, restrictions, boost::no_named_parameters(), result_network, oracle)) |
| 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 | 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. More... | |
| template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename Restrictions , typename ResultNetworkOutputIterator , typename IRcomponents = steiner_network_ir_components<>, typename Visitor = trivial_visitor, typename P , typename T , typename R > | |
| IRResult | paal::ir::steiner_network_iterative_rounding (const Graph &g, const Restrictions &restrictions, const boost::bgl_named_params< P, T, R > ¶ms, ResultNetworkOutputIterator result, IRcomponents components=IRcomponents(), Oracle oracle=Oracle(), Visitor visitor=Visitor()) |
| Solves the Steiner Network problem using Iterative Rounding. Named version. More... | |
| template<typename Oracle = lp::random_violated_separation_oracle, typename Graph , typename Restrictions , typename ResultNetworkOutputIterator , typename IRcomponents = steiner_network_ir_components<>, typename Visitor = trivial_visitor> | |
| IRResult | paal::ir::steiner_network_iterative_rounding (const Graph &g, const Restrictions &restrictions, ResultNetworkOutputIterator result, IRcomponents components=IRcomponents(), Oracle oracle=Oracle(), Visitor visitor=Visitor()) |
| Solves the Steiner Network problem using Iterative Rounding. All default parameters. More... | |
1.8.5