Page 1 of 1

Planning with priorities

Posted: Wed Nov 22, 2017 4:53 pm
by Bernd Welter
Hi there,

today I was asked by a customer why his result of a tour planning call looked like this (size of the Ball indicates PRIO):
His question was "why do you sacrifice high prio against low prio?"
One medium prio order in the south remains unscheduled though there's an order with lower priority (south west of the depot) which is scheduled. The reason for this is a lack of time. Even without the low prio orders it wouldn't be possible to serve the medium prio order: it would require a detour that would crash the time scheme.
One medium prio order in the south remains unscheduled though there's an order with lower priority (south west of the depot) which is scheduled. The reason for this is a lack of time. Even without the low prio orders it wouldn't be possible to serve the medium prio order: it would require a detour that would crash the time scheme.
In this example I gave the vehicle some more time so it was possible to perform the detour. The medium prio order is schedulde and both low prio order are sacrificed.
In this example I gave the vehicle some more time so it was possible to perform the detour. The medium prio order is schedulde and both low prio order are sacrificed.
now with even more time being operational almost all the orders are scheduled, even the smallest one.
now with even more time being operational almost all the orders are scheduled, even the smallest one.
On a more generic perspective: internally we use hierarchical planning, i.e.
  • first we schedule prio 9 orders - but it could happen that some of them couldn't be planned. Then we sort them out
  • then we try to add the prio 8 orders to the temporary solution. Once again those who were not scheduled are sorted.
  • then we try to add the prio 7 ...
  • finally we try to add the prio 0 (and those without prio)
priorities are properties of the AbstractTransportOrder class
priorities are properties of the AbstractTransportOrder class
So that's it - no magic, no error, not a bad sacrifice - just needs an explanation sometimes.

Best regards,
Bernd