Linear Programming Model and Online Algorithm for Customer-Centric Train Calendar Generation