Пропорциональный штраф за невыполнение заказа
Параметр weighted_drop_penalty
полезно использовать в ситуации, когда:
-
в списке заказов есть один или несколько больших грузов и много маленьких;
-
в списке доступных к использованию много разнотоннажных автомобилей;
-
большие грузы помещаются по условиям вместимости только в некоторые автомобили из списка доступных;
-
загрузка транспортных средств высокая.
При таких условиях алгоритм может не включить большой груз ни в один маршрут, и заказ в итоге останется невыполненным. Это обусловлено особенностью, при которой для большого заказа есть совсем небольшое количество вариантов маршрутизации, а для маленьких — вариантов очень много.
Параметр weighted_drop_penalty
в значении true
устанавливает штрафы за невыполнение заказа пропорциальными весу и объему груза. В этом случае алгоритм будет в первую очередь стремиться распределить большие заказы.
При weighted_drop_penalty
= true
штрафы за невыполнение заказа, указанные в задаче планирования, не учитываются.
Пример 1
Для двух курьеров запланировано 29 заказов, один из них весом 400 кг. Общий вес заказов — 1800 кг. Один автомобиль вмещает 700 кг, второй — 1000 кг. Параметр weighted_drop_penalty
в значении false
.
Грузоподъемности двух автомобилей не хватит для выполнения всех заказов. Поскольку алгоритм вероятностный, в результате большой заказ остался нераспределенным.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
То же, что и в примере 1, но weighted_drop_penalty
= true
. В результате большой заказ будет выполнен, но два маленьких заказа останутся нераспределенными.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте