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:
- 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
- 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)
- 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.
- RED: if an order appears in the warnings with ROUTE_OPTIMIZATION_NO_VEHICLE_FOR_ORDER this means he is RED. 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