Version 1.1.4 (September, 2020)
- Switched from Nose to Pytest for testing. Patch courtesy @kmosiejczuk,
[PR #32](https://github.com/bmc/munkres/pull/32), with some additional
cleanup by me.
- Fix to [Issue #34](https://github.com/bmc/munkres/issues/34), in which
`print_matrix` wasn't handling non-integral values. Patch courtesy @finn0,
via [PR #35](https://github.com/bmc/munkres/pull/35).
- Various changes from `http:` URLs to `https:` URLs, courtesy @finn0
via [PR #36](https://github.com/bmc/munkres/pull/36/).
Version 1.1.3:
**Nonexistent**. Accidentally published before check-in. Deleted from
PyPI. Use version 1.1.4.
Version 1.1.2 (February, 2019)
- Removed `NoReturn` type annotations, to allow compatibility with Python 3.5
releases prior to 3.5.4. Thanks to @jackwilsdon for catching that issue.
Version 1.1.1 (February, 2019)
- Version bump to get past a PyPI publishing issue. (Can't republish
partially published 1.1.0.)
Version 1.1.0 (February, 2019)
- Only supports Python 3.5 or better, from this version forward (since Python
2 is at end of life in 11 months).
- Added `typing` type hints.
- Updated docs to use `pdoc`, since `epydoc` is pretty much dead.
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
Version 1.0.12:
- Merged Pull Request 11] which simplifies conversion of a
profit matrix to a cost matrix, in the default case.
- Merged Pull Request 7 which fixes a message.
- Added more tests.
Docs are now generated with pdoc.
Merged Pull Request 24, from @czlee:
* Change to step 4: When it looks for a uncovered zero, rather than starting at row 0, column 0, it starts where it left off, i.e. at the last uncovered zero it found. Since it doesn't start at (0,0), when it gets to the last column it now loops around to the first, and exits unsuccessfully if it got back to where it started. This change reduces this reduces the solving time for (certain) large matrices. For instance, in tests, solving a matrix of size 394×394 goes from about 2 minutes to about 4 seconds.
* Since Python 3 started cracking down on unnatural comparisons, the DISALLOWED constant added in Pull Request 19 no longer works. (It raises a TypeError for unorderable types, as is expected in Python 3.) Since this constant is meant to act like infinity, this modification just changes the two lines where it would otherwise try to make an illegal (in Python 3) comparison between a number and DISALLOWED_OBJ() and gets it to behave as if DISALLOWED is always larger.
Added Travis CI integration.
Added some unit tests. See tests and tests/README.md.
The Munkres module provides an implementation of the Munkres
algorithm (also called the Hungarian algorithm or the Kuhn-Munkres
algorithm), useful for solving the Assignment Problem.
Assignment Problem: Let C be an nxn matrix representing the costs
of each of n workers to perform any of n jobs. The assignment
problem is to assign jobs to workers in a way that minimizes the
total cost. Since each worker can perform only one job and each
job can be assigned to only one worker the assignments represent
an independent set of the matrix C.