Стажировка по проекту
Компания: «АЙДИГО»
автоматизация построения логистических маршрутов на основе базы данных ИХ составления И трекинга транспорта
Суть проекта
Задача
Для чего
Вводные данные
Выходные данные
Разработать систему, способную автоматизировать учет автопарка и оптимизировать логистические маршруты компании «Айдиго», чтобы снизить временные и ресурсные затраты на планирование и координацию логистических операций
Цель — создание клиент-серверного и десктопного приложения, которое автоматизирует учет автопарка и оптимизирует логистические маршруты компании
  • Информация о грузах, рейсах, автопарке, клиентах, а также других данных, необходимых для планирования и координации логистических операций
  • Десятидневная база распределенных заказов на доставку
  • Оптимальные логистические маршруты
  • Автоматически распределенные документы по рейсам с учетом различных параметров
  • Результаты автоматизированного расчета и распределения грузов по рейсам
  • Заказ-наряды на доставку товаров с готовыми маршрутами
  • Погрузочные ведомости для назначенных на доставку автомобилей с порядком загрузки соответствующим маршруту развоза заказов
Участники
1 команды проекта
  • Терещенко Алексей
    Тимлид проекта
    Алексей — руководитель группы разработчиков, отвечал за полную разработку проекта
  • Ларина Нина
    Помощник тимлида
    Нина помогала руководителю команды организовывать процесс разработки проекта
  • Ильенко Александр
    Электроэнергетик
    • Визуализация маршрутов с использованием библиотеки OSMnx;
    • Исследование возможности соединения дорожных графов разной детализации, обнаружение ограничений совместимости таких графов;
    • Реализация объектно-ориентированной структуры данных заказов и автомобилей;
    • Выполение процедуры загрузки исходных данных из предоставленных заказчиком файлов в созданную структуру данных;
    • Расчет матрицы расстояний между узлами дорожного графа, содержащими заказы;
    • Написание алгоритма кластеризации заказов и загрузки заказов в автомобили с контролем ограничений;
    • Внедрение муравьиного алгоритма для поиска кратчайших маршрутов для перечня заказов в автомобиле;
    • Реализация процедуры визуализации оптимальных маршрутов и вывод информации о порядке развоза заказов в формате, заданном заказчиком;
    • Написание нескольких версий кода: исполняемый файл в среде Windows с графическим интерфейсом для ввода параметров программы в диалоговом режиме, серверный вариант с полным графическим интерфейсом с использованием библиотеки Streamlit
  • Валеев Рамиль
    Менеджер в области нефтехимии
    • Исследовательский анализ данных заказчика;
    • Кластеризация точек разгрузки по географическим координатам;
    • Разработка функции визуализации точек разгрузки, по кластерам, на карте;
    • Разработка алгоритма построения оптимального маршрута доставки;
    • Разработка функции визуализации на карте построенных маршрутов;
    • Разработка эволюционного алгоритма распределения заказов по автопарку;
    • Оптимизация по вместимости автомобиля: вес, объем, количество паллет;
    • Оптимизация по максимально допустимому количеству точек в одной машине;
    • Оптимизация по географическим координатам точек доставки в одной машине
  • Хомич Алексей
    Железнодорожник
    • Анализирование полученных данных;
    • Распределение и анализ статистики, расчет расстояния, кластеризация;
    • Оптимизация маршрутов: маршрутизация ORS_API, Автопарк + Венгерский, ROY_1;
  • Кривенцов Николай
    Финансовый директор
    • Анализ данных по рейсам;
    • Изучение алгоритмов кластеризации данных и теории графов
