// 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);
 }
Example #2
0
  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);
   }
 }