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

This example has 30 orders, including one weighing 4950 kg. The total weight of all the orders is 6400 kg. There are two vehicles with a carrying capacity of 700 kg and one vehicle with a carrying capacity of 5000 kg. weighted_drop_penalty is set to false.

Since the algorithm is probabilistic, a large order sometimes remains unallocated.

API request (JSON)API responseView on map

Example 2

The same as in example 1, but weighted_drop_penalty = true.

As a result, all orders will be allocated whenever the algorithm is launched.

API request (JSON)API responseView on map

Contact support