多车型混载低油耗车辆路径问题的混合算法doc.docx
- 文档编号:29940061
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:18
- 大小:106.30KB
多车型混载低油耗车辆路径问题的混合算法doc.docx
《多车型混载低油耗车辆路径问题的混合算法doc.docx》由会员分享,可在线阅读,更多相关《多车型混载低油耗车辆路径问题的混合算法doc.docx(18页珍藏版)》请在冰豆网上搜索。
多车型混载低油耗车辆路径问题的混合算法doc
多车型混载低油耗车辆路径问题的混合算法
蔡芸,2,程志文1,张利平2
(1.武汉科技大学冶金装备及其控制教育部重点实验室,武汉430081;
2.武汉科技大学机械传动与制造工程湖北省重点实验室,武汉430081)
摘要:
为了实现低碳运输和扩展多车型车辆路径问题求解方法,针对单车场有固定车辆数的多车型低油耗车辆路径问题,建立了以最小化车辆油耗为目标的优化模型,在模型中考虑了与油耗密切相关的车辆实载量以及混载问题;混合算法将具有整数编码的优势的遗传算法与具有觅食操作的人工鱼群算法相结合,利用觅食操作更好地优化车辆对集货点的访问顺序。
遗传算法负责车辆和集货点配对的全局搜索,而人工鱼群算法负责访问顺序的局部搜索。
算例实验结果表明:
利用该模型求得的最低油耗较最短路径对应的油耗节省30%以上;在全局搜索能力上,混合算法依次比自适应遗传算法、人工鱼群算法、蚁群算法强;当问题规模变大时,其性能明显优于人工鱼群算法、蚁群算法;但加入的人工鱼群操作影响了混合算法的时效,算法混合策略还有待改进。
关键词:
计算机应用;混合算法;车辆路径;车辆调度;低碳
中图分类号:
F224;TP301.6文献标识码:
A文章编号:
Ahybridalgorithmforvehicleroutingproblemwithmulti-vehiclemixed-loadingandMinimumfuelconsumption
CAIYun1,2,CHENGZhiwen1,ZHANGLiping2
(1.KeyLaboratoryofMetallurgicalEquipmentandControlTechnology,WuhanUniversityofScienceandTechnology,Wuhan430081,China;
2.HubeiKeyLaboratoryofMechanicalTransmissionandManufacturingEngineering,WuhanUniversityofScienceandTechnology,Wuhan430081,China)
Abstract:
Torealizelow-carbontransportandexploretheoptimizationmethodofthemulti-typevehicleroutingproblem,aminimumfuelconsumptionmodelisestablishedforheterogeneousfixedfleetroutingprobleminasingle-depot.Thehybridalgorithmcombinedageneticalgorithm,whichisgoodathandlingintegercoding,withanartificialfishswarmalgorithmwhosepreyoperationishelpfultooptimizevehiclearrivalsequenceofcollectionnodes.Geneticalgorithmwasresponsiblefortheoverallsearchofmatchingvehicleswithcollectionnotes,whileartificialfishswarmalgorithmwasresponsibleforlocalsearchofvehiclearrivalsequence.Foratestcase,computationalexperimentalresultsshowthat:
theminimumfuelconsumptionintheabovemodelis30%lessthanthatinamodeloftheshortestpathproblem.Theglobalsearchingabilityofthehybridalgorithmisstrongerthanadaptivegeneticalgorithm,artificialfishswarmalgorithmandantcolonyalgorithmsuccessively.Itsperformanceissuperiorthanartificialfishswarmalgorithmandantcolonyalgorithmwhenthescaleoftheproblembecomeslarger,buttheaddedoperationofartificialfishswarmalgorithmincreasesthetimeconsumptionofthehybridalgorithm,hybridstrategiesofalgorithmsneedtobeimproved.
Keywords:
computerapplications;hybridalgorithm;vehiclerouting;vehiclescheduling;lowcarbon
1引言
中国政府承诺到2030年,单位国内生产总值的二氧化碳排放量比2005年下降60%~65%。
面对不断变化的气候和环境,实施低碳运输是减少碳排放的必然趋势,低碳车辆路径问题也备受学者关注。
目前单车型低碳车辆路径问题模型的相关研究较为完善,模型中除了考虑油耗、碳排放等必要因素外,还会考虑综合成本[1]。
由于单车型车辆路径问题研究的日趋完善,多车型车辆路径问题渐受关注,该类问题模型常以运营成本最小为优化目标[2]。
此外,涉及到的因素有道路网络地貌、车场数量[3]、顾客需求的随机性或时间窗约束[4]、车辆装载情况[5]、运营成本外的优化目标[6]。
少数学者[6-12]开展了多车型低碳路径问题研究,有的以车辆总的碳排放量最小为优化目标[9],有的将碳排放量与运营成本[6,7,10,12],甚至顾客满意度一起进行了优化[8,11]。
多车型车辆路径问题属于组合优化问题,也是NP-hard问题,常见的求解算法有整数规划、构造算法、下界生成算法、禁忌搜索算法、遗传算法、进化算法、列生成算法等[2]。
为了提高求解能力,研究者常会对现有算法进行改进,或采用混合算法求解,以提高问题的求解效率和解的质量,如文献[6]用多起点策略改进禁忌搜索算法的多样化搜索能力,文献[12]为了提高算法效率,将量子进化算法和遗传算法结合。
但是,目前还没有学者进行多车型车辆路径问题的混合人工鱼群算法研究,只有单车型问题的应用研究,如文献[13]将人工鱼群算法与遗传算法以串行混合的方式用于求解物流配送的一般车辆路径问题,获得了优于自适应蚁群算法,近似于蚁群遗传混合算法的最优解。
人工鱼群算法早期收敛快,使用其求解组合优化问题时,曾获得较好的优化效果[14];加之,遗传算法及其混合算法在求解车辆路径问题时[2,12],不但表现良好而且其应用研究较为成熟,因此,本文确定研究嵌入式混合鱼群遗传算法,以文献[12]中算例来验证混合算法的有效性和可行性,并与自适应遗传算法、人工鱼群算法、蚁群算法进行算法性能比较。
另外,为了研究油耗计量方法对路径优化结果的影响,没有采用文献[12]中通过实载率计算油耗,而是采用了实载量计算。
同时模型考虑了满载和非满载的混合问题,由于一部分客户需求或供应的货物数量大于或等于车辆的载重量,而另一部分客户需求或供应的货物数量小于车辆的装载量,造成一些配送车辆需要满载运行,而另一些车辆则经常处于不满载状态。
综上所述,本文研究的问题是对以往多车型低碳路径问题的理论模型和求解方法的扩展,具有一定的理论和实践研究意义。
2问题描述
多车型车辆路径问题总体上分为车辆数固定和车辆数无限制的两类多车型问题。
根据配送业务的不同,一般多采用多种车型混合(车型表现为不同的车辆形式、吨位、体积)。
本文研究的车辆数目固定的多车型车辆集货问题可描述为:
已知有n个(1,2,…,n)集货点,第i个集货点的货运量为qi(i=1,2,…,n),需将所有货物运往一个车场,由车场派出车型为m(m=1,2,…,M)、载重量为Qm(m=1,2,…,M,且假设Q1 为了便于简化计算,问题假设条件为: (1)每个货物点必须被访问且只能被访问一次; (2)车型以载重量分类且数目已知,车辆由一个车场空车发车,其配送路径上的总载量不允许超过其载重量,完成载货后,回车场卸货;(3)假设车辆没有最大行驶距离限制;(4)车辆油耗量与车辆类型、载重和运输距离相关,且可由经验公式求得。 3问题的数学模型 3.1模型中的符号定义 首先定义模型中符号含义如下: 有向图 为配送网络,其中 有n+1顶点,其中0顶点表示车场,其余顶点组成集货点集合 ; 表示弧集; Dij为第i个集货点到第j个集货点的距离; qi为集货点i货运量, ; m为车型编号, M为车型的总数; k为车辆编号, ,K为车辆总数; 为第m类车型的空重; Qm为第m类车型的运载能力, ; am和bm为第m类车型的油耗计算系数; qij为离开集货点i后前往集货点j的车辆已装货物总量; nm为第m类车型的限制数量; 3.2目标函数和约束条件 建立上述问题的数学模型如下: Obj: (1) s.t (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) 式 (1)表示目标函数为最小化车辆总油耗;式 (2)表示车的载重不大于它的载重能力;式(3)表示每个客户都会被服务到;式(4)和式(5)表示集货点有且仅被一辆车服务;式(6)表示离开配送中心的车辆和返回配送中心的车辆数量是一致的;式(7)表示两个集货点间的线路数不能超过1;式(8)满足集货点的取货需求,同时消除子回路;式(9)保证返回车场的所有车辆取货总和等于所有集货点的取货需求总和;式(10)保证总车辆数等于各类车辆数总和;式(11)保证离开集货点后车辆的载重不小于该点的货运量;式(12)用变量的取值,表示车辆与集货点间关系。 该模型放宽了文献[9]中刚从车场出发的车不会取货和返回车场的车辆不再服务的约束,允许车辆在车场卸货后,再次被使用。 车辆碳排放量与车型、距离和路况、车速、载重量、驾驶状况等因素有关,二氧化碳排放量的计算由精确度要求和所采集的数据种类和精确度不同而不同,碳排放量与油耗成正比例关系,油耗与行驶距离成正比例关系,与装载量成正线性相关[9]。 因此,最小化车辆油耗与最小化碳排放一致。 为了使用文献[12]中算例校验算法可行性,本文选择了只考虑车辆载重Q(t)、运输距离D(km)的车辆油耗F(L)计算方法[9],即 F=D(aQ+b)(13) 其中a、b分别为与车型对应的燃油消耗参数。 4求解问题的混合算法 4.1算法总体设计 混合算法求解的基本思路是: 为顺序排列的集货点随机生成为其服务的编号车辆,归纳每个编号车辆需要服务的集货点集合,车辆按其集货点从小到大的顺序号服务,产生可行路径,即将一个多车型路径问题分解为多个单车型路径问题解决。 由于遗传算法擅长全局搜索但收敛速度慢,人工鱼群算法前期收敛快速、擅长微调但常会陷入局部最优。 本文混合算法采用将局部搜索方法插入到遗传算法主循环中的混合形式。 遗传算法负责进行种群中的全局搜索,而人工鱼群算法负责局部搜索,进行染色体间的局部搜索。 混合时将人工鱼群算法作为遗传算法基本循环的插件,让其与变异算子、交叉算子和选择交算子一同工作,以执行快速的局部搜寻,从而在对后代进行评价之前对其进行改进。 令G(t)是当前世代t时的车辆和集货点的对应编码,F(t)是当前世代t的各车辆对集货点的访问序列,S(t)是当前世代t的解集(S(t)由G(t)和F(t)构成)。 整个算法过程归结如下: 整个算法过程归结如下: begin t←0; 染色体初始化G(t); 人工鱼群编码初始化F(t); S(t)←G(t)+F(t); 应用适应值函数评价S(t); while终止条件不满足do begin 对G(t)进行变异操作; 对G(t)进行交叉操作; 对F(t)执行人工鱼群操作; S(t)←G(t)+F(t); 用适应值函数评价S(t); 对G(t)进行选择操作; t=t+1; end end 4.2算法关键技术 3.2.1编码和解码 本模型的求解涉及两个方面的决策,第一个方面是每个集货点车辆类型的指派,第二个方面是集货点访问顺序的决策。 由于遗传算法在整数编码较为便捷,故将每个集货点车辆类型的指派用遗传算法完成;又由于集货点访问顺序存在大量的组合,人工鱼群算法含有多次尝试觅食的算子,有利于顺序寻优,因而将集货点访问顺序决策交与人工鱼群算法执行。 算法染色体采用长度为n的双层编码结构。 第一层编码为集货点的节点排序,采用自然数编码到n(n为集货点数量),第二层编码为对应上层集货点的服务车辆型号,采用自然数编码到M(M为车型总数),K辆服务车辆构成这M类车型的车辆集合。 以n=6,M=3时为例,图1显示一个染色体编码的意义,第一行为集货点编号,第二行为遗传算法操作的染色体,即服务车辆类型的排序,其意义为1型车为集货点2服务,2型车为集货点1、3和6服务,3型车为集货点4和5服务,每类车访问集货点的顺序交给人工鱼群算法确定。 2 1 4 3 5 6 1 2 3 2 3 2 集货点编号: 服务车编号: 图1遗传算法染色体示意图 Fig.1ASampleChromosomeinGA 人工鱼群算法编码长度仍然为n(n为集货点数量),采用精确到小数点后两位的实数编码。 图2所示的第一行是由1至n的集货点编号,第二行是人工鱼群算法的人工鱼,人工鱼码值是由软件随机生成的[0,1]区间实数,根据人工鱼编码值进行扩展升序排序后,产生n个集货点被服务的新序列及其服务车辆类型(如图3所示)。 图3隐含了各类车辆对集货点的访问序列,其可解析为1类车访问顺序为0-2-0,2类车访问顺序为0-3-1-6-0,3类车访问顺序为0-5-4-0。 1 2 3 4 5 6 0.82 0.66 0.20 0.46 0.13 0.91 集货点编号: 人工鱼编码值: 图2各集货点对应的人工鱼编码值 Fig.2ArtificialFishCodedValuesofCorrespondingCollectionNodes 5 3 4 2 1 6 0.13 0.20 0.46 0.66 0.82 0.91 集货点访问顺序号: 人工鱼编码值: 图3以上集货点的访问序列 Fig.3TheArrivalSequenceofAboveCollectionNodes 3.2.2遗传算子的设计 遗传算法对染色体种群G(t)处理时,不改变染色体第一层的集货点序列,只针对染色体第二层的车辆型号。 交叉算子分别对染色体的两层编码进行交叉,同时都采用两点交叉。 变异算子分别对染色体的两层编码进行变异,对第一层编码采用两点互易的变异策略,而对第二层编码采用单点变异的策略。 选择算子采用轮盘赌选择。 3.2.3人工鱼群算子的设计 人工鱼群算法模拟鱼群觅食的行为,每个备选解被称为一条“人工鱼”,初始化为一群人工鱼(随机解),通过觅食、聚群及追尾等行为迭代搜寻最优解,在人工鱼群算法内部的每次迭代过程中,通过更新人工鱼自己,从而实现寻优[14]。 该部分算子设计使用文献[14]的经典人工鱼群算法动作,不再赘述。 算法适应度值用目标函数公式 (1)计算获得。 另外,算法中视距采用线性递减策略(参见公式(14)),使得算法前期视距大,有利于快速收敛,后期视距小,有利于提高收敛精度。 (14) 其中i为当前迭代次数,v为第i代鱼的视距,I为最大迭代次数vmax为最大视距,vmin为最小视距。 3.2.4目标函数的求解 求解过程如下: 1)首先通过遗传算法获取M类车辆服务的集货点的对应关系,得到集合G1,G2,…,GM,(如图1G1={2},G2={1,3,6},G3={4,5});然后,通过人工鱼群算法的随机赋值方法(如图2),获得人工鱼编码值,然后使用扩展升序的方法,获得各类车对集货点访问的新序列F1,F2,…,FM,(如图3的F1={2},F2={3,1,6},F3={5,4})。 2)根据F1,F2,…,FM,分割出M种类型K辆车的车辆调度路径,即获取路径S1,S2,…,SK,步骤为: a)根据人工鱼群算法得到的某类车辆服务的集货点的访问顺序,从集货节点集合的第一个点开始; b)达到一个节点后,判断车辆是否可以装载该点的全部货物量,如果可以,那么装载之,清空节点货物量,转d),如果不能装完,转c); c)去车场卸货,更新节点的货物量,再返回未装节点,转b); d)判断是否全部访问完毕,如果未访问完毕,驶往下一个节点,转b),否则转e); e)输出访问路径和车辆装载情况; 3)根据2)得到的M类车辆集合内的各车辆的装载情况及访问路径,通过各车型耗油公式,计算出它们的总油耗,即目标函数值。 3.2.5适应度函数 由于求油耗最小化问题,故适应度函数设定为目标函数的倒数,作为评价染色体好坏的标准,即完成集货任务的所有车辆油耗越小,染色体越优。 具体的定义如下 (15) 其中fi为第i个染色体的适应度,Zi为第i个染色体采用 (1)式计算得到的目标函数值。 5混合算法实验 5.1最小化油耗与最短路径油耗的比较实验 在Matlab软件平台下,混合算法在Intel奔腾i5-2450MCPU2.50GHZ,4G运行内存的计算机上运行,采用文献[12]中表3、表4数据,以最小化油耗为优化目标,计算获得油耗是1789.539L;文献[12]以最短路径为目标,获取的计算路径结果为文献[12]中表5,依据此求得的最低油耗在2563.5L以上,可见若以最低油耗规划车辆路径,可节省约30%的油。 但是,量子遗传算法[12]在求优时平均搜索迭代次数15.42,而混合人工鱼群算法平均搜索迭代次数需要30次左右,混合算法收敛较慢。 5.2算法性能比较实验 为了分析混合人工鱼群算法(HAFSA)对于求解以最低油耗(LFC)为目标的多车型车辆调度问题的性能,本文采用经典的人工鱼群算法(AFSA)、自适应遗传算法(AGA)和蚁群算法(ACO)进行了算法实验对比。 车型及油耗参数选择如下: 5t车型,a=0.72,b=15;10t车型,a=0.52,b=18;15t车型,a=0.313,b=22。 集货点信息如表1所示。 表1集货点信息 Tab.1InformationofCollectionNodes 编号 坐标/km 集货量/t 编号 坐标/km 集货量/t 1 [410,220] 2.5 18 [430,1280] 16 2 [248,1178] 3 19 [465,890] 18 3 [320,1003] 4 20 [375,1421] 23 4 [200,90] 3 21 [352,1050] 26 5 [300,310] 2.5 22 [700,780] 9 6 [190,170] 4 23 [800,1190] 8 7 [320,400] 4 24 [938,1450] 7 8 [550,350] 9 25 [646,1590] 3 9 [1239,436] 6 26 [767,326] 8 10 [1309,346] 7 27 [1222,1035] 24 11 [500,480] 7 28 [1188,1230] 5 12 [600,530] 12 29 [929,1280] 11 13 [620,580] 10 30 [978,1630] 15 14 [650,690] 13 31 [1058,1670] 18 15 [690,1020] 14 32 [1200,1780] 20 16 [760,1150] 9 33 [1300,1930] 10 17 [525,1310] 8 在算法参数实验方面,实验结果表明: 混合算法中的人工鱼群算法参数设置为种群数250,迭代次数50,尝试次数10,人工鱼的最大视距3,人工鱼最小视距1,拥挤度因子0.618,最大移动步长2,变异概率0.3,交叉概率0.6,通常会获得较优的计算结果;人工鱼群算法参数取混合算法中相应参数时,计算结果也较优;自适应遗传算法的部分参数采用经典设置,当取变异概率0.15,交叉概率0.6时,可以得到较优的计算结果。 在算法寻优效果方面,由表2可知,四种算法求解的最低油耗值从小到大依次为混合人工鱼群算法、自适应遗传算法、人工鱼群算法、蚁群算法,反映出混合人工鱼群算法的全局搜索能力最强,自适应算法次之,蚁群算法最弱。 在算法收敛性能方面,由表2和图4可知,单纯使用人工鱼群算法时,其前期收敛快,但后期易陷于局部最优,收敛速度慢,计算时间长,求解的最低油耗平均值为1860.4L,平均收敛次数为106次,相比自适应遗传算法,其求解结果和收敛性能都较差。 蚁群算法前期收敛也较快,相比人工鱼群算法,更易摆脱局部最优。 当使用人工鱼群算法和自适应遗传算法结合而成的混合算法时,由于自适应遗传算法的加入,混合算法表现出了较强全局搜索能力及良好的鲁棒性,这是由于遗传算法通过自适应处理后,当种群趋于收敛时,交叉概率会降低,变异概率会提高,从而可以保持种群的多样性,避免“早熟”现象。 此外,当种群个体发散时,交叉概率会提高,变异概率会降低,使得种群趋于收敛,也提高了算法的收敛速度。 此外,混合算法中的人工鱼群算法也发挥了其前期收敛快的优势,增强了混合鱼群算法寻优能力。 综上原因,由表2分析可知,混合算法相比自适应遗传算法不仅可以取得很好的计算结果,而且其计算效率也比经典人工鱼群算法有了很大的提高,计算结果也很稳定。 实验结果表明: 混合算法比自适应遗传算法可以平均节省约233.8L的燃油消耗,从而更好地达到节能环保的目的。 表2仿真结果分析 Tab.2AnalysisofSimulationResults 算法名称 最优值/L 最差值/L 平均值/L 计算时间/s 平均收敛次数/times HAFS 1347.1 1789.5 1568.3 240.3 32 AFSA 1805.4 1915.3 1860.4 2362.7 106 AGA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车型 混载低 油耗 车辆 路径 问题 混合 算法 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)