Practical Automated Railway Scheduling – Exploiting Decomposition, Infeasibilities And Recurrent Situations