Розробка 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-модулем.