jsprit能解决负需求的VRPC还是VRPB更好?

问题描述

我需要使用 VRP 并考虑到客户想要取货或送货。我知道 VRPB 满足这些要求,但要等到卡车空了再从客户那里取货。

VRPC 能否应对负需求?这将使它成为交付。

解决方法

环顾四周后,我找到了这个链接:https://discuss.graphhopper.com/t/negative-values-as-capacities/1310

您可以使用 PickUp 类或 Delivery 类,其余的工作由代码完成。 所以是的,它受支持。

    Delivery delivery1 = Delivery.Builder.newInstance("1").addSizeDimension(WEIGHT_INDEX,1).setLocation(Location.newInstance(5,7)).build();
    Delivery delivery2 = Delivery.Builder.newInstance("2").addSizeDimension(WEIGHT_INDEX,13)).build();

    Delivery delivery3 = Delivery.Builder.newInstance("3").addSizeDimension(WEIGHT_INDEX,1).setLocation(Location.newInstance(15,7)).build();
    Delivery delivery4 = Delivery.Builder.newInstance("5").addSizeDimension(WEIGHT_INDEX,7)).build();
    Pickup pickup1 = Pickup.Builder.newInstance("4").addSizeDimension(WEIGHT_INDEX,13)).build();


    VehicleRoutingProblem.Builder vrpBuilder = VehicleRoutingProblem.Builder.newInstance();
    vrpBuilder.addVehicle(vehicle);
    vrpBuilder.addJob(delivery1).addJob(delivery2).addJob(delivery3).addJob(pickup1).addJob(delivery4);