使用 or-tools 和 C# 的车辆技能
Vehicle skills using or-tools with C#
我正在尝试通过 C# 使用 or-tool 解决 Vehicle Routing with Pickups and Deliveries。是否可以为车辆添加某种技能(产品类型)?
示例:
- 车辆1 - 技能[液体]
- 车辆2 - 技能[液体、气体]
- vehicle3 - 技能 [solid]
- pickup1 - 输入 [gas]
- pickup2 - 类型 [液体]
所以pickup1只能被vehicle2接走,pickup2可以被vehicle1或者vehicle2接走
可以限制每个节点的车辆var来过滤不熟练的车辆。
对于给定的节点,车辆变量有一个域 [-1, 0, .., num_vehicle - 1]
。
-1
如果节点未被访问,则分配给车辆变量。
所以如果你有n
辆车,你想禁止车辆i
访问节点j
,你需要从车辆var [=的域中删除i 14=].
删除后,如果节点不是可选的,车辆变量的域应该是 [0, .., i - 1, i + 1, .. , n - 1]
,如果节点是可选的,则应该是 [-1, .., i - 1, i + 1, .. , n - 1]
。
我正在尝试通过 C# 使用 or-tool 解决 Vehicle Routing with Pickups and Deliveries。是否可以为车辆添加某种技能(产品类型)? 示例:
- 车辆1 - 技能[液体]
- 车辆2 - 技能[液体、气体]
- vehicle3 - 技能 [solid]
- pickup1 - 输入 [gas]
- pickup2 - 类型 [液体]
所以pickup1只能被vehicle2接走,pickup2可以被vehicle1或者vehicle2接走
可以限制每个节点的车辆var来过滤不熟练的车辆。
对于给定的节点,车辆变量有一个域 [-1, 0, .., num_vehicle - 1]
。
-1
如果节点未被访问,则分配给车辆变量。
所以如果你有n
辆车,你想禁止车辆i
访问节点j
,你需要从车辆var [=的域中删除i 14=].
删除后,如果节点不是可选的,车辆变量的域应该是 [0, .., i - 1, i + 1, .. , n - 1]
,如果节点是可选的,则应该是 [-1, .., i - 1, i + 1, .. , n - 1]
。