如何将路线列表与弧之间的成本字典进行比较?
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]
大家好,
我有一个关于创建自动方法(函数或循环+)来声明路由成本变量的问题,它涉及每个 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]