全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1041 2
2021-04-07
建模相关问题:目标:计算从A到Z之间的最优时效路径。
已有路线表,包括从A到B,从B到C……的路线,如下图所示:

      需要考虑A点的出发时间+运行时间+操作时间应小于下一路径(如B-C)的出发时间,若大于则增加24小时,类似蚁群算法,如何发现从A到Z点之间的最短路径
附件列表
图1.png

原图尺寸 10.3 KB

图1.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-4-8 16:24:29
你的示例数据应该是不完整的,至少没有体现1.从某个节点比如说B出发,目的地可能有C,也可能有D,而且出发时间应该是不一样的;2.到某个节点可以有多个出发节点,比如从X可以到Z,从Y也可以到Z。
R语言的网络分析中,igraph可以做最短路径分析,但是因为你的模型中需要考虑节点vertex出发时间是否来得及这种情况,导致每条边edge的耗时不确定,所以不能简单地应用igraph。
可以变通一下,思路是这样的,针对有向网络,如果A出发可以去n个节点,比如可以去B,也可以去C,则将A拆成n个,A1去节点B,A2去节点C;其他节点同样处理,比如B1可以去C,B2可以去D。节点拆分后,edge也增加了,比如A1-B1, A1-B2 。这样处理后,我们就可以根据约束条件计算每一条edge的耗时,或者是标准时间,或者是标准时间+24 。然后即可以用igraph生成网络,并计算节点之间的最短路径。
这种方式的缺点是,如果节点太多,可能会极大地增加计算量。
要接孩子放学,等有时间再写个示例。你自己先琢磨一下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-4-9 10:40:38
新开一贴,解答详细一些,https://bbs.pinggu.org/thread-10543283-1-1.html
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群