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
for (unsigned s_v = 0; s_v < _nb_vehicles; ++s_v) {
if (best_priorities[s_v] > best_priority) {
best_priority = best_priorities[s_v];
best_gain = best_gains[s_v][s_v];
best_source = s_v;
best_target = s_v;
}
}
The problem here is that there is no account for gain (or solution deterioration), so if multiple moves yield the same priority score gain, the first one will be picked, possibly shadowing another that is better in term of cost.
Also we used to only have UnassignedExchange being able to change the priority score, leaving the number of assigned tasks identical. Now PriorityReplace is able to both improve priority score while deteriorating the number of assigned tasks. We should also be able to pick the least task removal for equal priority score improvements.
The text was updated successfully, but these errors were encountered:
When picking the best option in local search, we first lookup moves that improve priority score:
vroom/src/algorithms/local_search/local_search.cpp
Lines 1815 to 1822 in 405ccd1
The problem here is that there is no account for gain (or solution deterioration), so if multiple moves yield the same priority score gain, the first one will be picked, possibly shadowing another that is better in term of cost.
Also we used to only have
UnassignedExchange
being able to change the priority score, leaving the number of assigned tasks identical. NowPriorityReplace
is able to both improve priority score while deteriorating the number of assigned tasks. We should also be able to pick the least task removal for equal priority score improvements.The text was updated successfully, but these errors were encountered: