用于生成信息的方法和装置与流程

文档序号:16884168发布日期:2019-02-15 22:29阅读:136来源:国知局
用于生成信息的方法和装置与流程

本申请实施例涉及物流技术领域,具体涉及用于生成信息的方法和装置。



背景技术:

随着线上到线下(onlinetooffline,o2o)和新零售的持续发展,每天从中心仓库将货物配送至分散于城市内各个商户的问题规模也在急剧上升。新零售具有路径短、货物普遍偏小、要求即时配送,且送货点大量聚集等特点。如何对大规模的配送问题进行高效的配送调度规划,以节约配送成本,是一个急需解决的问题。目前可以基于启发式算法来求解配送方案,也可以通过人工的方式进行配送调度规划。启发式算法可以在合理的时间内对中小规模的配送调度任务给出较好的配送调度方案,但是随着配送调度任务的规模扩大,解空间呈指数增长,求解时间急剧增加。使用人工的方式进行配送调度规划,其结果的优劣很大程度取决于运营人员本身的经验积累与素质高低,严重依赖资深员工。对于订单量较大的场景,采用人工经验产生的调度方案非常不可控,无法有效降低配送成本。



技术实现要素:

本申请实施例提出了用于生成信息的方法和装置。

第一方面,本申请实施例提供了一种用于生成信息的方法,该方法包括:接收目标地点信息集合和子集上限值,其中,上述目标地点信息集合中的目标地点信息包括目标地点的标识;响应于确定上述目标地点信息集合中目标地点信息的数量大于上述子集上限值,将上述目标地点信息集合划分为至少两个目标地点信息子集;对于至少两个目标地点信息子集中的目标地点信息子集,基于启发式算法求解针对该目标地点信息子集的车辆调度方案,其中,车辆调度方案包括车辆的行驶线路和目标地点标识序列;合并针对至少两个目标地点信息子集得到的至少两个车辆调度方案,得到合并后的车辆调度方案;将合并后的车辆调度方案作为针对上述目标地点信息集合的初始车辆调度方案,基于启发式算法对上述初始车辆调度方案进行优化,得到针对上述目标地点信息集合的最终车辆调度方案。

在一些实施例中,上述将上述目标地点信息集合划分为至少两个目标地点信息子集,包括:根据上述子集上限值确定目标地点信息子集的划分数量;基于上述划分数量和聚类算法对上述目标地点信息集合进行划分,得到上述划分数量个目标地点信息子集。

在一些实施例中,上述根据上述子集上限值确定目标地点信息子集的划分数量,包括:确定上述目标地点信息集合中目标地点信息的数量与上述子集上限值的比值,以及对上述比值向下取整,得到第一值;将上述第一值与预设值之和作为目标地点信息子集的划分数量。

在一些实施例中,上述方法还包括:接收子集下限值,其中,上述子集下限值小于或等于上述子集上限值;以及在将上述目标地点信息集合划分为至少两个目标地点信息子集之后,上述方法还包括:对于得到的上述至少两个目标地点信息子集中的目标地点信息子集执行以下步骤:将该目标地点信息子集中目标地点信息的数量分别与上述子集下限值和上述子集上限值进行对比;响应于确定该目标地点信息子集中目标地点信息的数量大于上述子集上限值,对该目标地点信息子集进行划分;响应于确定该目标地点信息子集中目标地点信息的数量小于上述子集下限值,将该目标地点信息子集合并到其他目标地点信息子集。

在一些实施例中,上述对于上述至少两个目标地点信息子集中的目标地点信息子集,基于启发式算法求解针对该目标地点信息子集的车辆调度方案,包括:基于启发式算法,并行求解至少两个目标地点信息子集中目标地点信息子集的车辆调度方案。

在一些实施例中,上述基于启发式算法求解针对该目标地点信息子集的车辆调度方案,包括:接收模型设置参数和算法参数,其中,上述模型设置参数包括代价函数和约束条件,上述算法参数包括迭代次数;使用上述代价函数和上述约束条件建立数学模型;利用上述算法参数和启发式算法对上述数学模型进行求解,得到车辆调度方案,其中,得到的车辆调度方案包括车辆的行驶线路和目标地点标识序列。

在一些实施例中,上述代价函数为总成本,其中,上述总成本由线路的总行驶距离、线路的单位里程成本以及线路上车辆的折旧成本计算得到。

