物流运输调理问题外洋一般称为车辆路径计划问题(VRP,Vehicle Routing Problem),该问题是组合优化领域中的著名NP难题,是一种相当广泛使用价值的学术研究课题。文献
和声搜索算法(HS,Harmony Search)
多货仓流程生产品流运输调理问题可描述为:M个货仓需要为N条生产线提供原质料配送效劳,每条生产线的原质料需求量为wi(i=1,2,3,…,N),每个货仓有Km辆车(m=1,2,…,M),每辆车的最大载重为Wkm(k=1,2,…,Km;m=1,2,…,M),生产线i到生产线j的距离为dmij,特别地,dm0j(或dmj0)体现货仓m到生产线j的距离。界说如下变量:
特别地,x0jmk=1体现货仓m的车辆k由货仓m出发驶向生产线j,xi0mk=1体现货仓m的车辆k由生产线i出发驶回货仓m,则多货仓的车辆同时由生产线i驶向生产线j的路线距离之和最短记为Dmin。
建立数学模型如下:
式(3)为多货仓流程生产品流运输调理问题的目标函数,式(4)、式(5)体现关闭式车辆路径计划,式(6)~式(8)体现每条生产线有且仅有一辆车完成该生产线的配送任务,式(9)、式(10)体现每辆车的容量和路程限制,式(11)体现货仓m加入运输的运输车辆总数不凌驾该货仓所拥有的运输车辆总数。
所研究的多货仓流程生产品流运输调理问题中,运输车辆需要从M个原质料货仓出发,为N条生产线配送原质料。关于此问题,若做归一化处理,则会导致求解时间过长。因此凭据各条生产线与各原质料货仓的相对位置关系进行聚类划分,以M个原质料货仓为中心,将货仓和生产线所处区域划分为M个独立的区域,各个原质料货仓卖力为差别的生产线提供原质料配送效劳,这样便可以提高整个流程生产企业的原质料运输效率。货仓与生产线之间的联系因素称之为亲密度(DOI,Degree Of Intimacy),货仓为亲密度高的生产线提供原质料配送效劳。α为里程加权系数,β为载重加权系数,Mm体现已分派给货仓m的生产线数量,wn体现生产线n的原质料需求量(t)。
式(17)体现货仓与生产线之间的相对欧氏距离,式中xm、ym体现货仓m的坐标;xn、yn体现生产线n的坐标;式(18)为亲密度DOI公式,易知,货仓与生产线之间距离越短、生产线原质料需求量越小,货仓与生产线之间的亲密度越高。
聚类实现办法如下:
Step 1:盘算货仓与生产线之间的相对欧氏距离dmn,m∈M,n∈N;
Step 2:盘算亲密度DOI(m,n),m∈M,n∈N;
Step 3:凭据DOI(m,n)由大到小的顺序将生产线分派到各个货仓,分派时需要先验证配送车辆运输里程限制和载重限制是否满足,若满足则进行下一次分派,不然重新进行分派;
Step 4:判断是否所有的生产线均已分派到货仓,若已分派完毕则聚类到此结束,不然转Step 3。
和声影象库巨细(HMS,Harmony Memory Size):指和声影象库中所存储和声的数量。
1)影象库取值概率(HMCR,Harmony Memory Considering Rate):每一次迭代都有一定的概率从和声影象库中取一组和声作为新的和声,这里的概率指的是影象库取值概率。影象库取值概率的值影响着算法寻优的速度和全局寻优的能力。
2)微调概率(PAR,Pitch Adjusting Rate):当在和声影象库中选取一组和声后,会以一定概率对所选的和声进行微调,这个概率就是微调概率。微调概率的值影响着算法的全局搜索能力,若参数PAR值太小,则使得算法寻优规模减小,而PAR值太大,则使得搜索算法酿成随机选择要领。
3)音调微调带宽bw:指从影象库中取出的一组和声并且进行微调时的调解幅度。
4)创作的次数Tmax:即演奏家需要创作的次数,也就是整个调解历程需要重复的次数。
凭据相关研究
Step 1:初始化优化问题,并确定和声搜索算法基本参数:和声影象库的巨细HMS,影象库取值概率HMCR,微调概率PAR,音调微调带宽bw以及创作的次数Tmax。
Step 2:随机初始化和声影象库。随机生成HMS个决策变量值,并盘算相应目标函数的值,从而组成如下所示的和声影象库HM:
Step 3:结构新的和声X'=[x1',x2',…,xN']。新的和声通过三种方法爆发:(1)由和声影象库随机爆发,(2)音调微调,(3)随机选择,其爆发历程可体现为:
其中,rand(0,1)是在0和1之间的均匀漫衍的随机变量值,xi,min、xi,max划分是决策变量xi的最小值和最大值。
若新的和声来自和声影象库HM,则需要凭据微调概率来判断每个决策变量是否需要应用微调规则,其历程体现为:
Step 4:更新和声影象库。如果凭据Step 3获得一组新和声所对应的目标函数值比HM中最差和声的目标函数值要好,则用新和声替换最差和声,获得更新后的和声影象库。
Step 5:重复Step 3和Step 4,直到终止条件满足为止。终止条件一般设置为,给定迭代次数,或者抵达一个特定的目标函数值,或者是在一定的迭代次数内目标函数值没有改变。接纳给定迭代次数作为终止条件。
在一片水域中,食物富厚的地方往往能够吸引更多的鱼类向该位置移动。鱼在水中游动,不绝地寻找食物富厚的区域,这一历程与智能寻优算法的求解历程十分相似。人工鱼群算法(AF-SA,Artificial Fish Swarm Algorithm)的基本思想是通过模拟鱼群在水中的种种行为(包括觅食、随机游动等),不绝更新每条鱼的位置,从而逐步优化目标问题
在人工鱼群算法中,用一个n维向量Xi=(x1,x2,…,xn)表征第i条人工鱼个体所在的位置。各条人工鱼所在位置四周的食物浓度Yi可以用待优化问题的适应度值体现,即Yi=f(Xi)。人工鱼能够视察的视野半径用visual体现。第i条人工鱼和第j条人工鱼之间的相对欧式距离用
体现。每条人工鱼一次游动所能前进的最大距离用range体现。人工鱼四周的拥挤度阈值设置为δ。
1)觅食行为。
设某人工鱼的目今位置为Xi,在它的视野半径内(dij<visual)保存一位置Xj,如式(19)。在求最小值问题时,若Yj<Yi,那么该人工鱼向Xj的偏向,以不凌驾其单次前进最大距离的步长游动一次,游动后位置为Xi/next;反之需要重新生成位置Xj。如果在重复实验try_number次后仍然不满足前进条件,则该人工鱼随机游动一次。上述历程如式(20)。
2)随机游行为。
随机游行为是指人工鱼在其视野半径内,不确定偏向地随机游动,游动后的位置如式(21)。
3)聚群行为。
鱼类在水中生活,为了对抗天敌,基本都是以群体形式泛起,这就是聚群行为。设目今人工鱼的视野半径内的人工鱼数目为nf,这些人工鱼的中心位置为Xc。如果中心位置的拥挤水平YCnf/Yi小于拥挤度阈值δ,则该人工鱼向Xc偏向移动,反之人工鱼将执行觅食行为。
4)追尾行为。
设目今人工鱼的视野半径内食物浓度最大的位置为Xmax,如果Ymaxnf/Yi小于拥挤度阈值δ,则该人工鱼向Xmax偏向移动,反之人工鱼将执行觅食行为。
在人工鱼群算法寻优时,通过模拟上述4种行为,并在盘算执行各行为的结果后,选择结果最好的行为作为人工鱼下一步将要执行的行为。AFSA的具体办法如下:
Step 1:初始化人工鱼群算法,设置算法的参数,并随机为各条人工鱼设定位置;
Step 2:盘算每条人工鱼所处位置的食物浓度,并纪录目今最优人工鱼的位置信息,将其赋值给通告板(通告板用于纪录最优人工鱼的位置信息);
Step 3:模拟上述四种行为并进行比较,选择结果最好的行为作为人工鱼下一步将要执行的行为;
Step 4:执行Step 3选择的行为,盘算每条人工鱼游动后的位置;
Step 5:将目今最优人工鱼的位置赋值给通告板;
Step 6:判断是否满足终止条件,若满足则输出目今通告板的信息,不然转Step 2。
为了提高和声搜索算法的收敛速度和全局搜索能力,将自适应思想应用到和声搜索算法,动态调解音调微调概率PAR和音调微调带宽bw。
1)音调微调概率自适应战略。
基本和声搜索算法中,音调微调概率PAR的值在算法的迭代历程中是牢固的。事实上,在算法前期需要增强算法的局部搜索能力,后期需要提高和声影象库的和声多样性,因此,音调微调概率需要由小到大变革
式中,PARmin、PARmax划分为音调微调概率的最小值和最大值,gn为算法目今迭代的次数。
2)音调微调带宽自适应战略。
音调微调带宽的自适应战略是为了使算法在前期容易跳出局部最优,同时提高后期的局部精细搜索能力,因此音调微调带宽需要由大到小变革
式中,bw0体现音调微调初始带宽,bwnew体现新的音调微调带宽,gn为算法目今迭代的次数,Tmax为创作次数。
结合第3.2节对人工鱼群算法的介绍,在基本和声搜索算法中引入人工鱼群算法的觅食行为,革新基本和声搜索算法的随机爆发规则,整个融合算法的详细办法如下:
Step 1:初始化算法参数,包括和声影象库巨细HMS、影象库取值概率HMCR、微调概率最小值PARmin、微调概率最大值PARmax、音调微调初始带宽bw0和创作次数Tmax,人工鱼的视野规模visual、单次游动最大距离range、实验次数try_number,并将算法迭代次数gn置0;
Step 2:初始化和声影象库,并盘算每个和声的适应度值,接纳原质料配送车辆的行驶总路径作为适应度值的倒数,总路径越短,适应度值越大,体现和声的适应度越好;
Step 3:生成新和声;
Step 3-1:生成(0,1)之间的随机数rand(0,1),若rand(0,1)<HMCR,则从和声影象库HM随机挑选一组和声,记为Xnew,转Step 3-3;不然转Step 3-2;
Step 3-2:取HM中最优和声Xg作为人工鱼群算法中的一条人工鱼的位置,凭据式(19)生成新的位置Xj,并比较位置Xg和位置Xj的目标函数值,如果位置Xj的目标函数值优于位置Xg,则人工鱼向位置Xj的偏向,以不凌驾其单次前进最大距离的步长游动一次,游动后位置为Xnew;反之需要重新生成位置Xj。如果在重复实验try_number次后仍然不满足前进条件,则该人工鱼随机游动一次,游动后的位置赋值给Xnew,转Step 4;
Step 3-3:生成(0,1)之间的随机数rand(0,1),若rand(0,1)<PAR(其中PAR由式(24)盘算所得),凭据式(15)对Xnew进行微调,其中音调微调带宽由式(25)盘算所得;不然Xnew不改变;
Step 4:更新和声影象库。盘算新和声Xnew的适应度值,若优于和声影象库中的最差和声,则使用Xnew替换和声影象库中的最差和声,不然,和声影象库坚持稳定;
Step 5:将迭代次数gn加1,判断gn是否即是最大创作次数Tmax,若不等则返回Step 3,不然转Step 6;
Step 6:输出适应度最好(即适应度值最大)的和声并输出其对应的适应度值。
假设有A、B、C三个货仓,每个货仓有3辆运输车辆。三个货仓配合为编号为1~20的20个生产线配送原质料。生产线和货仓坐标随机爆发,货仓坐标{(x,y)|(0,0),(4,6),(7,8)},生产线坐标{(x,y)|(5,4),(7,5),(8,10),(6,10),(4,9),(5,10),(6,6),(2,1),(1,7),(7,10),(1,5),(0,4),(4,3),(8,12),(1,3),(3,10),(8,6),(5,6),(2,2),(3,4)}。各生产线所需的原料量、卸货时间如表1所示。设定每个货仓均拥有3辆运输车辆,每辆车单次最大里程限制为15 km,每次最大载重量为10 t。
和声搜索算法参数设置为:HMS=20,HM-CR=0.8,PARmin=0.2,PARmax=0.5,Tmax=500,初始bw=0.8;人工鱼群算法参数设置为:Step=1,Visual=3,try_number=5。
凭据第2节的聚类要领,可以将A、B、C三个货仓和生产线位置进行聚类,获得的聚类剖析结果如图1所示。货仓A为编号为8、9、11、12、15和19的生产线提供原质料配送效劳;货仓B为编号为1、5、6、13、16、18和20的生产线提供原质料配送效劳;货仓C为编号为2、3、4、7、10、14和17的生产线提供原质料配送效劳。通过该聚类要领,将多货仓流程生产品流运输调理问题转化为多个单货仓流程生产品流运输调理问题。
算法运行20次,仿真结果与基本和声搜索算法及其他三种常见启发式算法的对好比表2所示,最优配送线路如表3所示,最优配送轨迹图如图2所示。
表2 算法结果比照
算法在经过多次迭代后,最终收敛,获得最优配送路径,配送车辆行驶路径总长度为62.04km。同时,通过与基本和声搜索算法比照可知,所提出的基于人工鱼群算法的和声搜索算法不但提高了基本和声搜索算法的收敛速度,并且有效地提升了基本和声搜索算法的搜索精度,并且结果也优于其他3种常见启发式算法。因此可知,所提出的基于人工鱼群算法的和声搜索算法能够有效的求解多货仓流程生产品流运输调理问题。
针对多货仓问题,首先使用聚类剖析将多货仓问题转换为多个单货仓问题,并将人工鱼群算法的觅食行为引入和声搜索算法,同时接纳自适应战略动态调解和声搜索算法的音调微调概率和音调微调带宽。仿真结果标明:相关于基本和声搜索算法,所设计的算法具有更好的收敛速度和收敛精度。
【本文标签】
【责任编辑】yd2333云顶电子游戏云仓