Разработка AI-системы оптимизации маршрутов общественного транспорта

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1Все 1566 услуг
Разработка AI-системы оптимизации маршрутов общественного транспорта
Средний
~2-4 недели
Часто задаваемые вопросы

Направления AI-разработки

Этапы разработки AI-решения

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    902
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1122
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    859

Разработка AI-системы оптимизации маршрутов общественного транспорта

Городской транспорт — система с постоянно меняющимися пассажиропотоками. AI оптимизирует расписание и маршрутную сеть на основе реальных данных, сокращая время ожидания и повышая заполняемость.

Анализ пассажиропотоков

Источники данных:

  • Турникеты (AFC — Automated Fare Collection): точное время входа/выхода, тип карты
  • GPS-трекеры транспортных средств: реальное местоположение, отклонение от расписания
  • Камеры в салоне: CV-подсчёт пассажиров (YOLOv8 + tracking)
  • Мобильное приложение: геопозиция пользователей с согласия

Прогноз пассажиропотока:

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

class PassengerFlowPredictor:
    """Прогноз пассажиропотока на остановке по 15-минутным интервалам"""

    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

        # Лаги: те же интервалы в предыдущие периоды
        for lag_days in [1, 7, 14]:
            df[f'lag_{lag_days}d'] = df['passengers'].shift(lag_days * 96)  # 96 интервалов/день

        # Скользящее среднее
        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'])

        # Прогноз на следующие 24 часа
        future = df.tail(forecast_horizon)[feature_cols]
        return model.predict(future).clip(min=0)

Оптимизация расписания

Headway Optimization:

Задача: определить оптимальный интервал отправления (headway) для каждого маршрута в каждый временной период:

  • Минимизировать ожидание пассажиров (proportional to headway)
  • Минимизировать затраты на транспорт (proportional to frequency)
  • Ограничение: вместимость при пиковом спросе ≤ 85% мест

Для каждого маршрута и часа: headway* = sqrt(2 × vehicle_capacity × cycle_cost / (passenger_demand × vot))

Динамическое расписание:

В отличие от фиксированного расписания на квартал, AI корректирует частоту в реальном времени:

  • Прогноз пиков на следующие 1–2 часа → увеличение частоты заранее
  • Выход транспортного средства из строя → перераспределение интервалов

Маршрутная сеть

Transit Network Design:

Оптимизация конфигурации маршрутной сети — задача мета-эвристики (Genetic Algorithm, Simulated Annealing):

  • Покрытие: % жителей в шаговой доступности от остановки (норма: 500 м)
  • Пересадочность: средние число пересадок до цели
  • Дублирование: минимизировать параллельные маршруты

Demand Responsive Transport (DRT):

Мини-бусы по требованию (как Uber Pool для общественного транспорта):

  • Пассажир запрашивает поездку A→B через приложение
  • Алгоритм объединяет запросы с пересекающимися маршрутами
  • VRP-solver в реальном времени → маршрут для мини-автобуса
  • Используется в малонаселённых районах, где нерентабелен фиксированный маршрут

Управление парком

Depot allocation:

Сколько транспортных средств выпустить из каждого депо для обслуживания утреннего пика:

  • Оптимизация MILP: минимизация пустых пробегов в/из депо
  • Учёт технического состояния каждой единицы (ТО расписание)

Electric fleet charging:

Для электробусов (ЛиАЗ 6274, Yutong E12):

  • Прогноз потребления заряда по каждому маршруту
  • Оптимизация зарядки: ночью дешёвый тариф + в промежутках маршрута
  • Гарантия: к началу каждого рейса достаточно заряда

Интеграция с городскими системами

  • АСУДД: светофорный приоритет для общественного транспорта (TSP — Transit Signal Priority)
  • ГИС Москва/города: публикация расписания через GTFS (General Transit Feed Specification)
  • Пассажирские приложения (Яндекс.Транспорт, 2ГИС): real-time позиции через API

Срок разработки: 4–7 месяцев для платформы с прогнозом пассажиропотока, оптимизацией расписания и DRT-модулем.