<?xml version="1.0" encoding="UTF-8"?>

<modsCollection xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-3.xsd">
<mods version="3.3">

<genre>article</genre>

<titleInfo><title>Blossom V: A new implementation of a minimum cost perfect matching algorithm</title></titleInfo>


<note type="publicationStatus">published</note>



<name type="personal">
  <namePart type="given">Vladimir</namePart>
  <namePart type="family">Kolmogorov</namePart>
  <role><roleTerm type="text">author</roleTerm> </role><identifier type="local">3D50B0BA-F248-11E8-B48F-1D18A9856A87</identifier></name>














<abstract lang="eng">We describe a new implementation of the Edmonds’s algorithm for computing a perfect matching of minimum cost, to which we refer as Blossom V. A key feature of our implementation is a combination of two ideas that were shown to be effective for this problem: the “variable dual updates” approach of Cook and Rohe (INFORMS J Comput 11(2):138–148, 1999) and the use of priority queues. We achieve this by maintaining an auxiliary graph whose nodes correspond to alternating trees in the Edmonds’s algorithm. While our use of priority queues does not improve the worst-case complexity, it appears to lead to an efficient technique. In the majority of our tests Blossom V outperformed previous implementations of Cook and Rohe (INFORMS J Comput 11(2):138–148, 1999) and Mehlhorn and Schäfer (J Algorithmics Exp (JEA) 7:4, 2002), sometimes by an order of magnitude. We also show that for large VLSI instances it is beneficial to update duals by solving a linear program, contrary to a conjecture by Cook and Rohe.

</abstract>

<originInfo><publisher>Springer</publisher><dateIssued encoding="w3cdtf">2009</dateIssued>
</originInfo>



<relatedItem type="host"><titleInfo><title>Mathematical Programming Computation</title></titleInfo><identifier type="doi">10.1007/s12532-009-0002-8</identifier>
<part><detail type="volume"><number>1</number></detail><detail type="issue"><number>1</number></detail><extent unit="pages">43 - 67</extent>
</part>
</relatedItem>

<note type="extern">yes</note>
<extension>
<bibliographicCitation>
<short>V. Kolmogorov, Mathematical Programming Computation 1 (2009) 43–67.</short>
<ista>Kolmogorov V. 2009. Blossom V: A new implementation of a minimum cost perfect matching algorithm. Mathematical Programming Computation. 1(1), 43–67.</ista>
<chicago>Kolmogorov, Vladimir. “Blossom V: A New Implementation of a Minimum Cost Perfect Matching Algorithm.” &lt;i&gt;Mathematical Programming Computation&lt;/i&gt;. Springer, 2009. &lt;a href=&quot;https://doi.org/10.1007/s12532-009-0002-8&quot;&gt;https://doi.org/10.1007/s12532-009-0002-8&lt;/a&gt;.</chicago>
<apa>Kolmogorov, V. (2009). Blossom V: A new implementation of a minimum cost perfect matching algorithm. &lt;i&gt;Mathematical Programming Computation&lt;/i&gt;. Springer. &lt;a href=&quot;https://doi.org/10.1007/s12532-009-0002-8&quot;&gt;https://doi.org/10.1007/s12532-009-0002-8&lt;/a&gt;</apa>
<ama>Kolmogorov V. Blossom V: A new implementation of a minimum cost perfect matching algorithm. &lt;i&gt;Mathematical Programming Computation&lt;/i&gt;. 2009;1(1):43-67. doi:&lt;a href=&quot;https://doi.org/10.1007/s12532-009-0002-8&quot;&gt;10.1007/s12532-009-0002-8&lt;/a&gt;</ama>
<mla>Kolmogorov, Vladimir. “Blossom V: A New Implementation of a Minimum Cost Perfect Matching Algorithm.” &lt;i&gt;Mathematical Programming Computation&lt;/i&gt;, vol. 1, no. 1, Springer, 2009, pp. 43–67, doi:&lt;a href=&quot;https://doi.org/10.1007/s12532-009-0002-8&quot;&gt;10.1007/s12532-009-0002-8&lt;/a&gt;.</mla>
<ieee>V. Kolmogorov, “Blossom V: A new implementation of a minimum cost perfect matching algorithm,” &lt;i&gt;Mathematical Programming Computation&lt;/i&gt;, vol. 1, no. 1. Springer, pp. 43–67, 2009.</ieee>
</bibliographicCitation>
</extension>
<recordInfo><recordIdentifier>2932</recordIdentifier><recordCreationDate encoding="w3cdtf">2018-12-11T12:00:25Z</recordCreationDate><recordChangeDate encoding="w3cdtf">2021-01-12T07:00:47Z</recordChangeDate>
</recordInfo>
</mods>
</modsCollection>
