A tabu search algorithm for rerouting trains during rail operations