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