Пропускная способность точки
Чтобы автомобили приезжали на заказ или склад в разное время, ограничьте их пропускную способность и назначьте штрафы за нарушение ограничения.
Важно
Для корректного учета ограничений и штрафов не рекомендуем задавать их одновременно для заказов и складов.
-
На листе Options в полях
points_throughputs.N.point.lat(options.points_throughputs.point.latв API) иpoints_throughputs.N.point.lon(options.points_throughputs.point.lon) укажите координаты заказа, пропускную способность которого нужно ограничить.Вы можете указать координаты нескольких заказов любого типа.
-
Определите тип и величину ограничения с помощью одного из параметров:
points_throughputs.N.throughput.kg_per_hour(options.points_throughputs.throughput.kg_per_hourв API) — пропускная способность заказа в кг/час;points_throughputs.N.throughput.units_per_hour(options.points_throughputs.throughput.units_per_hour) — в грузовых единицах/час (паллеты, коробки, кеги);points_throughputs.N.throughput.vehicle_count(options.points_throughputs.throughput.vehicle_count) — в автомобилях/час.
Примечание
Для каждого заказа можно задать только одно ограничение.
-
Задайте величину штрафов за несоблюдение условий посещения
points_throughputs.N.penalty.throughput(options.points_throughputs.penalty.throughput), где:fixed— штраф за факт нарушения пропускной способности;kg— за каждый дополнительный килограмм;unit— за каждую дополнительную грузовую единицу;vehicle— за каждый дополнительный автомобиль при загрузке или выгрузке.
Если размеры штрафов не указаны, используются значения по умолчанию.
Пропускную способность склада можно задать с помощью параметра depot.throughput. Подробнее об этом см. в разделе Пропускная способность склада.
Пример 1
Два курьера доставляют заказы одному клиенту. Разгрузка обоих автомобилей запланирована примерно на одно и то же время.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Те же условия, что в примере 1, но добавлено ограничение пропускной способности на адресе клиента — не более одного автомобиля в час.
В результате планирования незначительно увеличился общий пробег, а временные интервалы разгрузки перестали пересекаться.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
Два курьера развозят 12 заказов. Ни для одного из заказов не заданы ограничения пропускной способности.
В результате планирования все заказы равномерно распределяются между курьерами. Штрафы за несоблюдение условий посещения не начисляются.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 4
Те же условия, что в примере 3, но:
-
координаты заказа 1 совпадают с координатами склада;
-
на листе Options для заказа 1 заданы:
-
ограничение пропускной способности —
points_throughputs.0.throughput.vehicle_count= 1; -
штрафы за несоблюдение условий посещения:
points_throughputs.0.penalty.throughput.fixed= 10 000;points_throughputs.0.penalty.throughput.vehicle= 10 000.
-
Курьеры начинают маршруты со склада.
В результате планирования нарушается ограничение пропускной способности для заказа 1. Поскольку его координаты совпадают со складом, в ответе API штраф за несоблюдение условий посещения отображается в поле result.metrics._tasks_summary.metrics.total_depot_penalty и рассчитывается по формуле:
points_throughputs.0.penalty.throughput.fixed + result.metrics._tasks_summary.metrics.depot_throughput_violation_vehicles * points_throughputs.0.penalty.throughput.vehicle = 10 000 + 1/2 * 10 000 = 15 000, где:
-
result.metrics._tasks_summary.metrics.depot_throughput_violation_vehicles— доля времени, в течение которого курьеры, которые нарушают условия посещения, одновременно находятся на складе.В этом примере Время обслуживания в начале рейса на листе Depot (depot.service_duration_s в запросе API) составило 1800 секунд. Курьеры начали маршруты со склада и одновременно находились на нем 1800 секунд (30 минут). Доля времени
result.metrics._tasks_summary.metrics.depot_throughput_violation_vehiclesсоставила половину часа или 1/2.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 5
Те же условия, что в примере 3, но:
-
курьеры начинают маршруты с заказа 1 с типом
garage; -
на листе Options для него заданы:
-
ограничение пропускной способности —
points_throughputs.0.throughput.vehicle_count= 1; -
штрафы за несоблюдение условий посещения:
points_throughputs.0.penalty.throughput.fixed= 10 000;points_throughputs.0.penalty.throughput.vehicle= 10 000.
-
В результате планирования для заказа 1 нарушается ограничение пропускной способности. В ответе API штраф за несоблюдение условий посещения отображается в поле result.metrics._tasks_summary.metrics.total_depot_penalty и рассчитывается по такой же формуле, что и в примере 4.
На листе Orders время обслуживания на заказ 1 service_duration_s (locations.service_duration_s в запросе API) составило 1800 секунд. Курьеры начали маршруты с заказа 1 и одновременно находились на его адресе 1800 секунд (30 минут). Доля времени result.metrics._tasks_summary.metrics.depot_throughput_violation_vehicles составила половину часа или 1/2.
Тогда result.metrics._tasks_summary.metrics.total_depot_penalty = 10 000 + 1/2 * 10 000 = 15 000.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте