Design of a machine learning based algorithm to generate routes and schedules for demand-responsive public bus services - QC-176

Preferred Disciplines: Transportation/Traffic Engineering, Civil Engineering, Urban Planning, Computer Science, Software Engineering, Mathematics Optimization (PhD or Post-Doc, Masters can also be considered)
Project length: 2 years (6 units)
Approx. start date: As soon as possible
Location: Montreal, QC
No. of Positions: 3
Preferences: None
Company: Anonymous

About Company:

The company is developing a universal public bus platform that would enable any transit agency to provide on-demand bus services using their existing vehicle infrastructure. Riders will be able to make trip requests on our mobile app, and dynamic bus routes will be created based on these demands. To shorten travel time, riders will be grouped onto buses based on similar origins/destinations and consolidated bus stops will be used to reduce pick-up/drop-off time. Transit agencies will be able to reduce operational costs and vehicle emissions, while providing their customers with a quicker, more flexible service built around their schedules. 

Summary of Project:

The goal of this project is to redesign or iterate upon our current algorithm used to generate dynamic bus routes based on rider trip requests. It must receive passenger trip requests, dispatch buses that simultaneously meet passenger schedules, and follow the shortest possible routes. This algorithm must account for a variety of different use cases and optimization parameters. The major objectives sought are as follows:

  1. Be able to generate optimized bus routes based on trip requests received in advance (origin, destination, earliest departure time, latest arrival time) and various static parameters set by the transit agencies (vehicle capacity, minimum load factor, maximum walking distance, operating time windows, cost penalty per passenger).
  2.  Be able to generate dynamically changing bus routes in real-time and in advance (both cases), optimized based on customer requests, real-time traffic data and the optimization parameters listed above.
  3. Machine learning is incorporated into the route-generating algorithm to predict the demand and dispatch buses to certain areas before the rider trip requests have been entered. This engine will also predict how many buses and drivers are needed at any given time for transit agencies to plan their operations. The engine should function over the area of an entire city (in contrast to a fixed corridor).
  4. Use historial ridership data and O/D survey data to automatically isolate the geofenced corridors in a city that a demand-responsive bus service would have the most positive impact on.

Research Objectives/Sub-Objectives:

  • Research existing solutions in literature, ranking their performance according and comparing them to the partner’s algorithm prototype
  • Formulate an algorithm to generate routes based on passenger trip requests received in advance and in real-time; it must also incorporate machine learning prediction for anticipating customer demand.
  • Develop a method to determine how the on-demand bus service can be efficiently deployed to maximize coverage and frequency, based on the existing needs of the population and available infrastructure.


    • To be discussed

    Expertise and Skills Needed:


    • Creation of optimization models for transit networks
    • Familiarity with transit network design and operations
    • Familiarity with algorithmic route generation based on shortest path algorithms and heuristics
    • Object-oriented programming skills
    • Bilingual (English and French)


    • Knowledge of dispatching algorithms for demand-responsive transit services (eg. Paratransit)
    • Experience with transit and traffic simulation software
    • Experience with GIS software

    For more info or to apply to this applied research position, please

    1. Check your eligibility and find more information about open projects.
    2. Interested students need to get the approval from their supervisor and send their CV along with a link to their supervisor’s university webpage by applying through the webform.