// Creates a random route for use only in creation of first generation public void generateIndividual() { // Loop through entire array of route and add a city to each spot for (int cityIndex = 0; cityIndex < RouteHandler.numberOfCities(); cityIndex++) { setCity(cityIndex, RouteHandler.getCity(cityIndex)); } // Randomly reorder the route Collections.shuffle(route); }
private Route getRoute(Class<? extends ResourceHandler> resourceHandlerClass) { List<Route> routes = getRoutes(); for (Route route : routes) { RouteHandler routeHandler = route.getRouteHandler(); if (resourceHandlerClass.isAssignableFrom(routeHandler.getClass())) { ClasspathResourceHandler resourceHandler = (ClasspathResourceHandler) routeHandler; if (resourceHandlerClass == resourceHandler.getClass()) { return route; } } } return null; }
public static void main(String[] args) { City c = new City("Amsterdam", 23, 741636, 825080); City c1 = new City("Rotterdam", 23, 598199, 625472); City c2 = new City("The Hague", 23, 474292, 515076); City c3 = new City("Utrecht", 23, 290529, 335089); City c4 = new City("Eindhoven", 23, 209620, 223876); City c5 = new City("Tilburg", 23, 199613, 211726); City c6 = new City("Groningen", 23, 181194, 200210); City c7 = new City("Almere", 23, 176432, 197318); City c8 = new City("Breda", 23, 167673, 181775); City c9 = new City("Nijmegen", 23, 158732, 170943); RouteHandler.addCities(c, c1, c2, c3, c4, c5, c6, c7, c8, c9); ps.println("Cities in route: " + RouteHandler.numberOfCities()); Population pop = new Population(3, true); ps.println("Initial distance: " + pop.getFittest().getDistance()); ps.printf( "| %-12s | %5s | %10s | %10s | %12s | \n", "City", "Cost", "Population", "Income", "Position"); ps.println(pop.getFittest().toString()); }
// Creates an empty route that will be filled later public Route() { for (int i = 0; i < RouteHandler.numberOfCities(); i++) { route.add(null); } }