修改 google ortools vrptw 示例失败
modifying google ortools vrptw example fails
我用这个例子做了一些实验:
https://developers.google.com/optimization/routing/vrptw
我的数据集是这样的:
data['time_windows'] = [(0, 1), (0, 84), (0, 84), (0, 84), (0, 84), (0, 84), (12, 36), (12, 36)]
data['time_matrix'] = [[0, 8, 7, 8, 4, 6, 8, 7], [0, 0, 10, 11, 4, 9, 8, 7], [0, 10, 0, 11, 4, 9, 8, 7], [0, 10, 11, 0, 4, 9, 8, 7], [0, 10, 11, 4, 0, 9, 8, 7], [0, 10, 11, 4, 9, 0, 8, 7], [0, 10, 11, 4, 9, 8, 0, 7], [0, 10, 11, 4, 9, 8, 7, 0]]
我只想测试一辆车。但是,如果我设置“ data['num_vehicles'] = 1 ”,我不会得到任何输出,而是一个干净的退出。为什么?我想这只是一个标准的 TSP,如果我将车辆减少到 1。
好吧,正如 Laurent Perron 在评论中提到的,在这个例子中每辆车有一个最大时间。
routing.AddDimension(
transit_callback_index,
30, # allow waiting time
30, # maximum time per vehicle <<<<<<<<<<<<<<<<<<<
False, # Don't force start cumul to zero.
time)
我把它改成了一个更大的数字 (99),所有的废话都很好:)
我用这个例子做了一些实验:
https://developers.google.com/optimization/routing/vrptw
我的数据集是这样的:
data['time_windows'] = [(0, 1), (0, 84), (0, 84), (0, 84), (0, 84), (0, 84), (12, 36), (12, 36)]
data['time_matrix'] = [[0, 8, 7, 8, 4, 6, 8, 7], [0, 0, 10, 11, 4, 9, 8, 7], [0, 10, 0, 11, 4, 9, 8, 7], [0, 10, 11, 0, 4, 9, 8, 7], [0, 10, 11, 4, 0, 9, 8, 7], [0, 10, 11, 4, 9, 0, 8, 7], [0, 10, 11, 4, 9, 8, 0, 7], [0, 10, 11, 4, 9, 8, 7, 0]]
我只想测试一辆车。但是,如果我设置“ data['num_vehicles'] = 1 ”,我不会得到任何输出,而是一个干净的退出。为什么?我想这只是一个标准的 TSP,如果我将车辆减少到 1。
好吧,正如 Laurent Perron 在评论中提到的,在这个例子中每辆车有一个最大时间。
routing.AddDimension(
transit_callback_index,
30, # allow waiting time
30, # maximum time per vehicle <<<<<<<<<<<<<<<<<<<
False, # Don't force start cumul to zero.
time)
我把它改成了一个更大的数字 (99),所有的废话都很好:)