CN111915095B - 一种基于三叉树搜索的客运线路推荐方法、装置及设备 - Google Patents
一种基于三叉树搜索的客运线路推荐方法、装置及设备 Download PDFInfo
- Publication number
- CN111915095B CN111915095B CN202010805837.9A CN202010805837A CN111915095B CN 111915095 B CN111915095 B CN 111915095B CN 202010805837 A CN202010805837 A CN 202010805837A CN 111915095 B CN111915095 B CN 111915095B
- Authority
- CN
- China
- Prior art keywords
- gij
- sites
- ternary tree
- station
- tij
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Navigation (AREA)
Abstract
Description
技术领域
本发明涉及客运线路推荐领域,特别涉及一种基于三叉树搜索的客运线路推荐方法、装置及设备。
背景技术
城际之间运营的网约车为了节约成本,通常在客流量较大的城市设置有定制客运,其包括定制车型和定制站点。为了合理地设置站点,通过分析某时间段乘客上车位置更为有效。通过数据挖掘的方法,可以获得乘客上车地点较为集中的区域,并设置站点。再按照搜索策略,得到最优化的推荐线路。客运车辆出城之前,按最佳线路接每个站点的乘客,可节约运营成本。
目前,现有的方法中,难度主要集中在线路搜索技术上。线路搜索算法一般运行时间都太长,如穷举法,实际应用非常困难,开发的推荐软件系统用户体验差。一些改进算法,如启发式搜索算法、蚁群算法、遗传算法、随机搜索算法、变邻域搜索算法、POI评价方法等,虽然提高了运行效率,但无法保证得到最优解,甚至会丢失大量最优解,最终效果仍然较差。
发明内容
本发明提供了一种基于三叉树搜索的客运线路推荐方法、装置及设备,旨在解决客运路线计算效率低下,无法获得最优解的问题。
本发明第一实施例提供了一种基于三叉树搜索的客运线路推荐方法,包括:
获取乘客上车地点的经纬度,并根据所述经纬度生成站点集合S;
接收所述站点集合S内被设置为终点的多个站点,并建立与所述终点数量对应的第一集合Gi;
将所述第二集合Gij内的站点进行建立三叉树Tij;
获取所述三叉树Tij内的所有路径内的最短路径,以得到一条推荐线路。
优选地,所述接收所述站点集合S内被设置为终点的多个站点,并建立与所述终点数量对应的第一集合Gi,具体为:
根据站点集合S的地理分布,获取被用户选取的M个终点站点s1,s2,…,sm点;
将所述M个终点站点s1,s2,…,sm分成M组,形成M个终点站点的第一集合G1,G2,…,Gm;其中,Gi={si},si∈S;
获取距所述第一集合Gi中的终点站mi最远的站点,并以两者的连接线作为扇形的中心线,以终点站mi为扇形顶点,取α为扇形的中心角,扇形区域记为Fij,其中,j的初始值为1;
令Gi=Gi–Gij,Gij=Gij+{mi},j=j+1;
重复以上步骤,直至Gi={mi},即第一集合Gi中所有站点都被划分至不同扇形区域Fij中并形成不同的第二集合Gij。
优选地,将所述第二集合Gij内的站点进行建立三叉树Tij;具体为:
以所述第二集合Gij内的终点站mi为三叉树Tij的根节点,将所述终点站mi设为当前节点,其按如下规则分叉;
步骤1,获取所述第二集合Gij内尚未展开过的站点中距离所述终点站mi空间距离最短的至少一个站点作为第一层节点;
步骤2,分别选取所述第一层节点内的一个节点作为当前节点,选取第二集合Gij内尚未展开过的站点中距离被选取的节点空间距离最短的至少一个站点作为第二层节点,建立以所述终点站mi为根节点,深度为所述第二集合Gij内站点个数的三叉树Tij;
重复以上步骤,直至所述第一集合Gi中所有第二集合Gij对应的三叉树Tij都建立完毕。
优选地,获取所述三叉树Tij内的所有路径内的最短路径,以得到一条推荐线路,具体为:
遍历所述述三叉树Tij从根节点mi到叶节点的所有路径,获得路径集合Path={p1,…,pn},其中,任意路径pi的长度|pi|等于各层节点间路径上标识的空间距离之和;
获取所述路径集合中三叉树Tij中从根节点mi到叶节点的最短路径,定义为Gij中的一条推荐线路;
重复以上步骤,直到Gi中所有Gij对应的推荐线路都定义完毕。
本发明第二实施例提供了一种基于三叉树搜索的客运线路推荐装置,包括:
站点集合生成装置,用于获取乘客上车地点的经纬度,并根据所述经纬度生成站点集合S;
第一集合建立装置,用于接收所述站点集合S内被设置为终点的多个站点,并建立与所述终点数量对应的第一集合Gi;
三叉树建立装置,用于将所述第二集合Gij内的站点进行建立三叉树Tij;
最短路径获取装置,获取所述三叉树Tij内的所有路径内的最短路径,以得到一条推荐线路。
优选地,第一集合建立装置具体用于:
根据站点集合S的地理分布,获取被用户选取的M个终点站点s1,s2,…,sm点;
将所述M个终点站点s1,s2,…,sm分成M组,形成M个终点站点的第一集合G1,G2,…,Gm;其中,Gi={si},si∈S;
优选地,所述第二集合生成装置具体用于:
获取距所述第一集合Gi中的终点站mi最远的站点,并以两者的连接线作为扇形的中心线,以终点站mi为扇形顶点,取α为扇形的中心角,扇形区域记为Fij,其中,j的初始值为1;
令Gi=Gi–Gij,Gij=Gij+{mi},j=j+1;
重复以上步骤,直至Gi={mi},即第一集合Gi中所有站点都被划分至不同扇形区域Fij中并形成不同的第二集合Gij。
优选地,所述三叉树建立装置具体用于:
以所述第二集合Gij内的终点站mi为三叉树Tij的根节点,将所述终点站mi设为当前节点,其按如下规则分叉;
步骤1,获取所述第二集合Gij内尚未展开过的站点中距离所述终点站mi空间距离最短的至少一个站点作为第一层节点;
步骤2,分别选取所述第一层节点内的一个节点作为当前节点,选取第二集合Gij内尚未展开过的站点中距离被选取的节点空间距离最短的至少一个站点作为第二层节点,建立以所述终点站mi为根节点,深度为所述第二集合Gij内站点个数的三叉树Tij;
重复以上步骤,直至所述第一集合Gi中所有第二集合Gij对应的三叉树Tij都建立完毕。
本发明第三实施例提供了一种基于三叉树搜索的客运线路推荐设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理器执行的计算机程序,所述处理器执行所述计算机程序实现如上任意一项所述的一种基于三叉树搜索的客运线路推荐方法。
基于本发明提供的一种基于三叉树搜索的客运线路推荐方法、装置及设备,通过根据乘客上车地点的经纬度,建立站点集合,选取站点集合内的部分站点作为推荐路线的终点,根据终点的个数建立对应的第一集合,将站点集合内的站点分配至第一集合内,根据多个所述第一集合确定多个搜索区域,并根据搜索区域将多个所述第一集合的站点分配至多个搜索区域内,形成第二集合,在第二集合内建立三叉树,运算所述三叉树,获取到最短路径,其运算量低,可快速的获取到最短路径。
附图说明
图1是本发明第一实施例提供的一种基于三叉树搜索的客运线路推荐方法流程示意图;
图2是本发明实施例提供的扇形搜索区域示意图;
图3是本发明实施例提供的三叉树建树节点展开示意图;
图4是本发明实施例提供的三叉树建立过程示意图;
图5是本发明实施例提供的可视化后路径示意图;
图6是本发明第二实施例提供的一种基于三叉树搜索的客运线路推荐装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
实施例中提及的“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
以下结合附图对本发明的具体实施例做详细说明。
本发明提供了一种基于三叉树搜索的客运线路推荐方法、装置及设备,旨在解决客运路线计算效率低下,无法获得最优解的问题。
请参阅图1,本发明第一实施例提供了一种基于三叉树搜索的客运线路推荐方法,其可由基于三叉树搜索的客运线路推荐设备(以下简称推荐设备)来执行,特别的,由推荐设备内的一个或者多个处理器来执行,以实现如下步骤:
S101,获取乘客上车地点的经纬度,并根据所述经纬度生成站点集合S;
在本实施例中,所述推荐设备可为笔记本电脑、台式电脑或者服务器等具有数据处理功能的计算机设备,所述计算机设备可通过执行预定的程序来实现基于三叉树搜索的客运线路推荐方法。
在本实施例中,在获取到一个城市内所有乘客上车地点经纬度,可以使用层次聚类算法,取最大k个簇,聚类距离可以采用空间距离,其中,k可以按如下规则选取:k=30(直辖市),k=20(省会城市),k=10(地级市),k=5(县级市);每个簇中心的经纬度即为站点,得到k个站点的集合S;
S102,接收所述站点集合S内被设置为终点的多个站点,并建立与所述终点数量对应的第一集合Gi;在本实施例中,步骤S102具体包括:
根据站点集合S的地理分布,获取被用户选取的M个终点站点s1,s2,…,sm点;
将所述M个终点站点s1,s2,…,sm分成M组,形成M个终点站点的第一集合G1,G2,…,Gm;其中,Gi={si},si∈S;
在本实施例中,步骤S103具体包括:
如图2所示,获取距所述第一集合Gi中的终点站mi最远的站点,并以两者的连接线作为扇形的中心线,以终点站mi为扇形顶点,取α为扇形的中心角,扇形区域记为Fij,其中,j的初始值为1;在本实施例中,扇形搜索角度α越大,推荐的路线越“曲折”,经过测试优选取α=60°效果最佳(但不仅限于此),当然在其他实施例中,也可以是其他类型的搜索区域,这里不做具体限定。
令Gi=Gi–Gij,Gij=Gij+{mi},j=j+1;
重复以上步骤,直至Gi={mi},即第一集合Gi中所有站点都被划分至不同扇形区域Fij中并形成不同的第二集合Gij。
S104,将所述第二集合Gij内的站点进行建立三叉树Tij;
在本实施例中,步骤S104具体包括:
如图3所示,以所述第二集合Gij内的终点站mi为三叉树Tij的根节点,将所述终点站mi设为当前节点,其按如下规则分叉;
步骤1,获取所述第二集合Gij内尚未展开过的站点中距离所述终点站mi空间距离最短的至少一个站点作为第一层节点;
步骤2,分别选取所述第一层节点内的一个节点作为当前节点,选取第二集合Gij内尚未展开过的站点中距离被选取的节点空间距离最短的至少一个站点作为第二层节点,建立以所述终点站mi为根节点,深度为所述第二集合Gij内站点个数的三叉树Tij;
重复以上步骤,直至所述第一集合Gi中所有第二集合Gij对应的三叉树Tij都建立完毕。
S105,获取所述三叉树Tij内的所有路径内的最短路径,以得到一条推荐线路。
在本实施例中,步骤S105具体包括:
遍历所述述三叉树Tij从根节点mi到叶节点的所有路径,获得路径集合Path={p1,…,pn},其中,任意路径pi的长度|pi|等于各层节点间路径上标识的空间距离之和;
获取所述路径集合中三叉树Tij中从根节点mi到叶节点的最短路径,定义为Gij中的一条推荐线路;
重复以上步骤,直到Gi中所有Gij对应的推荐线路都定义完毕。
具体地,例如,以福州到平潭的网约车订单为例,取2019年6月1日至2019年10月31日期间每天16:00至17:00时间段的数据,共有1094个从福州市叫车前往平潭市的订单。
对这1094个上车地点聚类时,由于福州是省会城市,聚类后选取前20个最大的簇较为合适(即k=20)。这20个簇编号为0至19,组成站点集合S,站点簇中心经纬度、上车人数、簇半径以及车辆数如表1所示。
表1站点簇数据
簇编号 | 经度 | 纬度 | 人数 | 簇半径(千米) | 簇内车辆数 |
0 | 119.30792 | 26.08428 | 83 | 0.62357 | 56 |
1 | 119.25992 | 26.03898 | 46 | 0.38746 | 37 |
2 | 119.39672 | 25.99215 | 46 | 0.54669 | 37 |
3 | 119.30931 | 26.07680 | 44 | 0.38441 | 30 |
4 | 119.30028 | 26.07024 | 30 | 0.46207 | 27 |
5 | 119.28676 | 26.09406 | 29 | 0.40243 | 26 |
6 | 119.28077 | 26.04213 | 30 | 0.38369 | 26 |
7 | 119.32697 | 26.12081 | 34 | 0.64629 | 25 |
8 | 119.31074 | 26.09979 | 26 | 0.51638 | 24 |
9 | 119.29410 | 26.04719 | 27 | 0.49980 | 23 |
10 | 119.31242 | 26.09273 | 29 | 0.54848 | 23 |
11 | 119.30398 | 26.09224 | 23 | 0.35185 | 19 |
12 | 119.28334 | 26.02883 | 20 | 0.61654 | 18 |
13 | 119.26567 | 26.04075 | 21 | 0.36552 | 17 |
14 | 119.34100 | 26.09764 | 21 | 0.71036 | 17 |
15 | 119.32062 | 26.03677 | 17 | 0.59361 | 16 |
16 | 119.33157 | 26.07895 | 20 | 0.47711 | 16 |
17 | 119.34845 | 26.05936 | 22 | 0.58961 | 16 |
18 | 119.27614 | 26.03826 | 14 | 0.52199 | 13 |
19 | 119.35531 | 26.05828 | 16 | 0.51475 | 13 |
从站点集合S中选取3个靠近高速路口的站点作为所有推荐线路的终点,这3个终点的簇编号分别为6,7,19。
根据6,7,19号3个簇,连同其余17个站点,分为3组(即第一集合G1、G2、G3),结果如表2所示。可以理解为G1={1、3、4、9、12、13、15、18},G2={0、5、8、10、11、14},G3={2、16、17};
表2站点分组情况
组号 | 终点 | 非终点站点 |
1 | 6 | 1、3、4、9、12、13、15、18 |
2 | 7 | 0、5、8、10、11、14 |
3 | 19 | 2、16、17 |
对所述第一集合中的站点,取α=60°为扇形中心角,划分扇形搜索区域,扇形区域内的站点划分结果如表3所示。可以理解为G11={3、4、9、6},G12={15、6},G13={1、13、18、6},G14={12、6},G21={0、5、8、10、11、7},G22={14、7},G31={2、19}G32={16、17、19};
表3扇形区域划分情况
对于每个扇形搜索区域内的站点,建立三叉树,树节点之间的路径采用站点的空间距离标识。例如第1组内第1个扇形区域,建树过程如图4所示。最终计算该三叉树所有路径的空间距离之和,如表4所示。
表4终点为6,包含站点3、4、9的扇形计算每条路径距离之和
路径 | 该路径的空间距离之和(米) |
3->4->9->6 | 5352 |
4->3->9->6 | 6239 |
9->3->4->6 | 8460 |
3->9->4->6 | 9933 |
9->4->3->6 | 8627 |
4->9->3->6 | 10987 |
结合图3和图4,对所有扇形区域内的站点建立三叉树并计算所有路径的空间距离之和,取距离最短者对应的路径即为推荐线路,结果如表5所示,对表5进行可视化后,如图5所示;
表5所有推荐线路
综上,本发明根据地理空间上客运路线的特点,采用三叉树推荐客运线路的效果与穷举法相比完全相同,运算效率比穷举法有非常大的提升。
请参阅图6,本发明第二实施例提供了一种基于三叉树搜索的客运线路推荐装置,包括:
站点集合生成装置201,用于获取乘客上车地点的经纬度,并根据所述经纬度生成站点集合S;
第一集合建立装置202,用于接收所述站点集合S内被设置为终点的多个站点,并建立与所述终点数量对应的第一集合Gi;
三叉树建立装置204,用于将所述第二集合Gij内的站点进行建立三叉树Tij;
最短路径获取装置205,获取所述三叉树Tij内的所有路径内的最短路径,以得到一条推荐线路。
优选地,第一集合建立装置202具体用于:
根据站点集合S的地理分布,获取被用户选取的M个终点站点s1,s2,…,sm点;
将所述M个终点站点s1,s2,…,sm分成M组,形成M个终点站点的第一集合G1,G2,…,Gm;其中,Gi={si},si∈S;
优选地,所述第二集合生成装置203具体用于:
获取距所述第一集合Gi中的终点站mi最远的站点,并以两者的连接线作为扇形的中心线,以终点站mi为扇形顶点,取α为扇形的中心角,扇形区域记为Fij,其中,j的初始值为1;
令Gi=Gi–Gij,Gij=Gij+{mi},j=j+1;
重复以上步骤,直至Gi={mi},即第一集合Gi中所有站点都被划分至不同扇形区域Fij中并形成不同的第二集合Gij。
优选地,所述三叉树建立装置204具体用于:
以所述第二集合Gij内的终点站mi为三叉树Tij的根节点,将所述终点站mi设为当前节点,其按如下规则分叉;
步骤1,获取所述第二集合Gij内尚未展开过的站点中距离所述终点站mi空间距离最短的至少一个站点作为第一层节点;
步骤2,分别选取所述第一层节点内的一个节点作为当前节点,选取第二集合Gij内尚未展开过的站点中距离被选取的节点空间距离最短的至少一个站点作为第二层节点,建立以所述终点站mi为根节点,深度为所述第二集合Gij内站点个数的三叉树Tij;
重复以上步骤,直至所述第一集合Gi中所有第二集合Gij对应的三叉树Tij都建立完毕。
本发明第三实施例提供了一种基于三叉树搜索的客运线路推荐设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理器执行的计算机程序,所述处理器执行所述计算机程序实现如上任意一项所述的一种基于三叉树搜索的客运线路推荐方法。
基于本发明提供的一种基于三叉树搜索的客运线路推荐方法、装置及设备,通过根据乘客上车地点的经纬度,建立站点集合,选取站点集合内的部分站点作为推荐路线的终点,根据终点的个数建立对应的第一集合,将站点集合内的站点分配至第一集合内,根据多个所述第一集合确定多个搜索区域,并根据搜索区域将多个所述第一集合的站点分配至多个搜索区域内,形成第二集合,在第二集合内建立三叉树,运算所述三叉树,获取到最短路径,其运算量低,可快速的获取到最短路径。
本发明第四实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,例如一种基于三叉树搜索的客运线路推荐方法的程序。其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述的一种基于三叉树搜索的客运线路推荐方法。
示例性地,本发明第三实施例和第四实施例中所述的计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述实现一种基于三叉树搜索的客运线路推荐设备中的执行过程。例如,本发明第二实施例中所述的装置。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于三叉树搜索的客运线路推荐方法的控制中心,利用各种接口和线路连接整个所述实现对基于三叉树搜索的客运线路推荐方法的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现基于三叉树搜索的客运线路推荐方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述实现的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (4)
1.一种基于三叉树搜索的客运线路推荐方法,其特征在于,包括:
获取乘客上车地点的经纬度,并根据所述经纬度生成站点集合S;
接收所述站点集合S内被设置为终点的多个站点,并建立与所述终点数量对应的第一集合Gi,具体为:根据站点集合S的地理分布,获取被用户选取的M个终点站点s1,s2,…,sm点;
将所述M个终点站点s1,s2,…,sm分成M组,形成M个终点站点的第一集合G1,G2,…,Gm;其中,Gi={si},si∈S;
确定所述第一集合Gi内的站点的搜索区域,将所述第一集合Gi内的站点以所述搜索区域进行分组,生成第二集合Gij,其中,具体为:获取距所述第一集合Gi中的终点站mi最远的站点,并以两者的连接线作为扇形的中心线,以终点站mi为扇形顶点,取α为扇形的中心角,扇形区域记为Fij,其中,j的初始值为1;
令Gi=Gi–Gij,Gij=Gij+{mi},j=j+1;
重复以上步骤,直至Gi={mi},即第一集合Gi中所有站点都被划分至不同扇形区域Fij中并形成不同的第二集合Gij;
将所述第二集合Gij内的站点进行建立三叉树Tij,具体为:
以所述第二集合Gij内的终点站mi为三叉树Tij的根节点,将所述终点站mi设为当前节点,其按如下规则分叉;
步骤1,获取所述第二集合Gij内尚未展开过的站点中距离所述终点站mi空间距离最短的至少一个站点作为第一层节点;
步骤2,分别选取所述第一层节点内的一个节点作为当前节点,选取第二集合Gij内尚未展开过的站点中距离被选取的节点空间距离最短的至少一个站点作为第二层节点,建立以所述终点站mi为根节点,深度为所述第二集合Gij内站点个数的三叉树Tij;
重复以上步骤,直至所述第一集合Gi中所有第二集合Gij对应的三叉树Tij都建立完毕;
获取所述三叉树Tij内的所有路径内的最短路径,以得到一条推荐线路。
2.根据权利要求1所述的一种基于三叉树搜索的客运线路推荐方法,其特征在于,获取所述三叉树Tij内的所有路径内的最短路径,以得到一条推荐线路,具体为:
遍历所述三叉树Tij从根节点mi到叶节点的所有路径,获得路径集合Path={p1,…,pn},其中,任意路径pi的长度|pi|等于各层节点间路径上标识的空间距离之和;
获取所述路径集合中三叉树Tij中从根节点mi到叶节点的最短路径,定义为Gij中的一条推荐线路;
重复以上步骤,直到Gi中所有Gij对应的推荐线路都定义完毕。
3.一种基于三叉树搜索的客运线路推荐装置,其特征在于,包括:
站点集合生成装置,用于获取乘客上车地点的经纬度,并根据所述经纬度生成站点集合S;
第一集合建立装置,用于接收所述站点集合S内被设置为终点的多个站点,并建立与所述终点数量对应的第一集合Gi,具体用于,根据站点集合S的地理分布,获取被用户选取的M个终点站点s1,s2,…,sm点;
将所述M个终点站点s1,s2,…,sm分成M组,形成M个终点站点的第一集合G1,G2,…,Gm;其中,Gi={si},si∈S;
获取距所述第一集合Gi中的终点站mi最远的站点,并以两者的连接线作为扇形的中心线,以终点站mi为扇形顶点,取α为扇形的中心角,扇形区域记为Fij,其中,j的初始值为1;
令Gi=Gi–Gij,Gij=Gij+{mi},j=j+1;
重复以上步骤,直至Gi={mi},即第一集合Gi中所有站点都被划分至不同扇形区域Fij中并形成不同的第二集合Gij;
三叉树建立装置,用于将所述第二集合Gij内的站点进行建立三叉树Tij,具体用于:
以所述第二集合Gij内的终点站mi为三叉树Tij的根节点,将所述终点站mi设为当前节点,其按如下规则分叉;
步骤1,获取所述第二集合Gij内尚未展开过的站点中距离所述终点站mi空间距离最短的至少一个站点作为第一层节点;
步骤2,分别选取所述第一层节点内的一个节点作为当前节点,选取第二集合Gij内尚未展开过的站点中距离被选取的节点空间距离最短的至少一个站点作为第二层节点,建立以所述终点站mi为根节点,深度为所述第二集合Gij内站点个数的三叉树Tij;
重复以上步骤,直至所述第一集合Gi中所有第二集合Gij对应的三叉树Tij都建立完毕;
最短路径获取装置,获取所述三叉树Tij内的所有路径内的最短路径,以得到一条推荐线路。
4.一种基于三叉树搜索的客运线路推荐设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理器执行的计算机程序,所述处理器执行所述计算机程序实现如权利要求1至2任意一项所述的一种基于三叉树搜索的客运线路推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805837.9A CN111915095B (zh) | 2020-08-12 | 2020-08-12 | 一种基于三叉树搜索的客运线路推荐方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805837.9A CN111915095B (zh) | 2020-08-12 | 2020-08-12 | 一种基于三叉树搜索的客运线路推荐方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111915095A CN111915095A (zh) | 2020-11-10 |
CN111915095B true CN111915095B (zh) | 2022-08-05 |
Family
ID=73284228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010805837.9A Active CN111915095B (zh) | 2020-08-12 | 2020-08-12 | 一种基于三叉树搜索的客运线路推荐方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111915095B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761397B (zh) * | 2021-09-16 | 2023-12-08 | 华侨大学 | 一种定制客运路线的推荐方法、系统、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676463B2 (en) * | 2005-11-15 | 2010-03-09 | Kroll Ontrack, Inc. | Information exploration systems and method |
US8181187B2 (en) * | 2006-12-01 | 2012-05-15 | Portico Systems | Gateways having localized in-memory databases and business logic execution |
CN106679669B (zh) * | 2016-12-30 | 2019-08-06 | 深圳优地科技有限公司 | 一种移动机器人路径规划方法和系统 |
CN108268493A (zh) * | 2016-12-30 | 2018-07-10 | 中国移动通信集团广东有限公司 | 基于地理位置的最近站点搜索方法及装置 |
CN111009129B (zh) * | 2020-01-08 | 2021-06-15 | 武汉大学 | 基于时空深度学习模型的城市道路交通流预测方法及装置 |
-
2020
- 2020-08-12 CN CN202010805837.9A patent/CN111915095B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111915095A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980912B (zh) | 一种多点配送线路规划方法及系统 | |
CN106557829B (zh) | 用车业务中获取需求与运力不匹配区域的方法和装置 | |
CN102175256B (zh) | 一种基于进化树拓扑路网构建的路径规划确定方法 | |
CN104024801A (zh) | 使用有界地理区域用于导航的方法和系统 | |
CN108229740B (zh) | 一种商圈边界的确定方法、装置、服务器及存储介质 | |
CN108021686A (zh) | 一种快速匹配电子地图中公交线路与道路网络的方法 | |
CN111860880B (zh) | 一种路径确定方法、装置、电子设备和存储介质 | |
CN111028511B (zh) | 一种交通拥堵预警方法及装置 | |
US20210312579A1 (en) | Method and apparatus for arranging an emergency rescue station, server, and storage medium | |
CN106600956A (zh) | 一种交通信息发布方法及装置 | |
CN110544157A (zh) | 乘车位置推荐方法、装置、电子设备及存储介质 | |
US20180184395A1 (en) | Method and apparatus for providing adaptive location sampling in mobile devices | |
CN111915095B (zh) | 一种基于三叉树搜索的客运线路推荐方法、装置及设备 | |
CN105547308A (zh) | 基于数字路网地图与深度优先遍历的导航方法与装置 | |
CN104282142A (zh) | 一种基于出租车gps数据的公交站台设置方法 | |
CN109410626B (zh) | 站点标示方法、装置、电子设备及计算机可读存储介质 | |
CN108182589B (zh) | 商圈辐射范围确定方法及装置 | |
CN111314102A (zh) | 群组识别方法、装置、电子设备及计算机可读存储介质 | |
CN111881573B (zh) | 一种基于城市内涝风险评估的人口空间分布模拟方法及装置 | |
CN113739812B (zh) | 配送计划生成方法、装置、系统及计算机可读存储介质 | |
CN113761397B (zh) | 一种定制客运路线的推荐方法、系统、设备及存储介质 | |
CN112700073A (zh) | 公交线路规划方法和装置 | |
CN112927232B (zh) | 基于通勤找房的房源召回方法及装置 | |
CN107798020B (zh) | 一种公交路线匹配判断方法及装置 | |
US8914357B1 (en) | Mapping keywords to geographic features |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |