The route optimizer is capable of managing different types of constraints.
List of constraints
Defining constraints allows the optimizer to more realistically simulate reality. The more precise we are in the definition of those restrictions that are a limitation in the operation, it will allow us to obtain results closer to the optimum that is easily applicable in reality.
Why do we say "restrictions that are limiting reality"?
Very simple, the more complexity we add to the optimizer, the more difficult we make it to find the best solution. If, for example, capacity is not a limitation because vehicles are rarely filled, our recommendation is not to include that parameter.
What are the implications of the restrictions?
A restriction is a strict limitation. It is very easy to understand with an example. If a route has 100 Kg of capacity and has assigned services that add up to 99 Kg of cargo in total, it means that the route is at 99% of its capacity. If there was only 1 pending service to be assigned, and it required a capacity of 2Kg, the optimizer would not assign it since that would mean exceeding the 100Kg maximum load of the route.
The reasoning is, for 1 Kg will you leave a service unassigned? The answer is yes. There are several solutions:
Increase the capacity of the routes with the maximum limit that we can assume.
Manual assignment of pending services. The system will notify us that we are exceeding the allowed capacity of the route.
This can occur both with capacity restrictions as well as a temporary or maximum number of assigned services.
The system will notify us that there is a service with a capacity greater than all the capacities of the current routes of a plan. This has lead us to think that either the capacity assigned to the service is wrong, or the capacity of the routes is not correct. In the latter case, there is simply no way for the optimizer to assign this service to a route, having to be forcibly assigned by the user.
Time windows alert
The system can notify us of various time alerts.
This occurs when the services assigned to a route exceed the hourly window of time for a route. This is always due to a manual change of the schedule as the optimizer constraints are rigid.
This occurs when, because a route has been manually modified, the estimated time of arrival and/or the time of completion of the service is outside the time window of the service.