欢迎来到天天文库
浏览记录
ID:31370287
大小:114.50 KB
页数:9页
时间:2019-01-09
《求解需求可拆分车辆路径问题的聚类算法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、求解需求可拆分车辆路径问题的聚类算法 摘要:针对需求可拆分车辆路径问题(SDVRP),提出一种先分组后路径的聚类算法。该算法考虑车辆载重的均衡性和可行解的特征,优先安排载重大于等于车辆限载的客户;然后结合客户间的距离和载重,设定一个拆分阈值限定车辆载重范围,按照就近原则对客户进行聚类分组,当组内客户载重未达到车辆载重最小值而加入新客户后超出限载时,对新加入客户进行拆分和调整,最终完成对所有客户的分组;最后采用蚁群优化算法对各组内客户进行线路规划。实验结果表明,所提算法在求解需求可拆分车辆路径问题时,具有更高的稳定性,得到的结果更优。 关键词:需求可拆分车
2、辆路径问题;聚类算法;蚁群算法;启发式算法 中图分类号:TP14 文献标志码:A 文章编号:1001-9081(2016)11-3141-05 0引言 需求可拆分的车辆路径问题(SplitDeliveryVehicleRoutingProblem,SDVRP)最早由Dror等[1-2]在1989年提出,目前己经成为车辆路径问题(VehicleRoutingProblem,VRP)中一个较新的分支。与有容量限制的车辆路径问题(CapacitatedVehicleRoutingProblem,CVRP)只有1个约束条件的差异――9允许顾客被多次访问。比
3、如,实际的物流运作中,有的客户所要求的货物较多,超出了车辆承载能力,这时必须对客户的需求进行拆分。Archetti等在文献[3-5]中证明了尽管SDVRP具有NP难(NP-hard)属性,但是对客户进行分割运输,无论是总运输距离,还是派车数目都比VRP更优化,而求解SDVRP的算法需要解决的关键问题是如何对需求进行合理优化的拆分。 自SDVRP提出后,国外学者提出了相应的启发式算法:Dror等[1]提出了解决SDVRP的局部搜索算法;Archetti等[6]首先设计了求解SDVRP的简单邻域搜索禁忌算法;Gendreau等[7]给出一种带广义插入的禁忌搜索
4、算法实现SDVRP的求解;Archetti等[8]在禁忌搜索求解的基础上提出进一步优化算法。而国内研究主要着重于近似算法的设计上,隋露斯等[9]设计了适合求解SDVRP的蚁群算法;孟凡超等[10]设计了特殊邻域搜索的禁忌搜索算法求解SDVRP;谢毅[11]设计了禁忌搜索算法和遗传算法,并将两种算法求解结果进行对比,发现遗传算法求解整体质量和速度不如禁忌搜索算法。近年来,在求解SDVRP时,通常将SDVRP分为两个子问题:分组和路径。根据解决子问题的先后顺序,又分为先分组后路径和先路径后分组两类方法。刘旺盛等在文献[12]中分别设计了先分组后路径及先路径后分组
5、求解算法,并指出先分组后路径求得的解好于先路径后分组求得的解。文献[13]中设计了一种符合解特征的聚类方式(先分组后求解)求解该问题,并得到了不错的结果。熊浩等[14]提出了一种先求解再分组的算法――基于双层规划模型的三阶段禁忌算法,在大的旅行商问题(TravelingSalemanProblem,TSP)路径中切割增加路径。9 本文结合需求可拆分车辆路径问题的解的特征,优先考虑大于等于车辆限载的客户,再结合客户间的距离和载重进行聚类分组,每组由一辆车配送,组内的线路优化是一个TSP。组内TSP的客户规模小,对算法的要求不高,本文采用基本蚁群算法求解。
6、约束(3)表示进入某点的车辆数与离开该点的车辆数相等;约束(4)和(5)确保每个点至少被访问一次且需求均得到满足;约束(6)表示每条线路中被服务客户之间的弧边数等于被服务客户点的个数减1;约束(7)为车辆运载能力限制。 Dror等在文献[1-2]中分析需求可拆分问题的解的特征得出,一个SDVRP可行解满足:1)任意两条路线中最多只会存在一个共同点;2)优化解中不会存在k-splitcycle;3)被拆分需求点的数量小于路线的数量。基于该问题的模型及可行解的特点,本文提出一种聚类算法对需求可拆分车辆路径问题进行求解。 2求解SDVRP的聚类算法 本文的聚
7、类算法属于先分组后路径类型:第一阶段将客户聚类成R组,确定由同一辆车服务的客户集合;第二阶段是将每一组客户和车场构成一个TSP回路,利用蚁群算法求解每组的路径安排情况。 车辆路径问题中对客户聚类的主要目的是让相距较近的客户聚成一类,将原问题化为规模较小的TSP,降低问题的求解复杂度。而SDVRP中,存在着车辆载重和客户拆分的约束,故比单纯的无约束K均值算法(K-meansAlgorithm)更加复杂。本文设定一个拆分阈值,随机选择初始的聚类中心,采用距离优先准则选择待加入个体,满足拆分条件时进行拆分,过程主要分聚类方式和拆分策略两部分。9 步骤3若所有的
8、车辆都已被安排,结束当前代聚类; 步骤4更新t=t
此文档下载收益归作者所有