Class MatchingWeightedBlossomV

All Implemented Interfaces:
MatchingAlgo

public class MatchingWeightedBlossomV extends MatchingAlgoAbstractBasedMinimum
Blossom V implementation for maximum weighted matching.

The implementation is based on 'Blossom V: A new implementation of a minimum cost perfect matching algorithm' by Vladimir Kolmogorov. It is an implementation of Edmonds 'Blossom' algorithm, using priory queues (ReferenceableHeap, pairing heaps) to find the next tight edge each iteration. In contrast to MatchingWeightedGabow1990, it achieve a worse \(O(n^3 m)\) running time in the worst case, but runs faster in practice.

The implementation actually computes minimum perfect matching, and assume such perfect matching always exists. Maximum or non-perfect matchings are computed by a reduction to a minimum perfect matching instance.

Author:
Barak Ugav
  • Constructor Details

    • MatchingWeightedBlossomV

      public MatchingWeightedBlossomV()
      Create a new minimum weighted matching object.