Hungarian / Munkres' algorithm for the linear assignment problem, in Python
C++ Python C
Switch branches/tags
Nothing to show
Latest commit c333ef6 Aug 17, 2016 @hrldcpr MIT License

This module is just a simple wrapper for a C++ implementation of Knuth's Hungarian algorithm, a.k.a. Munkres' algorithm, for the linear assignment problem.

It has not been updated since 2008, so may need some changes — pull requests are welcome!

For a faster, but less tolerant, LAP algorithm see

Note that this module depends on the numpy module. You must install numpy before you can compile this module. Numpy can be downloaded from

If you have any problems with this module, you should contact me, not Mr. Battre.

To build this module run:

> python build

Then you can either put the file build/lib-/ in the same directory as the code that will be using it, or you can install it so that all of your python programs can see it:

> python install

For the module's documentation, type at a Python prompt:

>>> help('hungarian')

Additional Information:

This wrapper for the algorithm uses double precision (i.e. 64-bit) floating point arithmetic. To change it to single precision, integer, or anything else, simply change the corresponding types in asp.h