CN116186571A - 车辆聚类方法、装置、计算机设备及存储介质 - Google Patents
车辆聚类方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116186571A CN116186571A CN202310455962.5A CN202310455962A CN116186571A CN 116186571 A CN116186571 A CN 116186571A CN 202310455962 A CN202310455962 A CN 202310455962A CN 116186571 A CN116186571 A CN 116186571A
- Authority
- CN
- China
- Prior art keywords
- vehicles
- vehicle
- sub
- target
- candidate
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004590 computer program Methods 0.000 claims description 19
- 230000009191 jumping Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0645—Rental transactions; Leasing transactions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请涉及一种车辆聚类方法、装置、计算机设备和存储介质。所述方法包括:获取各待调度车辆的车辆坐标;根据各车辆坐标,确定任意两个待调度车辆之间的车辆距离,并基于车辆距离,从各待调度车辆中确定目标车辆对;在无向图中构建各待调度车辆对应的顶点,并在各目标车辆对中两个待调度车辆对应的顶点之间构建连接边;从无向图中确定至少两个子图,并确定各子图中对应的待调度车辆的车辆数量,其中,任意两个子图之间不存在连接边;针对任一子图,在子图对应的车辆数量大于或者等于第一数量阈值的情况下,将子图对应的各待调度车辆作为待调度车辆组。采用本方法能够提高车辆聚类算法的适用范围。
Description
技术领域
本申请涉及共享设备技术领域,特别是涉及一种车辆聚类方法、装置、计算机设备及存储介质。
背景技术
随着共享单车技术的发展,如何回收用户使用过的共享单车也逐渐成为一个需要解决的问题。由于在挪车工一次挪动距离相近的一批车辆时挪车的效率最高,因此现有技术大多采用聚类思想解决挪车派单问题,也即对需要回收的共享单车进行聚类,获取多个聚类簇,进而将一个聚类簇内的车辆派单给同一个挪车工进行挪动。
然而,现有的聚类算法往往需要大量数据进行训练,在多次调参迭代后才能够上线应用。而且由于不同城市的用户习惯不同,在共享单车进入新城市时,针对原城市的用户习惯训练的聚类模型通常无法适用,致使聚类算法的适用场景有限。
发明内容
基于此,有必要针对上述技术问题,提供一种车辆聚类方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种车辆聚类方法。所述方法包括:
获取各待调度车辆的车辆坐标;
根据各所述车辆坐标,确定任意两个所述待调度车辆之间的车辆距离,并基于所述车辆距离,从各所述待调度车辆中确定目标车辆对;
在无向图中构建各所述待调度车辆对应的顶点,并在各所述目标车辆对中两个所述待调度车辆对应的所述顶点之间构建连接边;
从所述无向图中确定至少两个子图,并确定各所述子图中对应的所述待调度车辆的车辆数量,其中,任意两个所述子图之间不存在连接边;
针对任一所述子图,在所述子图对应的所述车辆数量大于或者等于第一数量阈值的情况下,将所述子图对应的各所述待调度车辆作为待调度车辆组。
在其中一个实施例中,所述从所述无向图中确定至少两个子图,包括:
从所述无向图的各顶点中,选取第一目标顶点,建立所述第一目标顶点对应的子图,将所述第一目标顶点添加至所述子图中,并将所述第一目标顶点从所述无向图中删除;
获取与所述第一目标顶点之间存在连接边的各第二目标顶点,将各所述第二目标顶点添加至所述子图中,并将各所述第二目标顶点从所述无向图中删除;
针对任一所述第二目标顶点,将所述第二目标顶点作为第一目标顶点,并跳转至获取与所述第一目标顶点之间存在连接边的各第二目标顶点,并将各所述第二目标顶点添加至所述子图中的步骤,直至不存在所述第二目标顶点为止;
跳转至从所述无向图的各顶点中,选取第一目标顶点的步骤,直至所述无向图中不存在所述顶点为止。
在其中一个实施例中,所述获取各待调度车辆的车辆坐标之前,所述方法还包括:
获取调度区域内全部车辆的停放时长;
基于各所述车辆的停放时长,按照调度策略从全部所述车辆中确定待调度车辆。
在其中一个实施例中,所述确定各所述子图对应的所述待调度车辆的车辆数量之后,所述方法还包括:
针对任一所述子图,在所述子图对应的所述车辆数量小于所述第一数量阈值的情况下,根据所述第一数量阈值和所述车辆数量,确定候补车辆数量;
在所述候补车辆数量小于或者等于所述车辆数量的情况下,从各第一待调度车辆中,确定所述候补车辆数量个第一候补车辆,并将所述第一候补车辆,及所述子图对应的所述待调度车辆作为所述待调度车辆组,其中,所述第一待调度车辆为各所述车辆中,除所述待调度车辆外的车辆。
在其中一个实施例中,所述从各第一待调度车辆中,确定所述候补车辆数量个第一候补车辆,包括:
确定所述子图的中心坐标,并根据所述中心坐标和预设距离构建候补区域;
将所述车辆坐标位于所述候补区域内的所述第一待调度车辆,作为第二候补车辆,并分别确定各所述第二候补车辆的所述车辆坐标与所述中心坐标之间的中心距离;
根据所述中心距离对各所述第二候补车辆由小至大进行排序,获得候补车辆队列;
将排列在所述候补车辆队列前所述候补车辆数量位置的所述第二候补车辆,作为所述第一候补车辆。
在其中一个实施例中,所述确定各所述子图对应的所述待调度车辆的车辆数量之后,所述方法还包括:
在存在目标子图的情况下,将所述目标子图分割为至少两个子图,以使得各所述子图对应的所述车辆数量小于或者等于第二数量阈值,其中,所述目标子图对应的所述车辆数量大于所述第二数量阈值。
在其中一个实施例中,所述将所述目标子图分割为至少两个子图,包括:
从所述目标子图中确定单次调度数量个第三目标顶点,并根据各所述第三目标顶点构建第一候选子图,所述单次调度数量小于或者等于所述第二数量阈值,各所述第三目标顶点之间存在直接或者间接的连接关系;
将各所述第三目标顶点从所述目标子图中删除,重新根据所述目标子图中各顶点之间的连接边,从所述目标子图中确定至少一个第二候选子图;
确定各所述第二候选子图中离散子图的子图数量,所述离散子图是对应的所述车辆数量小于所述第一数量阈值的子图;
在所述子图数量小于或者等于预设子图数量的情况下,将所述第一候选子图和各所述第二候选子图分别作为子图;或者,
在所述子图数量大于所述预设子图数量的情况下,将各所述第三目标顶点添加回所述目标子图中,并跳转至从所述目标子图中确定单次调度数量个第三目标顶点,并将各所述第三目标顶点作为第一候选子图的步骤。
在其中一个实施例中,在所述子图数量大于所述预设子图数量的情况下,所述方法还包括:
记录所述子图数量与所述第一候选子图、所述第二候选子图之间的对应关系;
在构建所述第一候选子图的次数达到次数阈值的情况下,将各所述子图数量中最小的所述子图数量,对应的所述第一候选子图及所述第二候选子图分别作为子图。
第二方面,本申请还提供了一种车辆聚类装置。所述装置包括:
第一获取模块,用于获取各待调度车辆的车辆坐标;
第一确定模块,用于根据各所述车辆坐标,确定任意两个所述待调度车辆之间的车辆距离,并基于所述车辆距离,从各所述待调度车辆中确定目标车辆对;
构建模块,用于在无向图中构建各所述待调度车辆对应的顶点,并在各所述目标车辆对中两个所述待调度车辆对应的所述顶点之间构建连接边;
第二确定模块,用于从所述无向图中确定至少两个子图,并确定各所述子图中对应的所述待调度车辆的车辆数量,其中,任意两个所述子图之间不存在连接边;
处理模块,用于针对任一所述子图,在所述子图对应的所述车辆数量大于或者等于第一数量阈值的情况下,将所述子图对应的各所述待调度车辆作为待调度车辆组。
在其中一个实施例中,所述第二确定模块,还用于:
从所述无向图的各顶点中,选取第一目标顶点,建立所述第一目标顶点对应的子图,将所述第一目标顶点添加至所述子图中,并将所述第一目标顶点从所述无向图中删除;
获取与所述第一目标顶点之间存在连接边的各第二目标顶点,将各所述第二目标顶点添加至所述子图中,并将各所述第二目标顶点从所述无向图中删除;
针对任一所述第二目标顶点,将所述第二目标顶点作为第一目标顶点,并跳转至获取与所述第一目标顶点之间存在连接边的各第二目标顶点,并将各所述第二目标顶点添加至所述子图中的步骤,直至不存在所述第二目标顶点为止;
跳转至从所述无向图的各顶点中,选取第一目标顶点的步骤,直至所述无向图中不存在所述顶点为止。
在其中一个实施例中,所述装置还包括:
第二获取模块,用于获取调度区域内全部车辆的停放时长;
第三确定模块,用于基于各所述车辆的停放时长,按照调度策略从全部所述车辆中确定待调度车辆。
在其中一个实施例中,所述装置还包括:
第四确定模块,用于针对任一所述子图,在所述子图对应的所述车辆数量小于所述第一数量阈值的情况下,根据所述第一数量阈值和所述车辆数量,确定候补车辆数量;
第五确定模块,用于在所述候补车辆数量小于或者等于所述车辆数量的情况下,从各第一待调度车辆中,确定所述候补车辆数量个第一候补车辆,并将所述第一候补车辆,及所述子图对应的所述待调度车辆作为所述待调度车辆组,其中,所述第一待调度车辆为各所述车辆中,除所述待调度车辆外的车辆。
在其中一个实施例中,所述第五确定模块,还用于:
确定所述子图的中心坐标,并根据所述中心坐标和预设距离构建候补区域;
将所述车辆坐标位于所述候补区域内的所述第一待调度车辆,作为第二候补车辆,并分别确定各所述第二候补车辆的所述车辆坐标与所述中心坐标之间的中心距离;
根据所述中心距离对各所述第二候补车辆由小至大进行排序,获得候补车辆队列;
将排列在所述候补车辆队列前所述候补车辆数量位置的所述第二候补车辆,作为所述第一候补车辆。
在其中一个实施例中,所述装置还包括:
分割模块,用于在存在目标子图的情况下,将所述目标子图分割为至少两个子图,以使得各所述子图对应的所述车辆数量小于或者等于第二数量阈值,其中,所述目标子图对应的所述车辆数量大于所述第二数量阈值。
在其中一个实施例中,所述分割模块,还用于:
从所述目标子图中确定单次调度数量个第三目标顶点,并根据各所述第三目标顶点构建第一候选子图,所述单次调度数量小于或者等于所述第二数量阈值,各所述第三目标顶点之间存在直接或者间接的连接关系;
将各所述第三目标顶点从所述目标子图中删除,重新根据所述目标子图中各顶点之间的连接边,从所述目标子图中确定至少一个第二候选子图;
确定各所述第二候选子图中离散子图的子图数量,所述离散子图是对应的所述车辆数量小于所述第一数量阈值的子图;
在所述子图数量小于或者等于预设子图数量的情况下,将所述第一候选子图和各所述第二候选子图分别作为子图;或者,
在所述子图数量大于所述预设子图数量的情况下,将各所述第三目标顶点添加回所述目标子图中,并跳转至从所述目标子图中确定单次调度数量个第三目标顶点,并将各所述第三目标顶点作为第一候选子图的步骤。
在其中一个实施例中,所述分割模块,还用于:
记录所述子图数量与所述第一候选子图、所述第二候选子图之间的对应关系;
在构建所述第一候选子图的次数达到次数阈值的情况下,将各所述子图数量中最小的所述子图数量,对应的所述第一候选子图及所述第二候选子图分别作为子图。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上任一项方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上任一项方法。
上述车辆聚类方法、装置、计算机设备及存储介质,获取各待调度车辆的车辆坐标并确定车辆距离,进而根据车辆距离确定目标车辆对,根据目标车辆对构建无向图,并通过无向图进行聚类,任意与其他子图之间不存在连接的子图都是一个聚类结果,因而无需设置聚类参数,也因此不会出现在聚类数据形态发生变化时,还需要重新训练聚类算法以调整聚类参数的情况,能够大大提高聚类算法的适用范围。
附图说明
图1为一个实施例中车辆聚类方法的流程示意图;
图2为一个实施例中设置车辆对上限与不设置车辆对上限之间效果的对比图;
图3为一个实施例中无向图的示意图;
图4为一个实施例中步骤108的流程示意图;
图5为一个实施例中构建子图的示意图;
图6为一个实施例中步骤102的流程示意图;
图7为一个实施例中车辆聚类方法的流程示意图;
图8为一个实施例中步骤704的流程示意图;
图9为一个实施例中确定第一候补车辆的示意图;
图10为一个实施例中车辆聚类方法的流程示意图;
图11为一个实施例中对目标子图进行分割的示意图;
图12为一个实施例中车辆聚类方法的流程示意图;
图13为一个实施例中车辆聚类装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种车辆聚类方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤102,获取各待调度车辆的车辆坐标。
本申请实施例中,待调度车辆是需要被挪动至车站的车辆。待调度车辆可以是全部车辆,也可以仅为部分被骑行的频率较低的车辆、或者位于部分特定区域内的车辆。车辆坐标可以为经纬度坐标,由于各车辆上一般装载有定位芯片,因此可以通过定位系统确定各定位芯片的经纬度坐标,进而根据定位芯片和车辆的对应关系确定各待调度车辆的车辆坐标。
步骤104,根据各车辆坐标,确定任意两个待调度车辆之间的车辆距离,并基于车辆距离,从各待调度车辆中确定目标车辆对。
本申请实施例中,可以将任意两个待调度车辆作为一个车辆对,并根据车辆对中两个待调度车辆的车辆坐标,计算两个待调度车辆之间的车辆距离,也即该车辆对对应的车辆距离。车辆距离可以为两个待调度车辆之间的直线距离,也可以为用于挪车的运维车从一辆待调度车辆出发,抵达另一辆待调度车辆所需的实际距离,本申请实施例对此不作具体限定。
在确定各车辆对对应的的车辆距离后,可以将车辆距离相对较近的车辆对作为目标车辆对。示例性的,可以预先设置距离阈值,并将车辆距离小于距离阈值的车辆对作为目标车辆对;或者,也可以对各车辆对按照车辆距离由近至远进行排序,并将排在前预设数量的车辆对作为目标车辆对,本申请实施例对此不作具体限定。
在通过车辆距离的排序确定目标车辆对时,可以在构建车辆对时提前对车辆对进行筛选,以避免出现一些车辆距离较远的车辆对也被作为目标车辆对的情况。示例性的,针对任一待调度车辆,可以确定与该待调度车辆距离最近、且距离小于距离阈值的n个待调度车辆(n为预先设置的固定数值),并根据确定出的n个待调度车辆构建n个车辆对,以此使得目标车辆对对应的车辆距离一定小于距离阈值。而且针对每个待调度车辆仅构建n个车辆对,也可以避免出现部分待调度车辆之间距离过近,导致无效的目标车辆对过多(例如,若存在待调度车辆A、B、C,AB和BC已经是目标车辆对,那么AC就是一个无效的目标车辆对,因加入这个目标车辆对并不能改变最终的聚类形态),使得最后得到的有效聚类数量较少的情况。控制每个待调度车辆的车辆对数量,以及不控制每个待调度车辆的车辆对数量的效果对比可参见图2所示。图中共需要确定6个目标车辆对,虚线为车辆对之间的连接,实线为目标车辆对之间的连接。
示例性的,上述过程可通过如下方式实现:针对任一待调度车辆,搜索与该待调度车辆距离最近的另一待调度车辆,并确定两个待调度车辆的车辆距离;在车辆距离小于或者等于距离阈值的情况下,组建包含上述两个待调度车辆的车辆对,并继续搜索下一个还未被构建成车辆对的最近的待调度车辆,直至车辆距离大于距离阈值,或者构建出的车辆对已经达到n个为止。示例性的,可以根据各车辆坐标构建kd-tree(k维树),进而根据基于kd-tree的近邻搜索算法,搜索距离各待调度车辆距离最近的n个待调度车辆。
步骤106,在无向图中构建各待调度车辆对应的顶点,并在各目标车辆对中两个待调度车辆对应的顶点之间构建连接边。
本申请实施例中,每一个待调度车辆在无向图中可以以一个顶点进行表征,在两个待调度车辆属于同一个目标连接对的情况下,可以在两个待调度车辆对应的顶点之间构建连接边,以完成无向图的构建。
步骤108,从无向图中确定至少两个子图,并确定各子图中对应的待调度车辆的车辆数量,其中,任意两个子图之间不存在连接边。
本申请实施例中,无相图中的子图中包含至少一个顶点,任一子图中的顶点仅和本子图中的顶点之间存在连接边。一个子图也即一个聚类结果。参照图3所示,为最终构建的无向图的一个示例,其中上方的5个顶点组成一个子图,中部的2个顶点组成另一个子图,下方的1个顶点也是一个子图。示例性的,可以以任意一个顶点作为起点,搜索与该顶点之间存在连接边的全部顶点,进而再将各与该顶点之间存在连接边的顶点分别作为起点,重复进行上述搜索的过程,直至不存在与起点之间存在连接边的顶点为止,进而将搜索到的全部顶点作为一个子图,以此完成无向图中各子图的划分。
步骤110,针对任一子图,在子图对应的车辆数量大于或者等于第一数量阈值的情况下,将子图对应的各待调度车辆作为待调度车辆组。
本申请实施例中,第一数量阈值对应运维车每次挪车的最小装载数量,第一数量阈值可由本领域技术人员根据实际需求自行设定。在子图中的顶点数量(也即子图对应的车辆数量)小于第一数量阈值时,运维车挪车的收益较低,故而可以仅确定车辆数量大于或者等于第一数量阈值的子图,将这部分子图对应的待调度车辆作为待调度车辆组,以保证挪车的收益。
在获取各待调度车辆组后,可以根据待调度车辆组和共享单车车站之间的距离,确定与各待调度车辆组匹配的车站,进而向各挪车工派发由待调度车辆组和车站组成的工单,以使得挪车工可以按照工单对待调度车辆组进行挪动。
本申请实施例提供的车辆聚类方法,获取各待调度车辆的车辆坐标并确定车辆距离,进而根据车辆距离确定目标车辆对,根据目标车辆对构建无向图,并通过无向图进行聚类,任意与其他子图之间不存在连接的子图都是一个聚类结果,因而无需设置聚类参数,也因此不会出现在聚类数据形态发生变化时,还需要重新训练聚类算法以调整聚类参数的情况,能够大大提高聚类算法的适用范围。
在一个实施例中,如图4所示,步骤108中,从无向图中确定至少两个子图,包括:
步骤402,从无向图的各顶点中,选取第一目标顶点,建立第一目标顶点对应的子图,将第一目标顶点添加至子图中,并将第一目标顶点从无向图中删除。
步骤404,获取与第一目标顶点之间存在连接边的各第二目标顶点,将各第二目标顶点添加至子图中,并将各第二目标顶点从无向图中删除。
步骤406,针对任一第二目标顶点,将第二目标顶点作为第一目标顶点,并跳转至获取与第一目标顶点之间存在连接边的各第二目标顶点,并将各第二目标顶点添加至子图中的步骤,直至不存在第二目标顶点为止。
跳转至从无向图的各顶点中,选取第一目标顶点的步骤,直至无向图中不存在顶点为止。
本申请实施例中,可以通过从无向图中选取任意一个顶点,并从该顶点向外搜索和该顶点直接连接或间接连接的全部顶点的方式构建子图。
参照图5所示,为上述过程的一个示例。图中黑色顶点为选取的第一目标顶点。第一目标顶点可以从各顶点中随机选择。在确定第一目标顶点后,可以将第一目标顶点添加至子图中。在向子图中添加第一目标顶点之后,需要将第一目标顶点标记为已经被搜索过的顶点,以避免在后续的搜索过程中第一目标顶点被重复搜索。可以通过将第一目标顶点从无向图中删除,将第一目标顶点标记为已经被搜索过的顶点。或者,也可以为顶点添加用于表征该顶点是否已被搜索过的标记,初始时各顶点的标记都为未搜索,在将第一目标顶点被添加至子图中后,可以将第一目标顶点的标记更改为已搜索。后续搜索第二目标顶点时,可以仅从标记为未搜索的顶点中确定第二目标顶点。
通过第一目标顶点向外搜索,可以获取与第一目标顶点之间存在连接边的全部第二目标顶点,也即图5中的深灰色顶点。由于无向图一般以邻接矩阵的形式进行存储,在两个顶点A和B之间存在连接边时,邻接矩阵中A行B列的元素和B行A列的元素将为非零元素,故而可以遍历第一目标顶点在邻接矩阵中对应的行,并在检测到非零元素时,将该元素所在的列对应的顶点作为第二目标顶点,以此确定第一目标顶点对应的全部第二目标顶点。
需要说明的是,无向图也可能通过其他形式进行存储,上述确定第二目标顶点的方式仅为在无向图以邻接矩阵形式进行存储时,确定第二目标顶点的一个示例,实际上本申请实施例对确定第二目标顶点的方式不作具体限定。
在确定各第二目标顶点之后,可以将各第二目标顶点添加至子图中,并重新以各第二目标顶点为起点(也即将第二目标顶点作为第一目标顶点),重新确定和新的各第一目标顶点之间存在连接边的各第二目标顶点(也即图5中的浅灰色顶点),以此类推,直至搜索不到第二目标顶点为止。
需要说明的是,在搜索过程中可能出现两个不同的第一目标顶点搜索到同样的第二目标顶点的情况(例如图5上方的白色顶点)。在将第二目标顶点添加至子图中时,可以先遍历子图中的各顶点,确定子图中是否已经存在和第二目标顶点相同的顶点。若子图中已存在相同的顶点,则可以不将第二目标顶点添加至子图中,以避免子图中出现重复顶点。
在构建完毕一个子图后,可以重新从无向图中选取第一目标顶点,并重复上述构建子图的过程,直至无向图中的所有顶点都有对应的子图,以完成对各子图的划分。
本申请实施例提供的车辆聚类方法,通过搜索全部与节点之间存在直接连接、或与节点之间通过其他节点间接连接的节点构建子图。本申请实施例通过无向图进行聚类,并将各子图作为聚类结果,因而无需设置聚类参数,也因此不会出现在聚类数据形态发生变化时,还需要重新训练聚类算法以调整聚类参数的情况,能够大大提高聚类算法的适用范围。
在一个实施例中,如图6所示,步骤102中,获取各待调度车辆的车辆坐标之前,上述方法还包括:
步骤602,获取调度区域内全部车辆的停放时长。
步骤604,基于各车辆的停放时长,按照调度策略从全部车辆中确定待调度车辆。
本申请实施例中,可以仅将部分停放时长较久的车辆作为待调度车辆。由于车辆的停放时长较久往往表明车辆所在的位置不佳,导致车辆无法得到有效利用,因而这部分车辆通常是最需要被挪动的车辆。通过获取各车辆的最后骑行记录时间和当前时间之间的差值,可以确定车辆的停放时长。
调度策略指从各车辆中选取待调度车辆的规则。调度策略可以由本领域技术人员根据实际需求进行设定。例如,可以将调度策略设置为选取停放时长大于时长阈值的车辆作为待调度车辆;或者,也可以将调度策略设置为选取停放时长最长的预设数量的车辆作为待调度车辆。在采用后一种调度策略时,可以对各车辆按照停放时长从大到小进行排序,得到车辆队列,并将排名在车辆队列前预设数量(例如200个)的车辆作为待调度车辆。
本申请实施例提供的车辆聚类方法,确定各车辆的停放时长,并根据停放时长和调度策略从各车辆中选取待调度车辆,因而可以使得停放时长较久、需要被优先挪动的车辆成为待调度车辆,以使得这部分车辆在聚类后能够被移动至车站,因而可以提升基于聚类结果进行车辆调度的效率。
在一个实施例中,如图7所示,步骤108中,确定各子图对应的待调度车辆的车辆数量之后,上述方法还包括:
步骤702,针对任一子图,在子图对应的车辆数量小于第一数量阈值的情况下,根据第一数量阈值和车辆数量,确定候补车辆数量。
步骤704,在候补车辆数量小于或者等于车辆数量的情况下,从各第一待调度车辆中,确定候补车辆数量个第一候补车辆,并将第一候补车辆,及子图对应的待调度车辆作为待调度车辆组,其中,第一待调度车辆为各车辆中,除待调度车辆外的车辆。
本申请实施例中,在仅选取部分车辆作为待调度车辆的情况下,可能会出现尽管子图对应的待调度车辆附近还存在许多其他车辆,但子图对应的车辆数量小于第一数量阈值,导致这部分待调度车辆无法成为待调度车辆组的情况。在车辆数量距离第一数量阈值较近的情况下,可以从其他车辆中选取车辆填补进这部分待调度车辆中,以使得这部分待调度车辆在成为待调度车辆组的同时,又不会使得运维车因一次装载的车辆数量过少而降低挪车收益。
可以根据第一数量阈值和车辆数量之间的差值,确定候补车辆数量。在候补车辆数量大于车辆数量的情况下(例如,第一数量阈值为4,车辆数量为1,候补车辆数量为3),为挪动1个待调度车辆,需要同时挪动3个停放时长较短、有可能留在原位置效益更高的车辆,因而整体挪车收益不高。此时可以不挪动待调度车辆,也即不为待调度车辆确定第一候补车辆,使得待调度车辆无法成为待调度车辆组。
在候补车辆数量小于或者等于车辆数量的情况下(例如,车辆数量为3,候补车辆数量为1),只需要再找到1个第一候补车辆即可挪动3个待调度车辆,此时挪车的收益较高,故而可以将第一候补车辆和待调度车辆共同作为待调度车辆组,以使得运维车可以将待调度车辆组挪走。
示例性的,可以针对任一待调度车辆,确定与待调度车辆之间的车辆距离小于距离阈值的第一待调度车辆(第一待调度车辆即除待调度车辆外的车辆),进而对各确定出的车辆按照车辆距离由小至大进行排序,并选取排列在前候补车辆数量位置的车辆作为第一候补车辆;或者,也可以确定候补车辆数量个与各待调度车辆之间的车辆距离之和最小的车辆,作为第一候补车辆,或者采用其他方式确定各第一候补车辆,本申请实施例对此不作具体限定。
本申请实施例提供的车辆聚类方法,在子图对应的车辆数量小于第一数量阈值、且候补车辆数量小于或者等于车辆数量的情况下,确定候补车辆数量个第一候补车辆,并将第一候补车辆和待调度车辆一起作为待调度车辆组,因而可以在车辆数量距离第一数量阈值较近的情况下,将子图对应的待调度车辆挪走,以此在基于聚类结果挪动尽可能多的待调度车辆的情况下,同时保障挪车的收益。
在一个实施例中,如图8所示,步骤704中,从各第一待调度车辆中,确定候补车辆数量个第一候补车辆,包括:
步骤802,确定子图的中心坐标,并根据中心坐标和预设距离构建候补区域。
步骤804,将车辆坐标位于候补区域内的第一待调度车辆,作为第二候补车辆,并分别确定各第二候补车辆的车辆坐标与中心坐标之间的中心距离。
步骤806,根据中心距离对各第二候补车辆由小至大进行排序,获得候补车辆队列。
步骤808,将排列在候补车辆队列前候补车辆数量位置的第二候补车辆,作为第一候补车辆。
本申请实施例中,可以通过子图的中心坐标构建候补区域,并将候补区域内距离中心坐标较近的车辆作为第一候补车辆,以此使得各第一候补车辆是距离各待调度车辆均较近的车辆。
可以通过寻找与子图中各顶点的距离之和最小的坐标点,确定子图的中心坐标。或者,也可以根据子图中的各顶点构建拟合圆,并将拟合圆的圆心坐标作为中心坐标,本申请实施例对此不作具体限定。预设距离用于控制搜索第一候补车辆的范围,其取值可以由本领域技术人员根据实际需求设定。例如,若需要使得第一候补车辆距离中心坐标较近,减少运维车挪动待调度车辆组时需要行驶的距离,则可以将预设距离设置的较小;若需要确保针对每个子图都能确定出候补车辆数量个第一候补车辆,以使得满足条件的子图中的待调度车辆都能成为待调度车辆组,则可以将预设距离设置的较大。
根据中心坐标和预设距离,可以构建出候补区域。候补区域的形状可以由本领域技术人员根据实际需求进行确定,例如,可以以中心坐标为圆心、预设距离为半径构建圆形的候补区域;或者也可以以中心坐标为中心、预设距离为中心到顶点的距离,构建正方形或三角形的候补区域,本申请实施例对此不作具体限定。
车辆坐标位于候补区域内的第一待调度车辆均为第二候补车辆,第一候补车辆需要从各第二候补车辆中产生。可以分别确定各第二候补车辆与中心坐标之间的中心距离,进而根据中心距离对各第二候补车辆由小至大进行排序,并将排在前候补车辆数量位置的第二候补车辆作为第一候补车辆。参照图9所示,为确定第一候补车辆的一个示例,图中实心顶点为待调度车辆,正方形为中心坐标,灰色顶点为第二候补车辆,黑色顶点为第一候补车辆。
在第二候补车辆的数量小于候补车辆数量,也即无法从第二候补车辆中确定出足够的第一候补车辆的情况下,说明待调度车辆附近没有足够的其他车辆。此时可以不将各第一候补车辆和待调度车辆作为待调度车辆组。
本申请实施例提供的车辆聚类方法,根据子图的中心坐标和预设距离构建候补区域,并从候补区域中,与中心坐标距离较近的车辆中确定候补车辆数量个第一候补车辆,并将第一候补车辆和待调度车辆一起作为待调度车辆组。由于中心坐标是距离各待调度车辆的车辆坐标均较近的坐标,因而可以确保各第一候补车辆也距离各待调度车辆较近,可以减少运维车挪动待调度车辆组时需要行驶的距离,提高基于聚类结果进行挪车的效率。
在一个实施例中,步骤108中,确定各子图对应的待调度车辆的车辆数量之后,上述方法还包括:
在存在目标子图的情况下,将目标子图分割为至少两个子图,以使得各子图对应的车辆数量小于或者等于第二数量阈值,其中,目标子图对应的车辆数量大于第二数量阈值。
本申请实施例中,第二数量阈值可以为运维车一次能够装载的车辆数量上限,其具体数值可以由本领域技术人员根据实际需求确定。在构建出各子图后,可以检测各子图对应的车辆数量是否大于第二数量阈值,也即各子图是否为目标子图。若子图为目标子图,则需要将目标子图分割为多个子图,以使得可以根据分割后形成的多个子图同时向多个挪车工派单,提高挪车效率。
示例性的,可以从目标子图对应的各顶点中,重复确定第二数量阈值个顶点作为子图,直至剩余的顶点数量小于第二数量阈值,此时将剩余的顶点作为最后一个子图,以此完成对目标子图的划分。或者也可以根据目标子图对应的车辆数量,确定大于该车辆数量、且与该车辆数量最接近的第二数量阈值的整数倍,并将目标子图中的顶点平均划分为该整数倍对应的倍数个子图(例如,若第二数量阈值为100,目标子图对应的车辆数量为285,则与车辆数量最接近的第二数量阈值的整数倍为300,对应的倍数为3,此时可以将目标子图中的顶点划分为3组,每一组中的顶点数量为95个)。或者也可以通过其他方式对目标子图进行分割,本申请实施例对此不作具体限定。
本申请实施例提供的车辆聚类方法,在存在目标子图的情况下,将目标子图划分为多个子图,以使得各子图对应的车辆数量均小于运维车的装载数量上限,因此可以使得各运维车均不会被分配到超出自身装载能力上限的待调度车辆组,确保每一个待调度车辆组都能够被一次挪走,可以提升基于聚类结果进行车辆调度的效率。
在一个实施例中,如图10所示,将目标子图分割为至少两个子图,包括:
步骤1002,从目标子图中确定单次调度数量个第三目标顶点,并根据各第三目标顶点构建第一候选子图,单次调度数量小于或者等于第二数量阈值,各第三目标顶点之间存在直接或者间接的连接关系。
步骤1004,将各第三目标顶点从目标子图中删除,重新根据目标子图中各顶点之间的连接边,从目标子图中确定至少一个第二候选子图。
步骤1006,确定各第二候选子图中离散子图的子图数量,离散子图是对应的车辆数量小于第一数量阈值的子图。
步骤1008,在子图数量小于或者等于预设子图数量的情况下,将第一候选子图和各第二候选子图分别作为子图;或者,
步骤1010,在子图数量大于预设子图数量的情况下,将各第三目标顶点添加回目标子图中,并跳转至从目标子图中确定单次调度数量个第三目标顶点,并将各第三目标顶点作为第一候选子图的步骤。
本申请实施例中,将目标子图划分为子图时,应确保划分完成后不会出现有过多子图成为离散子图(也即该子图对应的车辆数量小于第一数量阈值)的情况,否则目标子图中将有部分待调度车辆得不到调度。可以在确定出一种划分子图的方式时,先模拟在该种划分方式下会出现的离散子图的子图数量,若子图数量过多则重新确定划分子图的方式,以此解决上述问题。
单次调度数量是第一候选子图中应有顶点的数量,其取值可以由本领域技术人员根据实际需求进行设定,或者也可以根据前述实施例中的方式进行计算。单次调度数量应当小于或者等于第二数量阈值,以满足分割后的子图对应的车辆数量小于或者等于第二数量阈值的要求。此外,为保证第一候选子图不会成为离散子图,单次调度数量也应当大于或者等于第一数量阈值。可以从目标子图中,先选取单次调度数量个第三目标顶点构建第一候选子图(由于需要各第三目标顶点之间存在直接或间接的连接关系,因此可以参照前述实施例中构建子图的方式,首先选取一个顶点作为起点,进而从该起点出发搜索到单次调度数量个顶点,并将起点和全部搜索到的顶点作为第三目标顶点),并将各第三目标顶点从目标子图中删除,再重新根据目标子图中剩余的顶点构建子图(第二候选子图),并确定各第二候选子图中,车辆数量小于第一数量阈值的子图(离散子图)的子图数量。
预设子图数量是在达到较优分割时,离散子图应当小于或者等于的数量,其取值可以由本领域技术人员根据实际需求进行设定,例如若需要分割后的子图中不出现离散子图,则可以将预设子图数量设置为0。若需要加快分割目标子图的速度,且可以接受分割后的子图中出现较少的离散子图,则可以将预设子图数量设置为一个较低的数值。
参照图11所示,以第一数量阈值为4、预设子图数量为0为例,若重新构建后的各子图中,离散子图的子图数量小于或者等于预设子图数量(如图11上半部分所示,为0),则说明这种选取第三目标顶点的方式(以下称为分割方式)是较优的方式,因而可以将第一候选子图和第二候选子图分别作为子图,以完成对目标子图的划分。若离散子图数量较多(参照图11中间部分和下半部分所示,分别为2和3),则说明这种分割方式不佳,因而可以将各第三目标顶点添加回目标子图中,并重新选取第三目标顶点,直至子图数量小于或者等于预设子图数量为止。
在通过邻接矩阵记录无向图时,删除第三目标顶点指将第三目标顶点对应的行和列从邻接矩阵中删除。因此可以将删除的行和列进行保存,在需要将第三目标顶点添加回目标子图中时,将删除的行和列重新添加回邻接矩阵中即可。或者,也可以将目标子图进行复制,在复制后的目标子图中删除第三目标顶点,并根据复制后的目标子图得到各第二候选子图。若这种分割方式不是较优的分割方式,则将复制后的目标子图删除,重新复制目标子图并重复上述过程即可,本申请实施例对此不作具体限定。
需要说明的是,第二候选子图对应的车辆数量可能仍大于第二数量阈值,也即第二候选子图可能也是一个目标子图,此时可以对第二候选子图重复进行上述对目标子图进行分割的步骤,直至各第二候选子图中不存在目标子图为止。
需要说明的是,使得子图数量小于或者等于预设子图数量的分割方式(以下称为较优分割方式)可能有多种,为节省计算资源,可以在找到第一种较优分割方式时即停止重复选取第三目标顶点的过程;或者,为找到最优的分割方式,也可以在确定出预定数量个较优分割方式后再对各较优分割方式进行比较,从中选取最优分割方式(例如,第二候选子图中不存在目标子图的分割方式),并将最优分割方式对应的第一候选子图和第二候选子图作为子图,本申请实施例对此不作具体限定。
本申请实施例提供的车辆聚类方法,在存在目标子图的情况下,模拟选择单次调度数量个第三目标顶点作为第一候选子图,并确定将第三目标顶点从目标子图中删除后,会产生的离散子图的子图数量;若子图数量大于预设子图数量,则重新选择第三目标顶点进行模拟,直至子图数量小于或者等于预设子图数量,并将本次模拟中得到的各第一候选子图和第二候选子图作为子图,因而可以降低产生的离散子图的数量,进而降低无法基于聚类结果得到调度的待调度车辆的数量。
在一个实施例中,如图12所示,在子图数量大于预设子图数量的情况下,上述方法还包括:
步骤1202,记录子图数量与第一候选子图、第二候选子图之间的对应关系。
步骤1204,在构建第一候选子图的次数达到次数阈值的情况下,将各子图数量中最小的子图数量,对应的第一候选子图及第二候选子图分别作为子图。
本申请实施例中,在目标子图形状较为特殊的情况下,可能不存在或仅存在少数较优分割方式。此时若一直重复选择第三目标顶点,则会浪费大量的计算资源和时间,因而可以设置一个计数器,在每次构建第一候选子图时,记录该种分割方式对应的子图数量、第一候选子图和第二候选子图,并对计数器加1。在计数器的数值达到次数阈值(其取值可以由本领域技术人员设定)时,可以将子图数量最小的分割方式,也即之前模拟过的各分割方式中最优的分割方式对应的第一候选子图和第二候选子图作为子图,以完成对目标子图的划分。
参照图11所示,图11中间部分和下半部分所示的分割方式对应的子图数量均大于预设子图数量,但由于中间部分对应的子图数量为2,下半部分对应的子图数量为3,因而相较于下半部分对应的分割方式,中间部分对应的分割方式较优。若构建第一候选子图的次数已达到次数阈值,此时可以将图11中间部分所示的分割方式对应的第一候选子图和第二候选子图作为子图。
本申请实施例提供的车辆聚类方法,在构建第一候选子图的次数已达到次数阈值的情况下,选择子图数量最小的分割方式对应的第一候选子图和第二候选子图作为子图,因而可以在节省计算资源的情况下,使得目标子图的分割方式达到相对最优。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的车辆聚类方法的车辆聚类装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个车辆聚类装置实施例中的具体限定可以参见上文中对于车辆聚类方法的限定,在此不再赘述。
在一个实施例中,如图13所示,提供了一种车辆聚类装置1300,包括:第一获取模块1302、第一确定模块1304、构建模块1306、第二确定模块1308、处理模块1310,其中:
第一获取模块1302,用于获取各待调度车辆的车辆坐标;
第一确定模块1304,用于根据各所述车辆坐标,确定任意两个所述待调度车辆之间的车辆距离,并基于所述车辆距离,从各所述待调度车辆中确定目标车辆对;
构建模块1306,用于在无向图中构建各所述待调度车辆对应的顶点,并在各所述目标车辆对中两个所述待调度车辆对应的所述顶点之间构建连接边;
第二确定模块1308,用于从所述无向图中确定至少两个子图,并确定各所述子图中对应的所述待调度车辆的车辆数量,其中,任意两个所述子图之间不存在连接边;
处理模块1310,用于针对任一所述子图,在所述子图对应的所述车辆数量大于或者等于第一数量阈值的情况下,将所述子图对应的各所述待调度车辆作为待调度车辆组。
本申请实施例提供的车辆聚类装置,获取各待调度车辆的车辆坐标并确定车辆距离,进而根据车辆距离确定目标车辆对,根据目标车辆对构建无向图,并通过无向图进行聚类,任意与其他子图之间不存在连接的子图都是一个聚类结果,因而无需设置聚类参数,也因此不会出现在聚类数据形态发生变化时,还需要重新训练聚类算法以调整聚类参数的情况,能够大大提高聚类算法的适用范围。
在其中一个实施例中,所述第二确定模块1308,还用于:
从所述无向图的各顶点中,选取第一目标顶点,建立所述第一目标顶点对应的子图,将所述第一目标顶点添加至所述子图中,并将所述第一目标顶点从所述无向图中删除;
获取与所述第一目标顶点之间存在连接边的各第二目标顶点,将各所述第二目标顶点添加至所述子图中,并将各所述第二目标顶点从所述无向图中删除;
针对任一所述第二目标顶点,将所述第二目标顶点作为第一目标顶点,并跳转至获取与所述第一目标顶点之间存在连接边的各第二目标顶点,并将各所述第二目标顶点添加至所述子图中的步骤,直至不存在所述第二目标顶点为止;
跳转至从所述无向图的各顶点中,选取第一目标顶点的步骤,直至所述无向图中不存在所述顶点为止。
在其中一个实施例中,所述装置还包括:
第二获取模块,用于获取调度区域内全部车辆的停放时长;
第三确定模块,用于基于各所述车辆的停放时长,按照调度策略从全部所述车辆中确定待调度车辆。
在其中一个实施例中,所述装置还包括:
第四确定模块,用于针对任一所述子图,在所述子图对应的所述车辆数量小于所述第一数量阈值的情况下,根据所述第一数量阈值和所述车辆数量,确定候补车辆数量;
第五确定模块,用于在所述候补车辆数量小于或者等于所述车辆数量的情况下,从各第一待调度车辆中,确定所述候补车辆数量个第一候补车辆,并将所述第一候补车辆,及所述子图对应的所述待调度车辆作为所述待调度车辆组,其中,所述第一待调度车辆为各所述车辆中,除所述待调度车辆外的车辆。
在其中一个实施例中,所述第五确定模块,还用于:
确定所述子图的中心坐标,并根据所述中心坐标和预设距离构建候补区域;
将所述车辆坐标位于所述候补区域内的所述第一待调度车辆,作为第二候补车辆,并分别确定各所述第二候补车辆的所述车辆坐标与所述中心坐标之间的中心距离;
根据所述中心距离对各所述第二候补车辆由小至大进行排序,获得候补车辆队列;
将排列在所述候补车辆队列前所述候补车辆数量位置的所述第二候补车辆,作为所述第一候补车辆。
在其中一个实施例中,所述装置还包括:
分割模块,用于在存在目标子图的情况下,将所述目标子图分割为至少两个子图,以使得各所述子图对应的所述车辆数量小于或者等于第二数量阈值,其中,所述目标子图对应的所述车辆数量大于所述第二数量阈值。
在其中一个实施例中,所述分割模块,还用于:
从所述目标子图中确定单次调度数量个第三目标顶点,并根据各所述第三目标顶点构建第一候选子图,所述单次调度数量小于或者等于所述第二数量阈值,各所述第三目标顶点之间存在直接或者间接的连接关系;
将各所述第三目标顶点从所述目标子图中删除,重新根据所述目标子图中各顶点之间的连接边,从所述目标子图中确定至少一个第二候选子图;
确定各所述第二候选子图中离散子图的子图数量,所述离散子图是对应的所述车辆数量小于所述第一数量阈值的子图;
在所述子图数量小于或者等于预设子图数量的情况下,将所述第一候选子图和各所述第二候选子图分别作为子图;或者,
在所述子图数量大于所述预设子图数量的情况下,将各所述第三目标顶点添加回所述目标子图中,并跳转至从所述目标子图中确定单次调度数量个第三目标顶点,并将各所述第三目标顶点作为第一候选子图的步骤。
在其中一个实施例中,所述分割模块,还用于:
记录所述子图数量与所述第一候选子图、所述第二候选子图之间的对应关系;
在构建所述第一候选子图的次数达到次数阈值的情况下,将各所述子图数量中最小的所述子图数量,对应的所述第一候选子图及所述第二候选子图分别作为子图。
上述车辆聚类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种车辆聚类方法。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种车辆聚类方法,其特征在于,所述方法包括:
获取各待调度车辆的车辆坐标;
根据各所述车辆坐标,确定任意两个所述待调度车辆之间的车辆距离,并基于所述车辆距离,从各所述待调度车辆中确定目标车辆对;
在无向图中构建各所述待调度车辆对应的顶点,并在各所述目标车辆对中两个所述待调度车辆对应的所述顶点之间构建连接边;
从所述无向图中确定至少两个子图,并确定各所述子图中对应的所述待调度车辆的车辆数量,其中,任意两个所述子图之间不存在连接边;
针对任一所述子图,在所述子图对应的所述车辆数量大于或者等于第一数量阈值的情况下,将所述子图对应的各所述待调度车辆作为待调度车辆组。
2.根据权利要求1所述的方法,其特征在于,所述从所述无向图中确定至少两个子图,包括:
从所述无向图的各顶点中,选取第一目标顶点,建立所述第一目标顶点对应的子图,将所述第一目标顶点添加至所述子图中,并将所述第一目标顶点从所述无向图中删除;
获取与所述第一目标顶点之间存在连接边的各第二目标顶点,将各所述第二目标顶点添加至所述子图中,并将各所述第二目标顶点从所述无向图中删除;
针对任一所述第二目标顶点,将所述第二目标顶点作为第一目标顶点,并跳转至获取与所述第一目标顶点之间存在连接边的各第二目标顶点,并将各所述第二目标顶点添加至所述子图中的步骤,直至不存在所述第二目标顶点为止;
跳转至从所述无向图的各顶点中,选取第一目标顶点的步骤,直至所述无向图中不存在所述顶点为止。
3.根据权利要求1所述的方法,其特征在于,所述获取各待调度车辆的车辆坐标之前,所述方法还包括:
获取调度区域内全部车辆的停放时长;
基于各所述车辆的停放时长,按照调度策略从全部所述车辆中确定待调度车辆。
4.根据权利要求3所述的方法,其特征在于,所述确定各所述子图对应的所述待调度车辆的车辆数量之后,所述方法还包括:
针对任一所述子图,在所述子图对应的所述车辆数量小于所述第一数量阈值的情况下,根据所述第一数量阈值和所述车辆数量,确定候补车辆数量;
在所述候补车辆数量小于或者等于所述车辆数量的情况下,从各第一待调度车辆中,确定所述候补车辆数量个第一候补车辆,并将所述第一候补车辆,及所述子图对应的所述待调度车辆作为所述待调度车辆组,其中,所述第一待调度车辆为各所述车辆中,除所述待调度车辆外的车辆。
5.根据权利要求4所述的方法,其特征在于,所述从各第一待调度车辆中,确定所述候补车辆数量个第一候补车辆,包括:
确定所述子图的中心坐标,并根据所述中心坐标和预设距离构建候补区域;
将所述车辆坐标位于所述候补区域内的所述第一待调度车辆,作为第二候补车辆,并分别确定各所述第二候补车辆的所述车辆坐标与所述中心坐标之间的中心距离;
根据所述中心距离对各所述第二候补车辆由小至大进行排序,获得候补车辆队列;
将排列在所述候补车辆队列前所述候补车辆数量位置的所述第二候补车辆,作为所述第一候补车辆。
6.根据权利要求1所述的方法,其特征在于,所述确定各所述子图对应的所述待调度车辆的车辆数量之后,所述方法还包括:
在存在目标子图的情况下,将所述目标子图分割为至少两个子图,以使得各所述子图对应的所述车辆数量小于或者等于第二数量阈值,其中,所述目标子图对应的所述车辆数量大于所述第二数量阈值。
7.根据权利要求6所述的方法,其特征在于,所述将所述目标子图分割为至少两个子图,包括:
从所述目标子图中确定单次调度数量个第三目标顶点,并根据各所述第三目标顶点构建第一候选子图,所述单次调度数量小于或者等于所述第二数量阈值,各所述第三目标顶点之间存在直接或者间接的连接关系;
将各所述第三目标顶点从所述目标子图中删除,重新根据所述目标子图中各顶点之间的连接边,从所述目标子图中确定至少一个第二候选子图;
确定各所述第二候选子图中离散子图的子图数量,所述离散子图是对应的所述车辆数量小于所述第一数量阈值的子图;
在所述子图数量小于或者等于预设子图数量的情况下,将所述第一候选子图和各所述第二候选子图分别作为子图;或者,
在所述子图数量大于所述预设子图数量的情况下,将各所述第三目标顶点添加回所述目标子图中,并跳转至从所述目标子图中确定单次调度数量个第三目标顶点,并将各所述第三目标顶点作为第一候选子图的步骤。
8.根据权利要求7所述的方法,其特征在于,在所述子图数量大于所述预设子图数量的情况下,所述方法还包括:
记录所述子图数量与所述第一候选子图、所述第二候选子图之间的对应关系;
在构建所述第一候选子图的次数达到次数阈值的情况下,将各所述子图数量中最小的所述子图数量,对应的所述第一候选子图及所述第二候选子图分别作为子图。
9.一种车辆聚类装置,其特征在于,所述装置包括:
第一获取模块,用于获取各待调度车辆的车辆坐标;
第一确定模块,用于根据各所述车辆坐标,确定任意两个所述待调度车辆之间的车辆距离,并基于所述车辆距离,从各所述待调度车辆中确定目标车辆对;
构建模块,用于在无向图中构建各所述待调度车辆对应的顶点,并在各所述目标车辆对中两个所述待调度车辆对应的所述顶点之间构建连接边;
第二确定模块,用于从所述无向图中确定至少两个子图,并确定各所述子图中对应的所述待调度车辆的车辆数量,其中,任意两个所述子图之间不存在连接边;
处理模块,用于针对任一所述子图,在所述子图对应的所述车辆数量大于或者等于第一数量阈值的情况下,将所述子图对应的各所述待调度车辆作为待调度车辆组。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310455962.5A CN116186571B (zh) | 2023-04-25 | 2023-04-25 | 车辆聚类方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310455962.5A CN116186571B (zh) | 2023-04-25 | 2023-04-25 | 车辆聚类方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116186571A true CN116186571A (zh) | 2023-05-30 |
CN116186571B CN116186571B (zh) | 2023-07-07 |
Family
ID=86449310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310455962.5A Active CN116186571B (zh) | 2023-04-25 | 2023-04-25 | 车辆聚类方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116186571B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290741A (zh) * | 2023-11-14 | 2023-12-26 | 北京阿帕科蓝科技有限公司 | 车辆聚类方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107730876A (zh) * | 2017-10-21 | 2018-02-23 | 淮阴工学院 | 一种城市共享单车关键调度点数量和位置确定方法 |
CN110852499A (zh) * | 2019-10-31 | 2020-02-28 | 北京摩拜科技有限公司 | 回收故障车辆的方法和装置 |
US20200173808A1 (en) * | 2018-11-30 | 2020-06-04 | Here Global B.V. | Methods and systems for providing recommendations for parking of vehicles |
CN112907103A (zh) * | 2021-03-09 | 2021-06-04 | 北京邮电大学 | 一种共享单车动态供需平衡的方法 |
CN115860441A (zh) * | 2023-02-23 | 2023-03-28 | 北京阿帕科蓝科技有限公司 | 工单信息的生成方法、装置、计算机设备 |
CN115909708A (zh) * | 2022-10-26 | 2023-04-04 | 北京筑梦园科技有限公司 | 一种共享车辆超停管理方法、系统及装置 |
CN115936240A (zh) * | 2022-12-23 | 2023-04-07 | 暨南大学 | 共享单车需求预测与投放调度方法 |
CN115936409A (zh) * | 2023-02-27 | 2023-04-07 | 北京阿帕科蓝科技有限公司 | 工单信息的生成方法、装置、计算机设备 |
-
2023
- 2023-04-25 CN CN202310455962.5A patent/CN116186571B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107730876A (zh) * | 2017-10-21 | 2018-02-23 | 淮阴工学院 | 一种城市共享单车关键调度点数量和位置确定方法 |
US20200173808A1 (en) * | 2018-11-30 | 2020-06-04 | Here Global B.V. | Methods and systems for providing recommendations for parking of vehicles |
CN110852499A (zh) * | 2019-10-31 | 2020-02-28 | 北京摩拜科技有限公司 | 回收故障车辆的方法和装置 |
CN112907103A (zh) * | 2021-03-09 | 2021-06-04 | 北京邮电大学 | 一种共享单车动态供需平衡的方法 |
CN115909708A (zh) * | 2022-10-26 | 2023-04-04 | 北京筑梦园科技有限公司 | 一种共享车辆超停管理方法、系统及装置 |
CN115936240A (zh) * | 2022-12-23 | 2023-04-07 | 暨南大学 | 共享单车需求预测与投放调度方法 |
CN115860441A (zh) * | 2023-02-23 | 2023-03-28 | 北京阿帕科蓝科技有限公司 | 工单信息的生成方法、装置、计算机设备 |
CN115936409A (zh) * | 2023-02-27 | 2023-04-07 | 北京阿帕科蓝科技有限公司 | 工单信息的生成方法、装置、计算机设备 |
Non-Patent Citations (1)
Title |
---|
常山 等: "共享单车故障车辆回收模型", 吉林大学学报(工学版), vol. 48, no. 06, pages 1677 - 1684 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290741A (zh) * | 2023-11-14 | 2023-12-26 | 北京阿帕科蓝科技有限公司 | 车辆聚类方法、装置、计算机设备和存储介质 |
CN117290741B (zh) * | 2023-11-14 | 2024-03-19 | 北京阿帕科蓝科技有限公司 | 车辆聚类方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116186571B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130151535A1 (en) | Distributed indexing of data | |
CN106709503B (zh) | 一种基于密度的大型空间数据聚类算法k-dbscan | |
CN116186571B (zh) | 车辆聚类方法、装置、计算机设备及存储介质 | |
CN114399227A (zh) | 一种基于数字孪生的生产调度方法、装置及计算机设备 | |
CN116310656B (zh) | 训练样本确定方法、装置和计算机设备 | |
CN105205052A (zh) | 一种数据挖掘方法及装置 | |
CN110705606A (zh) | 一种基于Spark分布式内存计算的空间K均值聚类方法 | |
CN113722415B (zh) | 点云数据的处理方法、装置、电子设备及存储介质 | |
CN112328880A (zh) | 地理区域聚类方法、装置、存储介质和电子设备 | |
CN116611678B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN116934056A (zh) | 车辆调度方法、装置、计算机设备和存储介质 | |
CN117493920A (zh) | 一种数据分类方法及装置 | |
CN115130791B (zh) | 面向车载智能机场的无人机与车辆协同调度方法及装置 | |
CN113449052A (zh) | 空间索引的建立方法、空间区域查询方法及装置 | |
CN110275895A (zh) | 一种缺失交通数据的填充设备、装置及方法 | |
KR101235506B1 (ko) | 초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치 | |
CN113065035A (zh) | 一种单机核外属性图计算方法 | |
CN112765292A (zh) | 一种使用瓦片技术处理shp数据的方法 | |
CN117290741B (zh) | 车辆聚类方法、装置、计算机设备和存储介质 | |
CN116227585B (zh) | 集群任务的并行执行方法、装置、计算机设备和存储介质 | |
CN111427892B (zh) | 一种活动目标的活动数据区块化管理方法及设备 | |
CN117892764A (zh) | 图神经网络生成方法、装置、计算机设备、介质和产品 | |
CN114491307B (zh) | 一种设备聚合方法及装置 | |
US20230297735A1 (en) | Apparatus and method of generating context-customized digital twin | |
CN111709593B (zh) | 一种基于弱空间约束的空间资源优化分配方法 |
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 |