1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00
This commit is contained in:
oblonski 2015-04-24 16:07:26 +02:00
parent 7b578d3ce6
commit 4757753f26
14 changed files with 25 additions and 56 deletions

View file

@ -39,7 +39,7 @@ public interface SolutionAcceptor {
* *
* @param solutions collection of existing solutions * @param solutions collection of existing solutions
* @param newSolution new solution to be evaluated * @param newSolution new solution to be evaluated
* @return TODO * @return true if solution accepted
*/ */
public boolean acceptSolution(Collection<VehicleRoutingProblemSolution> solutions, VehicleRoutingProblemSolution newSolution); public boolean acceptSolution(Collection<VehicleRoutingProblemSolution> solutions, VehicleRoutingProblemSolution newSolution);

View file

@ -43,7 +43,7 @@ public class DellAmicoFixCostCalculator implements SoftRouteConstraint, Insertio
} }
@Override @Override
public double getCosts(JobInsertionContext insertionContext) {// TODO Auto-generated method stub public double getCosts(JobInsertionContext insertionContext) {
return calculator.getCosts(insertionContext); return calculator.getCosts(insertionContext);
} }

View file

@ -47,8 +47,7 @@ class Inserter {
@Override @Override
public void setNextHandler(JobInsertionHandler handler) { public void setNextHandler(JobInsertionHandler handler) {
// TODO Auto-generated method stub
} }
} }

View file

