免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3183 | 回复: 10
打印 上一主题 下一主题

[算法] dijkstra在路网中计算最优路径 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-12 18:39 |只看该作者 |倒序浏览
问题描述:
          输入起点A跟终点B后,在地图上规划处一条最优的路线出来,由于目前采用的是 dijkstra算法,计算最短距离,这样存在着一种问题,不太符合大众的思维,比如宽敞的马路不走,反而走小路,不太符合人之常情,客户对此也提出了要求,马路优先->小路>索道 这样的一个优先级,
      
      
       目前我的做法只能在计算的时候,只通过if 对所有路的类型进行过滤,但过滤后只能留下其中某种路,大伙能给我一个思路吗

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2014-08-12 19:22 |只看该作者
dijkstra算法是精确算法,巨大的计算量,不靠谱的
A* 这样的近似算法实用

论坛徽章:
3
15-16赛季CBA联赛之山东
日期:2016-10-30 08:47:3015-16赛季CBA联赛之佛山
日期:2016-12-17 00:06:31CU十四周年纪念徽章
日期:2017-12-03 01:04:02
3 [报告]
发表于 2014-08-12 21:07 |只看该作者

边的权的计算方式改改不就完了么。

论坛徽章:
0
4 [报告]
发表于 2014-08-13 09:43 |只看该作者
以时间当权值,按照优先级给不同的道路赋予不同的速度值

论坛徽章:
0
5 [报告]
发表于 2014-08-13 10:01 |只看该作者
目前,以计算距离为权值,就只在这道路类型优先级别上不知道该如何做出处理

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
6 [报告]
发表于 2014-08-13 10:10 |只看该作者
虽然我不太了解这个算法,但是这个问题里面定义的最优就是“路径最短”吧。

实际情况下,人们自己认为或者定义的最优应该不是只有“路径最短”这一个评价准则。

两者之间的误差,应该算是模型偏差吧。

论坛徽章:
0
7 [报告]
发表于 2014-08-13 10:12 |只看该作者
恩 现在考虑就是需要一些外力因素,就是满足 能走马路先走马路,如果没有 再走山路 等

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
8 [报告]
发表于 2014-08-13 10:21 |只看该作者
不同选路模式用不同的权值

论坛徽章:
0
9 [报告]
发表于 2014-08-13 10:24 |只看该作者
回复 8# hellioncu


    目前没有提供选路可操作,就是在原来计算最短距离的基础上,进行拓展,程序内部需要结合路的类型,推荐一条符合的路线

论坛徽章:
11
巨蟹座
日期:2013-12-23 11:12:14双子座
日期:2014-08-28 09:14:55子鼠
日期:2014-07-25 16:21:22摩羯座
日期:2014-07-23 15:17:47摩羯座
日期:2014-05-30 13:09:05午马
日期:2014-04-30 18:10:00天秤座
日期:2014-04-25 12:12:00申猴
日期:2014-04-22 11:30:15午马
日期:2014-03-07 16:06:40辰龙
日期:2013-12-25 18:36:00摩羯座
日期:2014-09-02 17:00:55
10 [报告]
发表于 2014-08-14 10:06 |只看该作者
无向图还是搜索好些吧?
  1. Map_st[N][M] = 0;//走不通
  2. Map_st[N][M] = 1;//公路
  3. Map_st[N][M] = 2;//其他1
  4. Map_st[N][M] = 3;//其他2
  5. if(Map_st[N][M] == 1) {
  6. ...
  7. }
  8. else if(Map_st[N][M] == 2) {
  9. ...
  10. }
  11. else {
  12. ...
  13. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP