diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/InsertionInitialSolutionFactory.java b/jsprit-core/src/main/java/jsprit/core/algorithm/InsertionInitialSolutionFactory.java index 9435513e..2e94d01e 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/InsertionInitialSolutionFactory.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/InsertionInitialSolutionFactory.java @@ -49,14 +49,13 @@ public final class InsertionInitialSolutionFactory implements InitialSolutionFac @Override public VehicleRoutingProblemSolution createSolution(final VehicleRoutingProblem vrp) { - logger.info("create initial solution."); + logger.info("create initial solution"); List vehicleRoutes = new ArrayList(); vehicleRoutes.addAll(vrp.getInitialVehicleRoutes()); Collection badJobs = insertion.insertJobs(vehicleRoutes, getUnassignedJobs(vrp)); VehicleRoutingProblemSolution solution = new VehicleRoutingProblemSolution(vehicleRoutes, badJobs, Double.MAX_VALUE); double costs = solutionCostsCalculator.getCosts(solution); solution.setCost(costs); - logger.info("creation done"); return solution; } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/SearchStrategy.java b/jsprit-core/src/main/java/jsprit/core/algorithm/SearchStrategy.java index 5a7bbf18..711d3724 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/SearchStrategy.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/SearchStrategy.java @@ -61,7 +61,11 @@ public class SearchStrategy { } public String getStrategyId() { return strategyId; } - + + @Override + public String toString() { + return "[strategyId="+strategyId+"][solution="+solution+"][accepted="+accepted+"]"; + } } private static Logger logger = LogManager.getLogger(SearchStrategy.class); @@ -84,7 +88,7 @@ public class SearchStrategy { this.solutionAcceptor = solutionAcceptor; this.solutionCostCalculator = solutionCostCalculator; this.id = id; - logger.info("initialise " + this); + logger.debug("initialise " + this); } public String getId() { @@ -155,7 +159,7 @@ public class SearchStrategy { public void addModule(SearchStrategyModule module){ if(module == null) throw new IllegalStateException("module to be added is null."); searchStrategyModules.add(module); - logger.info("module added [module="+module+"][#modules="+searchStrategyModules.size()+"]"); + logger.debug("module added [module=" + module + "][#modules=" + searchStrategyModules.size() + "]"); } public void addModuleListener(SearchStrategyModuleListener moduleListener) { diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/SearchStrategyManager.java b/jsprit-core/src/main/java/jsprit/core/algorithm/SearchStrategyManager.java index 4396d038..b5ce9935 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/SearchStrategyManager.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/SearchStrategyManager.java @@ -19,11 +19,15 @@ package jsprit.core.algorithm; import jsprit.core.algorithm.listener.SearchStrategyListener; import jsprit.core.algorithm.listener.SearchStrategyModuleListener; import jsprit.core.util.RandomNumberGeneration; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.*; public class SearchStrategyManager { + + private final static Logger logger = LogManager.getLogger(); private List searchStrategyListeners = new ArrayList(); diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/VehicleRoutingAlgorithm.java b/jsprit-core/src/main/java/jsprit/core/algorithm/VehicleRoutingAlgorithm.java index 3b4e03ca..df46b466 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/VehicleRoutingAlgorithm.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/VehicleRoutingAlgorithm.java @@ -83,7 +83,7 @@ public class VehicleRoutingAlgorithm { } } - private final static Logger logger = LogManager.getLogger(VehicleRoutingAlgorithm.class); + private final static Logger logger = LogManager.getLogger(); private final Counter counter = new Counter("iterations "); @@ -188,8 +188,7 @@ public class VehicleRoutingAlgorithm { * @see {@link SearchStrategyManager}, {@link VehicleRoutingAlgorithmListener}, {@link AlgorithmStartsListener}, {@link AlgorithmEndsListener}, {@link IterationStartsListener}, {@link IterationEndsListener} */ public Collection searchSolutions(){ - logger.info("------------------------------------------------"); - logger.info("algorithm starts"); + logger.info("algorithm starts: " + "[maxIterations=" + maxIterations + "]"); double now = System.currentTimeMillis(); int noIterationsThisAlgoIsRunning = maxIterations; counter.reset(); @@ -199,9 +198,11 @@ public class VehicleRoutingAlgorithm { logger.info("iterations start"); for(int i=0;i< maxIterations;i++){ iterationStarts(i+1,problem,solutions); + logger.debug("start iteration: " + i); counter.incCounter(); SearchStrategy strategy = searchStrategyManager.getRandomStrategy(); DiscoveredSolution discoveredSolution = strategy.run(problem, solutions); + logger.trace("discovered solution: " + discoveredSolution); memorizeIfBestEver(discoveredSolution); selectedStrategy(discoveredSolution,problem,solutions); if(terminationManager.isPrematureBreak(discoveredSolution)){ @@ -214,9 +215,7 @@ public class VehicleRoutingAlgorithm { logger.info("iterations end at " + noIterationsThisAlgoIsRunning + " iterations"); addBestEver(solutions); algorithmEnds(problem, solutions); - logger.info("total time: " + ((System.currentTimeMillis()-now)/1000.0) + "s"); - logger.info("done"); - logger.info("------------------------------------------------"); + logger.info("took " + ((System.currentTimeMillis()-now)/1000.0) + " seconds"); return solutions; } @@ -268,7 +267,7 @@ public class VehicleRoutingAlgorithm { */ public void setMaxIterations(int maxIterations) { this.maxIterations = maxIterations; - logger.info("set maxIterations to " + this.maxIterations); + logger.debug("set maxIterations to " + this.maxIterations); } /** diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/acceptor/SchrimpfAcceptance.java b/jsprit-core/src/main/java/jsprit/core/algorithm/acceptor/SchrimpfAcceptance.java index 646b4d9b..5b182b04 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/acceptor/SchrimpfAcceptance.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/acceptor/SchrimpfAcceptance.java @@ -83,7 +83,7 @@ public class SchrimpfAcceptance implements SolutionAcceptor, IterationStartsList public SchrimpfAcceptance(int solutionMemory, double alpha){ this.alpha = alpha; this.solutionMemory = solutionMemory; - logger.info("initialise " + this); + logger.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/acceptor/SchrimpfInitialThresholdGenerator.java b/jsprit-core/src/main/java/jsprit/core/algorithm/acceptor/SchrimpfInitialThresholdGenerator.java index cbfca8e9..1a2753a2 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/acceptor/SchrimpfInitialThresholdGenerator.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/acceptor/SchrimpfInitialThresholdGenerator.java @@ -49,9 +49,7 @@ public class SchrimpfInitialThresholdGenerator implements AlgorithmStartsListene @Override public void informAlgorithmStarts(VehicleRoutingProblem problem,VehicleRoutingAlgorithm algorithm,Collection solutions) { - logger.info("---------------------------------------------------------------------"); logger.info("prepare schrimpfAcceptanceFunction, i.e. determine initial threshold"); - logger.info("start random-walk (see randomWalk.xml)"); double now = System.currentTimeMillis(); /* @@ -81,10 +79,9 @@ public class SchrimpfInitialThresholdGenerator implements AlgorithmStartsListene double initialThreshold = standardDeviation / 2; schrimpfAcceptance.setInitialThreshold(initialThreshold); - - logger.info("warmup done"); - logger.info("total time: " + ((System.currentTimeMillis()-now)/1000.0) + "s"); - logger.info("initial threshold: " + initialThreshold); + + logger.info("took " + ((System.currentTimeMillis()-now)/1000.0) + " seconds"); + logger.debug("initial threshold: " + initialThreshold); logger.info("---------------------------------------------------------------------"); } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/io/AlgorithmConfigXmlReader.java b/jsprit-core/src/main/java/jsprit/core/algorithm/io/AlgorithmConfigXmlReader.java index ded64f70..3c6098db 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/io/AlgorithmConfigXmlReader.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/io/AlgorithmConfigXmlReader.java @@ -50,7 +50,7 @@ public class AlgorithmConfigXmlReader { } public void read(URL url){ - log.info("read algorithm-config from file " + url); + log.debug("read algorithm: " + url); algorithmConfig.getXMLConfiguration().setURL(url); algorithmConfig.getXMLConfiguration().setAttributeSplittingDisabled(true); algorithmConfig.getXMLConfiguration().setDelimiterParsingDisabled(true); @@ -70,7 +70,6 @@ public class AlgorithmConfigXmlReader { }; algorithmConfig.getXMLConfiguration().setEntityResolver(resolver); algorithmConfig.getXMLConfiguration().setSchemaValidation(true); - log.info("validating " + url + " with xsd-schema"); } else{ log.warn("cannot find schema-xsd file (algorithm_xml_schema.xsd). try to read xml without xml-file-validation."); @@ -87,7 +86,7 @@ public class AlgorithmConfigXmlReader { public void read(String filename){ - log.info("read algorithm-config from file " + filename); + log.debug("read algorithm-config from file " + filename); URL url = Resource.getAsURL(filename); read(url); } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/io/VehicleRoutingAlgorithms.java b/jsprit-core/src/main/java/jsprit/core/algorithm/io/VehicleRoutingAlgorithms.java index 816329db..52a9aa9c 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/io/VehicleRoutingAlgorithms.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/io/VehicleRoutingAlgorithms.java @@ -503,13 +503,13 @@ public class VehicleRoutingAlgorithms { //threading final ExecutorService executorService; if(nuOfThreads > 0){ - log.info("setup executor-service with " + nuOfThreads + " threads"); + log.debug("setup executor-service with " + nuOfThreads + " threads"); executorService = Executors.newFixedThreadPool(nuOfThreads); algorithmListeners.add(new PrioritizedVRAListener(Priority.LOW, new AlgorithmEndsListener() { @Override public void informAlgorithmEnds(VehicleRoutingProblem problem,Collection solutions) { - log.info("shutdown executor-service"); + log.debug("shutdown executor-service"); executorService.shutdown(); } })); @@ -645,18 +645,18 @@ public class VehicleRoutingAlgorithms { private static PrematureAlgorithmTermination getTerminationCriterion(HierarchicalConfiguration config, Set algorithmListeners) { String basedOn = config.getString("[@basedOn]"); if(basedOn == null){ - log.info("set default prematureBreak, i.e. no premature break at all."); + log.debug("set default prematureBreak, i.e. no premature break at all."); return null; } if(basedOn.equals("iterations")){ - log.info("set prematureBreak based on iterations"); + log.debug("set prematureBreak based on iterations"); String iter = config.getString("iterations"); if(iter == null) throw new IllegalStateException("iterations is missing"); int iterations = Integer.valueOf(iter); return new IterationWithoutImprovementTermination(iterations); } if(basedOn.equals("time")){ - log.info("set prematureBreak based on time"); + log.debug("set prematureBreak based on time"); String timeString = config.getString("time"); if(timeString == null) throw new IllegalStateException("time is missing"); long time = Long.parseLong(timeString); @@ -665,7 +665,7 @@ public class VehicleRoutingAlgorithms { return timeBreaker; } if(basedOn.equals("variationCoefficient")){ - log.info("set prematureBreak based on variation coefficient"); + log.debug("set prematureBreak based on variation coefficient"); String thresholdString = config.getString("threshold"); String iterationsString = config.getString("iterations"); if(thresholdString == null) throw new IllegalStateException("threshold is missing"); @@ -682,18 +682,18 @@ public class VehicleRoutingAlgorithms { private static PrematureAlgorithmTermination getPrematureTermination(XMLConfiguration config, Set algorithmListeners) { String basedOn = config.getString("prematureBreak[@basedOn]"); if(basedOn == null){ - log.info("set default prematureBreak, i.e. no premature break at all."); + log.debug("set default prematureBreak, i.e. no premature break at all."); return null; } if(basedOn.equals("iterations")){ - log.info("set prematureBreak based on iterations"); + log.debug("set prematureBreak based on iterations"); String iter = config.getString("prematureBreak.iterations"); if(iter == null) throw new IllegalStateException("prematureBreak.iterations is missing"); int iterations = Integer.valueOf(iter); return new IterationWithoutImprovementTermination(iterations); } if(basedOn.equals("time")){ - log.info("set prematureBreak based on time"); + log.debug("set prematureBreak based on time"); String timeString = config.getString("prematureBreak.time"); if(timeString == null) throw new IllegalStateException("prematureBreak.time is missing"); long time = Long.parseLong(timeString); @@ -702,7 +702,7 @@ public class VehicleRoutingAlgorithms { return timeBreaker; } if(basedOn.equals("variationCoefficient")){ - log.info("set prematureBreak based on variation coefficient"); + log.debug("set prematureBreak based on variation coefficient"); String thresholdString = config.getString("prematureBreak.threshold"); String iterationsString = config.getString("prematureBreak.iterations"); if(thresholdString == null) throw new IllegalStateException("prematureBreak.threshold is missing"); diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertion.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertion.java index 206f27db..e79e9632 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertion.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertion.java @@ -56,7 +56,7 @@ public final class BestInsertion extends AbstractInsertionStrategy{ public BestInsertion(JobInsertionCostsCalculator jobInsertionCalculator, VehicleRoutingProblem vehicleRoutingProblem) { super(vehicleRoutingProblem); bestInsertionCostCalculator = jobInsertionCalculator; - logger.info("initialise " + this); + logger.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java index 0104f022..8ff2824e 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java @@ -94,7 +94,7 @@ public final class BestInsertionConcurrent extends AbstractInsertionStrategy{ this.nuOfBatches = nuOfBatches; bestInsertionCostCalculator = jobInsertionCalculator; completionService = new ExecutorCompletionService(executorService); - logger.info("initialise " + this); + logger.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/CalculatesServiceInsertionWithTimeScheduling.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/CalculatesServiceInsertionWithTimeScheduling.java index 61388f7a..eacf36a5 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/CalculatesServiceInsertionWithTimeScheduling.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/CalculatesServiceInsertionWithTimeScheduling.java @@ -55,7 +55,7 @@ class CalculatesServiceInsertionWithTimeScheduling implements JobInsertionCostsC CalculatesServiceInsertionWithTimeScheduling(JobInsertionCostsCalculator jic, double t, double f) { super(); this.jic = jic; - log.info("initialise " + this); + log.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/CalculatesServiceInsertionWithTimeSchedulingInSlices.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/CalculatesServiceInsertionWithTimeSchedulingInSlices.java index 9a33328d..3f6b84aa 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/CalculatesServiceInsertionWithTimeSchedulingInSlices.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/CalculatesServiceInsertionWithTimeSchedulingInSlices.java @@ -43,7 +43,7 @@ class CalculatesServiceInsertionWithTimeSchedulingInSlices implements JobInserti this.jic = jic; this.timeSlice = timeSlice; this.nOfDepartureTimes = neighbors; - log.info("initialise " + this); + log.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/JobInsertionConsideringFixCostsCalculator.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/JobInsertionConsideringFixCostsCalculator.java index 89cd7e80..369d3aec 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/JobInsertionConsideringFixCostsCalculator.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/JobInsertionConsideringFixCostsCalculator.java @@ -46,7 +46,7 @@ final class JobInsertionConsideringFixCostsCalculator implements JobInsertionCos super(); this.standardServiceInsertion = standardInsertionCalculator; this.stateGetter = stateGetter; - logger.info("inialise " + this); + logger.debug("inialise " + this); } @Override @@ -76,7 +76,7 @@ final class JobInsertionConsideringFixCostsCalculator implements JobInsertionCos public void setWeightOfFixCost(double weight){ weight_deltaFixCost = weight; - logger.info("set weightOfFixCostSaving to " + weight); + logger.debug("set weightOfFixCostSaving to " + weight); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/RegretInsertion.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/RegretInsertion.java index 0e25804e..f6931f75 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/RegretInsertion.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/RegretInsertion.java @@ -203,7 +203,7 @@ public class RegretInsertion extends AbstractInsertionStrategy { this.scoringFunction = new DefaultScorer(vehicleRoutingProblem); this.insertionCostsCalculator = jobInsertionCalculator; this.vrp = vehicleRoutingProblem; - logger.info("initialise " + this); + logger.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/RegretInsertionConcurrent.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/RegretInsertionConcurrent.java index 528ed0ff..d685989e 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/RegretInsertionConcurrent.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/RegretInsertionConcurrent.java @@ -70,7 +70,7 @@ public class RegretInsertionConcurrent extends AbstractInsertionStrategy { this.insertionCostsCalculator = jobInsertionCalculator; this.vrp = vehicleRoutingProblem; completionService = new ExecutorCompletionService(executorService); - logger.info("initialise " + this); + logger.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ServiceInsertionCalculator.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ServiceInsertionCalculator.java index 2916d8cf..d36afb3b 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ServiceInsertionCalculator.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ServiceInsertionCalculator.java @@ -68,7 +68,7 @@ final class ServiceInsertionCalculator implements JobInsertionCostsCalculator{ softRouteConstraint = constraintManager; this.additionalTransportCostsCalculator = additionalTransportCostsCalculator; additionalAccessEgressCalculator = new AdditionalAccessEgressCalculator(routingCosts); - logger.info("initialise " + this); + logger.debug("initialise " + this); } public void setJobActivityFactory(JobActivityFactory jobActivityFactory){ diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ServiceInsertionOnRouteLevelCalculator.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ServiceInsertionOnRouteLevelCalculator.java index 13d77870..2f68f943 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ServiceInsertionOnRouteLevelCalculator.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ServiceInsertionOnRouteLevelCalculator.java @@ -81,7 +81,7 @@ final class ServiceInsertionOnRouteLevelCalculator implements JobInsertionCostsC public void setMemorySize(int memorySize) { this.memorySize = memorySize; - logger.info("set [solutionMemory="+memorySize+"]"); + logger.debug("set [solutionMemory="+memorySize+"]"); } public ServiceInsertionOnRouteLevelCalculator(VehicleRoutingTransportCosts vehicleRoutingCosts, VehicleRoutingActivityCosts costFunc, ActivityInsertionCostsCalculator activityInsertionCostsCalculator, HardRouteConstraint hardRouteLevelConstraint, HardActivityConstraint hardActivityLevelConstraint) { @@ -92,7 +92,7 @@ final class ServiceInsertionOnRouteLevelCalculator implements JobInsertionCostsC this.hardRouteLevelConstraint = hardRouteLevelConstraint; this.hardActivityLevelConstraint = hardActivityLevelConstraint; auxilliaryPathCostCalculator = new AuxilliaryCostCalculator(transportCosts, activityCosts); - logger.info("initialise " + this); + logger.debug("initialise " + this); } @@ -102,7 +102,7 @@ final class ServiceInsertionOnRouteLevelCalculator implements JobInsertionCostsC void setNuOfActsForwardLooking(int nOfActsForwardLooking) { this.nuOfActsForwardLooking = nOfActsForwardLooking; - logger.info("set [forwardLooking="+nOfActsForwardLooking+"]"); + logger.debug("set [forwardLooking="+nOfActsForwardLooking+"]"); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ShipmentInsertionCalculator.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ShipmentInsertionCalculator.java index b80ee1ca..2f311725 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ShipmentInsertionCalculator.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/ShipmentInsertionCalculator.java @@ -68,7 +68,7 @@ final class ShipmentInsertionCalculator implements JobInsertionCostsCalculator{ this.softRouteConstraint = constraintManager; this.transportCosts = routingCosts; additionalAccessEgressCalculator = new AdditionalAccessEgressCalculator(routingCosts); - logger.info("initialise " + this); + logger.debug("initialise " + this); } public void setJobActivityFactory(JobActivityFactory activityFactory){ diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/VehicleTypeDependentJobInsertionCalculator.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/VehicleTypeDependentJobInsertionCalculator.java index 75a05b63..4b630eea 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/VehicleTypeDependentJobInsertionCalculator.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/VehicleTypeDependentJobInsertionCalculator.java @@ -60,7 +60,7 @@ final class VehicleTypeDependentJobInsertionCalculator implements JobInsertionCo this.insertionCalculator = jobInsertionCalc; this.vrp = vrp; getInitialVehicleIds(); - logger.info("initialise " + this); + logger.debug("initialise " + this); } private void getInitialVehicleIds() { @@ -89,7 +89,7 @@ final class VehicleTypeDependentJobInsertionCalculator implements JobInsertionCo * @param vehicleSwitchAllowed the vehicleSwitchAllowed to set */ public void setVehicleSwitchAllowed(boolean vehicleSwitchAllowed) { - logger.info("set vehicleSwitchAllowed to " + vehicleSwitchAllowed); + logger.debug("set vehicleSwitchAllowed to " + vehicleSwitchAllowed); this.vehicleSwitchAllowed = vehicleSwitchAllowed; } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImpl.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImpl.java index 8514c0ed..b9ad9d5a 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImpl.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImpl.java @@ -26,7 +26,7 @@ class JobNeighborhoodsImpl implements JobNeighborhoods { super(); this.vrp = vrp; this.jobDistance = jobDistance; - logger.info("intialise " + this); + logger.debug("intialise " + this); } @Override @@ -54,12 +54,12 @@ class JobNeighborhoodsImpl implements JobNeighborhoods { @Override public void initialise(){ - logger.info("calculates and memorizes distances from EACH job to EACH job --> n^2 calculations"); + logger.debug("calculates and memorizes distances from EACH job to EACH job --> n^2 calculations"); calculateDistancesFromJob2Job(); } private void calculateDistancesFromJob2Job() { - logger.info("preprocess distances between locations ..."); + logger.debug("preprocess distances between locations ..."); StopWatch stopWatch = new StopWatch(); stopWatch.start(); int nuOfDistancesStored = 0; @@ -86,7 +86,7 @@ class JobNeighborhoodsImpl implements JobNeighborhoods { } stopWatch.stop(); - logger.info("preprocessing comp-time: " + stopWatch + "; nuOfDistances stored: " + nuOfDistancesStored + "; estimated memory: " + + logger.debug("preprocessing comp-time: " + stopWatch + "; nuOfDistances stored: " + nuOfDistancesStored + "; estimated memory: " + (distanceNodeTree.keySet().size()*64+nuOfDistancesStored*92) + " bytes"); } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImplWithCapRestriction.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImplWithCapRestriction.java index 789d1bf3..1e8cf243 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImplWithCapRestriction.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsImplWithCapRestriction.java @@ -29,7 +29,7 @@ class JobNeighborhoodsImplWithCapRestriction implements JobNeighborhoods { this.vrp = vrp; this.jobDistance = jobDistance; this.capacity = capacity; - logger.info("intialise " + this); + logger.debug("intialise " + this); } @Override @@ -59,13 +59,13 @@ class JobNeighborhoodsImplWithCapRestriction implements JobNeighborhoods { @Override public void initialise(){ - logger.info("calculates distances from EACH job to EACH job --> n^2="+Math.pow(vrp.getJobs().values().size(), 2) + " calculations, but 'only' "+(vrp.getJobs().values().size()*capacity)+ " are cached."); + logger.debug("calculates distances from EACH job to EACH job --> n^2="+Math.pow(vrp.getJobs().values().size(), 2) + " calculations, but 'only' "+(vrp.getJobs().values().size()*capacity)+ " are cached."); if(capacity==0) return; calculateDistancesFromJob2Job(); } private void calculateDistancesFromJob2Job() { - logger.info("preprocess distances between locations ..."); + logger.debug("preprocess distances between locations ..."); StopWatch stopWatch = new StopWatch(); stopWatch.start(); int nuOfDistancesStored = 0; @@ -101,7 +101,7 @@ class JobNeighborhoodsImplWithCapRestriction implements JobNeighborhoods { } stopWatch.stop(); - logger.info("preprocessing comp-time: " + stopWatch + "; nuOfDistances stored: " + nuOfDistancesStored + "; estimated memory: " + + logger.debug("preprocessing comp-time: " + stopWatch + "; nuOfDistances stored: " + nuOfDistancesStored + "; estimated memory: " + (distanceNodeTree.keySet().size()*64+nuOfDistancesStored*92) + " bytes"); } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinClusters.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinClusters.java index 87002572..c12054ea 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinClusters.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinClusters.java @@ -87,8 +87,7 @@ public final class RuinClusters extends AbstractRuinStrategy implements Iteratio } }); this.jobNeighborhoods = jobNeighborhoods; - logger.info("initialise " + this); - logger.info("done"); + logger.debug("initialise " + this); } public void setNoClusters(int noClusters) { diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRadial.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRadial.java index 2a4277f9..de4ed294 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRadial.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRadial.java @@ -68,7 +68,7 @@ public final class RuinRadial extends AbstractRuinStrategy { JobNeighborhoodsImplWithCapRestriction jobNeighborhoodsImpl = new JobNeighborhoodsImplWithCapRestriction(vrp, jobDistance, noJobsToMemorize); jobNeighborhoodsImpl.initialise(); jobNeighborhoods = jobNeighborhoodsImpl; - logger.info("initialise " + this); + logger.debug("initialise " + this); } public RuinRadial(VehicleRoutingProblem vrp, int noJobs2beRemoved, JobDistance jobDistance) { @@ -87,7 +87,7 @@ public final class RuinRadial extends AbstractRuinStrategy { JobNeighborhoodsImplWithCapRestriction jobNeighborhoodsImpl = new JobNeighborhoodsImplWithCapRestriction(vrp, jobDistance, noJobsToMemorize); jobNeighborhoodsImpl.initialise(); jobNeighborhoods = jobNeighborhoodsImpl; - logger.info("initialise " + this); + logger.debug("initialise " + this); } public RuinRadial(VehicleRoutingProblem vrp, int noJobs2beRemoved, JobNeighborhoods neighborhoods) { @@ -103,7 +103,7 @@ public final class RuinRadial extends AbstractRuinStrategy { }; jobNeighborhoods = neighborhoods; - logger.info("initialise " + this); + logger.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRadialMultipleCenters.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRadialMultipleCenters.java index a9765b65..8f10576d 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRadialMultipleCenters.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRadialMultipleCenters.java @@ -62,7 +62,7 @@ public final class RuinRadialMultipleCenters extends AbstractRuinStrategy { JobNeighborhoodsImplWithCapRestriction jobNeighborhoodsImpl = new JobNeighborhoodsImplWithCapRestriction(vrp, jobDistance, noJobsToMemorize); jobNeighborhoodsImpl.initialise(); jobNeighborhoods = jobNeighborhoodsImpl; - logger.info("initialise " + this); + logger.debug("initialise " + this); } public void setNumberOfRuinCenters(int noCenters){ diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRandom.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRandom.java index f056a83d..acd0ee20 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRandom.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinRandom.java @@ -60,8 +60,7 @@ public final class RuinRandom extends AbstractRuinStrategy { return selectNuOfJobs2BeRemoved(); } }); - logger.info("initialise " + this); - logger.info("done"); + logger.debug("initialise " + this); } /** diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinWorst.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinWorst.java index f237bea4..971eb0d4 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinWorst.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/RuinWorst.java @@ -64,8 +64,7 @@ public final class RuinWorst extends AbstractRuinStrategy { return initialNumberJobsToRemove; } }); - logger.info("initialise " + this); - logger.info("done"); + logger.debug("initialise " + this); } /** diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/termination/IterationWithoutImprovementTermination.java b/jsprit-core/src/main/java/jsprit/core/algorithm/termination/IterationWithoutImprovementTermination.java index 3f265f96..404c5251 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/termination/IterationWithoutImprovementTermination.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/termination/IterationWithoutImprovementTermination.java @@ -45,7 +45,7 @@ public class IterationWithoutImprovementTermination implements PrematureAlgorith */ public IterationWithoutImprovementTermination(int noIterationsWithoutImprovement){ this.noIterationWithoutImprovement =noIterationsWithoutImprovement; - log.info("initialise " + this); + log.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/termination/TimeTermination.java b/jsprit-core/src/main/java/jsprit/core/algorithm/termination/TimeTermination.java index fbefde61..4b3b872f 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/termination/TimeTermination.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/termination/TimeTermination.java @@ -70,7 +70,7 @@ public class TimeTermination implements PrematureAlgorithmTermination, Algorithm public TimeTermination(long timeThreshold_in_milliseconds) { super(); this.timeThreshold = timeThreshold_in_milliseconds; - logger.info("initialise " + this); + logger.debug("initialise " + this); } public void setTimeGetter(TimeGetter timeGetter) { diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/termination/VariationCoefficientTermination.java b/jsprit-core/src/main/java/jsprit/core/algorithm/termination/VariationCoefficientTermination.java index 1e6cef92..40507f61 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/termination/VariationCoefficientTermination.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/termination/VariationCoefficientTermination.java @@ -73,7 +73,7 @@ public class VariationCoefficientTermination implements PrematureAlgorithmTermin this.noIterations = noIterations; this.variationCoefficientThreshold = variationCoefficientThreshold; solutionValues = new double[noIterations]; - logger.info("initialise " + this); + logger.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java b/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java index 3f704b46..57a4c376 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java @@ -399,9 +399,7 @@ public class VehicleRoutingProblem { * @return {@link VehicleRoutingProblem} */ public VehicleRoutingProblem build() { - logger.info("build problem ..."); if(transportCosts == null){ - logger.warn("set routing costs crowFlyDistance."); transportCosts = new CrowFlyCosts(getLocations()); } for(Job job : tentativeJobs.values()) @@ -556,7 +554,7 @@ public class VehicleRoutingProblem { this.locations = builder.getLocations(); this.activityMap = builder.activityMap; this.nuActivities = builder.activityIndexCounter; - logger.info("initialise " + this); + logger.info("setup problem: " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLReader.java b/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLReader.java index 35d74ec6..5747c0bb 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLReader.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLReader.java @@ -137,7 +137,7 @@ public class VrpXMLReader{ } public void read(String filename) { - logger.info("read vrp from file " + filename); + logger.debug("read vrp: " + filename); XMLConfiguration xmlConfig = new XMLConfiguration(); xmlConfig.setFileName(filename); xmlConfig.setAttributeSplittingDisabled(true); @@ -158,10 +158,9 @@ public class VrpXMLReader{ }; xmlConfig.setEntityResolver(resolver); xmlConfig.setSchemaValidation(true); - logger.info("validating " + filename + " with xsd-schema"); } else{ - logger.warn("cannot find schema-xsd file (vrp_xml_schema.xsd). try to read xml without xml-file-validation."); + logger.debug("cannot find schema-xsd file (vrp_xml_schema.xsd). try to read xml without xml-file-validation."); } } try { @@ -617,7 +616,7 @@ public class VrpXMLReader{ } if(coordX == null || coordY == null) { if(!doNotWarnAgain) { - logger.warn("location.coord is missing. will not warn you again."); + logger.debug("location.coord is missing. will not warn you again."); doNotWarnAgain = true; } } @@ -644,7 +643,7 @@ public class VrpXMLReader{ String endCoordY = vehicleConfig.getString("endLocation.coord[@y]"); if(endCoordX == null || endCoordY == null) { if(!doNotWarnAgain) { - logger.warn("endLocation.coord is missing. will not warn you again."); + logger.debug("endLocation.coord is missing. will not warn you again."); doNotWarnAgain = true; } } diff --git a/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLWriter.java b/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLWriter.java index 2deb1f5a..75d58aec 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLWriter.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/io/VrpXMLWriter.java @@ -80,7 +80,7 @@ public class VrpXMLWriter { public void write(String filename){ if(!filename.endsWith(".xml")) filename+=".xml"; - log.info("write vrp to " + filename); + log.info("write vrp: " + filename); XMLConf xmlConfig = new XMLConf(); xmlConfig.setFileName(filename); xmlConfig.setRootElementName("problem"); diff --git a/jsprit-core/src/main/java/jsprit/core/problem/solution/VehicleRoutingProblemSolution.java b/jsprit-core/src/main/java/jsprit/core/problem/solution/VehicleRoutingProblemSolution.java index 68f1e621..1062e36c 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/solution/VehicleRoutingProblemSolution.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/solution/VehicleRoutingProblemSolution.java @@ -120,4 +120,8 @@ public class VehicleRoutingProblemSolution { return unassignedJobs; } + @Override + public String toString() { + return "[costs=" + cost + "][routes="+routes.size()+"][unassigned="+unassignedJobs.size()+"]"; + } } diff --git a/jsprit-core/src/main/java/jsprit/core/problem/vehicle/InfiniteVehicles.java b/jsprit-core/src/main/java/jsprit/core/problem/vehicle/InfiniteVehicles.java index 77cbea16..800751e0 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/vehicle/InfiniteVehicles.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/vehicle/InfiniteVehicles.java @@ -37,7 +37,7 @@ class InfiniteVehicles implements VehicleFleetManager{ public InfiniteVehicles(Collection vehicles){ extractTypes(vehicles); - logger.info("initialise " + this); + logger.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/problem/vehicle/VehicleFleetManagerImpl.java b/jsprit-core/src/main/java/jsprit/core/problem/vehicle/VehicleFleetManagerImpl.java index 3109d025..e5786b66 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/vehicle/VehicleFleetManagerImpl.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/vehicle/VehicleFleetManagerImpl.java @@ -76,7 +76,7 @@ class VehicleFleetManagerImpl implements VehicleFleetManager { this.vehicles = vehicles; this.lockedVehicles = new HashSet(); makeMap(); - logger.info("initialise " + this); + logger.debug("initialise " + this); } @Override diff --git a/jsprit-core/src/main/java/jsprit/core/util/Resource.java b/jsprit-core/src/main/java/jsprit/core/util/Resource.java index 371c9dca..9e230782 100644 --- a/jsprit-core/src/main/java/jsprit/core/util/Resource.java +++ b/jsprit-core/src/main/java/jsprit/core/util/Resource.java @@ -41,16 +41,16 @@ public class Resource { if (url != null) { return url; } - log.info("Resource " + filename + " is unreachable by the current class loader, try the filesystem"); + log.debug("resource: " + filename + " is unreachable by the current class loader, try the filesystem"); File file = new File(filename); if (!file.exists()) { - log.warn("Resource " + filename + " do not exists on the filesystem"); + log.debug("resource: " + filename + " do not exists on the filesystem"); return null; } try { return file.toURI().toURL(); } catch (MalformedURLException e) { - log.warn("Resource " + filename + " exists on the filesystem, but its URL is invalid: " + e.getMessage()); + log.debug("resource: " + filename + " exists on the filesystem, but its URL is invalid: " + e.getMessage()); return null; } } @@ -60,16 +60,16 @@ public class Resource { if (stream != null) { return stream; } - log.info("Resource " + filename + " is unreachable by the current class loader, try the filesystem"); + log.debug("resource: " + filename + " is unreachable by the current class loader, try the filesystem"); File file = new File(filename); if (!file.exists()) { - log.warn("Resource " + filename + " do not exists on the filesystem"); + log.debug("resource: " + filename + " do not exists on the filesystem"); return null; } try { return new FileInputStream(file); } catch (FileNotFoundException e) { - log.warn("Resource " + filename + " exists on the filesystem, but its URL is invalid: " + e.getMessage()); + log.debug("resource: " + filename + " exists on the filesystem, but its URL is invalid: " + e.getMessage()); return null; } } diff --git a/jsprit-core/src/main/resources/log4j2.xml b/jsprit-core/src/main/resources/log4j2.xml index 383481a0..cb4db72b 100644 --- a/jsprit-core/src/main/resources/log4j2.xml +++ b/jsprit-core/src/main/resources/log4j2.xml @@ -6,7 +6,7 @@ - +