基于蚁群算法的车辆路径问题研究毕业论文
2020-02-15 22:44:25
摘 要
随着互联网经济的发展,物流行业迎来了发展的黄金时期,物流方式的优化改革成为重中之重,而与物流息息相关的则是车辆配送,车辆路径的选择问题是制约车辆配送效率的最大瓶颈,而在今天的车辆配送中,非机动车配送正在不断地崛起,并成为车辆配送的一种重要组成方式;同时,蚁群算法是近年来快速发展的一种智能算法,广泛用于解决空间优化问题。本文将基于蚁群算法对车辆路径问题进行探索研究,并通过对蚁群算法的理解以VS2015开发平台,C#为开发语言,以蚁群算法为核心,非机动车眼中的城市为视角构建了基于虚拟城市的蚁群算法演示系统,而后基于构建的系统在不同的虚拟城市下找寻由指定起点至终点的最短路径,并将寻求的最短路径结果与A*算法计算的结果进行对比,从而验证本系统模型的有效性,最终对比结果显示了本文建立的系统模型具备有效性。
关键词:蚁群算法;车辆路径问题;C#;A*算法;启发式搜索
Abstract
With the development of the Internet economy, the logistics industry has ushered in a golden period of development. The optimization of logistics methods has become a top priority. The logistics related to logistics is the distribution of vehicles. The choice of vehicle routing is the most restrictive part of vehicle distribution efficiency. In the meantime, and in today's vehicle distribution, non-motor vehicle distribution is constantly emerging and becoming an important component of vehicle distribution. At the same time, ant colony algorithm is an intelligent algorithm developed rapidly in recent years and widely used to solve Space Optimization Problem. This paper will explore the vehicle routing problem based on ant colony algorithm. And through the understanding of the ant colony algorithm, the VS2015 as the development platform, the C# as the development language, ant colony algorithm as the core, and based on the perspective of the non-motor vehicle in the city, the paper constructed an ant colony algorithm demonstration system based on the virtual city. And then based on the constructed system ,the paper try to find the shortest path from the specified starting point to the end point in different virtual cities, and compare the shortest path result sought with the A* algorithm to verify The effectiveness of the system model, the final comparison results show that the system model established in this paper is effective.
Key Words: Ant Colony Algorithm;Vehicle routing problem;C#;A* Algorithm ;Heuristic search
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.1.1 研究背景 1
1.1.2 研究意义 1
1.2 国内外研究现状 2
1.2.1 国外研究现状 2
1.2.1 国内研究现状 3
1.3 研究内容 3
1.3.1 车辆路径问题研究 3
1.3.2 蚁群算法演示系统构建 4
1.3.3 系统模型的有效性验证 4
第2章 研究模型及方法介绍 5
2.1 蚁群算法基本原理 5
2.2 几种传统最短路径算法基本原理 7
第3章 研究对象及区域 10
3.1 研究对象 10
3.2 研究区域 10
第4章 蚁群算法演示系统模型构建 12
4.1 蚁群算法规则提取 12
4.2 蚁群算法系统实现 13
4.2.1 蚁群算法参数设置功能实现 15
4.2.2 蚁群算法演示功能实现 16
4.2.3 最短路径生成功能实现 16
4.2.4 结果计算和输出功能实现 17
4.3 模型参数设置 18
4.3.1 信息素释放率参数设置 19
4.3.2 最大信息素参数设置 19
4.3.3 信息素消失率参数设置 19
4.3.4 出错概率参数设置 20
4.3.5 感知范围参数设置 20
4.3.6 路径记录最大值设置 21
第5章 系统模型有效性验证 22
第6章 结论与展望 25
6.1 结论 25
6.2 展望 25
参考文献 26
致 谢 28
附录A 蚁群算法演示系统核心代码 29
附录B 系统模型有效性验证底图 31
附录C 系统模型有效性验证数据 33
第1章 绪论
1.1 研究背景及意义
1.1.1 研究背景
近年来随着互联网经济的普及,现代物流业发展极为迅猛,不再单纯的追求数量和规模,而是向着质量和效益不断扩张。顺应着时代潮流的现代物流理所应当的具备了时代发展特征,如全球化、多功能化、系统化、信息化的特征,而在这些特征之中,信息化起着统领全局的作用。乘着信息技术高速发展的东风,现代物流与其进行高度结合,让运输环节不再独立于生产环节之外,以供应链为基础完成对企业生产供销全过程的计划和控制,物流信息化由此实现,通过这种与信息技术的结合,传统物流行业结构不断整合优化,成本不断降低。中国的物流行业起步相对较晚,但是随着国民生产总值的不断提高,中国经济的迅猛发展,人们的消费需求不断提高,这极大的刺激了我国物流业的发展。自从中国一跃成为世界第二大经济体来,人们消费需求持续提高,国家继续坚持改革开放,中国物流行业发展迅速,物流体系不断完善,行业运行正处于发展的黄金时期,但是与此同时,中国物流行业的转型压力也在不断增大。
当今物流业的主要配送方式仍是车辆配送,车辆的路径选择问题仍是制约现代物流业的瓶颈,能否用优质的算法来选择最短路径直接关系到车辆配送产生的经济利益。车辆路径问题自从1959年被提出以来,吸引了越来越多的专家学者对其进行研究,各种研究成果层出不穷,发展至今,车辆路径问题在算法领域已经十分成熟,并且与现实生活中的许多领域实现了一定的结合,这种结合主要体现在物流行业。但是由于各种各样的原因,我国的物流行业发展还处于相对比较滞后的阶段,物流运输的管理仍然处于比较落后的阶段,没有与科学的算法结合起来,这可能跟我国的信息化水平不够高有关。算法的核心就是数据,数据的精度对算法的运行起着至关重要的作用,而我国物流行业整体处于信息化的初级阶段,数据的精度和时效性都得不到保证,亟待进行行业秩序整治和行业结构优化。
1.1.2 研究意义
随着群体消费意识的提高,顾客对服务的要求越来愈高,送货上门成为了家常便饭,而依靠传统的汽车或者货车等机动车来实现这种服务精确化显然不太现实,因此,对于一个城市而言,分区域设立物流点,区域内以非机动车为主要配送方式成为了主流。非机动车相对于机动车最大的优势就是在于它的灵活,许多机动车不能行驶的地方而非机动车可以轻松通过,比如建筑物前的空地、广场、巷间的小路等,相对于传统的机动车配送,非机动车配送在最短路径优化无疑有着更大的潜力。
本文将对城市环境进行模拟,尽可能展现出非机动车在城市中丰富的可行域,并在这种环境中,以蚁群算法为基础,构建蚁群算法演示系统,进行最短路径的寻求,将寻求的最短路径结果与传统最短路径算法的最短路径结果进行对比,从而衡量本文构建系统模型的有效性,希望可以为非机动车配送方式的管理和优化提供参考。
1.2 国内外研究现状
1.2.1 国外研究现状
车辆路径问题(Vehicle Routing Problem,VRP)自1959年首次被国外学者提出以来,到现在已经发展了近60年的时间,期间提出了各种各样的VRP模型,如带时间窗的VPR、需求可分离的VPR、动态VRP、多车辆车型VRP等等。基于这些VRP模型,国外学者提出了各种各样的算法,这些算法大致可以分为四种类型,即直接搜索算法、精确算法、启发式算法以及智能启发式算法[1]。
直接搜索算法较为常见的有迪杰斯特拉算法、宽度(广度优先算法),这类算法主要出现在研究车辆路径问题的早期阶段,特点是盲目搜索,效率普遍低下,寻求出来的解可能不是最优解。
随着对VRP问题的理解不断深入,VRP的研究越来越偏向于精确化,如分支定界法、网络流算法、动态规划法等算法陆续被提出,这类算法的主要特征是在削减解空间的条件下寻求精确的最优解,相对于直接搜索算法无疑拥有更高的空间搜索效率。但是这类算法的效率太依赖于削减解空间选用的方法,在实际运用中往往没有选择方法的参考案例,效率仍然不高。因此为了更快的得出最优解,各种启发式算法陆续被提出,主要包括节约算法、扫描法、数学规划方法等等,这类算法的特点是可以在较高的效率下寻求最优解或者次优解,在解决实际问题中具备较高的可行性。
二十世纪八十年代以来,利用具有智能特征的启发式算法来进行空间搜索,以寻求最优解成为了一个重要的研究方向。如采用遗传算法 (genetic algorithm,GA) 、模拟退火算法 (simulated annealing,SA) 、禁忌算法 (Tabu Search)、蚁群算法 (Ant colony Optimization,ACO) 等算法陆续被应用到地理问题求解中[3] ,这其中以车辆路径问题为代表。
到今天为止,国外具有智能特征的启发式算法已经发展的较为成熟,但是国外的学者们不再满足于这种启发式算法只是具备智能特征,而是想构建一种真正拥有人工智能的启发式算法,因此超启发式算法被提出。超启发式算法是一种基于启发式算法的启发式搜索方法,这种算法的提出是为了实现人工智能,该算法往往和机器学习结合起来,实现问题选择、组合优化、结果生成的全过程自动化。超启发式算法的应用往往不是为了解决一个问题,而是用来解决一类问题,这种算法的解决问题的范围相对于一般的启发式算法要大很多。这种算法的核心思想是通过结合已知启发式算法的强项和补偿算法的弱项来实现算法,在一个典型的超启发式算法中,会有一个统领全局的高层次方法论和若干个低级的启发式算法,在进行空间搜索时,由高级方法论根据当前的搜索状态决定调用何种低级启发式方法。不过这种算法才刚刚起步,相应的方法模型还不太成熟。
1.2.1 国内研究现状
国内的VRP问题研究相对于国外则起步较晚,在二十世纪八十年代我国才开始涉足这个领域,到目前为止,经过三十多年的研究发展,国内的学者们相继提出了一些成果,如刘晋和亢耀提出的二重优化法,郭耀煌出版的我国第一本VRP领域研究的专著-《车辆调度优化》,刘宝碇教授等对随机和模糊车辆调度问题的系统论述等等[2]。但是由于发展时间仍然较短,国内对VRP问题的研究在相对于国外还是存在着较大的差距。
目前国内对VRP问题的研究主要还是停留在智能启发式算法领域,但是由于发展时间较短,我国在只能启发式算法领域的研究仍然较为薄弱,VRP问题的研究也不够全面,基于非机动车的视角的车辆路径问题的研究就更加稀少了。
1.3 研究内容
1.3.1 车辆路径问题研究
车辆路径问题是旅行商问题的进一步深化,其定义为:在给定运输车辆的装载量以及顾客的需求量的情况下,让若干车辆为顾客们提供运输服务,车辆从场站出发,服务完顾客后需要再次回到场站,运输车辆不能对顾客进行重复服务,求满足所有顾客需求条件下的最短运输路径。
车辆路径问题是一种组合优化问题。组合优化问题往往要求在命题空间下寻求满足约束的所有解,而后在解空间中寻求最优解。寻求的解空间一般是有限的,而不是无限的,解空间的寻求需要遵循一定的规则,或者满足给定的约束条件,而后用一个目标函数对解空间中的解进行量化,以目标函数的最大值或最小值作为最优解。
车辆路径问题实质上就是求解最短路径的问题,在实际应用中,针对不同的情况,车辆路径问题有着不同的表现形式,例如,该问题可以抽象为有向图、无向图、连通图、网络图等图类问题的求解。以往的车辆路径问题往往都是在机动车的视角下,以道路交通网络图为结算空间进行空间搜索优化,然而道路交通网络图实际上并不能较为准确的表达非机动车视角下的可行域,本文将在非机动车的视角下,对城市进行地物特征提取,并在模拟城市中进行车辆路径问题的探索研究。
1.3.2 蚁群算法演示系统构建
蚁群算法近年来被广泛用于地理问题求解的一种算法,该算法本质上是一种智能启发式算法。蚁群算法的智能由蚁群的整体行为和蚂蚁个体的随机行动组成,通过数量较多的蚂蚁在命题空间下进行空间搜索,可以很快的找到目标,扩充命题空间下的可行域,而后以信息素为启发因子,将蚂蚁们的联系起来,通过一定的规则可以逐渐的删减可行域,直至最后只剩下一个解,那么这个解就是该算法找到的最优解。蚁群算法在工作时以蚂蚁为基本单元,蚂蚁运动方式十分灵活,是用来模拟非机动车的最好选择。因此,本文将基于对蚁群算法的理解,构建一个以模拟城市为搜索空间的蚁群算法演示系统。
1.3.3 系统模型的有效性验证
由于本系统模型的求解环境是一个模拟的城市空间,而这个模拟城市是基于像元来构建的,蚂蚁的可行域由一个个方格构成。A*算法是贪婪最佳优先算法的完善版,在基于网格图进行最短路径的寻求问题中具有较高的可结合性,因此本文系统模型的有效性验证将基于A*算法完成,即将基于系统模型求解的最短路径结果和A*算法求解出的最短路径结果进行比较,从而完成系统模型的有效性验证。
第2章 研究模型及方法介绍
2.1 蚁群算法基本原理
蚁群算法是由自然界中蚁群寻找食物的真实行为启发而提出的一种智能启发式搜索算法[5],其思想来源于蚂蚁在觅食过程中总是能找到一条从食物到蚁穴之间的最短或者说是最优路径。之后各种专家学者对这个奇怪的现象进行分析,发现产生这种结果的原因是因为蚂蚁能够分泌并感知一种信息素,通过这种信息素,蚂蚁不在是单独的个体,而是一个目的唯一的整体,一旦有一个蚂蚁找到了食物,它就会在它行进的路径上分泌信息素,其他的蚂蚁可以感知到这种信息素,并向着存在信息素的方向行进,这样就会有越来越多的蚂蚁走向了通往食物的道路,与此同时,搬运食物的过程中,如果有蚂蚁另辟蹊径,找到了一条更短的路径,那么这条路上的信息素会以更快的速度进行积累,随着时间的流逝,所有的蚂蚁都会在正反馈的作用下走向更短的路径,最终,当所有蚂蚁稳定的在一条路径上行进时,该路径就有可能是一条最短路径。
Marco Dorigo受这种现象的启发提出了蚁群算法,该算法以全局搜索、并行分布式计算、易于其他问题结合的特点著称,本质上是一种智能启发式搜索算法。该算法的基本思路为:蚁群从起点出发,初始向着各个方向前进,如果有蚂蚁找到了食物,那么该蚂蚁将会分泌信息素,这会为其他蚂蚁选择行进方向时提供参考,同样也会有其他的蚂蚁通过不同的路径上找到食物,每只找到食物的蚂蚁对应的路径就是命题空间下的可行解,所有不同路径的集合就是解空间,而信息素的存在可以从解空间中找出最优解,因为更短路径上的信息素将会以更快的速度积累,最终,会有一条积累着最多信息素的路径形成,并且这条路径会吸引越来越多的蚂蚁到来,在不断的正反馈作用下,所有蚂蚁都会走向更短的路径,当所有蚂蚁稳定的在一条路径上行进时,那么该条路径对应的就是最短路径,也就是最优解。
到目前为止,Dorigo提出的蚁群算法已经获得了极大的发展,并广泛应用与许多领域。在车辆调度问题中,蚁群智能算法中的基本工作单元是人为构造的一种人工蚂蚁,这些蚂蚁在运动时会分泌信息素,同时往往还具有一定的记忆功能,除此之外,这些人工蚂蚁在选择前进方向时并不是完全随机的,而是按照一定规则对行进方向进行选择。例如在VRP问题中,以场站为起始点设为o,人工蚂蚁k需要从起点o出发,找到需要服务的顾客i,服务完所有顾客之后回到起点o,同时,在人工蚂蚁不断寻找顾客的过程中会按照一定的比例持续分泌信息素,人工蚂蚁会根据路径的信息素浓度高低来选择行进方向,除此之外,信息素浓度会随着时间不断下降。按照以上步骤可以绘制出该算法的流程图,如图2.1所示。
图2.1 蚁群算法流程图
在初始时刻,各条路径上的信息素均为0,信息素设为,蚂蚁k(k=1,2,3…,m)会根据各条路径上的信息素浓度高低来选择行进方向。
蚂蚁k从当前起点i移动到下一点j的概率按照公式2.1计算。