From 5b0efb61e782bb7a4f9347505ba4b97ad3617fde Mon Sep 17 00:00:00 2001 From: kandelirina Date: Mon, 2 Apr 2018 10:36:07 +0300 Subject: [PATCH] Add log to break insertion (#44) * add_log_to_break_insertion * add_log_to_break_insertion * fix * oops * add log * fixes * remove log... too much logs will be * fixes --- .../jsprit/core/algorithm/recreate/BestInsertion.java | 4 +++- .../core/algorithm/recreate/BestInsertionConcurrent.java | 3 ++- .../jsprit/core/algorithm/recreate/RegretInsertion.java | 5 ++--- .../core/algorithm/recreate/RegretInsertionConcurrent.java | 3 ++- .../algorithm/recreate/RegretInsertionConcurrentFast.java | 3 ++- .../jsprit/core/algorithm/recreate/RegretInsertionFast.java | 3 ++- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/BestInsertion.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/BestInsertion.java index 18f78b45..a1ed45b3 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/BestInsertion.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/BestInsertion.java @@ -100,9 +100,11 @@ public final class BestInsertion extends AbstractInsertionStrategy { badJobs.add(unassignedJob); markUnassigned(unassignedJob, empty.getFailedConstraintNames()); } else { + + final boolean newVehicle = !bestInsertion.getRoute().getVehicle().getId().equals(bestInsertion.getInsertionData().getSelectedVehicle().getId()); insertJob(unassignedJob, bestInsertion.getInsertionData(), bestInsertion.getRoute()); - if (isNewRoute || !bestInsertion.getRoute().getVehicle().getId().equals(bestInsertion.getInsertionData().getSelectedVehicle().getId())) { + if (isNewRoute || newVehicle) { insertBreak(bestInsertionCostCalculator, badJobs, bestInsertion.getRoute(), bestInsertion.getInsertionData()); } } diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java index 961dcd47..072de17f 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java @@ -151,9 +151,10 @@ public final class BestInsertionConcurrent extends AbstractInsertionStrategy { markUnassigned(unassignedJob, failedConstraintNames); } else { + final boolean newVehicle = !bestInsertion.getRoute().getVehicle().getId().equals(bestInsertion.getInsertionData().getSelectedVehicle().getId()); insertJob(unassignedJob, bestInsertion.getInsertionData(), bestInsertion.getRoute()); - if (isNewRoute || !bestInsertion.getRoute().getVehicle().getId().equals(bestInsertion.getInsertionData().getSelectedVehicle().getId())) { + if (isNewRoute || newVehicle) { insertBreak(bestInsertionCostCalculator, badJobs, bestInsertion.getRoute(), bestInsertion.getInsertionData()); } } diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertion.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertion.java index 71d4d4a1..a9d7aec1 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertion.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertion.java @@ -115,12 +115,12 @@ public class RegretInsertion extends AbstractInsertionStrategy { if (bestScoredJob.isNewRoute()) { routes.add(route); } + final boolean newVehicle = !route.getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId()); insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), route); jobs.remove(bestScoredJob.getJob()); - if (bestScoredJob.isNewRoute() || !route.getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId())) { + if (bestScoredJob.isNewRoute() || newVehicle) insertBreak(insertionCostsCalculator, badJobs, route, bestScoredJob.getInsertionData()); - } } for (ScoredJob bad : badJobList) { Job unassigned = bad.getJob(); @@ -215,7 +215,6 @@ public class RegretInsertion extends AbstractInsertionStrategy { return scoredJob; } - 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 0747b96c..df347463 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 @@ -118,10 +118,11 @@ public class RegretInsertionConcurrent extends AbstractInsertionStrategy { if (bestScoredJob.isNewRoute()) { routes.add(bestScoredJob.getRoute()); } + final boolean newVehicle = !bestScoredJob.getRoute().getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId()); insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), bestScoredJob.getRoute()); jobs.remove(bestScoredJob.getJob()); - if (bestScoredJob.isNewRoute() || !bestScoredJob.getRoute().getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId())) { + if (bestScoredJob.isNewRoute() || newVehicle) { insertBreak(insertionCostsCalculator, badJobs, bestScoredJob.getRoute(), bestScoredJob.getInsertionData()); } } diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionConcurrentFast.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionConcurrentFast.java index ebfffa00..fd155710 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionConcurrentFast.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionConcurrentFast.java @@ -154,10 +154,11 @@ public class RegretInsertionConcurrentFast extends AbstractInsertionStrategy { if (bestScoredJob.isNewRoute()) { routes.add(bestScoredJob.getRoute()); } + final boolean newVehicle = !bestScoredJob.getRoute().getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId()); insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), bestScoredJob.getRoute()); jobs.remove(bestScoredJob.getJob()); - if (bestScoredJob.isNewRoute() || !bestScoredJob.getRoute().getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId())) { + if (bestScoredJob.isNewRoute() || newVehicle) { insertBreak(insertionCostsCalculator, badJobs, bestScoredJob.getRoute(), bestScoredJob.getInsertionData()); } lastModified = bestScoredJob.getRoute(); diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionFast.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionFast.java index 51e160e0..d6886a3f 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionFast.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/recreate/RegretInsertionFast.java @@ -151,10 +151,11 @@ public class RegretInsertionFast extends AbstractInsertionStrategy { if (bestScoredJob.isNewRoute()) { routes.add(bestScoredJob.getRoute()); } + final boolean newVehicle = !bestScoredJob.getRoute().getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId()); insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), bestScoredJob.getRoute()); jobs.remove(bestScoredJob.getJob()); - if (bestScoredJob.isNewRoute() || !bestScoredJob.getRoute().getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId())) { + if (bestScoredJob.isNewRoute() || newVehicle) { insertBreak(insertionCostsCalculator, badJobs, bestScoredJob.getRoute(), bestScoredJob.getInsertionData()); } lastModified = bestScoredJob.getRoute();