@ -112,7 +112,7 @@ public class JobInsertionCostsCalculatorBuilder {
/** /**
* Sets activityStates. MUST be set. * Sets activityStates. MUST be set.
* @param stateManager TODO * @param stateManager
* *
* @return * @return
*/ */
@ -147,7 +147,7 @@ public class JobInsertionCostsCalculatorBuilder {
* Sets a flag to build a calculator based on local calculations. * Sets a flag to build a calculator based on local calculations.
* *
* <p>Insertion of a job and job-activity is evaluated based on the previous and next activity. * <p>Insertion of a job and job-activity is evaluated based on the previous and next activity.
* @param addDefaultCostCalc TODO * @param addDefaultCostCalc
*/ */
public JobInsertionCostsCalculatorBuilder setLocalLevel(boolean addDefaultCostCalc){ public JobInsertionCostsCalculatorBuilder setLocalLevel(boolean addDefaultCostCalc){
local = true; local = true;
@ -165,7 +165,7 @@ public class JobInsertionCostsCalculatorBuilder {
* *
* @param forwardLooking * @param forwardLooking
* @param memory * @param memory
* @param addDefaultMarginalCostCalc TODO * @param addDefaultMarginalCostCalc
*/ */
public JobInsertionCostsCalculatorBuilder setRouteLevel(int forwardLooking, int memory, boolean addDefaultMarginalCostCalc){ public JobInsertionCostsCalculatorBuilder setRouteLevel(int forwardLooking, int memory, boolean addDefaultMarginalCostCalc){
local = false; local = false;

View file

@ -119,7 +119,7 @@ public class VehicleDependentTimeWindowConstraints implements HardActivityConstr
routingCosts.getBackwardTransportTime(newAct.getLocation(),nextActLocation,latestArrTimeAtNextAct,iFacts.getNewDriver(),iFacts.getNewVehicle()) routingCosts.getBackwardTransportTime(newAct.getLocation(),nextActLocation,latestArrTimeAtNextAct,iFacts.getNewDriver(),iFacts.getNewVehicle())
- newAct.getOperationTime() - newAct.getOperationTime()
); );
//ToDo: SUSPICIOUS - hier muss noch operation time weg
/* /*
* |--- prevAct ---| * |--- prevAct ---|
* |--- vehicle's arrival @newAct * |--- vehicle's arrival @newAct

View file

@ -53,10 +53,9 @@ public interface VehicleRoutingActivityCosts {
* @param tourAct * @param tourAct
* @param arrivalTime is actually the arrival time at this tourActivity, which must not nessecarrily be the operation start time. If the theoretical earliest * @param arrivalTime is actually the arrival time at this tourActivity, which must not nessecarrily be the operation start time. If the theoretical earliest
* operation start time at this activity is later than actualStartTime, the driver must wait at this activity. * operation start time at this activity is later than actualStartTime, the driver must wait at this activity.
* @param driver TODO * @param driver
* @param vehicle TODO * @param vehicle
* @param earliestStartTime, this is the practical earliest operation start time which considers also previous activities. *
* @param latestStartTime, this is the practical latest operation start time which consider also future activities in the tour.
* if earliestStartTime > latestStartTime activity operations cannot be conducted within the given time-window. * if earliestStartTime > latestStartTime activity operations cannot be conducted within the given time-window.
* @return * @return
*/ */

View file

@ -137,10 +137,8 @@ public class RefuseCollectionWithCostsHigherThanTimesAndFiniteFleet_IT {
readDemandQuantities(vrpBuilder); readDemandQuantities(vrpBuilder);
readDistances(matrixBuilder); readDistances(matrixBuilder);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }

View file

@ -137,10 +137,8 @@ public class RefuseCollectionWithCostsHigherThanTimesAndFiniteFleet_withTimeAndD
readDemandQuantities(vrpBuilder); readDemandQuantities(vrpBuilder);
readDistances(matrixBuilder); readDistances(matrixBuilder);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }

View file

@ -72,15 +72,13 @@ public class SearchStrategyTest {
@Override @Override
public String getName() { public String getName() {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void addModuleListener( public void addModuleListener(
SearchStrategyModuleListener moduleListener) { SearchStrategyModuleListener moduleListener) {
// TODO Auto-generated method stub
} }
}; };
strat.addModule(mod); strat.addModule(mod);
@ -114,15 +112,13 @@ public class SearchStrategyTest {
@Override @Override
public String getName() { public String getName() {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void addModuleListener( public void addModuleListener(
SearchStrategyModuleListener moduleListener) { SearchStrategyModuleListener moduleListener) {
// TODO Auto-generated method stub
} }
}; };
SearchStrategyModule mod2 = new SearchStrategyModule() { SearchStrategyModule mod2 = new SearchStrategyModule() {
@ -135,15 +131,13 @@ public class SearchStrategyTest {
@Override @Override
public String getName() { public String getName() {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void addModuleListener( public void addModuleListener(
SearchStrategyModuleListener moduleListener) { SearchStrategyModuleListener moduleListener) {
// TODO Auto-generated method stub
} }
}; };
strat.addModule(mod); strat.addModule(mod);
@ -181,15 +175,13 @@ public class SearchStrategyTest {
@Override @Override
public String getName() { public String getName() {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void addModuleListener( public void addModuleListener(
SearchStrategyModuleListener moduleListener) { SearchStrategyModuleListener moduleListener) {
// TODO Auto-generated method stub
} }
}; };
strat.addModule(mod); strat.addModule(mod);
@ -225,15 +217,13 @@ public class SearchStrategyTest {
@Override @Override
public String getName() { public String getName() {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void addModuleListener( public void addModuleListener(
SearchStrategyModuleListener moduleListener) { SearchStrategyModuleListener moduleListener) {
// TODO Auto-generated method stub
} }
}; };
strat.addModule(mod); strat.addModule(mod);

View file

@ -191,32 +191,27 @@ public class TestAlgorithmReader {
@Override @Override
public Collection<Job> ruin(Collection<VehicleRoute> vehicleRoutes) { public Collection<Job> ruin(Collection<VehicleRoute> vehicleRoutes) {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public Collection<Job> ruin(Collection<VehicleRoute> vehicleRoutes, public Collection<Job> ruin(Collection<VehicleRoute> vehicleRoutes,
Job targetJob, int nOfJobs2BeRemoved) { Job targetJob, int nOfJobs2BeRemoved) {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void addListener(RuinListener ruinListener) { public void addListener(RuinListener ruinListener) {
// TODO Auto-generated method stub
} }
@Override @Override
public void removeListener(RuinListener ruinListener) { public void removeListener(RuinListener ruinListener) {
// TODO Auto-generated method stub
} }
@Override @Override
public Collection<RuinListener> getListeners() { public Collection<RuinListener> getListeners() {
// TODO Auto-generated method stub
return null; return null;
} }
@ -232,17 +227,15 @@ public class TestAlgorithmReader {
@Override @Override
public String getName() { public String getName() {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public void addModuleListener( public void addModuleListener(
SearchStrategyModuleListener moduleListener) { SearchStrategyModuleListener moduleListener) {
// TODO Auto-generated method stub
} }
};;; };
typedMap.put(accKey, acceptor); typedMap.put(accKey, acceptor);
typedMap.put(moduleKey, stratModule); typedMap.put(moduleKey, stratModule);

View file

@ -38,7 +38,6 @@ public class TestJobDistanceAvgCosts {
@Override @Override
public double getBackwardTransportCost(Location from, Location to, public double getBackwardTransportCost(Location from, Location to,
double arrivalTime, Driver driver, Vehicle vehicle) { double arrivalTime, Driver driver, Vehicle vehicle) {
// TODO Auto-generated method stub
return 0; return 0;
} }
@ -53,7 +52,6 @@ public class TestJobDistanceAvgCosts {
@Override @Override
public double getTransportTime(Location from, Location to, public double getTransportTime(Location from, Location to,
double departureTime, Driver driver, Vehicle vehicle) { double departureTime, Driver driver, Vehicle vehicle) {
// TODO Auto-generated method stub
return 0; return 0;
} }
}; };
@ -75,7 +73,6 @@ public class TestJobDistanceAvgCosts {
@Override @Override
public double getBackwardTransportCost(Location from, Location to, public double getBackwardTransportCost(Location from, Location to,
double arrivalTime, Driver driver, Vehicle vehicle) { double arrivalTime, Driver driver, Vehicle vehicle) {
// TODO Auto-generated method stub
return 0; return 0;
} }
@ -90,7 +87,6 @@ public class TestJobDistanceAvgCosts {
@Override @Override
public double getTransportTime(Location from, Location to, public double getTransportTime(Location from, Location to,
double departureTime, Driver driver, Vehicle vehicle) { double departureTime, Driver driver, Vehicle vehicle) {
// TODO Auto-generated method stub
return 0; return 0;
} }
}; };

View file

@ -22,11 +22,9 @@ import jsprit.core.problem.VehicleRoutingProblem;
import jsprit.core.problem.VehicleRoutingProblem.Builder; import jsprit.core.problem.VehicleRoutingProblem.Builder;
import jsprit.core.problem.job.Shipment; import jsprit.core.problem.job.Shipment;
import jsprit.core.problem.solution.route.activity.TimeWindow; import jsprit.core.problem.solution.route.activity.TimeWindow;
import jsprit.core.problem.vehicle.Vehicle;
import jsprit.core.problem.vehicle.VehicleImpl; import jsprit.core.problem.vehicle.VehicleImpl;
import jsprit.core.problem.vehicle.VehicleTypeImpl; import jsprit.core.problem.vehicle.VehicleTypeImpl;
import jsprit.core.util.Coordinate; import jsprit.core.util.Coordinate;
import jsprit.core.util.Locations;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@ -186,7 +184,6 @@ public class LiLimReader {
} }
reader.close(); reader.close();
} catch (IOException e) { } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }

View file

@ -46,7 +46,7 @@ public class TSPLIB95Reader {
public void read(String filename){ public void read(String filename){
BufferedReader reader = getBufferedReader(filename); BufferedReader reader = getBufferedReader(filename);
String line; String line_;
Coordinate[] coords = null; Coordinate[] coords = null;
int[] demands = null; int[] demands = null;
Integer capacity = null; Integer capacity = null;
@ -61,7 +61,8 @@ public class TSPLIB95Reader {
int dimensions = 0; int dimensions = 0;
int coordIndex = 0; int coordIndex = 0;
Map<Integer,Integer> indexMap = new HashMap<Integer, Integer>(); Map<Integer,Integer> indexMap = new HashMap<Integer, Integer>();
while( ( line = getLine(reader) ) != null ){ while( ( line_ = getLine(reader) ) != null ){
String line = line_.trim();
if(line.startsWith("EOF") || line.contains("EOF")){ if(line.startsWith("EOF") || line.contains("EOF")){
break; break;
} }

View file

@ -61,10 +61,8 @@ public class Instances {
reader.close(); reader.close();
return result; return result;
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
return 0; return 0;
@ -79,7 +77,7 @@ public class Instances {
* Returns a collection of {@link BenchmarkInstance} which are Cordeau's pr instances. * Returns a collection of {@link BenchmarkInstance} which are Cordeau's pr instances.
* <p>Note that this assumes that within the folder 'inputFolder' 10 p-instances are located with their original name, i.e. pr01,pr02,...,pr10. * <p>Note that this assumes that within the folder 'inputFolder' 10 p-instances are located with their original name, i.e. pr01,pr02,...,pr10.
* <p>It also assumes that solution files are also located in inputFolder ending with .res * <p>It also assumes that solution files are also located in inputFolder ending with .res
* @param inputFolder TODO * @param inputFolder
* @param inputFolder where cordeau's pr instances are located. It must end without '/' such as instances/cordeau. * @param inputFolder where cordeau's pr instances are located. It must end without '/' such as instances/cordeau.
* *
* @return a collection of {@link BenchmarkInstance} * @return a collection of {@link BenchmarkInstance}
@ -185,7 +183,7 @@ public class Instances {
* Returns a collection of {@link BenchmarkInstance} which are Solomon instances. * Returns a collection of {@link BenchmarkInstance} which are Solomon instances.
* <p>Note that this assumes that within the folder 'inputFolder' 11 R1-instances are located with their original name, i.e. R201.txt,R202.txt,...,R111.txt. * <p>Note that this assumes that within the folder 'inputFolder' 11 R1-instances are located with their original name, i.e. R201.txt,R202.txt,...,R111.txt.
* <p>Note that unlike the original problems, a fixed-cost value of 1000 is set for each employed vehicle. * <p>Note that unlike the original problems, a fixed-cost value of 1000 is set for each employed vehicle.
* @param inputFolder TODO * @param inputFolder
* @param inputFolder where solomon R2 instances are located. It must end without '/' such as instances/solomon. * @param inputFolder where solomon R2 instances are located. It must end without '/' such as instances/solomon.
* @return a collection of {@link BenchmarkInstance} * @return a collection of {@link BenchmarkInstance}
*/ */
@ -228,7 +226,7 @@ public class Instances {
* Returns a collection of {@link BenchmarkInstance} which are Solomon instances. * Returns a collection of {@link BenchmarkInstance} which are Solomon instances.
* <p>Note that this assumes that within the folder 'inputFolder' 8 RC2-instances are located with their original name, i.e. RC201.txt,RC202.txt,...,RC208.txt. * <p>Note that this assumes that within the folder 'inputFolder' 8 RC2-instances are located with their original name, i.e. RC201.txt,RC202.txt,...,RC208.txt.
* <p>Note that unlike the original problems, a fixed-cost value of 1000 is set for each employed vehicle. * <p>Note that unlike the original problems, a fixed-cost value of 1000 is set for each employed vehicle.
* @param inputFolder TODO * @param inputFolder
* @param inputFolder where solomon RC2 instances are located. It must end without '/' such as instances/solomon. * @param inputFolder where solomon RC2 instances are located. It must end without '/' such as instances/solomon.
* @return a collection of {@link BenchmarkInstance} * @return a collection of {@link BenchmarkInstance}
*/ */