校园公交车管理系统设计
一、任务
通过信息网络将现实校园的各种信息收集,整理,归纳,存储,分析和优化,进而对校园的教学资源,校园环境等方面的实体和现象进行模拟,仿真,表现,分析和深入认识。
为了方便大学生在校内的出行,许多学校都建立了校内公交车系统,然而该系统的有效管理却成了一大难题,表现在如何选取行驶路线、乘坐站点以及时间表。为了解决以上难题,改善服务质量以及提高校园公交车的效率,以西安电子科技大学校内公交车为实验对象,通过采集和分析数据,实地考察以及综合分析,借助相关软件平台,设计出符合西电学生的校内公交车管理系统。
二、实验算法介绍
克鲁斯卡尔(Kruskal)算法是实现图的最小生成树最常用的算法。其基本思想是,先构造一个只含 n 个顶点、而边集为空的子图,把子图中各个顶点看成各棵树上的根结点,之后,从网的边集 E 中选取一条权值最小的边,若该条边的两个顶点分属不同的树,则将其加入子图,即把两棵树合成一棵树,反之,若该条边的两个顶点已落在同一棵树上,则不可取,而应该取下一条权值最小的边再试之。依次类推,直到森林中只有一棵树,也即子图中含有 n-1 条边为止。
时间复杂度为为O(e^2), 使用并查集优化后复杂度为 O(eloge),与网中的边数有关,适用于求边稀疏的网的最小生成树。
三、详细设计
1、站点设计
我们先分析出人员分布比较聚集的地方,比如西电海棠,竹园,丁香三个宿舍区以及教学楼,家属区,结合路线分析,找出最合适的站点。我们选取了校内的二十个站点,分别为A栋教学楼、B栋教学楼、C栋教学楼、D栋教学楼、E栋教学楼、F栋教学楼、G栋教学楼、丁香、东门、体育场、信远楼、办公辅楼、医院、图书馆、大学生活动中心、家属区A区、家属区E区、海棠、竹园、远望谷体育馆。
2、数据库设计
我们对我校公交车及主要停靠站点进行数据统计,建立校园数据库。
ER图:
一条记录包含站点名、该站点区域人数占所有站点区域的总人数的百分比、 该站点与其它所有站点之间的距离、该站点到其它站点的人流量(从左至右依次)。
3、问题解决方案
根据两个站点所在区域的人数占所有站点区域人数的百分比以及两个站点之间的距离和两个站点之间的人流量(人流量是双向的)来确定一个站点到另一个站点的边上权值,然后使用最小生成树的克鲁斯卡尔算法,因此,权值越小的边越容易被选到,故权值的大小应该和两个站点所在区域的人数占总人数的百分比成反比,和两个站点之间的距离正相关,和两个站点的人流量负相关,按这种原则对确定权值的三个量每个乘以一个因子,然后将这三个量相加确定权值,构造最小生成树,因为公交线路的选择应该服务更多人,而且应该走的路程还希望尽可能短,因此公交车走的路线应该是最小生成树中最长的那条路。由实验可以得到的最优路线就是:
东门→G栋教学楼→F栋教学楼→信远楼→竹园→海棠→B栋教学楼→图书馆→丁香→家属区A区→家属区E区→远望谷体院馆→东门,正好再从远望谷体育馆开到东门构成一个完整的闭环。
四、实验结果
由实验可以得到的最优路线是:
东门→G栋教学楼→F栋教学楼→信远楼→竹园→海棠→B栋教学楼→图书馆→丁香→家属区A区→家属区E区→远望谷体院馆→东门
五、关键代码
1 def krusual(): 2 Num_Edge = 0 3 MST_Edge = [] 4 n = 20 5 father.append(0) 6 for i in range(n): 7 father.append(i + 1) 8 # print s 9 10 Edge.sort(key=get_Key) 11 for e in Edge: 12 faU = findFather(e[0]) 13 faV = findFather(e[1]) 14 if faU != faV: 15 father[faU] = faV 16 Num_Edge += 1 17 MST_Edge.append(e) 18 if Num_Edge == n-1: 19 break 20 if Num_Edge != n-1: 21 return [] 22 else: 23 return MST_Edge 24
六、实验总结
我们对学校内人流量进行了统计、站点之间距离进行了测量,利用数据库和算法知识,设计出了校园公交车管理系统,选择出了校园公交车的最优行车路线。在解决实际问题时,需求分析是首要任务,人流量和距离是我们进行站点设计的重要指标。下来是数据库设计,在MySQL数据库中建一张bus_station表,储存站点名、该站点区域人数占所有站点区域的总人数的百分比、该站点与其它所有站点之间的距离、该站点到其它站点的人流量信息。将各个站点构成的无向图,利用邻接矩阵表示,将采集到的数据通过计算转化为权值,用克鲁斯卡尔算法,选择权值最小的边,求出最小生成树,得到我们所需要的最优路线。
转载于:https://www.cnblogs.com/ku1274755259/p/11108342.html
校园公交车管理系统设计相关推荐
- 基于GIS的校园公交车管理系统设计(西安电子科技大学GIS课程大作业)
基于GIS的校园公交车管理系统设计 一.任务 通过信息网络将现实校园的各种信息收集,整理,归纳,存储,分析和优化,进而对校园的教学资源,校园环境等方面的实体和现象进行模拟,仿真,表现,分析和深入认识. ...
- 计算机毕业设计ssm校园竞赛管理系统设计与实现hyr9b系统+程序+源码+lw+远程部署
计算机毕业设计ssm校园竞赛管理系统设计与实现hyr9b系统+程序+源码+lw+远程部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:L ...
- C#毕业设计——基于C#+asp.net+SQL Server的公交车管理系统设计与实现(毕业论文+程序源码)——公交车管理系统
基于C#+asp.net+SQL Server的公交车管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+SQL Server的公交车管理系统设计与实现,文章末尾 ...
- 基于java校园新闻管理系统数据库模块的论文_校园新闻管理系统设计与实现 大学论文.doc...
校园新闻管理系统设计与实现 大学论文 专科生毕业论文(设计) 题目: 校园新闻管理系统设计与实现 学院 / 系 专 业 班 级 学 号 学生姓名 指导教师 2016年11月20日 摘 要 随着Inte ...
- 基于springboot校园志愿者管理系统设计与实现的源码+文档
摘 要 随着信息化时代的到来,管理系统都趋向于智能化.系统化,校园志愿者管理系统也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而校园 ...
- 【附源码】计算机毕业设计java校园一卡通管理系统设计与实现
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 校园卡管理系统设计c语言,校园一卡通系统的设计与实现.pdf
<自动化技术与应用>2014年第33卷第2期 通 信 与 信 息 处 理 COmmunicatiOnandInformationProcessing 校园一卡通系统的设计与实现 赵 迎春 ...
- 【计算机毕业设计】188校园商铺管理系统设计与实现
一.系统截图(需要演示视频可以私聊) 摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面 ...
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java校园竞赛管理系统设计与实现hyr9b
毕业设计其实不难,主要毕业的时候任务太紧了,所以大家都非常忙没有时间去做,毕业设计还是早做准备比较好,多花点时间也可以做出来的,建议还是自己动手去做,比如先选一个题,这样就有方向,最难的是开始.后面的 ...
最新文章
- CocoStudio资源区导入Plist/PSD文件
- tornado-简介和原理
- Linux软件 github,Linux下使用GitHub记
- Android 系统性能优化(34)---Android UI 性能优化
- arm linux 识别新硬盘_想玩树莓派却不会Linux?能装Windows的树莓派来了
- EthChannel和STP01
- MyBatisPlus的代码生成器
- 【打印机】连接共享打印机找不到网络路径解决方案
- face_recognition常用方法
- Third season seventeenth episode,Ross and Rachel can not stay at one place???
- 2021-04-19一万小时定律
- 1015: 计算时间间隔 C语言
- Qt之调用FFTW3实现音频频谱(实现)
- OAuth2学习(一)——初识OAuth2
- 【初码干货】使用阿里云开放搜索服务快速搭建资源搜索网站
- Launcher启动流程
- 云计算情景案例及解决方法(1)-情景案例
- 【程序】CC2530单片机使用默认16MHz时钟或外部32MHz时钟实现115200波特率串口USART0的printf输出
- 操作系统_信号量集机制
- 《神探狄仁杰》主题曲《长歌一曲》