The Assignment Problem and the Hungarian Method (2005) [pdf]
math.harvard.edu
math.harvard.edu
Article above describes a very short implementation of the most efficient form of the algorithm (40 lines of code).
https://github.com/timothypratley/munkres (Clojure)
Which wraps:
It's clear that the algorithm works (assuming it converges), because it only uses manipulations that preserve optimality. Why, though, should I choose these manipulations instead of others that also preserve optimality?
The only arbitrariness is in the selection of covering rows and columns. There I guess the argument is that if a cell has another zero on its row and another zero on its column (i.e. a line crossing in any possible covering) then it is not going to be in the optimal solution.