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

时间:2018-06-26 13:48:03

标签: or-tools

我有一种情况,路线应从特定的起始位置开始,然后终止于一个位置。

我发现具有所有节点(包括起始位置和结束位置)的locations数组,我发现起始位置顺序对于解决方案确实很重要。

为了便于解释,这是在关闭节点之后插入起始位置的解决方案: 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 个答案:

没有答案