eLogii allows users to have a flexible way of optimizing Tasks. This means that users can have full control over which Tasks get optimized and which Drivers need to be included in that optimization.
There are three possible approaches to custom optimization:
Optimize selected Tasks
You can select specific Tasks to optimize and let eLogii assign them to any of the available Drivers that meet the criteria to execute the Tasks.
This can be particularly useful in case you wish to optimize Tasks that contain a particular skill before you optimize all other Tasks. You could filter your Tasks based on a particular skill, select them, and click the Optimize button to assign them to the Drivers that have the skill to execute the Task. The same logic can be applied to any filterable criteria in eLogii (such as Depots, time windows, custom data, and more).
Optimize for selected Drivers
In case you wish to include only some Drivers in the optimization without having to disable them, and then re-include them, you can simply select the Drivers you wish to be included in the optimization and click the Optimize button.
If there are Tasks that the engine cannot place into any of the selected Drivers' routes, those Tasks will have an Unviable status. Most of the time, the reason why these Tasks would be unviable is either because there weren't enough Drivers to complete all the Tasks or the time windows could not be respected with the given number of Drivers eLogii can work with. In case you use skills and capabilities in your operations, Tasks might not be delegated to all selected Drivers because there aren't enough Drivers who have the skills and capabilities required to complete all Tasks.
Optimize selected Tasks for selected Drivers
eLogii also allows you to combine specific Task selection with specific Driver selection and create routes based on that. Simply select the Tasks you wish to optimize on the left-hand side of the screen, then select the Drivers you wish to include in the optimization on the right-hand side of the screen, and lastly click Optimize to assign the selected Tasks to the selected Drivers.
As is the case with the Optimizing for selected Drivers scenario, if too many Tasks are selected for the selected Drivers to complete (or if there are not enough selected Drivers with the right skills/capabilities to complete the selected Tasks), some Tasks may be Unviable as a result.
Optimizing for selected Drivers on the Advanced and Base engine
Regardless of whether you're optimizing all Tasks for selected Drivers, or optimizing selected Tasks for selected Drivers, there will be differences in how the Advanced and the Base engine process the information. The Base engine will always have the same approach to route creation, while how the Advanced engine approaches route creation will highly depend on the Load balancing modes as well as other Advanced engine-exclusive optimization features.
If you're using the Base engine for optimization, and you select multiple Drivers to be included in the optimization, if eLogii determines that it needs fewer Drivers to execute all Tasks than initially selected, it may not include all the selected Drivers in the optimization. This is because the Base engine by default aims to use as few resources as possible to complete as many Tasks as possible while creating the most efficient routes and honoring all set constraints.
In case you're using the Advanced engine for optimization, and for example, you wish to include all selected Drivers and distribute the Tasks equally, this can be achieved by selecting the Use all resources / finish as soon as possible as the Load Balancing mode of choice. By selecting this option, all the selected Drivers will be utilized in the optimization, and Tasks will be assigned based on the selected parameter (number of jobs, load, time, or distance).
Route behavior between optimizations
Once you select Drivers to optimize for, and then deselect them and select a new batch of Drivers to assign Tasks to, there is no need to lock the previously optimized routes, as optimization will only consider the selected Drivers and ignore all others, regardless of whether they have a route or not. If you wish for Drivers with existing routes to be included in a new optimization, they would need to be selected along with other Drivers for the optimization. This may cause their routes to be reoptimized.
In case you optimize selected Tasks for all Drivers, you would need to lock the routes of Drivers whose routes you don't want any new Tasks added to. If their routes are not locked, new Tasks might be added, and the order od Tasks in their route may change,