第二方面,本申请实施例提供了一种用于生成信息的装置,上述装置包括:第一接收单元,被配置成接收目标地点信息集合和子集上限值,其中,上述目标地点信息集合中的目标地点信息包括目标地点的标识;划分单元,被配置成响应于确定上述目标地点信息集合中目标地点信息的数量大于上述子集上限值,将上述目标地点信息集合划分为至少两个目标地点信息子集;求解单元,被配置成对于至少两个目标地点信息子集中的目标地点信息子集,基于启发式算法求解针对该目标地点信息子集的车辆调度方案,其中,车辆调度方案包括车辆的行驶线路和目标地点标识序列;合并单元,被配置成合并针对至少两个目标地点信息子集得到的至少两个车辆调度方案,得到合并后的车辆调度方案;优化单元,被配置成将合并后的车辆调度方案作为针对上述目标地点信息集合的初始车辆调度方案,基于启发式算法对上述初始车辆调度方案进行优化,得到针对上述目标地点信息集合的最终车辆调度方案。

在一些实施例中,上述划分单元包括:确定子单元,被配置成根据上述子集上限值确定目标地点信息子集的划分数量;划分子单元,被配置成基于上述划分数量和聚类算法对上述目标地点信息集合进行划分,得到上述划分数量个目标地点信息子集。

在一些实施例中,上述确定子单元进一步被配置成:确定上述目标地点信息集合中目标地点信息的数量与上述子集上限值的比值,以及对上述比值向下取整,得到第一值;将上述第一值与预设值之和作为目标地点信息子集的划分数量。

在一些实施例中,上述装置还包括:第二接收单元,被配置成接收子集下限值,其中,上述子集下限值小于或等于上述子集上限值;执行单元,被配置成对于得到的上述至少两个目标地点信息子集中的目标地点信息子集执行以下步骤:将该目标地点信息子集中目标地点信息的数量分别与上述子集下限值和上述子集上限值进行对比;响应于确定该目标地点信息子集中目标地点信息的数量大于上述子集上限值,对该目标地点信息子集进行划分;响应于确定该目标地点信息子集中目标地点信息的数量小于上述子集下限值,将该目标地点信息子集合并到其他目标地点信息子集。

在一些实施例中,上述求解单元进一步被配置成:基于启发式算法,并行求解至少两个目标地点信息子集中目标地点信息子集的车辆调度方案。

在一些实施例中,上述求解单元进一步被配置成:接收模型设置参数和算法参数,其中,上述模型设置参数包括代价函数和约束条件,上述算法参数包括迭代次数;使用上述代价函数和上述约束条件建立数学模型;利用上述算法参数和启发式算法对上述数学模型进行求解,得到车辆调度方案,其中,得到的车辆调度方案包括车辆的行驶线路和目标地点标识序列。

在一些实施例中,上述代价函数为总成本,其中,上述总成本由线路的总行驶距离、线路的单位里程成本以及线路上车辆的折旧成本计算得到。

第三方面,本申请实施例提供了一种设备,该设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。

第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。

本申请实施例提供的用于生成信息的方法和装置,首先接收目标地点信息集合和子集上限值,响应于确定目标地点信息集合中目标地点信息的数量大于子集上限值,将目标地点信息集合划分为至少两个目标地点信息子集。而后,对于至少两个目标地点信息子集中的每一个目标地点信息子集,基于启发式算法求解针对该目标地点信息子集的车辆调度方案。然后,合并针对至少两个目标地点信息子集得到的至少两个车辆调度方案,得到合并后的车辆调度方案。最后,将合并后的车辆调度方案作为针对目标地点信息集合的初始车辆调度方案,基于启发式算法对初始车辆调度方案进行优化,得到针对目标地点信息集合的最终车辆调度方案。从而实现了大规模的配送问题的车辆调度方案的快速生成。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请的一个实施例可以应用于其中的示例性系统架构图;

图2是根据本申请的用于生成信息的方法的一个实施例的流程图;

图3是根据本申请的用于生成信息的方法的一个应用场景的示意图;

图4是根据本申请的用于生成信息的方法的又一个实施例的流程图;

图5是根据本申请的用于生成信息的装置的一个实施例的结构示意图;

