拼车订单线路生成方法及装置与流程

文档序号:20782040发布日期:2020-05-19 21:20阅读:242来源:国知局
拼车订单线路生成方法及装置与流程

本发明涉及软件领域,尤其是涉及一种拼车订单线路生成方法及装置。



背景技术:

随着定位系统和智能手机的进一步普及,能实时满足乘客需求的网约车出行逐渐替代传统的出租车出行,但目前一些拼车算法中一辆车服务只能一至两单乘客、拼车率较低、不能进行实时调整并且没有结合拼车场景进行线路优化,同时对车辆的管理约束较松,拼车任务完成后,车辆通常按照驾驶员的意愿行驶,不能充分利用车辆资源,使得网约车并未有效解决高峰期“打车难”的问题,仍然不能改善污染和拥堵问题。因此需要提出一种能同时满足乘客需求,又节省成本和时间,还能随路况进行动态优化的拼车订单线路生成方法。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种拼车订单线路生成方法,能够同时满足乘客需求,又节省成本和时间,还能随路况进行动态优化。

第一方面,本发明的一个实施例提供了a:一种拼车订单线路生成方法,包括:

获取第一时间段内的拼车订单,所述拼车订单包括出港订单和进港订单;

根据所述出港订单生成初始线路,并根据优化目标更新所述初始线路生成待出发线路,所述待出发线路只包含出港订单;

在所述待出发线路中插入满足匹配条件的所述进港订单,更新所述待出发线路,并根据所述优化目标更新所述待出发线路;

当满足发车条件时,根据所述待出发线路进行车辆运行,所述待出发线路变更为正在运行线路,所述发车条件包括:到达发车时间、有可用车辆;

在所述正在运行线路中调整满足等待时间阈值条件和所述优化目标的所述进港订单,更新所述正在运行线路,直至车辆完成接送任务。

进一步地,所述根据所述出港订单生成初始线路包括:逐一选择增加路程最少的所述出港订单生成所述初始线路。

进一步地,所述优化目标指利润目标,包括:通过交换线路内订单和/或交换线路间订单生成新线路,计算所述新线路的利润,选择利润最高的线路。

进一步地,所述在所述待出发线路中插入满足匹配条件的所述进港订单包括:

判断所述进港订单的上车时间是否满足所述待出发线路的时间要求,如果满足则将所述进港订单与所述待出发线路根据所述匹配条件进行线路匹配,如果成功则插入线路,否则形成新线路安排其他车辆服务所述进港订单;

所述匹配条件包括:运行时间窗匹配、拼车时间优化匹配、车辆载客数匹配、接送策略匹配。

进一步地,当存在所述正在运行线路时,所述进港订单优先与所述正在运行线路进行线路匹配。

进一步地,所述获取第一时间段内的拼车订单之后还包括进行订单预处理,将所述拼车订单中上车时间扩展为上车时间窗。

进一步地,所述等待时间阈值条件包括:当进行线路调整后,如果所述线路中车辆的等待时间大于等待时间阈值,则拒绝本次线路调整。

第二方面,本发明的一个实施例提供了b:一种拼车订单线路生成装置,包括:

获取模块:用于获取第一时间段内的拼车订单,所述拼车订单包括出港订单和进港订单;

初始线路生成模块:用于根据所述出港订单生成初始线路,并根据优化目标更新所述初始线路生成待出发线路,所述待出发线路只包含出港订单的;

待出发线路生成模块:用于在所述待出发线路中插入满足匹配条件的所述进港订单,更新所述待出发线路,并根据所述优化目标更新所述待出发线路;

正在运行线路生成模块:用于当满足发车条件时,根据所述待出发线路进行车辆运行,所述待出发线路变更为正在运行线路,所述发车条件包括:到达发车时间、有可用车辆;

更新线路模块:用于在所述正在运行线路中调整满足等待时间阈值条件和所述优化目标的所述进港订单,更新所述正在运行线路,直至车辆完成接送任务。

第三方面,本发明提供一种拼车订单线路生成设备,包括:

至少一个处理器,以及与所述至少一个处理器通信连接的存储器;

其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如第一方面任一项所述的方法。

第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一项所述的方法。

本发明的有益效果是:

本发明实施例通过获取第一时间段内的拼车订单,根据出港订单生成初始线路,并根据优化目标更新初始线路生成待出发线路,在待出发线路中插入满足匹配条件的进港订单,更新待出发线路,并根据优化目标更新待出发线路;当满足发车条件时,根据待出发线路进行车辆运行,并将待出发线路变更为正在运行线路,在正在运行线路中插入满足等待时间阈值条件和优化目标的进港订单,更新正在运行线路,直至车辆完成接送任务。针对进港和出港场景生成拼车线路,提高了单条拼车线路的服务订单数,同时对拼车线路进行动态优化,根据后续线路变化进行动态调整,将现有算法对车辆的输送约束改为严格约束,充分利用拼车数据所提供的订单分布规律来有效调度车辆,对可能出现的需求密集区进行提前安排,提高拼车效率。

可广泛应用于拼车算法领域。

附图说明

图1是本发明实施例中拼车订单线路生成方法的一具体实施例实现流程图;

图2a~图2b是本发明实施例中拼车订单线路生成方法的一具体实施例线路交换示意图;

图3是本发明实施例中拼车订单线路生成方法的一具体实施例流程示意图;

图4是本发明实施例中拼车订单线路生成装置的一具体实施例结构框图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

实施例一:

本实施例应用在订单密集场景中,例如可选的包括机场等,本实施例选择机场进行示例说明,所有进出机场的乘客都为目标拼车乘客,将拼车订单分为从机场出发的出港订单和到达机场的进港订单。例如对于某一时段的进港和出港乘客,要安排相应的车子载上出港乘客从机场出发,确定线路将他们送回各自的目的地,同时在这个过程中,接上与当前线路匹配的进港乘客,最终返回机场,如此循环,实现接送任务。

本发明实施例一提供一种拼车订单线路生成方法,图1为本发明实施例提供的拼车订单线路生成方法的实现流程图,如图1所示,该方法包括以下步骤:

s1:获取第一时间段内的拼车订单,拼车订单包括出港订单和进港订单。

由于拼车算法具有时效性且必须针对一些乘客,因此本实施例中将拼车订单线路的目标乘客设定为在第一时间段内提交新订单的乘客以及之前未找到合适线路在等待的乘客,第一时间段可以根据实际需求进行设定,例如本实施例中设定第一时间段为[t,t+δt]时段,同时可以设定δt的值,例如设定为5分钟,t为从零开始的一个五的倍数。

接收到第一时间段内的拼车订单,需要对进港乘客和出港乘客的订单分别处理,出港乘客的上车地点为机场,因此车辆也从机场出发,因此拼车信息只需检查上车时间,不用检查上车地点,而进港乘客的上车地点因人而异,拼车信息要同时检查上车时间和上车地点,这样处理能够减少工作量,提高拼车效率。

s2:对拼车订单进行订单预处理,具体包括:将拼车订单中上车时间扩展为上车时间窗,例如可选的是还设定上车时间窗的左边界为上车时间减去预设等待时间,右边界为上车时间。

本实施例中,在[t,t+δt]时段内,系统将接收乘客发出的拼车订单,乘客的订单一般包括以下信息:上车地点、上车时间、下车地点和乘客数。由于乘客提交订单中上车时间通常是一个时间点,如果在后续拼车线路生成时只检查是否有线路正好在这个时间点接到乘客,这样的条件较为苛刻,也不太符合实际情况。因此本实施例进行订单预处理,将拼车订单中上车时间向前拓展,将其转化为上车时间窗,例如该上车时间窗的左边界设定为上车时间减去一个预设等待时间(比如五分钟),右边界为上车时间,只要车辆在这个上车时间窗内赶到乘客的上车地点,之后再等待几分钟,就能顺利地接到该乘客。

s3:根据出港订单生成初始线路,并根据优化目标更新初始线路生成待出发线路,待出发线路只包含出港订单,可以理解的是该初始线路包括一条或多条线路构成一个初始解,在此不限定线路个数。

s4:在待出发线路中插入满足匹配条件的进港订单,更新待出发线路,并根据优化目标更新待出发线路。

s5:当满足发车条件时,根据待出发线路进行车辆运行,待出发线路变更为正在运行线路,发车条件包括:到达发车时间、有可用车辆,即已经把线路确定好并且该线路已经到达发车时间同时有可用车辆可以运行该待出发线路,则该线路可以运行,即待出发线路变更为正在运行线路。

s6:在正在运行线路中插入满足等待时间阈值条件和优化目标的进港订单,更新正在运行线路,直至车辆完成接送任务。

具体的,步骤s3中,初始线路针对所有出港乘客生成,具体是,采用solomon算法逐一选择增加路程最少的出港订单生成初始线路。例如在已知机场的位置和所有离开机场乘客的下车点位置,根据solomon算法基于每次行车路程增加最小来确定访问这些下车点的顺序,即先假设司机只送一位出港乘客,选择所有乘客中距离机场行车路程最小的点为该线路的第一个访问点,因为距离机场行车路程最小也就意味着车辆送完该乘客并返回机场形成的环线路程最短,之后线路上第二个点的选择方法为:将剩下订单中某个点插入之前形成的环线种,这些点中使增加的路程最短的点即为第二个点,之后访问点的确定以此类推,即逐一选择增加路程最少的出港订单生成初始线路。

