Главная //  Кейсы //  Создание сервиса консолидации для логистической компании
Операционная деятельность

Создание сервиса консолидации для логистической компании

Как мы разработали алгоритм, который консолидирует заявки и оптимизирует логистические маршруты

Задача

Разработать алгоритм, который консолидирует заявки и оптимизирует логистические маршруты


Для маршрутизации нескольких заявок логисту необходимо учесть множество факторов: от параметров груза и временных окон до особенностей требований каждого клиента. Но даже если человеку удается держать в голове всю эту информацию, это не означает, что процесс нельзя упростить и сделать более эффективным с помощью алгоритма. То есть, логист учитывает ограничения, но физически он не может перебрать все возможные варианты, что усложняет масштабирование процесса. В таком случае нужен автоматизированный алгоритм. К нам обратилась логистическая компания, которая хотела улучшить внутренний процесс составления заявок на собственной платформе

Решение

Определение целевой функции, учет ограничений, создание и тестирование MVP

1 этап. Целевая функция и ограничения

Необходимо было не просто автоматизировать работу логистов при консолидации грузов, но и сделать это наиболее оптимальным образом, чтобы суммарная стоимость доставки была минимальной. Для этого было нужно разработать целевую функцию — функцию стоимости перевозки. Основная сложность расчета стоимости заключалась в отсутствии единой методологии рыночного ценообразования, из-за чего мы решили тестировать различные подходы до тех пор, пока у нас не получилось достаточно точно воспроизвести рыночные цены. По итогам нескольких итераций, выделив особенности для сложных и кольцевых маршрутов, мы создали модель ценообразования, работающую с незначительными отклонениями для всех регионов России.

Основные ограничения


Ограничения для алгоритма разбили на три группы:


  • Ограничения по весогабаритным характеристикам (ВГХ).
  • Временные ограничения: временные окна для забора и доставки груза, производственный календарь, ограничения ТК РФ на рабочее время водителя.
  • Особенности конкретных точек или клиентов, например, невозможность принять 20т фуру из-за размера парковки у грузоотправителя.

2 этап. Создание MVP и тестирование

Создав алгоритм, мы начали тестирование, в котором алгоритм и логисты маршрутизировали одинаковые заявки.

Действительно, алгоритм всегда собирал маршруты с общей стоимостью ниже, чем у логистов, и чем больше было заявок на вход, тем больше была разница в экономическом эффекте между алгоритмом и человеком. На этом этапе мы собрали обратную связь и доработали ограничения, которые не были учтены на предыдущем этапе.

Как выбрать оптимальную логистическую схему

Алгоритм, разработанный на этапе MVP, подходил для крупно- и среднетоннажных перевозок, но более 60% заявок клиента составляли мелкотоннажные грузы, консолидируемые через склады.

Оставался вопрос: как определить, что поедет на склад, а что напрямую грузополучателю? Очевидное решение, которое сразу приходит в голову: для каждой заявки определить ближайший склад в радиусе n км, вес не более 1,5т, учет сроков доставки. Но данный подход не учитывает, что для принятия решения о консолидации логист смотрит не на заявку, а на её окружение, и оценивает «кучность» грузов.

То есть, чтобы выбрать, поедет ли заявка на склад, логист в голове уже пробует построить маршрут из неё и нескольких других: где-то груз в 3 тонны выгодно отдать на склад, а где-то — 200 кг отдать в другую транспортную компанию.

Подобный подход мы реализовали в алгоритме: чтобы выбрать, какая логистическая схема выгоднее, мы строим предварительные маршруты, принимаем решение, по какой схеме везти дешевле, и потом уже строим в рамках каждой схемы конечные маршруты.

Итоговая связка алгоритмов

Итоговый алгоритм работает следующим образом:

1. Определяется оптимальная логистическая схема: определяется набор ограничений: сроки, максимальные ВГХ для приемки на склад. Строятся прогнозные маршруты через склады, определяется удельная стоимость доставки каждой заявки.


2. Сравнивается три цены: удельная через склад, напрямую отдельным транспортом, сборный груз транспортной компанией. На уровне каждой заявки выбирается самая дешевая логистическая схема. Заявки распределяются по соответствующим группам и конечные маршруты строятся в рамках каждой группы.


3. Отдельно для групп заявок напрямую и на склад строим маршруты: быстро находим субоптимальное решение. За отведенное время ищем лучшее решение метаэвристическим способом.



Но создание алгоритма — это ещё не всё. На его основе мы построили сервис, который затем встроили в платформу.

Этап 3. Разработка сервиса

При разработке сервиса консолидации было два основных требования:

1. Исходные данные по заявкам получаем из системы клиента.

2. Пользователь должен видеть все актуальные заявки и маршруты из них, а так же иметь возможность верифицировать или скорректировать маршрут.


В конечном виде система состоит из трех блоков: сам сервис консолидации с алгоритмами внутри, отдельный сервис ценообразования и сервис верификации маршрутов.

Результаты

Алгоритм, который определяет оптимальную логистическую схему и маршрутизирует заявки

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

Экономический эффект отчетливо наблюдается при масштабировании системы: имея сотни заявок в день, логисты успевают найти основной потенциал консолидации по очевидным направлениям. Алгоритм же в среднем даёт на 15% больше экономии, чем при ручной консолидации, а созданный сервис делает все решения прозрачными и отслеживаемыми.

Такой эффект достигается за счет:


Построения маршрутов с минимальной ценой

В отличие от человека, для алгоритма нет критерия «прямой» или «красивый» маршрут. Есть только маршруты, которые выгоднее других.


Выбора оптимальной логистической схемы

Алгоритм выбирает способ доставки не на правилах и опыте логиста, а из множества вариантов выбирает самый выгодный на данный момент.


Передачи части заявок в «невыгодных» направлениях в транспортные компании

В зависимости от наличия заявок, в ряде направлений доставка «сложным» маршрутом может оказаться дороже, чем доставка через транспортную компанию. Перебирая возможные маршруты, алгоритм определяет, какие заявки выгоднее отдать в ТК.



В результате логистическая компания получила эффективный сервис с понятным интерфейсом, оптимизирующий целый ряд внутренних процессов и экономящий силы сотрудников.

Расскажите
о вашей задаче

icon /
icon /
icon /
icon /