掌桥专利:专业的专利平台
掌桥专利
首页

面向高校园区的配餐订单智能派送方法、存储介质、计算机

文献发布时间:2023-06-19 13:26:15


面向高校园区的配餐订单智能派送方法、存储介质、计算机

技术领域

本发明属于外卖派单技术领域,尤其涉及一种面向高校园区的配餐订单智能派送方法、存储介质、计算机。

背景技术

目前,近年来,餐饮外卖的市场正在急速膨胀发展。传统的外卖配送模式以单个商家店铺为节点,各节点独立完成外卖的接单,分配订单,派送外卖的过程。这种经营模式在大规模的外卖需求下已经逐渐淘汰,各大外卖平台利用互联网汇聚各个商家节点,统一管理外卖配送的生命周期。其中外卖的接单效率,配送准时率是外卖业务的核心竞争指标。外卖的接单效率,配送准时率由外卖配送算法决定。首先外卖订单的分配问题可定义为:已知现有骑手数量、状态、地理位置,将新产生的订单以及还未分配的订单合理分配给骑手,在配送时间内以最短时间完成所有订单。校园外卖订单分配问题在上述问题的基础上有额外的两个特点:(1)送餐地点环绕取餐地点:校园外卖的取餐地点多数为学生宿舍楼,并且学生宿舍楼通常以校园餐厅为中心呈聚集分布;(2)订单高峰期的时间特殊性:根据学生的日常课程时间,订单通常在上午10点至下午1点和下午5点至晚上7点呈爆发性增长。

现有多种技术方案解决订单与骑手的匹配问题。如基于抢单模式的订单分配方法,基于人工调度的订单分配方法,基于Dijskra算法的订单分配方法和基于大数据分析的订单分配方法等等。其中基于大数据分析的订单分配方法普适性和效果最佳。但以上方法不适用于校园外卖配送问题,无法在配送低成本高效率的条件下,完成订单的分配。

现有的外卖配送的算法,主要有以下几种:1)基于抢单模式的配送方法;订单的接收由骑手自主决定。外卖平台将新接收的订单消息发送给骑手,骑手根据当前的接单数量,订单的目的地和取餐地点以及自身配送能力等因素,决定是否接单,并进行派送。2)基于人工派单的配送方式;由调度员代替骑手接单,调度员通过外卖平台的数据库获取当前需要分配的订单,通过分析订单的目的地和取餐地点、以及现有骑手的数量、骑手当下的状态等信息,根据经验规则将订单分配给合适的骑手进行派送。3)美团订单智能分配系统:首先通过大数据平台获取骑手信息,商家信息以及订单信息。其次利用机器学习分别预测订单的出餐时间,交付时间,未来新进订单时间和路径耗时时间。最后利用运筹优化方法实现路径规划,系统派单和订单改派。以上三种方法无法很好的适用于校园外卖配送场景,

现有的校园外卖配送算法如下:基于Dijskra算法的校园外卖配送方法,该方法通过改进Dijskra算法,分别设计了单条路径最短路线求解算法和多条路径最短路线求解算法,保证最短路线的权值和最小,其中路径权重由路程距离决定。最终根据骑手与订单目的地的最短路径长度决定订单的分配任务。

但是现有的校园外卖配送方法主要存在以下不足,如下:基于Dijskra算法的校园外卖配送方法:订单分配的衡量指标过于单一,仅考虑骑手与目的地的最短路径距离进行订单的分配。该方法未考虑骑手的送餐能力,订单信息,商家出餐效率等因素,订单的分配合理性欠佳。基于抢单模式的配送方法:订单的接收由骑手自主决定,存在大量订单无人接单的情况。同时每次订单分配只满足单位骑手的利益最大化,无法满足订单分配全局最优,导致订单难以在配送时间内完成,商家,骑手和平台的利益都无法最大化。基于人工派单的配送方式:该方法存在以下两个问题,一方面在校园外卖的订单高峰期,1分钟的时间内可能会产生50以上的订单量,调度员难以在每分钟综合分析多种信息完成订单地合理分配。另一方面,难以培训出熟悉校园的地理以及各餐厅各窗口的配餐速度以及骑手的配送能力的调度员,同时调度员的雇佣也是极高的人力成本。美团订单智能分配系统未能考虑校园外卖的特殊性,如宿舍楼分布密集,各楼之间连通复杂,因此其路径规划算法不适用于校园外卖配送问题;并且美团订单智能分配系统规模庞大,开发和后期系统维护成本高。

通过上述分析,现有技术存在的问题及缺陷为:

(1)基于Dijskra算法的校园外卖配送方法:订单分配的衡量指标过于单一,仅考虑骑手与目的地的最短路径距离进行订单的分配;该方法未考虑骑手的送餐能力,订单信息,商家出餐效率等因素,订单的分配合理性欠佳。

(2)基于抢单模式的配送方法:订单的接收由骑手自主决定,存在大量订单无人接单的情况;同时每次订单分配只满足单位骑手的利益最大化,无法满足订单分配全局最优,导致订单难以在配送时间内完成,商家,骑手和平台的利益都无法最大化。

(3)基于人工派单的配送方式:该方法存在以下两个问题,一方面在校园外卖的订单高峰期,1分钟的时间内可能会产生50以上的订单量,调度员难以在每分钟综合分析多种信息完成订单地合理分配;另一方面,难以培训出熟悉校园的地理以及各餐厅各窗口的配餐速度以及骑手的配送能力的调度员;同时调度员的雇佣也是极高的人力成本。

(4)美团订单智能分配系统未能考虑校园外卖的特殊性,如宿舍楼分布密集,各楼之间连通复杂,因此其路径规划算法不适用于校园外卖配送问题;并且美团订单智能分配系统规模庞大,开发和后期系统维护成本高。

发明内容

针对现有技术存在的问题,本发明提供了一种面向高校园区的配餐订单智能派送方法、存储介质、计算机,实现了订单分配的均匀性,每位骑手每日接单数量大致相同,并且每轮新增订单能被及时分配,解决了订单堆积的问题。骑手当前批次订单的出发地与目的地具备一致性,提高了骑手的取餐效率以及送餐效率。骑手按照规划的路径进行送餐,一方面帮助新骑手到达目的地,熟悉校园环境,另一方面保证订单的送达率,避免订单超时。无需大量调度员分配订单,同时提高单位骑手的每日总送餐量,降低了人力成本。该算法是一款轻量级算法,无需复杂庞大的系统支持,并且后期维护成本低。

本发明采用以下具体方案实现:

一种面向高校园区的配餐订单智能派送方法,包括如下步骤:

S1、判断是否有可派单骑手,如果没有可派单骑手,则退出流程,等待下一个时间片;如果有可派单骑手,则进入派单算法初始化;采用轮询的方式读取骑手信息,降低与数据库的交互次数,减轻系统的负载量;

S2、进行派单算法初始化,读取订单和骑手数据,基于K-means聚类算法划分取餐区域和送餐区域,评估骑手接单优先级;保证骑手每次送餐的取餐地点与目的地具备一致性;

S3、构建基于神经网络的取餐时间预测模型,实现订单送达时间的预测;基于订单的取餐时间合理分配订单,保证订单的到达率;

S4、基于运筹优化实现校园外卖配送的订单的分配;由算法逻辑控制订单的分配,取缔人工方式进行派单,降低了人力成本;

S5、基于遗传算法规划骑手送餐路径,获取骑手送餐的最短路径。一方面帮助新骑手到达目的地,熟悉校园环境,另一方面保证订单的送达率,避免订单超时。

进一步地,所述派单算法初始化具体过程为:

S21、首先读取订单和骑手信息;

