如何将路线列表与弧之间的成本字典进行比较?

How to compare a list of routes with a dictionary of costs between arcs?

大家好,

我有一个关于创建自动方法(函数或循环+)来声明路由成本变量的问题,它涉及每个 c_i,j 弧的总和。

示例:

routes=[[(0, 1), (1, 2), (2, 0)],[(0, 1), (1, 0)],[(0, 2), (2, 0)]]  #  list of 3 possible routes in 2 locations where 0 is depot

cij = {(0,1): 3,(0, 2): 4,(0, 3): 5,(1, 0):3,(1, 2):5,(1, 3):7 ,(2, 0):4,(2, 1):5, (2, 3):9}  # dictionary with cost matrix between the arcs [i,j]

我想获得帮助以获取 RouteCost 变量,该变量将列表与字典进行比较,并将添加它在每条路线中找到的每条弧线。 例如,将有 3 条路线的成本列表:

RouteCost= [12,6,8]

感谢您的帮助,并继续为大家做好工作。

这可以使用嵌套列表理解来执行:

RouteCost = [sum([cij[path] for path in route]) for route in routes]