| 所在主题: | |
| 文件名: netE.rar | |
| 资料下载链接地址: https://bbs.pinggu.org/a-3431052.html | |
本附件包括:
|
|
| 附件大小: | |
|
这个问题是前几天论坛wushibuzhi同学提出来的( https://bbs.pinggu.org/thread-10540615-1-1.html )本来可以直接回复他,后来考虑内容比较多,而且为更方便其他同学利用,因此这里新开一贴。
问题:计算从A到Z之间的最优时效路径 为此做了一个示例数据,如下: [hide][/hide]
不考虑时间约束的网络图 使问题复杂化的是,从一个节点到下一个节点的行程时间如果超过下一个节点的出发时间,需要等一天,也就是相应的形成时间增加24小时,导致上面这个网络里的每条边的耗时是不确定的。 思路是这样的,针对有向网络,如果A出发可以去n个节点,比如可以去B,也可以去C,则将A拆成n个,A1去节点B,A2去节点C;其他节点同样处理,比如B1可以去C,B2可以去D。节点拆分后,edge也增加了,比如A1-B1, A1-B2 。这样处理后,我们就可以根据约束条件计算每一条edge的耗时,或者是标准时间,或者是标准时间+24 。然后即可以用igraph生成网络,并计算节点之间的最短路径。
调整后的网络图如下: 经过上述调整,我们可以计算最短路径
提醒: 1、上述网络是有向的; 2、上述代码只计算了从A到E的路径,计算其他区间点,需要对代码略作调整; 3、这种方式的缺点是,如果节点太多,可能会极大地增加计算量。 |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明