一种基于演化算法的拼车调度方法与流程

文档序号:20782666发布日期:2020-05-19 21:23阅读:294来源:国知局
一种基于演化算法的拼车调度方法与流程

本发明实施例涉及拼车自动调度技术领域,具体涉及一种基于演化算法的拼车调度方法。



背景技术:

拼车通过合乘的方式具有相同行程的司机与乘客进行匹配,从而达到提高利用率,节约出行成本,缓解交通拥堵,减少汽油资源损耗,保护环境等目的。但是由于拼车环境复杂,应用于拼车领域的方法往往存在匹配成功率低,优化目标不明确,优化效率低,适应范围较窄等问题。

用于解决静态拼车问题的方法主要包括空间搜索和启发式搜索两个大类。空间搜索的方法多利用乘客与车辆的空间信息对乘客进行近邻匹配从而得到绕路距离相对较短的拼车行程。通过将路网分成区块或者网格,空间搜索可以有效限制车辆的搜索范围,并从相对小的范围里选出较为合适的车辆进行拼车。启发式搜索则是贪心算法、演化算法等,通过设定一些规则和目标,对全局进行启发式搜索从而得到一个表现较好的拼车调度方案。特别的,对于一辆出租车两名乘客的共享拼车问题,有贪心算法通过目标函数计算乘客两两匹配的权重,得到最优的乘客-乘客匹配,然后将配对好的乘客与出租车进行共享匹配,得到最终的共享拼车方案。演化算法如粒子群算法、蚁群算法、遗传算法也可以通过一系列的转换应用于解决拼车问题,但是目前这些算法对拼车方案的搜索效率不够高,优化的结果也并不十分理想。



技术实现要素:

为此,本发明实施例提供一种基于改进演化算法的拼车调度方法,以解决现有技术中由于现有算法对拼车方案的搜索效率不够高,优化结果不理想而导致的拼车调度方案效率低的问题。

为了实现上述目的,本发明实施例提供如下技术方案:

根据本发明实施例的第一方面提供一种基于演化算法的拼车调度方法,包括步骤:

s1:获取参与静态拼车的车辆和乘客的拼车信息,所述拼车信息包括车辆行程的起点、终点和能够提供的第一座位数量;乘客行程的起点、终点和需要的第二座位数量;

s2:以所述拼车信息为参数对拼车调度方案进行数学建模,得到分别以拼车调度方案的服务质量和成本为目标的第一目标函数和第二目标函数;

s3:采用演化算法,以所述服务质量对应的第一目标函数值最大、以所述第二目标函数值最小为优化目标,在所述车辆乘客匹配的情况下,计算所述车辆的最短路径并给出车辆的拼车行程,得到拼车调度方案;所述拼车调度方案包括车辆乘客匹配方案,和在所述车辆乘客匹配方案下的拼车行程。

进一步地,步骤s3具体包括步骤:

s31:以所有车辆的所述拼车调度方案为个体,车辆对应为维度、匹配到车辆的乘客集合对应为维度的值,对所述个体进行编码,并初始化种群;

s32:根据维度间的变异算子,逐个计算变异中间个体所有维度的值,得到变异中间个体;

s33:在同一维度上,以所述第一目标函数值最大、以所述第二目标函数值最小为优化目标,对所述变异中间个体与原个体的每个维度进行评估;

s34:选择满足所述优化目标的所述变异中间个体或所述原个体作为当前拼车调度方案;

s35:将所述当前拼车调度方案作为种群的新个体,循环执行步骤s32至s34,直到所述当前拼车调度方案收敛,向客户端提供相应的拼车调度方案。

进一步地,所述拼车调度方案的成本以车辆绕路距离、乘客的等待距离和乘客的行驶距离为指标,所述服务质量以车辆的座位占用率为指标。

进一步地,步骤s32具体包括:

从种群中随机选取若干互不相同的个体;

在同一维度上,根据维度间的变异算子,计算变异中间个体所有维度的值得到第一变异中间体;

将所述第一变异中间体与原个体进行单点交叉互换,得到第二变异中间体,作为变异中间个体。

进一步地,从种群中随机选取五个互不相同的个体;所述维度间的变异算子的公式如下:

其中,vi是变异中间体,xr1,xr2,xr3,xr4,xr5是种群中随机选出的5个互不相同的个体,上标i表示第i个维度,k表示第k个维度,f1和f2是缩放因子。