S22、初始化地点映射表:使用K-means聚类算法分别对饭堂和宿舍楼进行聚类,聚类数量K可按不同学校具体情况进行调整;根据聚类结果生成地点映射表,该地点映射表包含索引ID,取餐地点和派送地点三项;其中,索引ID作为订单的分配类别,取餐地点为饭堂聚类后的结果,派送地点为宿舍楼聚类的结果;根据订单信息的取餐地点及派送地点,参照地点映射表,对订单进行类别分配;

S23、更新骑手优先级,其中,针对接单状态骑手,按照当次已有订单数量原则,对接单骑手进行排序;空闲状态骑手则根据当日已派单数量、平均派单时长,用户评分等信息对空闲骑手进行排序。

进一步地,所述读取订单和骑手信息具体过程为:

1)从订单列表中提取未派送的订单,并提取订单信息,订单信息包括接单时间、备餐时间、取餐地点、派送地点,形成订单列表;

2)提取骑手列表,若1)或2)结果为空,则退出。

4、如权利要求1所述的面向高校园区的配餐订单智能派送方法,其特征在于,所述步骤S3中,订单送达时间的预测过程为:订单时间包括取餐时间和送餐时间,其中送餐时间在校园外卖配送场景中各骑手的开销相对固定;订单时间的差异主要由取餐时间决定;通过神经网络模型预测订单时间,从而为下步分配合适的骑手提供基础。