Участники
2 команды проекта
  • Бойцов Антон
    Тимлид проекта
    Антон — руководитель группы разработчиков, отвечал за полную разработку проекта
  • Коваленко Сергей
    Руководитель технологических проектов в московской компании
    • Анализ и визуализация исходных данных заказчика (Pandas, Matplotlib Pyplot, OR-Tools, Folium, OSMnx, NetworkX);
    • Предобработка входных данных для дальнейшего анализа (Pandas);
    • Кластеризация точек доставки методом k-средних (scikit-learn Clustering KMeans);
    • Кластеризация точек доставки по направлениям дорог методом “солнышко” (Pandas);
    • Визуализация маршрутов на карте (OSMnx, NetworkX, Folium, GeoPy Distance Geodesic);
    • Создание путевых листов для найденных маршрутов;
    • Сборка полного конвейера обработки данных;
    • Интеграция проекта в Веб-приложение и развертывание его на виртуальной машине Яндекс (Fast API, Uvicorn, SQLAlchemy,  Passlib, Pydantic)
  • Тагаев Александр
    Генеральный директор инвестиционной компании
    • Визуализация исходных данных заказчика (Pandas, Matplotlib Pyplot, Folium);
    • Предобработка входных данных для дальнейшего анализа (Pandas);
    • Кластеризация точек доставки методом k-средних (scikit-learn Clustering KMeans);
    • Практическое исследование методик оценки кластеризации через коэффициент Силуэта, индексы Дэвиса–Боулдина, Калински-Харабаша, Дана (scikit-learn Clustering, Metrics);
    • Кластеризация точек доставки путем определения фиксированных зон доставки по направлениям дорог (Pandas);
    • Визуализация фиксированных зон доставки на карте (Folium, SciPy Spartial ConvexHull)
  • Брутян Рубен
    Специалист по госзакупкам
    • Предобработка входных данных для дальнейшего анализа (Pandas);
    • Кластеризация точек доставки различными методами (scikit-learn Clustering KMeans, AgglomerativeClustering, SciPy Cluster Hierarchy);
    • Применение генетических алгоритмов для расчета наименьшего пути в одном кластере (itertools permutations, combinations, random);
    • Визуализация маршрута на карте (OSMnx, NetworkX, Folium);
    • Распределение грузов по автомобилям с учетом заданных параметров (NetworkX)
  • Ширков Антон
    • Генерирование ссылок на Яндекс.Карты с построенными маршрутами (Pandas);
    • Кластеризация точек доставки различными методами (scikit-learn Clustering KMeans, AffinityPropagation, MeanShift, DBSCAN);
    • Собственный уникальный генетический алгоритм с изменяемой длинной популяции (Pandas, random);
    • Предобработка входных данных и результатов работы алгоритма для оценки возможности распределения грузов среди автопарка заказчика (Pandas);
  • Соболева Валерия
    Консультант по вопросам в сфере информационной безопасности
    • Анализ и визуализация исходных данных заказчика (Pandas, Matplotlib Pyplot, Folium, datetime);
    • Предобработка входных данных для дальнейшего анализа (Pandas);
    • Генетический алгоритм распределения грузов по автомобилям (random);
    • Вывод маршрутного листа (Pandas)
  • Козаков Дмитрий
    • Предобработка входных данных для дальнейшего анализа (Pandas);
    • Визуализация маршрута на карте (OSMnx, NetworkX, Folium);
    • Кластеризация точек доставки методом k-средних (scikit-learn Clustering KMeans)
  • Симаков Владимир
    • Предобработка входных данных для дальнейшего анализа (Pandas);
    • Визуализация маршрута на карте (OSMnx, NetworkX, Folium);
    • Кластеризация точек доставки методом k-средних (scikit-learn Clustering KMeans)
Демонстрация проекта
Отзыв компании

«Команда университета в ноябре 2023 г. приступила к выполнению проекта, и уже в конце января 2024 года нам продемонстрировали готовую программу, которая имеет удобный пользовательский интерфейс и успешно выполняет поставленную задачу. Мы считаем, что это отличный результат, достигнутый за короткий срок», - руководитель отдела ИТ компании «Айдиго» Евгений Лесков
Благодарность университетУ