Package jsprit.core.problem.job

Examples of jsprit.core.problem.job.Service


      }
      String[] lineTokens = line.split(",");
      /*
       * build service
       */
      Service service = Service.Builder.newInstance(lineTokens[0]).addSizeDimension(0, Integer.parseInt(lineTokens[1])).setLocationId(lineTokens[0]).build();
      /*
       * and add it to problem
       */
      vrpBuilder.addJob(service);
    }
 
View Full Code Here


    Examples.createOutputFolder();
   
    VehicleType type = VehicleTypeImpl.Builder.newInstance("type").addCapacityDimension(0, 2).setCostPerDistance(1).setCostPerTime(2).build();
    VehicleImpl vehicle = VehicleImpl.Builder.newInstance("vehicle").setStartLocationId("0").setType(type).build();
   
    Service s1 = Service.Builder.newInstance("1").addSizeDimension(0, 1).setLocationId("1").build();
    Service s2 = Service.Builder.newInstance("2").addSizeDimension(0, 1).setLocationId("2").build();
    Service s3 = Service.Builder.newInstance("3").addSizeDimension(0, 1).setLocationId("3").build();
   
   
    /*
     * Assume the following symmetric distance-matrix
     * from,to,distance
 
View Full Code Here

        VehicleImpl vehicle2 = vehicle2Builder.build();
   
    /*
     * build services at the required locations, each with a capacity-demand of 1.
     */
    Service service1 = Service.Builder.newInstance("1").addSizeDimension(WEIGHT_INDEX, 1).setCoord(Coordinate.newInstance(5, 7)).build();
    Service service2 = Service.Builder.newInstance("2").addSizeDimension(WEIGHT_INDEX, 1).setCoord(Coordinate.newInstance(5, 13)).build();
   
    Service service3 = Service.Builder.newInstance("3").addSizeDimension(WEIGHT_INDEX, 1).setCoord(Coordinate.newInstance(15, 7)).build();

    Service service4 = Service.Builder.newInstance("4").addSizeDimension(WEIGHT_INDEX, 1).addRequiredSkill("drill").setCoord(Coordinate.newInstance(15, 13)).build();
   
   
    VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
    vrpBuilder.addVehicle(vehicle).addVehicle(vehicle2);
    vrpBuilder.addJob(service1).addJob(service2).addJob(service3).addJob(service4);
View Full Code Here

    private void writeServices(JsonGenerator jsonGenerator) {
        try {
            jsonGenerator.writeArrayFieldStart(JsonConstants.SERVICES);
            for(Job job : vrp.getJobs().values()){
                if(!(job instanceof Service)) continue;
                Service service = (Service)job;
                jsonGenerator.writeStartObject();
                jsonGenerator.writeStringField(JsonConstants.Job.ID, service.getId());
                jsonGenerator.writeStringField(JsonConstants.Job.TYPE,service.getType());
                jsonGenerator.writeStringField(JsonConstants.Job.NAME,service.getName());
                jsonGenerator.writeObjectFieldStart(JsonConstants.Job.ADDRESS);
                jsonGenerator.writeStringField(JsonConstants.Address.ID, service.getLocationId());
                jsonGenerator.writeNumberField(JsonConstants.Address.LON, service.getCoord().getX());
                jsonGenerator.writeNumberField(JsonConstants.Address.LAT,service.getCoord().getY());
                jsonGenerator.writeEndObject();
                jsonGenerator.writeNumberField(JsonConstants.Job.SERVICE_DURATION, service.getServiceDuration());

                jsonGenerator.writeObjectFieldStart(JsonConstants.Job.TIME_WINDOW);
                jsonGenerator.writeNumberField(JsonConstants.TimeWindow.START,service.getTimeWindow().getStart());
                jsonGenerator.writeNumberField(JsonConstants.TimeWindow.END,service.getTimeWindow().getEnd());
                jsonGenerator.writeEndObject();

                jsonGenerator.writeArrayFieldStart(JsonConstants.Job.SIZE);
                for(int i=0;i<service.getSize().getNuOfDimensions();i++){
                    jsonGenerator.writeNumber(service.getSize().get(i));
                }
                jsonGenerator.writeEndArray();

                jsonGenerator.writeArrayFieldStart(JsonConstants.Job.SKILLS);
                for(String skill : service.getRequiredSkills().values()){
                    jsonGenerator.writeString(skill);
                }
                jsonGenerator.writeEndArray();
                jsonGenerator.writeEndObject();
            }
View Full Code Here

        }

    }

    public static void main(String[] args) {
        Service service = Service.Builder.newInstance("s1").setLocationId("s1_loc").setCoord(Coordinate.newInstance(40, 10))
                .addSizeDimension(0, 20).addSizeDimension(1, 40)
                .setServiceTime(1.)
                .addRequiredSkill("joo-foo")
                .build();
        Pickup service2 = (Pickup) Pickup.Builder.newInstance("pickup2").setLocationId("s2_loc").setCoord(Coordinate.newInstance(40, 10))
View Full Code Here

            }

        };
        vrpBuilder.setActivityCosts(activityCosts);

        Service s1 = Service.Builder.newInstance("s1").setLocationId("10,0").setTimeWindow(TimeWindow.newInstance(10.,10.)).build();
        Service s2 = Service.Builder.newInstance("s2").setLocationId("20,0").setTimeWindow(TimeWindow.newInstance(20.,20.)).build();
        Service s3 = Service.Builder.newInstance("s3").setLocationId("30,0").setTimeWindow(TimeWindow.newInstance(30.,30.)).build();
        vrpBuilder.addJob(s1).addJob(s2).addJob(s3);

        VehicleType type = VehicleTypeImpl.Builder.newInstance("type").build();
        VehicleImpl vehicle = VehicleImpl.Builder.newInstance("vehicle").setStartLocationId("0,0").setType(type).build();
        vrpBuilder.addVehicle(vehicle);