同时根据优化目标进行线路调整更新初始线路生成待出发线路,待出发线路只包含出港订单。本实施例中优化目标指利润目标,即生成的线路利润最大,进行线路调整时,通过交换线路内订单和/或交换线路间订单生成新线路,计算新线路的利润,选择利润最高的线路作为调整后的线路。

如图2a~图2b所示,为本实施例线路交换示意图,结合图2a~图2b说明线路内交换和线路间交换的过程,假设0表示的是机场的位置,也是每条线路开始和结束的位置1、2、3、4、5、6等表示线路上的访问点。其中,图2a是线路内交换的过程示意图,即把线路内的点的顺序进行交换,线路0-1-2-3-4-0变成了线路0-1-3-2-4-0;图2b是线路间交换的过程示意图,本来是线路0-1-2-3-4-0和线路0-5-6-0是两条线路,线路间交换过后,变成了线路0-1-2-5-0和线路0-6-3-4-0。以此类推,在可行的时间内进行多次线路调整尝试,判断是否优化后的线路较之前的线路利润有所增加,尽可能得到利润最大的线路。

本实施例中,利润通过收益减去成本得到,收益为该条线路内所有乘客所交的费用总和。每个乘客的费用计算可以采用出租车的计算方式,用起步价加上里程价,里程价为单位路程的费用乘以总路程;而成本的计算基于该条线路的行驶里程和等待时间,用单位里程的成本乘以总里程加上单位等待时间的成本乘以总的等待时间得到。运行24h,累加这一时段每条线路产生的利润即可得到一天的总利润。

步骤s4中在待出发线路中插入满足匹配条件的进港订单,具体过程包括:判断进港订单的上车时间是否满足待出发线路的时间要求,即上车时间是否在待出发线路的线路运行时间窗内,如果满足则将进港订单与待出发线路根据匹配条件进行线路匹配,如果成功则插入线路,否则安排其他车辆服务进港订单。

上述满足匹配条件指某一待出发线路和该线路对应的满足匹配条件的进港订单中路程增加最小的订单进行匹配。具体的匹配条件包括:1)运行时间窗匹配:待出发订单的车辆必须在进港订单的时间窗内达到其上车点,以便乘客可以准时上车;2)拼车时间优化匹配:为了防止进港乘客选择拼车花费的时间远远超过其不选择拼车所花费的时间,本实施例设置了二者的比例阈值,例如可以将该阈值设置为1.5,即进港乘客选择拼车花费的时间不能超过直接打车所花费时间的1.5倍;3)车辆载客数匹配:即不管乘客如何上下车,车辆的载客数不可以超过该车辆的容量;4)接送策略匹配:根据不同的接送策略进行选择,接送策略可以根据实际情况进行设定;例如是否是要等所有的出港乘客到达目的地后才能接上进港的乘客、或者进港乘客任何时候都能够上车等,不同的接送策略会影响拼车订单线路生成过程。

此时待出发线路中既包括出港乘客也包括进港乘客,可以进一步根据优化目标对线路进行更新,即通过线路间订单交换和/或线路内订单交换来进一步优化线路。

步骤s5中,在到达发车时间且机场有车的情况下,车辆会沿着待出发线路出发,同时该线路成为正在运行线路,如果到达发车时间但机场没车时,会将该信息及时通知给乘客,由乘客自主选择是否要拼车。

进一步地,对进港订单进行匹配时,如果有正在运行线路时,则进港订单优先与正在运行线路进行线路匹配,以减少进港乘客等待时间,提高拼车效率。

步骤s6中,对于正在运行线路,还可以针对其中的未上车的进港乘客进行进一步优化。将静态算法改为动态算法,在优化线路时不仅考虑接收订单时的信息,也结合运行过程中后续线路变化带来的其他信息进行动态调整。

因为刚刚为这些进港乘客确定位置时仅仅考虑了接收他们订单时的线路信息,但此时由于车辆运行,实时线路信息已经发生了变化,有可能还存在更合适进港乘客的位置,以及能为系统带来更大收益的订单,所以在已经找到初始位置和上车时间这两个时间点之间还存在优化的空间,但此时的优化会受到更多的限制,因为车辆已经在路上了,优化的结果不能违背车上乘客的相关约束,也不能使原来已经安排的进港乘客没车可接,只是对已安排订单在不同线路间和同一线路内不同位置的调整。

