Пропускная способность точки

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

Важно

Для корректного учета ограничений и штрафов не рекомендуем задавать их одновременно для заказов и складов.

  1. На листе Options в полях points_throughputs.N.point.lat (options.points_throughputs.point.lat в API) и points_throughputs.N.point.lon (options.points_throughputs.point.lon) укажите координаты заказа, пропускную способность которого нужно ограничить.

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

  2. Определите тип и величину ограничения с помощью одного из параметров:

    • 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) — в автомобилях/час.

    Примечание

    Для каждого заказа можно задать только одно ограничение.

  3. Задайте величину штрафов за несоблюдение условий посещения 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Открыть на карте

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