【发布时间】:2021-02-18 13:01:59
【问题描述】:
我正在为包含取货和送货的车辆路线创建解决方案。我的目标是尽量减少每个包裹的运输时间(领域是食品配送,我们不会尽可能缩短食品准备和配送之间的时间)。我的想法是为每个取货交付对创建一个变量,并告诉路由将其最小化:
solver = routing.solver()
diff = solver.IntVar(0, MAX_TIMESTAMP_VALUE, f'diff_{pickup_node}_{delivery_node}')
solver.Add(diff == time_dimension.CumulVar(delivery_index) - time_dimension.CumulVar(pickup_index))
routing.AddWeightedVariableMinimizedByFinalizer(diff, 1)
不幸的是,这不起作用 - 求解器似乎完全忽略了这个目标,并产生了与没有它时相同的解决方案。有人可以告诉我,这是什么问题?
【问题讨论】: