Algorithm MILP
Implemented an algorithm that uses integer linear programming to compute the best possible assignments. Also did some restructuring, mainly as suggested by this comment, and so that it is now possible to compute assignments in the background.