Python 使用不同车辆类型或工具的VRP

Python 使用不同车辆类型或工具的VRP,python,or-tools,vehicle-routing,Python,Or Tools,Vehicle Routing,我正在尝试使用或工具优化VRP的最佳路线。我在中找不到正确的功能 案例:有些客户只接受皮卡车,有些客户只接受皮卡车,有些客户同时接受皮卡车、皮卡车和厢式货车。只有一个仓库位置,车辆应使用接受的车辆将订单发送给正确的客户 我的那些车 客户接受这些车型 应将这些车辆导向相应的客户 您对此有何想法或是否有任何工具或功能?您可以使用路线模型::车辆(索引) Python中的伪代码(使用客户id作为节点id) #车辆列表 卡车=[1,3,6,7,9,10] 货车=[4,5] 拾音器=[2,8] #带元

我正在尝试使用或工具优化VRP的最佳路线。我在中找不到正确的功能

案例:有些客户只接受皮卡车,有些客户只接受皮卡车,有些客户同时接受皮卡车、皮卡车和厢式货车。只有一个仓库位置,车辆应使用接受的车辆将订单发送给正确的客户

我的那些车

客户接受这些车型

应将这些车辆导向相应的客户


您对此有何想法或是否有任何工具或功能?

您可以使用
路线模型::车辆(索引)

Python中的伪代码(使用客户id作为节点id)

#车辆列表
卡车=[1,3,6,7,9,10]
货车=[4,5]
拾音器=[2,8]
#带元组的位置列表(位置、卡车、货车皮卡)
地点=[
(1,对,对,对),#C-01
(2,对,对,错),#C-02
(3,真,假,假),#C-03
(4,真的,真的,真的),#C-04
...
] 
对于位置,允许卡车、货车、皮卡在以下位置:
index=manager.NodeToIndex(位置)
允许的车辆=[]。#如果可以删除位置,则可以添加-1
如果允许:
允许车辆扩展(卡车)
如果允许的话:
允许车辆扩展(货车)
如果允许的话:
允许车辆扩展(皮卡车)
路线.车辆(索引).设定值(允许车辆)
参考:


旁注:解算器车辆ID从0开始,但这里我遵循了您的车辆ID约定从1开始…

非常感谢!它解决了我的问题。p、 如果有人想阻止任何车辆访问任何地方,他们可以使用“routing.vehiclaver(location_idx).RemoveValues(vehicle_id)”命令