CN116362409A - 一种发现和跟踪共享移动服务趋势的方法及系统 - Google Patents
一种发现和跟踪共享移动服务趋势的方法及系统 Download PDFInfo
- Publication number
- CN116362409A CN116362409A CN202310399321.2A CN202310399321A CN116362409A CN 116362409 A CN116362409 A CN 116362409A CN 202310399321 A CN202310399321 A CN 202310399321A CN 116362409 A CN116362409 A CN 116362409A
- Authority
- CN
- China
- Prior art keywords
- task
- trend
- tree
- node
- tasks
- 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 58
- 238000012545 processing Methods 0.000 claims description 25
- 238000005457 optimization Methods 0.000 claims description 12
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000008685 targeting Effects 0.000 claims 1
- 238000002474 experimental method Methods 0.000 description 9
- 230000001174 ascending effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000011160 research Methods 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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Economics (AREA)
- Radar, Positioning & Navigation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种发现和跟踪共享移动服务趋势的方法,该方法包括以下步骤:收集目标任务和司机的信息;搭建发现和跟踪共享移动服务趋势的系统;基于当前某个时间段的批内所有任务,构建层次良分离树;基于任务集合和层次良分离树,构建趋势树;遍历处理每个任务;对当前处理的任务,如果其没有被服务,找到与其最近的司机,在上一步构建的趋势树中找到该司机能接受的包含该任务的最大的趋势节点;为该司机规划能配送节点内所有任务的新的导航路线;更新趋势树,获得的趋势节点内所有任务在趋势树中对应的节点和子节点;重复上述步骤,直至处理完所有任务。本发明还公开了一种实现上述方法的系统。
Description
技术领域
本发明属于空间众包技术在共享交通领域的应用,涉及一种发现和跟踪共享移动服务趋势的方法及系统。
背景技术
无处不在的智能设备和先进的导航系统协同为我们提供了大量的空间数据﹐并因此催生了各种基于共享移动的现代应用﹐如拼车、食品配送等等。共享移动平台作为司机和任务之间的管理者,利用他们的时空数据来决定如何将任务分配给工人,并为每个司机实时规划合适的路线﹐以优化特定目标。这是共享移动中的核心部分,已被广泛研究。
共享移动主要的目标有(1)尽量减少司机的旅行时间。(2)尽量减少任务的总迟到时间。(3)最大限度地提高服务任务的数量。(4)最大化平台的总收入。这些目标大多数都有最后限期的约束,对于无法按时完成的任务会被拒绝服务。然而,在现实世界中,我们希望能容忍一些迟到时间,而不是完全拒绝。例如,在食品配送应用中,用户提交给平台的每个任务都会被服务,平台会预计任务的送达时间。但很多情况下,由于天气、交通、需求等因素,实际送达时间会有迟到。在实际中,希望在保证完成所有任务的情况下,最小化总共的任务迟到时间。
现有的技术,如PruneGDP(发表在2018年会议VLDB上),采取一种名为“插入(Insertion)”的操作,将新到达系统的任务插入到司机原有的导航路径中。该技术贪心地选择插入所带来的旅行时间增量最小的司机的导航路径作为插入目标。该技术提出了一种名为“统一开销(Unified Cost)”的函数作为系统的优化目标,其能统一最小化总共旅行时间、最大化服务率和最大化平台总收益这些优化目标到一个范式中。另一种方法,名为FESI(发表在2019年会议VLDB上),引入旅行预算来约束司机的最长旅行时间。最初,旅行预算被设置为一个小的常数,并在之后的每次迭代中,都加倍旅行预算来使更多的任务能被分配给司机。在每个旅行预算下,为司机规划任务的路线,并添加到现有的导航路径中。该技术的主要优化目标是最长的司机总旅行时间。
前述两种技术具有优化目标问题和任务空间特性的问题。前述现有技术的方法中都允许无法被按时完成的任务被拒绝,以达到其他的优化目标最优。而在实际生活中,如外卖场景,任务是不可拒绝的。在这种情况下,完成所有任务会造成一定的迟到。此外,前述两种技术都没有考虑到在实际生活中,任务有显著的空间特性。例如在上班高峰期,拼车任务大多是从郊区到市区等等。
发明内容
本发明基于现实生活中任务具有显著空间特性的特点,本发明提出了趋势的概念来表示任务之间的可共享性。例如取货和交互地点相近的任务被认为高概率具有相同的趋势,本发明使用了层次良分离树对任务的取货和交货进行聚类,并依据此提出了趋势和趋势树概念,并基于趋势树提出了一种发现和跟踪共享移动服务趋势的方法及系统。
为了解决前述提到的现有技术中的优化目标问题和任务空间特性的问题,本发明将完成所有任务所造成的总的迟到时间作为核心的优化目标,来提高任务提交者的体验。本发明利用任务的显著空间特性,对任务进行高效的打包并对导航路径进行规划。
具体地,
不同的配送任务可能有重合的路段需要行驶,这是共享移动的经济效益来源。在以往的研究和技术应用中,关键点在于如何给司机分配一段导航路径,使得司机能以最低的开销服务更多的任务。最优情况是,许多任务共享一段非常长的路段,同时彼此起点和终点又比较相近。这种情况下司机只需要依次在每个任务的起点接到它们,再行驶这一段共享的路段,最终再依次到达终点送达。本发明利用这种顺路的特性,提出“趋势”和“趋势树”的概念。本发明首先将任务按批划分,为每一批任务构建趋势树,并基于趋势树贪心地选择趋势最大的任务组并给其分配工人,直到所有任务都被完成。
本发明提出的具体步骤包括如下:
步骤(1)、收集目标任务和司机的信息。
步骤(2)、搭建发现和跟踪共享移动服务趋势系统,该系统进一步可以包括批任务处理模块、层次良分离树模块、趋势树模块、任务分派模块、司机导航规划模块。其中,批任务处理模块用于将任务按照发布时间,以固定的时间间隔分成若干批次;一般来说,时间间隔根据应用场景的新加入任务速度来选取,新加入任务的速度越快,选取的批的时间间隔越小;例如,对于任务更多的打车场景,所选取的批的时间间隔可在5秒到25秒之间;层次良分离树模块将任务的起点和终点,依据不同的距离来分层聚类;趋势树模块是将任务按照趋势组织成树;任务分派模块是用于决定哪些任务需要被打包到一起并分派;司机导航规划模块则是将打包到一起的任务分派给司机并规划导航路径。
步骤(3)、基于当前某个时间段的批内所有任务,构建层次良分离树。层次良分离树的内部节点包含若干位置点,每个节点内的位置点彼此之间的距离不超过给定的半径。
步骤(4)、基于任务集合和层次良分离树,构建趋势树。趋势树是包含趋势节点的树结构,其中,每个节点内有若干任务,属于同一个趋势。
步骤(5)、遍历处理每个任务。
步骤(6)、对当前处理的任务,如果其没有被服务,找到与其最近的司机。在步骤(4)中的趋势树中找到该司机能接受的包含该任务的最大的趋势节点。
步骤(7)、为步骤(6)中的司机,给定趋势节点,规划能配送节点内所有任务的新的导航路线。该路线满足趋势的定义,需要司机先到所有起点接到乘客,再到所有终点配送乘客。
步骤(8)、更新趋势树,去掉步骤(6)中获得的趋势节点内所有任务在趋势树中对应的节点和子节点。
步骤(9)、重复步骤(5)到步骤(8),直至处理完所有任务。
本发明中,所述步骤(1)的具体步骤包括:
步骤(1.1)、收集任务的信息,包括任务的发布时间戳、起点位置、终点位置、重量、预期送达时间。其中,任务需要在预期送达时间前,将包含一定重量的乘客和/或物品从起点位置派送到终点位置。其中,所述发布时间戳是指任务发布时的时间;预期送达时间是从上车位置到下车位置的最短花费时间的倍数。如果派送所花费的时间超出预期送达时间,产生的额外时间开销被称为迟到时间。
步骤(1.2)、收集司机的信息,包括司机的目前位置、目前的导航路线、容量。其中,司机需要跟随目前的导航路线,来接送任务。司机的座驾有一定的容量限制,其在一段路径中最多服务的任务的总重量不能超过座驾的容量。
本发明中,所述步骤(2)的具体步骤包括:
步骤(2.1)、搭建批任务处理模块。该模块是将用户发布的任务,根据其发布时间,按照一定的时间间隔分成若干批。对每一批的任务单独进行处理。同时,对批内的任务,按照其预计送达时间升序排序。在后续步骤中,需要贪心地依次处理最早预计送达时间的任务,来保证这些更紧急的任务有更高的优先级,以此来减少总共的迟到时间。
步骤(2.2)、搭建层次良分离树模块。层次良分离树是用于为任务集中每个任务的起点和终点进行聚类,其中不超过某个阈值(阈值的设置可以根据实际需求进行)的位置点会被聚类到树中同一个节点中,构建的树状结构。其中,层次良分离树的每一个节点内包含若干个位置,从根节点到叶子节点,用于聚类到节点的阈值依层次减小。该模块是将输入的用户任务包含的所有起点和终点构造出层次良分离树。
步骤(2.3)、搭建趋势树模块。趋势是指一组任务可以被分配给一个司机,并且最优的导航路径是先接到每个任务,然后再行驶一段公共的路径,最后依次派送每个任务。趋势树是在层次良分离树的基础上构建的,其中每个节点内包含一个趋势。趋势有阈值可以衡量趋势的大小。越大的阈值代表趋势内的任务有更强的相似性。另外,趋势树中的每个子节点的趋势包含的任务都属于父节点。所以当删除一个父节点后,需要将其所有的子节点都同时删去。该模块是将输入的用户任务和层次良分离树模型构造出趋势树,并提供趋势树的实时更新。
步骤(2.4)、搭建任务分派模块。该模块需要基于趋势树,确定哪些任务需要被打包在一起并分派;一般来说,趋势树中同一个节点下的任务会被打包在一起,在决策时,会选取任务所在的效益最高的节点作为最终的打包方案。具体地,在分派时首先将待处理的任务按照其预计送达时间升序排序,按照排序对每个任务依次处理。对每个处理的任务,选取其在趋势树中有最大趋势的节点内的所有任务进行打包。在处理完这些任务后,将他们所在的其他趋势节点内的位置点删除。
步骤(2.5)、搭建司机导航规划模块。该模块需要在给定趋势下,为司机规划能够以最小开销来服务趋势内所有任务的导航路线。在规划时,利用趋势的空间特性,趋势树中同一个趋势节点内的所有任务,其起点彼此靠近,终点也彼此靠近。因此可以规划这样的路径:首先司机按照顺序依次到达起点接到所有的乘客和/或物品,再前往终点依次送达。在这个模式下,司机的导航路线可以被明显划分为三个部分:首先是在起点区域接到所有起点的乘客和/或物品,然后前往最近的终点所在位置,最后依次在每个终点送达。
本发明中,所述步骤(3)的具体步骤包括:
步骤(3.1)、令当前批内所有任务集T的大小为n,则一共有2n个司机需要到达的起点或终点位置构成集合P。采样一个包含所有位置点的排列π,从区间[0.5,1)采样一个参数β。其中,参数β用于约束聚类的半径,可根据需要取值。取值越大,则聚类所需的半径越高、对应层次良分离树的高度越小、树中每一层聚类的粒度越大。取所有位置点中彼此距离最大的一对,令其距离为Δ,令为层次良分离树的高度。则Δ是能包含所有在P中的点的最小圆的直径。
步骤(3.2)、层次良分离树中的每一层有若干节点,节点内包含若干属于P的位置点。树中在相同层次的节点是互不相交的,并且所有节点的并集囊括了P中的所有点。初始情况,令NSi表示在树的i层的一系列节点的集合,则NSH的元素只有包含P的节点,是树的根节点。树的每一层有半径ri,表示该层的所有节点内的位置点,彼此之间的距离不会超过这个半径。令根节点的半径rH=2H*β。
步骤(3.3)、从树的H-1层开始到第0层向下,每一层依次处理。更新当前层的半径即每一层子节点的半径是父节点半径的一半。在这样的半径设置下,树的最顶层的半径最大,对应是以最粗的粒度来对所有位置点进行聚类;按照层次依次向下,聚类半径变小,对应聚类的粒度变细。对每个上一层次的节点N∈NSi-1依次处理。对每个属于N的位置点j将其作为中心点,创建一个新的节点N',并将所有N中其他离位置点j距离不超过ri的位置点以及位置点j都放入这个新的节点,并从N中删除。注意,即使节点已经从N中删除了,也可以作为中心点。这一步是将N中的所有位置点,按照当前层的半径分配给了若干子节点,其中每个子节点内的位置点彼此的距离都不超过半径。在处理完当前层后,进入下一层,直至所有层都处理完毕。
步骤(3.4)、返回构建好的层次良分离树hst,其中,树的每个层次内的节点,其包含的位置点彼此之间的距离不会超过当前层的半径。也就是说,层次良分离树完成了对给定任务集下所有位置点的分层聚类。
本发明中,所述步骤(4)的具体步骤包括:
步骤(4.1)、构造趋势树的根节点TDSH={{T}}。本发明中使用TDSi来代表每一层的节点集合。
步骤(4.2)、对输入的层次良分离树hst的H-1层开始到第0层向下,每一层依次按照步骤(4.2)-步骤(4.4)开始处理。首先创建一个初始状态没有词条的空表(map),后续插入的表的每个词条的键是由层次良分离树中任意两个节点(两个节点属于同一层或者不同层均可)的编号(id)构成的二元组,词条的值是由任务构成的集合。例如,对于键值为<1,2>的词条,其值可以为任务集合{t1,t2},代表这两个任务的起点和终点分别被包含在hst的id为1和2的节点中;
步骤(4.3)、处理当前层,对批内任务集T的每个任务tj依次处理,令idp为在层次良分离树hst第i层内包含任务tj的起点位置点的节点id,令idd为在hst第i层内包含任务tj的终止位置点的节点id。在表中查询键值为<idp,idd>的词条,向词条的值所对应的集合中添加tj。重复操作,直到处理完所有任务。
步骤(4.4)、处理当前层,遍历表中所有的词条,每个词条对应一个趋势树中的节点,将其值所对应的集合内所有任务构造成一个新的趋势树节点,加入到TDSi中。因为符合趋势的节点内所有任务一定满足最优的导航路线是先行驶到每个起点接到所有乘客,然后再行驶一段共享路径,最后再到终止节点派送每个乘客。则这个路径包含了一些内部边用于连接起点和起点,终点和终点。中间的共享路径是外部边,用于连接一个起点和一个终点。令dinter表示外部边,dinner表示内部边。则可以计算当前节点的趋势阈值thld(node)。若当前节点内的位置节点只有一个,则thld(node)=1。若位置节点大于一个,则 如果有趋势树中的节点的阈值大于1,则该节点包含的任务满足趋势。
步骤(4.5)、重复步骤(4.2)到步骤(4.4)直至所有层都处理完毕,返回所构造的趋势树tdTree。
本发明中,所述步骤(6)的具体步骤包括:
步骤(6.1)、对当前处理的任务tj,如果其没有被服务,找到最近的司机wj。这里最近的司机是指,从其原有的导航的最后一个位置开始,能最早完成tj的司机。因此能更早完成原有导航,并且能接到tj的司机会有更高概率被选中。
步骤(6.2)、从tdTree的包含tj的叶子节点开始向上查询,找到wj的容量能容纳的最大趋势阈值的节点。
本发明中,所述步骤(7)的具体步骤包括:
步骤(7.1)、给定当前节点内的任务集T和司机w。对T中所有的起点,使用Christofides算法找到一个哈密尔顿环cyclep。该算法是已经被广泛应用的启发式算法,能根据输入的图输出近似最优(开销最小)的哈密尔顿环路。哈密尔顿环路,是图中从指定的起点出发,访问其他所有节点并仅经过一次,最终回到起点的路径。对T中所有的终点,使用Christofides算法找到一个哈密尔顿环cycled。初始化变量cost为无限大,用于记录当前的最小增加的旅行时间。初始化导航四元组(sp,tp,sd,td)用于记录最早和最后到达的起点sp,tp,和最早和最后到达的终点sd,td。
步骤(7.2)、遍历cyclep的每一条边ep,该边连接两个起点为p1,p2。
步骤(7.3)、遍历cycled的每一条边ed,该边连接两个终点为d1,d2。令minp1=min(d(p1,d1),d(p1,d2)),令minp2=min(d(p2,d1),d(p2,d2))。其中d是计算两个点距离的函数,可以采取欧氏距离计算或最短路径距离计算等。
步骤(7.4)、d(w,pi)表示司机w与起点pi的距离,如果有d(w,p1)+minp2>d(w,p2)+minp1,令δ=d(w,p2)+minp1-wei(ep)-wei(ed)是增的旅行时间。其中wei返回的是边的权重,也就是旅行时间。如果有δ<cost,则令cost=δ,说明找到了一个更小的解。在这个解中,如果有d(p1,d1)<d(p1,d2),则最优解为(sp,tp,sd,td)=(p2,p1,d1,d2);否则最优解为(sp,tp,sd,td)=(p2,p1,d2,d1)。如有δ>cost,说明当前步骤找到的路径不比最优的更好,则跳过该步骤。
步骤(7.5)、与步骤(7.4)相反,如果有d(w,p1)+minp2≤d(w,p2)+minp1,令δ=d(w,p1)+minp2-wei(ep)-wei(ed)是增加的旅行时间。如果有δ<cost,则令cost=δ,说明找到了一个更小的解。在这个解中,如果有d(p2,d1)<d(p2,d2),则最优解为(sp,tp,sd,td)=(p1,p2,d1,d2);否则最优解为(sp,tp,sd,td)=(p1,p2,d2,d1)。如有δ>cost,说明当前步骤找到的路径不比最优的更好,则跳过该步骤。
步骤(7.6)、重复前述步骤(7.2)到步骤(7.5),遍历每个组合,找到cost最小的情况对应的导航四元组(sp,tp,sd,td)。最终的导航方案即为S={sp,…,tp,sd,…,td},其中,省略的部分是在步骤(7.1)中得到的环路,即cyclep={sp,…tp},cycled={sd,…td}。返回该导航方案。
本发明中,所述步骤(8)的具体步骤包括:
对趋势节点td内的每个任务t,递归删除td中,以及td的父节点和子节点中包含t的部分。直到完成所有任务t的删除。
本发明的有益效果包括:本发明利用了任务的空间特性,将多个任务存在的相似的趋势纳入考虑。趋势更大的任务集内的任务起点和终点都彼此靠近,有更高概率共享一段长的公共路径。在选择共享的任务集时,在规划司机的导航时都可以利用趋势的特性来做决策。
本方法使用基于层次良分离树构建的趋势树来维护任务之间的趋势关系。在此基础上,使用贪心的方法根据预计送达时间的从小到大为每个任务寻找产生最明显趋势的任务集,并为其分派最近的司机服务。趋势的特性使得本方法能够快速地为司机规划导航,并且能保证完成所有任务造成的总迟到时间更小。
本方法可以广泛应用于共享移动领域,可以提高完成所有任务造成的迟到时间。并且,本发明所述方法能够保证完成系统接受到的所有任务,这是之前的一些技术无法完成的,因为它们大多需要通过拒绝难以完成的任务来保证收益。在这种情况下,在真实的数据集上的实验也表明,本发明不仅在总迟到时间这一核心优化目标上达到最优,并且在其他目标优化目标如总延迟时间也达到最优或次优。
附图说明
图1为本发明的发现和跟踪共享移动服务趋势系统的结构与流程图。
图2为本发明的实施例示意图,其中,图2A为6个任务和2个司机任务集示意图,图2B为实施例构建的层次良分离树示意图,图2C为实施例构建的趋势树示例图。
图3为本发明方法和现有方法的实验结果比较图。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明按照发布时间升序排序订单,并将其根据固定的时间间隔划分为若干批次;对每个批次依次处理,批内将订单按照期望送达时间升序排列;根据批内的订单数据构建层次良分离树;根据构建的层次良分离树和批内订单构建趋势树;利用趋势树,为每个订单匹配拼车对象和司机;对前述步骤获得的司机规划路线以服务拼好的若干任务;更新趋势树,去掉已经被服务的任务对应的相关节点。本方法通过引入了趋势树,来分析任务隐含的空间特性。利用趋势树,可以快速找到质量更高的任务组合,并为之分配司机派单。因为在趋势树中,趋势更大的节点,表示该节点内的任务其起点和终点更加接近。则在为司机安排导航时,可以令司机先到所有任务的起点,再到所有任务的终点来完成这些任务。由于它们有更高概率共享了一段较长的公共路径,这样的导航可以并保持总共的旅行时间较小。在每个批次内贪心地选择预期送达时间最早的任务和其对应的最大趋势内的其他任务进行打包,能有效减少完成所有任务所造成的迟到时间。
如图1所示,本发明提出的一种发现和跟踪共享移动服务趋势的系统,包括批任务处理模块、层次良分离树模块、趋势树模块、任务分派模块、司机导航规划模块。
其中批任务处理模块是将用户发布的任务,根据其发布时间,按照一定的时间间隔分成若干批。对每一批的任务单独进行处理。同时,对批内的任务,按照其预计送达时间升序排序。在后续步骤中,需要贪心地依次处理最早预计送达时间的任务,来保证这些更紧急的任务有更高的优先级,以此来减少总共的迟到时间。
层次良分离树模块是用于为任务的起点和终点进行聚类,构建树状结构。其中,树的每一个节点内包含若干个位置,这些位置彼此之间的距离不超过预先设定的一个阈值。从根节点到叶子节点,这个阈值依层次减小,即叶子节点中包含的位置彼此之间的距离相对更近。该模块是将输入的用户任务包含的所有起点和终点构造出层次良分离树。
所述层次良分离树是能将位置点集合,以不同的粒度进行聚类的树。其中,每一层的聚类粒度相同,从树顶到叶子节点,聚类粒度依次细化。树中的每个节点包含了一系列的位置点集合,其在下一层的子节点所包含的位置点集合是其包含的位置点集合的子集。树顶部的根节点的集合包含所有的位置点,底部的叶子节点的集合只包含一个位置点。如图2B所示,位于第四层(顶层)的根节点对应的集合为{p1,d1,…,p6,d6},聚类的粒度最粗,集合内的位置点的最大距离是树中所有节点最大的。其位于第三层的第一个子节点对应的集合为{p1,p2},聚类粒度也更细。
趋势树模块基于输入的用户任务和层次良分离树模型构造出趋势树,并提供趋势树的实时更新。趋势是指一组任务可以被分配给一个司机,并且最优的导航路径是先接到每个任务,然后再行驶一段公共的路径,最后依次派送每个任务。趋势树是在层次良分离树的基础上构建的。趋势树的树高和层次良分离树相同。构造时,对层次良分离树的每一层,遍历所有任务,找到每个任务的起点和终点所位于的该层的节点id。再依据此,找到起点和终点分别位于层次良分离树中同一个节点的这些任务,作为一个趋势,加入到趋势树中该层作为一个新的趋势节点。其中趋势树上的每个节点内包含一个趋势。趋势有阈值可以衡量趋势的大小。越大的阈值代表同一节点的趋势内的任务有更强的相似性。另外,趋势树中的每个子节点的趋势包含的任务都属于父节点。所以当删除一个父节点后,需要将其所有的子节点都同时删去。
搭建任务分派模块需要基于趋势树,确定哪些任务需要被打包在一起并分派,即处于同一个趋势节点内的任务可以被打包。
司机导航规划模块需要在给定趋势下,为司机规划能够以最小开销服务趋势内所有任务的导航路线。
实施例
具体地,本发明的发现和跟踪共享移动服务趋势的系统包括如下:
如图2所示,是一个本发明中系统的具体实现和工作流程的示例。
(1)批任务处理模块:
如图2A是一个包含6个任务和2个司机的示例,所使用的距离度量是欧氏距离。在这一个批内,任务集为t1,t2,…,t6,对任务ti,图例中有从其起点pi指向终点di的路径为原始路径,所有任务都发布在时间戳0,并且期望的送达时间分别是[11,10,6,7,9,10]。任务按照期望送达时间升序排序后顺序为[t3,t4,t5,t2,t6,t1]。司机有两个分别为w1,w2,在图中显示其位置坐标为(4,8),(8,0),其有最大容量都为3。
(2)层次良分离树模块:
如图2B是使用本例产生的层次良分离树。构造过程如下:
根据步骤(3.1),采样得到位置点的排列为π={p6,p5,d1,d2,d5,d6,p1,p2,p3,p4,d3,d4},β=0.5。在本实施例中,采取欧氏距离作为距离函数d的计算方法。取包含的六个任务中,彼此距离最大的两个位置点分别为d1和p6,则可以计算在这个集合下的直径为Δ=因此层次良分离树的高度为/>初始半径为rH=2H*β=8。
根据步骤(3.2)和步骤(3.3),首先从第四层(level4)到第三层(level3)开始处理,更新该层次的半径为遍历排列π,选出中心位置点,并构造子节点。首先选取的是p6作为中心点,与其距离小于半径r3的有p5,将这两个位置点聚为一类。接着,选择p5,没有新的节点可以被创造,所以跳过。接着选择d1,其可以和d2聚为一类。虽然p3到d1的距离刚好为4,但所述聚类规则要求严格小于4,所以其不被加入这个聚类中。接着,选取d2作为中心点,虽然其已经被包含到了另一个节点中,但仍然可以作为中心点创造新的子节点包含p3,p4,d3,d4。最后,当遍历到p1时,将p2加入聚类中。此时,所有位置点都被分配到了某一个聚类中,该层的聚类过程结束。注意,在该步骤中,遍历中心点是依据排列π中的顺序,而每次聚类生成子节点后,会将子节点中的所有位置点从父节点中删除,但删除后的节点仍然可以再下一次遍历中心点时作为新的中心点,而不可以被包含到新的子节点中。例如,在前述过程中选取d2作为中心点时,d1和d2都已经被分配到了之前的子节点中,所以不被加入到p3,p4,d3,d4所在的子节点中。
(3)趋势树模块:
如图2C是使用本例产生的趋势树。构造过程如下:
根据步骤(4.1)到步骤(4.3),基于输入的层次良分离树hst构造表。以hst的第三层(level3)为例,设节点id从左到右分别为[1,2,3,4,5]。则任务t1到t6的键分别为<1,2>,<1,2>,<3,3>,<3,3>,<5,4>,<5,4>。则最终的划分的任务组是{t1,t2},{t3,t4},{t5,t6}。
按照步骤(4.4),为节点计算趋势阈值,以趋势树的三层第一个节点{t1,t2}为例。因此,有趋势阈值为/>因此,这个节点是一个趋势。对于第三层的最后一个节点也是一个趋势,因为其趋势阈值≥1.0。然而,第三层的中间节点并不是,因为其趋势阈值是负数。
根据步骤(4.5)、重复步骤(4.2)到步骤(4.4)直至所有层都处理完毕,返回所构造的趋势树tdTree。
(4)任务分派和司机导航规划模块:
如图2A中,最终的任务打包结果是{t1,t2,t5,t6},{t3,t4},并由司机w2服务第一个任务集,司机w1服务第二个任务集。任务分派和司机路径规划流程如下:
根据步骤(6),选定目前需要被服务的任务是t3,其最接近的司机是w1,最大能容纳的趋势是在第三层的第二个节点。
根据步骤(7),为司机w1规划的新导航路线是[l1,p3,d3],其中,l1是司机w1的初始位置。司机的到达时间计算方法是司机从目前导航路线的第一个位置开始,依次前往路线的每个位置,直到到达目标位置的总时间。注意在这里使用欧式距离来计算位置点之间的距离,并且假设司机前进的速度是一个单位,即所计算出的距离在数值上等同于司机在这段路程上的时间开销。任务t3的预期送达时间是6,已经在步骤(1)中给出。接着,比较任务t3的实际到达时间和期望到达时间,因为w1会到达d3在时间所以该任务的迟到时间是0。
重复步骤(6)到步骤(7),选定目前需要被服务的任务是t4,司机w1和司机w2到达p4的时间分别是4.16+1=5.16和因此司机w1能更早接到该任务,尽管之前该司机有别的任务需要服务。所以把任务t4分配给司机w1并更新导航路线为[l1,p3,d3,p4,d4]。造成的迟到时间是/>
重复步骤(6)到步骤(7),选定目前需要被服务的任务是t5,其最接近的司机是w2,最大能容纳的趋势是在第三层的第三个节点。则可以给w2分配的导航路线为[l2,p6,p5,d5,d6],并且这两个任务t5和t6的迟到时间都是0。
重复步骤(6)到步骤(7),选定目前需要被服务的任务是t1,其最接近的司机是w2,最大能容纳的趋势是在第三层的第一个节点。则可以给w2更新导航路线为[l2,p6,p5,d5,d6,p2,p1,d2,d1],这两个任务的迟到时间都是7.09。
注意,在上述重复过程中,都需要依据步骤(8)更新趋势树。
至此,完成所有任务,造成总的迟到时间是15.5。
将上述方法应用到现实的城市共享拼车中,本方法在纽约市黄色和绿色出租车数据集上进行实验并能达到不错的效果。以2016年4月9日的数据集中的424635个打车任务作为任务数据。
实验设置变量和默认值有四个,分别为:设置的期望送达时间为(1+δ)倍于任务不采取拼车所需要的旅行时间,默认δ=2.0;将任务按照发布时间,默认每Δt=15秒一个批次做批处理;司机数量|W|默认为3000;订单数量|T|默认为300000。
实验的评价指标主要有三个,分别为:Total Tardiness总迟到时间,TotalTravel Time总的司机完成所有任务需要的旅行时间,Total Latency总的完成所有任务的延迟时间(等价于任务的总等待时间)。
实验对比的方法有三个,分别为:GDP,这种方法是采用了插入(insertion)的方法来贪心选择有最小插入时间的工人的导航路线,将当前任务的起点和终点插入到路线中。该方法在图3实验数据采用星形表示。FESI,使用了旅行预算来约束工人的最长旅行时间,在图3实验数据采取菱形表示。TBTARP,即本发明提出的方法,在图3实验数据采取圆形表示。
如图3(a)-(d),标签和纵坐标标注均为Total Tardiness,表示这四组实验评价指标均是总迟到时间。区别在于实验变量(横坐标标注)分别是任务数量|T|、司机数量|W|、批处理时间间隔Δt、期望送达时间参数δ。实验变量后标注的(NYC)说明该实验数据是基于前述纽约市出租车数据集上。可以发现,在这四组实验中,本发明所述方法TBTARP在变更四种参数的情况下,均能达到最低的总迟到时间。
如图3(e)-(h),标签和纵坐标标注均为Total Travel Time,表示这四组实验评价指标均是总旅行时间,实验变量与前述四组实验相同。在这四组实验中,本发明所述方法TBTARP在最小化总旅行时间上仅次于技术GDP。这是由于技术GDP是在该优化目标下的目前最好的技术,而本发明所述方法的核心优化目标并不是最小化总旅行时间。
如图3(i)-(l),标签和纵坐标标注均为Total Latency,表示这四组实验评价指标均是总延迟时间,实验变量与前述四组实验相同。在这四组实验中,本发明所述方法TBTARP在变更四种参数的情况下,均能达到最低的总延迟时间,尽管本发明的核心优化目标并不是最小化总延迟时间。
从图3中的实验结果可以看出,本方法通过贪心选择最早期望送达时间的任务进行分派,并基于趋势树为其分配拼车对象并规划司机导航,在Total Tardiness和TotalLatency两个指标上均为三种方法中最优,并且优势是指数级。在Total Travel Time指标上,虽然本方法与GDP仍有差距,但差距的比率不超过1.2,说明了本方法的优越性。
本发明的保护内容不局限于以上实施例。在不背离本发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (9)
1.一种发现和跟踪共享移动服务趋势的方法,其特征在于,所述方法以完成所有任务所造成的总迟到时间作为优化目标,包括以下步骤:
步骤(1)、收集目标任务和司机的信息;
步骤(2)、搭建发现和跟踪共享移动服务趋势的系统;
步骤(3)、基于当前某个时间段的批内所有任务,构建层次良分离树;
步骤(4)、基于任务集合和步骤(3)中构建获得的层次良分离树,构建趋势树;
步骤(5)、遍历处理每个任务;
步骤(6)、对当前处理的任务,如果其没有被服务,找到与其最近的司机,在步骤(4)中的趋势树中找到该司机能接受的包含该任务的最大的趋势节点;
步骤(7)、为步骤(6)中的司机,给定趋势节点,规划能配送节点内所有任务的新的导航路线;
步骤(8)、更新趋势树,去掉步骤(6)中获得的趋势节点内所有任务在趋势树中对应的节点和子节点;
步骤(9)、重复步骤(5)到步骤(8),直至处理完所有任务。
2.如权利要求1所述的方法,其特征在于,步骤(1)中,收集获得的目标任务和司机的信息包括任务的发布时间戳、起点位置、终点位置、重量、预期送达时间以及司机的目前位置、目前的导航路线、容量;其中,
所述任务是指需要在预期送达时间前,将包含一定重量的乘客和/或物品从起点位置派送到终点位置;
所述发布时间戳是指任务发布时的时间;
所述预期送达时间是从上车位置到下车位置的最短花费时间的倍数;
所述容量是指司机在一段路径中最多服务的任务的总重量,所述容量不能超过座驾的容量。
3.如权利要求1所述的方法,其特征在于,步骤(2)中,所述系统包括批任务处理模块、层次良分离树模块、趋势树模块、任务分派模块、司机导航规划模块;其中,
所述批任务处理模块用于将任务按照发布时间,以预设的固定时间间隔分成若干批次;
所述层次良分离树模块将任务的起点和终点,依据不同的距离来分层聚类;
所述趋势树模块是将任务按照趋势组织成树;
所述任务分派模块是用于决定哪些任务需要被打包到一起并分派;
所述司机导航规划模块则是将打包到一起的任务分派给司机并规划导航路径。
5.如权利要求1所述的方法,其特征在于,步骤(4)进一步包括如下步骤:
步骤4.1、构造趋势树的根节点TDSH={{T}},所述TDSi表示每一层的节点集合;
步骤4.2、基于输入的层次良分离树hst创建一个初始状态没有词条的空表;后续插入的表的每个词条的键是由hst树中任意两个节点的编号id构成的二元组,词条的值是由任务构成的集合;
步骤4.3、处理当前层,对任务集T的每个任务tj依次处理,令idp为在层次良分离树hst第i层内包含任务tj的起点位置点的节点id,令idd为在hst第i层内包含任务tj的终止位置点的节点id;在表中查询键值为<idp,idd>的词条,向词条的值所对应的集合中添加tj;重复操作,直到处理完所有任务;
步骤4.4、处理当前层,遍历表中所有词条,每个词条对应一个趋势树中的节点,计算当前节点趋势阈值thld(node);若当前节点内的位置节点只有一个,则thld(node)=1;若位置节点大于一个,则如果有趋势树中的节点的阈值大于1,则该节点包含的任务满足趋势;其中,dinter表示连接起点和起点或终点和终点的外部边,dinner表示连接起点和终点的内部边;
步骤4.5、重复步骤4.2-4.4,直至所有层都处理完毕,返回所构造的趋势树tdTree。
6.如权利要求1所述的方法,其特征在于,步骤(6)进一步包括如下步骤:
步骤6.1、对当前处理的任务tj,如果其没有被服务,找到最近的司机wj;所述最近的司机是指,从其原有的导航的最后一个位置开始,能最早完成tj的司机;
步骤6.2、从tdTree的包含tj的叶子节点开始向上查询,找到wj的容量能容纳的最大趋势阈值的节点。
7.如权利要求1所述的方法,其特征在于,步骤(7)进一步包括如下步骤:
步骤7.1、给定当前节点内的任务集T和司机w;初始化导航四元组(sp,tp,sd,td)用于记录最早和最后到达的起点sp,tp,和最早和最后到达的终点sd,td;对T中所有的起点和终点分别构建哈密尔顿环cyclep={sp,...tp}和[cycled={sd,...td};初始化变量cost为无限大,记录当前的最小增加的旅行时间;
步骤7.2、遍历cyclep的每一条边ep,该边连接两个起点为p1,p2;
步骤7.3、遍历cycled的每一条边ed,该边连接两个终点为d1,d2;计算minp1=min(d(p1,d1),d(p1,d2)),minp2=min(d(p2,d1),d(p2,d2));
步骤7.4、d(w,pi)表示司机w与起点pi的距离,当d(w,p1)+minp2>d(w,p2)+minp1,计算δ=d(w,p2)+minp1-wei(ep)-wei(ed)表示增加的旅行时间;当d(w,p1)+minp2≤d(w,p2)+minp1,计算δ=d(w,p1)+minp2-wei(ep)-wei(ed)表示增加的旅行时间;在这两种情况下,如果有δ<cost,则令cost=δ,说明找到了一个更优解;当d(w,p1)+minp2>d(w,p2)+minp1时,如果有d(p1,d1)<d(p1,d2),则最优解为(sp,tp,sd,td)=(p2,p1,d1,d2),否则最优解为(sp,tp,sd,td)=(p2,p1,d2,d1);当d(w,p1)+minp2≤d(w,p2)+minp1时,如果有d(p2,d1)<d(p2,d2),则最优解为(sp,tp,sd,td)=(p1,p2,d1,d2);否则最优解为(sp,tp,sd,td)=(p1,p2,d2,d1);
步骤7.5、重复步骤7.2-7.4,遍历每个组合,找到cost最小的情况对应的最优解导航四元组(sp,tp,sd,td);最终的导航方案即为S={sp,...,tp,sd,...,td}。
8.如权利要求1所述的方法,其特征在于,步骤(8)中,对趋势节点td内的每个任务t,递归删除td中,以及td的父节点和子节点中包含t的部分;直到完成所有任务t的删除。
9.一种实现如权利要求1-8之任一项所述方法的系统,其特征在于,所述系统包括批任务处理模块、层次良分离树模块、趋势树模块、任务分派模块、司机导航规划模块;其中,
所述批任务处理模块用于将任务按照发布时间,以固定的时间间隔分成若干批次;
所述层次良分离树模块将任务的起点和终点,依据不同的距离来分层聚类;
所述趋势树模块是将任务按照趋势组织成树;
所述任务分派模块是用于决定哪些任务需要被打包到一起并分派;
所述司机导航规划模块则是将打包到一起的任务分派给司机并规划导航路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310399321.2A CN116362409B (zh) | 2023-04-14 | 2023-04-14 | 一种发现和跟踪共享移动服务趋势的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310399321.2A CN116362409B (zh) | 2023-04-14 | 2023-04-14 | 一种发现和跟踪共享移动服务趋势的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116362409A true CN116362409A (zh) | 2023-06-30 |
CN116362409B CN116362409B (zh) | 2024-04-02 |
Family
ID=86938625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310399321.2A Active CN116362409B (zh) | 2023-04-14 | 2023-04-14 | 一种发现和跟踪共享移动服务趋势的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116362409B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280162A (zh) * | 2018-01-18 | 2018-07-13 | 中南大学 | 一种基于缓存的位置隐私保护方法 |
CN110400002A (zh) * | 2019-06-21 | 2019-11-01 | 中南大学 | 一种多星成像任务规划方法 |
CN113469416A (zh) * | 2021-06-08 | 2021-10-01 | 哈尔滨工业大学 | 一种派件任务规划方法及设备 |
WO2022237321A1 (zh) * | 2021-05-08 | 2022-11-17 | 珠海一微半导体股份有限公司 | 一种通行区域的路径融合规划方法、机器人及芯片 |
CN115409298A (zh) * | 2021-05-26 | 2022-11-29 | 华东师范大学 | 一种基于区域内订单供需关系的车辆派单方法及派单系统 |
-
2023
- 2023-04-14 CN CN202310399321.2A patent/CN116362409B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280162A (zh) * | 2018-01-18 | 2018-07-13 | 中南大学 | 一种基于缓存的位置隐私保护方法 |
CN110400002A (zh) * | 2019-06-21 | 2019-11-01 | 中南大学 | 一种多星成像任务规划方法 |
WO2022237321A1 (zh) * | 2021-05-08 | 2022-11-17 | 珠海一微半导体股份有限公司 | 一种通行区域的路径融合规划方法、机器人及芯片 |
CN115409298A (zh) * | 2021-05-26 | 2022-11-29 | 华东师范大学 | 一种基于区域内订单供需关系的车辆派单方法及派单系统 |
CN113469416A (zh) * | 2021-06-08 | 2021-10-01 | 哈尔滨工业大学 | 一种派件任务规划方法及设备 |
Non-Patent Citations (3)
Title |
---|
JIAMING SHEN等: ""HiExpan: Task-Guided Taxonomy Construction by Hierarchical Tree Expansion"", 《ARXIV》, 31 October 2019 (2019-10-31) * |
王静宇: ""云环境下的用户 - 角色分配优化算法"", 《微电子学与计算机》, vol. 35, no. 8, 31 August 2018 (2018-08-31) * |
高丽萍;戴?;高丽;: "一种范围性空间众包任务的在线分配优化研究", 小型微型计算机系统, no. 08, 15 August 2020 (2020-08-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN116362409B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pelzer et al. | A partition-based match making algorithm for dynamic ridesharing | |
Cheng et al. | Utility-aware ridesharing on road networks | |
Ichoua et al. | Diversion issues in real-time vehicle dispatching | |
Le-Anh et al. | A review of design and control of automated guided vehicle systems | |
US9068852B2 (en) | Vehicle fleet routing system | |
CN109034468A (zh) | 一种基于布谷鸟算法的带时间窗的物流配送路径规划方法 | |
Colorni et al. | Modeling and optimizing dynamic dial‐a‐ride problems | |
CN110533228B (zh) | 一种考虑旅客意愿的航班恢复方法 | |
CN114037180B (zh) | 一种基于分支定价切割算法的协同配送路径优化方法 | |
CN112488386B (zh) | 基于分布熵多目标粒子群的物流车辆配送规划方法及系统 | |
Al Chami et al. | A lexicographic approach for the bi-objective selective pickup and delivery problem with time windows and paired demands | |
CN113487220B (zh) | 面向静态目标观测的空天异构对地观测资源协同调度方法 | |
Engelhardt et al. | Speed-up heuristic for an on-demand ride-pooling algorithm | |
CN111860957B (zh) | 一种考虑二次配送和平衡用时的多车型车辆路径规划方法 | |
Hossein Nia Shavaki et al. | A rule-based heuristic algorithm for joint order batching and delivery planning of online retailers with multiple order pickers | |
CN115577833A (zh) | 应用于求解协同配送的路径规划的粒子群优化方法和系统 | |
CN116362409B (zh) | 一种发现和跟踪共享移动服务趋势的方法及系统 | |
CN112418550B (zh) | 一种物流行业中多种司机工作状态下的车货匹配方法 | |
Bojanowski et al. | Multi-runway aircraft sequencing at congested airports | |
US20240140713A1 (en) | Information processing device, information processing method, computer program product, and information processing system | |
Alisoltani et al. | Data-oriented approach for the dial-a-ride problem | |
JP2004217340A (ja) | 輸送計画作成システム及び方法 | |
Li et al. | Two-stage multi-AGV path planning based on speed pre-allocation | |
Sawik | A multilevel machine and vehicle scheduling in a flexible manufacturing system | |
Lai et al. | Utility-based matching of vehicles and hybrid requests on rider demand responsive systems |
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 |