mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
internal changes
This commit is contained in:
parent
045e15e177
commit
b40204685c
4 changed files with 16 additions and 12 deletions
|
|
@ -119,7 +119,7 @@ class InsertionFactory {
|
||||||
//
|
//
|
||||||
// }
|
// }
|
||||||
|
|
||||||
insertionStrategy.addListener(new RemoveEmptyVehicles(vehicleFleetManager));
|
// insertionStrategy.addListener(new RemoveEmptyVehicles(vehicleFleetManager));
|
||||||
insertionStrategy.addListener(new ResetAndIniFleetManager(vehicleFleetManager));
|
insertionStrategy.addListener(new ResetAndIniFleetManager(vehicleFleetManager));
|
||||||
insertionStrategy.addAllListener(insertionListeners);
|
insertionStrategy.addAllListener(insertionListeners);
|
||||||
// insertionStrategy.addListener(new FindCheaperVehicle(
|
// insertionStrategy.addListener(new FindCheaperVehicle(
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
package algorithms;
|
package algorithms;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
@ -41,10 +42,14 @@ class ResetAndIniFleetManager implements InsertionStartsListener{
|
||||||
@Override
|
@Override
|
||||||
public void informInsertionStarts(Collection<VehicleRoute> vehicleRoutes, int nOfJobs2Recreate) {
|
public void informInsertionStarts(Collection<VehicleRoute> vehicleRoutes, int nOfJobs2Recreate) {
|
||||||
vehicleFleetManager.unlockAll();
|
vehicleFleetManager.unlockAll();
|
||||||
for(VehicleRoute route : vehicleRoutes){
|
Collection<VehicleRoute> routes = new ArrayList<VehicleRoute>(vehicleRoutes);
|
||||||
// if(!route.isEmpty()){
|
for(VehicleRoute route : routes){
|
||||||
|
if(route.isEmpty()){
|
||||||
|
vehicleRoutes.remove(route);
|
||||||
|
}
|
||||||
|
else{
|
||||||
vehicleFleetManager.lock(route.getVehicle());
|
vehicleFleetManager.lock(route.getVehicle());
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
encoding//src/main/java=UTF-8
|
encoding//src/main/java=UTF-8
|
||||||
encoding//src/main/resources=UTF-8
|
|
||||||
encoding//src/test/java=UTF-8
|
encoding//src/test/java=UTF-8
|
||||||
encoding//src/test/resources=UTF-8
|
encoding//src/test/resources=UTF-8
|
||||||
encoding/<project>=UTF-8
|
encoding/<project>=UTF-8
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public class ChristophidesReaderTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenReadingInstance_nuOfCustomersIsCorrect(){
|
public void whenReadingInstance_nuOfCustomersIsCorrect(){
|
||||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||||
new ChristophidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||||
VehicleRoutingProblem vrp = builder.build();
|
VehicleRoutingProblem vrp = builder.build();
|
||||||
assertEquals(50,vrp.getJobs().values().size());
|
assertEquals(50,vrp.getJobs().values().size());
|
||||||
}
|
}
|
||||||
|
|
@ -42,7 +42,7 @@ public class ChristophidesReaderTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenReadingInstance_fleetSizeIsInfinite(){
|
public void whenReadingInstance_fleetSizeIsInfinite(){
|
||||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||||
new ChristophidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||||
VehicleRoutingProblem vrp = builder.build();
|
VehicleRoutingProblem vrp = builder.build();
|
||||||
assertEquals(FleetSize.INFINITE,vrp.getFleetSize());
|
assertEquals(FleetSize.INFINITE,vrp.getFleetSize());
|
||||||
}
|
}
|
||||||
|
|
@ -50,7 +50,7 @@ public class ChristophidesReaderTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenReadingInstance_vehicleCapacitiesAreCorrect(){
|
public void whenReadingInstance_vehicleCapacitiesAreCorrect(){
|
||||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||||
new ChristophidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||||
VehicleRoutingProblem vrp = builder.build();
|
VehicleRoutingProblem vrp = builder.build();
|
||||||
for(Vehicle v : vrp.getVehicles()){
|
for(Vehicle v : vrp.getVehicles()){
|
||||||
assertEquals(160,v.getCapacity());
|
assertEquals(160,v.getCapacity());
|
||||||
|
|
@ -60,7 +60,7 @@ public class ChristophidesReaderTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenReadingInstance_vehicleLocationsAreCorrect_and_correspondToDepotLocation(){
|
public void whenReadingInstance_vehicleLocationsAreCorrect_and_correspondToDepotLocation(){
|
||||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||||
new ChristophidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||||
VehicleRoutingProblem vrp = builder.build();
|
VehicleRoutingProblem vrp = builder.build();
|
||||||
for(Vehicle v : vrp.getVehicles()){
|
for(Vehicle v : vrp.getVehicles()){
|
||||||
assertEquals(30.0,v.getCoord().getX(),0.01);
|
assertEquals(30.0,v.getCoord().getX(),0.01);
|
||||||
|
|
@ -71,7 +71,7 @@ public class ChristophidesReaderTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenReadingInstance_vehicleDurationsAreCorrect(){
|
public void whenReadingInstance_vehicleDurationsAreCorrect(){
|
||||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||||
new ChristophidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc13.txt").getPath());
|
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc13.txt").getPath());
|
||||||
VehicleRoutingProblem vrp = builder.build();
|
VehicleRoutingProblem vrp = builder.build();
|
||||||
for(Vehicle v : vrp.getVehicles()){
|
for(Vehicle v : vrp.getVehicles()){
|
||||||
assertEquals(0.0,v.getEarliestDeparture(),0.01);
|
assertEquals(0.0,v.getEarliestDeparture(),0.01);
|
||||||
|
|
@ -82,7 +82,7 @@ public class ChristophidesReaderTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenReadingInstance_demandOfCustomerOneIsCorrect(){
|
public void whenReadingInstance_demandOfCustomerOneIsCorrect(){
|
||||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||||
new ChristophidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc1.txt").getPath());
|
||||||
VehicleRoutingProblem vrp = builder.build();
|
VehicleRoutingProblem vrp = builder.build();
|
||||||
assertEquals(7,vrp.getJobs().get("1").getCapacityDemand());
|
assertEquals(7,vrp.getJobs().get("1").getCapacityDemand());
|
||||||
}
|
}
|
||||||
|
|
@ -90,7 +90,7 @@ public class ChristophidesReaderTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenReadingInstance_serviceDurationOfCustomerTwoIsCorrect(){
|
public void whenReadingInstance_serviceDurationOfCustomerTwoIsCorrect(){
|
||||||
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
|
||||||
new ChristophidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc13.txt").getPath());
|
new ChristofidesReader(builder).read(this.getClass().getClassLoader().getResource("vrpnc13.txt").getPath());
|
||||||
VehicleRoutingProblem vrp = builder.build();
|
VehicleRoutingProblem vrp = builder.build();
|
||||||
assertEquals(50.0,((Service)vrp.getJobs().get("2")).getServiceDuration(),0.1);
|
assertEquals(50.0,((Service)vrp.getJobs().get("2")).getServiceDuration(),0.1);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue