代码之家  ›  专栏  ›  技术社区  ›  simo

为什么更改起始位置的顺序会导致不同的解决方案?

  •  1
  • simo  · 技术社区  · 6 年前

    我有一个例子,路线应该从特定的起始位置开始,并在一个位置结束。

    为了便于解释,当我在a close节点之后插入开始位置时,以下是解决方案: start locations sorted

    以下是在位置列表中交换开始位置顺序时的解决方案: start locations with different order

    无论我使用什么策略,正如我在这里解释的:

    Video thumbnail
    on YouTube

    Video thumbnail
    on YouTube

    我得到的解决方案如下:

    routes = []
    for vehicle_nbr in range(num_routes):
        index = routing.Start(vehicle_nbr)
        route = []
        while not routing.IsEnd(index):
            node_index= routing.IndexToNode(index)
            route.append(node_index)
            index = assignment.Value(routing.NextVar(index))      
        route.append(routing.IndexToNode(index))
        routes.append(route)
    return routes
    

    有什么想法吗?

    0 回复  |  直到 6 年前