图6是适于用来实现本申请实施例的设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请实施例的用于生成信息的方法或用于生成信息的装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如车辆调度类软件、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的信息提供支持的后台服务器。后台服务器可以对接收到的目标地点信息集合、子集上限值等数据进行分析等处理,并将处理结果(例如最终车辆调度方案)反馈给终端设备。

需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本申请实施例所提供的用于生成信息的方法可以由终端设备101、102、103执行,也可以由服务器105执行。相应地,用于生成信息的装置,可以设置于终端设备101、102、103中,也可以设置于服务器105中,此处不做限定。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的用于生成信息的方法的一个实施例的流程200。该用于生成信息的方法,包括以下步骤:

步骤201,接收目标地点信息集合和子集上限值。

在本实施例中,用于生成信息的方法的执行主体(例如图1所示的终端设备101、102、103或服务器105)可以接收目标地点信息集合和子集上限值。作为示例,当执行主体为图1所示的终端设备101、102、103时,执行主体可以直接接收用户所输入的目标地点信息集合和子集上限值。当执行主体为图1所示的服务器105时,执行主体可以通过有线连接方式或者无线连接方式从用户利用其进行信息输入的终端接收目标地点信息集合和子集上限值。

在这里,目标地点信息集合中的各目标地点信息对应的目标地点可以是指需要配送货物的客户点。例如,在物流配送场景中,目标地点的位置信息可以为物品订单配送的目标地址、以及目标地点的坐标等等,例如,居民楼、商业楼、货柜等等。为了方便调度,可以为每一个目标地点设置对应的唯一标识。目标地点的标识可以包括但不限于以下各项:数字、字母、文字等等。在这里,目标地点信息集合中的各目标地点信息可以包括但不限于目标地点的位置信息、目标地点的标识、以及目标地点所对应的物品订单的订单标识和物品重量等等。订单标识可以用于唯一标识一个订单,例如,订单号。在这里,子集上限值可以是一个数值,用于表征将目标地点信息集合划分为至少两个子集之后,各个子集可以包含的目标地点信息的数量的最大值。

步骤202,响应于确定目标地点信息集合中目标地点信息的数量大于子集上限值,将目标地点信息集合划分为至少两个目标地点信息子集。

在本实施例中,执行主体可以将目标地点信息集合中的目标地点信息的数量与子集上限值进行比较。响应于确定目标地点信息集合中目标地点信息的数量大于子集上限值,执行主体可以将目标信息集合划分为至少两个目标地点信息子集。作为示例,执行主体可以根据目标地点信息集合中的目标地点信息所对应的目标地点的位置信息进行划分,例如,将距离小于一定阈值的几个目标地点对应的目标地点信息划分为一个目标地点信息子集。

通常,响应于确定目标地点信息集合中目标地点信息的数量小于或等于子集上限值,执行主体可以直接使用启发式算法求解针对目标地点信息集合的车辆调度方案。需要说明的是,使用启发式算法求解车辆调度方案是目前广泛研究和应用的技术,此处不再赘述。

在本实施例的一些可选的实现方式中,将目标地点信息集合划分为至少两个目标地点信息子集,可以通过以下方式实现:

首先,根据子集上限值确定目标地点信息子集的划分数量。作为示例,上述执行主体可以根据上述目标地点信息集合中的目标地点信息的数量和上述子集上限值,通过各种方式确定目标地点信息子集的划分数量。可以理解的是,确定的划分数量需要满足以下公式:划分数量×子集上限值≥目标地点信息集合中的目标地点信息的数量。

然后,基于划分数量和聚类算法对目标地点信息集合进行划分,得到划分数量个目标地点信息子集。在这里,上述执行主体可以以上述划分数量作为目标簇数k,使用聚类算法对上述目标地点信息集合中的目标地点信息进行聚类。作为示例,可以按目的地点信息中的目标地点的位置信息进行聚类,从而得到目标簇数k个簇,簇即为目标地点信息子集。在这里,上述聚类算法可以是各种聚类算法,包括但不限于:k-means(k均值)算法、k-means++算法、k-中心点聚类算法(k-medoide)、isodata算法等等。此外,聚类过程中所使用的距离计算方式可以包括但不限于:曼哈顿距离、欧几里得距离、球面直线距离、导航距离矩阵等等。

