Proportional penalty for not delivering an order
The weighted_drop_penalty
parameter is useful in situations when:
-
The list of orders contains one or more large and many small packages.
-
The available list has many different-sized vehicles.
-
Based on capacity constraints, the larger loads only fit some of the vehicles on the available list.
-
Vehicle load capacity is high.
Under such circumstances, the algorithm may exclude a large load from all routes, and as a result, the order will never be completed. This is because large orders have few of routing options, and small ones have many.
The weighted_drop_penalty
parameter, when set to true
, creates penalties for not delivering an order that are proportional to the load weight and volume. This causes the algorithm to try to allocate large orders first.
When weighted_drop_penalty
= true
, the penalties for not delivering an order specified in its planning task do not apply.
Example 1
29 orders have been assigned to two couriers. One of the orders weighs 400 kg. The total weight of the orders is 1800 kg. One vehicle can carry up to 700 kg, and the other up to 1000 kg. weighted_drop_penalty
is set to false
.
Together, the two vehicles don’t have enough load capacity to deliver all the orders. Because the algorithm is probabilistic, the large order ends up unassigned.
API request (JSON) ⋅ API response ⋅ View on map
Example 2
The same as in example 1, but weighted_drop_penalty
= true
. As a result, the large order gets delivered, but two smaller orders remain unassigned.
API request (JSON) ⋅ API response ⋅ View on map