进一步地,步骤s33具体包括:

获取所述中间变异个体与所述原个体的每个维度的车辆行程的起点、终点和乘客行程的起点、终点;

采用动态规划算法,分别计算预先确定车辆乘客匹配方案的所述原个体与所述变异中间体的规划路径;

以车辆绕路距离最小、乘客的等待距离最小和乘客的行驶距离最小为优化目标,逐个将所述中间变异个体与所述原个体的每个车辆的规划路径在同一维度上进行评估。

进一步地,步骤s34还包括,将不满足所述优化目标的所述变异中间个体或所述原个体进行淘汰,得到新的种群;

将在多次淘汰过程中对所述优化目标表现最差的个体以随机匹配的方式进行重组,得到重组个体;

将重组个体加入种群作为新个体,更新种群。

进一步地,基于乘客车辆匹配方案,采用贪心法初始化种群。

本发明实施例具有如下优点:

本发明实施例提供的一种基于演化算法的拼车调度方法,以包括车辆行程的起点、终点和能够提供的第一座位数量;乘客行程的起点、终点和需要的第二座位数量的拼车信息为参数,对拼车调度方案进行数学建模,然后以调度方案的服务质量最大为第一目标函数、以成本最小为第二目标函数,采用演化算法,在计算得到最优的车辆乘客匹配的情况下,计算所述车辆的最短路径并给出车辆的拼车行程,得到拼车调度方案。本发明采用基于演化算法车辆乘客匹配相较于的空间的网格搜索而言,与车辆分配的先后顺序是无关的,相较于贪心法的先两两乘客匹配再车辆与乘客簇匹配的两阶段分配而言,是对所有车辆的分配方案统一优化的,它的搜索更具有全面性。

进一步地,本发明实施例提供的基于演化算法的拼车调度方案以服务质量为主,拼车成本为辅的目标对拼车调度方案进行优化,进一步提高了车辆的作为利用率,并综合考量了与耗油相关的车辆绕路距离,与乘客体验相关的等待距离,以及和拼车费用相关的乘客的乘车距离。

进一步地,本发明实施例提供的基于演化算法的拼车调度方法改进了传统演化算法的变异算子,增加了种群个体维度间的交流,以不同车辆之间的乘客竞争;并且本发明采用了改进的选择算子,通过维度间的竞争选择,加快了种群的收敛速度。

进一步地,本发明实施例提供的基于演化算法的拼车调度方法提出了对种群中最差个体进行重新构造组合,降低对种群进化的影响,增加种群多样性,使在种群演化过程中被淘汰或者遗忘的乘客有重新匹配的可能性,从而避免演化过程的早熟。

附图说明

为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。

本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。

图1为本发明实施例1提供的一种基于演化算法的拼车调度方法流程图;

图2为本发明实施例1提供的一种基于演化算法的拼车调度方法适用的拼车调度服务系统;

图3为本发明实施例1提供的一种基于演化算法的拼车调度方法的个体编码示意图;

图4为本发明实施例1提供的一种基于演化算法的拼车调度方法的演化算法流程框图;

图5为本发明实施例1提供的一种基于演化算法的拼车调度方法的拼车路径示意图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1为本发明实施例1提供的一种基于演化算法的拼车调度方法流程图,包括:

s1:获取参与静态拼车的车辆和乘客的拼车信息,所述拼车信息包括车辆行程的起点、终点和能够提供的第一座位数量;乘客行程的起点、终点和需要的第二座位数量;

s2:以所述拼车信息为参数对拼车调度方案进行数学建模,得到分别以拼车调度方案的服务质量和成本为目标的第一目标函数和第二目标函数;

s3:采用演化算法,以所述服务质量对应的第一目标函数值最大、以所述第二目标函数值最小为优化目标,在所述车辆乘客匹配的情况下,计算所述车辆的最短路径并给出车辆的拼车行程,得到拼车调度方案;所述拼车调度方案包括车辆乘客匹配方案,和在所述车辆乘客匹配方案下的拼车行程。

本发明上述调度方案的成本以车辆绕路距离、乘客的等待距离和乘客的行驶距离为指标;车辆调度方案的服务质量以车辆的座位占用率为指标;其中,车辆的座位占用率用第二座位数量与第一座位数量的比值来表示,比值越高说明座位占用率越高,也就说明车辆调度方案的服务质量越好;相反,若比值越低说明座位占用率越低,也就说明车辆调度方案的服务质量越差。

