1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

add a way to use fast regret with custom contraints

This commit is contained in:
oblonski 2016-07-13 14:07:23 +02:00
parent 4889876d28
commit 070aef735f
2 changed files with 2 additions and 4 deletions

View file

@ -29,7 +29,6 @@ import org.slf4j.LoggerFactory;
import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
/**
* Insertion based on regret approach.
@ -174,7 +173,6 @@ public class RegretInsertionConcurrentFast extends AbstractInsertionStrategy {
if(priorityQueues[unassignedJob.getIndex()] == null){
priorityQueues[unassignedJob.getIndex()] = new TreeSet<VersionedInsertionData>(InsertionDataUpdater.getComparator());
}
final TreeSet<VersionedInsertionData> priorityQueue = priorityQueues[unassignedJob.getIndex()];
if(firstRun) {
makeCallables(tasks, true, priorityQueues[unassignedJob.getIndex()], updateRound, unassignedJob, routes, lastModified);
updatedAllRoutes = true;
@ -201,7 +199,7 @@ public class RegretInsertionConcurrentFast extends AbstractInsertionStrategy {
updates.put(lastModified,updateRound);
}
try {
List<Future<Boolean>> futures = executor.invokeAll(tasks);
executor.invokeAll(tasks);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new RuntimeException(e);

View file

@ -175,7 +175,7 @@ public class RegretInsertionFast extends AbstractInsertionStrategy {
else{
if(dependencyTypes == null || dependencyTypes[unassignedJob.getIndex()] == null){
InsertionDataUpdater.update(switchAllowed, initialVehicleIds, fleetManager, insertionCostsCalculator, priorityQueues[unassignedJob.getIndex()], updateRound, unassignedJob, Arrays.asList(lastModified));
for(VehicleRoute r : routes) updates.put(r,updateRound);
updates.put(lastModified,updateRound);
}
else {
DependencyType dependencyType = dependencyTypes[unassignedJob.getIndex()];