Transport priority planning is a feature for users to specify strong preferences which transport should be planned if not all transports can be served by the vehicle in a single route.
By providing transport priorities the user can specify which transports are more important to plan than others. Possible scenarios that can be modeled by transport priorities:
- Premium transports
Premium transports must be served as fast as possible and get a higher priority than non-premium transports. Therefore, premium transports are more likely to be served in the current planning.
- Continuous daily planning
In a continuous daily planning, it may happen that every transport must be served within 4 days upon receipt. When planning for the next day, transports which were not yet served in the last 3 days must be served the next day. Those transports get the highest priority. The next priority is given to transports which must be served in the next 2 days and so on.
How to use transport priorities
- If the global field considerTransportPriorities is set, the transport priorities will be considered in an optimization. In this case the priorities will always be considered even if a lot of lower prioritized transports could be planned by removing one higher prioritized transport from the route.
- If the global field is set, each transport must have a priority set, otherwise an exception is thrown. 0 is the lowest priority, 9 the highest.
- The transport priorities will only have an impact on the result if multiple distinct priorities are used.
The example contains 4 transports:
- Transport 1 is the least important transport with priority 0
- Transport 2 and transport 3 have priority 1
- Transport 4 is the most important transport with priority 2
In this example, you can either plan transport 4 or transport 2 and transport 3.
A proper result of an optimization without considering transport priorities would be to plan transport 1-3 in the route and to leave transport 4 unplanned.
However, transport 4 is the most important transport, the result of an optimization with field considerTransportPriorities to considering transport priorities would be to plan transport 1 and transport 4 in the route and to leave transport 2 and transport 3 unplanned.
Note: Priority planning can increase the number of unplanned transports in order to plan higher prioritized transports.
Generally the computational effort is higher when using transport priorities, since the flow of the algorithm is different. Therefore we name this algorithm priority planning.
The priority planning will first check whether every transport can be planned without considering transport priorities. If this is the case, the calculation will not take longer. However if there are some unplanned transports, the solution is found iteratively and this will take more computation time than planning without transport priorities.
Transports in the input route always remain planned after automatic planning. I.e., if a high prioritized transport can only be planned by removing a low prioritized transport of the input route, this high prioritized transport will remain unplanned. If you want to avoid this, first delete some low prioritized transports from the input route.
Note: There are no violations concerning transport priorities and an input route may contain less prioritized transports even though higher prioritized transports are unplanned.