---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.kz/routing/doc/en/vrp/custom-value-limitations.md
  - https://yandex.kz/routing/doc/kk/vrp/custom-value-limitations.md
  - https://yandex.kz/routing/doc/ru/vrp/custom-value-limitations.md
  - href: ru/vrp/custom-value-limitations.md
    type: text/markdown
    title: Markdown version
  - href: llms.txt
    type: text/markdown
    title: llms.txt
title: Яндекс Маршрутизация — атрибуты и опции — ограничение использования определенных автомобилей
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.kz/routing/doc/ru/llms.txt


# Ограничение использования определенных автомобилей

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

Чтобы реализовать сценарий, в [запросе API](https://yandex.ru/routing/doc/ru/vrp/redoc/index.html#operation/addsATask):

* для всех автомобилей, которые готовы к использованию, в массиве `vehicles` укажите дополнительное числовое поле `vehicles.N.custom_value` со значением 1 (по умолчанию — 0). Если `custom_value` = 1, то автомобиль с курьером готов к работе; 

* для остальных автомобилей не указывайте `custom_value` вообще или укажите `custom_value` = 0;

* в объекте `options` задайте значения следующих полей: 

    * `max_total_vehicles_custom_value` — максимальное количество доступных курьеров;
    * `penalty.vehicles_custom_values_excess` — штраф за превышение значения `max_total_vehicles_custom_value`, где:

        * `penalty.vehicles_custom_values_excess.fixed` — штраф за факт нарушения;
        * `penalty.vehicles_custom_values_excess.per_value` — за каждую единицу нарушения.
        
Штраф за нарушение ограничения отразится в ответе API в поле `result.metrics._tasks_summary.options.metrics.vehicles_custom_value_excess_penalty`.         

**Пример 1**

Нужно выполнить 100 заказов. В автопарке 4 автомобиля:

* 1-2 — арендованные;
* 3-4 — относятся к собственному автопарку. 

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

В результате все заказы равномерно распределяются между курьерами. Штраф за превышение значения `options.max_total_vehicles_custom_value` не начисляется. 

[Пример Excel](https://doc-static.yandex.net/src/dev/routing/doc-examples/custom-value-limitations-1.xlsx) ⋅ [Запрос API (JSON)](https://courier.yandex.ru/vrs/api/v1/log/request/d2f80852-9fde93af-30984591-d75ba1e3) ⋅ [Ответ API](https://courier.yandex.ru/vrs/api/v1/result/d2f80852-9fde93af-30984591-d75ba1e3) ⋅ [Открыть на карте](https://courier.yandex.ru/mvrp-map#d2f80852-9fde93af-30984591-d75ba1e3)

**Пример 2**

Те же условия, что в примере 1, но из собственного автопарка может использоваться только один автомобиль. Поэтому для автомобилей 3 и 4 параметр `vehicles.N.custom_value` = 1. Для арендованных автомобилей он не задан.

Кроме того:

* в `options.max_total_vehicles_custom_value` указано значение 1. Значит, выполнять заказы могут все курьеры на арендованных автомобилях и один курьер на автомобиле из собственного автопарка;
* назначены штрафы за факт и каждую единицу превышения значения `options.max_total_vehicles_custom_value`:

    * `options.penalty.vehicles_custom_values_excess.fixed` = 10 000 000
    * `options.penalty.vehicles_custom_values_excess.per_value` = 100 000 000.

В результате алгоритм планирования распределяет заказы на курьеров 1, 2 и 4, что приводит к нарушениям временных окон. Поскольку используется только один автомобиль из собственного автопарка, штраф за превышение значения `options.max_total_vehicles_custom_value` не начисляется.

[Запрос API (JSON)](https://courier.yandex.ru/vrs/api/v1/log/request/6ed6f108-254a0cf4-ab82dad8-56a515fa) ⋅ [Ответ API](https://courier.yandex.ru/vrs/api/v1/result/6ed6f108-254a0cf4-ab82dad8-56a515fa) ⋅ [Открыть на карте](https://courier.yandex.ru/mvrp-map#6ed6f108-254a0cf4-ab82dad8-56a515fa)

<!-- source: ru/vrp/_includes/feedback.md -->
<a href="feedback">
  <span class="button">Написать в службу поддержки</span>
</a>




<!-- source: ru/_includes/neuroexpert.md -->



<!-- endsource: ru/_includes/neuroexpert.md -->
<!-- endsource: ru/vrp/_includes/feedback.md -->
