Unexpected disruptions occur for many reasons in railway networks and cause delays, cancelations, and, eventually, passenger inconvenience. This research focuses on the railway timetable rescheduling problem from a macroscopic point of view in case of large disruptions. The originality of our approach is to integrate three objectives to generate a disposition timetable: the passenger satisfaction, the operational costs and the deviation. from the undisrupted timetable. We formulate the problem as an Integer Linear Program that optimizes the first objective and includes epsilon-constraints for the two other ones. By solving the problem for different values of epsilon, the three-dimensional Pareto frontier can be explored to understand the trade-offs among the three objectives. The model includes measures such as canceling, delaying or rerouting the trains of the undisrupted timetable, as well as scheduling emergency trains. Furthermore, passenger flows are adapted dynamically to the new timetable. Computational experiments are performed on a realistic case study based on a heavily used part of the Dutch railway network. The model is able to find optimal solutions in reasonable computational times. The results provide evidence that adopting a demand-oriented approach for the management of disruptions not only is possible, but may lead to significant improvement in passenger satisfaction, associated with a low operational cost of the disposition timetable. (C) 2017 Elsevier Ltd. All rights reserved.