在一些可选的实现方式中,上述根据子集上限值确定目标地点信息子集的划分数量,可以具体包括以下内容:首先,上述执行主体可以确定上述目标地点信息集合中目标地点信息的数量与上述子集上限值的比值,以及对上述比值向下取整,得到第一值。然后,上述执行主体可以将上述第一值与预设值之和作为目标地点信息子集的划分数量。

在这里,上述预设值为正整数,预设值的大小可以根据实际需要进行设定,此处不做限定。作为示例,上述预设值的大小可以为1,此时,目标地点信息子集的划分数量k可以通过以下公式(1)计算得到:

其中,ntotal表示目标地点信息集合中目标地点信息的数量,nclustermax表示子集上限值。

在本实施例的一些可选的实现方式中,上述用于生成信息的方法还可以包括图2中未示出的以下步骤:

上述执行主体可以接收子集下限值,其中,上述子集下限值可以小于或等于上述子集上限值。在这里,子集下限值可以是一个数值,用于表征将目标地点信息集合划分为至少两个子集之后,各个子集可以包含的目标地点信息的数量的最小值。以及

在步骤202之后,上述用于生成信息的方法还可以包括图2中未示出的以下内容:

对于步骤202中得到的至少两个目标地点信息子集中的每一个目标地点信息子集,上述执行主体可以执行以下步骤:

步骤s1:将该目标地点信息子集中目标地点信息的数量分别与上述子集下限值和上述子集上限值进行对比。

步骤s2:响应于确定该目标地点信息子集中目标地点信息的数量大于上述子集上限值,上述执行主体可以对该目标地点信息子集进行划分。作为示例,上述执行主体可以采用各种方式将该目标地点信息子集中的多条目标地点信息划分为两个或多个目标地点信息子集。例如,随机划分。又例如,按该目标地点信息子集中的各个目标地点信息所对应的目标地点之间的距离进行划分等等。再例如,使用聚类算法对该目标地点信息子集进行划分。

步骤s3:响应于确定该目标地点信息子集中目标地点信息的数量小于上述子集下限值,将该目标地点信息子集合并到其他目标地点信息子集。作为示例,上述执行主体可以采用各种方将该目标地点信息子集合并到其他目标地点信息子集。例如,上述执行主体可以首先计算该目标地点信息子集的聚类中心与其他目标地点信息子集的聚类中心之间的距离,并将距离最小值对应的目标地点信息子集作为待合并目标地点信息子集。之后,将该目标地点信息子集与上述待合并目标地点信息子集进行合并。

需要说明的是,上述执行主体可以重复执行步骤s1、步骤s2和步骤s3,直到上述至少两个目标地点信息子集中的每一个目标地点信息子集中包含的目标地点信息的数量都在上述子集下限值和上述子集上限值之间。通过本实现方式,可以保证最终得到的至少两个目标地点信息子集中的每一个目的地点信息子集中包含的目标地点信息的数量大致相同。这样,在使用启发式算法针对各个目标地点信息子集求解车辆调度方案时,可以避免由于目标地点信息的数量过大造成求解车辆调度方案耗时过长的问题。

步骤203,对于至少两个目标地点信息子集中的目标地点信息子集,基于启发式算法求解针对该目标地点信息子集的车辆调度方案。

在本实施例中,对于步骤202中划分得到的至少两个目标地点信息子集中的每一个目标地点信息子集,执行主体可以基于启发式算法求解针对该目标地点信息子集的车辆调度方案。其中,求解得到的车辆调度方案可以包括至少一辆车的车辆的行驶路线和目标地点标识序列。此处,目标地点标识序列可以用于表征车辆沿行驶路线行驶过程中所需访问的各个目标地点的顺序。在这里,上述启发式算法可以包括但不限于遗传算法、模拟退火算法、蚁群算法、禁忌搜索算法等等。需要说明的是,基于启发式算法求解车辆调度方案的技术是目前广泛研究和应用的公知技术,因此这里不再赘述。

在本实施例的一些可选的实现方式中,上述基于启发式算法求解针对该目标地点信息子集的车辆调度方案,可以具体包括以下内容:

首先,上述执行主体可以接收模型设置参数和算法参数,其中,上述模型设置参数可以包括代价函数和约束条件,上述算法参数可以包括迭代次数。然后,上述执行主体可以使用上述代价函数和上述约束条件建立数学模型。最后,上述执行主体可以利用上述算法参数和启发式算法对上述数学模型进行求解,得到车辆调度方案,其中,得到的车辆调度方案包括车辆的行驶线路和目标地点标识序列。

在这里,代价函数可以用于表示车辆调度方案的优秀程度。例如,代价函数的值越小,表示车辆调度方案的优秀程度越高。实践中,代价函数可以根据实际需要进行设定。例如,可以设定以下之一作为代价函数:1)车辆行驶总距离,表示所有参与调度的车辆行驶距离之和;2)使用车辆数,表示参与调度的车辆的总数量;3)车辆距离极差,表示车辆调度方案中行驶距离最长与行驶距离最短的车辆之间的里程差,该值越小,代表该车辆调度方案更能兼顾车队内的负载均衡。此外,某个车辆调度方案的优劣评价指标还可以包括但不限于以下内容:平均重量装载率、平均容积装载率。其中,平均重量装载率,单辆车的重量装载率为运送订单的货物重量之和与车辆限重的比值,平均则为每辆车重量装载率的平均值,该项指标越高方案越优。平均容积装载率,单辆车的容积装载率为运送订单的货物体积之和与车辆货箱额定容积的比值,再对所有车辆的容积装载率进行平均,该项指标越高表示方案越优秀。

约束条件可以用于表示对于求解车辆调度方案的各项限制,常以不等式或方程式的形式出现。实践中,可以根据实际需要设定约束条件,例如,可以设定以下一项或多项作为约束条件:参与调度的车辆不超过车辆总数,每个目标地点只能由一辆车访问一次,货物的时间窗约束,车辆的载重量约束,货物配送的优先级约束等等。

在实际应用中,上述执行主体使用代价函数和约束条件建立数学模型之后,可以利用算法参数和启发式算法对数学模型进行求解。在求解过程中,可以判断迭代次数是否达到算法参数所包括的迭代次数或执行结果是否满足截止条件,如果迭代次数达到算法参数所包括的迭代次数或执行结果满足截止条件,则输出车辆调度方案。其中,执行结果的截止条件可以根据实际应用场景的需求灵活设置,例如,执行结果的截止条件可以包括车辆调度方案的代价函数的值小于某一数值。

在一些可选的实现方式中,上述代价函数可以为总成本,其中,上述总成本由线路的总行驶距离、线路的单位里程成本以及线路上车辆的折旧成本计算得到。作为示例,假设总成本为cost,则cost的计算公式可以如公式(2)所示;

其中,route_distancei表示第i条线路的总行驶距离,unit_costi表示第i条线路上车辆的单位里程成本,fixed_costi表示第i条线路上车辆的固定折旧成本,n表示总的线路数量。

步骤204,合并针对至少两个目标地点信息子集得到的至少两个车辆调度方案,得到合并后的车辆调度方案。

在本实施例中,执行主体可以合并针对上述至少两个目标地点信息子集得到的至少两个车辆调度方案,得到合并后的车辆调度方案。作为示例,针对每一个目标地点信息子集,执行主体可以得到一个解的集合,该解的集合中包括至少一辆车辆的行驶线路和目标地点标识序列,将各个目标地点信息子集的解的集合进行合并,即可得到合并后的车辆调度方案。

步骤205,将合并后的车辆调度方案作为针对目标地点信息集合的初始车辆调度方案,基于启发式算法对初始车辆调度方案进行优化,得到针对目标地点信息集合的最终车辆调度方案。

在本实施例中,上述执行主体可以将步骤204合并后得到车辆调度方案作为针对目标地点信息集合的初始车辆调度方案,并基于启发式算法对上述初始车辆调度方案进行优化,从而得到针对目标地点信息集合的最终车辆调度方案。作为示例,执行主体可以将上述初始车辆调度方案作为针对目标地点信息集合的初始解,并从该初始解开始,使用启发式算法迭代寻优,从而得到针对目标地点信息集合的最终车辆调度方案。需要说明的是,此处所使用的启发式算法和步骤203中所使用的启发式算法可以相同,也不可以不同,此处不做限定。

