#include "paal/data_structures/metric/basic_metrics.hpp"#include "paal/iterative_rounding/ir_components.hpp"#include "paal/iterative_rounding/iterative_rounding.hpp"#include "paal/iterative_rounding/steiner_tree/steiner_components.hpp"#include "paal/iterative_rounding/steiner_tree/steiner_strategy.hpp"#include "paal/iterative_rounding/steiner_tree/steiner_tree_oracle.hpp"#include "paal/iterative_rounding/steiner_tree/steiner_utils.hpp"#include "paal/lp/lp_row_generation.hpp"#include "paal/utils/assign_updates.hpp"#include <boost/random/discrete_distribution.hpp>#include <boost/range/join.hpp>#include <boost/range/algorithm/unique.hpp>#include <boost/range/algorithm/sort.hpp>#include <boost/range/algorithm/copy.hpp>#include <boost/range/algorithm/find.hpp>#include <random>#include <vector>Go to the source code of this file.
Classes | |
| class | paal::ir::steiner_tree< OrigMetric, Terminals, Result, Strategy, Oracle > |
| The class for solving the Steiner Tree problem using Iterative Rounding. More... | |
| struct | paal::ir::steiner_tree_init |
| class | paal::ir::steiner_tree_round_condition |
| struct | paal::ir::steiner_tree_stop_condition |
| struct | paal::ir::steiner_tree_set_solution |
Namespaces | |
| paal | |
| global namespace of project. | |
| paal::ir | |
| Iterative Rounding namespace. | |
Functions | |
| template<typename Oracle = lp::random_violated_separation_oracle, typename OrigMetric , typename Terminals , typename Result , typename Strategy > | |
| steiner_tree< OrigMetric, Terminals, Result, Strategy, Oracle > | paal::ir::make_steiner_tree (const OrigMetric &metric, const Terminals &terminals, const Terminals &steiner_vertices, Result result, const Strategy &strategy, Oracle oracle=Oracle()) |
| template<typename Oracle = lp::random_violated_separation_oracle, typename Strategy = steiner_tree_all_generator, typename OrigMetric , typename Terminals , typename Result , typename IRcomponents = steiner_tree_ir_components<>, typename Visitor = trivial_visitor> | |
| lp::problem_type | paal::ir::steiner_tree_iterative_rounding (const OrigMetric &metric, const Terminals &terminals, const Terminals &steiner_vertices, Result result, Strategy strategy=Strategy{}, IRcomponents comps=IRcomponents{}, Oracle oracle=Oracle{}, Visitor visitor=Visitor{}) |
| Solves the Steiner Tree problem using Iterative Rounding. | |
1.8.5