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

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
This commit is contained in:
kandelirina 2018-04-02 10:36:07 +03:00 committed by kobyb
parent 8b75937ca8
commit 5b0efb61e7
6 changed files with 13 additions and 8 deletions

View file

@ -100,9 +100,11 @@ public final class BestInsertion extends AbstractInsertionStrategy {
badJobs.add(unassignedJob); badJobs.add(unassignedJob);
markUnassigned(unassignedJob, empty.getFailedConstraintNames()); markUnassigned(unassignedJob, empty.getFailedConstraintNames());
} else { } else {
final boolean newVehicle = !bestInsertion.getRoute().getVehicle().getId().equals(bestInsertion.getInsertionData().getSelectedVehicle().getId());
insertJob(unassignedJob, bestInsertion.getInsertionData(), bestInsertion.getRoute()); 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()); insertBreak(bestInsertionCostCalculator, badJobs, bestInsertion.getRoute(), bestInsertion.getInsertionData());
} }
} }

View file

@ -151,9 +151,10 @@ public final class BestInsertionConcurrent extends AbstractInsertionStrategy {
markUnassigned(unassignedJob, failedConstraintNames); markUnassigned(unassignedJob, failedConstraintNames);
} }
else { else {
final boolean newVehicle = !bestInsertion.getRoute().getVehicle().getId().equals(bestInsertion.getInsertionData().getSelectedVehicle().getId());
insertJob(unassignedJob, bestInsertion.getInsertionData(), bestInsertion.getRoute()); 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()); insertBreak(bestInsertionCostCalculator, badJobs, bestInsertion.getRoute(), bestInsertion.getInsertionData());
} }
} }

View file

@ -115,12 +115,12 @@ public class RegretInsertion extends AbstractInsertionStrategy {
if (bestScoredJob.isNewRoute()) { if (bestScoredJob.isNewRoute()) {
routes.add(route); routes.add(route);
} }
final boolean newVehicle = !route.getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId());
insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), route); insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), route);
jobs.remove(bestScoredJob.getJob()); 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()); insertBreak(insertionCostsCalculator, badJobs, route, bestScoredJob.getInsertionData());
}
} }
for (ScoredJob bad : badJobList) { for (ScoredJob bad : badJobList) {
Job unassigned = bad.getJob(); Job unassigned = bad.getJob();
@ -215,7 +215,6 @@ public class RegretInsertion extends AbstractInsertionStrategy {
return scoredJob; return scoredJob;
} }
static double score(Job unassignedJob, InsertionData best, InsertionData secondBest, ScoringFunction scoringFunction) { static double score(Job unassignedJob, InsertionData best, InsertionData secondBest, ScoringFunction scoringFunction) {
return Scorer.score(unassignedJob,best,secondBest,scoringFunction); return Scorer.score(unassignedJob,best,secondBest,scoringFunction);
} }

View file

@ -118,10 +118,11 @@ public class RegretInsertionConcurrent extends AbstractInsertionStrategy {
if (bestScoredJob.isNewRoute()) { if (bestScoredJob.isNewRoute()) {
routes.add(bestScoredJob.getRoute()); routes.add(bestScoredJob.getRoute());
} }
final boolean newVehicle = !bestScoredJob.getRoute().getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId());
insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), bestScoredJob.getRoute()); insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), bestScoredJob.getRoute());
jobs.remove(bestScoredJob.getJob()); 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()); insertBreak(insertionCostsCalculator, badJobs, bestScoredJob.getRoute(), bestScoredJob.getInsertionData());
} }
} }

View file

@ -154,10 +154,11 @@ public class RegretInsertionConcurrentFast extends AbstractInsertionStrategy {
if (bestScoredJob.isNewRoute()) { if (bestScoredJob.isNewRoute()) {
routes.add(bestScoredJob.getRoute()); routes.add(bestScoredJob.getRoute());
} }
final boolean newVehicle = !bestScoredJob.getRoute().getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId());
insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), bestScoredJob.getRoute()); insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), bestScoredJob.getRoute());
jobs.remove(bestScoredJob.getJob()); 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()); insertBreak(insertionCostsCalculator, badJobs, bestScoredJob.getRoute(), bestScoredJob.getInsertionData());
} }
lastModified = bestScoredJob.getRoute(); lastModified = bestScoredJob.getRoute();

View file

@ -151,10 +151,11 @@ public class RegretInsertionFast extends AbstractInsertionStrategy {
if (bestScoredJob.isNewRoute()) { if (bestScoredJob.isNewRoute()) {
routes.add(bestScoredJob.getRoute()); routes.add(bestScoredJob.getRoute());
} }
final boolean newVehicle = !bestScoredJob.getRoute().getVehicle().getId().equals(bestScoredJob.getInsertionData().getSelectedVehicle().getId());
insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), bestScoredJob.getRoute()); insertJob(bestScoredJob.getJob(), bestScoredJob.getInsertionData(), bestScoredJob.getRoute());
jobs.remove(bestScoredJob.getJob()); 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()); insertBreak(insertionCostsCalculator, badJobs, bestScoredJob.getRoute(), bestScoredJob.getInsertionData());
} }
lastModified = bestScoredJob.getRoute(); lastModified = bestScoredJob.getRoute();