The Design of a Multi-tiered Bus Timetabling System

This paper describes the design of the Bus Timetabling System (BTS) we have developed for one of the largest privately held bus companies in the world. This Bus Company operates close to 3,500 buses and employs over 7,500 bus drivers. The BTS generates a timetable for each bus route using “distributed constraint-based search” (DCBS). The DCBS algorithm combines techniques of constraint programming, heuristic search, with distributed scheduling. This allows multiple types of constraints to be considered, ensures that idle resources can be shared, and yet generates a timetable within reasonable time. The Bus Timetabling System also determines the bus captain duty assignments for the scheduled bus routes. This paper focuses on both the AI methodologies used and the design of the client-server multi-tiered architecture. We used a distributed object architecture to implement our distributed scheduling system.

[1]  Victor R. Lesser,et al.  Exploiting Meta-Level information in a Distributed Scheduling System , 1994, AAAI.

[2]  Ching-Chi Hsu,et al.  An interactive train scheduling workbench based on artificial intelligence , 1994, Proceedings Sixth International Conference on Tools with Artificial Intelligence. TAI 94.

[3]  Vipin Kumar,et al.  Algorithms for Constraint-Satisfaction Problems: A Survey , 1992, AI Mag..

[4]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[5]  Eithan Ephrati,et al.  Divide and Conquer in Multi-Agent Planning , 1994, AAAI.

[6]  T. Fukuda,et al.  A knowledge-based approach for railway scheduling , 1991, [1991] Proceedings. The Seventh IEEE Conference on Artificial Intelligence Application.

[7]  Jean-francois Puget,et al.  A C++ implementation of CLP , 1997 .

[8]  Andy Hon Wai Chun A distributed constraint-based search architecture for bus timetabling and duty assignment , 1997, Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference.

[9]  J.-F. Puget Object oriented constraint programming for transportation problems , 1993 .

[10]  Guy L. Steele,et al.  The definition and implementation of a computer programming language based on constraints , 1980 .