Package jsprit.core.problem.VehicleRoutingProblem

Examples of jsprit.core.problem.VehicleRoutingProblem.Builder


    assertEquals(10000,v.getType().getCapacityDimensions().get(2));
  }
 
  @Test
  public void whenWritingVehicleWithSeveralCapacityDimensions_itShouldBeWrittenAndRereadCorrectlyV2(){
    Builder builder = VehicleRoutingProblem.Builder.newInstance();
   
    VehicleTypeImpl type2 = VehicleTypeImpl.Builder.newInstance("type")
        .addCapacityDimension(0, 100)
        .addCapacityDimension(1, 1000)
        .addCapacityDimension(10, 10000)
        .build();

        VehicleImpl v2 = VehicleImpl.Builder.newInstance("v").setStartLocationId("startLoc").setStartLocationCoordinate(Coordinate.newInstance(1, 2))
        .setEndLocationId("endLoc").setEndLocationCoordinate(Coordinate.newInstance(4, 5)).setType(type2).build();
    builder.addVehicle(v2);

    VehicleRoutingProblem vrp = builder.build();
    new VrpXMLWriter(vrp, null).write(infileName);
   
    VehicleRoutingProblem.Builder vrpToReadBuilder = VehicleRoutingProblem.Builder.newInstance();
    new VrpXMLReader(vrpToReadBuilder, null).read(infileName);
    VehicleRoutingProblem readVrp = vrpToReadBuilder.build();
View Full Code Here


    assertEquals(2,newVrp.getInitialVehicleRoutes().iterator().next().getActivities().size());
  }

    @Test
    public void solutionWithoutUnassignedJobsShouldBeWrittenCorrectly(){
        Builder builder = VehicleRoutingProblem.Builder.newInstance();

        VehicleTypeImpl type1 = VehicleTypeImpl.Builder.newInstance("vehType").addCapacityDimension(0, 20).build();
        VehicleImpl v1 = VehicleImpl.Builder.newInstance("v1").setStartLocationId("loc").setType(type1).build();
        builder.addVehicle(v1);

        Service s1 = Service.Builder.newInstance("1").addSizeDimension(0, 1).setLocationId("loc").setServiceTime(2.0).build();
        Service s2 = Service.Builder.newInstance("2").addSizeDimension(0, 1).setLocationId("loc2").setServiceTime(4.0).build();

        VehicleRoutingProblem vrp = builder.addJob(s1).addJob(s2).build();

        VehicleRoute route = VehicleRoute.Builder.newInstance(v1).addService(s1).addService(s2).build();
        List<VehicleRoute> routes = new ArrayList<VehicleRoute>();
        routes.add(route);
        VehicleRoutingProblemSolution solution = new VehicleRoutingProblemSolution(routes,10.);
View Full Code Here

        assertTrue(Solutions.bestOf(solutionsToRead).getUnassignedJobs().isEmpty());
    }

    @Test
    public void solutionWithUnassignedJobsShouldBeWrittenCorrectly(){
        Builder builder = VehicleRoutingProblem.Builder.newInstance();

        VehicleTypeImpl type1 = VehicleTypeImpl.Builder.newInstance("vehType").addCapacityDimension(0, 20).build();
        VehicleImpl v1 = VehicleImpl.Builder.newInstance("v1").setStartLocationId("loc").setType(type1).build();
        builder.addVehicle(v1);

        Service s1 = Service.Builder.newInstance("1").addSizeDimension(0, 1).setLocationId("loc").setServiceTime(2.0).build();
        Service s2 = Service.Builder.newInstance("2").addSizeDimension(0, 1).setLocationId("loc2").setServiceTime(4.0).build();

        VehicleRoutingProblem vrp = builder.addJob(s1).addJob(s2).build();

        VehicleRoute route = VehicleRoute.Builder.newInstance(v1).addService(s1).build();
        List<VehicleRoute> routes = new ArrayList<VehicleRoute>();
        routes.add(route);
        VehicleRoutingProblemSolution solution = new VehicleRoutingProblemSolution(routes,10.);
View Full Code Here

    TimeWindow timeWindow = TimeWindow.newInstance(40, 45);
    Service service = Service.Builder.newInstance("s").setLocationId("servLoc").setCoord(Coordinate.newInstance(0, 10)).setTimeWindow(timeWindow).build();
    Vehicle vehicle = VehicleImpl.Builder.newInstance("v").setStartLocationId("vehLoc").setStartLocationCoordinate(Coordinate.newInstance(0, 0))
        .setType(VehicleTypeImpl.Builder.newInstance("vType").build()).build();
   
    Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
    vrpBuilder.setActivityCosts(new VehicleRoutingActivityCosts(){

      @Override
      public double getActivityCost(TourActivity tourAct, double arrivalTime, Driver driver, Vehicle vehicle) {
        double waiting = Math.max(0, tourAct.getTheoreticalEarliestOperationStartTime() - arrivalTime)*1;
        double late = Math.max(0, arrivalTime - tourAct.getTheoreticalLatestOperationStartTime())*100;
        return  waiting + late;
      }
     
    });
    VehicleRoutingProblem vrp = vrpBuilder.addJob(service).addVehicle(vehicle).build();
   
    VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "src/test/resources/algorithmConfig.xml");
    Collection<VehicleRoutingProblemSolution> solutions = vra.searchSolutions();
   
    assertEquals(20.0+30.0,Solutions.bestOf(solutions).getCost(),0.1);