继续参见图3,图3是根据本实施例的用于生成信息的方法的应用场景的一个示意图。在图3的应用场景中,用户首先向终端设备301输入目标地点信息集合和子集上限值,其中,目标地点信息集合包括目标地点的标识:s1、s2、s3、s4、s5、s6、s7、s8、s9和s10。其次,响应于确定目标地点信息集合中目标地点信息的数量大于子集上限值,终端设备301可以将目标地点信息集合划分为两个目标地点信息子集{s1、s2、s4、s5、s9}和{s3、s6、s7、s8、s10}。之后,对于两个目标地点信息子集中的每一个目标地点信息子集,终端设备301可以基于启发式算法求解针对该目标地点信息子集的车辆调度方案。对于目标地点信息子集{s1、s2、s4、s5、s9}得到车辆调度方案:车辆a的路线l1和目标地点标识序列s1、s4、s5,车辆b的路线l2和目标地点标识序列s2、s9。对于目标地点信息子集{s3、s6、s7、s8、s10}得到车辆调度方案:车辆c的路线l3和目标地点标识序列s3、s6、s8、s10、s7。然后,合并针对两个目标地点信息子集得到的两个车辆调度方案,得到合并后的车辆调度方案:车辆a的路线l1和目标地点标识序列s1、s4、s5,车辆b的路线l2和目标地点标识序列s2、s9,车辆c的路线l3和目标地点标识序列s3、s6、s8、s10、s7。最后,终端设备301将合并后的车辆调度方案作为针对目标地点信息集合的初始车辆调度方案,基于启发式算法对初始车辆调度方案进行优化,得到针对目标地点信息集合的最终车辆调度方案。

本申请的上述实施例提供的方法,通过将目标地点信息集合进行划分,再基于启发式算法求解划分得到的每一个目标地点信息子集的车辆调度方案,并将求解得到的多个车辆调度方案进行合并后,将合并后的车辆调度方案作为针对目标地点信息集合的初始车辆调度方案,再次使用启发式算法对初始车辆调度方案进行优化,得到针对目标地点信息集合的最终车辆调度方案。从而将大规模的配送问题分解为多个子问题,并将多个子问题的解合并后作为大规模配送问题的初始解,该初始解作为一个较优解,可以极大的加快启发式算法针对大规模配送问题求解时的速度,并且可以保证所生成的最终车辆调度方案更加优秀。

进一步参考图4,其示出了用于生成信息的方法的又一个实施例的流程400。该用于生成信息的方法的流程400,包括以下步骤:

步骤401,接收目标地点信息集合和子集上限值。

在本实施例中,步骤401与图2所示实施例中的步骤201原理类似,此处不再赘述。

步骤402,响应于确定目标地点信息集合中目标地点信息的数量大于子集上限值,将目标地点信息集合划分为至少两个目标地点信息子集。

在本实施例中,步骤402与图2所示实施例中的步骤202原理类似,此处不再赘述。

步骤403,基于启发式算法,并行求解至少两个目标地点信息子集中目标地点信息子集的车辆调度方案。

在本实施例中,对于步骤402中得到的至少两个目标地点信息子集。上述执行主体可以基于启发式算法,并行求解至少两个目标地点信息子集的车辆调度方案。作为示例,执行主体首先可以创建k个线程的线程池,而后创建k个启发式算法的算法实例,然后将每个目标地点信息子集分别作为各个启发式算法实例的输入,将k各启发式算法实例在k个线程上并行执行,从而得到k个目标地点信息子集的车辆调度方案。

步骤404,合并针对至少两个目标地点信息子集得到的至少两个车辆调度方案,得到合并后的车辆调度方案。

在本实施例中,步骤404与图2所示实施例中的步骤204原理类似,此处不再赘述。

步骤405,将合并后的车辆调度方案作为针对目标地点信息集合的初始车辆调度方案,基于启发式算法对初始车辆调度方案进行优化,得到针对目标地点信息集合的最终车辆调度方案。

在本实施例中,步骤405与图2所示实施例中的步骤205原理类似,此处不再赘述。

从图4中可以看出,与图2对应的实施例相比,本实施例中的用于生成信息的方法的流程400突出了并行求解至少两个目标地点信息子集的车辆调度方案的步骤。由此,本实施例描述的方案可以减少求解至少两个目标地点信息子集的车辆调度方案的时间,从而使得求解最终车辆调度方案的速度进一步加快。

