Основные определения

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

В результате планирования вы получите оптимальные маршруты автомобилей и метрики для анализа результатов.

Ниже мы рассмотрим основные свойства склада, автомобилей и заказов. Более подробно о свойствах и частных случаях оптимизации вы можете узнать далее в разделах Свойства временных окон, Свойства веса и объема, Свойства автомобилей и Свойства заказов.

Склад

Склад — это точка, в которой начинаются и могут заканчиваться все маршруты. На складе происходит загрузка заказов в автомобили. В одном запросе можно указать только один склад. У склада должно быть указано время работы. Подробное описание параметров доступно в разделе Свойства складов.

Склад задается в поле depot.

Автомобили

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

Автомобили или курьеры задаются в поле vehicles.

Емкость автомобиля

У автомобиля можно определить емкость или грузоподъемность. Их желательно указать в запросе. В противном случае алгоритм может построить маршруты, в которых автомобили будут перегружены.

Грузоподъемность автомобиля задается в поле vehicle.capacity.

Заказы

Заказы — это точки, в которые необходимо доставить груз. Для каждого заказа необходимо указать его географические координаты, а также временное окно.

Заказы задаются в поле locations.

Координаты заказа

Местоположение заказа задается в виде географических координат, соответствующих точке парковки или остановки на адресе заказа.

Если местоположение заказа в вашей системе задается адресом, необходимо произвести геокодирование (преобразование адреса из текста в географические координаты).

Координаты заказа задаются в поле location.point.

Временное окно заказа

Всем заказам нужно указать временное окно — интервал времени, когда автомобиль или курьер должен прибыть на адрес заказа.

Временное окно заказа задается в поле location.time_window.

Сервисное время заказа

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

Cервисное время задается в поле location.service_duration_s, в секундах.

Вес заказа

Для каждого заказа можно указать его вес. Определение веса необязательно, но рекомендуется — чтобы избегать перегрузки автомобилей.

Вес заказа задается в поле location.shipment_size.

Маршруты

Результатом работы сервиса являются маршруты — последовательности посещения заказов для каждой машины с прогнозом времени прибытия на каждый заказ.

В ответе сервиса маршруты указываются в поле routes.

Метрики

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

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

Cтоимость маршрутов

Оптимизация минимизирует стоимость маршрутов. Стоимость складывается из следующих параметров:

  • сумма стоимости всех автомобилей (за километр, час и факт использования автомобиля);

  • сумма штрафов за нарушение бизнес-ограничений (штрафы за невыполнение заказа, за нарушение временных окон и другие).

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

Написать в службу поддержки