double serviceTime = Double.parseDouble(tokens[3].trim()); int demand = Integer.parseInt(tokens[4].trim()); Service service = Service.Builder.newInstance(id).addSizeDimension(0, demand).setServiceTime(serviceTime) .setLocation(Location.Builder.newInstance().setId(id).setCoordinate(customerCoord).build()).build(); vrpBuilder.addJob(service);
int demand = Integer.parseInt(tokens[2].trim()); String customer = Integer.valueOf(counter - 1).toString(); Service service = Service.Builder.newInstance(customer).addSizeDimension(0, demand).setServiceTime(serviceTime).setLocation(Location.newInstance(customerCoord.getX(), customerCoord.getY())).build(); vrpBuilder.addJob(service);
} else { Service service = Service.Builder.newInstance("" + (counter - 10)).addSizeDimension(0, demand) .setLocation(Location.Builder.newInstance().setCoordinate(coord).setId(customerId).build()).setServiceTime(serviceTime) .setTimeWindow(TimeWindow.newInstance(start, end)).build(); vrpBuilder.addJob(service);
builder.setServiceTime(serviceConfig.getDouble("duration"));
private Service buildStop(ODLTableReadOnly table, int row, StopsTableDefn dfn, Service.Builder builder) { LatLong ll = dfn.latLong.getLatLong(table, row,false); Location location = Location.newInstance(locs.addLatLong(ll)); builder.setLocation(location); // validate and add quantities for (int q = 0; q < dfn.quantityIndices.length; q++) { builder.addSizeDimension(q, dfn.getQuantity(table, row, q)); } // validate and set service duration if (dfn.serviceDuration != -1) { builder.setServiceTime(dfn.getDuration(table, row).getTotalMilliseconds()); } // validate and set time window ODLTime[] tw = dfn.getTW(table, row); if (tw != null) { builder.setTimeWindow(new TimeWindow(tw[0].getTotalMilliseconds(), tw[1].getTotalMilliseconds())); } // add required skills for(String skill: getSkillsArray((String)table.getValueAt(row, dfn.requiredSkills))){ builder.addRequiredSkill(skill); } return builder.build(); }
static Service createService(CarrierService carrierService, Coord locationCoord) { Location.Builder locationBuilder = Location.Builder.newInstance(); locationBuilder.setId(carrierService.getLocationLinkId().toString()); if(locationCoord != null) { locationBuilder.setCoordinate(Coordinate.newInstance(locationCoord.getX(), locationCoord.getY())); } Location location = locationBuilder.build(); Builder serviceBuilder = Service.Builder.newInstance(carrierService.getId().toString()); serviceBuilder.addSizeDimension(0, carrierService.getCapacityDemand()); serviceBuilder.setLocation(location).setServiceTime(carrierService.getServiceDuration()) .setTimeWindow(com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindow.newInstance(carrierService.getServiceStartTimeWindow().getStart(), carrierService.getServiceStartTimeWindow().getEnd())); return serviceBuilder.build(); }
.addTimeWindow(400 + random.nextInt(50), 550) .setServiceTime(1) .setLocation(Location.newInstance(random.nextInt(50), random.nextInt(50))).build(); vrpBuilder.addJob(service); .setServiceTime(2) .setLocation(Location.newInstance(50 + random.nextInt(20), 20 + random.nextInt(25))).build(); vrpBuilder.addJob(service); .setServiceTime(10) .setLocation(Location.newInstance(40, 1)).build(); vrpBuilder.addJob(service);
builder.setServiceTime(serviceConfig.getDouble("duration"));
.addSizeDimension(WEIGHT_INDEX, 1) .setLocation(Location.newInstance(20, 0)).setServiceTime(10).build();
vehicleBuilder.setStartLocation(Location.newInstance(10, 10)); Break myFirstBreak = Break.Builder.newInstance("myFirstBreak") .setTimeWindow(TimeWindow.newInstance(10, 15)).setServiceTime(100).build(); vehicleBuilder.setBreak(myFirstBreak); vehicleBuilder.setType(vehicleType); .setBreak((Break) Break.Builder.newInstance("mySecondBreak").setTimeWindow(TimeWindow.newInstance(5, 10)).setServiceTime(10).build()).build();
Service.Builder skillServiceBuilder; if (service.getLocation().getCoordinate().getY() < 50.) { skillServiceBuilder = Service.Builder.newInstance(service.getId() + "_skill2").setServiceTime(service.getServiceDuration()) .setLocation(Location.Builder.newInstance().setId(service.getLocation().getId()) .setCoordinate(service.getLocation().getCoordinate()).build()).setTimeWindow(service.getTimeWindow()) skillServiceBuilder.addRequiredSkill("skill2"); } else { skillServiceBuilder = Service.Builder.newInstance(service.getId() + "_skill1").setServiceTime(service.getServiceDuration()) .setLocation( Location.Builder.newInstance().setId(service.getLocation().getId())
serviceBuilder.addSizeDimension(0, demand).setLocation(Location.Builder.newInstance().setCoordinate(coord).setId(customerId).build()).setServiceTime(serviceTime); int noTimeWindows = Integer.parseInt(tokens[7]); for(int i=0;i<noTimeWindows*2;i=i+2){
.setLocation(Location.Builder.newInstance().setCoordinate(coord).setId(customerId).build()).setServiceTime(serviceTime) .setTimeWindow(TimeWindow.newInstance(start, end)).build(); vrpBuilder.addJob(service);