---
metadata:
  - name: generator
    content: Diplodoc Platform v5.64.0
alternate:
  - https://yandex.ru/routing/doc/en/vrp/options-unused-depots.md
  - https://yandex.ru/routing/doc/kk/vrp/options-unused-depots.md
  - https://yandex.ru/routing/doc/ru/vrp/options-unused-depots.md
  - href: https://yandex.ru/routing/doc/kk/vrp/options-unused-depots.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/routing/doc/kk/llms.txt?revision=r21872121
    rel: describedby
title: Яндекс Маршрутизация — атрибуты и опции — штраф за неиспользуемые склады
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/routing/doc/kk/llms.txt?revision=r21872121


# Штраф за неиспользуемые склады

В задаче на планирование могут быть перечислены все склады, которые используются в компании. При этом для погрузки и выгрузки заказов нужны не все склады. Чтобы алгоритм не планировал лишние посещения складов, на которых не нужно загружать и выгружать заказы, используйте штраф `options.penalty.unused_depot`. 

У штрафа есть три составляющих:

- `starting` — штраф за каждый неиспользуемый начальный склад. По умолчанию 0.

- `middle` — штраф за каждый неиспользуемый промежуточный склад. По умолчанию 10000. 

- `ending` — штраф за каждый неиспользуемый конечный склад. По умолчанию 0.

{% note info %}

Если курьер в конце рейса должен вернуться на склад (`return_to_depot` = `true`), но на складе он не выгрузит ни одного заказа, будет начислен штраф `penalty.unused_depot.ending`. Чтобы избежать таких штрафов, разрешите курьеру не возвращаться на склад в конце рейса.

{% endnote %}

Если штраф используется в задаче, в ответе можно посмотреть следующие метрики:

- `total_unused_depot_penalty` — общий штраф за неиспользуемые склады всех видов;

- `total_unused_starting_depot_count` — количество неиспользуемых начальных складов;

- `total_unused_middle_depot_count` — количество неиспользуемых промежуточных складов;

- `total_unused_ending_depot_count` — количество неиспользуемых конечных складов.

**Пример**

Два курьера выполняют 40 заказов. В задаче указаны пять складов, но заказы можно загрузить только на четырех. Курьеры не должны начинать маршруты на складе (`visit_depot_at_start` = `false`), но должны возвращаться на склад в конце рейса (`return_to_depot` = `true`). Разрешено  дозагружаться на промежуточных складах (`allow_different_depots_in_route` = `true`). За посещения складов без загрузки и выгрузки установлен штраф `penalty.unused_depot`, у которого каждая составляющая равна 20 000. 

В решении один курьер стартует со склада и загружает заказы, а другой стартует не со склада и сначала собирает pickup-заказы. Оба курьера доставляют заказы и в конце рейсов возвращаются на склад, где не выгружают ни одного заказа. В результате начисляется двойной штраф `penalty.unused_depot.ending`, это отображается в метриках `total_unused_ending_depot_count` = 2 и `total_unused_depot_penalty` = 40 000.

[Пример Excel](https://doc-static.yandex.net/src/dev/routing/doc-examples/unused-depots-penalty.xlsx) ⋅ [Запрос API (JSON)](https://courier.yandex.ru/vrs/api/v1/log/request/a747ec41-2da99662-4ebf489b-985bdb59) ⋅ [Ответ API](https://courier.yandex.ru/vrs/api/v1/result/a747ec41-2da99662-4ebf489b-985bdb59) ⋅  [Открыть на карте](https://courier.yandex.ru/mvrp-map#a747ec41-2da99662-4ebf489b-985bdb59)

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




<!-- {% include [neuroexpert](../_includes/neuroexpert.md) %} -->
<!-- endsource: kk/vrp/_includes/feedback.md -->
