AI-Powered Public Transport Route Optimization System

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1All 1566 services
AI-Powered Public Transport Route Optimization System
Medium
~2-4 weeks
Frequently Asked Questions

AI Development Areas

AI Solution Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1319
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1226
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    927
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1161
  • image_logo-advance_0.webp
    B2B Advance company logo design
    622
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    897

Every morning, thousands of passengers wait for a bus without knowing the exact arrival time. Traffic jams, accidents, breakdowns — a fixed schedule becomes fiction. We built an AI system that predicts passenger flow with 15-minute accuracy and dynamically adjusts headways. Result: wait times reduced by 20%, operational costs by 15%.

Stack: LightGBM, genetic algorithms, MILP optimization. All models run in real time on streaming data. Company metrics: 8+ years in ML production, 15+ transportation projects, 5+ years on the market. This article explains how we build predictive models, set up dynamic scheduling, and manage electric bus fleets.

What Are the Limitations of Traditional Methods?

Fixed schedules ignore real demand fluctuations. During peak hours, buses are overcrowded; at night, they run half empty. Dispatchers react after the fact, once a disruption has already occurred. AI analyzes data from AFC, GPS, cameras, and apps, builds forecasts, and reshuffles the schedule every 1-2 hours. This reduces wait times by 20% and increases load factor by 15%.

How Does AI Analyze Passenger Flows?

We collect data from multiple sources:

  • Fare gates (AFC): exact entry/exit times, ticket type
  • GPS trackers: real-time location, deviation from schedule
  • In-vehicle cameras: YOLOv8 + tracking counts passengers
  • Mobile app: geolocation with user consent

For prediction, we use LightGBM with lag features from 1, 7, and 14 days, moving averages, plus weather and holiday data:

import pandas as pd
import numpy as np
from lightgbm import LGBMRegressor

class PassengerFlowPredictor:
    """Predicts passenger flow at a stop for 15-minute intervals"""

    def build_features(self, df):
        df = df.copy()
        df['hour'] = df['timestamp'].dt.hour
        df['minute_bin'] = df['timestamp'].dt.minute // 15
        df['dayofweek'] = df['timestamp'].dt.dayofweek
        df['is_weekend'] = df['dayofweek'].isin([5, 6]).astype(int)
        df['month'] = df['timestamp'].dt.month

        # Lags: same intervals in previous periods
        for lag_days in [1, 7, 14]:
            df[f'lag_{lag_days}d'] = df['passengers'].shift(lag_days * 96)  # 96 intervals/day

        # Moving average
        df['ma_7d'] = df['passengers'].rolling(7 * 96).mean()

        return df

    def train_and_predict(self, historical_df, forecast_horizon=96):
        df = self.build_features(historical_df)
        feature_cols = ['hour', 'minute_bin', 'dayofweek', 'is_weekend', 'month',
                        'lag_1d', 'lag_7d', 'lag_14d', 'ma_7d', 'is_holiday',
                        'weather_temp', 'weather_rain']

        train = df.dropna(subset=feature_cols + ['passengers'])
        model = LGBMRegressor(n_estimators=300, learning_rate=0.05, num_leaves=64)
        model.fit(train[feature_cols], train['passengers'])

        # Forecast for next 24 hours
        future = df.tail(forecast_horizon)[feature_cols]
        return model.predict(future).clip(min=0)

The model trains on historical data and every 15 minutes outputs a forecast for the next 24 hours. Accuracy: MAE 3-5 passengers per stop.

Advantages of Dynamic Scheduling

Fixed schedules cannot adapt to demand fluctuations: peak-hour buses are overcrowded, night-time buses nearly empty. Dynamic scheduling adjusts headways every 1-2 hours based on forecasts. Optimal headway is calculated using the formula:

Optimal headway formula `headway* = sqrt(2 × capacity × run_cost / (demand × wait_cost))` Derivation based on Mohring (1972), adapted for ML.
Parameter Fixed Schedule Dynamic Schedule
Passenger wait time High off-peak 20% reduction
Load factor Below 50% off-peak >85% peak, 60% off-peak
Response to disruptions Only next cycle Instant rescheduling

Dynamic scheduling is 1.3 times more efficient than fixed schedules, achieving a 1.5x improvement in load factor. When a vehicle breaks down, AI redistributes headways among remaining buses — passengers are unaware of the disruption.

Comparison of Headway Optimization Methods

Method Complexity Accuracy Adaptability
Fixed headway Low Low None
Dynamic headway (ML) Medium High High
Demand Responsive (DRT) High Very high Full

Route Network Optimization

We use a genetic algorithm (GA) to find the optimal route configuration. Criteria:

  • Coverage: 90% of residents within a 500 m walking distance of a stop
  • Average number of transfers ≤ 2
  • Minimize duplication of parallel routes

GA explores thousands of configurations in an hour — impossible with manual planning. For low-density zones, we deploy Demand Responsive Transport (DRT): the passenger requests a ride via app, the algorithm merges similar requests and builds a minibus route in real time (VRP solver). Additionally, we run transport simulation modeling on a digital twin of the city to evaluate network load.

How Is Fleet Management and Electric Bus Charging Optimized?

We optimize not only routes but also the number of vehicles in service. A MILP model minimizes empty trips from the depot while considering technical condition. For electric buses (LiAZ 6274, Yutong E12), we forecast energy consumption per route considering terrain and load. We build a charging schedule with electric bus charging optimization: up to 70% overnight at cheap rates, the rest at terminals. Guarantees sufficient charge before departure.

Implementation Steps

  1. Audit of the current network and data collection (AFC, GPS, GTFS). 2-3 weeks.
  2. Development of ML models (passenger flow forecast, headway optimization). 6-8 weeks.
  3. Integration with city systems (traffic management, dispatch). 4-6 weeks.
  4. Testing on historical data and pilot launch on 1-2 routes. 4 weeks.
  5. Full network deployment, dispatcher training, monitoring. 4-6 weeks.

Total: basic platform — 4-5 months, with DRT and electric buses — up to 7 months. Typical project cost for a mid-size city: $200,000–$500,000, with annual savings of $2M–$5M. Cost is calculated individually.

What Our Work Includes

  • Business analytics and route network audit
  • ML models: forecasting, optimization, DRT
  • Integration with GTFS, traffic management, mobile apps
  • On-prem or cloud deployment
  • Documentation, training, 6 months support
  • Deliverables include: documentation, system access, training, and ongoing support

Our company has 8+ years of experience in ML production, completed 15+ transportation projects, and has been on the market for 5+ years. Our approach combines machine learning for transit with genetic algorithm route planning and electric bus charging optimization. Get a consultation: we will analyze your data, choose the stack, and propose a turnkey solution. Contact us for a project assessment.