@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((service == null) ? 0 : service.hashCode()); return result; }
/** * Returns a new instance of builder that builds a delivery. * * @param id the id of the delivery * @return the builder */ public static Builder newInstance(String id) { return new Builder(id); }
/** * Returns a new instance of builder that builds a service. * * @param id the id of the service * @return the builder */ public static Builder newInstance(String id) { return new Builder(id); }
@Override public Service.Builder createBuilder(String serviceType, String id, Integer size) { if (serviceType.equals("pickup")) { if (size != null) return Pickup.Builder.newInstance(id).addSizeDimension(0, size); else return Pickup.Builder.newInstance(id); } else if (serviceType.equals("delivery")) { if (size != null) return Delivery.Builder.newInstance(id).addSizeDimension(0, size); else return Delivery.Builder.newInstance(id); } else { if (size != null) return Service.Builder.newInstance(id).addSizeDimension(0, size); else return Service.Builder.newInstance(id); } } }
private double calcDist(Service i, Shipment j) { double c_ij1 = calcDist(i.getLocation(), j.getPickupLocation()); double c_ij2 = calcDist(i.getLocation(), j.getDeliveryLocation()); return (c_ij1 + c_ij2) / 2.0; }
@Override public Capacity getSize() { return pickup.getSize(); }
@Override public double getOperationTime() { return pickup.getServiceDuration(); }
public Builder<T> addAllTimeWindows(Collection<TimeWindow> timeWindows) { for (TimeWindow tw : timeWindows) addTimeWindow(tw); return this; }
@Override public double getOperationTime() { return shipment.getDeliveryServiceTime(); }
@Override public String getName() { return service.getType(); }
public Builder addAllDeliveryTimeWindows(Collection<TimeWindow> timeWindow) { for (TimeWindow tw : timeWindow) addDeliveryTimeWindow(tw); return this; }
@Override public Location getLocation() { return delivery.getLocation(); }
/** * Returns a new instance of builder that builds a break. * * @param id the id of the pickup * @return the builder */ public static Builder newInstance(String id) { return new Builder(id); }
/** * Returns a new instance of builder that builds a pickup. * * @param id the id of the pickup * @return the builder */ public static Builder newInstance(String id) { return new Builder(id); }
/** * Returns new instance of this builder. * * @param id the id of the shipment which must be a unique identifier among all jobs * @return the builder */ public static Builder newInstance(String id) { return new Builder(id); }
@Override public String getName() { return aBreak.getType(); }
@Override public Capacity getSize() { return aBreak.getSize(); }
@Override public int compare(Job o1, Job o2) { return o1.getPriority() - o2.getPriority(); }
Service(Builder<?> builder) { setUserData(builder.userData); id = builder.id; serviceTime = builder.serviceTime; type = builder.type; size = builder.capacity; skills = builder.skills; name = builder.name; location = builder.location; timeWindows = builder.timeWindows; priority = builder.priority; maxTimeInVehicle = builder.maxTimeInVehicle; }
@Override public Capacity getSize() { return service.getSize(); }