當在網格狀網絡上運行SUMO
中的模擬與duarouter
生成的路線時,經過一段時間後,由於生成路線,車輛開始集中在電網中部和路口上使用最短路徑算法(dijkstra
,astar
,CH
或CHWrapper
)。如何生成不是用最短路徑算法創建的隨機路線,也不要使車輛以這種方式運行?SUMO - 如何在不使用最短路徑算法的情況下生成路由?
0
A
回答
1
防止這種情況的常用方法是使用dynamic assignment,即使用SUMO的duaIterate.py腳本根據上一次模擬迭代中的行程時間計算路徑分佈。所以,如果你有一趟文件(可能來自randomTrips.py)只需撥打
duaIterate.py -n net.xml -t trips.xml
如果你真的想隨機的路線,你可以嘗試給中間點(選項-i
),以randomTrips.py,但它還是會給予最短這些之間的路徑。或者,您可以自己編寫一個簡單的腳本,分析網絡和連接,並在接下來要開車的每個交匯處擲硬幣。在Python像下面會做:
import random, sumolib
net = sumolib.net.readNet('myNet.net.xml')
route = [net.getEdge('startEdge')]
while len(route) < finalLength:
route.append(random.choice(route[-1].getToNode().getOutgoing()))
此代碼忽略的是,連接或邊緣可能不使用車輛類型可用,但我希望你的想法。 有關使用sumolib的詳細信息,請參見http://sumo.dlr.de/wiki/Tools/Sumolib
相關問題
- 1. Dijkstra的算法不會生成最短路徑?
- 2. 最短路徑tsp算法
- 3. 最短路徑算法
- 4. 在android中的最短路徑算法
- 5. 最佳最短路徑算法
- 6. 如何在不指定路徑的情況下使用shutil.rmtree
- 7. AFP Dijkstra的最短路徑算法
- 8. Dijkstra的算法最短路徑
- 9. 尋找最短路徑數的算法
- 10. Floyd的最短路徑算法C++
- 11. Dijkstra的最短路徑算法修改
- 12. 在動態路由的情況下反應路由器4 404路徑
- 13. 如何從路由表中的路由生成路徑/ URL?
- 14. 增量Dijkstra或最短路徑算法?
- 15. 調整到最短路徑算法
- 16. 最短路徑更快 - SPFA算法?
- 17. Floyd-Warshall算法:得到最短路徑
- 18. 最短路徑算法遞歸
- 19. 概率和最短路徑算法
- 20. 如何找到最短路徑成本?
- 21. neo4j,如何在所有最短路徑算法中排除一些路徑
- 22. 在不使用DRF路由器的情況下使用API Root
- 23. 如何限制最短路徑 - dijkstra算法的最大代價?
- 24. 最短路徑
- 25. 如何在沒有路徑的情況下使用AngularAMD
- 26. 有沒有算法來計算最短的樹(不是路徑)?
- 27. Dijkstra的算法 - 只有負成本的DAG最短路徑
- 28. 使用時空折衷的最短路徑算法?
- 29. 使用優化算法尋找網絡中的最短路徑
- 30. DAG最短路徑
在閱讀您的答案之前,我最終使用硬幣方法創建了隨機路線,但沒有使用sumolib。現在我對sumolib也一樣了,謝謝你的回答。 –