本发明实施例1提供的一种基于演化算法的拼车调度方法运用于拼车调度系统,该拼车调度系统主要用于上下班拼车和长途拼车等乘客与车辆信息提前给定的静态拼车问题。参见图2,为本发明实施例1提供的一种基于演化算法的拼车调度方法适用的拼车调度服务系统,该系统通过终端调节乘客与车辆之间的匹配和乘客所在车辆的行车路径的问题。假定司机与乘客参与拼车的时间是可以统一的。车辆d的信息包括车辆的起点do,车辆的终点dd,车辆的空座数dc。乘客r的信息包括乘客的起点ro,乘客的终点rd,以及乘客需要的座位数rc。参与拼车的车辆和乘客通过客户端提交他们的拼车信息。然后拼车调度服务系统的服务器端根据拼车成本与服务质量评估给出车辆乘客分配方案的拼车质量,本申请的拼车质量以最大化服务质量,最小化拼车成本为目标,迭代优化车辆乘客分配方案。在本发明实施例1中,为了给客户端提供一个可行的且较优化的拼车调度方案,服务器实现了一种演化方法,经过迭代搜索和种群演化,找到一个比较优化的拼车调度方案。

在本发明实施例1中提供的一种经过迭代搜索和种群演化算法具体包括步骤:

s31:以所有车辆的所述拼车调度方案为个体,车辆对应为维度、匹配到车辆的乘客集合对应为维度的值,对所述个体进行编码,并初始化种群;

s32:根据维度间的变异算子,逐个计算变异中间个体所有维度的值,得到变异中间个体;

s33:在同一维度上,以所述第一目标函数值最大、以所述第二目标函数值最小为优化目标,对所述变异中间个体与原个体的每个维度进行评估;

s34:选择满足所述优化目标的所述变异中间个体或所述原个体作为当前拼车调度方案;

s35:将所述当前拼车调度方案作为种群的新个体,循环执行步骤s32至s34,直到所述当前拼车调度方案收敛,向客户端提供相应的拼车调度方案。

参见图3,为本发明实施例1提供的一种基于演化算法的拼车调度方法的个体编码示意图。拼车调度服务系统在获取到参与静态拼车的车辆和乘客的拼车信息后,对拼车调度方案的个体进行进行编码,所有车辆的拼车方案对应为个体,车辆对应为维度,匹配到车辆的乘客集合作为维度的值。如图3所示,乘客r3与r5被分配到车辆d1,r7与r12被分配到车辆d2,以此类推,这样一个所有车辆的拼车匹配就构成了一个个体,也就是一个拼车调度方案。图3中的初始分配是通过贪心法给出的,贪心法基于乘客车辆匹配对优化目标的表现,采用表现较好的匹配优先于其他匹配的方式给出初始种群。也就是说,以所述服务质量对应的第一目标函数值最大、以所述第二目标函数值最小的情况下,采用贪心法给出乘客车辆匹配。贪心法属于本领域的现有技术,在此不再赘述。

需要说明的是,贪心法初始化要求服务器端对所有乘客与车辆的匹配计算拼车质量,然后按照最好的拼车匹配优先的原则,分配乘客到车辆,对于需要座位数超过车辆提供座位数的匹配,也就是不可行的匹配不予考虑。

服务器需要提供给客户端一个可行的且比较优化的拼车分配方案。为了优化拼车分配方案,服务器实现了一种演化方法,该演化算法采用了改进的变异算子和选择算子,经过迭代搜索和种群演化,找到一个比较优化的拼车调度方案。参见图4,为本发明实施例1提供的一种基于演化算法的拼车调度方法的演化算法流程框图。

在演化的变异过程中,每一个个体都需要计算它的变异中间体,该改进的变异算子不是限于维度内的变异,而是通过加入一个新的其他维度的项,实现不同维度的乘客的交流,从而进一步增加乘客分配的可能性。其具体步骤为:从种群中随机选取若干互不相同的个体;在同一维度上,根据维度间的变异算子,计算变异中间个体所有维度的值得到第一变异中间体v1;根据维度间的变异算子,计算变异中间体v1所有维度的值;然后按照交叉概率和交叉位置,将所述第一变异中间体与原个体进行单点交叉互换,得到第二变异中间体v2,作为变异中间个体。

