munkres icon indicating copy to clipboard operation
munkres copied to clipboard

Implement check to prevent infinite loop cases

Open jonodrew opened this issue 3 years ago • 1 comments

This code introduces a check to prevent infinite loop cases. In the test case added in 'test_unsolvable', the software looped infinitely rather than raising an error. I tested this and found that the error was occurring after the cost_matrix had been padded.

There is a further edge case where, in step 4, the only uncovered values are disallowed. The system defaults to a minval of sys.maxsize, which it then tries to take away from all the disallowed objects. It fails, but then loops through this process again, infinitely. I cannot find a small reproducable case for this, but have tried it with my own failing matrix (500 by 400 items)

This seems to fix #28

jonodrew avatar Sep 05 '21 16:09 jonodrew

@bmc might you have time to take a look at this?

jonodrew avatar Feb 18 '23 11:02 jonodrew