Train scheduling for minimizing passenger waiting time with time-dependent demand and skip-stop patterns: Nonlinear integer programming models with linear constraints

Huimin Niu, Xuesong Zhou, Ruhu Gao

Research output: Contribution to journalArticlepeer-review

359 Scopus citations

Abstract

This paper focuses on how to minimize the total passenger waiting time at stations by computing and adjusting train timetables for a rail corridor with given time-varying origin-to-destination passenger demand matrices. Given predetermined train skip-stop patterns, a unified quadratic integer programming model with linear constraints is developed to jointly synchronize effective passenger loading time windows and train arrival and departure times at each station. A set of quadratic and quasi-quadratic objective functions are proposed to precisely formulate the total waiting time under both minute-dependent demand and hour-dependent demand volumes from different origin-destination pairs. We construct mathematically rigorous and algorithmically tractable nonlinear mixed integer programming models for both real-time scheduling and medium-term planning applications. The proposed models are implemented using general purpose high-level optimization solvers, and the model effectiveness is further examined through numerical experiments of real-world rail train timetabling test cases.

Original languageEnglish (US)
Pages (from-to)117-135
Number of pages19
JournalTransportation Research Part B: Methodological
Volume76
DOIs
StatePublished - Jun 1 2015

Keywords

  • Nonlinear mixed integer programming
  • Passenger waiting time
  • Skip-stop pattern
  • Time-varying demand
  • Train timetable

ASJC Scopus subject areas

  • Civil and Structural Engineering
  • Transportation

Fingerprint

Dive into the research topics of 'Train scheduling for minimizing passenger waiting time with time-dependent demand and skip-stop patterns: Nonlinear integer programming models with linear constraints'. Together they form a unique fingerprint.

Cite this