优选的,本发明实施例1从种群中随机选取五个互不相同的个体;所述维度间的变异算子的公式如下:

其中,vi是变异中间体,xr1,xr2,xr3,xr4,xr5是种群中随机选出的5个互不相同的个体,上标i表示第i个维度,k表示第k个维度,f1和f2是缩放因子。

需要说明的是,交叉与变异中可能出现的车辆匹配的乘客可能需要比车辆更多的座位的情况,这样的匹配是不可行的,不予考虑。

服务器端对变异中间体v2与原个体的每一个维度的拼车质量进行评估,这里的评估需要计算每一辆车的路径规划,因为目标项与车辆的路径相关。参见图5为本发明实施例1提供的一种基于演化算法的拼车调度方法的拼车路径示意图,假定分配给车辆di的乘客为rj1,rj2,rj3,在车辆的乘客匹配方案给定的情况下计算车辆的最短路径,并给出车辆的拼车行程。车辆的拼车行程用位置的序列表示,位置包括车辆d的起点do和终点dd以及乘客r的起点ro和终点rd,最短路径计算采用动态规划算法:

t(k)=t(k-1)+dist(n(k-1),n(k))

t(k)=min{t(k-1)+dist(n(k-1),n(k))}

其中t(k)表示车辆到达行程中的第k个位置时所行驶的距离,n(k)表示车辆在行程中的第k个位置时可到达的位置的集合。第k个位置表示车辆的最后一个位置,也就是车辆的终点。函数dist(a,b)表示位置a到位置b的距离。

需要注意的是乘客的终点不能比该乘客的起点先到达,车辆的起点为第一个位置,车辆的终点为最后一个位置。对每一辆车,服务器都需要在变异中间体v2与原个体中选出一个拼车质量更好的乘客分配方案,然后构成新的变异中间体v3。此时可能有同一乘客分配到不同车辆的情况,需要对不同车辆进行比较,并将乘客分配给最适合的车辆。到这里服务器得到了两个可行的拼车分配方案变异中间体v3和原个体,然后比较这两个解的优劣并保留较优的那个作为种群的新个体。

服务器通过反复迭代演化搜索过程,直到终止条件可满足,然后就可以向客户端提供相应的拼车分配方案,告知车辆其拼车行程,包括匹配的乘客信息以及车辆的路径规划,告知乘客拼车的车辆信息,和相关行程安排。通过上述描述,至此,服务器端的任务完成,拼车调度服务系统的架构已给出。

根据通过演化迭代优化的拼车方案,动态规划计算每一辆车的拼车行程,由此就给出了所有车辆的拼车调度方案。

本发明实施例提供的一种基于演化算法的拼车调度方法,以包括车辆行程的起点、终点和能够提供的第一座位数量;乘客行程的起点、终点和需要的第二座位数量的拼车信息为参数,对拼车调度方案进行数学建模,然后以服务质量最大为第一目标函数、以调度方案的成本最小为第二目标函数,采用演化算法,在计算得到最优的车辆乘客匹配的情况下,计算所述车辆的最短路径并给出车辆的拼车行程,得到拼车调度方案。本发明采用基于演化算法车辆乘客匹配相较于的空间的网格搜索而言,与车辆分配的先后顺序是无关的,相较于贪心法的先两两乘客匹配再车辆与乘客簇匹配的两阶段分配而言,是对所有车辆的分配方案统一优化的,它的搜索更具有全面性。

进一步地,本发明实施例提供的基于演化算法的拼车调度方案以服务质量为主,拼车成本为辅的目标对拼车调度方案进行优化,进一步提高了车辆的作为利用率,并综合考量了与耗油相关的车辆绕路距离,与乘客体验相关的等待距离,以及和拼车费用相关的乘客的乘车距离。

进一步地,本发明实施例提供的基于演化算法的拼车调度方法改进了传统演化算法的变异算子,增加了种群个体维度间的交流,以不同车辆之间的乘客竞争;并且本发明采用了改进的选择算子,通过维度间的竞争选择,加快了种群的收敛速度。

进一步地,本发明实施例提供的基于演化算法的拼车调度方法提出了对种群中最差个体进行重新构造组合,降低对种群进化的影响,增加种群多样性,使在种群演化过程中被淘汰或者遗忘的乘客有重新匹配的可能性,从而避免演化过程的早熟。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

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