CN109559078B - 一种车辆调度方法、装置、设备及存储介质 - Google Patents
一种车辆调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109559078B CN109559078B CN201811404905.XA CN201811404905A CN109559078B CN 109559078 B CN109559078 B CN 109559078B CN 201811404905 A CN201811404905 A CN 201811404905A CN 109559078 B CN109559078 B CN 109559078B
- Authority
- CN
- China
- Prior art keywords
- scheme
- vehicle
- sub
- scheduling
- dispatching
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 44
- 238000011156 evaluation Methods 0.000 claims description 20
- 238000013138 pruning Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005192 partition Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000005520 cutting process Methods 0.000 claims description 7
- 238000000354 decomposition reaction Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000003780 insertion Methods 0.000 description 11
- 230000037431 insertion Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- WWYNJERNGUHSAO-XUDSTZEESA-N (+)-Norgestrel Chemical compound O=C1CC[C@@H]2[C@H]3CC[C@](CC)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1 WWYNJERNGUHSAO-XUDSTZEESA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012733 comparative method Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 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/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
-
- 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
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种车辆调度方法、装置、设备及存储介质。该方法包括:构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案;计算所述单辆车调度方案的重心坐标;根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案;根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案,通过本发明的技术方案,能够实现对于实际的复杂场景,即使仅基于普通的个人计算平台,该算法也可以在短时间内给出高质量的调度方案。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种车辆调度方法、装置、设备及存储介质。
背景技术
在现代物流中,智能调度运输车辆对于提升消费体验和运营效率越来越重要。另一方面,人们不断增长的需求和企业运营压力也给调度***提出了更高的要求。以城市物流为例,当前的大规模车辆调度问题具有如下特点:
1)一个城市的物流中心每天需要为分布在城区的1000-2000余个企业级客户/大宗商品客户提供配送/揽收服务;
2)每个服务对象具有硬***时间窗要求,即配送车辆必须早于时间窗末尾到达服务对象;如果车辆到达时间早于时间窗起点,那么可能会引发等待代价;
3)每个车辆有容积和载重限制;
4)途中车辆必须始终保持有油/电,车辆可在加油站加油/充电站充电;
5)车辆从配送中心出发的时间必须晚于最早时间点(比如8点),完成配送/揽收任务后回到配送中心的时间也必须早于最晚时间点(比如24点);
6)同一车辆可以多次往返配送中心,每一次往返会引发相应的整理成本;
7)有不同类型的车辆,它们的载重/载容,运输成本,充电/加油成本和折旧成本不同;
8)需要考虑的物流成本有运输成本,等待成本,充电/加油成本,整理成本,车辆折旧成本。
调度的目标是给出车辆的服务计划(包括出发时间和服务客户的顺序),在满足各种限制的前提下,最大化地降低物流成本。由于问题复杂,各种因素相互制约,客户数量众多,现有的调度算法已难以适用。具体来说,传统的数学规划方法在可接受的时间内(30分钟)只能解决客户规模在50以下的问题,而对于客户规模动辄1000以上的实际场景,已无能为力。另一方面,现有的近似算法只能针对较为简单的场景进行有效调度,这些场景至多只考虑了以上因素中的3-4种,因此也无法满足实际需求。
发明内容
本发明实施例提供一种车辆调度方法、装置、设备及存储介质,以实现对于实际的复杂场景,即使仅基于普通的个人计算平台(例如个人电脑),该算法也可以在短时间内给出高质量的调度方案。
第一方面,本发明实施例提供了一种车辆调度方法,包括:
构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案;
计算所述单辆车调度方案的重心坐标;
根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案;
根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案。
进一步的,计算所述单辆车调度方案的重心坐标之前,还包括:
交换所述至少两个单辆车调度方案的末尾子序列;
选取交换后的单辆车调度方案的成本数据最低的单辆车调度方案作为目标单辆车调度方案;
相应的,计算所述单辆车调度方案的重心坐标包括:
计算所述目标单辆车调度方案的重心坐标。
进一步的,根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案包括:
根据局部搜索算子以及邻域解评估算法、邻域剪枝算法、邻域划分与最优解存储算法中的一种或多种更新所述车辆调度子方案,合并更新后的车辆调度子方案。
进一步的,根据局部搜索算子以及邻域解评估算法更新所述车辆调度子方案包括:
根据局部搜索算子调整所述车辆调度子方案;
将调整后的车辆调度子方案切割为点序列,将所述点序列重新连接为新的车辆调度子方案;
获取所述点序列的属性值,计算所述新的车辆调度子方案中点序列的属性值之和;
选取属性值之和最低的新的车辆调度子方案作为更新后的车辆调度子方案。
进一步的,根据局部搜索算子以及邻域剪枝算法更新所述车辆调度子方案包括:
根据局部搜索算子调整所述车辆调度子方案;
获取所述车辆调度子方案中的客户相关性系数,根据所述车辆调度子方案中客户相关性系数调整所述车辆调度子方案;
选取调整后的车辆调度子方案中成本最低的车辆调度子方案作为更新后的车辆调度子方案。
进一步的,根据局部搜索算子以及邻域划分与最优解存储算法更新所述车辆调度子方案包括:
将局部搜索算子的邻域划分为互不相交的子邻域,记录所述子邻域中的最优邻域解,其中,所述局部搜索算子至少为两个;
于当前局部搜索算子更新所述车辆调度子方案之后,根据查询到的所述当前局部搜索算子的最优邻域解调整所述车辆调度子方案;
选取调整后的车辆调度子方案中成本最低的车辆调度子方案作为更新后的车辆调度子方案。
进一步的,所述局部搜索算子包括:
翻转单辆车调度方案内部的顾客序列;在单辆车调度方案中***或删除加油站或者充电站,并更改车辆类型;将单辆车调度方案拆分为多辆车调度方案,或者将多辆车调度方案合并为单辆车调度方案;删除单辆车调度方案中任一子序列,将删除的子序列***单辆车调度方案中,并***加油站或者充电站;移动任意两个单辆车调度方案中的子序列,***加油站或者充电站,并更改车辆类型;交换单辆车调度方案中任意两个子序列的位置,并***充电站或者加油站;交换任意两个单辆车调度方案中的子序列,***充电站或者加油站,并更改车辆类型。
进一步的,构建初始车辆调度方案包括:
根据车辆的承载数据以及客户之间的相关性系数构建初始车辆调度方案,其中,所述承载数据为车辆的载重范围数据或者载容范围数据,所述客户之间的相关性系数与客户之间的距离、客户之间的最短等待时间和最短时间窗逾期时间有关。
第二方面,本发明实施例还提供了一种车辆调度装置,该装置包括:
构建模块,用于构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案;
计算模块,用于计算所述单辆车调度方案的重心坐标;
分解模块,用于根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案;
更新模块,用于根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的车辆调度方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的车辆调度方法。
本发明实施例通过构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案;计算所述单辆车调度方案的重心坐标;根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案;根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案,以实现对于实际的复杂场景,即使仅基于普通的个人计算平台(例如个人电脑),该算法也可以在短时间内给出高质量的调度方案。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一中的一种车辆调度方法的流程图;
图2A是本发明实施例二中的一种车辆调度方法的流程图;
图2B是本发明实施例二中的车辆调度方法整体框架;
图3是本发明实施例三中的一种车辆调度装置的结构示意图;
图4是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一
图1为本发明实施例一提供的一种车辆调度方法的流程图,本实施例可适用于车辆调度的情况,该方法可以由本发明实施例中的车辆调度装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:
S110,构建初始车辆调度方案,其中,初始车辆调度方案包括至少两个单辆车调度方案。
其中,构建初始车辆调度方案的方法为先构建单辆车调度方案。
其中,建立单辆车调度方案的方法为先建立一个空方案,然后在当前方案的末尾按照预设规则***客户,直至不存在满足***条件的客户为止,需要说明的是,预设规则为选择与当前方案末尾客户相关性最好的客户***当前方案。
具体的,以逐一构造单辆车调度方案的方式来构造初始车辆调度方案。
可选的,构建初始车辆调度方案包括:
根据车辆的承载数据以及客户之间的相关性系数构建初始车辆调度方案,其中,所述承载数据为车辆的载重范围数据或者载容范围数据,所述客户之间的相关性系数与客户之间的距离、客户之间的最短等待时间和最短时间窗逾期时间有关。
具体的,所述客户之间的相关性系数需要综合考虑客户之间的距离、客户之间的最短等待时间和最短时间窗逾期时间。例如可以是,客户A与客户B之间的距离为1000米,车辆从客户A到达客户B的时间为8分钟,与客户B约定的取货时间为9:20,与客户A约定的取货时间为9:15分,车辆到达客户A的时间为9:15,到达客户B的时间为9:23,则最短时间窗逾期时间为3分钟;与客户B约定的取货时间为9:20,与客户A约定的取货时间为9:00分,车辆到达客户A的时间为9:00,到达客户B的时间为9:08,则客户之间的最短等待时间为12分钟。
在一个具体的例子中,以逐一构造单辆车调度方案的方式来构造初始车辆调度方案。在构造单辆车调度方案时,算法从一个空方案开始,逐步往当前方案末尾***客户,当载重/载容达到上限时,往方案末尾***配送中心(表示回到配送中心)。考虑到在实际中同一辆车可以多次往返配送中心,因此算法会继续往此方案末尾***客户,直到不存在满足***条件的客户为止,此时此方案构造停止,加入到初始车辆调度方案之中。对***客户的选择是依据客户之间的相关性系数完成的,此系数定义在任意一对客户之间,综合考虑了客户之间的距离、从第一个客户到第二个客户所能引发的最短等待时间和最短时间窗逾期时间。一对客户之间的相关性越高,说明它们越应该以相邻的形式出现在调度方案中,因此在构造单辆车调度方案时总是选择和当前方案末尾客户相关性最高的客户***。
S120,计算单辆车调度方案的重心坐标。
其中,所述单辆车调度方案的重心坐标是根据单辆车调度方案中的客户的位置坐标确定的重心坐标。
具体的,根据单辆车调度方案中的客户的位置坐标计算单辆车调度方案的重心坐标。
S130,根据重心坐标分解初始车辆调度方案,得到车辆调度子方案。
其中,根据重心坐标分解初始车辆调度方案的方式可以为针对当前已得到的调度方案,算法首先计算每个单辆车调度方案的客户的重心坐标,然后以该重心坐标代表对应方案中的全体客户;然后对这些重心坐标以欧式距离为度量进行聚类,得到的结果中每一类中的所有客户构成了一个子方案。
具体的,对初始车辆调度方案的分解实质上是将客户全体划分为互不相交的子集合,每个自己和对应了一个子调度方案,采用基于距离的分离策略实现对初始车辆调度方案的分解。
S140,根据局部搜索算子更新车辆调度子方案,合并更新后的车辆调度子方案。
具体的,采用局部搜索的方式对车辆调度子方案进行优化改进。其中,所述局部搜索算子与实际情形以及需要考虑的因素有关。由于车辆调度方案需要在满足各种限制的前提下,最大化的降低物流成本,物流成本与运输成本、等待成本、充电或者加油成本、整理成本有关,因此局部搜索算子也与运输成本、等待成本、充电或者加油成本、整理成本有关。
可选的,所述局部搜索算子包括:
翻转单辆车调度方案内部的顾客序列;在单辆车调度方案中***或删除加油站或者充电站,并更改车辆类型;将单辆车调度方案拆分为多辆车调度方案,或者将多辆车调度方案合并为单辆车调度方案;删除单辆车调度方案中任一子序列,将删除的子序列***单辆车调度方案中,并***加油站或者充电站;移动任意两个单辆车调度方案中的子序列,***加油站或者充电站,并更改车辆类型;交换单辆车调度方案中任意两个子序列的位置,并***充电站或者加油站;交换任意两个单辆车调度方案中的子序列,***充电站或者加油站,并更改车辆类型。
可选的,根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案包括:
根据局部搜索算子以及邻域解评估算法、邻域剪枝算法、邻域划分与最优解存储算法中的一种或多种更新所述车辆调度子方案,合并更新后的车辆调度子方案。
具体的,所有的局部搜索算子以随机的顺序被循环使用,直到已无法再改进当前方案为止。为了进一步加速此过程,使用了三种技术:1)邻域解评估技术;2)邻域剪枝技术;3)邻域划分与最优解存储技术。
可选的,根据局部搜索算子以及邻域解评估算法更新所述车辆调度子方案包括:
根据局部搜索算子调整所述车辆调度子方案;
将调整后的车辆调度子方案切割为点序列,将所述点序列重新连接为新的车辆调度子方案;
获取所述点序列的属性值,计算所述新的车辆调度子方案中点序列的属性值之和;
选取属性值之和最低的新的车辆调度子方案作为更新后的车辆调度子方案。
具体的,对于邻域解的评估是局部搜索中最耗时的部分。一般而言,对一个长度为n的单辆车调度方案的评估的时间复杂度为O(n)。本算法使用了子序列连接技术将评估时间复杂度降为O(1)。子序列连接技术的核心思想在于两点:1)不同局部搜索算子对于当前调度方案的改变可以看作是将某些单辆车调度方案切割为点序列,然后将这些点序列以某种方式重新连接为新的单辆车调度方案;2)通过储存当前调度方案中的所有点序列的属性值,对于点序列连接(即局部搜索算子的操作)的评估可以转化为对相应属性值的直接计算,这一过程只有O(1)的复杂度。
可选的,根据局部搜索算子以及邻域剪枝算法更新所述车辆调度子方案包括:
根据局部搜索算子调整所述车辆调度子方案;
获取所述车辆调度子方案中的客户相关性系数,根据所述车辆调度子方案中客户相关性系数调整所述车辆调度子方案;
选取调整后的车辆调度子方案中成本最低的车辆调度子方案作为更新后的车辆调度子方案。
具体的,邻域剪枝技术可以在不影响调度方案质量的前提下,大幅度减小局部搜索算子的邻域规模,提升搜索效率。具体而言,要求调度方案中的任意一对相邻顾客的客户相关性高于某一阈值,任何导致低于该阈值的顾客对的出现的局部操作都被禁止。
可选的,根据局部搜索算子以及邻域划分与最优解存储算法更新所述车辆调度子方案包括:
将局部搜索算子的邻域划分为互不相交的子邻域,记录所述子邻域中的最优邻域解,其中,所述局部搜索算子至少为两个;
于当前局部搜索算子更新所述车辆调度子方案之后,根据查询到的所述当前局部搜索算子的最优邻域解调整所述车辆调度子方案;
选取调整后的车辆调度子方案中成本最低的车辆调度子方案作为更新后的车辆调度子方案。
具体的,由于以循环的方式使用局部搜索算子列表,因此在一次局部搜索过程中同一局部搜素算子可能会被多次使用。考虑到局部搜索算子只对调度方案的一小部分进行修改,那么对同一局部搜索算子而言,其邻域在多轮局部搜索算子循环中往往也只有微小变化,为了避免对未发生变化的邻域进行重复评估,本算法将每个局部搜索算子的邻域划分为互不相交的子邻域,并记录不同子邻域中的最优邻域解。当使用某一局部搜索算子时,直接查询该局部搜索算子的子邻域最优解;只有当检查的子邻域未被记录时才会实际评估其中的邻域解。
本实施例的技术方案,通过构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案;计算所述单辆车调度方案的重心坐标;根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案;根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案,以实现对于实际的复杂场景,即使仅基于普通的个人计算平台(例如个人电脑),该算法也可以在短时间内给出高质量的调度方案。
实施例二
图2A为本发明实施例二中的一种车辆调度方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,计算所述单辆车调度方案的重心坐标之前,还包括:交换所述至少两个单辆车调度方案的末尾子序列;选取交换后的单辆车调度方案的成本数据最低的单辆车调度方案作为目标单辆车调度方案;相应的,计算所述单辆车调度方案的重心坐标包括:计算所述目标单辆车调度方案的重心坐标。
如图2A所示,本实施例的方法具体包括如下步骤:
S210,构建初始车辆调度方案,其中,初始车辆调度方案包括至少两个单辆车调度方案。
S220,交换至少两个单辆车调度方案的末尾子序列。
其中,所述末尾子序列的位数与单辆车调度方案的位数有关,且末尾子序列至少存在一种,例如可以是,若单辆车调度方案为1234,则末尾子序列可以为234,可以为34,可以为4.
具体的,交换至少两个单辆车调度方案的末尾子序列的方式可以为交换至少两个单辆车调度方案中的同一位置的末尾子序列,例如可以是,若单辆车调度方案A为1234,单辆车调度方案B为4567,则交换单辆车调度方案A和单辆车调度方案B的末尾子序列的方式为,将单辆车调度方案A中的234交换至单辆车调度方案B中567的位置,将单辆车调度方案B中的567交换至单辆车调度方案A中234的位置;将单辆车调度方案A中的34交换至单辆车调度方案B中67的位置,将单辆车调度方案B中的67交换至单辆车调度方案A中34的位置;将单辆车调度方案A中的4交换至单辆车调度方案B中7的位置,将单辆车调度方案B中的7交换至单辆车调度方案A中4的位置。
S230,选取交换后的单辆车调度方案的成本数据最低的单辆车调度方案作为目标单辆车调度方案。
具体的,计算每一种交换后的单辆车调度方案的成本,然后选择成本数据最低的单辆车调度方案作为目标单辆车调度方案,例如可以是,计算将单辆车调度方案A中的234交换至单辆车调度方案B中567的位置,将单辆车调度方案B中的567交换至单辆车调度方案A中234的位置后的单辆车调度方案A1和单辆车调度方案B1的成本数据,计算单辆车调度方案A中的34交换至单辆车调度方案B中67的位置,将单辆车调度方案B中的67交换至单辆车调度方案A中34的位置后的单辆车调度方案A2和单辆车调度方案B3的成本数据,计算将单辆车调度方案A中的4交换至单辆车调度方案B中7的位置,将单辆车调度方案B中的7交换至单辆车调度方案A中4的位置后的单辆车调度方案A3和单辆车调度方案B3的成本数据。选取A1、A2、A3中成本数据最低的作为目标单辆车调度方案A,选取B1、B2、B3中成本数据最低的作为目标单辆车调度方案B。
S240,计算目标单辆车调度方案的重心坐标。
S250,根据重心坐标分解初始车辆调度方案,得到车辆调度子方案。
S260,根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案。
在一个具体的例子中,调度的目标是给出车辆的服务计划(包括出发时间和服务客户的顺序),在满足各种限制的前提下,最大化地降低物流成本。物流成本的计算公式如下所示:
COSTTOTAL=COSTtransfer+COSTwait+COSTcharge+COSTrearrange
COSTtransfer=Distance*fdistance
COSTwait=wait_time*fwait
COSTcharge=charge_times*fcharge
COSTrearrange=rearrange_times*frearrange
其中COSTTOTAL,COSTtransfer,COSTwait,COSTcharge,COSTrearrange分别是总成本,运输成本,等待成本,充电/加油成本,整理成本。Distance是调度方案中的车辆总运输距离,fdistance是单位距离的运输成本。wait_time是调度方案中的车辆总等待时长,fwait是单位时间的等待成本。charge_times时调度方案中的总充电/加油次数,fcharge是单次充电/加油的成本。rearrange_times是调度方案中车辆往返配送中心的总次数,frearrange是车辆在配送中心装卸货物的单次整理费用。
如图2B所示,整体上采取了“构造初始调度方案—初步快速改进—基于分治的并行优化”的技术路线。首先构建出初始调度方案,此方案的质量可能并不会太高,因此紧接着对此方案进行快速改进,然后进入迭代式的基于分治的并行优化过程,直至运行时间达到预先给定的阈值而退出。以逐一构造单辆车的调度方案的方式来构造初始调度方案。在构造单辆车调度方案时,算法从一个空方案开始,逐步往当前方案末尾***客户,当载重或者载容达到上限时,往方案末尾***配送中心(表示回到配送中心)。考虑到在实际中同一辆车可以多次往返配送中心,因此会继续往此方案末尾***客户,直到不存在满足***条件的客户为止,此时此方案构造停止,加入到初始调度方案之中。对***客户的选择是依据客户之间的相关性系数完成的,此系数定义在任意一对客户之间,综合考虑了客户之间的距离、从第一个客户到第二个客户所能引发的最短等待时间和最短时间窗逾期时间。一对客户之间的相关性越高,说明它们越应该以相邻的形式出现在调度方案中,因此在构造单辆车调度方案时总是选择和当前方案末尾客户相关性最高的客户***。本发明实施例中选择和当前方案末尾客户相关性大于30%的客户***。使用了局部搜索的方式对调度方案进行优化改进。由于实际情形复杂,因素众多,为了应对不同的情况,共设计了7种局部搜索算子:1)2-opt:翻转单辆车调度方案内部的顾客序列;2)stationIF:针对单辆车调度方案***或删除其中的加油站/充电站,同时考虑对此方案的车辆类型做更改;3)ex-route:将单辆车调度方案拆分为多辆车的方案,或者将多辆车的方案合并为单车方案;4)relocate_single:在单辆车方案内部删除一个子序列然后将其重新***此方案中,且同时考虑***加油/充电站;5)relocate:在两个单辆车调度方案之间移动子序列,同时考虑在***加油站/充电站以及修改车辆类型6)exchange_single:单辆车方案内部,选中两个子序列并交换位置,同时考虑***充电站/加油站;7)exchange:在两个单辆车调度方案之间交换子序列,同时考虑***充电站/加油站,并且修改车辆类型。
在初始方案快速改进模块中,采用交换单辆车调度方案的末尾子序列进行局部搜索,交换单辆车调度方案的末尾子序列的改进幅度大,相比于局部搜索算子邻域较小,可以迅速地提升调度方案的质量。
由于涉及的客户数规模较大,局部搜索所考虑的邻域规模呈指数级增长,在有限时间内直接基于原方案进一步优化效果非常有限。为了解决这一问题,使用了基于分治的并行优化方案。此方案首先将原问题分解为互不相交的子问题,对所有子问题并行求解,然后将子问题的解合并为完整的调度方案,继而进行下一轮“分解—并行求解—合并”过程。
对车辆调度问题的分解本质上是对客户的划分,换言之,需要将客户全体划分为互不相交的子集合,每个子集合对应了一个子调度问题。在这里,算法采用了基于距离的分解策略。具体而言,针对当前已得到的调度方案,算法首先计算每个单辆车调度方案的客户的坐标重心,然后以该重心代表对应方案中的全体客户;然后对这些重心坐标以欧式距离为度量进行聚类,得到的结果中每一类中的所有客户构成了一个子问题。不同子问题之间互不相交,且相互独立,因此对不同子问题的求解可以自然地并行开展。具体针对每个子问题而言,算法使用局部搜索进行求解。所有的7个局部搜索算子以随机的顺序被循环使用,直到已无法再改进当前方案为止。
为了进一步加速此过程,使用了三种技术:1)具有O(1)时间复杂度的邻域解评估技术;2)邻域剪枝技术;3)邻域划分与最优解存储技术。对于邻域解的评估是局部搜索中最耗时的部分。一般而言,对一个长度为n的单辆车调度方案的评估的时间复杂度为O(n)。本算法使用了子序列连接技术将评估时间复杂度降为O(1)。子序列连接技术的核心思想在于两点:1)不同局部搜索算子对于当前调度方案的改变可以看作是将某些单辆车调度方案切割为点序列,然后将这些点序列以某种方式重新连接为新的单辆车调度方案;2)通过储存当前调度方案中的所有点序列的属性值,对于点序列连接(即局部搜索算子的操作)的评估可以转化为对相应属性值的直接计算,这一过程只有O(1)的复杂度。邻域剪枝技术可以在不影响调度方案质量的前提下,大幅度减小局部搜索算子的邻域规模,提升搜索效率。具体而言,本算法要求调度方案中的任意一对相邻顾客的客户相关性高于某一阈值,任何导致低于该阈值的顾客对的出现的局部操作都被禁止。由于以循环的方式使用算子列表,因此在一次局部搜索过程中同一算子可能会被多次使用。考虑到局部算子只对调度方案的一小部分进行修改,那么对同一算子而言,其邻域在多轮算子循环中往往也只有微小变化,为了避免对未发生变化的邻域进行重复评估,本算法将每个局部搜索算子的邻域划分为互不相交的子邻域,并记录不同子邻域中的最优邻域解。当使用某一算子时,算法将直接查询该算子的子邻域最优解;只有当检查的子邻域未被记录时才会实际评估其中的邻域解。
在另一个具体的例子中,我们在5个客户规模分别为1200、1300、1400、1500、1600的测试问题上测试了我们的方法,求解时间限定为5分钟。同时,我们还测试了以下对比方法:1)方法A:基于客户相关性的初始解构造方法,求解时间限定为5分钟;2)方法B:与我们的方法相比,不同之处在于局部搜索过程不包含分治并行优化,而是在原问题上进行,求解时间限定为5分钟;3)方法C:数学规划方法,求解时间限定为1个小时。
表1展示了各方法在各测试问题上得到的调度方案的物流成本,“—”表示相应方法无法在给定时间内得到可行的调度方案。在所有测试问题上,我们的方法都能得到物流成本更低的调度方案。
表1实验数据
由此可见,上述车辆调度方法比其它方法性能更好,可以在5分钟内给出高质量的调度方案。
本实施例的技术方案,构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案,交换所述至少两个单辆车调度方案的末尾子序列,选取交换后的单辆车调度方案的成本数据最低的单辆车调度方案作为目标单辆车调度方案,计算所述目标单辆车调度方案的重心坐标,根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案,根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案,以实现对于实际的复杂场景,即使仅基于普通的个人计算平台(例如个人电脑),该算法也可以在短时间内给出高质量的调度方案。
实施例三
图3为本发明实施例三提供的一种车辆调度装置的结构示意图。本实施例可适用于车辆调度的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供车辆调度的功能的设备中,如图3所示,所述车辆调度装置具体包括:构建模块310、计算模块320、分解模块330和更新模块340。
其中,构建模块310,用于构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案;
计算模块320,用于计算所述单辆车调度方案的重心坐标;
分解模块330,用于根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案;
更新模块340,用于根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案。
可选的,还包括:
交换模块,用于交换所述至少两个单辆车调度方案的末尾子序列;
选取模块,用于选取交换后的单辆车调度方案的成本数据最低的单辆车调度方案作为目标单辆车调度方案;
相应的,所述计算模块具体用于:
计算所述目标单辆车调度方案的重心坐标。
可选的,所述更新模块包括:
更新单元,用于根据局部搜索算子以及邻域解评估算法、邻域剪枝算法、邻域划分与最优解存储算法中的一种或多种更新所述车辆调度子方案,合并更新后的车辆调度子方案。
可选的,所述更新单元具体用于:
根据局部搜索算子调整所述车辆调度子方案;
将调整后的车辆调度子方案切割为点序列,将所述点序列重新连接为新的车辆调度子方案;
获取所述点序列的属性值,计算所述新的车辆调度子方案中点序列的属性值之和;
选取属性值之和最低的新的车辆调度子方案作为更新后的车辆调度子方案。
可选的,所述更新单元具体用于:
根据局部搜索算子调整所述车辆调度子方案;
获取所述车辆调度子方案中的客户相关性系数,根据所述车辆调度子方案中客户相关性系数调整所述车辆调度子方案;
选取调整后的车辆调度子方案中成本最低的车辆调度子方案作为更新后的车辆调度子方案。
可选的,所述更新单元具体用于:
将局部搜索算子的邻域划分为互不相交的子邻域,记录所述子邻域中的最优邻域解,其中,所述局部搜索算子至少为两个;
于当前局部搜索算子更新所述车辆调度子方案之后,根据查询到的所述当前局部搜索算子的最优邻域解调整所述车辆调度子方案;
选取调整后的车辆调度子方案中成本最低的车辆调度子方案作为更新后的车辆调度子方案。
可选的,所述局部搜索算子包括:
翻转单辆车调度方案内部的顾客序列;在单辆车调度方案中***或删除加油站或者充电站,并更改车辆类型;将单辆车调度方案拆分为多辆车调度方案,或者将多辆车调度方案合并为单辆车调度方案;删除单辆车调度方案中任一子序列,将删除的子序列***单辆车调度方案中,并***加油站或者充电站;移动任意两个单辆车调度方案中的子序列,***加油站或者充电站,并更改车辆类型;交换单辆车调度方案中任意两个子序列的位置,并***充电站或者加油站;交换任意两个单辆车调度方案中的子序列,***充电站或者加油站,并更改车辆类型。
可选的,构建模块具体用于:
根据车辆的承载数据以及客户之间的相关性系数构建初始车辆调度方案,其中,所述承载数据为车辆的载重范围数据或者载容范围数据,所述客户之间的相关性系数与客户之间的距离、客户之间的最短等待时间和最短时间窗逾期时间有关。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本实施例的技术方案,通过构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案;计算所述单辆车调度方案的重心坐标;根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案;根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案,以实现对于实际的复杂场景,即使仅基于普通的个人计算平台(例如个人电脑),该算法也可以在短时间内给出高质量的调度方案。
实施例四
图4为本发明实施例四中的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。另外,本实施例中的计算机设备12,显示器24不是作为独立个体存在,而是嵌入镜面中,在显示器24的显示面不予显示时,显示器24的显示面与镜面从视觉上融为一体。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的车辆调度方法:构建初始车辆调度方案,其中,初始车辆调度方案包括至少两个单辆车调度方案;计算单辆车调度方案的重心坐标;根据重心坐标分解初始车辆调度方案,得到车辆调度子方案;根据局部搜索算子更新车辆调度子方案,合并更新后的车辆调度子方案。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的车辆调度方法:构建初始车辆调度方案,其中,初始车辆调度方案包括至少两个单辆车调度方案;计算单辆车调度方案的重心坐标;根据重心坐标分解初始车辆调度方案,得到车辆调度子方案;根据局部搜索算子更新车辆调度子方案,合并更新后的车辆调度子方案。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (7)
1.一种车辆调度方法,其特征在于,包括:
构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案;
计算所述单辆车调度方案的重心坐标;
根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案;
根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案;
其中,根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案包括:
根据局部搜索算子以及邻域解评估算法、邻域剪枝算法、邻域划分与最优解存储算法中的一种或多种更新所述车辆调度子方案,合并更新后的车辆调度子方案;
其中,根据局部搜索算子以及邻域解评估算法更新所述车辆调度子方案包括:
根据局部搜索算子调整所述车辆调度子方案;
将调整后的车辆调度子方案切割为点序列,将所述点序列重新连接为新的车辆调度子方案;
获取所述点序列的属性值,计算所述新的车辆调度子方案中点序列的属性值之和;
选取属性值之和最低的新的车辆调度子方案作为更新后的车辆调度子方案;
其中,所述局部搜索算子包括:
翻转单辆车调度方案内部的顾客序列;在单辆车调度方案中***加油站或者在单辆车调度方案中删除充电站,并更改车辆类型;将单辆车调度方案拆分为多辆车调度方案,或者将多辆车调度方案合并为单辆车调度方案;删除单辆车调度方案中任一子序列,将删除的子序列***单辆车调度方案中,并***加油站或者充电站;移动任意两个单辆车调度方案中的子序列,***加油站或者充电站,并更改车辆类型;交换单辆车调度方案中任意两个子序列的位置,并***充电站或者加油站;交换任意两个单辆车调度方案中的子序列,***充电站或者加油站,并更改车辆类型。
2.根据权利要求1所述的方法,其特征在于,计算所述单辆车调度方案的重心坐标之前,还包括:
交换所述至少两个单辆车调度方案的末尾子序列;
选取交换后的单辆车调度方案的成本数据最低的单辆车调度方案作为目标单辆车调度方案;
相应的,计算所述单辆车调度方案的重心坐标包括:
计算所述目标单辆车调度方案的重心坐标。
3.根据权利要求1所述的方法,其特征在于,根据局部搜索算子以及邻域剪枝算法更新所述车辆调度子方案包括:
根据局部搜索算子调整所述车辆调度子方案;
获取所述车辆调度子方案中的客户相关性系数,根据所述车辆调度子方案中客户相关性系数调整所述车辆调度子方案;
选取调整后的车辆调度子方案中成本最低的车辆调度子方案作为更新后的车辆调度子方案。
4.根据权利要求1所述的方法,其特征在于,根据局部搜索算子以及邻域划分与最优解存储算法更新所述车辆调度子方案包括:
将局部搜索算子的邻域划分为互不相交的子邻域,记录所述子邻域中的最优邻域解,其中,所述局部搜索算子至少为两个;
于当前局部搜索算子更新所述车辆调度子方案之后,根据查询到的所述当前局部搜索算子的最优邻域解调整所述车辆调度子方案;
选取调整后的车辆调度子方案中成本最低的车辆调度子方案作为更新后的车辆调度子方案。
5.一种车辆调度装置,其特征在于,包括:
构建模块,用于构建初始车辆调度方案,其中,所述初始车辆调度方案包括至少两个单辆车调度方案;
计算模块,用于计算所述单辆车调度方案的重心坐标;
分解模块,用于根据所述重心坐标分解所述初始车辆调度方案,得到车辆调度子方案;
更新模块,用于根据局部搜索算子更新所述车辆调度子方案,合并更新后的车辆调度子方案;
其中,所述更新模块包括:
更新单元,用于根据局部搜索算子以及邻域解评估算法、邻域剪枝算法、邻域划分与最优解存储算法中的一种或多种更新所述车辆调度子方案,合并更新后的车辆调度子方案;
其中,所述更新单元具体用于:
根据局部搜索算子调整所述车辆调度子方案;
将调整后的车辆调度子方案切割为点序列,将所述点序列重新连接为新的车辆调度子方案;
获取所述点序列的属性值,计算所述新的车辆调度子方案中点序列的属性值之和;
选取属性值之和最低的新的车辆调度子方案作为更新后的车辆调度子方案;
其中,所述局部搜索算子包括:
翻转单辆车调度方案内部的顾客序列;在单辆车调度方案中***加油站或者在单辆车调度方案中删除充电站,并更改车辆类型;将单辆车调度方案拆分为多辆车调度方案,或者将多辆车调度方案合并为单辆车调度方案;删除单辆车调度方案中任一子序列,将删除的子序列***单辆车调度方案中,并***加油站或者充电站;移动任意两个单辆车调度方案中的子序列,***加油站或者充电站,并更改车辆类型;交换单辆车调度方案中任意两个子序列的位置,并***充电站或者加油站;交换任意两个单辆车调度方案中的子序列,***充电站或者加油站,并更改车辆类型。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811404905.XA CN109559078B (zh) | 2018-11-23 | 2018-11-23 | 一种车辆调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811404905.XA CN109559078B (zh) | 2018-11-23 | 2018-11-23 | 一种车辆调度方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109559078A CN109559078A (zh) | 2019-04-02 |
CN109559078B true CN109559078B (zh) | 2021-10-08 |
Family
ID=65867060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811404905.XA Active CN109559078B (zh) | 2018-11-23 | 2018-11-23 | 一种车辆调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109559078B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950950A (zh) * | 2019-05-17 | 2020-11-17 | 北京京东尚科信息技术有限公司 | 订单配送路径的规划方法、装置、计算机介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598994A (zh) * | 2015-01-23 | 2015-05-06 | 广东易富网络科技有限公司 | 一种带时变时间窗的关联物流运输优化调度方法 |
CN104951850A (zh) * | 2015-06-25 | 2015-09-30 | 广东工业大学 | 一种求解多配送中心物流运输车辆路径问题的方法 |
CN105069523A (zh) * | 2015-07-28 | 2015-11-18 | 昆明理工大学 | 一种有时间限制的配送车辆调度方法 |
CN106203739A (zh) * | 2016-07-29 | 2016-12-07 | 广东工业大学 | 一种多配送中心物流运输调度的方法及*** |
CN108764777A (zh) * | 2018-04-26 | 2018-11-06 | 浙江工商大学 | 带时间窗的电动物流车调度方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260470A1 (en) * | 2003-06-14 | 2004-12-23 | Rast Rodger H. | Conveyance scheduling and logistics system |
-
2018
- 2018-11-23 CN CN201811404905.XA patent/CN109559078B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598994A (zh) * | 2015-01-23 | 2015-05-06 | 广东易富网络科技有限公司 | 一种带时变时间窗的关联物流运输优化调度方法 |
CN104951850A (zh) * | 2015-06-25 | 2015-09-30 | 广东工业大学 | 一种求解多配送中心物流运输车辆路径问题的方法 |
CN105069523A (zh) * | 2015-07-28 | 2015-11-18 | 昆明理工大学 | 一种有时间限制的配送车辆调度方法 |
CN106203739A (zh) * | 2016-07-29 | 2016-12-07 | 广东工业大学 | 一种多配送中心物流运输调度的方法及*** |
CN108764777A (zh) * | 2018-04-26 | 2018-11-06 | 浙江工商大学 | 带时间窗的电动物流车调度方法和*** |
Non-Patent Citations (2)
Title |
---|
物流配送***需求量变动的干扰管理模型研究;王雅楠;《中国优秀硕士学位论文全文数据库经济与管理科学辑》;20090515(第05期);第20-40页 * |
王雅楠.物流配送***需求量变动的干扰管理模型研究.《中国优秀硕士学位论文全文数据库经济与管理科学辑》.2009,(第05期),第20-40页. * |
Also Published As
Publication number | Publication date |
---|---|
CN109559078A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11681982B2 (en) | Automated guided vehicle control and organizing inventory items using stock keeping unit clusters | |
CN106980955B (zh) | 用于输出信息的方法和装置 | |
US8103532B2 (en) | Method and system for fast local search and insertion heuristics for vehicle routing | |
JP2020502015A (ja) | 出庫方法及び装置 | |
CN109345166B (zh) | 用于生成信息的方法和装置 | |
CN114037180B (zh) | 一种基于分支定价切割算法的协同配送路径优化方法 | |
CN111553548B (zh) | 一种拣货方法和装置 | |
CN111950950A (zh) | 订单配送路径的规划方法、装置、计算机介质及电子设备 | |
CN111311005B (zh) | 配送路径的规划方法、装置、介质及计算机设备 | |
CN114580695A (zh) | 多车任务分配与路径优化仿真平台及其实现方法 | |
CN109242320B (zh) | 订单分配方法、装置、服务器及存储介质 | |
CN113592282A (zh) | 一种物品分配方法和装置 | |
CN110807612A (zh) | 确定剩余产能的方法和装置 | |
CN109934427B (zh) | 生成物品分配方案的方法和装置 | |
CN109597810A (zh) | 一种任务切分方法、装置、介质及电子设备 | |
CN113222205A (zh) | 一种路径规划的方法和装置 | |
CN109559078B (zh) | 一种车辆调度方法、装置、设备及存储介质 | |
CN114399228A (zh) | 任务调度方法及装置、电子设备和介质 | |
CN111221827B (zh) | 基于图形处理器的数据库表连接方法、装置、计算机设备和存储介质 | |
CN108764740B (zh) | 自动化码头的车队调度方法、***、设备及存储介质 | |
CN115689454A (zh) | 确定服务站点的方法、装置、电子设备及存储介质 | |
CN110069510A (zh) | 用于输出储位信息的方法和装置 | |
CN114330807A (zh) | 路线的确定方法、装置和电子设备 | |
CN112785213B (zh) | 一种仓库拣货单的组建方法和装置 | |
CN113804206A (zh) | 路径规划方法、装置、电子设备和计算机可读介质 |
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 |