I experienced an unexpected behavior when using time windows. The objective is set to MIN COMPLETION_TIME. My problem is, that the service always starts at the earliest time possible, even if that results in waiting time at the next service (and hence the overall time needed increases).
Service A: time window 8am - 9am, duration 15min
Service B: time window 9:30am - 10am
Let’s say the drive in between takes 1 hour
Then the vehicle is supposed to start the service A at 8am, from 8:15 - 9:15 it drives to B and then has to wait until 9:30am to start service B. If the vehicle would have started 15mins later, no waiting time would be necessary.
Another unwanted problem is, that the vehicle always starts at the earliest start time (for example midnight) and then has to wait at the first service (in this example until 8am at A).
Are these two problems correlated? (Because if the vehicle has to wait anyways, it doesn’t matter, if it does so before the first or second service and the overall time needed cannot be reduced)
Did I misunderstand the functionality of the algorithm or do I have to use it differently? Is there any way to minimize the necessary waiting time?
Another question, I have come across is the behavior regarding the different objectives. I discovered, that the result is exactly the same, no matter, whether I set the objective to Min Completion_Time or to Min Vehicle and Min Completion_Time (as second objective). When does the algorithm decide, whether it is better to use one vehicle more or less? How is the assessment done?