进一步地,所述神经网络模型输入特征值形成的一维向量,网络结构采用包含10个神经元的单层全连接神经网络,使用线性整流激活函数;单个神经元的输出可以表示为max(0,w

其中,θ为模型参数,η为学习率,J(·)为损失函数;设定学习率为0.001作为模型训练的参数;

选择均方方差MSE函数作为损失函数,该函数表示为:

其中,yi为预测输出,

进一步地,所述步骤S5中,订单分配的具体过程为:

首先,当接单状态骑手数量为0,空闲状态骑手当日已接单数量显著高于其他骑手并且没有即将超时的订单;算法退出,等待下一个时间片;否则根据下单时间对订单列表中的订单进行排序;

其次,遍历订单列表,对订单中每一订单B判断其类别能否与处于接单状态的某些骑手所接订单的类别相匹配;若匹配成功,根据骑手优先级选择一位骑手Q;然后判断骑手Q所持订单是否会超时,若不超时,实施分配并更新骑手Q的接单数量,否则尝试将订单B分配给其他骑手,如果分配失败,将订单B推迟到下一个时间片处理;如果订单B与处于接单状态的某些骑手所接订单的类别不匹配,则根据骑手优先级将此订单分配给一位空闲状态的骑手并将此骑手记为接单状态,如果分配失败,将此订单推迟到下一个时间片处理;

然后遍历接单骑手,对处于未取餐状态的订单按取餐地点进行排序,并通知骑手取餐;如果此骑手所接订单数量已达到要求或者存在至少一个订单已达最迟派送时间,则通知此骑手进行派送,并将其记为送餐状态。

进一步地,所述步骤S5中,骑手路径规划的具体过程为:在给每一个骑手分配完成订单之后,系统为这些骑手规划配送路径,使所有订单最快到达;同时一旦路线确定,系统给用户提供准确的到达时间估计;将一次派单中所有的送餐目的地看成一个点集,骑手需要到达这里的每一个点一次且仅为一次;

使用遗传算法解决上述问题,首先对送餐地点进行编码,假设共有n个目的地,起始点记为0,给这n个目的地编号0,1,2,3,…,n;至此形成一条染色体{0,1,2,3,…,n},它代表从起点0出发经过0,1,2,3,…,n一直回到原点,即一条染色体标记了一条从原点出发回到原点的路径;其次使用改良圈算法缩小遗传算法求解的数据规模,加快算法的求解速度与精度;

基本过程如下:

(1)构建送餐路径的哈密顿图:C=V

(2)对于1≤i≤i+1≤j≤n,满足W(V

(3)重复(2)直到无法构建新的送餐路径哈密顿图后,采用遗传算法求解最佳送餐路径。

进一步地,遗传算法求解最佳送餐路径具体过程为:

第一步,设置最大进化代数T,交叉概率,变异概率,根据改良圈算法得到的初始送餐路径,随机生成M个送餐路径作为初始种群P;

第二步,计算种群P中各个路径的适应度,适应度为送餐路径的总路径长度;

第三步,根据适应度大小排序种群P,选择最优个体遗传到下一代种群;

第四步,进行交叉运算和变异运算,生成新的个体,将新个体遗传到下一代种群;重复第一步到第四步直到遗传代数为T,选择具有最佳适应度的送餐路径为最优解。

本发明还提供了一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行权利要求1~8任意一项所述面向高校园区的配餐订单智能派送方法,包括如下步骤:

步骤一、判断是否有可派单骑手,如果没有可派单骑手退出流程,等待下一个时间片;如果有可派单骑手则进入以下步骤;

步骤二、进行派单算法初始化,读取订单和骑手数据,基于K-means聚类算法划分取餐区域和送餐区域,评估骑手接单优先级;

步骤三、订单送达时间进行预测,构建基于神经网络的取餐时间预测模型,预测订单送达时间;

步骤四、基于运筹优化实现校园外卖配送订单的分配;

步骤五、基于遗传算法规划骑手送餐路径,规划骑手送餐的最短路径。

本发明还提供了一种存储在计算机可读介质上的计算机程序产品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施如权利要求1~8所述的面向高校园区的配餐订单智能派送方法。

本发明中,地点映射表的构建可以由其余聚类算法计算获得,如基于密度的聚类算法,凝聚层次聚类等等。本发明中骑手优先级算法可以由骑手本日累计接单数量计算获得。

本发明中的订单时间预测模型可以修改模型的参数,如隐藏层的数量,神经元的数量,以及修改模型的激活函数等等。在技术上使用k-means聚类算法,对订单的派送地点及目的地分别进行聚类,并根据聚类结果对订单进行分类,为订单高效分配提供基础。保证骑手送餐的所有订单的取餐地点与目的地具备一致性,提高骑手的送餐效率;本发明使用神经网络构建订单时间预测模型,并设计训练样本的特征值,并进行调参优化等工作从而准确预测每个订单的取餐时间,并估计订单生命周期的总时间,从而分配合适的骑手,保证订单的送达率。本发明基于运筹优化原理设计了适应校园外卖配送场景的订单分配方法。由算法逻辑控制订单的分配,取缔人工方式进行派单,降低了人力成本。同时本发明基于遗传算法设计了骑手送餐路径规划方法。一方面帮助新骑手到达目的地,熟悉校园环境,另一方面保证订单的送达率,避免订单超时。

本发明综合考虑配送有关的各类信息,包括骑手、商家、用户、订单等,在此基础上,做出全局较优的方案,从而提升配送效率和配送体验,减少配送成本;同时本发明降低了调度员的工作量以及专业技能需求,从而降低人工成本。本发明解决了抢单模式下订单分配方法仅由骑手个人获取的局部信息决定,导致大量订单无人接单和无法按时完成订单的问题;解决了人工分配的订单分配方法下使用调度员人工成本过高的问题;解决了美团订单智能分配系统开发和后期系统维护成本高的问题。同时,该方法已应用于多所高校,并有显著的效果。

附图说明

图1是本发明实施例提供的面向高校园区的配餐订单智能派送方法流程图。

图2是本发明实施例提供的面向高校园区的配餐订单智能派送技术路线示意图。

图3是本发明实施例提供的训练损失曲线图。

图4是本发明实施例提供的订单分配流程图。

图5是本发明实施例提供的模拟送餐过程的方式对比示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例1

如图1所示,本发明实施例提供的一种面向高校园区的配餐订单智能派送方法,包括:

S101:判断是否有可派单骑手,如果没有可派单骑手退出流程,等待下一个时间片;如果有可派单骑手则进入以下步骤;

S102:进行派单算法初始化,读取订单和骑手数据,基于K-means聚类算法划分取餐区域和送餐区域,评估骑手接单优先级;

S103:订单送达时间进行预测,构建基于神经网络的取餐时间预测模型,预测订单送达时间;

S104:基于运筹优化设计针对校园外卖配送的订单分配方法;

S105:基于遗传算法规划骑手送餐路径,规划骑手送餐的最短路径。

本发明实施例提供的S102中,派单算法初始化具体过程为:

首先读取订单和骑手信息:1)提取未送餐订单:从订单列表中提取未派送的订单。提取订单信息包括接单时间、备餐时间、取餐地点、派送地点,形成订单列表;2)提取骑手列表;3),1)或2)结果为空,则退出;其次初始化地点映射表:首先使用K-means聚类算法分别对饭堂和宿舍楼进行聚类,聚类数量K可按不同学校具体情况进行调整;根据聚类结果生成地点映射表,地点映射表包含索引ID,取餐地点和派送地点三项;其中索引ID作为订单的分配类别,取餐地点为饭堂聚类后的结果,派送地点为宿舍楼聚类的结果;其次根据订单信息的取餐地点及派送地点,参照地点映射表,对订单进行类别分配;最后更新骑手优先级:接单状态骑手优先级算法:按照当次已有订单数量(数量高则优先级高)原则,对接单骑手进行排序;空闲状态骑手优先级算法:根据当日已派单数量、平均派单时长,用户评分等信息对空闲骑手进行排序。

