Nomenclature:

NOTE: In the drawings, the blue edges are the ones in the matching, while the orange ones are not.

  • Matching: a subset of edges such that each node is incident (“touches”) at most 1 edge in .
  • Perfect matching: if the number of edges in is exactly half of all possible edges.
  • Maximum cardinality matching: maximizes the number of edges in the
  • Weighted matching: maximizes the weights in the
  • Exposed node: no edge in is incident (“touches”) to this node.
  • Alternating path: A path composed of alternating edges in the matching and ones that are not.
  • Augmented path: An alternating path that starts and ends with two different exposed nodes.
  • Matching augmentation: edge in the matching are exchanged with edges not in the matching, a matching augmentation is only valid if the number of edges in the matching increases aferword (otherwise is useless)
  • Blossom: cycle with () edges edges will belong to the matching.
  • Shrinking of a blossom:

Mathematical Formulation
  • Variables: : boolean, if belongs to , otherwise.
  • Objective function:
  • Constraints:

Edmonds’s Algorithm

Complexity: operations.

  • : number of nodes
  • : number of arcs