Получите управление рабочей силой end-to-end Amazon Forecast и AWS Step Functions
Управляйте рабочей силой с помощью Amazon Forecast и AWS Step Functions на всех этапах процесса
Это гостевой пост, совместно написанный Nafi Ahmet Turgut, Mehmet İkbal Özmen, Hasan Burak Yel, Fatma Nur Dumlupınar Keşir, Mutlu Polatcan и Emre Uzel из компании Getir.
Getir является пионером в области сверхбыстрой доставки продуктов. Эта технологическая компания совершила революцию в доставке на последнем километре с помощью своего предложения по доставке продуктов за несколько минут. Getir была основана в 2015 году и работает в Турции, Великобритании, Нидерландах, Германии и Соединенных Штатах. Сегодня Getir – это крупный конгломерат, объединяющий девять вертикалей под одним брендом.
В этом посте мы описываем систему управления рабочей силой “от начала и до конца”, которая начинается с прогнозирования спроса на определенной территории, а затем включает планирование рабочей силы курьеров и назначение смен с помощью Amazon Forecast и AWS Step Functions.
Ранее операционные команды занимались ручным управлением рабочей силой, что приводило к значительным потерям времени и усилий. Однако с внедрением нашего всестороннего проекта по управлению рабочей силой от начала и до конца, они теперь могут эффективно генерировать необходимые планы для курьеров в складах через упрощенный процесс, доступный через веб-интерфейс. До запуска этого проекта бизнес-команды полагались на более интуитивные методы прогнозирования спроса, которые требовали улучшения в плане точности.
- Соединение точек распутывание якобы модели Q-Star от OpenAI
- Эта научная работа представляет фреймворк SANeRF-HQ (Segment Anything for NeRF in High Quality), который позволяет достигать высококачественной 3D-сегментации любого объекта в заданной сцене.
- Можно ли более эффективно оптимизировать большие модели языка? Ознакомьтесь с этим всесторонним обзором алгоритмических прогрессов в повышении эффективности LLM.
Amazon Forecast – это полностью управляемый сервис, использующий алгоритмы машинного обучения для предоставления высокоточного прогноза временных рядов. В этом посте мы описываем, как мы сократили время моделирования на 70%, выполнив инженерию функций и моделирование с использованием Amazon Forecast. Мы достигли сокращения времени на 90% при выполнении алгоритмов планирования для всех складов с использованием AWS Step Functions, который является полностью управляемым сервисом, облегчающим координацию компонентов распределенных приложений и микросервисов с помощью визуальных рабочих процессов. Это решение также привело к улучшению точности прогнозирования на 90% по всей Турции и нескольким европейским странам.
Обзор решения
Проект управления рабочей силой от начала и до конца (E2E Project) является крупномасштабным проектом и может быть описан в трех темах:
1. Расчет потребностей в курьерах
Первый шаг – оценить часовой спрос для каждого склада, как объясняется в разделе выбора алгоритма. Эти прогнозы, полученные с помощью Amazon Forecast, помогают определить, когда и сколько курьеров нужно каждому складу.
На основе коэффициента пропускной способности курьеров на складах рассчитывается количество курьеров, необходимых для каждого склада в часовых интервалах. Эти расчеты помогают определить применимое число курьеров с учетом законных рабочих часов, что включает математическое моделирование.
2. Решение проблемы назначения смен
После определения потребностей в курьерах и знания других ограничений курьеров и складов мы можем решить проблему назначения смен. Проблема моделируется с помощью решающих переменных, определяющих назначаемых курьеров и создающих графики смен, минимизируя излишки и нехватку, которые могут вызвать неисполнение заказов. Обычно это проблема целочисленного программирования (MIP).
3. Использование служб AWS Step Functions
Мы используем службу AWS Step Functions для координации и управления рабочими процессами с ее способностью выполнять задания параллельно. Процесс назначения смен для каждого склада определен как отдельный рабочий процесс. AWS Step Functions автоматически инициирует и контролирует эти рабочие процессы, упрощая обработку ошибок.
Поскольку для этого процесса требуется обширные данные и сложные вычисления, сервисы, такие как AWS Step Functions, предлагают значительное преимущество в организации и оптимизации задач. Они обеспечивают более удобный контроль и эффективное управление ресурсами.
В архитектуре решения мы также пользуемся другими сервисами AWS, интегрируя их в AWS Step Functions:
- AWS Batch: для пакетной обработки
- Amazon DynamoDB: для хранения информации о складах
- AWS Lambda: для получения данных из Amazon Redshift и уведомления о сбоях в каналах Slack
- Amazon CloudWatch: для планирования cron-задач и запуска рабочего процесса
Следующие диаграммы показывают рабочие процессы AWS Step Functions и архитектуру инструмента сдвига:
Рисунок 1. Рабочие процессы AWS Step Functions
Рисунок 2. Архитектура инструмента сдвига
Выбор алгоритма
Прогнозирование спроса в определенном месте составляет начальную фазу проекта E2E. В общем, цель E2E заключается в определении количества курьеров, выделяемых для конкретного склада на основе прогноза спроса на этот склад.
Эта составляющая прогнозирования является решающей в рамках фреймворка E2E, так как последующие фазы зависят от этих прогнозов. Таким образом, любая неточность прогноза может негативно сказаться на эффективности всего проекта.
Цель фазы прогнозирования спроса на местности заключается в генерации прогнозов на основе страны для каждого склада сегментированного по часам в ближайшие две недели. Сначала создаются ежедневные прогнозы для каждой страны с помощью моделей машинного обучения. Эти ежедневные прогнозы затем разбиваются на часовые сегменты, как показано на графике ниже. В модели используются исторические данные о спросе, информация о погоде по местоположению, даты праздников, данные о акциях и маркетинговые кампании, как показано на графике.
Рисунок 3. Архитектура прогнозирования в зависимости от местоположения
Команда изначально исследовала традиционные методы прогнозирования, такие как открытые исходные коды SARIMA (сезонная авторегрессионная интегрированная скользящая средняя), ARIMAX (авторегрессионная интегрированная скользящая средняя с использованием экзогенных переменных) и Экспоненциальное сглаживание.
ARIMA (авторегрессионная интегрированная скользящая средняя) — метод прогнозирования временных рядов, который объединяет авторегрессионный (AR) и скользящий средний (MA) компоненты с дополнительным дифференцированием для приведения временного ряда к стационарной форме.
SARIMA расширяет ARIMA за счет введения дополнительных параметров для учета сезонности во временном ряде. Он включает сезонные авторегрессионные и сезонные скользящие средние члены для улавливания повторяющихся паттернов в определенные интервалы, что делает его подходящим для временных рядов с сезонной составляющей.
ARIMAX основывается на ARIMA и вводит экзогенные переменные, которые являются внешними факторами, влияющими на временной ряд. Дополнительные переменные учитываются в модели для улучшения точности прогнозирования путем учета внешнего влияния, превышающего исторические значения временного ряда.
Экспоненциальное сглаживание – это еще один метод прогнозирования временных рядов, который, в отличие от ARIMA, основан на взвешенных средних прошлых наблюдений. Он особенно эффективен для отслеживания тенденций и сезонности в данных. Метод назначает экспоненциально убывающие веса прошлым наблюдениям, при этом более новые наблюдения получают более высокие веса.
В конечном итоге для алгоритмического моделирования были выбраны модели Amazon Forecast: Конволюционная нейронная сеть – Квантильная регрессия (CNN-QR), DeepAR+, Пророк, Непараметрический временной ряд (NPTS), Авторегрессионное интегрированное скользящее среднее (ARIMA) и Экспоненциальное сглаживание (ETS). Проведенный анализ результатов прогнозирования позволил определить, что CNN-QR превосходит другие модели по эффективности. CNN-QR – это собственный алгоритм машинного обучения, разработанный Amazon для прогнозирования скалярных (одномерных) временных рядов с использованием причинных сверточных нейронных сетей (CNN). При наличии разнообразных источников данных в данной ситуации применение алгоритма CNN-QR облегчило интеграцию различных функций, работая в рамках обучения с учителем. Это отличает его от моделей прогнозирования временных рядов с единственной переменной и значительно повышает производительность.
Использование Forecast оказалось эффективным из-за простоты предоставления необходимых данных и спецификации продолжительности прогноза. Впоследствии, Forecast использует алгоритм CNN-QR для генерации прогнозов. Этот инструмент значительно ускорил процесс для нашей команды, особенно в алгоритмическом моделировании. Кроме того, использование Amazon Simple Storage Service (Amazon S3) для хранения репозиториев входных данных и Amazon Redshift для хранения результатов обеспечило централизованное управление всей процедурой.
Заключение
В этой статье мы показали, как проект E2E Getir демонстрирует, как объединение сервисов Amazon Forecast и AWS Step Functions эффективно оптимизирует сложные процессы. Мы достигли впечатляющей точности прогнозирования около 90% по всей Европе и Турции, а использование Forecast сократило время моделирования на 70% за счет его эффективной работы с инжинирингом и моделированием.
Использование сервиса AWS Step Functions привело к практическим преимуществам, в частности, сокращению времени планирования на 90% для всех складов. Кроме того, учитывая требования поля, мы улучшили показатели соблюдения правил на 3%, что помогло более эффективно распределять рабочую силу. Это, в свою очередь, подчеркивает успех проекта в оптимизации операций и предоставлении услуг.
Для доступа к дополнительным подробностям о начале вашего пути с Forecast, пожалуйста, обратитесь к доступным ресурсам Amazon Forecast. Кроме того, для получения информации о создании автоматизированных рабочих процессов и создании конвейеров машинного обучения вы можете изучить AWS Step Functions для полного руководства.