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

internal changes

This commit is contained in:
oblonski 2013-07-09 14:02:55 +02:00
parent 045e15e177
commit b40204685c
4 changed files with 16 additions and 12 deletions

View file

@ -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(

View file

@ -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());
// } }
} }
} }

View file

@ -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

View file

@ -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);
} }