diff --git a/jsprit-core/src/main/java/algorithms/GreedySchrimpfFactory.java b/jsprit-core/src/main/java/algorithms/GreedySchrimpfFactory.java index efc0394b..90650985 100644 --- a/jsprit-core/src/main/java/algorithms/GreedySchrimpfFactory.java +++ b/jsprit-core/src/main/java/algorithms/GreedySchrimpfFactory.java @@ -64,7 +64,7 @@ public class GreedySchrimpfFactory { public VehicleRoutingAlgorithm createAlgorithm(VehicleRoutingProblem vrp){ AlgorithmConfig algorithmConfig = new AlgorithmConfig(); URL resource = Resource.getAsURL("greedySchrimpf.xml"); - new AlgorithmConfigXmlReader(algorithmConfig).read(resource.getPath()); + new AlgorithmConfigXmlReader(algorithmConfig).read(resource); return VehicleRoutingAlgorithms.createAlgorithm(vrp, algorithmConfig); } diff --git a/jsprit-core/src/main/java/algorithms/VehicleRoutingAlgorithms.java b/jsprit-core/src/main/java/algorithms/VehicleRoutingAlgorithms.java index 302a2ff7..75236cd3 100644 --- a/jsprit-core/src/main/java/algorithms/VehicleRoutingAlgorithms.java +++ b/jsprit-core/src/main/java/algorithms/VehicleRoutingAlgorithms.java @@ -21,6 +21,7 @@ package algorithms; +import java.net.URL; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -367,6 +368,13 @@ public class VehicleRoutingAlgorithms { return createAlgo(vrp,config); } + public static VehicleRoutingAlgorithm readAndCreateAlgorithm(final VehicleRoutingProblem vrp, final URL configURL){ + AlgorithmConfig algorithmConfig = new AlgorithmConfig(); + AlgorithmConfigXmlReader xmlReader = new AlgorithmConfigXmlReader(algorithmConfig); + xmlReader.read(configURL); + return createAlgo(vrp,algorithmConfig.getXMLConfiguration()); + } + public static VehicleRoutingAlgorithm readAndCreateAlgorithm(final VehicleRoutingProblem vrp, final String configFileName){ AlgorithmConfig algorithmConfig = new AlgorithmConfig(); AlgorithmConfigXmlReader xmlReader = new AlgorithmConfigXmlReader(algorithmConfig);