Class BipartiteMatchingProblem.BipartiteMatchingProblemImpl<V,E>

java.lang.Object
org.jgrapht.generate.netgen.BipartiteMatchingProblem.BipartiteMatchingProblemImpl<V,E>
Type Parameters:
V - the graph vertex type
E - the graph edge type
All Implemented Interfaces:
BipartiteMatchingProblem<V,E>
Enclosing interface:
BipartiteMatchingProblem<V,E>

public static class BipartiteMatchingProblem.BipartiteMatchingProblemImpl<V,E> extends Object implements BipartiteMatchingProblem<V,E>
Default implementation of a Bipartite Matching Problem
  • Constructor Details

    • BipartiteMatchingProblemImpl

      public BipartiteMatchingProblemImpl(Graph<V,E> graph, Set<V> partition1, Set<V> partition2, Function<E,Double> costs, boolean weighted)
      Constructs a new bipartite matching problem
      Parameters:
      graph - a graph, which defines the problem
      partition1 - one of the partitions of the graph
      partition2 - one of the partitions of the graph
      costs - problem cost function
      weighted - is the problem is weighted or not
  • Method Details

    • getGraph

      public Graph<V,E> getGraph()
      Returns the graph, which defines the problem
      Specified by:
      getGraph in interface BipartiteMatchingProblem<V,E>
      Returns:
      the graph, which defines the problem
    • getCosts

      public Function<E,Double> getCosts()
      Returns a cost function of this problem. This function must be defined for all edges of the graph. In the case the problem is unweighted, the function must return any constant value for all edges.
      Specified by:
      getCosts in interface BipartiteMatchingProblem<V,E>
      Returns:
      a cost function of this problem
    • getPartition1

      public Set<V> getPartition1()
      Returns one of the 2 partitions of the graph (no 2 vertices in this set share an edge)
      Specified by:
      getPartition1 in interface BipartiteMatchingProblem<V,E>
      Returns:
      one of the 2 partitions of the graph
    • getPartition2

      public Set<V> getPartition2()
      Returns one of the 2 partitions of the graph (no 2 vertices in this set share an edge)
      Specified by:
      getPartition2 in interface BipartiteMatchingProblem<V,E>
      Returns:
      one of the 2 partitions of the graph
    • isWeighted

      public boolean isWeighted()
      Determines if this problem is weighted or not.
      Specified by:
      isWeighted in interface BipartiteMatchingProblem<V,E>
      Returns:
      true is the problem is weighted, false otherwise