Page 1 of 1

Balancing the order capacities (xTour2)

Posted: Tue Sep 22, 2020 2:24 pm
by Bernd Welter
Cheers,

these days I received the following challenge from a player who deals with xTour2.
I have another question. We are interested in the equal distribution of orders (due to the weight) between vehicles. For example, we have 2 cars and 5 points to visit. In response to our request, we get one route visiting 4 of them (12xx kg) and one going only to one point (5xx kg). We would like the weight of both routes to be as similar as possible. What should I control to achieve this goal? I am enclosing an example of a question and answer. Thank you in advance for your answer.
The requirement reminds me of the BalancingParams that would be available in xTour 1 but the question is: how to apply this in xTour2? Well: I could imagine to proceed as follows - at least if some boundary conditions are fulfilled:
  • Imagine a homogeneous fleet based on N vehicles (example N=2)
  • Now let's define a relative value for the maximum difference between the smalles and the largest vehicles workload (in quantities), e.g. THRESHOLD=20% = 0.2
  • Furthermore the total quantity of all orders together is "QUANTITY" (in the example: 1800kg)
Now what if we define a single vehicle's quantity as (QUANTITY / N) * (1+THRESHOLD).

In my customers example this would mean: Vehicle[0].Capa = Vehicle[1].Capa = (1800kg/2) * 1.2 = 1080kg.
Depending on the granularity of the 5 orders this could try to balance the assigned orders but be aware that
- this is now a hard coinstraint which coould lead to unscheduled orders
- pushing the balance usually damages the distance/time...
- you could apply an iterative approach, too: start with THRESHOLD = 40% - if you don't like the result: reduce it... if it is balanced but orders remain unscheduled: increase the capacities...

How would you rate this approach?

Best regards,
Bernd

PS: You could also look into this xCluster based approach