From a4dd1d9ac5318f7dd5278694b8010b2e5b7111f1 Mon Sep 17 00:00:00 2001 From: oblonski Date: Tue, 19 May 2015 00:04:24 +0200 Subject: [PATCH] improve logging - #159 --- .../recreate/AbstractInsertionStrategy.java | 5 ++ .../algorithm/recreate/InsertionData.java | 2 +- .../algorithm/ruin/AbstractRuinStrategy.java | 6 ++ .../test/resources/infiniteWriterV2Test.xml | 81 ++++++++++++------- 4 files changed, 66 insertions(+), 28 deletions(-) diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/AbstractInsertionStrategy.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/AbstractInsertionStrategy.java index ab32c40c..6784631c 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/AbstractInsertionStrategy.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/AbstractInsertionStrategy.java @@ -26,6 +26,8 @@ import jsprit.core.problem.job.Job; import jsprit.core.problem.solution.route.VehicleRoute; import jsprit.core.problem.vehicle.Vehicle; import jsprit.core.util.RandomNumberGeneration; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.Collection; import java.util.Collections; @@ -55,6 +57,8 @@ public abstract class AbstractInsertionStrategy implements InsertionStrategy{ } + private final static Logger logger = LogManager.getLogger(); + protected Random random = RandomNumberGeneration.getRandom(); protected final static double NO_NEW_DEPARTURE_TIME_YET = -12345.12345; @@ -106,6 +110,7 @@ public abstract class AbstractInsertionStrategy implements InsertionStrategy{ } protected void insertJob(Job unassignedJob, InsertionData iData, VehicleRoute inRoute){ + logger.trace("insert: [jobId=" + unassignedJob.getId() + "]" + iData ); inserter.insertJob(unassignedJob, iData, inRoute); } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/InsertionData.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/InsertionData.java index 1fe8c273..dbeb6e45 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/InsertionData.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/InsertionData.java @@ -90,7 +90,7 @@ public class InsertionData { @Override public String toString() { - return "[iCost="+insertionCost+"][iIndex="+deliveryInsertionIndex+"][depTime="+departureTime+"][vehicle="+selectedVehicle+"][driver="+selectedDriver+"]"; + return "[iCost="+insertionCost+"][pickupIndex="+pickupInsertionIndex+"][deliveryIndex="+deliveryInsertionIndex+"][depTime="+departureTime+"][vehicle="+selectedVehicle+"][driver="+selectedDriver+"]"; } /** diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/AbstractRuinStrategy.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/AbstractRuinStrategy.java index 8f7401bb..fb07df63 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/AbstractRuinStrategy.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/AbstractRuinStrategy.java @@ -24,12 +24,16 @@ import jsprit.core.problem.VehicleRoutingProblem; import jsprit.core.problem.job.Job; import jsprit.core.problem.solution.route.VehicleRoute; import jsprit.core.util.RandomNumberGeneration; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.Collection; import java.util.Random; public abstract class AbstractRuinStrategy implements RuinStrategy{ + private final static Logger logger = LogManager.getLogger(); + private RuinListeners ruinListeners; protected Random random = RandomNumberGeneration.getRandom(); @@ -59,6 +63,7 @@ public abstract class AbstractRuinStrategy implements RuinStrategy{ public Collection ruin(Collection vehicleRoutes){ ruinListeners.ruinStarts(vehicleRoutes); Collection unassigned = ruinRoutes(vehicleRoutes); + logger.trace("ruin: " + "[ruined=" + unassigned.size() + "]"); ruinListeners.ruinEnds(vehicleRoutes,unassigned); return unassigned; } @@ -111,6 +116,7 @@ public abstract class AbstractRuinStrategy implements RuinStrategy{ if(jobIsInitial(job)) return false; boolean removed = route.getTourActivities().removeJob(job); if (removed) { + logger.trace("ruin: " + job.getId()); ruinListeners.removed(job,route); return true; } diff --git a/jsprit-core/src/test/resources/infiniteWriterV2Test.xml b/jsprit-core/src/test/resources/infiniteWriterV2Test.xml index 07c5406a..2d9058ab 100644 --- a/jsprit-core/src/test/resources/infiniteWriterV2Test.xml +++ b/jsprit-core/src/test/resources/infiniteWriterV2Test.xml @@ -2,24 +2,9 @@ - FINITE + INFINITE - - v2 - vehType2 - - loc - - - loc - - - 0.0 - 1.7976931348623157E308 - - true - v1 vehType @@ -48,16 +33,58 @@ - - vehType2 - - 200 - - - 0.0 - 1.0 - - - + + + + loc + + + 1 + + 2.0 + + + 0.0 + 1.7976931348623157E308 + + + + + + loc2 + + + 1 + + 4.0 + + + 0.0 + 1.7976931348623157E308 + + + + + + + 10.0 + + + noDriver + v1 + 0.0 + + 1 + 0.0 + 0.0 + + 0.0 + + + + + + +