View Full Code Here

        constraintManager = new ConstraintManager(vrp,stateManager);
    }

    @Test
    public void whenNewServiceNeedToBeInserted_itShouldReturnCorrectInsertionCosts(){
        final Service s4 = Service.Builder.newInstance("s4").setLocationId("5,0").setTimeWindow(TimeWindow.newInstance(5.,5.)).build();
        RouteLevelActivityInsertionCostsEstimator estimator = new RouteLevelActivityInsertionCostsEstimator(routingCosts,activityCosts,stateManager);
        estimator.setForwardLooking(0);
        ServiceInsertionOnRouteLevelCalculator routeInserter = new ServiceInsertionOnRouteLevelCalculator(routingCosts,
                activityCosts,estimator,constraintManager,constraintManager);
        routeInserter.setStates(stateManager);
View Full Code Here

        assertEquals(0.,iData.getInsertionCost(),0.01);
    }

    @Test
    public void whenNewServiceNeedToBeInserted_itShouldReturnCorrectInsertionIndex(){
        final Service s4 = Service.Builder.newInstance("s4").setLocationId("5,0").setTimeWindow(TimeWindow.newInstance(5.,5.)).build();
        RouteLevelActivityInsertionCostsEstimator estimator = new RouteLevelActivityInsertionCostsEstimator(routingCosts,activityCosts,stateManager);
        estimator.setForwardLooking(0);
        final ServiceInsertionOnRouteLevelCalculator routeInserter = new ServiceInsertionOnRouteLevelCalculator(routingCosts,
                activityCosts,estimator,constraintManager,constraintManager);
        routeInserter.setStates(stateManager);
View Full Code Here

        assertEquals(0,iData.getDeliveryInsertionIndex(),0.01);
    }

    @Test
    public void whenNewServiceWithServiceTimeNeedToBeInserted_itShouldReturnCorrectInsertionData(){
        final Service s4 = Service.Builder.newInstance("s4").setServiceTime(10.).setLocationId("5,0").setTimeWindow(TimeWindow.newInstance(5.,5.)).build();
        RouteLevelActivityInsertionCostsEstimator estimator = new RouteLevelActivityInsertionCostsEstimator(routingCosts,activityCosts,stateManager);
        estimator.setForwardLooking(0);
        ServiceInsertionOnRouteLevelCalculator routeInserter = new ServiceInsertionOnRouteLevelCalculator(routingCosts,
                activityCosts,estimator,constraintManager,constraintManager);
        routeInserter.setStates(stateManager);
View Full Code Here

    }


    @Test
    public void whenNewServiceWithServiceTimeNeedToBeInsertedAndRouteIsEmpty_itShouldReturnCorrectInsertionData(){
        final Service s4 = Service.Builder.newInstance("s4").setServiceTime(10.).setLocationId("5,0").setTimeWindow(TimeWindow.newInstance(5.,5.)).build();
//        PickupActivity pickupService = new PickupService(s4);
        VehicleRoute emptyroute = VehicleRoute.emptyRoute();
        RouteLevelActivityInsertionCostsEstimator estimator = new RouteLevelActivityInsertionCostsEstimator(routingCosts,activityCosts,stateManager);
        estimator.setForwardLooking(0);
        ServiceInsertionOnRouteLevelCalculator routeInserter = new ServiceInsertionOnRouteLevelCalculator(routingCosts,
View Full Code Here

TOP

Related Classes of jsprit.core.problem.job.Service

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.