Assignment and scheduling

Solves the assignment problem with the Hungarian method and picks the largest set of compatible intervals with the earliest-finish greedy algorithm.