You are not signed in.
My basket (no items)
Express Licensing Express licensing from UCL Business
  • FILES (2)

This Blossom V software implements an algorithm that solves the following problem:

Given an undirected weighted graph, it computes a perfect matching of minimum cost.

The implemented algorithm is described in the following paper:

Vladimir Kolmogorov.

“Blossom V: A new implementation of a minimum cost perfect matching algorithm”

Mathematical Programming Computation (MPC), July 2009, 1(1):43-67.

On many types of problems Blossom V outperforms previous implementations of Cook and Rohe (“Blossom IV”) and of Mehlhorn and Schaefer, sometimes by an order of magnitude. The key feature of Blossom V that gives this improvement is a combination of two ideas that previously were used only separately: (i) a flexible dual update strategy and (ii) a use of priority queues.

The software assumes that the graph contains at least one perfect matching; if it is not the case then the behaviour is undefined. The code can also be used for computing a maximum (non-perfect) matching: the latter problem can be reduced to a perfect matching problem via a reduction described in section 1.5.1 of Guido Schäfer's Master's thesis “Weighted matchings in general graphs”. This reduction doubles the size of the graph.

By default, the code uses weights of type “int”. While it is possible to change it to “double”, it is not recommended: rounding errors may then lead to unexpected behaviour, such as non-termination. Internally, small numbers are represented as differences of big numbers, so with a floating point precision the code becomes unstable.

Vladimir Kolmogorov joined UCL in 2005 as Lecturer in the Department of Computer Science. He moved to IST, Austria in 2011 where he holds the position of Assistant Professor.

System requirements

The software code compiles in:

  • Unix
  • Windows with Microsoft Visual C++ compiler


Blossom V

Implementation of a minimum-cost perfect matching algorithm

Please check carefully that the terms you select correspond to your intended use of the product.

UCLB Licence ALBL 1.02

For Commercial use - you may include this source code software in your commercial end-user products. Perpetual licence

View Terms

Further details
Term: perpetual (does not require renewal)
Seats: n/a

Price excl. VAT: £5800.00