private void buildShipments() { Integer counter = 0; for (Relation rel : relations) { counter++; String from = rel.from; String to = rel.to; int demand = rel.demand; Shipment s = Shipment.Builder.newInstance(counter.toString()).addSizeDimension(0, demand) .setPickupLocation(Location.Builder.newInstance().setCoordinate(customers.get(from).coord).build()).setPickupServiceTime(customers.get(from).serviceTime) .setPickupTimeWindow(TimeWindow.newInstance(customers.get(from).start, customers.get(from).end)) .setDeliveryLocation(Location.Builder.newInstance().setCoordinate(customers.get(to).coord).build()).setDeliveryServiceTime(customers.get(to).serviceTime) .setDeliveryTimeWindow(TimeWindow.newInstance(customers.get(to).start, customers.get(to).end)).build(); vrpBuilder.addJob(s); } }
TimeWindow twObj = new TimeWindow(tw[0].getTotalMilliseconds(), tw[1].getTotalMilliseconds()); if (i == 0) { builder.setPickupTimeWindow(twObj); } else { builder.setDeliveryTimeWindow(twObj);
/** * Creates (jsprit) {@link Shipment} from a (MATSim) {@link CarrierShipment} * * @param carrierShipment to be transformed to jsprit * @return Shipment * @see CarrierShipment, Shipment */ static Shipment createShipment (CarrierShipment carrierShipment) { return Shipment.Builder.newInstance(carrierShipment.getId().toString()) .setDeliveryLocation(Location.newInstance(carrierShipment.getTo().toString())) .setDeliveryServiceTime(carrierShipment.getDeliveryServiceTime()) .setDeliveryTimeWindow(com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindow.newInstance(carrierShipment.getDeliveryTimeWindow().getStart(), carrierShipment.getDeliveryTimeWindow().getEnd())) .setPickupServiceTime(carrierShipment.getPickupServiceTime()) .setPickupLocation(Location.newInstance(carrierShipment.getFrom().toString())) .setPickupTimeWindow(com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindow.newInstance(carrierShipment.getPickupTimeWindow().getStart(), carrierShipment.getPickupTimeWindow().getEnd())) .addSizeDimension(0, carrierShipment.getSize()) .build(); }
static Shipment createShipment(CarrierShipment carrierShipment, Coord fromCoord, Coord toCoord) { Location.Builder fromLocationBuilder = Location.Builder.newInstance(); fromLocationBuilder.setId(carrierShipment.getFrom().toString()); if(fromCoord != null) { fromLocationBuilder.setCoordinate(Coordinate.newInstance(fromCoord.getX(), fromCoord.getY())); } Location fromLocation = fromLocationBuilder.build(); Location.Builder toLocationBuilder = Location.Builder.newInstance(); toLocationBuilder.setId(carrierShipment.getTo().toString()); if(toCoord != null) { toLocationBuilder.setCoordinate(Coordinate.newInstance(toCoord.getX(), toCoord.getY())); } Location toLocation = toLocationBuilder.build(); return Shipment.Builder.newInstance(carrierShipment.getId().toString()) .setDeliveryLocation(toLocation) .setDeliveryServiceTime(carrierShipment.getDeliveryServiceTime()) .setDeliveryTimeWindow(com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindow.newInstance(carrierShipment.getDeliveryTimeWindow().getStart(), carrierShipment.getDeliveryTimeWindow().getEnd())) .setPickupServiceTime(carrierShipment.getPickupServiceTime()) .setPickupLocation(fromLocation) .setPickupTimeWindow(com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindow.newInstance(carrierShipment.getPickupTimeWindow().getStart(), carrierShipment.getPickupTimeWindow().getEnd())) .addSizeDimension(0, carrierShipment.getSize()) .build(); }