You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently when a partial solution is provided in input (using vehicles.steps) in solving mode, then we bypass all the heuristic process altogether to initialize the solution with the manual one, if valid. Then as usual it is up to the local search process to try improving that initial solution and put in as much as possible of the jobs unassigned so far.
In particular, this means that instead of doing several parallelized local search, we only apply the local search to that one solution.
This is not ideal in the situation where the provided solution is quite partial, say with only a fraction of initial jobs assigned. The way missing jobs are further assigned by the local search narrows down to a single search path and we miss the diversity of exploration offered by applying multiple heuristic tunings to get multiple initial solutions as we usually do.
set the manual solution as a common starting point;
apply all heuristics tunings as usual (meaning we fill up the common initial solution in different ways);
run all local searches on the various resulting initial solutions as usual.
If the partial solution is nearly full, we may end up with almost all initial solutions being identical, but that would not be a problem since we now filter out identical initial solutions before firing the local searches (see #750 and linked stuff).
The text was updated successfully, but these errors were encountered:
This gets worse when a very simple and very partial solution is submitted, e.g. just a few vehicles with a single job. In the case where not a single local search move is applied, there is no opportunity to run try_job_additions so the local search does not do any further route filling. In particular in this situation we leave available vehicles unused while trivially doable jobs exist for them.
Currently when a partial solution is provided in input (using
vehicles.steps
) in solving mode, then we bypass all the heuristic process altogether to initialize the solution with the manual one, if valid. Then as usual it is up to the local search process to try improving that initial solution and put in as much as possible of the jobs unassigned so far.In particular, this means that instead of doing several parallelized local search, we only apply the local search to that one solution.
This is not ideal in the situation where the provided solution is quite partial, say with only a fraction of initial jobs assigned. The way missing jobs are further assigned by the local search narrows down to a single search path and we miss the diversity of exploration offered by applying multiple heuristic tunings to get multiple initial solutions as we usually do.
Now that we have #837, we could instead:
If the partial solution is nearly full, we may end up with almost all initial solutions being identical, but that would not be a problem since we now filter out identical initial solutions before firing the local searches (see #750 and linked stuff).
The text was updated successfully, but these errors were encountered: