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

ruin cluster

This commit is contained in:
Iris 2018-06-26 10:19:50 +03:00
parent 0dfb25b5ad
commit c62aa94021

View file

@ -889,8 +889,13 @@ public class VehicleRoutingAlgorithms {
ruin = getRadialRuin(vrp, routeStates, definedClasses, ruinKey, shareToRuin, jobDistance); ruin = getRadialRuin(vrp, routeStates, definedClasses, ruinKey, shareToRuin, jobDistance);
} else if (ruin_name.equals("clusterRuin")) { } else if (ruin_name.equals("clusterRuin")) {
String initialNumberJobsToRemoveString = moduleConfig.getString("ruin.initRemoveJobs"); String initialNumberJobsToRemoveString = moduleConfig.getString("ruin.initRemoveJobs");
if (initialNumberJobsToRemoveString == null) throw new IllegalStateException("module.ruin.initRemoveJobs is missing."); String shareFactor = moduleConfig.getString("ruin.share");
int initialNumberJobsToRemove = Integer.valueOf(initialNumberJobsToRemoveString); int initialNumberJobsToRemove;
if (initialNumberJobsToRemoveString != null)
initialNumberJobsToRemove = Integer.valueOf(initialNumberJobsToRemoveString);
else if(shareFactor != null)
initialNumberJobsToRemove = (int) (Double.valueOf(shareFactor) * vrp.getJobs().size());
else throw new IllegalStateException("module.ruin.initRemoveJobs is missing.");
ruin = getClusterRuin(vrp, routeStates, definedClasses, ruinKey, initialNumberJobsToRemove); ruin = getClusterRuin(vrp, routeStates, definedClasses, ruinKey, initialNumberJobsToRemove);
} else throw new IllegalStateException("ruin[@name] " + ruin_name + " is not known. Use either randomRuin or radialRuin."); } else throw new IllegalStateException("ruin[@name] " + ruin_name + " is not known. Use either randomRuin or radialRuin.");