How to analyse unscheduled orders?

Questions refering to the Optiflow based API within PTV Developer (launched on 20.12.2023)
Post Reply
User avatar
Bernd Welter
Site Admin
Posts: 2891
Joined: Mon Apr 14, 2014 10:28 am
Contact:

How to analyse unscheduled orders?

Post by Bernd Welter »

Hi there,

sometimes dispatchers want to know why a certain order hasn't been scheduled. Let me explain how to approach this in Optiflow API.
Let me first define three categories of orders at the end of a given planning - just my personal approach:
Unscheduled.png
  • Category GREEN: an order has successfully been assigned to a vehicle
  • Category RED: an order is not assigned and there's an individual reason why such an order remains unscheduled, e.g. because
    • none of the vehicles has sufficient quantities
    • no driver is available at the time the order's tasks have to be served
    • no vehicle has the required equipment
    and to make it more complex: no vehicle is available that serves all the required constraints at the same time
  • Category YELLOW: a yellow order is not part of the output plan but the algorithm
    • either did not manage to schedule the order in the plan's the algorithm has evaluated (at least not yet!)
    • or the algorithm decided to sacrifice the order for the sake of another order (always cost driven)
    Chart shows the evolution of the categories in a 2 minute planning (gathered the status every 6-10 seconds): RED contribution is stable. RED/GREEN changes with the time: more and more yellow is getting transformed into green. (sideinfo: the difference between solid and transparent is: solid means a change in the KPI)
    Chart shows the evolution of the categories in a 2 minute planning (gathered the status every 6-10 seconds): RED contribution is stable. RED/GREEN changes with the time: more and more yellow is getting transformed into green. (sideinfo: the difference between solid and transparent is: solid means a change in the KPI)
    Unscheduled3.png (4.11 KiB) Viewed 2153 times
So what can you derive from this?
  • Giving the algorithm more duration in the settings will definetly not convert a red order into a green/yellow one.
  • But there's a chance that increasing the duration / waiting longer will manage to transform a yellow into a green.
How to detect category...
  • RED: if an order appears in the warnings with ROUTE_OPTIMIZATION_NO_VEHICLE_FOR_ORDER this means he is RED.
    Unscheduled2.png
    BUT: at least today this is not an equivalence: it might happen that from a logical perspective should be seen as RED but the warnings do not report the order as RED.
  • GREEN: well, it appears in the output tours ...
  • YELLOW: appears in the input but is neither GREEN nor RED ;-)
    But you can also determine the "number of yellow" by checking the metric's "numberOfUnscheduledOrder" (=yellow+red) and subtract the red one's (based on the proper warnings)
    But you can also determine the "number of yellow" by checking the metric's "numberOfUnscheduledOrder" (=yellow+red) and subtract the red one's (based on the proper warnings)
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
User avatar
Bernd Welter
Site Admin
Posts: 2891
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: How to analyse unscheduled orders?

Post by Bernd Welter »

Just a sidenote / an impulse:
consider to create a client based set of methods that enable your application to identify unplannable orders - this can already take place outside a request, though the profound tests will also be performed inside the optimization routine:
:?: Is there at least one vehicle that
  • has all the required equipment for the order (based on categories and constraints)
  • AND has sufficient quantities for the order (based on load / maximumLoad)
  • AND that is available at the time that the order needs to be served? (based on timeslots)
If not all these lightweight conditions apply such an order can be removed from the input. And once these orders have been purged you could also removce locations (not depots!) that are no longer referenced by at least one order.
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
Post Reply