V
- the graph vertex typeE
- the graph edge typepublic interface MinimumCostFlowProblem<V,E>
The minimum cost flow problem is defined as follows: \[ \begin{align} \mbox{minimize}~& \sum_{e\in \delta^+(s)}c_e\cdot f_e &\\ \mbox{s.t. }&\sum_{e\in \delta^-(i)} f_e - \sum_{e\in \delta^+(i)} f_e = b_e & \forall i\in V\\ &l_e\leq f_e \leq u_e & \forall e\in E \end{align} \] Here $\delta^+(i)$ and $\delta^-(i)$ denote the outgoing and incoming edges of vertex $i$ respectively. The parameters $c_{e}$ define a cost for each unit of flow on the arc $e$, $l_{e}$ define minimum arc flow and $u_{e}$ define maximum arc flow.
MinimumCostFlowAlgorithm
Modifier and Type | Interface and Description |
---|---|
static class |
MinimumCostFlowProblem.MinimumCostFlowProblemImpl<V,E>
Default implementation of a Minimum Cost Flow Problem
|
Modifier and Type | Method and Description |
---|---|
Function<E,Integer> |
getArcCapacityLowerBounds()
Returns a function which specifies the minimum capacity of an arc.
|
Function<E,Integer> |
getArcCapacityUpperBounds()
Returns a function which specifies the maximum capacity of an arc.
|
Graph<V,E> |
getGraph()
Returns the flow network
|
Function<V,Integer> |
getNodeSupply()
Returns a function which defines the supply and demand of each node in thet network.
|
Function<V,Integer> getNodeSupply()
Function<E,Integer> getArcCapacityLowerBounds()
Copyright © 2019. All rights reserved.