@Override public AbstractActivity createPickup(Shipment shipment) { return new PickupShipment(shipment); }
private PickupShipment(PickupShipment pickupShipmentActivity) { this.shipment = (Shipment) pickupShipmentActivity.getJob(); this.arrTime = pickupShipmentActivity.getArrTime(); this.endTime = pickupShipmentActivity.getEndTime(); setIndex(pickupShipmentActivity.getIndex()); this.earliest = pickupShipmentActivity.getTheoreticalEarliestOperationStartTime(); this.latest = pickupShipmentActivity.getTheoreticalLatestOperationStartTime(); }
public String toString() { return "[type=" + getName() + "][locationId=" + getLocation().getId() + "][size=" + getSize().toString() + "][twStart=" + Activities.round(getTheoreticalEarliestOperationStartTime()) + "][twEnd=" + Activities.round(getTheoreticalLatestOperationStartTime()) + "]"; }
@Override public void visit(TourActivity activity) { //shipment if (activity instanceof PickupShipment) { openShipments.put(((PickupShipment) activity).getJob().getId(), (PickupShipment) activity); } else if (activity instanceof DeliverShipment) { String jobId = ((DeliverShipment) activity).getJob().getId(); if (!openShipments.containsKey(jobId)) { //deliverShipment without pickupShipment stateManager.putActivityState(activity, shipment_id, true); shipmentConstraintOnRouteViolated = true; } else { PickupShipment removed = openShipments.remove(jobId); stateManager.putActivityState(removed, shipment_id, false); stateManager.putActivityState(activity, shipment_id, false); } } else stateManager.putActivityState(activity, shipment_id, false); //backhaul if (activity instanceof DeliverService && pickupOccured) { stateManager.putActivityState(activity, backhaul_id, true); backhaulConstraintOnRouteViolated = true; } else { if (activity instanceof PickupService || activity instanceof ServiceActivity || activity instanceof PickupShipment) { pickupOccured = true; stateManager.putActivityState(activity, backhaul_id, false); } else stateManager.putActivityState(activity, backhaul_id, false); } }
@Override public void visit(TourActivity activity) { //shipment if (activity instanceof PickupShipment) { openShipments.put(((PickupShipment) activity).getJob().getId(), (PickupShipment) activity); } else if (activity instanceof DeliverShipment) { String jobId = ((DeliverShipment) activity).getJob().getId(); if (!openShipments.containsKey(jobId)) { //deliverShipment without pickupShipment stateManager.putActivityState(activity, shipment_id, true); shipmentConstraintOnRouteViolated = true; } else { PickupShipment removed = openShipments.remove(jobId); stateManager.putActivityState(removed, shipment_id, false); stateManager.putActivityState(activity, shipment_id, false); } } else stateManager.putActivityState(activity, shipment_id, false); //backhaul if (activity instanceof DeliverService && pickupOccured) { stateManager.putActivityState(activity, backhaul_id, true); backhaulConstraintOnRouteViolated = true; } else { if (activity instanceof PickupService || activity instanceof ServiceActivity || activity instanceof PickupShipment) { pickupOccured = true; stateManager.putActivityState(activity, backhaul_id, false); } else stateManager.putActivityState(activity, backhaul_id, false); } }
private PickupShipment(PickupShipment pickupShipmentActivity) { this.shipment = (Shipment) pickupShipmentActivity.getJob(); this.arrTime = pickupShipmentActivity.getArrTime(); this.endTime = pickupShipmentActivity.getEndTime(); setIndex(pickupShipmentActivity.getIndex()); this.earliest = pickupShipmentActivity.getTheoreticalEarliestOperationStartTime(); this.latest = pickupShipmentActivity.getTheoreticalLatestOperationStartTime(); }
public String toString() { return "[type=" + getName() + "][locationId=" + getLocation().getId() + "][size=" + getSize().toString() + "][twStart=" + Activities.round(getTheoreticalEarliestOperationStartTime()) + "][twEnd=" + Activities.round(getTheoreticalLatestOperationStartTime()) + "]"; }
@Override public TourActivity duplicate() { return new PickupShipment(this); }
@Override public AbstractActivity createPickup(Shipment shipment) { return new PickupShipment(shipment); }
@Override public TourActivity duplicate() { return new PickupShipment(this); }