View Full Code Here

    TimeWindow timeWindow = TimeWindow.newInstance(40, 45);
    Service service = Service.Builder.newInstance("s").setLocationId("servLoc").setCoord(Coordinate.newInstance(0, 10)).setTimeWindow(timeWindow).build();
    Vehicle vehicle = VehicleImpl.Builder.newInstance("v").setStartLocationId("vehLoc").setStartLocationCoordinate(Coordinate.newInstance(0, 0))
        .setType(VehicleTypeImpl.Builder.newInstance("vType").build()).build();
   
    Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
    vrpBuilder.setActivityCosts(new VehicleRoutingActivityCosts(){

      @Override
      public double getActivityCost(TourActivity tourAct, double arrivalTime, Driver driver, Vehicle vehicle) {
        double waiting = Math.max(0, tourAct.getTheoreticalEarliestOperationStartTime() - arrivalTime)*1;
        double late = Math.max(0, arrivalTime - tourAct.getTheoreticalLatestOperationStartTime())*100;
        return  waiting + late;
      }
     
    });
    VehicleRoutingProblem vrp = vrpBuilder.addJob(service).addVehicle(vehicle).build();
   
    VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "src/test/resources/algorithmConfig.xml");
    Collection<VehicleRoutingProblemSolution> solutions = vra.searchSolutions();
   
    assertEquals(0.0,Solutions.bestOf(solutions).getRoutes().iterator().next().getStart().getEndTime(),0.1);
View Full Code Here

    TimeWindow timeWindow = TimeWindow.newInstance(40, 45);
    Service service = Service.Builder.newInstance("s").setLocationId("servLoc").setCoord(Coordinate.newInstance(0, 10)).setTimeWindow(timeWindow).build();
    Vehicle vehicle = VehicleImpl.Builder.newInstance("v").setStartLocationId("vehLoc").setStartLocationCoordinate(Coordinate.newInstance(0, 0))
        .setType(VehicleTypeImpl.Builder.newInstance("vType").build()).build();
   
    Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
    vrpBuilder.setActivityCosts(new VehicleRoutingActivityCosts(){

      @Override
      public double getActivityCost(TourActivity tourAct, double arrivalTime, Driver driver, Vehicle vehicle) {
        double waiting = Math.max(0, tourAct.getTheoreticalEarliestOperationStartTime() - arrivalTime)*1;
        double late = Math.max(0, arrivalTime - tourAct.getTheoreticalLatestOperationStartTime())*100;
        return  waiting + late;
      }
     
    });
    VehicleRoutingProblem vrp = vrpBuilder.addJob(service).addVehicle(vehicle).build();
   
   
    VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "src/test/resources/algorithmConfigWithDepartureTimeChoice.xml");
    Collection<VehicleRoutingProblemSolution> solutions = vra.searchSolutions();
   
