Getting crew around is a interesting problem, it is not long ago that the railways in the Netherlands had to stay still for a day because their crew planning software had broken. And as I understand getting it to match up is a pretty big NP-complete problem so it can take long time to solve it.