diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/InsertionDataUpdater.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/InsertionDataUpdater.java index 8d019e2c..c065084d 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/InsertionDataUpdater.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/InsertionDataUpdater.java @@ -62,12 +62,9 @@ class InsertionDataUpdater { } static Comparator getComparator(){ - return new Comparator() { - @Override - public int compare(VersionedInsertionData o1, VersionedInsertionData o2) { - if(o1.getiData().getInsertionCost() < o2.getiData().getInsertionCost()) return -1; - return 1; - } + return (o1, o2) -> { + if (o1.getiData().getInsertionCost() < o2.getiData().getInsertionCost()) return -1; + return 1; }; } @@ -161,7 +158,7 @@ class InsertionDataUpdater { return bestScoredJob; } - static double score(Job unassignedJob, InsertionData best, InsertionData secondBest, ScoringFunction scoringFunction) { + private static double score(Job unassignedJob, InsertionData best, InsertionData secondBest, ScoringFunction scoringFunction) { return Scorer.score(unassignedJob,best,secondBest,scoringFunction); } diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionConcurrent.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionConcurrent.java index b71ac5ab..e4d03376 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionConcurrent.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionConcurrent.java @@ -29,7 +29,10 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; -import java.util.concurrent.*; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorCompletionService; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; /** * Insertion based on regret approach. @@ -68,7 +71,7 @@ public class RegretInsertionConcurrent extends AbstractInsertionStrategy { this.scoringFunction = new DefaultScorer(vehicleRoutingProblem); this.insertionCostsCalculator = jobInsertionCalculator; this.vrp = vehicleRoutingProblem; - completionService = new ExecutorCompletionService(executorService); + completionService = new ExecutorCompletionService<>(executorService); logger.debug("initialise " + this); } @@ -87,7 +90,7 @@ public class RegretInsertionConcurrent extends AbstractInsertionStrategy { */ @Override public Collection insertUnassignedJobs(Collection routes, Collection unassignedJobs) { - List badJobs = new ArrayList(unassignedJobs.size()); + List badJobs = new ArrayList<>(unassignedJobs.size()); Iterator jobIterator = unassignedJobs.iterator(); while (jobIterator.hasNext()){ @@ -135,14 +138,7 @@ public class RegretInsertionConcurrent extends AbstractInsertionStrategy { ScoredJob bestScoredJob = null; for (final Job unassignedJob : unassignedJobList) { - completionService.submit(new Callable() { - - @Override - public ScoredJob call() throws Exception { - return RegretInsertion.getScoredJob(routes, unassignedJob, insertionCostsCalculator, scoringFunction); - } - - }); + completionService.submit(() -> RegretInsertion.getScoredJob(routes, unassignedJob, insertionCostsCalculator, scoringFunction)); } try {