The class for solving the Steiner Network problem using Iterative Rounding.
More...
#include <steiner_network.hpp>
template<typename Graph, typename Restrictions, typename CostMap, typename VertexIndex, typename ResultNetworkOutputIterator, typename Oracle = paal::lp::random_violated_separation_oracle>
class paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >
The class for solving the Steiner Network problem using Iterative Rounding.
- Template Parameters
-
Graph | input graph |
Restrictions | connectivity restrictions for vertex pairs |
CostMap | map of edge costs |
ResultNetworkOutputIterator | |
Definition at line 55 of file steiner_network.hpp.
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::steiner_network |
( |
const Graph & |
g, |
|
|
const Restrictions & |
restrictions, |
|
|
CostMap |
cost_map, |
|
|
VertexIndex |
vertex_index, |
|
|
ResultNetworkOutputIterator |
result_network, |
|
|
Oracle |
oracle = Oracle{} |
|
) |
| |
|
inline |
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
Adds an edge corresponding to the given column to the result set.
Definition at line 182 of file steiner_network.hpp.
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
error_message paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::check_input_validity |
( |
| ) |
|
|
inline |
Checks if the connectivity restrictions can be fulfilled.
Definition at line 96 of file steiner_network.hpp.
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
auto paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::get_cost |
( |
edge |
e | ) |
-> decltype(get(std::declval<CostMap>(), e))
|
|
inline |
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
const edge_map& paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::get_edge_map |
( |
| ) |
const |
|
inline |
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
const edge_list& paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::get_edges_in_solution |
( |
| ) |
const |
|
inline |
Returns the list of edges that are already added to the solution.
Definition at line 192 of file steiner_network.hpp.
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
template<typename LP >
auto paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::get_find_violation |
( |
LP & |
lp | ) |
|
|
inline |
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
const Graph& paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::get_graph |
( |
| ) |
const |
|
inline |
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
const VertexIndex& paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::get_index |
( |
| ) |
const |
|
inline |
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
auto paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::get_max_restriction |
( |
vertex_idx |
u, |
|
|
vertex_idx |
v |
|
) |
| const -> decltype(std::declval<Restrictions>()(0, 0))
|
|
inline |
Returns the bigger of the two restrictions for a given vertex pair.
Definition at line 141 of file steiner_network.hpp.
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
const RestrictionsVector& paal::ir::steiner_network< Graph, Restrictions, CostMap, VertexIndex, ResultNetworkOutputIterator, Oracle >::get_restrictions_vec |
( |
| ) |
const |
|
inline |
template<typename Graph , typename Restrictions , typename CostMap , typename VertexIndex , typename ResultNetworkOutputIterator , typename Oracle = paal::lp::random_violated_separation_oracle>
Removes an LP column and the graph edge corresponding to it.
Definition at line 174 of file steiner_network.hpp.
The documentation for this class was generated from the following file: