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

migrated from log4j1x to log4j2

This commit is contained in:
oblonski 2014-07-25 09:57:40 +02:00
parent 64f0829e4a
commit 42570d69ac
47 changed files with 480 additions and 437 deletions

View file

@ -18,9 +18,6 @@
package jsprit.core.algorithm;
import java.util.ArrayList;
import java.util.List;
import jsprit.core.algorithm.recreate.InsertionStrategy;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.job.Job;
@ -28,15 +25,16 @@ import jsprit.core.problem.solution.InitialSolutionFactory;
import jsprit.core.problem.solution.SolutionCostCalculator;
import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import jsprit.core.problem.solution.route.VehicleRoute;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
public final class InsertionInitialSolutionFactory implements InitialSolutionFactory {
private static final Logger logger = Logger.getLogger(InsertionInitialSolutionFactory.class);
private static final Logger logger = LogManager.getLogger(InsertionInitialSolutionFactory.class);
private final InsertionStrategy insertion;

View file

@ -16,28 +16,24 @@
******************************************************************************/
package jsprit.core.algorithm;
import java.util.Collection;
import jsprit.core.algorithm.io.VehicleRoutingAlgorithms;
import jsprit.core.algorithm.listener.AlgorithmStartsListener;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import jsprit.core.problem.solution.route.VehicleRoute;
import jsprit.core.problem.solution.route.activity.TourActivity;
import jsprit.core.util.CrowFlyCosts;
import jsprit.core.util.EuclideanDistanceCalculator;
import jsprit.core.util.Locations;
import jsprit.core.util.NeighborhoodImpl;
import jsprit.core.util.Solutions;
import jsprit.core.util.*;
import org.apache.commons.math.stat.descriptive.moment.Mean;
import org.apache.commons.math.stat.descriptive.moment.StandardDeviation;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Collection;
class NeighborhoodThresholdInitialiser implements AlgorithmStartsListener{
private static Logger log = Logger.getLogger(NeighborhoodThresholdInitialiser.class);
private static Logger log = LogManager.getLogger(NeighborhoodThresholdInitialiser.class);
private NeighborhoodImpl neighborhood;

View file

@ -16,22 +16,18 @@
******************************************************************************/
package jsprit.core.algorithm;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import jsprit.core.algorithm.acceptor.SolutionAcceptor;
import jsprit.core.algorithm.listener.SearchStrategyModuleListener;
import jsprit.core.algorithm.selector.SolutionSelector;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.SolutionCostCalculator;
import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
public class SearchStrategy {
@ -62,7 +58,7 @@ public class SearchStrategy {
}
private static Logger logger = Logger.getLogger(SearchStrategy.class);
private static Logger logger = LogManager.getLogger(SearchStrategy.class);
private Collection<SearchStrategyModule> searchStrategyModules = new ArrayList<SearchStrategyModule>();

View file

@ -16,23 +16,18 @@
******************************************************************************/
package jsprit.core.algorithm;
import java.util.ArrayList;
import java.util.Collection;
import jsprit.core.algorithm.SearchStrategy.DiscoveredSolution;
import jsprit.core.algorithm.listener.AlgorithmEndsListener;
import jsprit.core.algorithm.listener.AlgorithmStartsListener;
import jsprit.core.algorithm.listener.IterationEndsListener;
import jsprit.core.algorithm.listener.IterationStartsListener;
import jsprit.core.algorithm.listener.SearchStrategyListener;
import jsprit.core.algorithm.listener.SearchStrategyModuleListener;
import jsprit.core.algorithm.listener.VehicleRoutingAlgorithmListener;
import jsprit.core.algorithm.listener.VehicleRoutingAlgorithmListeners;
import jsprit.core.algorithm.listener.*;
import jsprit.core.algorithm.termination.PrematureAlgorithmTermination;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import jsprit.core.problem.solution.route.VehicleRoute;
import jsprit.core.problem.solution.route.activity.TourActivity;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.Collection;
/**
@ -47,7 +42,7 @@ public class VehicleRoutingAlgorithm {
private final String name;
private long counter = 0;
private long nextCounter = 1;
private static final Logger log = Logger.getLogger(Counter.class);
private static final Logger log = LogManager.getLogger(Counter.class);
public Counter(final String name) {
this.name = name;
@ -69,10 +64,8 @@ public class VehicleRoutingAlgorithm {
nextCounter=1;
}
}
public static final int NOBREAK = Integer.MAX_VALUE;
private static Logger logger = Logger.getLogger(VehicleRoutingAlgorithm.class);
private static Logger logger = LogManager.getLogger(VehicleRoutingAlgorithm.class);
private VehicleRoutingProblem problem;
@ -112,16 +105,40 @@ public class VehicleRoutingAlgorithm {
/**
* Adds solution to the collection of initial solutions.
*
* @param solution
* @param solution the solution to be added
*/
public void addInitialSolution(VehicleRoutingProblemSolution solution){
initialSolutions.add(solution);
verify(solution);
initialSolutions.add(solution);
}
/**
private void verify(VehicleRoutingProblemSolution solution) {
int nuJobs = 0;
for(VehicleRoute route : solution.getRoutes()){
nuJobs += route.getTourActivities().getJobs().size();
if(route.getVehicle().getIndex() == 0)
throw new IllegalStateException("vehicle used in initial solution has no index. probably a vehicle is used that has not been added to the " +
" the VehicleRoutingProblem. only use vehicles that have already been added to the problem.");
for(TourActivity act : route.getActivities()) {
if (act.getIndex() == 0) {
throw new IllegalStateException("act in initial solution has no index. activities are created and associated to their job in VehicleRoutingProblem\n." +
" thus if you build vehicle-routes use the jobActivityFactory from vehicle routing problem like that \n" +
" VehicleRoute.Builder.newInstance(knownVehicle).setJobActivityFactory(vrp.getJobActivityFactory).addService(..)....build() \n" +
" then the activities that are created to build the route are identical to the ones used in VehicleRoutingProblem");
}
}
}
if(nuJobs != problem.getJobs().values().size()){
logger.warn("number of jobs in initial solution (" + nuJobs + ") is not equal nuJobs in vehicle routing problem (" + problem.getJobs().values().size() + ")" +
"\n this might yield unintended effects, e.g. initial solution cannot be improved anymore.");
}
}
/**
* Sets premature termination.
*
* @param prematureAlgorithmTermination
* @param prematureAlgorithmTermination the termination criterion
*/
public void setPrematureAlgorithmTermination(PrematureAlgorithmTermination prematureAlgorithmTermination){
this.prematureAlgorithmTermination = prematureAlgorithmTermination;

View file

@ -16,9 +16,6 @@
******************************************************************************/
package jsprit.core.algorithm.acceptor;
import java.net.URL;
import java.util.Collection;
import jsprit.core.algorithm.VehicleRoutingAlgorithm;
import jsprit.core.algorithm.io.AlgorithmConfig;
import jsprit.core.algorithm.io.AlgorithmConfigXmlReader;
@ -30,16 +27,17 @@ import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import jsprit.core.util.Resource;
import jsprit.core.util.Solutions;
import org.apache.commons.math.stat.descriptive.moment.StandardDeviation;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.net.URL;
import java.util.Collection;
public class ExperimentalSchrimpfAcceptance implements SolutionAcceptor, IterationStartsListener, AlgorithmStartsListener{
private static Logger logger = Logger.getLogger(ExperimentalSchrimpfAcceptance.class);
final static Logger logger = LogManager.getLogger(ExperimentalSchrimpfAcceptance.class.getName());
private final double alpha;

View file

@ -16,9 +16,6 @@
******************************************************************************/
package jsprit.core.algorithm.acceptor;
import java.net.URL;
import java.util.Collection;
import jsprit.core.algorithm.VehicleRoutingAlgorithm;
import jsprit.core.algorithm.io.AlgorithmConfig;
import jsprit.core.algorithm.io.AlgorithmConfigXmlReader;
@ -30,9 +27,12 @@ import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import jsprit.core.util.Resource;
import jsprit.core.util.Solutions;
import org.apache.commons.math.stat.descriptive.moment.StandardDeviation;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.net.URL;
import java.util.Collection;
/**
@ -77,7 +77,7 @@ import org.apache.log4j.Logger;
*/
public class SchrimpfAcceptance implements SolutionAcceptor, IterationStartsListener, AlgorithmStartsListener{
private static Logger logger = Logger.getLogger(SchrimpfAcceptance.class);
private static Logger logger = LogManager.getLogger(SchrimpfAcceptance.class.getName());
private final double alpha;

View file

@ -18,12 +18,6 @@
******************************************************************************/
package jsprit.core.algorithm.acceptor;
import java.net.URL;
import java.util.Collection;
import org.apache.commons.math.stat.descriptive.moment.StandardDeviation;
import org.apache.log4j.Logger;
import jsprit.core.algorithm.VehicleRoutingAlgorithm;
import jsprit.core.algorithm.io.AlgorithmConfig;
import jsprit.core.algorithm.io.AlgorithmConfigXmlReader;
@ -34,10 +28,16 @@ import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import jsprit.core.util.Resource;
import jsprit.core.util.Solutions;
import org.apache.commons.math.stat.descriptive.moment.StandardDeviation;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.net.URL;
import java.util.Collection;
public class SchrimpfInitialThresholdGenerator implements AlgorithmStartsListener {
private static Logger logger = Logger.getLogger(SchrimpfInitialThresholdGenerator.class);
private static Logger logger = LogManager.getLogger(SchrimpfInitialThresholdGenerator.class.getName());
private SchrimpfAcceptance schrimpfAcceptance;

View file

@ -16,22 +16,22 @@
******************************************************************************/
package jsprit.core.algorithm.io;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import jsprit.core.util.Resource;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
public class AlgorithmConfigXmlReader {
private static Logger log = Logger.getLogger(AlgorithmConfigXmlReader.class);
private static Logger log = LogManager.getLogger(AlgorithmConfigXmlReader.class.getName());
private AlgorithmConfig algorithmConfig;

View file

@ -16,10 +16,6 @@
******************************************************************************/
package jsprit.core.algorithm.io;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import jsprit.core.algorithm.listener.VehicleRoutingAlgorithmListeners.PrioritizedVRAListener;
import jsprit.core.algorithm.recreate.BestInsertionBuilder;
import jsprit.core.algorithm.recreate.InsertionStrategy;
@ -28,14 +24,18 @@ import jsprit.core.algorithm.state.StateManager;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.constraint.ConstraintManager;
import jsprit.core.problem.vehicle.VehicleFleetManager;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
class InsertionFactory {
private static Logger log = Logger.getLogger(InsertionFactory.class);
private static Logger log = LogManager.getLogger(InsertionFactory.class.getName());
@SuppressWarnings("deprecation")
public static InsertionStrategy createInsertion(VehicleRoutingProblem vrp, HierarchicalConfiguration config,

View file

@ -58,7 +58,8 @@ import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.problem.vehicle.VehicleFleetManager;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.configuration.XMLConfiguration;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.lang.Thread.UncaughtExceptionHandler;
import java.net.URL;
@ -354,7 +355,7 @@ public class VehicleRoutingAlgorithms {
}
private static Logger log = Logger.getLogger(VehicleRoutingAlgorithms.class);
private static Logger log = LogManager.getLogger(VehicleRoutingAlgorithms.class.getName());
private VehicleRoutingAlgorithms(){}

View file

@ -25,7 +25,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.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.*;
@ -62,7 +63,7 @@ final class BestInsertion implements InsertionStrategy{
}
private static Logger logger = Logger.getLogger(BestInsertion.class);
private static Logger logger = LogManager.getLogger(BestInsertion.class);
private Random random = RandomNumberGeneration.getRandom();

View file

@ -25,7 +25,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.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.*;
import java.util.concurrent.*;
@ -68,7 +69,7 @@ final class BestInsertionConcurrent implements InsertionStrategy{
}
private static Logger logger = Logger.getLogger(BestInsertionConcurrent.class);
private static Logger logger = LogManager.getLogger(BestInsertionConcurrent.class);
private Random random = RandomNumberGeneration.getRandom();

View file

@ -16,22 +16,21 @@
******************************************************************************/
package jsprit.core.algorithm.recreate;
import java.util.ArrayList;
import java.util.List;
import jsprit.core.problem.driver.Driver;
import jsprit.core.problem.job.Job;
import jsprit.core.problem.solution.route.VehicleRoute;
import jsprit.core.problem.vehicle.Vehicle;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
class CalculatesServiceInsertionWithTimeScheduling implements JobInsertionCostsCalculator{
private static Logger log = Logger.getLogger(CalculatesServiceInsertionWithTimeScheduling.class);
private static Logger log = LogManager.getLogger(CalculatesServiceInsertionWithTimeScheduling.class);
private JobInsertionCostsCalculator jic;

View file

@ -27,11 +27,12 @@ import jsprit.core.problem.solution.route.state.RouteAndActivityStateGetter;
import jsprit.core.problem.solution.route.state.StateFactory;
import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.problem.vehicle.VehicleImpl.NoVehicle;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
final class JobInsertionConsideringFixCostsCalculator implements JobInsertionCostsCalculator, SoftRouteConstraint{
private static final Logger logger = Logger.getLogger(JobInsertionConsideringFixCostsCalculator.class);
private static final Logger logger = LogManager.getLogger(JobInsertionConsideringFixCostsCalculator.class);
private final JobInsertionCostsCalculator standardServiceInsertion;

View file

@ -30,7 +30,8 @@ import jsprit.core.problem.solution.route.activity.Start;
import jsprit.core.problem.solution.route.activity.TourActivity;
import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.util.CalculationUtils;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
* Calculator that calculates the best insertion position for a {@link Service}.
@ -40,7 +41,7 @@ import org.apache.log4j.Logger;
*/
final class ServiceInsertionCalculator implements JobInsertionCostsCalculator{
private static final Logger logger = Logger.getLogger(ServiceInsertionCalculator.class);
private static final Logger logger = LogManager.getLogger(ServiceInsertionCalculator.class);
private HardRouteStateLevelConstraint hardRouteLevelConstraint;

View file

@ -35,7 +35,8 @@ import jsprit.core.problem.solution.route.state.RouteAndActivityStateGetter;
import jsprit.core.problem.solution.route.state.StateFactory;
import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.problem.vehicle.VehicleImpl.NoVehicle;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.*;
@ -44,7 +45,7 @@ import java.util.*;
final class ServiceInsertionOnRouteLevelCalculator implements JobInsertionCostsCalculator{
private static final Logger logger = Logger.getLogger(ServiceInsertionOnRouteLevelCalculator.class);
private static final Logger logger = LogManager.getLogger(ServiceInsertionOnRouteLevelCalculator.class);
private final VehicleRoutingTransportCosts transportCosts;

View file

@ -31,7 +31,8 @@ import jsprit.core.problem.solution.route.activity.TourActivity;
import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.problem.vehicle.VehicleImpl.NoVehicle;
import jsprit.core.util.CalculationUtils;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.List;
@ -40,7 +41,7 @@ import java.util.List;
final class ShipmentInsertionCalculator implements JobInsertionCostsCalculator{
private static final Logger logger = Logger.getLogger(ShipmentInsertionCalculator.class);
private static final Logger logger = LogManager.getLogger(ShipmentInsertionCalculator.class);
private HardRouteStateLevelConstraint hardRouteLevelConstraint;

View file

@ -16,11 +16,6 @@
******************************************************************************/
package jsprit.core.algorithm.recreate;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import jsprit.core.algorithm.recreate.InsertionData.NoInsertionFound;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.driver.Driver;
@ -29,13 +24,18 @@ import jsprit.core.problem.solution.route.VehicleRoute;
import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.problem.vehicle.VehicleFleetManager;
import jsprit.core.problem.vehicle.VehicleImpl.NoVehicle;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
final class VehicleTypeDependentJobInsertionCalculator implements JobInsertionCostsCalculator{
private Logger logger = Logger.getLogger(VehicleTypeDependentJobInsertionCalculator.class);
private Logger logger = LogManager.getLogger(VehicleTypeDependentJobInsertionCalculator.class);
private final VehicleFleetManager fleetManager;

View file

@ -16,17 +16,6 @@
******************************************************************************/
package jsprit.core.algorithm.ruin;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.TreeSet;
import jsprit.core.algorithm.ruin.distance.JobDistance;
import jsprit.core.algorithm.ruin.listener.RuinListener;
import jsprit.core.algorithm.ruin.listener.RuinListeners;
@ -35,9 +24,10 @@ import jsprit.core.problem.job.Job;
import jsprit.core.problem.solution.route.VehicleRoute;
import jsprit.core.util.RandomNumberGeneration;
import jsprit.core.util.StopWatch;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.util.*;
/**
@ -59,7 +49,7 @@ final class RuinRadial implements RuinStrategy {
static class NeighborhoodIterator implements Iterator<Job>{
private static Logger log = Logger.getLogger(NeighborhoodIterator.class);
private static Logger log = LogManager.getLogger(NeighborhoodIterator.class);
private Iterator<ReferencedJob> jobIter;
@ -99,7 +89,7 @@ final class RuinRadial implements RuinStrategy {
static class JobNeighborhoodsImpl implements JobNeighborhoods {
private static Logger logger = Logger.getLogger(JobNeighborhoodsImpl.class);
private static Logger logger = LogManager.getLogger(JobNeighborhoodsImpl.class);
private VehicleRoutingProblem vrp;
@ -161,7 +151,7 @@ final class RuinRadial implements RuinStrategy {
static class JobNeighborhoodsImplWithCapRestriction implements JobNeighborhoods {
private static Logger logger = Logger.getLogger(JobNeighborhoodsImpl.class);
private static Logger logger = LogManager.getLogger(JobNeighborhoodsImpl.class);
private VehicleRoutingProblem vrp;
@ -259,7 +249,7 @@ final class RuinRadial implements RuinStrategy {
}
}
private Logger logger = Logger.getLogger(RuinRadial.class);
private Logger logger = LogManager.getLogger(RuinRadial.class);
private VehicleRoutingProblem vrp;

View file

@ -16,21 +16,16 @@
******************************************************************************/
package jsprit.core.algorithm.ruin;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
import jsprit.core.algorithm.ruin.listener.RuinListener;
import jsprit.core.algorithm.ruin.listener.RuinListeners;
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 org.apache.log4j.Logger;
import java.util.*;
/**
@ -43,7 +38,7 @@ import org.apache.log4j.Logger;
final class RuinRandom implements RuinStrategy {
private Logger logger = Logger.getLogger(RuinRandom.class);
private Logger logger = LogManager.getLogger(RuinRandom.class);
private VehicleRoutingProblem vrp;

View file

@ -180,8 +180,8 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
public StateManager(VehicleRoutingProblem vehicleRoutingProblem){
this.routingCosts = vehicleRoutingProblem.getTransportCosts();
this.vrp = vehicleRoutingProblem;
nuActivities = Math.max(10,vrp.getNuActivities() + 1);
nuVehicleTypeKeys = Math.max(3,getNuVehicleTypes(vrp) + 1);
nuActivities = Math.max(10, vrp.getNuActivities() + 1);
nuVehicleTypeKeys = Math.max(3, getNuVehicleTypes(vrp) + 2);
activity_states = new Object[nuActivities][initialNuStates];
route_states = new Object[nuActivities][initialNuStates];
vehicle_dependent_activity_states = new Object[nuActivities][nuVehicleTypeKeys][initialNuStates];
@ -285,7 +285,8 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
*/
@Override
public <T> T getActivityState(TourActivity act, StateId stateId, Class<T> type) {
if(act.getIndex()<0) return null;
if(act.getIndex() == 0) throw new IllegalStateException("activity index is 0. this should not be.");
if(act.getIndex()<0) return null;
T state;
try{
state = type.cast(activity_states[act.getIndex()][stateId.getIndex()]);
@ -305,6 +306,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
* @return true if a state value is associated otherwise false
*/
public boolean hasActivityState(TourActivity act, Vehicle vehicle, StateId stateId){
if(act.getIndex() == 0) throw new IllegalStateException("activity index is 0. this should not be.");
return vehicle_dependent_activity_states[act.getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()] != null;
}
@ -322,6 +324,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
* @throws java.lang.ClassCastException if type class is not equal to the associated type class of the requested state value
*/
public <T> T getActivityState(TourActivity act, Vehicle vehicle, StateId stateId, Class<T> type) {
if(act.getIndex() == 0) throw new IllegalStateException("activity index is 0. this should not be.");
if(act.getIndex()<0) return null;
T state;
try {
@ -367,11 +370,13 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
public <T> T getRouteState(VehicleRoute route, StateId stateId, Class<T> type) {
if(route.isEmpty()) return null;
T state;
int index_of_first_act = route.getActivities().get(0).getIndex();
if(index_of_first_act == 0) throw new IllegalStateException("first activity in route has no index. this should not be.");
try{
state = type.cast(route_states[route.getActivities().get(0).getIndex()][stateId.getIndex()]);
state = type.cast(route_states[index_of_first_act][stateId.getIndex()]);
}
catch (ClassCastException e){
throw getClassCastException(e,stateId,type.toString(),route_states[route.getActivities().get(0).getIndex()][stateId.getIndex()].getClass().toString());
throw getClassCastException(e,stateId,type.toString(),route_states[index_of_first_act][stateId.getIndex()].getClass().toString());
}
return state;
}
@ -401,12 +406,14 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
*/
public <T> T getRouteState(VehicleRoute route, Vehicle vehicle, StateId stateId, Class<T> type) {
if(route.isEmpty()) return null;
int index_of_first_act = route.getActivities().get(0).getIndex();
if(index_of_first_act == 0) throw new IllegalStateException("first activity in route has no index. this should not be.");
T state;
try{
state = type.cast(vehicle_dependent_route_states[route.getActivities().get(0).getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()]);
state = type.cast(vehicle_dependent_route_states[index_of_first_act][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()]);
}
catch( ClassCastException e){
throw getClassCastException(e, stateId, type.toString(), vehicle_dependent_route_states[route.getActivities().get(0).getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()].getClass().toString());
throw getClassCastException(e, stateId, type.toString(), vehicle_dependent_route_states[index_of_first_act][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()].getClass().toString());
}
return state;
}
@ -445,6 +452,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
*/
@Deprecated
public <T> void putActivityState(TourActivity act, StateId stateId, Class<T> type, T state){
if(act.getIndex() == 0) throw new IllegalStateException("activity index is 0. this should not be.");
if(stateId.getIndex()<10) throw new IllegalStateException("either you use a reserved stateId that is applied\n" +
"internally or your stateId has been created without index, e.g. StateFactory.createId(stateName)\n" +
" does not assign indeces thus do not use it anymore, but use\n " +
@ -464,6 +472,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
* @throws java.lang.IllegalStateException if stateId is equall to a stateId that is already used internally.
*/
public <T> void putActivityState(TourActivity act, StateId stateId, T state){
if(act.getIndex() == 0) throw new IllegalStateException("activity index is 0. this should not be.");
if(stateId.getIndex()<10) throw new IllegalStateException("either you use a reserved stateId that is applied\n" +
"internally or your stateId has been created without index, e.g. StateFactory.createId(stateName)\n" +
" does not assign indeces thus do not use it anymore, but use\n " +
@ -484,6 +493,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
* @throws java.lang.IllegalStateException if stateId is equall to a stateId that is already used internally.
*/
public <T> void putActivityState(TourActivity act, Vehicle vehicle, StateId stateId, T state){
if(act.getIndex() == 0) throw new IllegalStateException("activity index is 0. this should not be.");
if(stateId.getIndex()<10) throw new IllegalStateException("either you use a reserved stateId that is applied\n" +
"internally or your stateId has been created without index, e.g. StateFactory.createId(stateName)\n" +
" does not assign indeces thus do not use it anymore, but use\n " +
@ -539,6 +549,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
* @throws java.lang.IllegalStateException if stateId is equall to a stateId that is already used internally.
*/
public <T> void putRouteState(VehicleRoute route, Vehicle vehicle, StateId stateId, T state){
if(vehicle.getIndex() == 0) throw new IllegalStateException("vehicle index is 0. this should not be.");
if(stateId.getIndex()<10) StateFactory.throwReservedIdException(stateId.toString());
putTypedInternalRouteState(route, vehicle, stateId, state);
}

View file

@ -17,13 +17,13 @@
package jsprit.core.algorithm.termination;
import jsprit.core.algorithm.SearchStrategy.DiscoveredSolution;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class IterationWithoutImprovementTermination implements PrematureAlgorithmTermination{
private static Logger log = Logger.getLogger(IterationWithoutImprovementTermination.class);
private static Logger log = LogManager.getLogger(IterationWithoutImprovementTermination.class);
private int nuOfIterationWithoutImprovement;

View file

@ -16,15 +16,15 @@
******************************************************************************/
package jsprit.core.algorithm.termination;
import java.util.Collection;
import jsprit.core.algorithm.SearchStrategy.DiscoveredSolution;
import jsprit.core.algorithm.VehicleRoutingAlgorithm;
import jsprit.core.algorithm.listener.AlgorithmStartsListener;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.util.Collection;
/**
@ -38,7 +38,7 @@ import org.apache.log4j.Logger;
*/
public class TimeTermination implements PrematureAlgorithmTermination, AlgorithmStartsListener{
private static Logger logger = Logger.getLogger(TimeTermination.class);
private static Logger logger = LogManager.getLogger(TimeTermination.class);
private double timeThreshold;

View file

@ -16,8 +16,6 @@
******************************************************************************/
package jsprit.core.algorithm.termination;
import java.util.Collection;
import jsprit.core.algorithm.SearchStrategy.DiscoveredSolution;
import jsprit.core.algorithm.VehicleRoutingAlgorithm;
import jsprit.core.algorithm.listener.AlgorithmStartsListener;
@ -26,10 +24,12 @@ import jsprit.core.algorithm.listener.IterationStartsListener;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import jsprit.core.util.Solutions;
import org.apache.commons.math.stat.StatUtils;
import org.apache.commons.math.stat.descriptive.moment.StandardDeviation;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Collection;
/**
@ -44,7 +44,7 @@ import org.apache.log4j.Logger;
*/
public class VariationCoefficientTermination implements PrematureAlgorithmTermination, IterationStartsListener, AlgorithmStartsListener, IterationEndsListener{
private static Logger logger = Logger.getLogger(VariationCoefficientTermination.class);
private static Logger logger = LogManager.getLogger(VariationCoefficientTermination.class);
private int nuOfIterations;

View file

@ -30,7 +30,8 @@ import jsprit.core.problem.vehicle.*;
import jsprit.core.util.Coordinate;
import jsprit.core.util.CrowFlyCosts;
import jsprit.core.util.Locations;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.*;
@ -127,13 +128,13 @@ public class VehicleRoutingProblem {
private Double penaltyFixedCosts = null;
private int jobIndexCounter = 0;
private int jobIndexCounter = 1;
private int vehicleIndexCounter = 0;
private int vehicleIndexCounter = 1;
private int activityIndexCounter = 0;
private int activityIndexCounter = 1;
private int vehicleTypeIdIndexCounter = 0;
private int vehicleTypeIdIndexCounter = 1;
private Map<VehicleTypeKey,Integer> typeKeyIndices = new HashMap<VehicleTypeKey, Integer>();
@ -162,12 +163,6 @@ public class VehicleRoutingProblem {
return id;
}
@SuppressWarnings("UnusedDeclaration")
public Builder setJobActivityFactory(JobActivityFactory factory){
this.jobActivityFactory = factory;
return this;
}
private void incJobIndexCounter(){
jobIndexCounter++;
}
@ -586,7 +581,7 @@ public class VehicleRoutingProblem {
/**
* logger logging for this class
*/
private final static Logger logger = Logger.getLogger(VehicleRoutingProblem.class);
private final static Logger logger = LogManager.getLogger(VehicleRoutingProblem.class);
/**
* contains transportation costs, i.e. the costs traveling from location A to B
@ -631,6 +626,15 @@ public class VehicleRoutingProblem {
private Map<Job,List<AbstractActivity>> activityMap;
private int nuActivities;
private final JobActivityFactory jobActivityFactory = new JobActivityFactory() {
@Override
public List<AbstractActivity> createActivities(Job job) {
return copyAndGetActivities(job);
}
};
private VehicleRoutingProblem(Builder builder) {
this.jobs = builder.jobs;
@ -737,6 +741,10 @@ public class VehicleRoutingProblem {
public int getNuActivities(){ return nuActivities; }
public JobActivityFactory getJobActivityFactory(){
return jobActivityFactory;
};
public List<AbstractActivity> copyAndGetActivities(Job job){
List<AbstractActivity> acts = new ArrayList<AbstractActivity>();
if(activityMap.containsKey(job)) {

View file

@ -22,7 +22,8 @@ import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.misc.JobInsertionContext;
import jsprit.core.problem.solution.route.activity.TourActivity;
import jsprit.core.problem.solution.route.state.RouteAndActivityStateGetter;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.Collection;
@ -41,7 +42,7 @@ public class ConstraintManager implements HardActivityStateLevelConstraint, Hard
CRITICAL, HIGH, LOW
}
private static Logger log = Logger.getLogger(ConstraintManager.class);
private static Logger log = LogManager.getLogger(ConstraintManager.class);
private HardActivityLevelConstraintManager actLevelConstraintManager = new HardActivityLevelConstraintManager();

View file

@ -16,16 +16,6 @@
******************************************************************************/
package jsprit.core.problem.io;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.VehicleRoutingProblem.FleetSize;
import jsprit.core.problem.driver.Driver;
@ -38,23 +28,23 @@ import jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import jsprit.core.problem.solution.route.VehicleRoute;
import jsprit.core.problem.solution.route.activity.TimeWindow;
import jsprit.core.problem.solution.route.activity.TourActivityFactory;
import jsprit.core.problem.vehicle.PenaltyVehicleType;
import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.problem.vehicle.VehicleImpl;
import jsprit.core.problem.vehicle.*;
import jsprit.core.problem.vehicle.VehicleImpl.Builder;
import jsprit.core.problem.vehicle.VehicleType;
import jsprit.core.problem.vehicle.VehicleTypeImpl;
import jsprit.core.util.Coordinate;
import jsprit.core.util.Resource;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.configuration.XMLConfiguration;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
public class VrpXMLReader{
public interface ServiceBuilderFactory {
@ -120,7 +110,7 @@ public class VrpXMLReader{
}
private static Logger logger = Logger.getLogger(VrpXMLReader.class);
private static Logger logger = LogManager.getLogger(VrpXMLReader.class);
private VehicleRoutingProblem.Builder vrpBuilder;

View file

@ -16,13 +16,6 @@
******************************************************************************/
package jsprit.core.problem.io;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.job.Job;
import jsprit.core.problem.job.Service;
@ -34,15 +27,22 @@ import jsprit.core.problem.solution.route.activity.TourActivity.JobActivity;
import jsprit.core.problem.vehicle.PenaltyVehicleType;
import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.problem.vehicle.VehicleType;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class VrpXMLWriter {
@ -60,7 +60,7 @@ public class VrpXMLWriter {
}
}
private Logger log = Logger.getLogger(VrpXMLWriter.class);
private Logger log = LogManager.getLogger(VrpXMLWriter.class);
private VehicleRoutingProblem vrp;
@ -76,7 +76,7 @@ public class VrpXMLWriter {
this.solutions = null;
}
private static Logger logger = Logger.getLogger(VrpXMLWriter.class);
private static Logger logger = LogManager.getLogger(VrpXMLWriter.class);
public void write(String filename){
if(!filename.endsWith(".xml")) filename+=".xml";

View file

@ -16,18 +16,17 @@
******************************************************************************/
package jsprit.core.problem.vehicle;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.*;
import org.apache.log4j.Logger;
class InfiniteVehicles implements VehicleFleetManager{
private static Logger logger = Logger.getLogger(InfiniteVehicles.class);
private static Logger logger = LogManager.getLogger(InfiniteVehicles.class);
private Map<VehicleTypeKey,Vehicle> types = new HashMap<VehicleTypeKey, Vehicle>();

View file

@ -16,18 +16,12 @@
******************************************************************************/
package jsprit.core.problem.vehicle;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import jsprit.core.problem.vehicle.VehicleImpl.NoVehicle;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.*;
import org.apache.log4j.Logger;
class VehicleFleetManagerImpl implements VehicleFleetManager {
@ -79,7 +73,7 @@ class VehicleFleetManagerImpl implements VehicleFleetManager {
}
private static Logger logger = Logger.getLogger(VehicleFleetManagerImpl.class);
private static Logger logger = LogManager.getLogger(VehicleFleetManagerImpl.class);
private Collection<Vehicle> vehicles;

View file

@ -18,7 +18,9 @@ package jsprit.core.problem.vehicle;
import jsprit.core.problem.AbstractVehicle;
import jsprit.core.util.Coordinate;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
@ -56,7 +58,7 @@ public class VehicleImpl extends AbstractVehicle{
*
*/
public static class Builder {
static Logger log = Logger.getLogger(Builder.class);
static Logger log = LogManager.getLogger(Builder.class.getName());
private String id;
private String locationId;

View file

@ -16,23 +16,17 @@
******************************************************************************/
package jsprit.core.util;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import jsprit.core.problem.job.Service;
import jsprit.core.problem.vehicle.Vehicle;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.util.*;
public class NeighborhoodImpl implements Neighborhood{
private static Logger log = Logger.getLogger(NeighborhoodImpl.class);
private static Logger log = LogManager.getLogger(NeighborhoodImpl.class);
private Set<String> neighborsToAll;

View file

@ -16,6 +16,9 @@
******************************************************************************/
package jsprit.core.util;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@ -23,7 +26,6 @@ import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.log4j.Logger;
/**
*
@ -32,7 +34,7 @@ import org.apache.log4j.Logger;
*/
public class Resource {
private static Logger log = Logger.getLogger(Resource.class);
private static Logger log = LogManager.getLogger(Resource.class);
public final static URL getAsURL(final String filename) {
URL url = Resource.class.getClassLoader().getResource(filename);

View file

@ -16,20 +16,20 @@
******************************************************************************/
package jsprit.core.util;
import java.util.HashMap;
import java.util.Map;
import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.cost.AbstractForwardVehicleRoutingTransportCosts;
import jsprit.core.problem.driver.Driver;
import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.problem.vehicle.VehicleTypeImpl.VehicleCostParams;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.log4j.Logger;
import java.util.HashMap;
import java.util.Map;
/**
* CostMatrix that allows pre-compiled time and distance-matrices to be considered as {@link VehicleRoutingRoutingCosts}
* CostMatrix that allows pre-compiled time and distance-matrices to be considered as {@link VehicleRoutingTransportCosts}
* in the {@link VehicleRoutingProblem}.
* <p>Note that you can also use it with distance matrix only (or time matrix). But ones
* you set a particular distance, this expects distance-entries for all relations. This counts also
@ -101,7 +101,7 @@ public class VehicleRoutingTransportCostsMatrix extends AbstractForwardVehicleRo
*
*/
public static class Builder {
private static Logger log = Logger.getLogger(Builder.class);
private static Logger log = LogManager.getLogger(Builder.class);
private boolean isSymmetric;

View file

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2013 Stefan Schroeder
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Contributors:
Stefan Schroeder - initial API and implementation
-->
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %5p %C{1}:%L %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="trace" />
<param name="LevelMax" value="info" />
</filter>
</appender>
<root>
<priority value="debug"></priority>
<appender-ref ref="stdout"/>
</root>
</log4j:configuration>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{ISO8601} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>