---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.kz/routing/doc/en/vrp/options-empty-run-before-full.md
  - https://yandex.kz/routing/doc/kk/vrp/options-empty-run-before-full.md
  - https://yandex.kz/routing/doc/ru/vrp/options-empty-run-before-full.md
  - href: kk/vrp/options-empty-run-before-full.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/kk/llms.txt


# Штраф за недогруженные рейсы {#empty-run-before-full}

Чтобы курьеры выполняли сначала рейсы с максимальной загрузкой, используйте штраф `options.penalty.empty_run_before_full.scaled`. Он начисляется за каждый рейс с меньшей загрузкой, который был выполнен раньше чем рейс с большей загрузкой, если рейсы выполнил один курьер. 

Штраф рассчитывается следующим образом: для каждого рейса считается максимальная утилизация (число от 0 до 1) и максимальная утилизация последующих рейсов. Разница этих утилизаций умножается на размер штрафа. 

Например, в маршруте 3 рейса. В первом рейсе курьер доставил 10 единиц груза, во втором — 15, в третьем — 20. Вместимость автомобиля — 25 единиц. Максимальная утилизация достигается в третьем рейсе — 20 единиц. По первому и второму рейсам начислен штраф:

[(20-10)/25 + (20-15)/25] * `options.penalty.empty_run_before_full.scaled`

Если тот же курьер доставляет в первом рейсе 20 единиц груза, во втором — 10, в третьем — 15, будет начислен штраф только по второму рейсу:

(15-10)/25 * `options.penalty.empty_run_before_full.scaled`

**Пример 1**

Курьер делает 3 рейса, в первом доставляет заказы с временными окнами до 12 часов, во втором и третьем рейсах — с временными окнами после 13 часов. Стоимость курьера зависит от времени ожидания на маршруте, поэтому после доставки ранних заказов курьер возвращается на склад. 

Вместимость автомобиля — 25 единиц. В первом рейсе курьер доставляет 12 единиц груза, во втором — 16, в третьем — 20.

[Запрос API (JSON)](https://courier.yandex.ru/vrs/api/v1/log/request/bd739d8b-a6acf000-55cf6fe-cb2d675f) ⋅ [Ответ API](https://courier.yandex.ru/vrs/api/v1/result/bd739d8b-a6acf000-55cf6fe-cb2d675f) ⋅ [Открыть на карте](https://yandex.ru/courier/mvrp-map#bd739d8b-a6acf000-55cf6fe-cb2d675f)

**Пример 2**

То же, что в примере 1, но определен штраф `options.penalty.empty_run_before_full.scaled` = 10 000. В первом рейсе курьер по-прежнему доставляет ранние заказы — 12 единиц груза. Но во втором и третем рейсе курьер теперь доставляет по 18 единиц груза. Штраф `empty_run_before_full_penalty` рассчитан только для первого рейса: 

(18-12) / 25 * 10000 = 2400

[Запрос API (JSON)](https://courier.yandex.ru/vrs/api/v1/log/request/f8922c61-acd70bc6-a6772be8-6ee0fd35) ⋅ [Ответ API](https://courier.yandex.ru/vrs/api/v1/result/f8922c61-acd70bc6-a6772be8-6ee0fd35) ⋅ [Открыть на карте](https://yandex.ru/courier/mvrp-map#f8922c61-acd70bc6-a6772be8-6ee0fd35)

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




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



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