进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于生成信息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的用于生成信息的装置500包括:第一接收单元501、划分单元502、求解单元503、合并单元504和优化单元505。第一接收单元501被配置成接收目标地点信息集合和子集上限值,其中,上述目标地点信息集合中的目标地点信息包括目标地点的标识;划分单元502被配置成响应于确定上述目标地点信息集合中目标地点信息的数量大于上述子集上限值,将上述目标地点信息集合划分为至少两个目标地点信息子集;求解单元503被配置成对于至少两个目标地点信息子集中的目标地点信息子集,基于启发式算法求解针对该目标地点信息子集的车辆调度方案,其中,车辆调度方案包括车辆的行驶线路和目标地点标识序列;合并单元504被配置成合并针对至少两个目标地点信息子集得到的至少两个车辆调度方案,得到合并后的车辆调度方案;优化单元505被配置成将合并后的车辆调度方案作为针对上述目标地点信息集合的初始车辆调度方案,基于启发式算法对上述初始车辆调度方案进行优化,得到针对上述目标地点信息集合的最终车辆调度方案。

在本实施例中,用于生成信息的装置500的第一接收单元501、划分单元502、求解单元503、合并单元504和优化单元505的具体处理及其所带来的技术效果可分别参考图2对应实施例中步骤201、步骤202、步骤203、步骤204和步骤205的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,上述划分单元502包括:确定子单元(图中未示出),被配置成根据上述子集上限值确定目标地点信息子集的划分数量;划分子单元(图中未示出),被配置成基于上述划分数量和聚类算法对上述目标地点信息集合进行划分,得到上述划分数量个目标地点信息子集。

在本实施例的一些可选的实现方式中,上述确定子单元进一步被配置成:确定上述目标地点信息集合中目标地点信息的数量与上述子集上限值的比值,以及对上述比值向下取整,得到第一值;将上述第一值与预设值之和作为目标地点信息子集的划分数量。

在本实施例的一些可选的实现方式中,上述装置500还包括:第二接收单元(图中未示出),被配置成接收子集下限值,其中,上述子集下限值小于或等于上述子集上限值;执行单元(图中未示出),被配置成对于得到的上述至少两个目标地点信息子集中的目标地点信息子集执行以下步骤:将该目标地点信息子集中目标地点信息的数量分别与上述子集下限值和上述子集上限值进行对比;响应于确定该目标地点信息子集中目标地点信息的数量大于上述子集上限值,对该目标地点信息子集进行划分;响应于确定该目标地点信息子集中目标地点信息的数量小于上述子集下限值,将该目标地点信息子集合并到其他目标地点信息子集。

在本实施例的一些可选的实现方式中,上述求解单元503进一步被配置成:基于启发式算法,并行求解至少两个目标地点信息子集中目标地点信息子集的车辆调度方案。

在本实施例的一些可选的实现方式中,上述求解单元503进一步被配置成:接收模型设置参数和算法参数,其中,上述模型设置参数包括代价函数和约束条件,上述算法参数包括迭代次数;使用上述代价函数和上述约束条件建立数学模型;利用上述算法参数和启发式算法对上述数学模型进行求解,得到车辆调度方案,其中,得到的车辆调度方案包括车辆的行驶线路和目标地点标识序列。

在本实施例的一些可选的实现方式中,上述代价函数为总成本,其中,上述总成本由线路的总行驶距离、线路的单位里程成本以及线路上车辆的折旧成本计算得到。

下面参考图6,其示出了适于用来实现本申请实施例的设备的计算机系统600的结构示意图。图6示出的设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本申请的方法中限定的上述功能。

需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一接收单元、划分单元、求解单元、合并单元和优化单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一接收单元还可以被描述为“接收目标地点信息集合和子集上限值的单元”。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:接收目标地点信息集合和子集上限值,其中,上述目标地点信息集合中的目标地点信息包括目标地点的标识;响应于确定上述目标地点信息集合中目标地点信息的数量大于上述子集上限值,将上述目标地点信息集合划分为至少两个目标地点信息子集;对于至少两个目标地点信息子集中的目标地点信息子集,基于启发式算法求解针对该目标地点信息子集的车辆调度方案,其中,车辆调度方案包括车辆的行驶线路和目标地点标识序列;合并针对至少两个目标地点信息子集得到的至少两个车辆调度方案,得到合并后的车辆调度方案;将合并后的车辆调度方案作为针对上述目标地点信息集合的初始车辆调度方案,基于启发式算法对上述初始车辆调度方案进行优化,得到针对上述目标地点信息集合的最终车辆调度方案。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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