View Full Code Here

    TimeWindow timeWindow = TimeWindow.newInstance(40, 45);
    Service service = Service.Builder.newInstance("s").setLocationId("servLoc").setCoord(Coordinate.newInstance(0, 10)).setTimeWindow(timeWindow).build();
    Vehicle vehicle = VehicleImpl.Builder.newInstance("v").setStartLocationId("vehLoc").setStartLocationCoordinate(Coordinate.newInstance(0, 0))
        .setType(VehicleTypeImpl.Builder.newInstance("vType").build()).build();
   
    Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
    vrpBuilder.setActivityCosts(new VehicleRoutingActivityCosts(){

      @Override
      public double getActivityCost(TourActivity tourAct, double arrivalTime, Driver driver, Vehicle vehicle) {
        double waiting = Math.max(0, tourAct.getTheoreticalEarliestOperationStartTime() - arrivalTime)*1;
        double late = Math.max(0, arrivalTime - tourAct.getTheoreticalLatestOperationStartTime())*100;
        return  waiting + late;
      }
     
    });
    VehicleRoutingProblem vrp = vrpBuilder.addJob(service).addVehicle(vehicle).build();
   
   
    VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "src/test/resources/algorithmConfigWithDepartureTimeChoice.xml");
    Collection<VehicleRoutingProblemSolution> solutions = vra.searchSolutions();
   
View Full Code Here

        setTimeWindow(TimeWindow.newInstance(30, 40)).build();
   
    Vehicle vehicle = VehicleImpl.Builder.newInstance("v").setStartLocationId("vehLoc").setStartLocationCoordinate(Coordinate.newInstance(0, 0))
        .setType(VehicleTypeImpl.Builder.newInstance("vType").build()).build();
   
    Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
    vrpBuilder.setActivityCosts(new VehicleRoutingActivityCosts(){

      @Override
      public double getActivityCost(TourActivity tourAct, double arrivalTime, Driver driver, Vehicle vehicle) {
        double waiting = Math.max(0, tourAct.getTheoreticalEarliestOperationStartTime() - arrivalTime)*1;
        double late = Math.max(0, arrivalTime - tourAct.getTheoreticalLatestOperationStartTime())*100;
        return  waiting + late;
      }
     
    });
    VehicleRoutingProblem vrp = vrpBuilder.addJob(service).addJob(service2).addVehicle(vehicle).build();
   
   
    VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "src/test/resources/algorithmConfigWithDepartureTimeChoice.xml");
    Collection<VehicleRoutingProblemSolution> solutions = vra.searchSolutions();
   
View Full Code Here

        setTimeWindow(TimeWindow.newInstance(30, 40)).build();
   
    Vehicle vehicle = VehicleImpl.Builder.newInstance("v").setStartLocationId("vehLoc").setStartLocationCoordinate(Coordinate.newInstance(0, 0))
        .setType(VehicleTypeImpl.Builder.newInstance("vType").build()).build();
   
    Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
    vrpBuilder.setActivityCosts(new VehicleRoutingActivityCosts(){

      @Override
      public double getActivityCost(TourActivity tourAct, double arrivalTime, Driver driver, Vehicle vehicle) {
        double waiting = Math.max(0, tourAct.getTheoreticalEarliestOperationStartTime() - arrivalTime)*1;
        double late = Math.max(0, arrivalTime - tourAct.getTheoreticalLatestOperationStartTime())*100;
        return  waiting + late;
      }
     
    });
    VehicleRoutingProblem vrp = vrpBuilder.addJob(service).addJob(service2).addVehicle(vehicle).build();
   
   
    VehicleRoutingAlgorithm vra = VehicleRoutingAlgorithms.readAndCreateAlgorithm(vrp, "src/test/resources/algorithmConfigWithDepartureTimeChoice.xml");
    Collection<VehicleRoutingProblemSolution> solutions = vra.searchSolutions();
   
View Full Code Here

TOP

Related Classes of jsprit.core.problem.VehicleRoutingProblem.Builder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.