本发明实施例提供的S103中,订单时间预测具体过程为:

订单时间分为取餐时间和送餐时间,其中送餐时间在校园外卖配送场景中各骑手的开销相对固定;订单时间的差异主要由取餐时间决定;通过神经网络模型预测订单时间,从而为下步分配合适的骑手提供基础。

其中,神经网络模型输入特征值形成的一维向量,网络结构采用包含10个神经元的单层全连接神经网络,使用线性整流激活函数(Rectified Linear Unit,ReLU);单个神经元的输出可以表示为max(0,w

其中,θ为模型参数,η为学习率,J(·)为损失函数;设定学习率为0.001作为模型训练的参数;

选择均方方差(Mean Square Error,MSE)函数作为损失函数,该函数可表示为:

其中,yi为预测输出,

本发明实施例提供的S104中,分配订单具体过程为:

首先,当接单状态骑手数量为0,空闲状态骑手当日已接单数量显著高于其他骑手并且没有即将超时的订单;算法退出,等待一个时间片;否则根据下单时间对订单列表中的订单进行排序;

其次,遍历订单列表,对订单中每一订单B判断其类别能否与处于接单状态的某些骑手所接订单的类别相匹配;若匹配成功,根据骑手优先级选择一位骑手Q;然后判断骑手Q所持订单是否会超时,若不超时,实施分配并更新骑手Q的接单数量,否则尝试将订单B分配给其他骑手,如果分配失败,将订单B推迟到下一个时间片处理;如果订单B与处于接单状态的某些骑手所接订单的类别不匹配,则根据骑手优先级将此订单分配给一位空闲状态的骑手并将此骑手记为接单状态,如果分配失败,将此订单推迟到下一个时间片处理;

然后遍历接单骑手,对处于未取餐状态的订单按取餐地点进行排序,并通知骑手取餐;如果此骑手所接订单数量已达到要求或者存在至少一个订单已达最迟派送时间,则通知此骑手进行派送,并将其记为送餐状态。

本发明实施例提供的S105中,骑手路径规划的具体过程为:

在给每一个骑手分配完成订单之后,系统为这些骑手规划配送路径,使所有订单最快到达;同时一旦路线确定,系统给用户提供准确的到达时间估计;将一次派单中所有的送餐目的地看成一个点集,骑手需要到达这里的每一个点一次且仅为一次;

使用遗传算法解决旅行商问题,对送餐地点进行编码,假设共有n个目的地,起始点记为0,给这n个目的地编号0,1,2,3,…,n;至此形成一条染色体{0,1,2,3,…,n},它代表从起点0出发经过0,1,2,3,…,n一直回到原点,即一条染色体标记了一条从原点出发回到原点的路径;其次使用改良圈算法缩小遗传算法求解的数据规模,加快算法的求解速度与精度。

基本过程如下:

(1)构建送餐路径的哈密顿图:C=V

(2)对于1≤i≤i+1≤j≤n,满足W(V

(3)重复(2)直到无法构建新的送餐路径哈密顿图后,采用遗传算法求解最佳送餐路径,具体的:第一步,设置最大进化代数T,交叉概率,变异概率,根据改良圈算法得到的初始送餐路径,随机生成M个送餐路径作为初始种群P;第二步,计算种群P中各个路径的适应度,适应度为送餐路径的总路径长度;第三步,根据适应度大小排序种群P,选择最优个体遗传到下一代种群;第四步,进行交叉运算和变异运算,生成新的个体,将新个体遗传到下一代种群;重复第一步到第四步直到遗传代数为T,选择具有最佳适应度的送餐路径为最优解。

如图2所示,本发明按时间片进行派单。首先判断是否有可派单骑手,如果没有可派单骑手退出流程,等待下一个时间片。如果有可派单骑手则进入图2所示流程:(1)派单算法初始化:读取订单和骑手数据,基于K-means聚类算法划分取餐区域和送餐区域,评估骑手接单优先级;(2)订单送达时间预测:构建基于神经网络的取餐时间预测模型,预测订单送达时间;(3)分配订单:基于运筹优化设计针对校园外卖配送的订单分配方法;(4)规划骑手送餐路径:基于遗传算法规划骑手送餐的最短路径。如图2为一个时间片的处理流程。

本发明使用的数据结构及相应参数,见表1。

表1本发明使用的数据结构及参数描述表

步骤一:首先读取订单和骑手信息:(i)提取未送餐订单:从订单列表中提取未派送的订单。提取订单信息包括接单时间、备餐时间、取餐地点、派送地点,形成订单列表;(ii)提取骑手列表。(iii):(i)或(ii)结果为空,则退出。其次初始化地点映射表:首先使用K-means聚类算法分别对饭堂和宿舍楼进行聚类,聚类数量K可按不同学校具体情况进行调整。根据聚类结果生成地点映射表,地点映射表包含索引ID,取餐地点和派送地点三项。其中索引ID作为订单的分配类别,取餐地点为饭堂聚类后的结果,派送地点为宿舍楼聚类的结果。其次根据订单信息的取餐地点及派送地点,参照地点映射表,对订单进行类别分配。最后更新骑手优先级:(i)接单状态骑手优先级算法:按照当次已有订单数量(数量高则优先级高)原则,对接单骑手进行排序;(ii)空闲状态骑手优先级算法:根据当日已派单数量、平均派单时长,用户评分等信息对空闲骑手进行排序。

步骤二:订单时间预测:订单时间分为取餐时间和送餐时间,其中送餐时间在校园外卖配送场景中各骑手的开销相对固定,因此订单时间的差异主要由取餐时间决定。此步通过神经网络模型预测订单时间,从而为下步分配合适的骑手提供基础。下面介绍订单时间预测模型,训练样本特征值如表2;

表2训练样本特征值

上述特征值形成一维向量后输入神经网络模型中。

网络结构采用包含10个神经元的单层全连接神经网络,使用线性整流激活函数(Rectified Linear Unit,ReLU)。因此单个神经元的输出可以表示为max(0,w

其中,θ为模型参数,η为学习率,J(·)为损失函数;设定学习率为0.001作为模型训练的参数。设定学习率为0.001作为模型训练的参数。

选择均方方差(Mean Square Error,MSE)函数作为损失函数,该函数可表示为

其中,yi为预测输出,

随着训练次数的上升,损失值有明显的下降。

步骤三:分配订单:首先,当接单状态骑手数量为0,空闲状态骑手当日已接单数量显著高于其他骑手并且没有即将超时的订单,算法退出,等待一个时间片,否则根据下单时间对订单列表中的订单进行排序。其次,遍历订单列表,对订单中每一订单B判断其类别能否与处于接单状态的某些骑手所接订单的类别相匹配。若匹配成功,根据骑手优先级选择一位骑手Q。然后判断骑手Q所持订单是否会超时,若不超时,实施分配并更新骑手Q的接单数量,否则尝试将订单B分配给其他骑手,如果分配失败,将订单B推迟到下一个时间片处理。如果订单B与处于接单状态的某些骑手所接订单的类别不匹配,则根据骑手优先级将此订单分配给一位空闲状态的骑手并将此骑手记为接单状态,如果分配失败,将此订单推迟到下一个时间片处理。然后遍历接单骑手,对处于未取餐状态的订单按取餐地点进行排序,并通知骑手取餐。如果此骑手所接订单数量已达到要求或者存在至少一个订单已达最迟派送时间,则通知此骑手进行派送,并将其记为送餐状态,订单分配流程图4所示。

步骤四:骑手路径规划。在给每一个骑手分配完成订单之后,系统需要进一步为这些骑手规划配送路径,从而保证所有订单最快到达。同时一旦路线确定,系统也可以给用户提供准确的到达时间估计。将一次派单中所有的送餐目的地看成一个点集,骑手需要到达这里的每一个点一次且仅为一次。至此,问题可以看作旅行商问题(Traveling SalesmanProblem,TSP)。此处,使用遗传算法(Genetic Algorithm,GA)解决这一问题。首先对送餐地点进行编码,假设共有n个目的地,起始点记为0,给这n个目的地编号0,1,2,3,…,n。至此可以形成一条染色体{0,1,2,3,…,n},它代表从起点0出发经过0,1,2,3,…,n一直回到原点,即一条染色体标记了一条从原点出发回到原点的路径。其次使用改良圈算法缩小遗传算法求解的数据规模,加快算法的求解速度与精度。

算法基本原理如下:

(1)构建送餐路径的哈密顿图:C=V

(2)对于1≤i≤i+1≤j≤n,满足W(V

(3)重复(2)直到无法构建新的送餐路径哈密顿图,最后使用遗传算法求解最佳送餐路径。算法描述如下:(i)设置最大进化代数T,交叉概率,变异概率,根据改良圈算法得到的初始送餐路径,随机生成M个送餐路径作为初始种群P;(ii)计算种群P中各个路径的适应度,适应度为送餐路径的总路径长度;(iii)根据适应度大小排序种群P,选择最优个体遗传到下一代种群;(iv)进行交叉运算和变异运算,生成新的个体,将新个体遗传到下一代种群。重复(i)到(iv)直到遗传代数为T,选择具有最佳适应度的送餐路径为最优解。

如图5所示,通过模拟送餐过程的方式证明本方法的有效性。送餐场景描述如下:为模拟校园外卖的场景,现设定两个订单生成峰区模拟中晚订单高峰期。在订单生成峰区设定每分钟生成10-15个订单,其余时间每分钟生成0-5个订单,共生成300个订单。固定订单的取餐时间为5分钟。设骑手数量分别为8,9,10,送餐时间分别为10,16,20分钟。算法实验结果如图5所示。Y轴为每单平均时长,X轴为订单送餐时间。在送餐时间为10分钟的条件下,保证订单的平均送达时间在15分钟左右。随着送餐时间的增加,订单的平均送达时间逐渐增长,并且骑手的数量减少将明显增加订单的平均送达时间。在送餐时间为20分钟,骑手数量为8的条件下,仍能保证订单的平均送达时间在40分钟以内。

应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

技术分类

06120113677424