PGROUTING
3.2
|
#include "pgr_minCostMaxFlow.hpp"
Public Member Functions | |
PgrCostFlowGraph ()=delete | |
PgrCostFlowGraph (const std::vector< pgr_costFlow_t > &edges, const std::set< int64_t > &source_vertices, const std::set< int64_t > &sink_vertices) | |
std::vector< pgr_flow_t > | GetFlowEdges () const |
int64_t | GetMaxFlow () const |
double | MinCostMaxFlow () |
Private Types | |
typedef Traits::edge_descriptor | E |
typedef boost::graph_traits< CostFlowGraph >::edge_iterator | E_it |
typedef Traits::vertex_descriptor | V |
typedef boost::graph_traits< CostFlowGraph >::vertex_iterator | V_it |
Private Member Functions | |
E | AddEdge (V v, V w, double wei, double cap) |
template<typename T > | |
void | AddVertices (const T &edges, const std::set< int64_t > &source_vertices, const std::set< int64_t > &sink_vertices) |
V | GetBoostVertex (int64_t id) const |
int64_t | GetEdgeId (E e) const |
int64_t | GetVertexId (V v) const |
void | InsertEdges (const std::vector< pgr_costFlow_t > &edges) |
void | SetSupersink (const std::set< int64_t > &sink_vertices) |
void | SetSupersource (const std::set< int64_t > &source_vertices) |
Private Attributes | |
Capacity | capacity |
std::map< E, int64_t > | eToId |
CostFlowGraph | graph |
std::map< int64_t, V > | idToV |
ResidualCapacity | residual_capacity |
Reversed | rev |
V | supersink |
V | supersource |
std::map< V, int64_t > | vToId |
Weight | weight |
Definition at line 51 of file pgr_minCostMaxFlow.hpp.
|
private |
Definition at line 53 of file pgr_minCostMaxFlow.hpp.
|
private |
Definition at line 55 of file pgr_minCostMaxFlow.hpp.
|
private |
Definition at line 52 of file pgr_minCostMaxFlow.hpp.
|
private |
Definition at line 54 of file pgr_minCostMaxFlow.hpp.
|
delete |
pgrouting::graph::PgrCostFlowGraph::PgrCostFlowGraph | ( | const std::vector< pgr_costFlow_t > & | edges, |
const std::set< int64_t > & | source_vertices, | ||
const std::set< int64_t > & | sink_vertices | ||
) |
Definition at line 37 of file pgr_minCostMaxFlow.cpp.
References AddVertices(), capacity, graph, InsertEdges(), residual_capacity, rev, and weight.
|
private |
Definition at line 51 of file pgr_minCostMaxFlow.cpp.
References capacity, graph, and weight.
Referenced by InsertEdges(), SetSupersink(), and SetSupersource().
|
inlineprivate |
Definition at line 111 of file pgr_minCostMaxFlow.hpp.
References graph, idToV, SetSupersink(), SetSupersource(), and vToId.
Referenced by PgrCostFlowGraph().
|
inlineprivate |
Definition at line 83 of file pgr_minCostMaxFlow.hpp.
References idToV.
Referenced by InsertEdges(), SetSupersink(), and SetSupersource().
|
inlineprivate |
Definition at line 91 of file pgr_minCostMaxFlow.hpp.
References eToId.
Referenced by GetFlowEdges().
std::vector< pgr_flow_t > pgrouting::graph::PgrCostFlowGraph::GetFlowEdges | ( | ) | const |
Definition at line 141 of file pgr_minCostMaxFlow.cpp.
References capacity, edge::cost, GetEdgeId(), GetVertexId(), graph, residual_capacity, edge::source, supersink, supersource, edge::target, and weight.
Referenced by do_pgr_minCostMaxFlow(), and pgrouting::graph::PgrDirectedChPPGraph::setPathEdges().
int64_t pgrouting::graph::PgrCostFlowGraph::GetMaxFlow | ( | ) | const |
Definition at line 128 of file pgr_minCostMaxFlow.cpp.
References capacity, graph, residual_capacity, and supersource.
Referenced by pgrouting::graph::PgrDirectedChPPGraph::PgrDirectedChPPGraph(), and pgrouting::graph::PgrDirectedChPPGraph::setPathEdges().
|
inlineprivate |
Definition at line 87 of file pgr_minCostMaxFlow.hpp.
References vToId.
Referenced by GetFlowEdges().
|
private |
Definition at line 63 of file pgr_minCostMaxFlow.cpp.
References AddEdge(), edge::cost, eToId, GetBoostVertex(), rev, edge::reverse_cost, edge::source, and edge::target.
Referenced by PgrCostFlowGraph().
|
inline |
Definition at line 63 of file pgr_minCostMaxFlow.hpp.
References graph, supersink, and supersource.
Referenced by do_pgr_minCostMaxFlow(), pgrouting::graph::PgrDirectedChPPGraph::PgrDirectedChPPGraph(), and pgrouting::graph::PgrDirectedChPPGraph::setPathEdges().
|
private |
Definition at line 114 of file pgr_minCostMaxFlow.cpp.
References AddEdge(), GetBoostVertex(), graph, rev, and supersink.
Referenced by AddVertices().
|
private |
Definition at line 100 of file pgr_minCostMaxFlow.cpp.
References AddEdge(), GetBoostVertex(), graph, rev, and supersource.
Referenced by AddVertices().
|
private |
Definition at line 57 of file pgr_minCostMaxFlow.hpp.
Referenced by AddEdge(), GetFlowEdges(), GetMaxFlow(), and PgrCostFlowGraph().
|
private |
Definition at line 137 of file pgr_minCostMaxFlow.hpp.
Referenced by GetEdgeId(), and InsertEdges().
|
private |
Definition at line 134 of file pgr_minCostMaxFlow.hpp.
Referenced by AddEdge(), AddVertices(), GetFlowEdges(), GetMaxFlow(), MinCostMaxFlow(), PgrCostFlowGraph(), SetSupersink(), and SetSupersource().
|
private |
Definition at line 135 of file pgr_minCostMaxFlow.hpp.
Referenced by AddVertices(), and GetBoostVertex().
|
private |
Definition at line 58 of file pgr_minCostMaxFlow.hpp.
Referenced by GetFlowEdges(), GetMaxFlow(), and PgrCostFlowGraph().
|
private |
Definition at line 59 of file pgr_minCostMaxFlow.hpp.
Referenced by InsertEdges(), PgrCostFlowGraph(), SetSupersink(), and SetSupersource().
|
private |
Definition at line 145 of file pgr_minCostMaxFlow.hpp.
Referenced by GetFlowEdges(), MinCostMaxFlow(), and SetSupersink().
|
private |
Definition at line 144 of file pgr_minCostMaxFlow.hpp.
Referenced by GetFlowEdges(), GetMaxFlow(), MinCostMaxFlow(), and SetSupersource().
|
private |
Definition at line 136 of file pgr_minCostMaxFlow.hpp.
Referenced by AddVertices(), and GetVertexId().
|
private |
Definition at line 60 of file pgr_minCostMaxFlow.hpp.
Referenced by AddEdge(), GetFlowEdges(), and PgrCostFlowGraph().