Modeling and Solving the Train Timetabling Problem | Synapse