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 Detail

      • MatchingWeightedBlossomV

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