车辆在车辆段重新装载并继续

2024-09-30 01:30:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用ORTOOL和Python生成交付计划。 我的限制如下:

  1. 每辆车都有开始时间和结束时间
  2. 每辆车都有自己的储存物品容量,在车辆段提取
  3. 每辆车都有自己的速度。在

对于1和3,使用AddDimensionWithVehicleTransits可以很好地工作。 对于第二个约束,如果车辆是空的,它必须返回仓库取回物品并重新启动。在

我已经看到了refuel示例,因此设置一个节点的容量为<;0就可以了。但在我的例子中,加油站是加油站,而解算器不会让车辆返回。在

我的维度是这样设置的:

routing.AddDimensionWithVehicleCapacity(
    capacity_evaluator,
    0,
    [capacity[vehicle].get('capacity', dataconfig.default_capacity) for vehicle in data.vehicles], 
    True, 
    'Capacity'
)

基本上,最大容量为4:

^{pr2}$

我需要的是:

Route for Vehicle1
[LOCATION, START, CAPACITY]
['Depot', '4:0', 0]
[u'Location1', '9:0', 1]
[u'Location2', '10:0', 4]
['Depot', '11:00', 0]
[u'Location3', '12:0', 1]
[u'Location4', '13:0', 2]
[u'Location5', '14:0', 4]
['Depot', '15:00', 0]

你知道怎么把加油站放到加油站吗?在

问候


Tags: for时间物品速度计划容量capacity储存

热门问题