diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java index e993eb79..90ec9084 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/recreate/BestInsertionConcurrent.java @@ -40,7 +40,7 @@ import java.util.concurrent.*; * */ -final class BestInsertionConcurrent implements InsertionStrategy{ +public final class BestInsertionConcurrent implements InsertionStrategy{ static class Batch { List routes = new ArrayList(); diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoods.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoods.java index 6021d9a1..1c31c61e 100644 --- a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoods.java +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoods.java @@ -7,8 +7,10 @@ import java.util.Iterator; /** * Created by schroeder on 07/01/15. */ -interface JobNeighborhoods { +public interface JobNeighborhoods { public Iterator getNearestNeighborsIterator(int nNeighbors, Job neighborTo); + public void initialise(); + } diff --git a/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsFactory.java b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsFactory.java new file mode 100644 index 00000000..aa0cc4aa --- /dev/null +++ b/jsprit-core/src/main/java/jsprit/core/algorithm/ruin/JobNeighborhoodsFactory.java @@ -0,0 +1,19 @@ +package jsprit.core.algorithm.ruin; + +import jsprit.core.algorithm.ruin.distance.JobDistance; +import jsprit.core.problem.VehicleRoutingProblem; + +/** + * Created by schroeder on 05/03/15. + */ +public class JobNeighborhoodsFactory { + + public JobNeighborhoods createNeighborhoods(VehicleRoutingProblem vrp, JobDistance jobDistance){ + return new JobNeighborhoodsImpl(vrp,jobDistance); + } + + public JobNeighborhoods createNeighborhoods(VehicleRoutingProblem vrp, JobDistance jobDistance, int capacity){ + return new JobNeighborhoodsImplWithCapRestriction(vrp,jobDistance,capacity); + } + +}