diff --git a/jsprit-io/pom.xml b/jsprit-io/pom.xml new file mode 100644 index 00000000..2bd9884b --- /dev/null +++ b/jsprit-io/pom.xml @@ -0,0 +1,40 @@ + + + + jsprit + jsprit + 1.6.3-SNAPSHOT + + 4.0.0 + + jsprit-io + + + + ${project.groupId} + jsprit-core + ${project.version} + jar + provided + + + + commons-configuration + commons-configuration + 1.9 + jar + compile + + + + xerces + xercesImpl + 2.11.0 + compile + + + + + diff --git a/jsprit-core/src/main/resources/algorithm_schema.xsd b/jsprit-io/src/main/resources/algorithm_schema.xsd similarity index 100% rename from jsprit-core/src/main/resources/algorithm_schema.xsd rename to jsprit-io/src/main/resources/algorithm_schema.xsd diff --git a/jsprit-core/src/main/resources/config.xml b/jsprit-io/src/main/resources/config.xml similarity index 100% rename from jsprit-core/src/main/resources/config.xml rename to jsprit-io/src/main/resources/config.xml diff --git a/jsprit-core/src/main/resources/greedySchrimpf.xml b/jsprit-io/src/main/resources/greedySchrimpf.xml similarity index 100% rename from jsprit-core/src/main/resources/greedySchrimpf.xml rename to jsprit-io/src/main/resources/greedySchrimpf.xml diff --git a/jsprit-core/src/main/resources/randomWalk.xml b/jsprit-io/src/main/resources/randomWalk.xml similarity index 100% rename from jsprit-core/src/main/resources/randomWalk.xml rename to jsprit-io/src/main/resources/randomWalk.xml diff --git a/jsprit-core/src/main/resources/schrimpf.xml b/jsprit-io/src/main/resources/schrimpf.xml similarity index 100% rename from jsprit-core/src/main/resources/schrimpf.xml rename to jsprit-io/src/main/resources/schrimpf.xml diff --git a/jsprit-core/src/main/resources/vrp_xml_schema.xsd b/jsprit-io/src/main/resources/vrp_xml_schema.xsd similarity index 100% rename from jsprit-core/src/main/resources/vrp_xml_schema.xsd rename to jsprit-io/src/main/resources/vrp_xml_schema.xsd diff --git a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/algorithm/TestAlgorithmReader.java b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/algorithm/TestAlgorithmReader.java index 42e5f5ac..f9676b3d 100644 --- a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/algorithm/TestAlgorithmReader.java +++ b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/algorithm/TestAlgorithmReader.java @@ -60,16 +60,16 @@ public class TestAlgorithmReader { @Before public void doBefore() throws ConfigurationException { config = new AlgorithmConfig(); - new AlgorithmConfigXmlReader(config).setSchemaValidation(false).read("src/test/resources/testConfig.xml"); + new AlgorithmConfigXmlReader(config).setSchemaValidation(false).read(getClass().getResource("testConfig.xml")); VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); solutions = new ArrayList(); - new VrpXMLReader(vrpBuilder, solutions).read("src/test/resources/finiteVrp.xml"); + new VrpXMLReader(vrpBuilder, solutions).read(getClass().getResourceAsStream("finiteVrp.xml")); vrp = vrpBuilder.build(); } @Test public void itShouldReadMaxIterations() { - VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "src/test/resources/algorithmConfigForReaderTest.xml"); + VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, getClass().getResource("algorithmConfigForReaderTest.xml")); Assert.assertEquals(2000, vra.getMaxIterations()); } @@ -86,7 +86,7 @@ public class TestAlgorithmReader { @Test public void whenSettingPrematureBreak_itShouldReadTermination() { - VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "src/test/resources/algorithmConfigForReaderTest2.xml"); + VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, getClass().getResource("algorithmConfigForReaderTest2.xml")); IterationCounter iCounter = new IterationCounter(); vra.addListener(iCounter); vra.searchSolutions(); @@ -95,7 +95,7 @@ public class TestAlgorithmReader { @Test public void itShouldReadTermination() { - VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "src/test/resources/algorithmConfigForReaderTest.xml"); + VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, getClass().getResource("algorithmConfigForReaderTest.xml")); IterationCounter iCounter = new IterationCounter(); vra.addListener(iCounter); vra.searchSolutions(); @@ -271,14 +271,14 @@ public class TestAlgorithmReader { @Test public void readerTest_whenReadingAlgoWithSchemaValidation_itReadsCorrectly() { AlgorithmConfig algoConfig = new AlgorithmConfig(); - new AlgorithmConfigXmlReader(algoConfig).read("src/test/resources/algorithmConfig.xml"); + new AlgorithmConfigXmlReader(algoConfig).read(getClass().getResource("algorithmConfig.xml")); } @Test public void readerTest_whenReadingAlgoWithSchemaValidationWithoutIterations_itReadsCorrectly() { AlgorithmConfig algoConfig = new AlgorithmConfig(); - new AlgorithmConfigXmlReader(algoConfig).read("src/test/resources/algorithmConfig_withoutIterations.xml"); + new AlgorithmConfigXmlReader(algoConfig).read(getClass().getResource("algorithmConfig_withoutIterations.xml")); } diff --git a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/InitialRoutesTest.java b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/InitialRoutesTest.java index f1f05de4..fd1f0d6e 100644 --- a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/InitialRoutesTest.java +++ b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/InitialRoutesTest.java @@ -37,7 +37,7 @@ public class InitialRoutesTest { public void whenReading_jobMapShouldOnlyContainJob2() { VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(vrpBuilder).read("src/test/resources/simpleProblem_iniRoutes.xml"); + new VrpXMLReader(vrpBuilder).read(getClass().getResourceAsStream("simpleProblem_iniRoutes.xml")); VehicleRoutingProblem vrp = vrpBuilder.build(); assertEquals(1, getNuServices(vrp)); @@ -48,7 +48,7 @@ public class InitialRoutesTest { public void whenReadingProblem2_jobMapShouldContain_service2() { VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(vrpBuilder).read("src/test/resources/simpleProblem_inclShipments_iniRoutes.xml"); + new VrpXMLReader(vrpBuilder).read(getClass().getResourceAsStream("simpleProblem_inclShipments_iniRoutes.xml")); VehicleRoutingProblem vrp = vrpBuilder.build(); assertEquals(1, getNuServices(vrp)); @@ -59,7 +59,7 @@ public class InitialRoutesTest { public void whenReading_jobMapShouldContain_shipment4() { VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(vrpBuilder).read("src/test/resources/simpleProblem_inclShipments_iniRoutes.xml"); + new VrpXMLReader(vrpBuilder).read(getClass().getResourceAsStream("simpleProblem_inclShipments_iniRoutes.xml")); VehicleRoutingProblem vrp = vrpBuilder.build(); assertEquals(1, getNuShipments(vrp)); @@ -86,7 +86,7 @@ public class InitialRoutesTest { public void whenReading_thereShouldBeOnlyOneActAssociatedToJob2() { VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(vrpBuilder).read("src/test/resources/simpleProblem_iniRoutes.xml"); + new VrpXMLReader(vrpBuilder).read(getClass().getResourceAsStream("simpleProblem_iniRoutes.xml")); VehicleRoutingProblem vrp = vrpBuilder.build(); assertEquals(1, vrp.getActivities(vrp.getJobs().get("2")).size()); @@ -96,7 +96,7 @@ public class InitialRoutesTest { public void whenReading_thereShouldBeOnlyOneActAssociatedToJob2_v2() { VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(vrpBuilder).read("src/test/resources/simpleProblem_inclShipments_iniRoutes.xml"); + new VrpXMLReader(vrpBuilder).read(getClass().getResourceAsStream("simpleProblem_inclShipments_iniRoutes.xml")); VehicleRoutingProblem vrp = vrpBuilder.build(); assertEquals(1, vrp.getActivities(vrp.getJobs().get("2")).size()); @@ -106,7 +106,7 @@ public class InitialRoutesTest { public void whenReading_thereShouldBeTwoActsAssociatedToShipment4() { VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(vrpBuilder).read("src/test/resources/simpleProblem_inclShipments_iniRoutes.xml"); + new VrpXMLReader(vrpBuilder).read(getClass().getResourceAsStream("simpleProblem_inclShipments_iniRoutes.xml")); VehicleRoutingProblem vrp = vrpBuilder.build(); Job job = vrp.getJobs().get("4"); diff --git a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLReaderTest.java b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLReaderTest.java index 48401022..b4b02795 100644 --- a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLReaderTest.java +++ b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLReaderTest.java @@ -31,6 +31,7 @@ import com.graphhopper.jsprit.core.util.Solutions; import org.junit.Before; import org.junit.Test; +import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -41,17 +42,17 @@ import static org.junit.Assert.*; public class VrpXMLReaderTest { - private String inFileName; + private InputStream inputStream; @Before public void doBefore() { - inFileName = "src/test/resources/finiteVrpForReaderTest.xml"; + inputStream = getClass().getResourceAsStream("finiteVrpForReaderTest.xml"); } @Test public void shouldReadNameOfService() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Service s = (Service) vrp.getJobs().get("1"); assertTrue(s.getName().equals("cleaning")); @@ -60,7 +61,7 @@ public class VrpXMLReaderTest { @Test public void shouldReadNameOfShipment() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertTrue(s.getName().equals("deliver-smth")); @@ -69,7 +70,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingVrp_problemTypeIsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); assertEquals(FleetSize.FINITE, vrp.getFleetSize()); } @@ -77,7 +78,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingVrp_vehiclesAreReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); assertEquals(5, vrp.getVehicles().size()); assertTrue(idsInCollection(Arrays.asList("v1", "v2"), vrp.getVehicles())); @@ -86,7 +87,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingVrp_vehiclesAreReadCorrectly2() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v1 = getVehicle("v1", vrp.getVehicles()); assertEquals(20, v1.getType().getCapacityDimensions().get(0)); @@ -103,7 +104,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingVehicles_skill1ShouldBeAssigned() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v1 = getVehicle("v1", vrp.getVehicles()); assertTrue(v1.getSkills().containsSkill("skill1")); @@ -112,7 +113,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingVehicles_skill2ShouldBeAssigned() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v1 = getVehicle("v1", vrp.getVehicles()); assertTrue(v1.getSkills().containsSkill("skill2")); @@ -121,7 +122,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingVehicles_nuSkillsShouldBeCorrect() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v1 = getVehicle("v1", vrp.getVehicles()); assertEquals(2, v1.getSkills().values().size()); @@ -130,7 +131,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingVehicles_nuSkillsOfV2ShouldBeCorrect() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v = getVehicle("v2", vrp.getVehicles()); assertEquals(0, v.getSkills().values().size()); @@ -152,7 +153,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingVrp_vehicleTypesAreReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); assertEquals(3, vrp.getTypes().size()); } @@ -160,7 +161,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingVrpWithInfiniteSize_itReadsCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); assertEquals(FleetSize.FINITE, vrp.getFleetSize()); } @@ -168,7 +169,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_nuOfJobsIsReadThemCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); assertEquals(4, vrp.getJobs().size()); } @@ -176,7 +177,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingServices_itReadsThemCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); int servCounter = 0; for (Job j : vrp.getJobs().values()) { @@ -188,7 +189,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingService1_skill1ShouldBeAssigned() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Service s = (Service) vrp.getJobs().get("1"); assertTrue(s.getRequiredSkills().containsSkill("skill1")); @@ -197,7 +198,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingService1_skill2ShouldBeAssigned() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Service s = (Service) vrp.getJobs().get("1"); assertTrue(s.getRequiredSkills().containsSkill("skill2")); @@ -206,7 +207,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingService1_nuSkillsShouldBeCorrect() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Service s = (Service) vrp.getJobs().get("1"); assertEquals(2, s.getRequiredSkills().values().size()); @@ -215,7 +216,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingService2_nuSkillsOfV2ShouldBeCorrect() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Service s = (Service) vrp.getJobs().get("2"); assertEquals(0, s.getRequiredSkills().values().size()); @@ -224,7 +225,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingShipments_itReadsThemCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); int shipCounter = 0; for (Job j : vrp.getJobs().values()) { @@ -236,7 +237,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingShipment3_skill1ShouldBeAssigned() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertTrue(s.getRequiredSkills().containsSkill("skill1")); @@ -245,7 +246,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingShipment3_skill2ShouldBeAssigned() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertTrue(s.getRequiredSkills().containsSkill("skill2")); @@ -254,7 +255,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingShipment3_nuSkillsShouldBeCorrect() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals(2, s.getRequiredSkills().values().size()); @@ -263,7 +264,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingShipment4_nuSkillsOfV2ShouldBeCorrect() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("4"); assertEquals(0, s.getRequiredSkills().values().size()); @@ -272,7 +273,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingServices_capOfService1IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Service s1 = (Service) vrp.getJobs().get("1"); assertEquals(1, s1.getSize().get(0)); @@ -281,7 +282,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingServices_durationOfService1IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Service s1 = (Service) vrp.getJobs().get("1"); assertEquals(10.0, s1.getServiceDuration(), 0.01); @@ -290,7 +291,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingServices_twOfService1IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Service s1 = (Service) vrp.getJobs().get("1"); assertEquals(0.0, s1.getTimeWindow().getStart(), 0.01); @@ -300,7 +301,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingServices_typeOfService1IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Service s1 = (Service) vrp.getJobs().get("1"); assertEquals("service", s1.getType()); @@ -309,7 +310,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v2MustNotReturnToDepot() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v = getVehicle("v2", vrp.getVehicles()); assertFalse(v.isReturnToDepot()); @@ -318,7 +319,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v3HasTheCorrectStartLocation() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v3 = getVehicle("v3", vrp.getVehicles()); assertEquals("startLoc", v3.getStartLocation().getId()); @@ -329,7 +330,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v3HasTheCorrectEndLocation() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v3 = getVehicle("v3", vrp.getVehicles()); assertEquals("endLoc", v3.getEndLocation().getId()); @@ -338,7 +339,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v3HasTheCorrectEndLocationCoordinate() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v3 = getVehicle("v3", vrp.getVehicles()); assertEquals(1000.0, v3.getEndLocation().getCoordinate().getX(), 0.01); @@ -348,7 +349,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v3HasTheCorrectStartLocationCoordinate() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v3 = getVehicle("v3", vrp.getVehicles()); assertEquals(10.0, v3.getStartLocation().getCoordinate().getX(), 0.01); @@ -358,7 +359,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v3HasTheCorrectLocationCoordinate() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v3 = getVehicle("v3", vrp.getVehicles()); assertEquals(10.0, v3.getStartLocation().getCoordinate().getX(), 0.01); @@ -368,7 +369,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v3HasTheCorrectLocationId() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v3 = getVehicle("v3", vrp.getVehicles()); assertEquals("startLoc", v3.getStartLocation().getId()); @@ -377,7 +378,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v4HasTheCorrectStartLocation() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v = getVehicle("v4", vrp.getVehicles()); assertEquals("startLoc", v.getStartLocation().getId()); @@ -386,7 +387,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v4HasTheCorrectEndLocation() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v = getVehicle("v4", vrp.getVehicles()); assertEquals("endLoc", v.getEndLocation().getId()); @@ -395,7 +396,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v4HasTheCorrectEndLocationCoordinate() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v = getVehicle("v4", vrp.getVehicles()); assertEquals(1000.0, v.getEndLocation().getCoordinate().getX(), 0.01); @@ -405,7 +406,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v4HasTheCorrectStartLocationCoordinate() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v = getVehicle("v4", vrp.getVehicles()); assertEquals(10.0, v.getStartLocation().getCoordinate().getX(), 0.01); @@ -415,7 +416,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v4HasTheCorrectLocationCoordinate() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v = getVehicle("v4", vrp.getVehicles()); assertEquals(10.0, v.getStartLocation().getCoordinate().getX(), 0.01); @@ -425,7 +426,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v4HasTheCorrectLocationId() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v = getVehicle("v4", vrp.getVehicles()); assertEquals("startLoc", v.getStartLocation().getId()); @@ -434,7 +435,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_capOfShipment3IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals(10, s.getSize().get(0)); @@ -443,7 +444,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_pickupServiceTimeOfShipment3IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals(10.0, s.getPickupServiceTime(), 0.01); @@ -452,7 +453,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_pickupTimeWindowOfShipment3IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals(1000.0, s.getPickupTimeWindow().getStart(), 0.01); @@ -462,7 +463,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_deliveryTimeWindowOfShipment3IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals(6000.0, s.getDeliveryTimeWindow().getStart(), 0.01); @@ -472,7 +473,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_deliveryServiceTimeOfShipment3IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals(100.0, s.getDeliveryServiceTime(), 0.01); @@ -481,7 +482,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_deliveryCoordShipment3IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals(10.0, s.getDeliveryLocation().getCoordinate().getX(), 0.01); @@ -491,7 +492,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_pickupCoordShipment3IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals(10.0, s.getPickupLocation().getCoordinate().getX(), 0.01); @@ -501,7 +502,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_deliveryIdShipment3IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals("i(9,9)", s.getDeliveryLocation().getId()); @@ -510,7 +511,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_pickupIdShipment3IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("3"); assertEquals("i(3,9)", s.getPickupLocation().getId()); @@ -519,7 +520,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_pickupLocationIdShipment4IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("4"); assertEquals("[x=10.0][y=10.0]", s.getPickupLocation().getId()); @@ -528,7 +529,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_deliveryLocationIdShipment4IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("4"); assertEquals("[x=10.0][y=0.0]", s.getDeliveryLocation().getId()); @@ -537,7 +538,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_pickupServiceTimeOfShipment4IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("4"); assertEquals(0.0, s.getPickupServiceTime(), 0.01); @@ -546,7 +547,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingJobs_deliveryServiceTimeOfShipment4IsReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Shipment s = (Shipment) vrp.getJobs().get("4"); assertEquals(100.0, s.getDeliveryServiceTime(), 0.01); @@ -555,7 +556,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingFile_v5AndItsTypeHasTheCorrectCapacityDimensionValues() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read(inFileName); + new VrpXMLReader(builder, null).read(inputStream); VehicleRoutingProblem vrp = builder.build(); Vehicle v = getVehicle("v5", vrp.getVehicles()); assertEquals(100, v.getType().getCapacityDimensions().get(0)); @@ -569,7 +570,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingInitialRouteWithShipment4_thisShipmentShouldNotAppearInJobMap() { //since it is not part of the problem anymore VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder).read("src/test/resources/finiteVrpWithInitialSolutionForReaderTest.xml"); + new VrpXMLReader(builder).read(getClass().getResourceAsStream("finiteVrpWithInitialSolutionForReaderTest.xml")); VehicleRoutingProblem vrp = builder.build(); assertFalse(vrp.getJobs().containsKey("4")); } @@ -577,7 +578,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingInitialRouteWithDepTime10_departureTimeOfRouteShouldBeReadCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder).read("src/test/resources/finiteVrpWithInitialSolutionForReaderTest.xml"); + new VrpXMLReader(builder).read(getClass().getResourceAsStream("finiteVrpWithInitialSolutionForReaderTest.xml")); VehicleRoutingProblem vrp = builder.build(); assertEquals(10., vrp.getInitialVehicleRoutes().iterator().next().getDepartureTime(), 0.01); } @@ -585,7 +586,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingInitialRoute_nuInitialRoutesShouldBeCorrect() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read("src/test/resources/finiteVrpWithInitialSolutionForReaderTest.xml"); + new VrpXMLReader(builder, null).read(getClass().getResourceAsStream("finiteVrpWithInitialSolutionForReaderTest.xml")); VehicleRoutingProblem vrp = builder.build(); assertEquals(1, vrp.getInitialVehicleRoutes().size()); } @@ -593,7 +594,7 @@ public class VrpXMLReaderTest { @Test public void whenReadingInitialRoute_nuActivitiesShouldBeCorrect() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read("src/test/resources/finiteVrpWithInitialSolutionForReaderTest.xml"); + new VrpXMLReader(builder, null).read(getClass().getResourceAsStream("finiteVrpWithInitialSolutionForReaderTest.xml")); VehicleRoutingProblem vrp = builder.build(); assertEquals(2, vrp.getInitialVehicleRoutes().iterator().next().getActivities().size()); } @@ -602,7 +603,7 @@ public class VrpXMLReaderTest { public void testRead_ifReaderIsCalled_itReadsSuccessfullyV2() { VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); ArrayList solutions = new ArrayList(); - new VrpXMLReader(vrpBuilder, solutions).read("src/test/resources/finiteVrpWithShipmentsAndSolution.xml"); + new VrpXMLReader(vrpBuilder, solutions).read(getClass().getResourceAsStream("finiteVrpWithShipmentsAndSolution.xml")); VehicleRoutingProblem vrp = vrpBuilder.build(); assertEquals(4, vrp.getJobs().size()); assertEquals(1, solutions.size()); @@ -618,7 +619,7 @@ public class VrpXMLReaderTest { @Test public void testRead_ifReaderIsCalled_itReadsSuccessfully() { - new VrpXMLReader(VehicleRoutingProblem.Builder.newInstance(), new ArrayList()).read("src/test/resources/lui-shen-solution.xml"); + new VrpXMLReader(VehicleRoutingProblem.Builder.newInstance(), new ArrayList()).read(getClass().getResourceAsStream("lui-shen-solution.xml")); assertTrue(true); } @@ -627,18 +628,12 @@ public class VrpXMLReaderTest { public void unassignedJobShouldBeRead() { VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); ArrayList solutions = new ArrayList(); - new VrpXMLReader(vrpBuilder, solutions).read("src/test/resources/finiteVrpWithShipmentsAndSolution.xml"); + new VrpXMLReader(vrpBuilder, solutions).read(getClass().getResourceAsStream("finiteVrpWithShipmentsAndSolution.xml")); VehicleRoutingProblemSolution solution = Solutions.bestOf(solutions); assertEquals(1, solution.getUnassignedJobs().size()); assertEquals("4", solution.getUnassignedJobs().iterator().next().getId()); } - -// @Test -// public void solutionListShouldBeEmpty(){ -// VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance(); -// ArrayList solutions = new ArrayList(); -// new VrpXMLReader(vrpBuilder, solutions).read("src/test/resources/finiteVrpforReaderTest.xml"); -// assertTrue(solutions.isEmpty()); -// } } + +// diff --git a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLWriterTest.java b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLWriterTest.java index 15fd7259..6819a469 100644 --- a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLWriterTest.java +++ b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLWriterTest.java @@ -895,68 +895,6 @@ public class VrpXMLWriterTest { return null; } - @Test - public void whenWritingAndReadingInitialRouteWithShipment4_thisShipmentShouldNotAppearInJobMap() { //since it is not part of the problem anymore - VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder).read("src/test/resources/finiteVrpWithInitialSolutionForReaderTest.xml"); - VehicleRoutingProblem vrp = builder.build(); - - new VrpXMLWriter(vrp).write("src/test/resources/finiteVrpWithInitialSolutionForWriterTest.xml"); - - VehicleRoutingProblem.Builder newBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(newBuilder).read("src/test/resources/finiteVrpWithInitialSolutionForWriterTest.xml"); - VehicleRoutingProblem newVrp = newBuilder.build(); - - assertFalse(newVrp.getJobs().containsKey("4")); - } - - @Test - public void whenReadingInitialRouteWithDepTime10_departureTimeOfRouteShouldBeReadCorrectly() { - VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder).read("src/test/resources/finiteVrpWithInitialSolutionForReaderTest.xml"); - VehicleRoutingProblem vrp = builder.build(); - - new VrpXMLWriter(vrp).write("src/test/resources/finiteVrpWithInitialSolutionForWriterTest.xml"); - - VehicleRoutingProblem.Builder newBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(newBuilder).read("src/test/resources/finiteVrpWithInitialSolutionForWriterTest.xml"); - VehicleRoutingProblem newVrp = newBuilder.build(); - - Assert.assertEquals(10., newVrp.getInitialVehicleRoutes().iterator().next().getDepartureTime(), 0.01); - } - - @Test - public void whenReadingInitialRoute_nuInitialRoutesShouldBeCorrect() { - VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read("src/test/resources/finiteVrpWithInitialSolutionForReaderTest.xml"); - VehicleRoutingProblem vrp = builder.build(); - - new VrpXMLWriter(vrp).write("src/test/resources/finiteVrpWithInitialSolutionForWriterTest.xml"); - - VehicleRoutingProblem.Builder newBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(newBuilder).read("src/test/resources/finiteVrpWithInitialSolutionForWriterTest.xml"); - VehicleRoutingProblem newVrp = newBuilder.build(); - - - assertEquals(1, newVrp.getInitialVehicleRoutes().size()); - } - - @Test - public void whenReadingInitialRoute_nuActivitiesShouldBeCorrect() { - VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(builder, null).read("src/test/resources/finiteVrpWithInitialSolutionForReaderTest.xml"); - VehicleRoutingProblem vrp = builder.build(); - - new VrpXMLWriter(vrp).write("src/test/resources/finiteVrpWithInitialSolutionForWriterTest.xml"); - - VehicleRoutingProblem.Builder newBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(newBuilder).read("src/test/resources/finiteVrpWithInitialSolutionForWriterTest.xml"); - VehicleRoutingProblem newVrp = newBuilder.build(); - - - Assert.assertEquals(2, newVrp.getInitialVehicleRoutes().iterator().next().getActivities().size()); - } - @Test public void solutionWithoutUnassignedJobsShouldBeWrittenCorrectly() { VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfig.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfig.xml new file mode 100755 index 00000000..913984db --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfig.xml @@ -0,0 +1,48 @@ + + + + 2000 + + + + + + + 1 + + + + + + + + 0.5 + + + + + + 0.5 + + + + + + + + + 0.3 + + + + + + 0.5 + + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfigForReaderTest.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfigForReaderTest.xml new file mode 100755 index 00000000..ac2789b6 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfigForReaderTest.xml @@ -0,0 +1,74 @@ + + + + + + 2000 + + + + 100 + + + 25 + + + + + + + + + 1 + + + + + + + + 0.5 + + + + + + 0.5 + + + + + + + + + 0.3 + + + + + + 0.5 + + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfigForReaderTest2.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfigForReaderTest2.xml new file mode 100755 index 00000000..edd0065c --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfigForReaderTest2.xml @@ -0,0 +1,70 @@ + + + + + + 2000 + + + 100 + + + + + + + + + 1 + + + + + + + + 0.5 + + + + + + 0.5 + + + + + + + + + 0.3 + + + + + + 0.5 + + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfig_withoutIterations.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfig_withoutIterations.xml new file mode 100755 index 00000000..eccee9f6 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/algorithmConfig_withoutIterations.xml @@ -0,0 +1,48 @@ + + + + + + + + + 1 + + + + + + + + + 0.5 + + + + + + 0.5 + + + + + + + + + 0.3 + + + + + + 0.5 + + + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/finiteVrp.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/finiteVrp.xml new file mode 100644 index 00000000..c44b46a1 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/finiteVrp.xml @@ -0,0 +1,88 @@ + + + + + FINITE + HETEROGENEOUS + + + + + v1 + + depotLoc2 + + + vehType + + 0.0 + 1000.0 + + + + v2 + + depotLoc + + + vehType2 + + 0.0 + 1000.0 + + + + + + vehType + 20 + + 0.0 + 0.0 + + + + + vehType2 + 200 + + 0.0 + 0.0 + + + + + + + + j(1,5) + + 1 + 0.0 + + + 0.0 + 4000.0 + + + + + + i(3,9) + + 1 + 0.0 + + + 0.0 + 4000.0 + + + + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/testConfig.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/testConfig.xml new file mode 100755 index 00000000..084e0a4c --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/algorithm/testConfig.xml @@ -0,0 +1,70 @@ + + + + + 10 + + + + + + + 1 + + + + + + + + 0.5 + + + + + 0.4 + + + + + + + + + 0.1 + + + + + 0.4 + + + + + + + + + 0.3 + + + + + 0.2 + + + + + + + + + + + + + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/finiteVrpForReaderTest.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/finiteVrpForReaderTest.xml new file mode 100644 index 00000000..6d3ba822 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/finiteVrpForReaderTest.xml @@ -0,0 +1,237 @@ + + + + + + + FINITE + HETEROGENEOUS + + + + + v1 + + depotLoc2 + + 1 + + vehType + + 0.0 + 1000.0 + + skill1; SKill2 + + + v2 + + depotLoc + + 2 + + false + vehType2 + + 0.0 + 1000.0 + + + + v3 + + startLoc + + 3 + + + endLoc + + 4 + + vehType2 + + 0.0 + 1000.0 + + + + v4 + + startLoc + + + + endLoc + + + vehType2 + + 0.0 + 1000.0 + + + + v5 + + startLoc + + + + endLoc + + + vehType3 + + 0.0 + 1000.0 + + + + + + vehType + + 20 + + + 0.0 + 0.0 + + + + + vehType2 + 200 + + 0.0 + 0.0 + + + + + vehType3 + + 100 + 1000 + 10000 + 100000 + + + 0.0 + 0.0 + + + + + + + + j(1,5) + cleaning + + + 1 + + 10.0 + + + 0.0 + 4000.0 + + + skill1, Skill2 + + + + i(3,9) + cleaning + + 1 + 0.0 + + + 0.0 + 4000.0 + + + + + + + + + deliver-smth + + i(3,9) + + 10.0 + + + 1000.0 + 4000.0 + + + + + i(9,9) + + 100.0 + + + 6000.0 + 10000.0 + + + + + 10 + + skill1, Skill2 + + + + + + + + 1000.0 + 4000.0 + + + + + + 100.0 + + + 6000.0 + 10000.0 + + + + + 10 + + deliver-smth + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/finiteVrpWithInitialSolutionForReaderTest.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/finiteVrpWithInitialSolutionForReaderTest.xml new file mode 100644 index 00000000..22e367a8 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/finiteVrpWithInitialSolutionForReaderTest.xml @@ -0,0 +1,223 @@ + + + + + FINITE + HETEROGENEOUS + + + + + v1 + + depotLoc2 + + + vehType + + 0.0 + 1000.0 + + + + v2 + + depotLoc + + + false + vehType2 + + 0.0 + 1000.0 + + + + v3 + + startLoc + + + + endLoc + + + vehType2 + + 0.0 + 1000.0 + + + + v4 + + startLoc + + + + endLoc + + + vehType2 + + 0.0 + 1000.0 + + + + v5 + + startLoc + + + + endLoc + + + vehType3 + + 0.0 + 1000.0 + + + + + + vehType + + 20 + + + 0.0 + 0.0 + + + + + vehType2 + 200 + + 0.0 + 0.0 + + + + + vehType3 + + 100 + 1000 + 10000 + 100000 + + + 0.0 + 0.0 + + + + + + + + j(1,5) + + + 1 + + 10.0 + + + 0.0 + 4000.0 + + + + + + i(3,9) + + 1 + 0.0 + + + 0.0 + 4000.0 + + + + + + + + + + i(3,9) + + 10.0 + + + 1000.0 + 4000.0 + + + + + i(9,9) + + 100.0 + + + 6000.0 + 10000.0 + + + + 10 + + + + + + + + 1000.0 + 4000.0 + + + + + + 100.0 + + + 6000.0 + 10000.0 + + + + + 10 + + + + + + + + noDriver + v1 + 10. + + 4 + + + 4 + + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/finiteVrpWithShipmentsAndSolution.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/finiteVrpWithShipmentsAndSolution.xml new file mode 100644 index 00000000..89889383 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/finiteVrpWithShipmentsAndSolution.xml @@ -0,0 +1,165 @@ + + + + + FINITE + HETEROGENEOUS + + + + + v1 + + depotLoc2 + + + vehType + + 0.0 + 1000.0 + + + + v2 + + depotLoc + + + vehType2 + + 0.0 + 1000.0 + + + + + + vehType + 20 + + 0.0 + 0.0 + + + + + vehType2 + 200 + + 0.0 + 0.0 + + + + + + + + j(1,5) + + 1 + 0.0 + + + 0.0 + 4000.0 + + + + + + i(3,9) + + 1 + 0.0 + + + 0.0 + 4000.0 + + + + + + i(3,9) + + 1 + 0.0 + + + 0.0 + 4000.0 + + + + + + + + + i(3,9) + + 0.0 + + + 0.0 + 4000.0 + + + + + i(9,9) + + 0.0 + + + 0.0 + 4000.0 + + + + 1 + + + + + + 100.0 + + + 0.0 + noDriver + v1 + 10.0 + + 1 + 20.0 + 30.0 + + + 2 + 40.0 + 80.0 + + + 3 + 40.0 + 80.0 + + + 3 + 40.0 + 80.0 + + 100.0 + + + + + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/lui-shen-solution.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/lui-shen-solution.xml new file mode 100644 index 00000000..46adb244 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/lui-shen-solution.xml @@ -0,0 +1,1919 @@ + + + + + INFINITE + HETEROGENEOUS + + + + A + A + + 0 + + + + 0.0 + 1236.0 + + + + B + B + + 0 + + + + 0.0 + 1236.0 + + + + C + C + + 0 + + + + 0.0 + 1236.0 + + + + + + A + 100 + + 300.0 + 1.0 + + + + + B + 200 + + 800.0 + 1.0 + + + + + C + 300 + + 1350.0 + 1.0 + + + + + + + 25 + + 40 + 90.0 + + + 169.0 + 224.0 + + + + + 26 + + 10 + 90.0 + + + 622.0 + 701.0 + + + + + 23 + + 10 + 90.0 + + + 732.0 + 777.0 + + + + + 24 + + 10 + 90.0 + + + 65.0 + 144.0 + + + + + 29 + + 10 + 90.0 + + + 358.0 + 405.0 + + + + + 27 + + 10 + 90.0 + + + 261.0 + 316.0 + + + + + 28 + + 20 + 90.0 + + + 546.0 + 593.0 + + + + + 33 + + 40 + 90.0 + + + 87.0 + 158.0 + + + + + 32 + + 30 + 90.0 + + + 31.0 + 100.0 + + + + + 31 + + 20 + 90.0 + + + 200.0 + 237.0 + + + + + 30 + + 10 + 90.0 + + + 449.0 + 504.0 + + + + + 12 + + 20 + 90.0 + + + 652.0 + 721.0 + + + + + 13 + + 30 + 90.0 + + + 30.0 + 92.0 + + + + + 14 + + 10 + 90.0 + + + 567.0 + 620.0 + + + + + 15 + + 40 + 90.0 + + + 384.0 + 429.0 + + + + + 16 + + 40 + 90.0 + + + 475.0 + 528.0 + + + + + 17 + + 20 + 90.0 + + + 99.0 + 148.0 + + + + + 18 + + 20 + 90.0 + + + 179.0 + 254.0 + + + + + 19 + + 10 + 90.0 + + + 278.0 + 345.0 + + + + + 20 + + 10 + 90.0 + + + 10.0 + 73.0 + + + + + 22 + + 20 + 90.0 + + + 812.0 + 883.0 + + + + + 21 + + 20 + 90.0 + + + 914.0 + 965.0 + + + + + 9 + + 10 + 90.0 + + + 534.0 + 605.0 + + + + + 7 + + 20 + 90.0 + + + 170.0 + 225.0 + + + + + 8 + + 20 + 90.0 + + + 255.0 + 324.0 + + + + + 5 + + 10 + 90.0 + + + 15.0 + 67.0 + + + + + 6 + + 20 + 90.0 + + + 621.0 + 702.0 + + + + + 3 + + 10 + 90.0 + + + 65.0 + 146.0 + + + + + 4 + + 10 + 90.0 + + + 727.0 + 782.0 + + + + + 1 + + 10 + 90.0 + + + 912.0 + 967.0 + + + + + 2 + + 30 + 90.0 + + + 825.0 + 870.0 + + + + + 11 + + 10 + 90.0 + + + 448.0 + 505.0 + + + + + 10 + + 10 + 90.0 + + + 357.0 + 410.0 + + + + + 99 + + 10 + 90.0 + + + 743.0 + 820.0 + + + + + 98 + + 20 + 90.0 + + + 30.0 + 84.0 + + + + + 97 + + 30 + 90.0 + + + 561.0 + 622.0 + + + + + 96 + + 10 + 90.0 + + + 95.0 + 156.0 + + + + + 95 + + 30 + 90.0 + + + 196.0 + 239.0 + + + + + 94 + + 10 + 90.0 + + + 285.0 + 336.0 + + + + + 93 + + 40 + 90.0 + + + 475.0 + 518.0 + + + + + 89 + + 10 + 90.0 + + + 737.0 + 802.0 + + + + + 92 + + 20 + 90.0 + + + 368.0 + 441.0 + + + + + 91 + + 10 + 90.0 + + + 836.0 + 889.0 + + + + + 90 + + 10 + 90.0 + + + 20.0 + 84.0 + + + + + 88 + + 30 + 90.0 + + + 645.0 + 708.0 + + + + + 87 + + 20 + 90.0 + + + 85.0 + 144.0 + + + + + 86 + + 10 + 90.0 + + + 173.0 + 238.0 + + + + + 85 + + 30 + 90.0 + + + 555.0 + 612.0 + + + + + 84 + + 20 + 90.0 + + + 458.0 + 523.0 + + + + + 83 + + 10 + 90.0 + + + 265.0 + 338.0 + + + + + 82 + + 20 + 90.0 + + + 369.0 + 420.0 + + + + + 81 + + 30 + 90.0 + + + 47.0 + 124.0 + + + + + 80 + + 10 + 90.0 + + + 769.0 + 820.0 + + + + + 78 + + 20 + 90.0 + + + 109.0 + 170.0 + + + + + 79 + + 10 + 90.0 + + + 668.0 + 731.0 + + + + + 69 + + 10 + 90.0 + + + 916.0 + 969.0 + + + + + 68 + + 10 + 90.0 + + + 734.0 + 777.0 + + + + + 67 + + 10 + 90.0 + + + 12.0 + 77.0 + + + + + 100 + + 20 + 90.0 + + + 647.0 + 726.0 + + + + + 72 + + 10 + 90.0 + + + 450.0 + 505.0 + + + + + 73 + + 10 + 90.0 + + + 478.0 + 551.0 + + + + + 70 + + 30 + 90.0 + + + 387.0 + 456.0 + + + + + 71 + + 20 + 90.0 + + + 293.0 + 360.0 + + + + + 76 + + 10 + 90.0 + + + 203.0 + 260.0 + + + + + 77 + + 10 + 90.0 + + + 574.0 + 643.0 + + + + + 74 + + 50 + 90.0 + + + 353.0 + 412.0 + + + + + 75 + + 20 + 90.0 + + + 997.0 + 1068.0 + + + + + 57 + + 40 + 90.0 + + + 35.0 + 87.0 + + + + + 56 + + 30 + 90.0 + + + 385.0 + 436.0 + + + + + 59 + + 10 + 90.0 + + + 651.0 + 740.0 + + + + + 58 + + 30 + 90.0 + + + 471.0 + 534.0 + + + + + 60 + + 20 + 90.0 + + + 562.0 + 629.0 + + + + + 61 + + 10 + 90.0 + + + 531.0 + 610.0 + + + + + 62 + + 20 + 90.0 + + + 262.0 + 317.0 + + + + + 63 + + 50 + 90.0 + + + 171.0 + 218.0 + + + + + 64 + + 10 + 90.0 + + + 632.0 + 693.0 + + + + + 65 + + 10 + 90.0 + + + 76.0 + 129.0 + + + + + 66 + + 10 + 90.0 + + + 826.0 + 875.0 + + + + + 49 + + 10 + 90.0 + + + 1001.0 + 1066.0 + + + + + 48 + + 10 + 90.0 + + + 632.0 + 693.0 + + + + + 47 + + 10 + 90.0 + + + 1054.0 + 1127.0 + + + + + 46 + + 30 + 90.0 + + + 448.0 + 509.0 + + + + + 45 + + 10 + 90.0 + + + 541.0 + 600.0 + + + + + 54 + + 40 + 90.0 + + + 186.0 + 257.0 + + + + + 55 + + 10 + 90.0 + + + 95.0 + 158.0 + + + + + 52 + + 10 + 90.0 + + + 912.0 + 969.0 + + + + + 53 + + 20 + 90.0 + + + 286.0 + 347.0 + + + + + 50 + + 10 + 90.0 + + + 815.0 + 880.0 + + + + + 51 + + 10 + 90.0 + + + 725.0 + 786.0 + + + + + 39 + + 20 + 90.0 + + + 567.0 + 624.0 + + + + + 38 + + 30 + 90.0 + + + 479.0 + 522.0 + + + + + 35 + + 10 + 90.0 + + + 283.0 + 344.0 + + + + + 34 + + 20 + 90.0 + + + 751.0 + 816.0 + + + + + 37 + + 20 + 90.0 + + + 383.0 + 434.0 + + + + + 36 + + 10 + 90.0 + + + 665.0 + 716.0 + + + + + 41 + + 10 + 90.0 + + + 166.0 + 235.0 + + + + + 42 + + 20 + 90.0 + + + 68.0 + 149.0 + + + + + 43 + + 10 + 90.0 + + + 16.0 + 80.0 + + + + + 44 + + 10 + 90.0 + + + 359.0 + 412.0 + + + + + 40 + + 10 + 90.0 + + + 264.0 + 321.0 + + + + + + + 7482.673139970934 + + + 370.48433957246027 + noDriver + A + 0.0 + + 77 + 12.206555615733702 + 102.2065556157337 + + + 75 + 103.2065556157337 + 193.2065556157337 + + + 72 + 198.5917204228682 + 352.0 + + + 82 + 357.8309518948453 + 540.0 + + + 71 + 543.0 + 633.0 + + + 74 + 635.0 + 725.0 + + + 78 + 728.0 + 824.0 + + + 76 + 829.3851648071345 + 919.3851648071345 + + + 79 + 921.3851648071345 + 1011.3851648071345 + + 1027.1965531079763 + + + 360.9658621457393 + noDriver + A + 0.0 + + 73 + 14.142135623730951 + 261.0 + + + 84 + 266.8309518948453 + 443.0 + + 462.8494332412792 + + + 336.11724276862367 + noDriver + A + 0.0 + + 30 + 10.0 + 100.0 + + + 34 + 105.0 + 195.0 + + + 35 + 197.0 + 287.0 + + + 37 + 289.0 + 379.0 + + 396.11724276862367 + + + 396.97072464514815 + noDriver + A + 0.0 + + 67 + 35.0 + 125.0 + + + 64 + 130.38516480713452 + 276.0 + + + 63 + 281.3851648071345 + 376.0 + + 421.1774279923061 + + + 420.72702457661836 + noDriver + A + 0.0 + + 65 + 35.05709628591621 + 185.0 + + + 66 + 195.19803902718556 + 475.0 + + + 68 + 477.0 + 567.0 + + + 70 + 570.0 + 660.0 + + + 69 + 670.4403065089106 + 760.4403065089106 + + 795.4974027948268 + + + 382.09803902718556 + noDriver + A + 0.0 + + 39 + 20.0 + 448.0 + + + 40 + 453.0 + 543.0 + + + 38 + 546.0 + 636.0 + + + 36 + 638.0 + 728.0 + + + 33 + 731.0 + 822.0 + + + 32 + 825.0 + 915.0 + + + 31 + 917.0 + 1007.0 + + 1017.1980390271856 + + + 382.08680693813784 + noDriver + A + 0.0 + + 42 + 31.622776601683793 + 121.6227766016838 + + + 43 + 123.6227766016838 + 213.6227766016838 + + + 41 + 219.0079414088183 + 309.0079414088183 + + + 45 + 314.0079414088183 + 404.0079414088183 + + 442.08680693813784 + + + 421.4526583493026 + noDriver + A + 0.0 + + 47 + 39.293765408777 + 473.0 + + + 48 + 475.0 + 569.0 + + + 49 + 574.0 + 664.0 + + + 46 + 669.0 + 759.0 + + + 44 + 762.0 + 852.0 + + 884.3882694814033 + + + 396.9751783773217 + noDriver + A + 0.0 + + 108 + 30.805843601498726 + 120.80584360149872 + + + 106 + 126.19100840863322 + 216.19100840863322 + + + 104 + 221.57617321576774 + 375.0 + + + 102 + 378.605551275464 + 468.605551275464 + + + 103 + 470.605551275464 + 565.0 + + 608.0116263352131 + + + 442.4061783214535 + noDriver + A + 0.0 + + 86 + 52.20153254455275 + 293.0 + + + 81 + 298.0 + 388.0 + + + 80 + 393.0 + 483.0 + + + 83 + 486.0 + 576.0 + + + 87 + 580.0 + 670.0 + + + 89 + 671.0 + 761.0 + + + 90 + 766.3851648071345 + 859.0 + + 910.478150704935 + + + 348.0936045857849 + noDriver + A + 0.0 + + 53 + 16.55294535724685 + 106.55294535724684 + + + 52 + 109.55294535724684 + 199.55294535724684 + + + 51 + 201.55294535724684 + 291.5529453572468 + + + 50 + 293.5529453572468 + 383.5529453572468 + + + 54 + 386.5529453572468 + 476.5529453572468 + + 498.0936045857848 + + + 398.9184017049979 + noDriver + A + 0.0 + + 56 + 20.591260281974 + 538.0 + + + 55 + 540.0 + 631.0 + + + 58 + 633.0 + 723.0 + + + 61 + 726.0 + 816.0 + + + 60 + 818.2360679774998 + 908.2360679774998 + + + 62 + 911.3983456376682 + 1002.0 + + + 59 + 1005.0 + 1095.0 + + + 57 + 1097.0 + 1187.0 + + 1205.02775637732 + + + 390.48077199598873 + noDriver + A + 0.0 + + 23 + 30.805843601498726 + 120.80584360149872 + + + 28 + 127.80584360149872 + 269.0 + + + 29 + 274.0 + 368.0 + + + 25 + 373.0 + 474.0 + + 510.0555127546399 + + + 440.799048628923 + noDriver + A + 0.0 + + 27 + 33.301651610693426 + 189.0 + + + 26 + 199.19803902718556 + 565.0 + + + 24 + 567.0 + 657.0 + + + 22 + 660.0 + 750.0 + + + 109 + 780.4138126514911 + 870.4138126514911 + + 903.9548323139879 + + + 417.70181023477153 + noDriver + A + 0.0 + + 91 + 47.43416490252569 + 137.43416490252568 + + + 88 + 140.43416490252568 + 230.43416490252568 + + + 93 + 256.0466618522571 + 355.0 + + + 92 + 358.0 + 459.0 + + + 94 + 464.8309518948453 + 554.8309518948454 + + 585.8793012873655 + + + 347.21360705502025 + noDriver + A + 0.0 + + 15 + 15.132745950421556 + 105.13274595042155 + + + 13 + 106.13274595042155 + 196.13274595042157 + + + 17 + 198.13274595042157 + 288.13274595042157 + + + 18 + 290.9611730751678 + 380.9611730751678 + + + 20 + 384.5667243506318 + 474.5667243506318 + + + 21 + 477.5667243506318 + 567.5667243506318 + + 587.2136070550204 + + + 398.51014755711293 + noDriver + A + 0.0 + + 19 + 20.09975124224178 + 624.0 + + + 16 + 626.2360679774998 + 716.2360679774998 + + + 14 + 718.4721359549997 + 817.0 + + + 12 + 820.605551275464 + 915.0 + + + 11 + 917.0 + 1007.0 + + + 85 + 1010.0 + 1100.0 + + 1115.8113883008418 + + + 386.9734483703083 + noDriver + A + 0.0 + + 100 + 20.615528128088304 + 110.6155281280883 + + + 97 + 115.6155281280883 + 205.6155281280883 + + + 96 + 206.6155281280883 + 296.6155281280883 + + + 95 + 302.0006929352228 + 645.0 + + + 98 + 648.0 + 738.0 + + 764.9258240356726 + + + 443.6982451160345 + noDriver + A + 0.0 + + 105 + 37.20215047547655 + 286.0 + + + 107 + 291.3851648071345 + 651.0 + + + 110 + 656.0 + 746.0 + + + 99 + 774.1602556806574 + 864.1602556806574 + + + 101 + 867.7658069561214 + 957.7658069561214 + + 980.1264867311194 + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_inclShipments_iniRoutes.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_inclShipments_iniRoutes.xml new file mode 100644 index 00000000..2b646d33 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_inclShipments_iniRoutes.xml @@ -0,0 +1,132 @@ + + + + FINITE + HOMOGENEOUS + + + + veh1 + type1 + + [x=0.0][y=0.0] + + + + [x=0.0][y=0.0] + + + + 0.0 + 46800.0 + + true + + + veh2 + type1 + + [x=0.0][y=0.0] + + + + [x=0.0][y=0.0] + + + + 0.0 + 64800.0 + + true + + + + + type1 + + 0 + + + 0.0 + 1.0 + + + + + + + loc_s2 + + + 0 + + 0.0 + + + loc_s1 + + + 0 + + 0.0 + + + + + + + loc_pickup_shipment_3 + + + + loc_deliver_shipment_3 + + + + 0 + + + + + + loc_pickup_shipment_4 + + + + loc_deliver_shipment_4 + + + + 0 + + + + + + + + noDriver + veh1 + 0. + + 1 + + + + + + noDriver + veh2 + 0. + + 3 + + + 3 + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_iniRoutes.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_iniRoutes.xml new file mode 100644 index 00000000..a0b8ae6f --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_iniRoutes.xml @@ -0,0 +1,88 @@ + + + + FINITE + HOMOGENEOUS + + + + veh1 + type1 + + [x=0.0][y=0.0] + + + + [x=0.0][y=0.0] + + + + 0.0 + 46800.0 + + true + + + 2 + type1 + + [x=0.0][y=0.0] + + + + [x=0.0][y=0.0] + + + + 0.0 + 64800.0 + + true + + + + + type1 + + 0 + + + 0.0 + 1.0 + + + + + + + loc_s2 + + + 0 + + 0.0 + + + loc_s3 + + + 0 + + 0.0 + + + + + noDriver + veh1 + 0. + + 1 + + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_iniRoutes_2.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_iniRoutes_2.xml new file mode 100644 index 00000000..1705ba96 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_iniRoutes_2.xml @@ -0,0 +1,87 @@ + + + + FINITE + HOMOGENEOUS + + + + veh1 + type1 + + [x=0.0][y=0.0] + + + + [x=0.0][y=0.0] + + + + 0.0 + 46800.0 + + true + + + + + type1 + + 100 + + + 0.0 + 1.0 + + + + + + + + + loc_pickup_shipment_3 + + + + loc_deliver_shipment_3 + + + + 100 + + + + + + loc_pickup_shipment_4 + + + + loc_deliver_shipment_4 + + + + 50 + + + + + + + + noDriver + veh1 + 0. + + 3 + + + 3 + + + + + diff --git a/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_iniRoutes_3.xml b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_iniRoutes_3.xml new file mode 100644 index 00000000..c2602237 --- /dev/null +++ b/jsprit-io/src/test/resources/com/graphhopper/jsprit/io/problem/simpleProblem_iniRoutes_3.xml @@ -0,0 +1,80 @@ + + + + FINITE + HOMOGENEOUS + + + + veh1 + type1 + + [x=5000.0][y=5000.0] + + + + 0.0 + 46800.0 + + true + + + veh2 + type1 + + [x=0.0][y=0.0] + + + + 0.0 + 64800.0 + + true + + + + + type1 + + 0 + + + 0.0 + 1.0 + + + + + + + loc_s2 + + + 0 + + 0.0 + + + loc_s3 + + + 0 + + 0.0 + + + + + noDriver + veh1 + 0. + + 1 + + + + + +