org.jgrapht.alg.flow.mincost

## Class MinimumCostFlowProblem.MinimumCostFlowProblemImpl<V,E>

• java.lang.Object
• org.jgrapht.alg.flow.mincost.MinimumCostFlowProblem.MinimumCostFlowProblemImpl<V,E>
• Type Parameters:
V - the graph vertex type
E - the graph edge type
All Implemented Interfaces:
MinimumCostFlowProblem<V,E>
Enclosing interface:
MinimumCostFlowProblem<V,E>

public static class MinimumCostFlowProblem.MinimumCostFlowProblemImpl<V,E>
extends Object
implements MinimumCostFlowProblem<V,E>
Default implementation of a Minimum Cost Flow Problem

• ### Nested classes/interfaces inherited from interface org.jgrapht.alg.flow.mincost.MinimumCostFlowProblem

MinimumCostFlowProblem.MinimumCostFlowProblemImpl<V,E>
• ### Constructor Summary

Constructors
Constructor and Description
MinimumCostFlowProblemImpl(Graph<V,E> graph, Function<V,Integer> supplyMap, Function<E,Integer> arcCapacityUpperBounds)
Constructs a new minimum cost flow problem without arc capacity lower bounds.
MinimumCostFlowProblemImpl(Graph<V,E> graph, Function<V,Integer> nodeSupplies, Function<E,Integer> arcCapacityUpperBounds, Function<E,Integer> arcCapacityLowerBounds)
Constructs a new minimum cost flow problem
• ### Method Summary

All Methods
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.
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Constructor Detail

• #### MinimumCostFlowProblemImpl

public MinimumCostFlowProblemImpl(Graph<V,E> graph,
Function<V,Integer> supplyMap,
Function<E,Integer> arcCapacityUpperBounds)
Constructs a new minimum cost flow problem without arc capacity lower bounds.
Parameters:
graph - the flow network
supplyMap - the node demands
arcCapacityUpperBounds - the arc capacity upper bounds
• #### MinimumCostFlowProblemImpl

public MinimumCostFlowProblemImpl(Graph<V,E> graph,
Function<V,Integer> nodeSupplies,
Function<E,Integer> arcCapacityUpperBounds,
Function<E,Integer> arcCapacityLowerBounds)
Constructs a new minimum cost flow problem
Parameters:
graph - the flow network
nodeSupplies - the node demands
arcCapacityUpperBounds - the arc capacity upper bounds
arcCapacityLowerBounds - the arc capacity lower bounds
• ### Method Detail

• #### getGraph

public Graph<V,E> getGraph()
Returns the flow network
Specified by:
getGraph in interface MinimumCostFlowProblem<V,E>
Returns:
the flow network
• #### getNodeSupply

public Function<V,Integer> getNodeSupply()
Returns a function which defines the supply and demand of each node in thet network. Supplies can be positive, negative or 0. Nodes with positive negative supply are the demand nodes, nodes with zero supply are the transhipment nodes. Flow is always directed from nodes with postive supply to nodes with negative supply. Summed over all nodes, the total demand should equal 0.
Specified by:
getNodeSupply in interface MinimumCostFlowProblem<V,E>
Returns:
supply function
• #### getArcCapacityLowerBounds

public Function<E,Integer> getArcCapacityLowerBounds()
Returns a function which specifies the minimum capacity of an arc. The minimum capacity is the minimum amount of flow that has to go through an arc.
Specified by:
getArcCapacityLowerBounds in interface MinimumCostFlowProblem<V,E>
Returns:
arc capacity lower bounding function
• #### getArcCapacityUpperBounds

public Function<E,Integer> getArcCapacityUpperBounds()
Returns a function which specifies the maximum capacity of an arc. The flow through an arc cannot exceed this upper bound.
Specified by:
getArcCapacityUpperBounds in interface MinimumCostFlowProblem<V,E>
Returns:
arc capacity upper bounding function