本实施例中引入了等待时间阈值条件,当进行线路调整后,如果线路中车辆的等待时间大于等待时间阈值,则拒绝本次线路调整。即如果由后续订单信息引发的调整导致线路相关的车辆等待时间(例如在上车时间窗内到达上车地点等待乘客上车的时间)大大增加,超过了等待时间阈值,这一调整将被拒绝;否则接受调整,同时根据优化目标,调整后线路的利润需高于调整前的利润。类似的对正在运行线路的优化调整将会一直持续到车辆完成对应线路上所有的乘客接送任务,返回机场的整个过程中。

如图3所示,为本实施例的拼车订单线路生成方法流程示意图。结合图3,首先读取订单数据进行订单预处理,将订单数据分为出港数据和进港数据,针对出港数据的所有出港订单形成初始解,通过线路内订单交换和/或线路间订单交换更新线路,生成待出发线路。

同时对进港数据进行处理,首先判断进港订单的上车时间是否满足待出发线路的时间要求,如果不满足,则拒绝该订单,否则将该进港订单与正在运行的线路进行线路匹配,匹配成功则插入到正在运行的线路中,否则与待出发线路进行匹配,匹配成功则插入到待出发线路中,否则安排新线路,安排其他车辆来服务该进港订单。

对待出发订单根据优化目标进行线路内订单交换和/或线路间订单交换更新线路,并判断是否到达发车时间,如果到达发车时间则判断是否有可用车辆,如果有可用车辆则运行待出发线路,待出发线路变更为正在运行线路,如果没有可用车辆,则告知乘客状态。

进一步地,对正在运行线路根据实时信息进行调整,判断根据实时信息调整后的线路是否满足相关约束,相关约束包括:优化目标和等待阈值时间条件,即在满足相关约束的情况下调整线路,或者保持线路不变,直至车辆完成接送任务。

本实施例将拼车订单集中在一个或多个订单密集点,基于数据对不同乘客的订单信息进行有效分析,根据分析结果生成能同时满足乘客需求,又节省成本和时间,还能随路况进行动态优化的线路,为订单密集场景的拼车算法提供参考,便于管理部门对这些重点区域进行管理。

实施例二:

本实施例提供一种拼车订单线路生成装置,如图4所示,为本实施例的拼车订单线路生成装置结构框图,包括:

获取模块100:用于获取第一时间段内的拼车订单,拼车订单包括出港订单和进港订单;

初始线路生成模块200:用于根据出港订单生成初始线路,并根据优化目标更新初始线路生成待出发线路,待出发线路只包含出港订单的;

待出发线路生成模块300:用于在待出发线路中插入满足匹配条件的进港订单,更新待出发线路,并根据优化目标更新待出发线路;

正在运行线路生成模块400:用于当满足发车条件时,根据待出发线路进行车辆运行,待出发线路变更为正在运行线路,发车条件包括:到达发车时间、有可用车辆;

更新线路模块500:用于在正在运行线路中调整满足等待时间阈值条件和优化目标的进港订单,更新正在运行线路,直至车辆完成接送任务。

上述中拼车订单线路生成装置模块的具体细节已经在实施例一对应的拼车订单线路生成方法中进行了详细的描述,因此此处不再赘述。

另外,本发明还提供拼车订单线路生成设备,包括:

至少一个处理器,以及与所述至少一个处理器通信连接的存储器;

其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如实施例一所述的方法。计算机程序即程序代码,当程序代码在拼车订单线路生成设备上运行时,程序代码用于使拼车订单线路生成设备执行本说明书上述实施例一部分描述的拼车订单线路生成方法中的步骤。

另外,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,其中计算机可执行指令用于使计算机执行如实施例一所述的方法。

本发明实施例通过获取第一时间段内的拼车订单,根据出港订单生成初始线路,并根据优化目标更新初始线路生成待出发线路,在待出发线路中插入满足匹配条件的进港订单,更新待出发线路,并根据优化目标更新待出发线路;当满足发车条件时,根据待出发线路进行车辆运行,并将待出发线路变更为正在运行线路,在正在运行线路中插入满足等待时间阈值条件和优化目标的进港订单,更新正在运行线路,直至车辆完成接送任务。针对进港和出港场景生成拼车线路,提高了单条拼车线路的服务订单数,同时对拼车线路进行动态优化,根据后续线路变化进行动态调整,将现有算法对车辆的输送约束改为严格约束,充分利用拼车数据所提供的订单分布规律来有效调度车辆,对可能出现的需求密集区进行提前安排,提高拼车效率。可广泛应用于拼车算法领域。

以上各实施例仅用以说明本发明的技术方案,而非对其限制,尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1