本实验尝试最短路dijkstra算法,以解决高速公路收费数据中,已知一辆车的OD收费站,向路网上分配具体路径的问题。
清空环境,载入HVS包
rm(list=ls()) library(HVS)
示例路网结构图,点上数字为点序号,线上数字为两点之间距离,没有相连的两点表示不直接连通。
例如第1行第3列的元素为6,表示点1至点3的距离为6;
A = matrix(c(0,2,6,0,2,0,5,7,6,5,0,1,0,7,1,0),nrow=4) A
带入算法中,输出两个元素
result <- dijkstra_matrix(A) mileage <- result[[1]] path <- result[[2]]
输出的第一个元素为矩阵mileage为距离矩阵,表征每两点之间的最短路距离
mileage
输出的第二个元素为列表,通过OD点确定路径
例如,O为点1,D为点4的路径为1,3,4
path[[1]][[4]]
O为点4,D为点1的路径为4,3,1
path[[4]][[1]]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.