本技术涉及共享设备,特别是涉及一种车辆聚类方法、装置、计算机设备及存储介质。
背景技术:
1、随着共享单车技术的发展,如何回收用户使用过的共享单车也逐渐成为一个需要解决的问题。由于在挪车工一次挪动距离相近的一批车辆时挪车的效率最高,因此现有技术大多采用聚类思想解决挪车派单问题,也即对需要回收的共享单车进行聚类,获取多个聚类簇,进而将一个聚类簇内的车辆派单给同一个挪车工进行挪动。
2、然而,现有的聚类算法往往需要大量数据进行训练,在多次调参迭代后才能够上线应用。而且由于不同城市的用户习惯不同,在共享单车进入新城市时,针对原城市的用户习惯训练的聚类模型通常无法适用,致使聚类算法的适用场景有限。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种车辆聚类方法、装置、计算机设备和存储介质。
2、第一方面,本技术提供了一种车辆聚类方法。所述方法包括:
3、获取各待调度车辆的车辆坐标;
4、根据各所述车辆坐标,确定任意两个所述待调度车辆之间的车辆距离,并基于所述车辆距离,从各所述待调度车辆中确定目标车辆对;
5、在无向图中构建各所述待调度车辆对应的顶点,并在各所述目标车辆对中两个所述待调度车辆对应的所述顶点之间构建连接边;
6、从所述无向图中确定至少两个子图,并确定各所述子图中对应的所述待调度车辆的车辆数量,其中,任意两个所述子图之间不存在连接边;
7、针对任一所述子图,在所述子图对应的所述车辆数量大于或者等于第一数量阈值的情况下,将所述子图对应的各所述待调度车辆作为待调度车辆组。
8、在其中一个实施例中,所述从所述无向图中确定至少两个子图,包括:
9、从所述无向图的各顶点中,选取第一目标顶点,建立所述第一目标顶点对应的子图,将所述第一目标顶点添加至所述子图中,并将所述第一目标顶点从所述无向图中删除;
10、获取与所述第一目标顶点之间存在连接边的各第二目标顶点,将各所述第二目标顶点添加至所述子图中,并将各所述第二目标顶点从所述无向图中删除;
11、针对任一所述第二目标顶点,将所述第二目标顶点作为第一目标顶点,并跳转至获取与所述第一目标顶点之间存在连接边的各第二目标顶点,并将各所述第二目标顶点添加至所述子图中的步骤,直至不存在所述第二目标顶点为止;
12、跳转至从所述无向图的各顶点中,选取第一目标顶点的步骤,直至所述无向图中不存在所述顶点为止。
13、在其中一个实施例中,所述获取各待调度车辆的车辆坐标之前,所述方法还包括:
14、获取调度区域内全部车辆的停放时长;
15、基于各所述车辆的停放时长,按照调度策略从全部所述车辆中确定待调度车辆。
16、在其中一个实施例中,所述确定各所述子图对应的所述待调度车辆的车辆数量之后,所述方法还包括:
17、针对任一所述子图,在所述子图对应的所述车辆数量小于所述第一数量阈值的情况下,根据所述第一数量阈值和所述车辆数量,确定候补车辆数量;
18、在所述候补车辆数量小于或者等于所述车辆数量的情况下,从各第一待调度车辆中,确定所述候补车辆数量个第一候补车辆,并将所述第一候补车辆,及所述子图对应的所述待调度车辆作为所述待调度车辆组,其中,所述第一待调度车辆为各所述车辆中,除所述待调度车辆外的车辆。
19、在其中一个实施例中,所述从各第一待调度车辆中,确定所述候补车辆数量个第一候补车辆,包括:
20、确定所述子图的中心坐标,并根据所述中心坐标和预设距离构建候补区域;
21、将所述车辆坐标位于所述候补区域内的所述第一待调度车辆,作为第二候补车辆,并分别确定各所述第二候补车辆的所述车辆坐标与所述中心坐标之间的中心距离;
22、根据所述中心距离对各所述第二候补车辆由小至大进行排序,获得候补车辆队列;
23、将排列在所述候补车辆队列前所述候补车辆数量位置的所述第二候补车辆,作为所述第一候补车辆。
24、在其中一个实施例中,所述确定各所述子图对应的所述待调度车辆的车辆数量之后,所述方法还包括:
25、在存在目标子图的情况下,将所述目标子图分割为至少两个子图,以使得各所述子图对应的所述车辆数量小于或者等于第二数量阈值,其中,所述目标子图对应的所述车辆数量大于所述第二数量阈值。
26、在其中一个实施例中,所述将所述目标子图分割为至少两个子图,包括:
27、从所述目标子图中确定单次调度数量个第三目标顶点,并根据各所述第三目标顶点构建第一候选子图,所述单次调度数量小于或者等于所述第二数量阈值,各所述第三目标顶点之间存在直接或者间接的连接关系;
28、将各所述第三目标顶点从所述目标子图中删除,重新根据所述目标子图中各顶点之间的连接边,从所述目标子图中确定至少一个第二候选子图;
29、确定各所述第二候选子图中离散子图的子图数量,所述离散子图是对应的所述车辆数量小于所述第一数量阈值的子图;
30、在所述子图数量小于或者等于预设子图数量的情况下,将所述第一候选子图和各所述第二候选子图分别作为子图;或者,
31、在所述子图数量大于所述预设子图数量的情况下,将各所述第三目标顶点添加回所述目标子图中,并跳转至从所述目标子图中确定单次调度数量个第三目标顶点,并将各所述第三目标顶点作为第一候选子图的步骤。
32、在其中一个实施例中,在所述子图数量大于所述预设子图数量的情况下,所述方法还包括:
33、记录所述子图数量与所述第一候选子图、所述第二候选子图之间的对应关系;
34、在构建所述第一候选子图的次数达到次数阈值的情况下,将各所述子图数量中最小的所述子图数量,对应的所述第一候选子图及所述第二候选子图分别作为子图。
35、第二方面,本技术还提供了一种车辆聚类装置。所述装置包括:
36、第一获取模块,用于获取各待调度车辆的车辆坐标;
37、第一确定模块,用于根据各所述车辆坐标,确定任意两个所述待调度车辆之间的车辆距离,并基于所述车辆距离,从各所述待调度车辆中确定目标车辆对;
38、构建模块,用于在无向图中构建各所述待调度车辆对应的顶点,并在各所述目标车辆对中两个所述待调度车辆对应的所述顶点之间构建连接边;
39、第二确定模块,用于从所述无向图中确定至少两个子图,并确定各所述子图中对应的所述待调度车辆的车辆数量,其中,任意两个所述子图之间不存在连接边;
40、处理模块,用于针对任一所述子图,在所述子图对应的所述车辆数量大于或者等于第一数量阈值的情况下,将所述子图对应的各所述待调度车辆作为待调度车辆组。
41、在其中一个实施例中,所述第二确定模块,还用于:
42、从所述无向图的各顶点中,选取第一目标顶点,建立所述第一目标顶点对应的子图,将所述第一目标顶点添加至所述子图中,并将所述第一目标顶点从所述无向图中删除;
43、获取与所述第一目标顶点之间存在连接边的各第二目标顶点,将各所述第二目标顶点添加至所述子图中,并将各所述第二目标顶点从所述无向图中删除;
44、针对任一所述第二目标顶点,将所述第二目标顶点作为第一目标顶点,并跳转至获取与所述第一目标顶点之间存在连接边的各第二目标顶点,并将各所述第二目标顶点添加至所述子图中的步骤,直至不存在所述第二目标顶点为止;
45、跳转至从所述无向图的各顶点中,选取第一目标顶点的步骤,直至所述无向图中不存在所述顶点为止。
46、在其中一个实施例中,所述装置还包括:
47、第二获取模块,用于获取调度区域内全部车辆的停放时长;
48、第三确定模块,用于基于各所述车辆的停放时长,按照调度策略从全部所述车辆中确定待调度车辆。
49、在其中一个实施例中,所述装置还包括:
50、第四确定模块,用于针对任一所述子图,在所述子图对应的所述车辆数量小于所述第一数量阈值的情况下,根据所述第一数量阈值和所述车辆数量,确定候补车辆数量;
51、第五确定模块,用于在所述候补车辆数量小于或者等于所述车辆数量的情况下,从各第一待调度车辆中,确定所述候补车辆数量个第一候补车辆,并将所述第一候补车辆,及所述子图对应的所述待调度车辆作为所述待调度车辆组,其中,所述第一待调度车辆为各所述车辆中,除所述待调度车辆外的车辆。
52、在其中一个实施例中,所述第五确定模块,还用于:
53、确定所述子图的中心坐标,并根据所述中心坐标和预设距离构建候补区域;
54、将所述车辆坐标位于所述候补区域内的所述第一待调度车辆,作为第二候补车辆,并分别确定各所述第二候补车辆的所述车辆坐标与所述中心坐标之间的中心距离;
55、根据所述中心距离对各所述第二候补车辆由小至大进行排序,获得候补车辆队列;
56、将排列在所述候补车辆队列前所述候补车辆数量位置的所述第二候补车辆,作为所述第一候补车辆。
57、在其中一个实施例中,所述装置还包括:
58、分割模块,用于在存在目标子图的情况下,将所述目标子图分割为至少两个子图,以使得各所述子图对应的所述车辆数量小于或者等于第二数量阈值,其中,所述目标子图对应的所述车辆数量大于所述第二数量阈值。
59、在其中一个实施例中,所述分割模块,还用于:
60、从所述目标子图中确定单次调度数量个第三目标顶点,并根据各所述第三目标顶点构建第一候选子图,所述单次调度数量小于或者等于所述第二数量阈值,各所述第三目标顶点之间存在直接或者间接的连接关系;
61、将各所述第三目标顶点从所述目标子图中删除,重新根据所述目标子图中各顶点之间的连接边,从所述目标子图中确定至少一个第二候选子图;
62、确定各所述第二候选子图中离散子图的子图数量,所述离散子图是对应的所述车辆数量小于所述第一数量阈值的子图;
63、在所述子图数量小于或者等于预设子图数量的情况下,将所述第一候选子图和各所述第二候选子图分别作为子图;或者,
64、在所述子图数量大于所述预设子图数量的情况下,将各所述第三目标顶点添加回所述目标子图中,并跳转至从所述目标子图中确定单次调度数量个第三目标顶点,并将各所述第三目标顶点作为第一候选子图的步骤。
65、在其中一个实施例中,所述分割模块,还用于:
66、记录所述子图数量与所述第一候选子图、所述第二候选子图之间的对应关系;
67、在构建所述第一候选子图的次数达到次数阈值的情况下,将各所述子图数量中最小的所述子图数量,对应的所述第一候选子图及所述第二候选子图分别作为子图。
68、第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上任一项方法。
69、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项方法。
70、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上任一项方法。
71、上述车辆聚类方法、装置、计算机设备及存储介质,获取各待调度车辆的车辆坐标并确定车辆距离,进而根据车辆距离确定目标车辆对,根据目标车辆对构建无向图,并通过无向图进行聚类,任意与其他子图之间不存在连接的子图都是一个聚类结果,因而无需设置聚类参数,也因此不会出现在聚类数据形态发生变化时,还需要重新训练聚类算法以调整聚类参数的情况,能够大大提高聚类算法的适用范围。