This paper introduces a modified shifting bottleneck approach to solve train scheduling and rescheduling problems. The problem is formulated as a job shop scheduling model and a mixed integer linear programming model is also presented. The shifting bottleneck procedure is a well-established heuristic method for obtaining solutions to the job shop and other machine scheduling problems. We modify the classical shifting bottleneck approach to make it suitable for the types of job shop problem that arises in train scheduling. The method decomposes the problem into several single machine problems. Different variations of the method are considered with regard to solving the single machine problems. We compare and report the performance of the alg...