mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
rm ToDos
This commit is contained in:
parent
7b578d3ce6
commit
4757753f26
14 changed files with 25 additions and 56 deletions
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,6 @@ class Inserter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setNextHandler(JobInsertionHandler handler) {
|
public void setNextHandler(JobInsertionHandler handler) {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,14 +72,12 @@ 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
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -114,14 +112,12 @@ 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
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -135,14 +131,12 @@ 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
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -181,14 +175,12 @@ 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
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -225,14 +217,12 @@ 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
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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}
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue